如果你一直有留意以太坊生态的发展,那想必已经听说过状态通道了。不管是它提升区块链可拓展性的潜能,还是确保交易 “即时确认” 的能力,其实都已经是旧新闻了。你或许会困惑状态通道目前进展到了什么阶段,它和流行的 rollup 方案是否存在关联。 本系列博文将向读者介绍 2020 年状态通道的最新进展。我们将从解释最基本的重要概念出发,逐步引出状态通道最新的设计方案。我们也会向读者分享自去年宣布状态通道协作以来,目前完成的工作进展:构建了一系列工具集,方便了其它项目添加状态通道到自己的链技术栈中。除此之外,我们也将发布一系列能体现状态通道性能的项目,给予开发者和用户直观的用户体验。
- 状态通道开发活跃度- 本文将介绍状态通道在区块链技术栈中的层次地位,简要总结其工作原理。读者或许已经了解过相关内容,但重温这些基础知识有助于理解本系列的余下文章。 状态通道有什么用?
状态通道往往被视为一种扩容方案。自状态通道问世以来,Layer 2 扩容也有了许多进展。(“Layer 2” 指在区块链上建构的解决方案,因此无需改进核心协议) Layer 2 最新的扩容方案为 zk-rollups 以及 optimistic rollups 。上述方案都会周期性地向区块链提交批交易数据以及结果状态根,从而大大提升交易吞吐量。在 zk-rollups 中,侧链会向区块链提交能证明整体状态转移正确性的零知识证明,以确保链上状态的有效性,实现即时撤资。但由于零知识证明生成的复杂性,目前 zk-rollups 系统仅局限于简单的转账。Optimistic rollups 则可以通过链下设置执行任意 EVM 代码,但用户在撤资时需要等待一段挑战期,状态转移的正确性也依赖第三方对错误状态发起挑战。 上述方案在扩容上都能取得很好的效果,具备将主链交易吞吐量拓展到 500tx/s 的能力。 状态通道也能实现扩容,在某些特定场景(完全无需主链来处理交易主体的时候)能匹配甚至超越 rollups 方案带来的吞吐量提升。状态通道也有一些独特的性质,使得它们在某些场景下能取得比基于 rollup 方案更好的效果。 其中一点则是去中介交易:当两方建立好通道后,他们就可以在没有第三方介入的情况下自由交易。在 rollup 中就做不到这一点,所有的交易都需要由 rollup 运营者处理。另一个重要性质是交易的终结性(finality)。在状态通道中,一旦状态更新的消息被接收,就意味着状态已经完成了更新,价值转移已经被即时敲定。 我们来设想一个情景:开发者想要 Infura API 的用户按照 API 调用次数,逐次支付以太币。通常来说,用户一般每 10 秒就会触发一次调用,开发者则想要以零点几分的价格收费,同时响应延迟要保持在亚秒级。在这一场景中,根本没有时间去与 rollup 运营者发生交互,即使退一步来说,允许与 rollup 运营者交互,可 rollup 交易费也太高了,即使只需要 100 gas,也相当于 0.02 分(按成文时的价格计算)。 (责任编辑:admin1) |