Arbitrum和Optimism是以太坊Layer2扩容的主要项目,因为两者是以Rollup为技术核心实现的二层扩容,符合以太坊未来发展方向。
但面对未来丰富的生态应用预期,需要一个虚拟机来实现可编辑能力。因为Rollp的技术核心,却让这个方向成为一个实现略难的技术需求,目前两者也限于虚拟机并不成熟。使得在这一层的可编辑能力有所限制。
今天本文中,我们将摘录资料来了解Arbitrum网络的虚拟机设计原理。
AVM设计的起点是基于以太坊虚拟机 (EVM),因为Arbitrum目标是高效地执行为EVM编写或编译的程序,所以Arbitrum并未更改EVM设计的绝大部分。例如,AVM采用EVM的数据类型以及对EVM整数进行的操作指令等。
金色午报|1月13日午间重要动态一览:7:00-12:00关键词:Coinbase、Simplify、数字英镑、OpenSea
1.美国两党议员呼吁商品期货交易委员会加强加密货币监管;
2.Coinbase将收购受到美国CFTC监管的衍生品交易所FairX;
3.Checkout.com完成10亿美元D轮融资,将加强Web3领域的扩张;
4.资产管理公司Simplify向美国SEC提交Web3 ETF申请;
5.英国上议院议员:数字英镑用于零售可能会损害金融稳定;
6.美国服装公司GAP将于Tezos上推出游戏化NFT;
7.全球最大的信用卡和借记卡暗网市场UniCC将于1月22日关闭;
8.OpenSea新增Watchlist功能。[2022/1/13 8:46:19]
这样看来,AVM和EVM之间的差异源于Arbitrum的layer2需求和Arbitrum的多轮挑战协议。
金色财经加入库币匹诺曹计划,打造加密资产征信系统:由库币发起,联合金色财经等全球21家知名区块链平台机构共同推出的“匹诺曹计划”今日正式启动。据悉,“匹诺曹计划”是为加密资产行业打造的中立化、具有公信力的不良行为揭露平台,通过建立加密资产征信系统,杜绝合作违约、非法集资、劣币驱逐良币等恶性商业行为的发生,为加密资产行业创造公平、公正、透明的商业环境。此外,“匹诺曹计划”将出台“匹诺曹指数”作为评判标准,并基于合法合规的情况下对评判结果进行公开披露。[2020/3/27]
执行与证明
与EVM架构不同,Arbitrum需要支持本地执行和受信证明。基于EVM的系统通过重新执行有争议的代码来解决争议,而Arbitrum依赖于形成最终证明的挑战协议解决争议。
金色晨讯 | 2月23日隔夜重要动态一览:21:00-7:00关键词:联盟链、USDT增发、被盗资产、区块链应用
1.区块链前沿科技联盟链等10余个重点项目将在杭州进行签约。
2.摩根大通报告:区块链被广泛应用仍需数年时间。
3.Tether新增发2000万枚USDT。
4.巨鲸账户“zhoujianfu”被盗资产少量已流入Bittrex交易所。
5.FCoin或自2018年12月开始出现经营危机 潜在受害者超2000人。
6.Weiss Ratings:加密货币将取代银行的功能。
7.范毅:鼓励建设区块链技术等基础平台 促进企业数字化转型。
8.尼日利亚、加纳分别位居比特币、区块链区域搜索热度首位。
9.比特币夜间窄幅震荡,最高涨至9693.87美元,最低跌至9589.94美元。[2020/2/23]
Arbitrum希望在本地可信环境中针对速度做优化执行,因为本地执行是常见情况。系统很少需要证明,但需要一直保持准备证明的状态。
操作系统
Arbitrum使用2层操作系统ArbOS。ArbOS控制单独合约的执行,以将它们彼此隔离并跟踪它们的资源使用情况。
此外,上面这些功能是执行在2层的可信软件中,而不是像以太坊那样将可信添加到的1层网络搭建的强制规则中,这样参与者都会从2层较低的计算和存储成本中受益,而不是必须将这些资源成本作为1层EthBridge合约的一部分进行管理,增加成本。
Merkleize
任何依赖断言和争议解决(至少包括所有汇总协议)的2层协议都必须定义一个规则,用于对虚拟机的完整状态进行Merkle哈希。该规则必须是架构定义的一部分,因为它依赖于解决争议。
维护的Merkle哈希在需要重新计算时也需要保持有效。这会带来一些构建内存的影响。任何大型且可变的存储结构对于Merkleize来说都是较贵的,并且Merkleize的算法必须是架构规范的一部分。
AVM架构通过只有大小有限、不可变的内存对象(“元组”)来应对这一需求,这些对象可以通过引用包含其他元组。元组不能就地修改,但有一条指令可以复制带有修改的元组。这允许构建树结构,其行为类似于大型平面存储器。通过访问在内部使用元组的库,应用程序可以使用诸如大型平面数组、键值存储等功能。
元组的语义使得创建元组的循环结构变得不可能,因此 AVM 实现可以通过使用引用计数的、不可变的结构来安全地管理元组。每个元组值的哈希只需要计算一次,因为内容是不可变的。
代码点
代码的常规组织是存储指令的线性阵列,并需要保持指向下一条指令的程序计数器。使用这种传统方法,证明执行指令需要对数时间和空间,因为必须提供Merkle证明来证明当前PC下的指令。
AVM使用这种传统的执行方法,但它增加了一个功能,使证明和证明检查需要恒定的时间和空间。出于证明目的,“程序计数器”被替换为“当前代码点哈希”值,它是机器状态的一部分。
在正常执行中(当不需要证明时),实现通常只使用传统架构上的 PC 值。但是,当需要证明时,证明者可以使用查找表来获取与任何相关 PC 对应的代码点哈希值。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。