金砖国家即将遭到报复?专家预测美国关税后果
为什么要在Filecoin中引入智能合约?
智能合约(在Filecoin亦被称为actors)可以提供智能和动态的存储解决方案,而使用现有的web2技术则很难实现。例子包括:
"1. 对存储在Filecoin中的数据进行去中心化计算 (在数据所存储的空间直接进行计算而无需转移数据)
2. 对众筹的数据集进行保存(每个人对重要的社会性数据进行存储,例如犯罪统计或环境变暖的数据)
3. 更智能的存储市场(例如:按时间、复制级别或区域可用性对存储进行动态定价)
4. 跨时代存储和永久托管 (例如:存储几代人都会流传使用的数据)
5. 创立Data DAO和数据集的通证化(例如:为数据存储的通证化建立经济模型,并组建DAO对其进行计算和协调)
6. NFT的本地存储(例如:将NFT的内容与跟踪其内容的注册表共存)
7. 时间锁定的数据检索(例如:仅当公司公开结果时才解锁此数据集)
8. 抵押贷款(例如:向存储供应商提供贷款,如接受特定客户的FIL+交易,在特定时间点进行交易)
等等。"
智能合约还可以让开发人员建立跨梁桥实现互操作性 - 共享流动性和为部署在其他链上的dapp(例如:Ethereum, Near, Solana, Flow等)与Filecoin网络进行集成,提供存储功能。
作为Layer0的存储
目前,Filecoin平台是数据存储和检索的中心。我们认为这两个特性使Filecoin网络成为了协议的Layer 0。
尽管系统设计简洁明了,但不能满足那些试图通过可编程智能合约来构建更复杂的应用程序和解决方案的开发者的需求。
Layer 0之上的Layer 1,则实现智能合约的可编程性。目前,Filecoin网络的逻辑是编死在系统定义的合约中。这意味着用户自定义的智能合约只能通过其他可以被编程的区块链协议,例如Ethereum和Solana (通过类似Textile Bridges的解决方案)进行部署。Filecoin虚拟机则能够实现原生的用户自定义智能合约。
与以太坊兼容的Filecoin虚拟机
最早的技术讨论在Filecoin Improvement Proposal 113推出以后的2021年6月开始。受到通过虚拟机监视器来建立多虚拟机设计的启发,Filecoin虚拟机(FVM)的目标是成为一个多语言虚拟机。当时也考虑了许多方法,其中包括EVM as-is, LLVM-IR, eBPF, Secure EcmaScrip等等。
FVM原生的运行时(Runtime)是WASM。我们认为WASM是未来非常有前景的编程语言。这使得用任何编程语言编写的原生智能合约都可以编译成WASM(尽管并非所有语言都适用,但参考的SDK是用Rust编程的)。可以让web2的开发者能够更快地进入web3世界并达到与前者同样的开发水平,并避免特定编程语言的学习曲线。
此外,我们正在添加对模拟外部运行时的支持,第一个是以太坊虚拟机(EVM)。主要原因在于Filecoin的开发者社区要求FVM支持EVM/Solidity,对源代码进行最小甚至是零更改。
随着时间推移,我们看到以太坊社区建立了大量有用的,且最重要的是经审计的,高强度测试使用过的智能合约,例如ERC-20代币、NFT、DAO、flashloan等。如能将这些合约在Filecoin网络上进行重复使用,将推动各种创新且可组合方案的快速启动。另外,让Solidity开发者通过桥和预言机进行跨链作为解决方案可以增加共同价值和效用。
还需要提到一点的是,EVM兼容性针对的是字节码层,因此可以在Filecoin环境中充分利用成熟以太坊工具,如Truffle, Remix,Hardhat, VSCode插件等等。除了部署现有的智能合约外,开发者还可以以Solidity编写新的只能合约来进行快速启动,或者在需要性能优化的情况下使用原生的智能合约来进行升级。