ZK Rollup & Optimistic Rollup

ETH区块大康2019-10-09 22:13:15  阅读 -评论 0  阅读原文
作者注:ZK Rollup不是一个新的提案,大约在一年前被 Barry Whitehat 所提出,同时间 Vitalik 在以太坊研究员的论坛有一篇比较完整的文章解释,现在由 Matter Lab 在开发。研究完 zk-SNARKs 之后,一直没空来看,直到最近才有机会来深入了解。除了 ZK Rollup,也会简单带一下前阵子在 Plasma Group 所提出的 Optimistic Rollup。

ZK Rollup一开始提出来的时候,是被定义为 layer 2 的解决方案,年初的时候一度以 Plasma Ignis 这个名称作为发表。应该是因为去年 Plasma 很红,一直不断有新的提案跟进展,加上这当时也被定义为 layer 2 的解决方案,这些种种原因,开发者就冠上了 Plasma 的名称,不过因为这项技术跟 Plasma 的精神完全不一样,被社群抗议,后来就恢复到 Rollup 这个名称(开发者的声明),所以搜寻 'Plasma Ignis' 会找不到什么东西。到最近,Rollup 被更名为 semi-layer 2 的解决方案,就是有一点 layer 2 但又没这么 layer 2… XD

简单一句话解释 ZK Rollup 就是,数据放在链上的 layer 2 解决方案

在了解 ZK Rollup之前,先来解释原本 layer 2 有什么问题。以 Plasma 为例,Plasma 链只把 Plasma 区块的 hash 放上 Ethereum 主链上做公正(欲了解 Plasma 可以参考这里),也就是在链下交易了数百或数千笔的交易,最后上链只有几十个 bytes,这是链下交易的精神,但也是设计上最麻烦的地方——数据的可取得性(编者注:大陆一般译为 "数据可用性")。

就是当有人要离开这个链时,需要一个额外的游戏规则,在 Plasma 叫做挑战期(因为链上没有数据,需要侧链参与者的提供证据),这衍生了有数据才能挑战,所以大家都要存一定数量的数据,相较于跟主链的互动,只需要装一个钱包,并不需要下载区块数据,用户体验上差异很大。挑战期的另一个问题是,使用者需要保持上线状态,不然错过挑战期,就代表默认了交易(因为是采用诈欺证明并非是有效性证明)。简单来说,因为数据的可取得性问题,衍生了

  1. 使用者需要常常在线
  2. 需下载部分数据
而造成使用者体验很糟(当然现在的 Plasma 设计已经改进了不少)

如何将数据放在链上,又不会造成数据过大呢?


首先,先介绍整体架构。跟 Plasma 一样,有一个智能合约做担保,有中继者(relayer)帮忙送交易到智能合约(在 Plasma 叫 operator),中继者除了送交易外,还需要产生 SNARK 证明,一起送上链做验证。智能合约的部分,可以想象跟 ERC20 一样,在合约里记每个参与者的帐,差别在于,标准的 ERC20 交易是由 Ethereum 这系统做验证,也因此不能合并(因为这就是 Ethereum 的标准交易),而 Rollup 中,是把好几笔交易包成一个标准交易,对 Ethereum 这个系统,就是一个交易,而验证交易的有效性则由智能合约做验证。实际在智能合约里,用两个 merkle tree 做纪录,一棵树是纪录地址,所以只需要树的索引值就可以代表一个地址(未注册的索引值内容为0),因此地址的数据量就从原本的 20 bytes 减少到只有 3 bytes,另一棵树则记录 balance 跟 nonce

-地址的默克尔树-这是数据格式(这是最初的提案,后来的实作交易量更小),

因为用索引值当地址的代表,所以只需要 3 bytes(2²⁴个地址),Value 的部分是以10^-6 当作基底,这样只需要 15 bytes 就可以代表一笔交易,而储存这样一笔交易大约只需要 892 gas(虽然 Value 是 6 bytes,但是文章中的假设大部分的交易只会使用到 4 bytes,所以算法是 13 bytes * 68 + 2 bytes * 4 = 892),而一般 ether 的转移需要21K gas,因此交易速度能提升(所以 Vitalik 的文章标题是 "On-chain scaling to potentially ~500 tx/sec through mass tx validation")。

- https://vitalik.ca/general/2019/08/28/hybrid_layer... -


为什么交易速度能提升?也顺便来了解一下交易速度


现今以太坊每个区块的 gas 上限约 8M,所以若单纯 ether 交易,速度约略是
8M / 21K / 15 ~= 25 tps
所以现在的交易瓶颈其实是 gas 的问题,下降交易手续费(编者注:指调低转账所需耗用的 Gas 数量)或是提升区块 gas上限,都能适时纾困(但也会造成衍伸的问题),而 ZK Rollup 就是藉由交易数据量 (size) 的减少,进而能增加交易速度。那来看一下使用ZK Rollup后交易速度能到多快
(8M — 600K (zk-SNARK验证) — 50K(预计合约运行的gas花费)) / 892 / 15 ~= 550 tps
这个数字就是 Vitalik 文章的标头 "On-chain scaling to potentially ~500 tx/sec"。但实际上并没有这么理想,在作者 Barry 的实作中,大约只有 268 tps,因为每次资产的更新都会留下 event,所以有多余的 gas 花费,然而,这样的设计在应用上也是比较亲切的。数据都在链上,而且透过 zk-SNARK 做验证,代表着上链的数据都是被验证过的,因此就没有一开始 layer 2 遇到的问题,需要挑战、需要下载数据等等。这也隐含着不需要信任中继者,因为他们无法作坏,最多就是不帮你送交易。

事情没有这么美好…


大家都觉得 zk-SNARK 像个万灵丹一样,用了好像什么事都解决了,不过实际上并没有这么完美。zk-SNARK 除了需要初始设定之外(编者注:指需要信任的初始设置),最大的问题就是需要大量的运算力,在 Barry 提供的数据中,中继者的计算机若是一台 8G 内存加上 20G 的硬盘 swap,大概只能产生 20 tx/sec,远远不及预期的 500tps 或是实作的 200 多 tps。所以这个方案最大的问题在于要怎么解决算力问题。

平行运算!

Matter Lab使用了多中继者模型平行运算。多中继者的模型,很像小型的区块链,使用了 DPOS (Delegated Proof of Stake),还有随机挑选区块产生者,所以被挑选到的区块产生者,就可以收集交易、产生证明并且上链。这样的方法避免了中心化,若中继者被恶意攻击,整个网络还是能运作得下去,另一方面,也为平行运算做了铺路。零知识证明的产生非常花时间,因此基于多中继者模型,Matter Lab提出了 "上链-验证" 两阶段的方式,也就是中继者先把数据上链,下一个阶段再上传证明做验证,进而达到平行运算(如下图)。再加上一些数据的优化,测试结果可达到 1600 tps。

-https://medium.com/matter-labs/introducing-matter-...


延迟


听似很美好,但是因为你的交易被分两阶段上链,也就是从送出到到被验证,会是好几个区块,时间比原本单纯上链时间会更久。当然,延迟多久是使用者可接受的,这目前也无从得知。这是一个取舍,省了手续费,增加了交易速度,却也增加了时间的延迟,这一切也要等上线后才会知道。今年初,Vitalik在台北的线下聚会中分享了ZK Rollup的进阶版 — ZK ZK Rollup,有兴趣的人可以参考这篇文章,记录的很详细。

Plasma & Optimistic Rollup


Optimistic Rollup 在设计上跟 Plasma相关,所以只会简单带一下差异。Karl(注)基于 ZK Rollup 的设计,在上个月提出 Optimistic Rollup,概念上也是把数据都放链上,但不是用 zk-SNARK 做验证,因为希望能达成更普遍性的应用。而不一样的地方有,把 from 的部分,改为使用者的签章(65 bytes),因为数据量变大的,可想而知,花的 gas 会更多,交易速度就会不及 ZK Rollup。另一部份是,因为不是用 zk-SNARK 做验证,就需要数据验证的辅助方法(validity game),这边就不详细介绍,有机会再写一篇 Plasma/Optimistic Rollup 的详细介绍。

在估算上,交易速度约是 100 tps,若签章方式改为 BLS,约可提升到450 tps。而在10月的硬分岔后,gas 会下降,预估的交易速度也会分别到达 400/2000 tps。(许愿:希望有人可以介绍一下 10 月的硬分岔细节 XD)

注:在中文的媒体文章中,都称他是 Casper 的核心研究员之一,但是从我一开始知道这个人,都是在大力宣扬 Plasma,他的部落格、twitter都是跟 Plasma相关的文章,不确定他在 Plasma Group 的角色,但我是把他定位成 Plasma Group 的 leader

文章内容若有错误或是不同观点,欢迎指教references:

On-chain scaling to potentially ~500 tx/sec through mass tx validation

Introducing Matter Testnet

Optimistic Rollup


(完)(文内提供了许多超链接,请点击阅读原文到 EthFans 网站上获取)原文链接:https://medium.com/cryptocow/zk-rollup%E4%B8%80%E9...

翻译: 阿剑

本文来自 Taipei-Ethereum-Meetup 成员 Kimi Wu,为符合大陆读者阅读习惯将繁体改为简体;由作者授权 EthFans 再出版。

声明:链世界登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。此文如侵犯到您的合法权益,请联系我们kefu@lianshijie.com

    参与讨论 (0 人参与讨论)

    相关推荐

    比特币有什么缺点?

    1.交易平台的脆弱性。比特币网络很健壮,但比特币交易平台很脆弱。交易平台通常是一个网站,而网站会遭到黑客攻击,或者遭到主管部门的关闭。2.交易确认时间长。比特币钱包初次安装时,会消耗大量时间下载历史交易数据块。而比特币交易时,为了确认数据准确性,会消耗一些时间,与p2p网络进行交互,得到全网确认后,交易才算完成。3.价格波动极大。由于大量炒家介入,导致比特币兑换现金的价格如过山车一般起伏。使得比

    业务中使用区块链的四种方式

    业务中使用区块链的四种方式

    暴走时评:区块链是一种支持像比特币这样的数字货币的公共分类帐本,并且正改变着我们的业务方式。一旦那些对匿名交易,甚至是秘密交易感兴趣的人接纳了这样一种鲜为人知的工具,加密货币就会日趋成为主流。 区块链是一种支持像比特币这样的数字货币的公共分类帐本,并且正改变着我们的业务方式。一旦那些对匿名交易,甚至是秘密交易感兴趣的人接纳了这样一种鲜为人知的工具,加密货币就会日趋成为主流。越来越多的个人和企

    区块链:法定数字货币技术路线的必然选择

    区块链:法定数字货币技术路线的必然选择

    在人类发展史上,货币的进化从未停止。从物物交换,到金属铸币,再到纸质货币,以及当前正在发展的数字货币正在向着越来越便捷的方向进化。 比特币的出世起初并未带来轰动,但是最近几年其价格惊人的爬高创造出了一个个造富神话,引起各国政府及监管机构的关注。虽然金融专家普遍认为它只是一种资产,而非货币,但是,其背后的区块链(Blockchain)技术引起了包括各大金融机构、政府、企业及学术界的浓厚兴趣,未

    用区块链记录证书,证明真伪,墨尔本大学迈出了第一步

    用区块链记录证书,证明真伪,墨尔本大学迈出了第一步

    墨尔本大学宣布发起区块链认证和审核计划,允许通过一种隐私、安全且持久的方式验证学生的证书。 墨尔本大学正在试验一个区块链记录维护项目,允许接收者(即学生)存储他们的证书,出于核验目的,第三方也能访问这个系统。Learning Machine是这个发布系统的开发者,他们采用的是麻省理工媒体实验室(MIT Media Lab)在2016年提交的Blockcerts开源代码。 墨尔本大学副校长格雷

    日本IT巨头富士通联合日本“三大行”开发区块链p2p资金转移系统

    日本IT巨头富士通(Fujitsu)与三家大型银行已经宣布计划试点一项基于区块链创建的点对点资金转移系统。 通过与日本三大行——瑞穗金融集团,三井住友金融集团和三菱UFJ金融集团——的合作,富士通将现场试验一种基于云的区块链平台,用于在个体之间发送资金,并开发一款智能手机APP来提高这个系统的可用性。 从理论上讲,这个平台将把三大行的客户法定货币账户与这个区块链系统相连接。客户然后将能够使用这

    动画科普:什么是比特币?

    动画科普:什么是比特币?

    比特币(Bitcoin,简写BTC)概念由中本聪(化名)提出,是一种点对点、去中心化的数字资产;2009年,中本聪打包了第一个区块,并获得50枚比特币的挖矿奖励,挖矿奖励每4年减半一次,按此计算,比特币预计2140年发行完毕,总量为2100万枚。 随着比特币的发展,比特币逐渐受到认可:德国为全球首个接受比特币支付的国家;微软、戴尔等知名企业也纷纷接受比特币支付。 举个栗子,你能直接用比特币买到

    3分钟理解什么是公有链、私有链、联盟链、许可链

    不同的区块链有着不同的内涵和功能,在区块链领域经常出现的公有链、私有链、联盟链、许可链,这些又都代表什么意思呢? 公有链 公有链是指全世界任何人都可以随时进入系统中读取数据、发送可确认交易、竞争记账的区块链。公有链通常被认为是完全去中心化的,因为没有任何人或机构可以控制或篡改其中数据的读写。公有链一般会通过代币机制鼓励参与者竞争记账,来确保数据的安全性。比特币、以太坊都是典型的公有链。 私

    区块链是比特币的底层技术,但似乎两者已走上不同的道路

    区块链是比特币的底层技术,但似乎两者已走上不同的道路

    比特币的出现带来了一项新的技术——区块链,不过区块链和比特币似乎已走上了两条不一样道路,作为技术的区块链被越来越多的人所看好,而性质偏向于投资的比特币似乎被更多人看衰。 成也萧何败也萧何 比特币火爆的原因是其拥有去中心化、全世界流通、专属所有权、低交易费用、无隐藏成本、跨平台挖掘的特性,这些特性促使比特币成为了很多人关注的焦点。之后众多庄家的入局让比特币一瞬间成为了热门投资产业,但这几大特

    麦妖榜
    更新日期 2019-09-03
    排名用户贡献值
    1牛市来了30910
    2BitettFan24187
    3等待的宿命23810
    4区块大康20369
    5六叶树20310
    6linjm122719429
    7天下无双16192
    8lizhen00215280
    9让时间淡忘14586
    10yelanyi050511349
    返回顶部 ↑