Filecoin 将推出 Filecoin 虚拟机(FVM),为 Filecoin 网络引入智能合约的可编程性。FVM 原生代码语言为 WASM (WebAssembly),使得 Web2 的开发者能够更快地投入 Web3 的开发.
此外,FVM 还将首先实现 EVM (以太坊虚拟机)兼容,Solidity 开发者可以更快地在 Filecoin 上部署智能合约。FVM 将分阶段上线,首阶段预计在 2021 年第 4 季度在 Filecoin 主网上推出不可编程的 FVM,只运行系统角色(system actors)。
第二阶段引入协议分叉(2022 年第 1 季度),在开发者可编程之前引入准备性调整,包括 Gas 机制和架构调整。随后的两个阶段将引入可编程性,重新设计系统角色和更深层次的协议变化,使其更容易针对系统角色进行编程,预计 2022 年第 2 季度完成。
埋伏元宇宙
FVM的目标是让用户能够在IPFS激励层Fil链上部署他们自己的智能合约。一旦Fil网络拥有自己的虚拟机FVM,那意味着Fil将拥有完整的智能合约功能,届时,FVM在Fil网络中将主要发挥如下作用:
简单总结优势:
1、通过智能合约建立底层业务 比如:构建自动化的存储提供者信用积分系统,而后基于信用积分构建分布式自动存储匹配市场,并基于自动存储匹配市场解锁真实数据存储的验证问题。
2、提升Filecoin网络升级的效率 在没有智能合约之前,IPFS激励层Filecoin的底层业务或功能的建立需要网络升级来实现,也就是必须要 Lotus 或者 Venus 的新版本来实现这些功能。 当有了智能合约,这些功能就可以通过合约来实现了,跟搭积木一样,Filecoin网络的功能可以自由地添加,并通过竞争,来测试不同的方案,可以自由试错,逐步演进。也就是说,智能合约解锁了Filecoin功能升级的麻烦,网络功能的提升无需通过网络升级来实现,这个是智能合约平台本身带来的极大好处。
3、所有与数据强相关的应用都可以在Filecoin网络中实现数据是Filecoin最基础也是最重要的资产,所有与数据强相关的应用,在Filecoin这一个系统之中都可以在一个去中心化系统内实现,比如:目前大多数NFT存储在IPFS网络中,那么一个IPFS为基础的NFT平台将完全是一个统一平台。 FVM的目标是使用户在链上部署自己的智能合约,执行链上计算。可以设想,未来在FVM下,链上完成数据复制工作,减少存储提供者与用户间的数据转移成本。而且,通过FVM,还可以带来更智能的存储和检索市场,并使计算与存储同时进行。 今天,Filecoin 网络是一个强大的平台,可验证地存储和访问 NFT、公共产品数据集、web3 和 Metaverse 资产等。把它想象成 web3 的 I/O 层。但这只是冰山一角。通过将通用智能合约可编程性引入 Filecoin 网络,可以释放出更多的价值和潜力。在存储之上的分层计算也为跨链互操作性和以去信任的方式集成开辟了新的维度。最近,Protocol Labs 研究员Raúl Kripalani向 Filecoin 社区介绍了Filecoin 虚拟机,这是去中心化存储生态系统未来发展的核心支柱。智能合约或者在 Filecoin 中我们称之为参与者,可以为智能和动态存储解决方案提供支持,而这些解决方案很难用 web2 技术创建。例子如下:
- 对存储在 Filecoin 中的数据进行分布式计算(在存储数据的地方运行计算,而不是将其移动)
- 众筹的数据集保存(例如,每个人都可以资助存储社会重要数据,如犯罪统计或环境变暖)
- 更智能的存储市场(例如,根据每天的时间、复制级别或区域内的可用性动态定价存储)
- 数据 DAO 和标记化数据集(例如,将数据的价值建模为标记并形成 DAO 以协调和代理对其执行的计算)
- 本地存储的 NFT(将 NFT 的内容与跟踪它们的注册信息共享)
- 时间锁定检索(例如,仅在公司公开结果可用时才解锁此数据集)
- 抵押贷款(例如,出于具体目的向存储提供商提供贷款,接受来自特定客户的 FIL+ 交易,或在具体时间窗口内开启容量)
它们还使开发者能够创建跨链互操作的桥梁,以此作为共享流动性的手段,并将部署在其他链中的应用程序(如 Ethereum、 NEAR、 Polygon、 Solana、 Flow 等)与 Filecoin 网络提供的存储容量和能力相结合。下文将介绍 Filecoin 虚拟机将如何启动整个 web3 生态系统中可互操作的存储以及应对计算的中断问题。目前,Filecoin 平台以数据存储和检索为中心。我们认为这两个特性构成了协议的第 0 层。该系统简洁明了,但对于寻求通过用户可编程智能合约构建更复杂应用程序和解决方案的开发人员来说还不够。0层之上的一层,即第 1 层,是智能合约可编程性所在。目前,Filecoin 网络的逻辑是通过系统定义的参与者进行硬编码的。这意味着用户定义的智能合约只能通过外部桥梁在 Filecoin 中使用到其他可编程区块链,如 Ethereum 和 NEAR(通过Textile Bridges等解决方案)。Filecoin 虚拟机将本地用户定义的参与者引入 Filecoin 网络。最近的技术讨论开始于2021年6月,名为 Filecoin 改进提案113。Filecoin 虚拟机(FVM)从虚拟机管理程序(hypervisor)的概念中得到启发,建立一个多 VM 设计,旨在成为通晓多种语言的虚拟机(VM) 。此次技术讨论考虑了诸多方法,包括采用 EVM 原样、 LLVM-IR、 eBPF、 Secure EcmaScript 等。FVM 的核心运行时是WASM。我们相信 WASM 在区块链领域有着强大且充满希望的未来。这种选择使得用任何编译到 WASM 的编程语言编写本机参与者成为可能(尽管并非所有语言都适合; 引用 SDK 是在 Rust 中构建的)。这使得 web2开发人员能够更快地进入 web3,让我们能够满足他们的需求,并避免特定语言的学习曲线。此外,我们正在添加对模拟外部运行时的支持,第一个是以太坊虚拟机 (EVM)。这个选择的动机是 Filecoin 开发者社区要求 FVM 支持 EVM/Solidity,对源代码进行零或最少的更改。在此处查找当前规格:https://github.com/filecoin-project/fvm-project/pull/39。我们已经看到以太坊社区随着时间的推移建立了大量有用的,最重要的是经过审计和实战测试的智能合约,例如 ERC-20 代币、NFT、DAO、闪贷等。 如果能够按原样使用这些智能合约,将会在Filecoin中引发可组合解决方案的寒武纪创新大爆炸。此外,使Solidity开发人员能够通过桥和预言机连接的跨链解决方案,增加他们的集体价值和效用。还需要注意的是,EVM 兼容性针对字节码层,因此保留了在 Filecoin 上下文中充分利用成熟的以太坊工具链的能力,例如 Truffle、Remix、Hardhat、VSCode 插件等。除了部署现有的智能合约之外,开发人员还可以在 Solidity 中编写新的 actor 以快速开始工作,或者如果需要性能优化,则升级为使用原生 actor。通过 FVM,Filecoin 网络除了现有的存储能力外,还获得了计算能力。我们设想在 Filecoin 网络上运行两种计算:状态的链上计算和数据的链下计算。FVM 是两者的关键构建块。我们很高兴看到 Filecoin 出现的一些用例:
- 以数据为中心的去中心化自治组织 (Data DAO):通过汇集来自个人和组织的资源,人们将能够激励共享利益或公益数据集的保存、管理、扩充和处理。数据 DAO 使用令牌和 NFT 作为单位来表示和复合价值,并交换这些令牌以请求服务、授予访问权限等。
- 复制客户端:根据用户定义的策略,自动机器人被激励以确保为 Filecoin 网络中的数据保持一定级别的复制。
- 替代存储市场:基于拍卖、赏金或其他工具,存储市场可能会对数据应用纠错码,以确保其在发生中断时的可恢复性。他们还可以启用自动重试交易以确保数据交付。
- 抵押贷款:向供应商提供无信任或有针对性的抵押贷款,例如,贷款资金只能用于接受特定客户的 FIL+ 交易。
- 数据计算:大规模计算中的一个巨大问题是数据的传输,这会增加每个操作的成本和延迟。通过将计算作业推送到托管数据的存储提供商,并奖励协调器节点来制定或规划 Filecoin 网络的执行,以高效的方式执行令人尴尬的并行化作业,将结果存储回 Filecoin网络,在其上启用进一步的下游计算。
此外,FVM将首次使在Filecoin网络上运行的第2层(L2)解决方案,将其状态提交到第1层(L1),从而实现更安全、更可追踪的侧网络和覆盖网络。内容交付网络 (CDN)、声誉系统和支付渠道网络是我们特别希望在 Filecoin 上运行的一些 L2 解决方案。阶段 0:在主网上启动非可编程 FVM,在参考实现 (Lotus) 的功能标志或分支之后,仅运行系统参与者。兼容现有链,无需协议升级。该阶段计划于 2021 年第四季度交付。阶段 1:在实现用户可编程性之前进行协议分叉,包括gas时间表和架构调整。在这个阶段结束时,100% 的网络应该运行 FVM 支持的系统参与者。该阶段计划于 2022 年第一季度上线。阶段 2:为本地和 EVM 外国参与者引入用户可编程性。该阶段计划于 2022 年第二季度上线。第 3 阶段:重新设计系统参与者和更深层次的协议更改,让针对系统参与者编程更加容易。这一阶段计划在2022年第二季度投入使用。如果您有兴趣帮助 FVM 的开发或想了解有关此项目的更多信息,请关注filecoin-project/fvm-project GitHub 存储库和Filecoin Slack上的#fvm频道上的工作。 |