ORU 要解决什么问题?

自下而上解释以太坊 layer 2 扩展方案——Optimistic Rollup

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

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

ORU 要解决什么问题?

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

典型的场景如下:

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


解决方法 v1

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

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

  • “我单身,勿扰”

  • “我单身,待配对”

  • “我正在与 X 约会(只和 X)”

  • “我正在和多个人约会(还没安定)”

这里的签名和用于密码学货币转账的签名类型是一样的。

学校会在布告栏张贴 “学生与其对应公钥” 的公告,所以任何人都能用签名验证的方法来确实谁签了什么消息。

为了方便同学们使用,Jamal 开发了一款 app ,每个同学只要在 app 上选择四条内容之一,然后点击 “签名 & 发送” 按钮就行,之后签名消息会从后端向以太坊 P2P 网络广播 —— 事实上,这些消息会先发到 Jamal 家里的服务器,由他代表同学们向以太坊发送消息,这样同学就不需要操心以太坊 Gas 的设置。Jamal 通过一些智能合约高级技巧(CREATE2 操作码),就可以自己先替同学们支付 Gas ,然后再按月度向学校报销 Gas 费用。

学校里有 1000 位同学,每人每天都要签署发送 1 条消息,平均每条消息要花费 $ 0.1 的 Gas;所以每个月学校用在 Gas 上的费用为:

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

= $3000 gas/月.

肉疼!

解决方法 v2

对于财政吃紧的学校来说,每个月 $ 3k 的支出显然是不合适的。

这时候 ORU 就派上用场了。Jamal 告诉校方,使用 ORU 可以降低约 99% 的 gas 费用 ,以下是改进的方案:

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

WiSWho 的信息格式是 [ Alice 的 ID、Alice 的消息、Alice 的签名 ]、 [ Bob 的 ID、Bob 的消息、Bob 的签名 ] ……

接着,Jamal 用自己的私钥签署这一笔交易,并广播之。交易信息为:

“我,Jamal,检查过这笔交易附带的 WiSWho 数据,WiSWho 代表截至 dd/mm/yyyy 所有学生的交往关系,我对天发誓这些数据包含了完整的事实,无任何人工添加。”

用行话来说,Jamal 充当了 layer 2 “执行者” 的角色。

如果你曾经用以太坊进行交易,你可能注意过附加数据 —— 也就是以太坊浏览器中 “Input date” 那一栏。如下图所示,简单交易中大多数人会将附加数据留空;如果交易中调用了如 Uniswap 的 swap 函数,则调用的函数名和传入的参数就会附加上作为交易的 Input Data ;Jamal 的交易会调用 layer 1 的 ORU 合约, WiSWho 就是 Jamal 广播的交易的 Input Data 。

左图:简单交易,没有附加数据。右图:Uniswap 函数和入参(例如 min_tokens 是收到的以太坊数量 )作为附加数据。

以太坊(layer 1)的 ORU 合约只会验证 Jamal 的签名,而附加数据 WiSWho 中的其他同学的签名,只会被视为区块的二进制“ 冷数据”(注:不会被访问或检索的数据)。

这就是扩展性的体现,因为这样一来 layer 1 的全节点只要验证 ORU 执行者的签名并存储附加数据,而不需要验证WiSWho里的所有签名。

悬念

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

  1. 包含了完整的事实,且

  2. 仅包含事实。

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

违反规则 2 的情况称为诈欺(fraud),意味着 Jamal 将一条或多条不存在的信息加到 WiSWho 。比如,数据中包含一条 Alice 的声明 —— “我正在和 10 位男孩及 10 位女孩约会”,而事实上 Alice 根本没有签署这样的信息,所以 Jamal 在 WiSWho 中放入的 Alice 签名是非法的(可能是 Bob 贿赂 Jamal ,以此造谣中伤 Alice ;又或是 Jamal 对 Alice 不满,想让她尴尬......)。

因为 ORU 合约不会检查 WiSWho内容的正确性,所以诈欺行为会严重影响使用 ORU 的初衷,还会让 gas 费用上升(验证签名并不便宜),因为存在诈欺行为会迫使大家退而使用 v1 解决方法。

虽然我们相信,Jamal 是个正直的人,他承诺绝对不会搞审查或诈欺,但从安全性的角度考虑,我们最好还是将希望寄托在 Jamal “无法作恶” 而非 “不会作恶”。

保留对 Jamal 的检查权

校方决定对 Jamal 采行胡萝卜加大棒(软硬兼施)的管理方式:

胡萝卜:Jamal 提供服务换取可观的报酬,每天 Jamal 发送 WiSWho 交易之后,智能合约就会从授权 Jamal 向校方提领 $ 5 的权利。但 Jamal 不能立刻拿到这 $ 5 ,他只能在月末提领。Jamal 看着可提领额度每天蹭蹭往上涨,他肯定会愿意继续提供服务。

避免恶意审查的柔性手段:如果 Jamal 故意无视 Alice 提交的信息,当晚她可以自行向智能合约提交签署信息(当然,要自己负担 gas 费用)。隔天一早, Alice 可以去找校长告状,同时其他同学也会有所警惕,Jamal 的声誉会因为作恶行为而下降。

对于校方来说,很容易就能找到能替代 Jamal 角色的人选:智能合约已经在 layer 1 上部署运行, Jamal 的替代者只要运行 AWS lambda 服务,每天持续监听同学们发来的信息、打包签名、向 ORU 合约广播单笔交易即可。

  • 实际上,任何愿意在合约上锁定保证金的人都可以成为执行者(差别只是他们要重新向学生宣传自己而已)。

避免诈欺行为的强硬手段任何人都能发现 Jamal 存在诈欺行为(如果有),并通过简单举证向 layer 1 的 ORU 合约证明存在诈欺。除此之外, Jamal 必须事先向智能合约锁定一笔保证金(想成为执行者的人都需要锁定,作恶就会被罚款),保证金增加 Jamal 进行诈欺的成本。

简单举证包含如下内容 —— “嘿 ORU,这个签名是 Jamal 检查过的数据之一,由 Alice 签署;但我,作为举报者,我宣布这是个无效的签名!”

  • 智能合约会从先前发布的数据中抽取出 Alice 的签名,并通过 Alice 的公钥(在 ORU 合约设置之初就存好了)执行签名验证。如果这个签名的确是无效的,则:

    • 清零 Jamal 的待提领奖励,

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

更进一步剖析强硬手段

强硬手段是 ORU 合约中最有趣、最具决定性的内容;事实上,它就是 ORU 成为 layer 2 解决方案的核心因素。

这个手段的特别之处在于:不只是校方或学生,任何人都能举起这监督的大棒。只要 WiSWho 数据上链,举报者们就能拿到证明 Jamal 是否作恶所需要的所有材料。人人都能向 ORU 合约发出对 Jamal 交易的质疑,并有机会获得举报成功的奖励。

强硬手段的设计及运作,是不同 ORU 实现之间最重要的区别。

来自教育部的电话

“何时能得到大规模接受?”这是我们圈子里最常见的问题。假设大家都开始采用区块链技术,ORU 也能用于解决网络拥堵 —— 但现在却出现另一个问题。

假设教育部希望 Jamal 处理全国范围内,所有学校的签名,这时候我们的问题就会从 “能处理多少学生?” 转为 “你能处理多少学校?”。

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

这就牵扯到 ORU 扩展性的上限:区块的 Gas 上限。虽然 Jamal 广播交易的 Gas 消耗量很低,但并不是不存在。如果想要在一笔交易中包含全国范围内的所有学生数据,很有可能会超过区块的 Gas 限制,换言之, Jamal 需要将数据进行拆分,分批广播。

所以说,通过 ORU 能获得的扩展性是有上限的,如果你需要无限扩展,可以考虑侧链或 plasma 等......但这样资金安全就没那么有保障。

重温一下 ORU 的好处

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

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

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

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

与侧链不同:侧链的理念发端于 2014 年,但从未产生很大的吸引力;而 ORU 链的安全性是直接由 Layer-1 来保护的。

假设你在 ORU 链上玩扑克或交易代币,则你的资产转移就等同在 layer 1(例如以太坊主网)上转移一样安全。虽然当发生欺诈情况时,可能会遇到一些不便 —— 例如你需要等待一两个星期才能释放资金,但是 layer 1仍然可以保证资金的安全。

另一方面,如果你在侧链进行交易,侧链上的矿工(PoW)或验证者(PoS)可以窃取你的资金;因为只要他们想要,就能单方面向 layer 1 讲述对他们有利的故事,而 layer 1 无从考证。

与 plasma 和状态通道不同:ORU 的诈欺证明机制非常简单,任何人 都能提交挑战。举报者有 layer 1 上可用的所有数据,能够检测并向 ORU 合约提交诈欺行为证明,以此获得奖励。如果采用 plasma 或状态通道,用户必须承担其资金的部分或全部的安全性责任,并且必须时刻 “监视” layer 1 合约的情况,以防执行者或其他用户搞欺诈。

总结

所谓的 optimistic rollup (ORU),其实就是 ①智能合约 —— 部署在某 layer 1 (如,以太坊主网) 上,以及 ② 区块生产者 —— 会监听特定 p2p 网络的交易的,并将其汇总成一个大字符串数据,附上验证签名后上链。

因为合约能够直接接收用户的交易,即使执行者掉线或是作恶,都能保证用户能够安全地将资金从 ORU 退出。更重要的是,合约能够核实执行者是否存在诈欺行为,如有有,合约还能罚没执行者的保证金。

举报者进行诈欺检测及举证所需的所有数据,都能从 ORU 交易的附加数据取得;Layer 1 的全节点不会执行附加数据的内容(除非有人举报存在诈欺),这就是 layer 1 能够扩展的根本因素。对于 Layer 1 来说,这些附加数据只是个二进制数据包,并会被永久存储,仅此而已。

原文链接:

https://gourmetcrypto.substack.com/p/optimistic-rollups-from-the-bottom

作者:  Ali Atiia

翻译&校对: IAN LIU & 阿剑

24小时热点

uniswap app下载

Uniswap是一种允许用户以去中心化的方式以不同的令牌进行 ...

48767

Luart

uniswap官方下载

Uniswap是一款开源的去中心化交换原语。它提供了一种可以 ...

153786

Opera House

热点专题

NFT艺术品到底是什么?

Beeple,“EVERYDAYS: THE FIRST 5 ...

2318557

Opera House

最全的NFT发展史

当我们理解一个新生事物,必须要首先了解其起源,通过对其源头以 ...

1752801

iBox

“华英会”诈骗圈钱5000亿!崩盘后将会凄惨无比

“华英会”崩盘的预警已多次发出,尽管尚未正式宣布崩盘,但大家 ...

1328854

Magic Eden

什么是IDO?这种模式会带来怎样的影响?

要理解IDO(Initial DeFi Offering)初 ...

1158056

Bitstamp交易所

链圈百科:韩国政府机构组织图

一、行政院 韩国行政院是一个由政府的行政机构组成的中央政府 ...

1045720

BitKeep钱包

有黑客采取新型 USDT 假充值手法

根据慢雾区情报,有黑客采取新型 USDT 假充值手法,黑客采 ...

1015812

区块链博客

元宇宙平台合法吗

现在,元宇宙平台备受热捧,但有人质疑其合法性。在此,我们将对 ...

988901

T网

4种利用永续合约资金费率套利的策略

下文将介绍在保持市场中立的条件下,如何从永续掉期资金费率中套 ...

948964

DCG区块链孵化器

国内NFT平台是怎么赚钱的?

2021年被称为NFT的“元年”,互联网巨头、各大企业、艺术 ...

813235

CoinBene满币网

宝二爷郭宏才的乘风破浪之旅

10年后的比特币会涨到10万美元吗?宝二爷说过:“先吹吹牛B ...

727516

QuillAudits