初步认识Arbitrum

  • 链创通
  • 更新于 2024-10-14 22:40
  • 阅读 471

layer2简介是独立的区块链,完整运行所有区块链的事情。基于layer1进行对自身的验证和结算,继承了高安全性。按照结构拆解sequencer定序器:接收用户的交易,会排序交易,把交易重新发送给全节点以及记录到layer1上面。如果新加入的节点就可以直接从layer1同步历史交易。

<!--StartFragment-->

 

layer2简介

是独立的区块链,完整运行所有区块链的事情。基于layer1进行对自身的验证和结算,继承了高安全性。

按照结构拆解

sequencer定序器:接收用户的交易,会排序交易,把交易重新发送给全节点以及记录到layer1上面。如果新加入的节点就可以直接从layer1同步历史交易。保证消息同步正确。

sequencer把消息发送到layer1,验证者也执行交易,需要从layer1上,有一个人认为结果是错误的,就可以从结果上去挑战他。这个步骤是在layer1上面进行的。

  n个L2的validator——》layer1《——sequencer定序器《——n个fullnode

按照合约的结构进行拆解

合约执行环境:

layer2 inbox contract对应sequencer,排序之后发送到的合约就是这个合约。

layer2 rollupcontract,validator把执行好的结果会发送到这个合约。然后会乐观的认为结果是正确的,如果是zk的话,会提交zkproof证明这个状态正确。如果是乐观rollup证明的话,就会默认正确,等待其他验证者挑战,如果其他验证者发起挑战,就会在layer1执行保证正确

layer2 outbox contract:记录layer1到layer2资金或者消息的转出,用户转出资金的时候需要确认你在layer2上面确实有资金,也会通过rollup contract读取状态,证明用户确实在layer2里面发起提款交易并成功提取到了layer1。

arbitrum交易速度为:

arbitrum orbit运行速度可加快至每区块0.1秒

主要三条链:

支持用rust开发合约

arbitrum nitro的技术栈

分为:

1、sequencing then deterministic executition

用户交易tx到达sequence,会先到先得的方式进行排序,排序好之后会有两个方式发送给其他节点,第一是sequencer feed方式,发送给全节点。第二是batch and compress ,这是发送给layer1.然后layer1就会发送到layer2 inbox contract进行记录。

第二个部分就是状态转移函数的一个过程。state transition function 与state交互

交易有三个部分:

软确认(1 sec):

订阅sequencer feed并执行状态转移函数

guarantee:如果sequencer feed正确,那最终结果就是正确的

确认(10 mins):

从L1读取batch,计算状态转移函数,等待L1最终确认。

guarantee:和L1最终性保持一致。

认证(7days)

等待L2块在L1上认证

仅用于L1合约

2、geth at the code

第一部分是node functionality :对外暴露的rpc函数,供用户使用layer2

第二部分arbos,是调度rpc请求放到 执行

第三部分核心地方,执行evm的地方

state transition function在第二部分和第三部分

3、separate execution from proving

执行和证明分开的。

节点会把三个部分都打包编译,compile to native ——》run as code

后面两个部分会用wasm编译速度更快 compile to wasm ——》use for proving

区块系统中有执行速度和验证速度。保证安全必须要执行速度<=验证速度

4、optimistic rollup

如果验证者结果不同,执行挑战就会在相同区块数内执行一个二分法,执行到2/n个blocks,中间状态。如果验证者同意了中间状态,那么说明问题出现在后半部分。那后半部分继续用二分法的方式去验证。如果验证不同意中间状态,那说明问题出在前面,所以循环找到问题。

当验证者找到问题指令后,会把指令发送到layer1,交给合约执行。由整个layer1验证者对其进行安全保证。

这就是为啥安全基于layer1的根本原因。

anytrust系统

 

  跟上面的对比就是多了个数据委员会。

 

 

arbiturm orbit

应用程序想更进一步,利用one和nova的技术退出自己专用的rollup 或者anytrust链,无需许可可以创建自己的区块链

部署

  技术架构:

可以将arbitrum rollup核心合约部署到L2或者ethereum

好处是:任意修改状态转换:账户抽象、加入各种加密算法支持、访问控制、其他改动

这是你的dapp的专有链,节约用户自身gas成本。

anytrust模式支持自定义代币作为gas费。

如何使用orbit sdk?参考github案例

state transition function

STF定义如何从输入消息(交易)生成新的区块。

STF由arbos和geth code两部分构成

下面不会影响STF:

添加新的rpc接口来查询多个块中的地址余额,不会修改stf,因为不会修改链上余额和块哈希

更改排序规则也不会影响stf,因为输入时是需要已经排序好的交易。

下面会影响STF:

 

stylus

支持wasm系统语言

计算能力提高70倍,效率提高1000倍

与evm完全组合性

开发内容:

docs.arbitrum.io

安装rust

推荐vscode、rust-analyzer拓展

hackquest

<https://www.staging.hackquest.io/learning-track>

部署测试

相关资源

<!--EndFragment-->

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
链创通
链创通
0x5312...1e69
歪脖山徒步虾