金色观察 | 从区块链第0、1和2层看扩容发展
区块链系统有六个层次,数据层、网络层、共识层、激励层、合约层和应用层,在结构上都密不可分,共同实现了区块链的功能。
数据层和网络层是区块链的基本架构,也是整个区块链系统的最底层。基本架构之上,共识层、激励层、合约层和应用层共同构成了区块链的协议部分。
业界一般参考通信界的开放式系统互联通信参考模型OSI将区块链系统的六个层次重新划入三个Layer,由底到顶分别为Layer 0(L0)、Layer 1(L1 )和Layer 2(L2)。
公链在区块链世界犹如类似于操作系统平台一样的存在。 以太坊 凭借其智能合约、创新性及安全权性在众多公链中脱颖而出,在其上构建了各式各样的应用(DApp)。不过,在以太坊发展过程中也出现了网络拥堵以及Gas费高昂的问题。归根结底,Gas 费用如此之高的原因是以太坊存在着数据处理能力较弱的问题,无法与主流支付系统相抗衡,也即对交易的需求仍然比以太坊区块链实际每次能够处理的更多。区块链发展至今,如何扩容亟待解决。
Layer 0又称数据传输层,对应OSI模型的底层,主要涉及区块链和传统网络之间的结合问题。第0层区块链为第1层区块链奠定了基础。它提供了创建链的底层基础设施,还允许跨链互操作性,这意味着在第 0 层之上创建的链可以相互通信。Cosmos和Polkadot是第 0 层区块链的一些很好的例子。
Polkadot常被称为Layer 0级别的区块链。这是因为 波卡 主网作为中继链,只起到为各大平行链提供安全性和彼此间的互操作性的作用。而在波卡的基础上,可以通过插槽链接类似于以太坊这样的Layer 1区块链。
Layer 1扩容方案又称链上扩容,指在区块链基层协议上实现的扩容解决方案。目前像以太坊2.0、Polkadot和Solana等L1网络主要从结构上改变了底层共识和出块规则,通过处理区块链的底层协议,也即主网区块链本身的代码,以此来增加区块链的交易吞吐量。它们可以进一步划分为:协议改进和分片。
协议改进是指对底层协议进行的更改来扩大交易吞吐量,这主要是通过增加单个区块中可以包含的交易数量 (仅在短期内可持续),减少区块创建之间的时间差,或者从 PoW 共识模式向 PoS 的结构性转变来实现。
分片 (sharding) 是指将一个区块链的计算任务和数据空间划分为多条链,比如 Eth2.0 中将会有许多条分片链。由于在分片中,交易被分配给特定的节点来进行验证,而不是由整个区块链网络进行验证,因此不存在导致高昂交易费的竞争,而且交易速度也更快,进而增加了每秒可以处理的交易数量。
Layer 2扩容方案又称链下扩容,指不改变区块链底层协议和基础规则,通过状态通道、侧链等方案提高交易处理速度。L2解决方案是由构建在链上的智能合约来实现对 L1 的扩展。通过将交易执行外包给 L2 网络来进行,然后 L2 网络再将交易处理结果汇报给 L1 网络,从而为待处理交易创造了额外的空间。
目前Layer2解决方案主要包含状态通道、侧链、Plasma、Optimistic Rollup、Validium、zkRollup 等。可以说,第2层解决方案本质上是通过在区块链基础层之上运行一种架构来比一般的区块链架构更快地处理事务。
状态通道是开辟一个链下的通道,用户可以通过在智能合约中锁定资产的方式,来将链上资产转移至通道中,并在通道中进行资产交互。用户在离开通道时进行结算,资产将转回主链。通道允许参与者在链下进行x次交易,而在链上只能向网络提交两次交易,从而实现极高的吞吐量。状态通道采用多签合约,使参与者能够在链下快速自由地进行交易,然后再与主网结算。 这将最大限度地减少网络拥塞、费用和延迟。 现在有两种通道:状态通道和支付通道。
侧链是与主网并行运行且兼容以太坊虚拟机的独立区块链。 它们通过双向桥接与以太坊兼容,按照自行选择的共识规则和区块参数运行。 简单地说,侧链就像是一条条通路,将不同的区块链互相连接在一起,以实现区块链的扩展。 侧链完全独立于 比特币 区块链,但是这两个账本之间能够“互相操作”,实现交互。
Plasma 是一条独立的区块链,锚定至以太坊主链,并使用欺诈证明来仲裁争议。Plasma 也被称为“链中链(blockchains in blockchains)”。任何人都可以在底层区块链之上创建不同的 Plasma 支持不同的业务需求,例如分布式交易所、社交网络、游戏等。
Rollup 的扩容原理是将数百个已处理的交易汇总成一个批次并在与以太坊主网平行的L2链上按批次执行交易,最终完成的交易再按批次一次性发布到底层(L1, Layer 1)区块链,以此来提升交易速度。在不同的 Rollup方案中,Optimistic Rollup 和零知识证明 Rollup 都取得了不同程度的成果,他们执行原理差不多,主要区别在于交易验证过程。
Optimistic 扩容方案是基于“乐观”机制的,采用的是欺诈证明(Fraud proofs),即系统乐观的相信交易数据的正确性,数据不经过有效验证,但会直接进入一个等待期,等待期里如果有任何节点提出异议并佐证恶意交易,则交易取消;若无异议,等待期结束,交易自动完成并写入区块。这种“欺诈证明”方案不需要在每笔交易中部署验证,大大节省了网络计算资源跟成本,同时也保证了及时的最终确定性。OptimisticRollup最突出的两个方案是 Arbitrum 和 Optimism。
ZK Rollup 即通过零知识有效性证明的扩容方案。ZK Rollup分批处理链下交易,并生成加密有效性证明来验证每批交易的真实性。有效性证明将批量交易添加到 L1 区块链。当交易批次被提交时,该证明可以被L1合约快速验证,无效的批次可以被直接拒绝。
Validium和zkRollup都是以太坊Layer 2的扩展性解决方案,其交易有效性通过使用零知识证明来实现,不过zkRollup的数据可用性保持在链上,Validium是保持在链下。因为交易数据不是发布在区块链上的,所以有必要采用额外的信任假设,用户必须信任操作员,以便在需要时可以访问数据。Validium的链下数据存储有很多好处,交易速度更快,并且因为公众无法访问交易,所以用户隐私性也到了提高。然而,由于数据是在链外保存的,因此用户将无法随时看到其在智能合约中的可用金额。因此,用户必须从中继器那里获取数据才能掌握自己的资金,并且他们必须信任中继器。