AMAL:科普 | 自下而上解释 Optimistic Rollup_LAYER

作者:?AliAtiia

翻译&校对:IANLIU&阿剑

来源:以太坊爱好者

本文将通过简单的例子,自下而上地阐述OptimisticRoll-Up(ORU)的运作方式;为了让我们能“看得见摸得着”ORU链所有的意涵,本文举的示例也会比较特殊。

ORU是以太坊layer2扩展方案中的佼佼者,既能把可扩展性的蛋糕做大,也能让你吃到——至少是吃到一部分吧。大家之所以对ORU如此兴奋,是因为它及它的表亲——ZK-Rollup,克服了侧链、plasma、状态通道等方案都没有解决的layer2难题。

ORU要解决什么问题?

某所高中正面临这样的问题:每隔几天,就会出现小情侣的争吵事件,通常是因为其中一方劈腿。

典型的场景如下:

Alice看到男朋友Bob亲吻Cathy,她感到非常生气。但Bob可能会辩解“我发誓我没这么做!”或“我俩早就分手了!”......但Alice根本听不进去,抓起椅子就朝Bob扔去;这种在走廊上演的小剧场,正破坏着整个校园的环境。

解决方法v1

校园里的超级书呆子Jamal提出了一种解决方案:

每天晚上,要求所有学生选择以下信息之一,并签署自己的密码学签名——

“我单身,勿扰”

“我单身,待配对”

“我正在与X约会”

“我正在和多个人约会”

这里的签名和用于密码学货币转账的签名类型是一样的。学校会在布告栏张贴“学生与其对应公钥”的公告,所以任何人都能用签名验证的方法来确实谁签了什么消息。为了方便同学们使用,Jamal开发了一款app,每个同学只要在app上选择四条内容之一,然后点击“签名&发送”按钮就行,之后签名消息会从后端向以太坊P2P网络广播——事实上,这些消息会先发到Jamal家里的服务器,由他代表同学们向以太坊发送消息,这样同学就不需要操心以太坊Gas的设置。Jamal通过一些智能合约高级技巧,就可以自己先替同学们支付Gas,然后再按月度向学校报销Gas费用。学校里有1000位同学,每人每天都要签署发送1条消息,平均每条消息要花费$0.1的Gas;所以每个月学校用在Gas上的费用为:

(1000学生)x(1信息/天/学生)x($.1gas/信息)x(30天/月)=

$3000gas/月.

肉疼!

解决方法v2

对于财政吃紧的学校来说,每个月$3k的支出显然是不合适的。这时候ORU就派上用场了。Jamal告诉校方,使用ORU可以降低约99%的gas费用,以下是改进的方案:

和v1方法一样,当每位学生点击“签名&发送”之后,信息会先发送至Jamal家的服务器。然后Jamal将所有的签名叠加成一串字符串数据

WiSWho的信息。WiSWho的信息格式是、……

接着,Jamal用

自己的私钥签署这

一笔交易,并广播之。交易信息为:

“我,Jamal,检查过这笔交易附带的

WiSWho数据,

WiSWho代表截至dd/mm/yyyy所有学生的交往关系,我对天发誓这些数据

包含了完整的事实,无任何人工添加。”

用行话来说,Jamal充当了layer2“执行者”的角色。如果你曾经用以太坊进行交易,你可能注意过附加数据——也就是以太坊浏览器中“Inputdate”那一栏。如下图所示,简单交易中大多数人会将附加数据留空;如果交易中调用了如Uniswap的swap函数,则调用的函数名和传入的参数就会附加上作为交易的InputData;Jamal的交易会调用layer1的ORU合约,

WiSWho就是Jamal广播的交易的InputData。

左图:简单交易,没有附加数据。右图:Uniswap函数和入参(例如

min_tokens是收到的以太坊数量)作为附加数据。以太坊的ORU合约只会验证Jamal的签名,而附加数据

WiSWho中的其他同学的签名,只会被视为区块的二进制“冷数据”。

这就是扩展性的体现,因为这样一来layer1的全节点只要验证ORU执行者的签名并存储附加数据,而

不需要验证

WiSWho里的所有签名。

悬念

你可能已经注意到Jamal签署的信息,强调了两句话:

包含了完整的事实,且

仅包含事实。

违反规则1的情况称为恶意审查(

censorship),意思是Jamal在恶意地过滤信息,比如Bob和Alice有过节,所以Bob贿赂Jamal,让他审查Alice的信息以破坏Alice的美好生活。违反规则2的情况称为诈欺(

fraud),意味着Jamal将一条或多条不存在的信息加到

WiSWho。比如,数据中包含一条Alice的声明——“我正在和10位男孩及10位女孩约会”,而事实上Alice根本没有签署这样的信息,所以Jamal在

WiSWho中放入的Alice签名是非法的。因为ORU合约不会检查

WiSWho内容的正确性,所以诈欺行为会严重影响使用ORU的初衷,还会让gas费用上升,因为存在诈欺行为会迫使大家退而使用v1解决方法。虽然我们相信,Jamal是个正直的人,他承诺绝对不会搞审查或诈欺,但从安全性的角度考虑,我们最好还是将希望寄托在Jamal“无法作恶”而非“不会作恶”。

保留对Jamal的检查权

校方决定对Jamal采行胡萝卜加大棒的管理方式:胡萝卜:Jamal提供服务换取可观的报酬,每天Jamal发送WiSWho交易之后,智能合约就会从授权Jamal向校方提领$5的权利。但Jamal不能立刻拿到这$5,他只能在月末提领。Jamal看着可提领额度每天蹭蹭往上涨,他肯定会愿意继续提供服务。避免恶意审查的柔性手段:如果Jamal故意无视Alice提交的信息,当晚她可以自行向智能合约提交签署信息。隔天一早,Alice可以去找校长告状,同时其他同学也会有所警惕,Jamal的声誉会因为作恶行为而下降。对于校方来说,很容易就能找到能替代Jamal角色的人选:智能合约已经在layer1上部署运行,Jamal的替代者只要运行AWSlambda服务,每天持续监听同学们发来的信息、打包签名、向ORU合约广播单笔交易即可。

实际上,任何愿意在合约上锁定保证金的人都可以成为执行者。

避免诈欺行为的强硬手段:

任何人都能发现Jamal存在诈欺行为,并通过简单举证向layer1的ORU合约证明存在诈欺。除此之外,Jamal必须事先向智能合约锁定一笔保证金,保证金增加Jamal进行诈欺的成本。简单举证包含如下内容——“嘿ORU,这个签名是Jamal检查过的数据之一,由Alice签署;但我,作为举报者,我宣布这是个无效的签名!”

智能合约会从先前发布的数据中抽取出Alice的签名,并通过Alice的公钥执行签名验证。如果这个签名的确是无效的,则:

清零Jamal的待提领奖励,

将Jamal的保证金一半奖励给举报者,另一半销毁。

更进一步剖析强硬手段

强硬手段是ORU合约中最有趣、最具决定性的内容;事实上,它就是ORU成为layer2解决方案的核心因素。这个手段的特别之处在于:不只是校方或学生,任何人都能举起这监督的大棒。只要

WiSWho数据上链,举报者们就能拿到证明Jamal是否作恶所需要的所有材料。人人都能向ORU合约发出对Jamal交易的质疑,并有机会获得举报成功的奖励。强硬手段的设计及运作,是不同ORU实现之间最重要的区别。

来自教育部的电话

“何时能得到大规模接受?”这是我们圈子里最常见的问题。假设大家都开始采用区块链技术,ORU也能用于解决网络拥堵——但现在却出现另一个问题。假设教育部希望Jamal处理全国范围内,所有学校的签名,这时候我们的问题就会从“能处理多少学生?”转为“你能处理多少学校?”。

你可能会说,“既然可以将整个学校的所有签名整合为一笔交易,那同理将全国的签名整合为一笔交易不就好了?”

这就牵扯到ORU扩展性的上限:区块的Gas上限。虽然Jamal广播交易的Gas消耗量很低,但并不是不存在。如果想要在一笔交易中包含全国范围内的所有学生数据,很有可能会超过区块的Gas限制,换言之,Jamal需要将数据进行拆分,分批广播。所以说,通过ORU能获得的扩展性是有上限的,如果你需要无限扩展,可以考虑侧链或plasma等......但这样资金安全就没那么有保障。

重温一下ORU的好处

在乐观情况下,layer1的全节点无需执行ORU操作者发起的交易的附加数据,这样一来:

layer1全节点层面的执行成本更低;因为存储数据要比在其内部运行任何逻辑便宜得多。

每笔交易的Gas成本更低;因为与执行交易相比,存储数据的Gas成本更低。

ORU与侧链/Plasma/状态通道有什么区别?

与侧链不同:侧链的理念发端于2014年,但从未产生很大的吸引力;而ORU链的安全性是直接由Layer-1来保护的。假设你在ORU链上玩扑克或交易代币,则你的资产转移就等同在layer1上转移一样安全。虽然当发生欺诈情况时,可能会遇到一些不便——例如你需要等待一两个星期才能释放资金,但是layer1仍然可以保证资金的安全。另一方面,如果你在侧链进行交易,侧链上的矿工或验证者可以窃取你的资金;因为只要他们想要,就能单方面向layer1讲述对他们有利的故事,而layer1无从考证。

与plasma和状态通道不同:ORU的诈欺证明机制非常简单,

任何人都能提交挑战。举报者有layer1上可用的

所有数据,能够检测并向ORU合约提交诈欺行为证明,以此获得奖励。如果采用plasma或状态通道,用户必须承担其资金的部分或全部的安全性责任,并且必须时刻“监视”layer1合约的情况,以防执行者或其他用户搞欺诈。

总结

所谓的optimisticrollup(ORU),其实就是①智能合约——部署在某layer1(如,以太坊主网)上,以及②区块生产者——会监听特定p2p网络的交易的,并将其汇总成一个大字符串数据,附上验证签名后上链。因为合约能够直接接收用户的交易,即使执行者掉线或是作恶,都能保证用户能够安全地将资金从ORU退出。更重要的是,合约能够核实执行者是否存在诈欺行为,如有有,合约还能罚没执行者的保证金。举报者进行诈欺检测及举证所需的所有数据,都能从ORU交易的附加数据取得;Layer1的全节点不会执行附加数据的内容,这就是layer1能够扩展的根本因素。对于Layer1来说,这些附加数据只是个二进制数据包,并会被永久存储,仅此而已。

原文链接:?https://gourmetcrypto.substack.com/p/optimistic-rollups-from-the-bottom

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

区块博客

[0:0ms0-8:160ms