【官方】星际共识——Filecoin可扩展性来啦!
作者:James Bluett, Alfonso de la Rocha , Akosh Farkash , Guy Goren , Denis Kolegov , Willes Lau , Henrique Moniz , Matej Pavlovic , Alejandro Ranchal-Pedrosa , Jorge M. Soares , Marko Vukolić
来源:ConsensusLab
星际共识 (Interplanetary Consensus framework,IPC:https://ipc.space/)就是之前的层级化共识(Hierarchical Consensus),旨在解决区块链网络面临的两项挑战:交易量和应用异质性(heterogeneity)。在这个过程中,它提升了Filecoin网络的性能。经过18个月的开发,我们很高兴宣布IPC的首次公开部署会在Spacenet(https://github.com/consensus-shipyard/spacenet/)测试网上。
我们邀请大家观看这个两分钟的IPC简介视频(https://www.youtube.com/watch?v=aRyj9kOvW7I)来快速了解。它在短短两分钟内解释了一些高层级的概念。然后,将可以继续阅读了!
新用例
Filecoin虚拟机 (FVM:https://fvm.filecoin.io/) 在Filecoin网络上解锁了用户可编程性。现在,这个区块链能做的不仅仅是处理存储交易提议、存储证明和简单交易了。它的EVM虚拟机兼容性还让它可以快速部署现有的以太坊智能合约。
可编程性是Filecoin区块链的重大突破。它现在可架设DeFi解决方案、Data DAOs(https://filecoin.io/blog/posts/fvm-imaginarium-bringing-datadaos-to-the-next-level-with-fvm/)、元宇宙游戏等应用。想想传统的区块链应用怎样用原生存储的能力增强自己吧?或者想想在Filecoin已经建成的数据海洋中增加数据处理的能力?
这些变化将带来应用活动激增,也会带来挑战。目前Filecoin的区块很少是满载的,这让它很适合用于简单的交易——费用低、延迟小。然而,随着FVM虚拟机带来的活动增加,应用将会争夺区块空间,让Filecoin运行应用的成本上升。此外,并非所有应用都可以在30秒区块间隔的网络内运作的,毕竟这会带来明显的延时。
这就是IPC框架能发挥作用的地方了。IPC让终端用户和应用开发者可以动态启动层级化的子网,能够并行执行交易,从而将根网络(Filecoin主网)的一些过量负载移除出去,同时能够为应用的需求提供更好的运作条件。此外,IPC框架还利用主网提供的更强的安全保证,来实现跨子网交易和子网安全性守护机制 。
星际共识(IPC)运作机制
从内核看,IPC是定义子网内和子网间互动规则的框架,它带有一系列的智能合约和客户端软件定义来整合这类行为。在部署到Filecoin主网后,它会完全在用户空间(userspace)运行,通过一个用户定义的actor合约锚定到根网络。
IPC框架基本功能涉及创造和运营子网——它们以树状方式组织。启动子网的过程是无需许可的,用户可以决定在树状结构的哪个位置锚定其子网。每一个子网都与一系列独立的验证者关联起来(它们在独立的共识实例中运行)。子网向其主网网络提交频繁的状态检查点数据,从而得到某种程度的安全保障。
人们可以因为不同的原因而部署子网。例如,可以是为了节省交易费用,或在不同地理、拓扑和应用条件里对互动行为进行分组。这些子网的生命周期可长可短,可以单纯为了协调计算而发起,并在任务完成后撤销。
子网共识是可交换、可配置的。一个子网可以运行任何共识算法:权益证明PoS、工作量证明PoW、存储证明(proof-of-storage)、经典BFT等等。伴随着IPC框架,我们还在发布Trantor(https://github.com/filecoin-project/mir/tree/main/pkg/systems/trantor)的实施方案,这是一个高性能的BFT共识算法,适合一系列的应用。IPC框架的用户可以实施其他的共识算法(我们未来还会寻找一些开箱即用的替代方案),不过由很多应用需求可以简单通过变更Trantor的默认参数(如区块频率)将能满足。
IPC框架其中一个关键特性,是其开箱即用的透明跨子网通讯机制。不过,它在现实中如何工作?具体互动方式,取决于你是用户、开发者还是验证者。不过,在一个高的层级看,用户在本地与IPC框架互动会依赖于IPC Agent(https://github.com/consensus-shipyard/ipc-agent/)应用和一些区块链节点(每一个子网都需要)。本地应用是由两个链上的智能合约提供服务的,它们会为每一个子网实例化:可参见星际子网Actor合约和星际网关Actor合约(https://github.com/consensus-shipyard/ipc-actors)。
如果你想进一步了解IPC框架或其组件,可参考我们最新推出的文档,包括IPC Agent用户手册(https://github.com/consensus-shipyard/ipc-agent/README.md)和框架(https://github.com/consensus-shipyard/IPC-design-reference-spec/raw/main/main.pdf)技术概览。请记住这些软件、工具和文档都是逐步推出的,如果你碰到任何困难,可Slack或GitHub issue页面询问,我们会尽快提供支持,也有利于我们改善工作。
IPC框架下一步计划
目前的M1里程碑将IPC框架带到了其进行生产状态的最后一步。这是首次有一个长时间运行的IPC测试网对公众可用,让用户、开发者和存储提供者可以展开子网实验,尝试Filecoin根网络之外的其他共识模型。不过,这是一个测试性部署,请不要用于涉及价值较大的应用。
未来几个季度,我们会继续为IPC框架增加特性和提升稳健性。就在此时,我们在Limechain的合作伙伴正奋力将我们的actors合约转换为用户自定义FEVM Solidity actors(https://github.com/LimeChain/filecoin-ipc-actors-fevm)合约,会被我们用于首个主链部署里。我们会定时发布进展,预期每隔几周会有新特性和新改善。
我们还在与即将发布应用的客户合作,尤其是Saturn(https://strn.network/)团队,来确保其在M2里程碑的用例能在2023年6月落地。M2里程碑会将IPC框架落地到Filecoin主网,让早期用户可以部署其生产应用。然后在第三季度会有一个完整发布,相关的开发者工具和文档会完成。
在这个过程中,我们很希望收集用户反馈。如果你有IPC框架的用例,想与我们合作来部署你的应用或成为一个子网验证者,或想与这个新生的社区继续进行对话,请加入Filecoin Slack workspace(https://research.protocol.ai/blog/2023/ipc-subnets-land-on-filecoin-spacenet/filecoin.io/slack)的#ipc-help频道。
如果您也对Filecoin感兴趣,欢迎了解更多内容:
网站:https://filecoin.io
中文社区论坛:
https://github.com/filecoin-project/community-china/discussions
Slack频道:filecoin.io/slack/
Twitter: @Filecoin
博客:https://filecoin.io/zh-cn/blog/
GitHub: https://github.com/filecoin-project
Filecoin技术文档:https://docs.filecoin.io/build/
Filecoin规范:
https://spec.filecoin.io/
Filecoin区块浏览器:
https://filscan.io/#/home
关注Filecoin技术进展:https://github.com/filecoin-project
加入Filecoin社区论坛:https://github.com/filecoin-project/community/discussions
在主网上进行存储:
https://docs.filecoin.io/