Advertisement

区块链的Layer 2 扩展

阅读量:

区块链的Layer 2 扩展

哈尔滨工程大学计算机学院2021年区块链技术课程实践活动
2018101510 刘洋

一、为什么要进行区块链扩展

实现区块链的理想状态我们有三个现实的瓶颈:

A.计算能力

比特币:~7笔/秒,一个区块/10分钟,交易确认1小时,区块大小~1M

以太坊:~15笔/秒,一个区块/15分钟,交易确认2分钟,区块大小~20-50k

Visa:平均2000笔/秒,能力达到24000笔/秒,上交所:500-1000笔/秒,电商:更高的需求

B.存储能力

比特币:2021年4月,300G+,以太坊:2021年4月,2T+

相对于单个节点处理能力:负担很重,去中心化的理想难以实现

相对于云存储中心的容量:微不足道,区块链几乎没有存储能力

C.隐私能力

比特币:每一次交易记录都包含支付方地址、接收方地址以及支付金额的详细信息;信息泄露程度较高:其关联关系不直接。

以太坊:同上,智能合约代码,以及代码执行的历史,都是公开透明的。

公开透明之双刃剑:

开放性→互相信任:对于那些能够被公开获取的数据而言,在透明的基础上实现互相信任无疑成为构建参与方之间互信机制的最佳实践

可信赖性缺失:在隐私数据部分中,在数据完全透明时(即当数据完全透明时),相关方无法对区块链方案产生信任(即参与方不能信任区块链)。

在真实商业场景中数据交换流动(如交易报价),几乎所有都具有私密性;因此难以上传链。探讨这一问题时发现,在解决私密性问题之前……主流的应用实例通常试图绕过核心业务逻辑或放弃区块链的本质特征。

为了突破这些瓶颈,我们不得不在一些地方进行区块链的性能扩展。

二、如何进行性能扩展

2.1 区块链的层级结构

在介绍如何进行区块链扩展之前,我们先来了解一下区块链的层级结构。

在这里插入图片描述

2.2 区块链扩展的两种方法

根据区块链的层级结构,针对Layer 1和Layer 2有着截然不同的扩展方法。

A.使区块链本身具有更高的事务容量(Layer 1 扩展)

这种技术的主要难题在于,在规模较大的区块链系统中进行有效性验证增加了难度,并可能导致资源趋于集中化。为规避这一风险,在开发过程中可采取两种策略:一是优化客户端性能;二是采用分片等技术中的至少一种方法:如将构建链和验证的工作分配到多个节点上进行处理。

第一层扩展的主要技术有分片、隔离见证等

B.改变使用区块链的方式(Layer 2 扩展)

用户无需将所有活动直接放置于区块链上;而是应当在层2协议中执行大部分活动。该系统运行于区块链之上,并仅负责两个主要任务:存入和取出资金;同时负责对链条外部发生的任何合规性事件进行确认。此外系统还支持多种验证方案;这些方案均具备在链上进行验证比从链外进行原始计算更为经济的优势。

第二层扩展的三种主要类型是state channel, Plasma, rollups。

接下来我们主要针对Layer 2 扩展进行内容介绍

2.3 State channel

A.简介

State Channel是一种非链式技术,在处理交易以及伴随的状态更新方面表现出色。尽管其内部发生的事情依然保持着高安全性和高权威性。若发生任何问题,则可转回主链网络继续运行;这是因为它的权威性是基于链上交易的基础。

多数人都已非常熟悉长期存在的概念------支付通道(payment channel),它最近通过在比特币上借助闪电网络(lightning network)实现了这一功能。其衍生出的形式即为状态通道,在区块链领域中不仅可以用于支付交易还可以展开任意的状态更新操作。例如,在智能合约系统中就可实施参数修改等操作

B.样例

基于 Alice 向 Bob 提供互联网连接,并作为交换协议,在每个兆字节中Bob向 Alice 支付 0.001 美元。Alice 和 Bob 采用了下面所述的 Layer 2 方案,并无需每次都进行付款交易。

首先, Bob 将 1 美元 (包括一些 ETH 或稳定币等价物) 放入智能合约. 为了向 Alice 支付首次款项, Bob 签发了一张 «票(ticket)», 标记为 «0.001», 并将其发送给 Alice. 随后, 在完成第二次付款前, Bob 将签发另一张标有 «0.002 美元» 的票据, 并将其寄往 Alice 处. 如此类推, 按照所需金额进行付款操作即可. 当交易完成后, Alice 可以将最高价值的票据发布至区块链网络, 并在其上附加来自自身另一签名的标识符

通过智能合约验证Alice和Bob的签名,并将金额支付至Bob票据中及其余部分返还给Bob。若Alice出于恶意或技术故障而不愿关闭通道,则Bob可设置一个退出期(例如7天)。若在该时间段内Alice未提供新的票据,则Bob可收回全部款项。

2.4 Plasma

A.简介

Plasma 也被认为是"内部链式结构(blockchains within blockchains)"。人们都可以在底层区块链之上创建不同的Plasma来支撑不同的业务需求,如分布式交易所、社交网络和游戏。

在这里插入图片描述

B.工作方式

每个Plasma链配备一名操作员(其可能是一位集中化的实体、采用多重签名方案或是更为复杂的机制如PoS/DPoS)。每隔特定的时间间隔(可选择15秒、每小时或其他时间段),该操作员将发起一次「批量处理」任务,并整合链下接收的所有Plasma交易作为该批任务的内容。

构建了一个 Merkle 树,在其各个指数位置处对应有交易的情况下会存在相应的转移资产 ID 对应的交易记录;该团队会将该 Merkle 树的根节点上传至区块链网络;同时还会分发给各个资产的所有者各自对应的 Merkle 分支以供查询验证;为了撤回相关资产,请问用户需发布其最新交易所对应的 Merkle 分支。

合约进入了一个试验阶段,在此期间内有任何人都可以通过采用其他 Merkle 分支的方式使其退出变得无效。具体来说,这可以通过以下两种方式实现:(1) 发送方当时并未拥有该资产;(2) 后续将该资产转交他人。若在此期间(例如7天)仍无人提供足以证明此退出并非有效的方式,则相关账户的所有者有权撤回该资产。

C.优缺点

Plasma 相较于状态通道而言具备更为强大的属性优势:它不仅允许向不属于该系统的参与者转移资产,并且其资本要求显著降低。然而,在实现这些优势的同时也存在一定的成本:具体而言,在正常运行期间,并不需要任何数据存储于链上;另一方面,在实现交易时需要等待交易间隔结束并等待区块被发布。此外,在完成交易的过程中还需要等待交易间隔结束并确保区块成功发布才能完成转账操作

D. 问题

该协议旨在防止operator非法获取用户资金;但需注意的是,在该协议下实现此保障的前提是要求参与者持续监控主链网络;值得注意的是;该协议的主要优势在于显著提升了网络处理能力;而非降低了交易时长;同时需确保参与者始终处于主链监控状态;否则可能导致系统漏洞;此外;在某些情况下攻击者(如恶意操作员)可能会迫使诚实参与者通过大量传输数据的方式挑战其行为

由于区块链系统仅存储哈希值,在处理争端事件时智能合约无法确定具体是哪一方的行为使事件发生从而无法迫使行为一方承担该争端过程中的相关费用此笔交易费用金额较大为了传输交易数据及其相应的证明到主链网络还需通过触发相应的判断机制来完成审核过程

E.原因和解决方法

出现上述所述问题的根本原因在于数据缺失,在区块链网络中仅有一个哈希值被提交至系统。这使得共识算法无法判断谁在恶意行为,并未能揭示具体发生了什么事情

为了应对data unavailability问题带来的挑战,在交易处理中采取了权衡措施:仅将交易中必要的数据存储在主链上,并非仅仅限于哈希值。由此形成了rollups结构。

2.5 Rollups

A. 简介

Rollup将计算及其状态存储移出链内,并在链上保留每个事务的部分数据。为了进一步提高效率,他们采用了一系列复杂的压缩技巧来最大化计算替代数据的应用.其结果表明,系统扩展性仍受限于底层区块链的数据传输带宽,但以一个非常有利的比率:其转移成本与 Rollup环境中每个 ERC20 代币转移所需的空间形成鲜明对比.具体而言,一个以太坊底层 ERC20 代币转移的成本约为45,000 gas,而在 Rollup中每个ERC20代币转移需占用16字节的链上空间,其转移成本远低于300 gas.

B.工作原理

链上运行着一个智能合约系统,它负责维护一个状态根:rollup状态下生成的Merkle根(具体来说,该Merkle根包含了账户余额.合同编码等信息,并且位于 rollup「内部」)

在这里插入图片描述

任何用户都可以批量处理事务。这一批事务集合采用了高度压缩的形式,并结合了旧的状态Root和新生成的MerkleRoot。合同检查系统会验证当前批次中的前一个State Root是否与现有State Root一致;如果匹配成功,则更新State Root至最新生成的新State Root。

为了便于存取款操作, 我们增加了事务进行输入或输出时超出 rollup 状态的功能. 当某一批任务接受外部请求时, 相应的提交事务需将相关资产转移至 rollup 合约中. 若某一批任务向外界返回数据, 则使得智能合约在执行该批次任务时会自动调用提取函数.

在这里插入图片描述

C.一致性保证

如何确认批次处理中的后状态根是否正确? 允许任何人提交带有任何后状态根的批处理而不产生后果,则他们便能够将 rollup 中的所有代币转移给自己。

针对这一项一致性的挑战,研究界发展出两种技术路线:一个是Optimistic rollup方案,另一个是ZK rollup方案。

前者采用了积极的态度和挑战-响应机制(challenge-response),由智能合约执行裁判职能来解决争端。然而该方案存在一个显著的缺点:由于可能出现争议的时间预留(time reserve),在取出资金时需要额外等待一周时间。

该方案要求本地运行者通过生成zk-SNARK实现数据的零知识证明。随后由智能合约利用上述验证流程来确认数据的一致性(这一过程具有极低的时间复杂度且与交易规模及需证项数量无关)。因此以太坊平台中的智能合约具备完成此验证任务的能力。值得注意的是操作者的计算能力对于执行上述零知识证明步骤至关重要。然而尽管如此操作者的算力需求相较于其他加密货币方案并不算高。

三、参考文献

[1] Buterin V. An incomplete guide to rollups[J]. 2021.

[2.]Pawar M K.Patil P.Hiremath P S.A study on blockchain's scalability [M]. ICT systems and sustainability [J].Springer.Singapore.2021: [307–316].

[3] 魏翼飞, 李晓东, 于非.区块链原理、架构与应用[M].北京:清华大学出版社,2019

全部评论 (0)

还没有任何评论哟~