SMA:如何理解 layer 2 数据可用性解决方案 ZK Rollup?_Small Fish Cookie

作者注:ZKRollup不是一个新的提案,大约在一年前被BarryWhitehat所提出,同时间Vitalik在以太坊研究员的论坛有一篇比较完整的文章解释,现在由MatterLab在开发。研究完zk-SNARKs之后,一直没空来看,直到最近才有机会来深入了解。除了ZKRollup,也会简单带一下前阵子在PlasmaGroup所提出的OptimisticRollup。

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

简单一句话解释ZKRollup就是,数据放在链上的layer2解决方案。

JAN3首席执行官受邀与墨西哥参议员就墨西哥如何采用加密货币进行讨论:5月1日消息,据Bitcoin Magazine发推表示,JAN3首席执行官、比特币中国前首席运营官Samson Mow于4月29日与墨西哥参议员兼财政委员会主席讨论了关于墨西哥如何采用加密货币墨西哥如何采用加密货币的问题。

据悉,墨西哥是拉丁美洲最大的经济体之一,如果成功采用加密货币,将为整个地区带来深远的影响,对于加密货币市场来说是一个重要的里程碑。[2023/5/1 14:36:45]

在了解ZKRollup之前,先来解释原本layer2有什么问题。以Plasma为例,Plasma链只把Plasma区块的hash放上Ethereum主链上做公正,也就是在链下交易了数百或数千笔的交易,最后上链只有几十个bytes,这是链下交易的精神,但也是设计上最麻烦的地方——数据的可取得性。

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

大咖零距离 | 行情巨震 如何合理配置币圈资产:3月30日16:00,由金色盘面主办、BTSE交易所独家赞助的《大咖零距离》正式开播。届时BTSE联合创始人/CPO BrianWong,将在《大咖零距离》直播间分享《行情巨震,如何合理配置币圈资产》,敬请关注,欲进群观看直播扫描海报二维码报名即可![2020/3/30]

使用者需要常常在线

需下载部分数据

而造成使用者体验很糟

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

首先,先介绍整体架构。跟Plasma一样,有一个智能合约做担保,有中继者(relayer)帮忙送交易到智能合约,中继者除了送交易外,还需要产生SNARK证明,一起送上链做验证。

智能合约的部分,可以想象跟ERC20一样,在合约里记每个参与者的帐,差别在于,标准的ERC20交易是由Ethereum这系统做验证,也因此不能合并,而Rollup中,是把好几笔交易包成一个标准交易,对Ethereum这个系统,就是一个交易,而验证交易的有效性则由智能合约做验证。

声音 | 中金公司:66家公司有区块链相关业务 未来如何受益有待进一步研究???:中金公司发布相关研究报告指出,根据不完全整理,A股、H股和中概股中66家公司有区块链相关业务,其中市值较大的企业包括阿里巴巴、腾讯、平安、恒生电子、航天信息、众安在线等,未来如何受益有待进一步研究。中金公司分析师黄乐平、杨俊杰研究认为,区块链的一个优势是通过数字签名等密码学技术,在保证数据唯一性和所有权不可篡改的前提下,实现多方之间的信息共享。这适合需要“多方共享”“高频重复”“交易链条长”的许多金融场景。过去几年,区块链主要应用案例包括:在跨境汇款领域,蚂蚁金服利用区块链技术为菲律宾、巴基斯坦、马来西亚等“一带一路”沿线国家提供低费率、高速的跨境汇款服务;在清结算领域,港交所计划利用区块链结算系统简化互联互通下内地股票的北向交易流程,方便欧美投资者投资A股;在贸易融资领域,香港金管局和平安合作推出区块链贸易融资技术平台“贸易联动”,增加贸易参与者之间的信任,降低风险,提高贸易流程中获得融资的机会。?[2019/10/28]

实际在智能合约里,用两个merkletree做纪录,一棵树是纪录地址,所以只需要树的索引值就可以代表一个地址,因此地址的数据量就从原本的20bytes减少到只有3bytes,另一棵树则记录balance跟nonce。

声音 | 阿里云研究中心战略总监:需思考如何让数据更充分 有效有序的流动起来:据腾讯科技报道,在人民网举办块链技术秋季论坛上,在谈及区块链与治理结构的关系时,阿里云研究中心战略总监杨军表示,从农业时代走来,如今更多人的精力是放在如何用数据提升大家的服务体验。在未来的数字经济时代,需要思考如何让数据更充分、更有效有序的流动起来,这又涉及到数据确权、数据隐私等方面。[2018/10/23]

-地址的默克尔树-

这是数据格式,

因为用索引值当地址的代表,所以只需要3bytes,Value的部分是以10^-6当作基底,这样只需要15bytes就可以代表一笔交易,而储存这样一笔交易大约只需要892gas,而一般ether的转移需要21Kgas,因此交易速度能提升。

普京:俄罗斯不能有自己的加密货币 但必须研??究如何使用加密货币:据cointelegraph消息,俄罗斯总统普京6月7日在与俄罗斯公众的年度现场问答会议上表示,俄罗斯不能有自己的加密货币,这是因为加密货币超越了国界。对于所谓加密货币挖矿,普京指出俄罗斯确实没有对此进行规范,但态度“非常谨慎”。关于加密货币作为支付方式,普京指出,虽然专家说日本已经部分采用加密货币作为支付,但这“在其他国家并不适用”。俄罗斯联邦中央银行认为加密货币既不是支付手段,也不是价值储备手段。加密货币不受任何支持,人们应该小心谨慎地对待它。俄罗斯必须密切关注这一现象,以确定俄罗斯如何参与其进程。此外普京还补充说明,俄罗斯必须研??究如何使用加密货币,以避免在国际金融领域的任何限制。据cointelegraph分析,普京或许在暗示可以通过使用加密货币避免目前西方国家对俄罗斯的制裁。[2018/6/8]

-https://vitalik.ca/general/2019/08/28/hybrid_layer_2.html-

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

现今以太坊每个区块的gas上限约8M,所以若单纯ether交易,速度约略是

8M/21K/15~=25tps

所以现在的交易瓶颈其实是gas的问题,下降交易手续费或是提升区块gas上限,都能适时纾困,而ZKRollup就是藉由交易数据量(size)的减少,进而能增加交易速度。那来看一下使用ZKRollup后交易速度能到多快

(8M—600K(zk-SNARK验证)—50K)/892/15~=550tps

这个数字就是Vitalik文章的标头“On-chainscalingtopotentially~

500tx/sec”。但实际上并没有这么理想,在作者Barry的实作中,大约只有268tps,因为每次资产的更新都会留下event,所以有多余的gas花费,然而,这样的设计在应用上也是比较亲切的。

数据都在链上,而且透过zk-SNARK做验证,代表着上链的数据都是被验证过的,因此就没有一开始layer2遇到的问题,需要挑战、需要下载数据等等。这也隐含着不需要信任中继者,因为他们无法作坏,最多就是不帮你送交易。

事情没有这么美好…

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

平行运算!

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

-https://medium.com/matter-labs/introducing-matter-testnet-502fab5a6f17-

延迟…

听似很美好,但是因为你的交易被分两阶段上链,也就是从送出到到被验证,会是好几个区块,时间比原本单纯上链时间会更久。当然,延迟多久是使用者可接受的,这目前也无从得知。这是一个取舍,省了手续费,增加了交易速度,却也增加了时间的延迟,这一切也要等上线后才会知道。

今年初,Vitalik在台北的线下聚会中分享了ZKRollup的进阶版—ZKZKRollup,有兴趣的人可以参考这篇文章,记录的很详细。

Plasma&OptimisticRollup

OptimisticRollup在设计上跟Plasma相关,所以只会简单带一下差异。

Karl基于ZKRollup的设计,在上个月提出OptimisticRollup,概念上也是把数据都放链上,但不是用zk-SNARK做验证,因为希望能达成更普遍性的应用。而不一样的地方有,把from的部分,改为使用者的签章,因为数据量变大的,可想而知,花的gas会更多,交易速度就会不及ZKRollup。另一部份是,因为不是用zk-SNARK做验证,就需要数据验证的辅助方法,这边就不详细介绍,有机会再写一篇Plasma/OptimisticRollup的详细介绍。

在估算上,交易速度约是100tps,若签章方式改为BLS,约可提升到450tps。而在10月的硬分岔后,gas会下降,预估的交易速度也会分别到达400/2000tps。

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

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

references:

On-chainscalingtopotentially~500tx/secthroughmasstxvalidation

IntroducingMatterTestnet

OptimisticRollup

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:0ms0-4:568ms