ARBI:金色观察|简析Arbitrum Rollup虚拟机的设计原理

Arbitrum和Optimism是以太坊Layer2扩容的主要项目,因为两者是以Rollup为技术核心实现的二层扩容,符合以太坊未来发展方向。

但面对未来丰富的生态应用预期,需要一个虚拟机来实现可编辑能力。因为Rollp的技术核心,却让这个方向成为一个实现略难的技术需求,目前两者也限于虚拟机并不成熟。使得在这一层的可编辑能力有所限制。

今天本文中,我们将摘录资料来了解Arbitrum网络的虚拟机设计原理。

AVM设计的起点是基于以太坊虚拟机 (EVM),因为Arbitrum目标是高效地执行为EVM编写或编译的程序,所以Arbitrum并未更改EVM设计的绝大部分。例如,AVM采用EVM的数据类型以及对EVM整数进行的操作指令等。

金色热搜榜:HPT居于榜首:根据金色财经排行榜数据显示,过去24小时内,HPT搜索量高居榜首。具体前五名单如下:HPT、KCASH、XRP、HT、ADA。[2020/12/9 14:42:59]

这样看来,AVM和EVM之间的差异源于Arbitrum的layer2需求和Arbitrum的多轮挑战协议。

执行与证明

与EVM架构不同,Arbitrum需要支持本地执行和受信证明。基于EVM的系统通过重新执行有争议的代码来解决争议,而Arbitrum依赖于形成最终证明的挑战协议解决争议。

金色晚报 | 9月14日晚间重要动态一览:12:00-21:00关键词:区块链投票、Tether、Filecoin、巨鲸、

1.《区块链+党政干部学习读本》在京发布。

2.俄罗斯计划在明年议会大选中使用区块链投票系统。

3.明天Tether将为10亿USDT执行两次链交换。

4.FATF报告:用户分析可以帮助监管机构识别非法加密活动。

5.Deribit报告:2020年底比特币期权价格将飙升至3.6万美元。

6.Filecoin第一轮太空竞赛将于9月15日早上5:59落下帷幕。

7.排名第28的匿名巨鲸以2.14美元费用转移了11230BTC。

8.NEM将于12月大规模更新诞生新链条Symbol(XYM)。

9.高盛前对冲基金经理将50%的资金用于投资比特币。[2020/9/14]

Arbitrum希望在本地可信环境中针对速度做优化执行,因为本地执行是常见情况。系统很少需要证明,但需要一直保持准备证明的状态。

金色沙龙 | 周期:cosmos跨链还是类似于早期的局域网:在今日举行的金色沙龙中,QuarkChain创始人周期表示,Cosmos作为初代的跨链标准,我觉得已经有了很多进展。但是,在一些方面,我们认为还可以完善。

1.跨链的安全性问题。因为每个链负责自己的安全,但是如果一个链(比如发行了一个资产的链)被攻击,导致资产被增发或者被回滚双花,可以导致其他链上拥有该链的资产受到危险。

2.跨链的效率。每笔跨交易都需要包括所有的proof信息(包括:块头和package),大大增加了跨链的成本。可以想像在计算机网络,两个节点,一个一个字节的发送业务数据,但是底层需要用大量额外的数据来打包(TCP+IP的报头40字节),这样效率是非常低的。怎么批量快速的证明跨链交易,我们认为是一个关键。

3.跨链的激励问题。我在ICS里面,没有看到中间者 (relayer)为什么会转发IBC数据的激励。这个也是一个难题。如果没有足够的激励的话,很有可能导致两个链发送的数据,但是没有relayer来传递数据。

总体而言,用计算机网络来作为对比的话,我认为cosmos跨链还是类似于早期的局域网(用集线器hub),解决了点对点的跨链问题。但是如果要上百,甚至上千的链都能够安全,有效,无缝的互联,我觉得还有相当长的一段路要走。[2020/4/29]

操作系统

Arbitrum使用2层操作系统ArbOS。ArbOS控制单独合约的执行,以将它们彼此隔离并跟踪它们的资源使用情况。

此外,上面这些功能是执行在2层的可信软件中,而不是像以太坊那样将可信添加到的1层网络搭建的强制规则中,这样参与者都会从2层较低的计算和存储成本中受益,而不是必须将这些资源成本作为1层EthBridge合约的一部分进行管理,增加成本。

Merkleize

任何依赖断言和争议解决(至少包括所有汇总协议)的2层协议都必须定义一个规则,用于对虚拟机的完整状态进行Merkle哈希。该规则必须是架构定义的一部分,因为它依赖于解决争议。

维护的Merkle哈希在需要重新计算时也需要保持有效。这会带来一些构建内存的影响。任何大型且可变的存储结构对于Merkleize来说都是较贵的,并且Merkleize的算法必须是架构规范的一部分。

AVM架构通过只有大小有限、不可变的内存对象(“元组”)来应对这一需求,这些对象可以通过引用包含其他元组。元组不能就地修改,但有一条指令可以复制带有修改的元组。这允许构建树结构,其行为类似于大型平面存储器。通过访问在内部使用元组的库,应用程序可以使用诸如大型平面数组、键值存储等功能。

元组的语义使得创建元组的循环结构变得不可能,因此 AVM 实现可以通过使用引用计数的、不可变的结构来安全地管理元组。每个元组值的哈希只需要计算一次,因为内容是不可变的。

代码点

代码的常规组织是存储指令的线性阵列,并需要保持指向下一条指令的程序计数器。使用这种传统方法,证明执行指令需要对数时间和空间,因为必须提供Merkle证明来证明当前PC下的指令。

AVM使用这种传统的执行方法,但它增加了一个功能,使证明和证明检查需要恒定的时间和空间。出于证明目的,“程序计数器”被替换为“当前代码点哈希”值,它是机器状态的一部分。

在正常执行中(当不需要证明时),实现通常只使用传统架构上的 PC 值。但是,当需要证明时,证明者可以使用查找表来获取与任何相关 PC 对应的代码点哈希值。

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

金星链

[0:46ms0-1:80ms