宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > OKB > 正文

深入理解区块链二层扩展方案Rollup

作者:

时间:1900/1/1 0:00:00

编者注:原标题为《深入理解区块链二层扩展方案Rollup》

本文作者朱光宇,区块链爱好者,前阿里巴巴JVM专家。现就职于Westar实验室,从事智能合约编程语言及其执行引擎的研发。

背景

最近,以太坊创始人VitalikButerin在一篇题为“混合式二层协议的曙光”的文章里对Rollup方案大加赞赏,认为它为智能合约的可扩展性打开了大门。那么什么是Rollup?它包括哪些主流方案?这些方案各自有什么优缺点?它们未来发展前景怎么样?为了找到这些问题的答案,笔者对相关项目做了一番调研,将收集到的信息整理成下面这篇文章。

Rollup的出现

最近两年,以太坊二层扩容技术得到突飞猛进的发展。所谓二层技术,就是将一部分资金存储在主链上的智能合约内作为,在保证足够的安全性和不可篡改的前提下,把一部分交易放到主链之外进行,就好像链下多出来第二层网络。二层方案里表现较突出的要数状态通道和Plasma侧链,但是这两种方案距离被广泛接受还有一段距离,其背后的原因归根结底是数据的可用性问题。什么是数据可用性呢?假设你去玩扑克,需要先到柜台把现金兑换成筹码,这可以理解成在链上创建状态通道并存入押金。然后你开始玩扑克,这就是所谓的链下交易。在赢得一手大牌之后,你想要兑现筹码走人,突然有人给你脑后来了一闷棍,醒来后桌上的筹码不翼而飞。你记不起来牌局的细节,所以无法追回已经赢得的筹码。这就是所谓的“数据不可用”。无论是状态通道还是Plasma侧链,完整的交易记录和见证数据都只保存在链下,出现争端时如果参与者没有及时提供正确的交易和见证数据,交易的安全性就无法保证。就好像是玩扑克的人被打了一闷棍忘记了牌局细节,很难追回属于自己的筹码。即便是数据没有丢失,面对不合作的对手,也要走非常复杂的仲裁流程。

通州区政府工作报告:试点和深入实施元宇宙创新发展三年行动计划:金色财经报道,2023年北京市通州区政府工作报告提出,继续保持千亿以上投资规模,不断优化投资结构,推动投资向高精尖产业、民生等领域倾斜,有效带动社会投资。具体到产业方面,北京通州区将重点打造“四区三镇三园”十大重点产业功能区。2023年将进一步丰富金融业态,建设“基金财富港”,加快打造全球财富管理中心、全球绿色金融和可持续金融中心。另外,推动金融业数字化创新与试点和深入实施元宇宙创新发展三年行动计划。[2023/6/25 21:58:10]

就在二层扩容技术举步维艰的时候,一位开发者提出了一种名叫Rollup的新方案。与Plasma不同的是,它可以“打包”交易,将“打包”后的交易数据连同一个SNARK零知识证明发布在链上。打包的正确性可以通过SNARK证明,从而确保运营商不可能发布恶意或无效的交易。这就是后来被VitalikButerin称之为ZKRollup的二层扩容方案。ZKRollup并非万能,它遇到的最大问题是通用性。除非要证明的交易非常简单,否则创建SNARK证明的成本会非常高。因此,一个名叫OptimisticRollup的折衷方案被提了出来。OptimisticRollup也是把交易数据都放到链上,但不是用SNARK做验证,而是采用加密经济学有效性博弈来实现有效性验证。我们将在下面的章节详细介绍这两种Rollup方案的原理。

中央财经大学:与中国银行在数字人民币领域深入开展合作:金色财经报道,中央财经大学近日与中国银行签署战略合作协议,双方将围绕数字经济、数字人民币等方面开展研究,推动合作项目落地实施。根据协议,双方还将进一步在银校系统对接、数字人民币等领域深入开展合作。(中央财经大学官方公众号)[2021/10/5 17:24:39]

工作原理

Rollup的核心思想是将“打包”后的交易数据区块发布在链上,从而大大降低交易有效性验证的难度。交易数据的上链和验证是基于智能合约完成的。运营者收集到不同参与者提交的链下交易后,在链上执行Rollup智能合约提供的脚本,将打包后的交易数据区块作为参数提交给合约,合约验证数据有效后为每个参与者记账。这相当于一次性执行了一批链下交易,但是在链上只执行了一个交易。

下图是ZKRollup提交上链的打包数据。它包含一组压缩后的交易数据、执行这批交易之前的记录用户状态的merkle树树根,以及执行交易之后的新merkle树树根。除此之外还包含一个SNARK零知识证明,合约用它来验证在Prev状态上施加这批交易后结果就是New状态。如果对零知识证明的工作原理感兴趣,可以参考文章。

外汇管理局山西省分局深入推进跨境金融区块链服务平台应用:外汇管理局山西省分局近日出台了《国家外汇管理局山西省分局关于千方百计支持中小微外贸企业复工复产健康发展的指导意见》,提出多项具体措施精准帮扶中小微外贸企业。在缓解融资难题方面,深入推进跨境金融区块链服务平台应用,为中小微外贸企业跨境结算与融资扩渠道、增便利。(生活晨报)[2020/5/8]

生成SNARK的成本非常高,所以OptimisticRollup采用了不同的方法——“欺诈证明”来验证交易有效性。这里的“欺诈证明”并非类似SNARK那样的见证数据,它实际上指的是加密经济学有效性博弈。也就是说,运营者发布新的状态树树根时无需每次都接受Rollup智能合约的验证,每个人都假设状态转换是正确的。如果有人发布了非法的状态转换,其它运营者或者参与者都可以挑战非法交易并回滚不正确的区块。为了实现“欺诈证明”,光有ZKRollup那样的交易数据是不够的,Tx数据需要包涵交易提交者的签名,合约通过校验签名判断交易是否合法。

安全性

Rollup的安全性来自于数据可用性和交易有效性。有了数据可用性和交易有效性,就能保证Rollup操作者永远不能破坏状态或窃取资金,即使操作者不配合,参与者也能方便的追回Rollup网络上的资产。Rollup将交易数据发布到链上,就像“锚”一样将Rollup网络锚定到了以太坊主链上。就好比是里装上了摄像头,即便是玩扑克的人被打了一闷棍,还是能通过视频记录证明自己确实赢了钱。

声音 | 中国科学院院士:区块链等已经深入到市民生活的方方面面:9月10日至11日,2019世界计算机大会在湖南长沙举行,中国科学院院士张平文说,计算机包括5G、云计算、大数据、人工智能、区块链等,已经深入到市民生活的方方面面。(中国新闻网)[2019/9/12]

对于交易有效性验证,ZKRollup和OptimisticRollup采取了不同的方法。ZKRollup采用零知识证明来保证交易有效。它的安全性建立在密码学基础之上,智能合约仅在交易数据被证明为正确之后才会接受状态转换。每次状态转换都有一个零知识证明,这保证了链上总是对应着一个正确的二层状态。OptimisticRollup采用基于加密经济学有效性博弈的错误证明,它无需为每一次状态转换都提供证明,只在有人认为状态转换有误的时候提供。所以它要求交易方必须在线,因为沉默将被视为同意。所以相比较ZKRollup,OptimisticRollup的安全性有所降低,它需要采取额外的措施来防止DDoS攻击造成的默许。

可扩展性

Rollup通过一次链上交易可以执行一大批打包后的链下交易,主链不需要通过执行每笔交易来验证其有效性,而且交易数据是作为函数参数发布的,验证完有效性后就会被丢弃,这样就不会占据以太坊的存储空间。因此Rollup可以大幅度提升以太坊的可扩展性。

何玺:高层对区块链有过深入研究:就《人民日报》第17版财经周刊刊登了整版3篇关区块链的专题报道,围观者众。资深媒体评论人,酷科技创始人何玺巴比特专栏发文称,由此可见高层已经对区块链技术有过深入的研究,并达成了“共识”,即把区块链技术定为了“兵家必争之地”、是“战略机遇”、更是“国家战略”。[2018/2/27]

但是这种提升并非没有限制,虽然只有一次链上交易,但是它会受到交易数据本身gas成本的制约。以太坊数据的gas成本在伊斯坦布尔升级前是每字节68单位,而以太坊上每个地址就会占用20字节,所以用以太坊交易数据结构来表示链下交易gas费用会非常高,因此Rollup对交易数据进行了压缩。

ZKRollup在智能合约里用merkle树来记录地址,这样地址就可以表示成树的索引值,地址数据的大小就从原本的20bytes减少到只有3bytes到4bytes。每笔交易就被压缩成10几个字节,再加上一个约100-300字节的SNARK,理论上可以将以太坊吞吐量从32TPS提升到约680TPS,伊斯坦布尔升级后可达到2000TPS。下图是压缩后ZKRollup每笔交易数据的格式:

OptimisticRollup的吞吐量理论上只有100TPS,主要原因是上文提到过的,为了支持欺诈证明OptimisticRollup的每笔交易数据需要包涵交易提交者的签名。每条签名的大小是64bytes,这大大增加了提交上链的交易数据的字节数,从而很快达到gas上限。为了减少交易数据的字节数,一种BLS聚合签名机制被提了出来。如下图所示,BLS聚合签名机制是在操作员收集到所有交易后,将打包后的交易发送给每个交易提交者签名,因为每个签名都是针对相同的数据,所以可以被操作员聚合成一个BSL签名。发送给链上合约的将是压缩后的交易数据加上聚合后的BLS签名,从而大幅减少了交易数据所消耗的gas。BLS签名可以将OptimisticRollup的吞吐量从100TPS提升到450TPS,伊斯坦布尔升级后也可以达到2000TPS。

延迟

OptimisticRollup基于加密经济学有效性博弈,只有过了1~2周的挑战期才能确认交易生效。ZKRollup的延迟相对较小,如果一个打包区块中有1000笔交易,在普通的服务器上大概需要20分钟可以构造出一个证明。开发者们已经提出很多减少延迟的方法,比如采用GPU加速可以将零知识证明构造时间压缩到1分钟。还有一种叫做“即时交易收据”的方法两种Rollup方案都适用。它主要借助经济学博弈来完成,就是负责打包的操作员需抵押一部分安全保证金,如果某个交易没有被打包到区块中,这笔钱就会被没收。理论上“即时交易收据”可以将交易确认时间压缩到1秒以内,但是实现相对复杂,安全性有所降低。

通用性

通用性方面,OptimisticRollup明显好于ZKRollup,当然它的设计目标就是支持任意智能合约。而ZKRollup目前仅适用于支付之类的特定交易,对于通用智能合约,由于创建零知识证明的成本非常高,部署起来困难较大。为了提高效率,开发者正在开发专门的零知识证明虚拟机,比如ZEXE。它在一定程度上可以缩短创建证明的时间,但是缺点是合约开发者需要大量的专业知识。MatterLabs团队基于ZKRollup开发的新一代区块链扩展方案ZKSync,设计开发了一款以委托的方式生成零知识证明的沙盒式虚拟机,开发者不需要深入了解零知识证明领域的技术细节就可以编写出高效且安全的智能合约。

总结与展望

本文简要介绍了区块链扩容方案Rollup的工作原理,对比分析了两种Rollup方案ZKRollup和OptimisticRollup在可扩展性、延迟、通用性、安全性上的优劣。

根据以上的对比分析,短期看来OptimisticRollup由于较好的通用性会受到开发者的青睐;但从长期来看,随着零知识证明虚拟机的演进,ZKRollup会在通用性上不断提高。它能否主宰智能合约可扩展性的未来呢?这个问题只能留给时间来回答了。

参考文章

1、《混合式二层协议的曙光》2、《零知识证明–zkSNARK入门》3、《有效性证明和错误证明》4、《ZKSync介绍》

标签:ROLROLLKROCROSwaprolroll币可以roll坐骑吗AkropolisESCROW

OKB热门资讯
真需求还是伪需求?北、杭、广、深区块链发票对比

文丨互链脉搏 中国发票的电子化还未普及,区块链发票就快马加鞭追赶上来。3月3日,北京汉威国际广场停车场开出北京市首张区块链电子普通发票,北京税收服务和管理也正式踏入区块链时代.

1900/1/1 0:00:00
张小军:华为推进区块链应用于医疗数据共享和公益募捐,用科技力量抗击疫情

编者注:本文作了不改变作者原意的删减。2月10日晚,华为区块链项目总监张小军做客火讯TALK,以下为访谈实录.

1900/1/1 0:00:00
与其宅着变胖,不如用7天14个小时,构建区块链知识图谱 | 巴比特产业迎新大课重磅上线

今年春节,我还是去外婆家拜了年。撤掉碗筷,在小学教了30多年数学的舅舅把我拉到一旁,看着我说:“你跟我讲一讲什么是区块链吧。”那诚恳的样子,像极了暑假在他家补课的那些学生。那一刻,我是诚惶诚恐,又悲喜交加.

1900/1/1 0:00:00
观察 | 现金支付受阻,疫情“催生”央行数字货币?

本文来源:中国银行保险报 实习记者于晗 受新冠肺炎疫情影响,近来,移动支付越发成为货币流通的主渠道,与此同时,现金支付则进一步被压缩。这一趋势,使得M0与现金支付越发疏远.

1900/1/1 0:00:00
七大减产币背后数据:币价平均上涨143% 挖矿收益平均上涨77%

分析师?|Carol编辑|毕彤彤出品|PANews近期,以比特币为首的“减产”币先后上涨,“减产概念”似乎吹响牛市号角.

1900/1/1 0:00:00
硬核PK黄金:比特币和黄金,谁是更好的避险资产?(上)

币圈有一个简单粗暴的共识:只要通缩,价格必涨。他们依据的理论基础是新古典经济学的“供需理论”,用以佐证的论据是「黄金」百年抗通胀的数据,得出的结论是“比特币减半利好币价”。 笔者认为,以上全错.

1900/1/1 0:00:00