<aside> 💡 Web3 正在加速发展,Arweave 作为基础设施将被更多的开发者采用,创造一个全新的、更加丰富多彩的生态系统。 PermaDAO 正是为此而建立起来的共建者社区。所有参与的人都能在这里找到自己的角色来贡献 Arweave 生态,任何关于 Arweave 的提案与任务都可以发布于此,并得到整个社区的支持与回馈。 加入PermaDAO,建设 Web3!

</aside>

作者:Outprog

发布日期:2021-01-28


数字共识的本质是存储共识。

存储计算范式:一种具备终极扩张性的区块链可信计算范式。

从 2020 年初开始,以太坊 DeFi 呈爆发式的增长,由 COMP,YFI 等引发的流动性挖矿导致以太坊急剧拥堵,矿工费一度提高至 500 Gwei,DeFi 手续费高达上百美金。以太坊拥堵不堪,亟需一种可扩展的智能合约方案。

10月上旬,V 神发表评论以 rollup 为中心的以太坊路线图,开启了二层网络浪潮,ZK Rollups 和 Optimism Rollups 竞相出镜。ZK Rollups 和 OP Rollups 采用了两种完全不同的证明模式,分别是:有效性证明和错误性证明。

ZK 的有效性证明是将一批次的交易和对应的完整性证明发送到以太坊的智能合约进行验证,如果验证正确则被合约接受,验证错误则拒绝交易;OP 属于错误性证明,是数据状态运营者将数据提交,并附加押金,在一段时间内任何人都可以发布非交互式的错误证明,如果这段时间内无人成功验证错误,则状态获得终局性,反之,成功证明错误则会罚没运营者押金。

ZK 和 OP 的区别在于对状态终局采用了两种不同的方式。我把 ZK 类比为 POW,他是通过密码学算法验证结果有效性;而 OP 更像是 POS,是运营者抵押资金(像 Staking 一样),采用了一系列的“治理”手段达到最终目的。ZK 由于密码学理论和技术的限制,由于其“指令集”过于简洁,难以处理复杂的业务程序;OP 的问题在于治理机制,需要将资金进行锁定并限制了流动性。

不管是 ZK 还是 OP,能对以太坊进行扩容的根本都在于对数据压缩和链外计算。如下图所示,为了节省一层网络的负载,数据进行了极大的压缩并将计算迁移到二层进行处理,此时一层存储的数据减少,并且只需要对状态进行验证即可,极大的降低了一层的负载。

https://mmbiz.qpic.cn/mmbiz_png/xrHeFibMn5LjXfDzMmnY2tujaHeYwseEAkuF1JiaQaBkvn7IYNoXxw50GiaAOxJOpH0vmib2e9Khcib5Mfj3ScQ5vyQ/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

但是降低负载并不代表无限负载。一层的区块大小和 gas 具有上限,并且在将来仍有大量的 gas 会消费在一层DeFi 和组合性应用中,因此二层必定会和一层抢占资源,并且多个二层之间也会涉及到资源抢占问题。最终在有限资源下会不会存在某些二层无法上链、无法打包交易,那么二层是否会因此停机?就算二层不进行停机,一直在二层进行没有限制的交易,当资产需要要回到一层时,是否会存在过多的数据需要在一层验证,最终导致无法验证。另外,二层的组合行也是一个比较严重的问题。

以太坊是一台“世界计算机”,其设计初衷即是在区块链上完成计算和存储。在链上做计算意味着区块链网络中的所有节点都必须对计算过程进行处理,链上计算模式的成本不可能太低。就算采用二层的扩容方式,也仅仅是对数据和计算进行了压缩,但仍然需要计算过程(验证)在一层进行处理。

本文旨在介绍一种新的计算范式,与以太坊在链上计算的模式不同,该计算范式将计算完全放在链下,链上只作存储,此时区块链仅需要保证存储的可用性和确定性。假设一个计算的入参是确定性的,那么这个计算的输出结果也应该是确定的。比如 x + y = z 这个程序,如果 x 和 y 的值都是在链上记录,分别是 x = 1 和 y = 2,那么公式在任何地方计算结果 z 始终为 3。只要程序的参数在链上确定性的记录下来,那么程序其实也不需要在链上运行(任何人任何地方链下运行),其结果依然是确定可信的。由于计算过程与链完全解耦,计算参数完全依赖确定性存储,我们将这样的计算范式称为:存储计算范式。

图灵机,回归本源的存储计算范式

我们知道,不管是冯诺依曼结构还是哈佛结构的计算机,其本质都是一台通用图灵机。

https://mmbiz.qpic.cn/mmbiz_png/xrHeFibMn5LjXfDzMmnY2tujaHeYwseEAcByJISEKV4ATYkhgaPcnawNDMoM9nMGKHlgehAtqO8dNvrZhmPAy6w/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

图灵机是一台假想的机器,由一条无限长的纸带和一个带状态寄存器的纸带读取机器组成。读取器会在纸带上来回移动并将新的参数写入纸带。这样一台假想的机器可以进行任意复杂的计算(图灵完备)。

借助区块链技术,我们可以将图灵机的纸带替换为区块链,可以得到下图中的新型计算模型(存储计算范式):

https://mmbiz.qpic.cn/mmbiz_png/xrHeFibMn5LjXfDzMmnY2tujaHeYwseEAibFicPullCZBhnTYlOGRNQ3XL1G7hib9qLvcE1vEQVTcHaiaGiahchg3wKg/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1