diff --git a/317232.md b/317232.md index e33505d..7b3b899 100644 --- a/317232.md +++ b/317232.md @@ -98,5 +98,15 @@ Solidity快速入门总结: 4.将自动售货机的 Javascript 业务逻辑转换为**Solidity 智能合约**。 5.**将我们的智能合约部署**到 Hardhat 的本地开发网络,然后是 Arbitrum 的 Sepolia 测试网,然后是 Arbitrum One 主网。 +### 2024.12.13 +三.了解不同的 Arbitrum 链及其技术堆栈 + +**Arbitrum One**是一条第 2 层 (L2) 乐观汇总链,它实现 Arbitrum Rollup 协议并结算到以太坊的第 1 层 (L1) 链。它允许您构建高性能以太坊 dApp,具有低交易成本和以太坊级安全保证,无需引入额外的信任假设。这是通过Nitro技术堆栈实现的,这是一种“以 Geth 为核心”的架构,它为 Arbitrum One(和 Nova)提供了高级调用数据压缩、用于常见执行和故障证明的单独上下文、以太坊 L1 gas 兼容性等。 + +**Arbitrum Nova**是 Arbitrum One 链的高性能替代方案。Arbitrum One 实现了纯粹无需信任的 Rollup 协议,而 Arbitrum Nova 实现了几乎无需信任的AnyTrust协议。 + +**区别:** + +Arbitrum One 和 Arbitrum Nova 是专为实际使用而设计的生产链。它们连接到以太坊主网并处理真实、有价值的交易。它们都在底层使用 Arbitrum 的 Nitro 技术堆栈,但 Arbitrum One 实现了 Rollup 协议,而 Nova 实现了 AnyTrust 协议。Arbitrum One 专为一般用途而设计,为运行与以太坊兼容的智能合约提供了可扩展且经济高效的解决方案。另一方面,Arbitrum Nova 专为需要更高交易吞吐量且不需要 Rollup 提供的完全去中心化的应用程序而设计。 diff --git a/CHENFANGC.md b/CHENFANGC.md index 9f5c076..9553b95 100644 --- a/CHENFANGC.md +++ b/CHENFANGC.md @@ -74,4 +74,8 @@ timezone: Pacific/Auckland # 新西兰标准时间 (UTC+12) 阅读文档如何在 Arbitrum 中估算 Gas +### 2024.12.13 + +阅读文档[Rollup,ZK Rollups 与 Optimistic,Arbitrum 的区别](https://cloud.tencent.com/developer/news/1003179) + diff --git a/ChinesePaladin61.md b/ChinesePaladin61.md index 0ca00eb..2994d67 100644 --- a/ChinesePaladin61.md +++ b/ChinesePaladin61.md @@ -148,4 +148,14 @@ Rollup 的运行过程及细节? 过了挑战期后发现漏洞,但因为区块的不可篡改机制,系统默认状态根合法,如果设置抵押金,会让骗子的获利程度缩小,或者使用激励机制,让更多的人审查代码,确保交易合法,如果有漏洞也可以在挑战期内发现。 +### 2024.12.11 + +Arbitrum One + +Arbitrum One 是目前最广泛使用的 Arbitrum Rollup,前几天的知识点都是基于Arbitrum One的技术。 + +Arbitrum Nitro + + + diff --git a/Helen2022a.md b/Helen2022a.md index 19908ab..5bd2569 100644 --- a/Helen2022a.md +++ b/Helen2022a.md @@ -13,10 +13,15 @@ timezone: Asia/Shanghai -### 2024.12.10 +### 2024.12.13 -笔记内容 +Arbitrum是一种基于Optimistic Rollup技术的以太坊Layer2 扩展解决方案,旨在解决以太坊上的拥堵和高gas费问题。 + +Arbitrum是以太坊的辅助链。运行原理简单说就是Arbitrum 将很多交易一起打包,在Arbitrum链上先进行结算,然后再将交易数据提交给以太坊主链。 +Arbitrum采用了一种叫做Optimistic Rollup的技术,它可以将大量的交易打包成一个区块,并提交到以太坊主链上,只有在出现争议时才需要验证区块的正确性。这样可以大幅减少对以太坊主链的资源占用,提高交易吞吐量和速度。 + +ARB是Arbitrum网络的原生Token,采用的标准是以太坊ERC-20,是Arbitrum网络的治理和激励Token,主要用于奖励验证节点、参与网络治理等。 +ARB只是一个治理token,不用于支付Arbitrum链上的任何费用。目前,用户在Arbitrum链上交互支付的Gas费仍是ETH -### 2024.12.10 diff --git a/HeliosLz.md b/HeliosLz.md index 314b365..abe05c0 100644 --- a/HeliosLz.md +++ b/HeliosLz.md @@ -217,5 +217,36 @@ Arbitrum 是一个基于 Optimistic Rollups 的 L2 扩展方案,但它在以 4. 结果: * 如果挑战成功,全局状态 S1 被撤销,系统回滚到 S0,或者部分交易被重新验证。 -### 2024.12.12 +### 2024.12.13 +断言:在 Arbitrum 等基于 Optimistic Rollup 技术的系统中,断言(Assertion) 是验证者对某一交易或状态转换的声明或主张。简单来说,断言是验证者向主链提交的一种“保证”或“承诺”,它描述了某个区块或交易的初始状态和最终状态之间的关系。 + +**断言的作用:** +* 主链记录:Layer 2 的执行结果以断言的形式提交到主链,供其他验证者审查。 +* 性能优化:主链并不立即验证每个断言,而是假定它们是正确的,只有在有验证者提出挑战时才检查。 + +Arbitrum 的交互式欺诈证明机制通过引导争议双方在链下进行多轮交互,逐步缩小争议范围,最终在链上验证最小的争议单元,从而高效解决分歧,减轻主链负担。 + +![image](https://github.com/user-attachments/assets/7e6f4e7a-204a-4d57-99b0-a5252946c212) + +**Arbitrum One** + +Arbitrum One 是 Arbitrum 的首个主网,采用交互式欺诈证明机制来确保交易的正确性。其架构分为 Layer 1(以太坊主网)和 Layer 2(Arbitrum 链)两部分。在 Layer 1 上,EthBridge 作为一组以太坊合约,负责仲裁 Arbitrum Rollup 协议,并维护 Arbitrum 在以太坊链上的收件箱和发件箱。用户、Layer 1 合约和全节点可以通过这些收件箱和发件箱与 Arbitrum 链交互。在 Layer 2 上,Arbitrum 虚拟机(AVM)运行 ArbOS,确保智能合约的执行。 + +**Arbitrum Nitro** + +Arbitrum Nitro 是对 Arbitrum One 的技术栈升级,旨在降低费用、提高以太坊兼容性,并简化零知识证明。Nitro 的关键创新包括: +* 无需共识机制的证明程序:由于 Sequencer 的状态转移函数是公开的,任何人都可以根据已知的交易顺序计算状态转移结果,因此节点无需共识机制,只需获取交易序列并在本地运行即可。 +* 用 Go 语言重写的节点软件 Geth:通过直接编译 Geth 的核心,实现更高的以太坊兼容性。 +* 执行与证明的分离:将执行和证明分别用不同的代码实现,以提高执行速度和证明的可移植性。 +* 交互式欺诈证明的 Optimistic Rollup:采用多轮欺诈证明机制,通过二分查找找到引起分歧的操作码,并在链上执行该操作码以解决争议。 + +**Arbitrum Nova** + +Arbitrum Nova 基于 AnyTrust 技术,专为游戏、社交应用程序和对成本更敏感的用例设计。其特点包括: +* 数据可用性委员会:引入数据可用性委员会,将原本应存储在收件箱合约中的 calldata 数据转移到链下存储。委员会为批量交易签署数据可用性证书(DACerts),并将其上传到主网的收件箱合约,从而降低发送到主网的数据量。 +* 最小信任假设:委员会有 N 名成员,只需确保至少有 2 名成员是诚实的,即可保证 Rollup 协议的正常运行。 +* 数据发布方式:Nova 提供两种数据发布方式:一种是像 Nitro 一样以 calldata 的形式发布完整数据,另一种是发布 DACert 以证明数据的可用性。 + +通过这些设计,Arbitrum Nova 在一定程度上牺牲了去中心化特性,但相比其他侧链和采用 BFT 共识的链,仍具有较高的优势。 + diff --git a/Muyec.md b/Muyec.md index 602e8e7..fc0a597 100644 --- a/Muyec.md +++ b/Muyec.md @@ -84,4 +84,9 @@ timezone: Pacific/Auckland # 新西兰标准时间 (UTC+12) Nitro 与 Classic:Arbitrum Nitro 是对 Arbitrum Classic 技术栈的升级,代表了 Arbitrum 技术发展的最新一步。两者的目标相似,都是创建一个接近以太坊的执行环境,用以太坊的欺诈证明保证 L2 状态的安全性。但 Nitro 相比 Classic 有显著的改进。在 Classic 中,Arbitrum 使用定制的虚拟机(AVM)执行代码,而在 Nitro 中,采用了 WebAssembly(Wasm),并将 Go 代码编译为 Wasm,这使得 Arbitrum 的 L2 状态机(ArbOS)能够直接包含以太坊的 Geth 实现,从而提高了兼容性。Nitro 的架构选择带来了多方面的优势:更低的费用、更好的以太坊兼容性和系统简化。 +### 2024.12.13 + +Arbitrum Orbit 是一个开发框架,允许用户基于 Arbitrum Rollup 的 L2 创建和启动 L3 网络。Orbit 支持用户定制链功能,包括隐私、权限、费用代币和治理等,同时提供专用吞吐量、流量隔离以及可靠的 Gas 价格,适合特定领域的快速机制设计与迭代,帮助实现更多的价值捕获。 +XAI 是基于 Arbitrum Orbit 的首个 L3,定位为专注游戏场景的链,相较于 Nova 通用链,XAI 能够提供更高的性能。它具备专属的计算和存储资源,适合计算密集型场景(如 AI 模型)。同时,XAI 原生集成了 Arbitrum 技术栈,包括 Nitro、BOLD 和 Stylus。 +Nitro 是 Arbitrum 的核心技术栈之一,通过直接编译 Geth 核心,显著提升了以太坊的兼容性和性能。这一升级使得 Orbit 链能够以更高效的方式运行,进一步优化用户体验。 diff --git a/README.md b/README.md index fedd50c..b7e3305 100644 --- a/README.md +++ b/README.md @@ -162,41 +162,41 @@ Telegram:[Arbitrum 残酷共学](https://t.me/LXDAO/15575) | Name | 12.10 | 12.11 | 12.12 | 12.13 | 12.14 | 12.15 | 12.16 | 12.17 | 12.18 | 12.19 | 12.20 | 12.21 | 12.22 | 12.23 | 12.24 | 12.25 | 12.26 | 12.27 | 12.28 | 12.29 | 12.30 | | ------------- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | -| Yi-fantasy | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| onthebigtree | ✅ | ⭕️ | | | | | | | | | | | | | | | | | | | | +| Yi-fantasy | ✅ | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | +| onthebigtree | ✅ | ⭕️ | ⭕️ | | | | | | | | | | | | | | | | | | | | Soleil-YSY | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | | -| jiejie | ⭕️ | ⭕️ | | | | | | | | | | | | | | | | | | | | -| StarryDesert | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| a-super-cat | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| pillowtalk-Qy | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| hechichu | ✅ | ✅ | | | | | | | | | | | | | | | | | | | | -| nocb | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| ChinesePaladin61 | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| jjeejj | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| happylucie | ⭕️ | ⭕️ | | | | | | | | | | | | | | | | | | | | -| Rey666666 | ✅ | ✅ | | | | | | | | | | | | | | | | | | | | -| CHENFANGC | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| Muyec | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| YuanboXie | ⭕️ | ⭕️ | | | | | | | | | | | | | | | | | | | | -| JacksonStack | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| Helen2022a | ⭕️ | ⭕️ | | | | | | | | | | | | | | | | | | | | -| stualan | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| fuhaooo | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| pliker-git | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| noyyyy | ✅ | ⭕️ | | | | | | | | | | | | | | | | | | | | -| NSXX2021 | ⭕️ | ⭕️ | | | | | | | | | | | | | | | | | | | | -| 317232 | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| Marcus | ⭕️ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| yuhui | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| HenryWei | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| missingtheway | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| iavl | ⭕️ | ⭕️ | | | | | | | | | | | | | | | | | | | | -| HeliosLz | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| linyuanye3 | ✅ | ⭕️ | ✅ | | | | | | | | | | | | | | | | | | | -| joyc | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | -| CornellZheng | ✅ | ⭕️ | | | | | | | | | | | | | | | | | | | | -| YOUKUAIHAOMUTOU | ✅ | ✅ | | | | | | | | | | | | | | | | | | | | -| wodeche | ✅ | ⭕️ | | | | | | | | | | | | | | | | | | | | +| jiejie | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | | +| StarryDesert | ✅ | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | +| a-super-cat | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | +| pillowtalk-Qy | ✅ | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | +| hechichu | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | +| nocb | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | +| ChinesePaladin61 | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | +| jjeejj | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | +| happylucie | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | | +| Rey666666 | ✅ | ✅ | ⭕️ | | | | | | | | | | | | | | | | | | | +| CHENFANGC | ✅ | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | +| Muyec | ✅ | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | +| YuanboXie | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | | +| JacksonStack | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | +| Helen2022a | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | | +| stualan | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | +| fuhaooo | ✅ | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | +| pliker-git | ✅ | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | +| noyyyy | ✅ | ⭕️ | ⭕️ | | | | | | | | | | | | | | | | | | | +| NSXX2021 | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | | +| 317232 | ✅ | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | +| Marcus | ⭕️ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | +| yuhui | ✅ | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | +| HenryWei | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | | +| missingtheway | ✅ | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | +| iavl | ⭕️ | ⭕️ | ❌ | | | | | | | | | | | | | | | | | | | +| HeliosLz | ✅ | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | +| linyuanye3 | ✅ | ⭕️ | ✅ | | | | | | | | | | | | | | | | | | | +| joyc | ✅ | ✅ | ✅ | ✅ | | | | | | | | | | | | | | | | | | +| CornellZheng | ✅ | ⭕️ | ⭕️ | | | | | | | | | | | | | | | | | | | +| YOUKUAIHAOMUTOU | ✅ | ✅ | ⭕️ | | | | | | | | | | | | | | | | | | | +| wodeche | ✅ | ⭕️ | ⭕️ | | | | | | | | | | | | | | | | | | | @@ -218,6 +218,25 @@ Telegram:[Arbitrum 残酷共学](https://t.me/LXDAO/15575) + + + + + + + + + + + + + + + + + + + diff --git a/StarryDesert.md b/StarryDesert.md index da84555..5b59fde 100644 --- a/StarryDesert.md +++ b/StarryDesert.md @@ -135,4 +135,26 @@ Arbitrum是一种基于以太坊(Ethereum)的Layer 2扩容解决方案,旨 ### 2024.12.13 +笔记内容 + +#### **Arbitrum One** + +Arbitrum One是Arbitrum的第一个版本,其架构部分在L1(以太坊主网),部分在L2(Arbitrum链)。它使用EthBridge来仲裁Arbitrum Rollup协议,并维护Arbitrum Rollup在以太坊链上的收件箱和发件箱。用户可以通过以太坊链上的收件箱和发件箱将交易发送至Arbitrum链,并观察这些交易的结果。Arbitrum虚拟机(AVM)是EthBridge提供的功能,是L1和L2之间的网关。 + +#### **Nitro** + +Nitro是Arbitrum One的技术栈升级,它的费用更低、以太坊兼容性更好以及zk证明更简洁。Nitro采用多轮欺诈证明,通过证明者和验证者之间的多轮交互来确保系统的安全性和正确性。Nitro还采用了用Go语言重写的节点软件Geth,实现了以太坊高度兼容。Nitro的证明系统是交互式欺诈证明,通过二分查找找到引起分歧的那个区块的第一个操作码。 + +#### **Nova** + +Nova是基于AnyTrust技术搭建的新链,专为游戏、社交应用程序和对成本更敏感的用例而设计。Nova提供了两种数据发布方式,一种是像Nitro一样以Calldata的形式发布完整数据,另一种是发布DACert证明数据的可用性。Nova的定序器将完整的数据集同时发送给所有DAC委员会的成员,委员会签名后把带有签名的证明返回给定序器,定序器收集到足够多的证明就能将它们聚合并创建有效的数据可用性证明(DACert),然后把DACert发布到主网。如果定序器没有收集到足够多的证明,Nova会回退到Rollup模式(以Calldata形式发布数据到主网)。 + +#### **AnyTrust** + +AnyTrust是Arbitrum扩容方案最初的构想,是Arbitrum Nitro的技术变式。它通过最小信任假设来降低calldata的交易成本,依靠外部数据可用性委员会来存储数据并按需提供。AnyTrust与Rollup的区别在于AnyTrust引入了数据可用性委员会,将原本应该存储在inbox合约中的calldata数据转移到链下的数据可用性委员会存储。 + +#### **Arbitrum L3战略** + +Arbitrum团队推出了Arbitrum Orbit,一个开发框架,允许用户使用任何基于Arbitrum Rollup的L2网络作为结算层来创建和启动L3网络。Arbitrum Orbit允许用户在隐私、权限、费用代币、治理等方面定制自己的链。基于Arbitrum Orbit,Arbitrum团队推出了XAI,一个游戏专用L3网络,拥有专用的计算和存储资源。XAI将原生受益于Arbitrum的技术堆栈:Nitro+BOLD+Stylus。 + diff --git a/YOUKUAIHAOMUTOU.md b/YOUKUAIHAOMUTOU.md index e877bb7..951c0bd 100644 --- a/YOUKUAIHAOMUTOU.md +++ b/YOUKUAIHAOMUTOU.md @@ -71,4 +71,7 @@ timezone: Pacific/Auckland # 新西兰标准时间 (UTC+12) 今天的学习内容其实还没有完成。但是先厚着脸皮打下卡。 明天继续。 +### 2024.12.13 +打卡打卡 + diff --git a/Yi-fantasy.md b/Yi-fantasy.md index 40b906a..3b90c6e 100644 --- a/Yi-fantasy.md +++ b/Yi-fantasy.md @@ -218,4 +218,46 @@ Yi > >Nitro 用 Wasm 作为 L2 的虚拟机,可以用高级语言进行编写合约,代码要精炼、简单很多,开发成本更低,安全性也更加有保障 +### 2024.12.13 + +>AnyTrust: +> +>AnyTrust 是 Nitro 的技术变式,它通过最小信任假设来降低交易成本,依靠链下数据可用性委员会来存储数据和证明欺诈 +> +> +> +>数据可用性委员会: +> +>AnyTrust 模式下,用户将交易发布到 Sequencer 之后,Sequencer 会将数据发到链下委员会存储,委员会将为批量的交易数据签署可用性证书(DACerts),只有 DACerts 会被上传到主网的 inbox 合约,进一步降低了发送到主网的数据大小。而且委员会公开了查询接口,允许通过证书的 Hash 获取数据批次。 +> +>当需要获取交易数据的时候,从 inbox 合约中获取上传的 hash 值,通过查询接口,就可查询到交易数据。Anytrust 方案在一定程度上牺牲了去中心化特性(也牺牲了一定安全性),依赖中心化组织保证数据的正确性 +> +> +> +>Nova: +> +>Nova 是基于 AnyTrust 技术搭建的新链,专为游戏、社交应用程序这种对成本和性能更敏感的应用而设计。 Nova 支持了 2 种数据发布方式,一种是以 Calldata 的形式发布完整数据,一种是发布 DACert 的方式。 +> +>Nova 的定序器将完整的数据集同时发送给所有 DAC 委员会的成员,委员会签名后把带有签名的证明返回给定序器,定序器收集到足够多的证明就能将它们聚合并创建有效的数据可用性证明(DACert),然后把 DACert 发布到主网。如果定序器没有收集到足够多的证明,Nova 会回退到 Rollup 模式(以 Calldata 形式发布数据到主网)。 + +>Orbit: +> +>Orbit 是一个开发框架,允许用户使用任何基于 Arbitrum Rollup 的 L2 网络作为结算层来创建和启动 L3 网络。借助 Arbitrum Orbit,用户可以在隐私、权限、费用代币、治理等方面定制自己的链。(L3 使得链上资源密集型应用成为可能。) +> +> +> +>BOLD: +> +>BOLD 是 Arbitrum 团队提出的无需许可验证机制,目的是最小化结算状态的延迟。 +> +>目前对于乐观 Rollup 而言,普遍存在一周的挑战期,用户从 L2 提现到 L1 要等一周;挑战期内验证者如果发现提交上来的 L2 交易有问题,可以发起挑战。 +> +>通过引入 BOLD 机制,一方面能实现验证的无需许可,更符合区块链去中心化的理念;另一方面,能实现最小化结算状态的延迟。BOLD 允许单个诚实的验证者在以太坊上与任意数量的对手进行争议时取胜,从而使 DDOS 攻击失效。 +> +> +> +>Stylus: +> +>简言之,开发人员在 Arbitrum 上既能使用传统 Solidity 语言,又能使用 WASM 兼容的语言,如 Rust、C 和 C++ 等来构建应用程序。此外,Stylus 使 Dapps 的执行更加高效,显著地降低了 gas 成本。 + diff --git a/fuhaooo.md b/fuhaooo.md index ff3c884..2f0f45a 100644 --- a/fuhaooo.md +++ b/fuhaooo.md @@ -101,8 +101,14 @@ Arbitrum 采用了 Optimistic Rollup 技术,通过将大量交易打包(Roll ### 4. Rollup 概念概述 Rollup 是一种二层扩展解决方案,旨在提高区块链的可扩展性和性能,特别是在以太坊等区块链上。通过将大量交易和计算工作“卷起”并批量处理,这些交易的执行和数据存储仍然依赖于主链(如以太坊),但通过将交易的计算和存储从主链转移到二层,显著提高了交易吞吐量和降低了费用。 +原理: +- 成本优化:将⼤部分运算与存储任务移交至L1链下也即L2上。 +- 安全保障:L2上的交易内容与交易后的状态,会同步⾄以太坊L1,通过合约来校验 状态转换的有效性。 + Rollup 的核心概念是将交易数据打包到主链之外进行处理,但通过机制保证数据的完整性和安全性。这使得它可以提供和主链一样高的安全性,同时大幅提高处理速度和降低成本。常见的 Rollup 类型包括 Optimistic Rollups 和 ZK-Rollups +防止Rollup排序器作恶的状态校验⽅式,分为欺诈证明(Fraud Proof)和有效性证明(Validity Proof)两类。使⽤欺诈证明的Rollup⽅案称为OP Rollup(Optimistic Rollup,OPR),⽽因为一些历史包袱,使⽤有效性证明的Rollup往往被称为ZK Rollup(Zero-knowledge Proof Rollup,ZKR),而不是Validity Rollup。 + ### 5. Fraud Proofs 欺诈证明机制 欺诈证明机制 是在 Optimistic Rollups 中用来确保二层链正确性的机制之一。在这种模型下,交易的执行被假定是有效的,直到有人提出异议(即“挑战”)。这种机制可以通过以下步骤工作: @@ -115,4 +121,46 @@ Rollup 的核心概念是将交易数据打包到主链之外进行处理,但 - 欺诈证明的验证:当有人提出欺诈证明时,网络会进行审查,验证该交易是否真正无效。如果证明成功,恶意或无效的交易会被回滚,相关提交的交易也会被撤销。 - 奖励和惩罚:提出有效欺诈证明的挑战者会获得奖励,而那些提交无效交易的节点(比如欺诈者)则会受到惩罚。惩罚通常是扣除抵押金,或者其他形式的经济惩罚。 + +### 2024.12.13 +### 6. Zero-Knowledge Proof 零知识证明机制 +零知识证明(简称 ZKP)是一种密码学方法,允许一方(证明者)向另一方(验证者)证明某个声明是真实的,而无需透露任何与该声明相关的具体信息。自20世纪80年代首次提出以来,零知识证明在隐私保护、身份验证、区块链技术等多个领域得到了广泛应用和深入研究。 + +零知识证明是一种协议,满足以下三个核心属性: +- 完备性(Completeness):如果声明为真,诚实的验证者将在协议结束时被说服。 +- 可靠性(Soundness):如果声明为假,恶意的证明者无法说服诚实的验证者,除非以极低的概率。 +- 零知识性(Zero-Knowledge):如果声明为真,验证者不会学到任何除了声明为真之外的其他信息。 + +### 7、Rollup 协议 +欺诈证明虽然不能像零知识证明那样具有⾼度的简洁性,但Arbitrum使⽤了⼀种“多轮分割-单步证明”的轮流式交互流程,最终需要证明的仅仅是单⼀的虚拟机操作码,成本相对较⼩。 + +Rollup协议的核心合约是RollupProxy.sol,在保证数据结构一致的情况下,使用了一个罕见的双重代理结构,一个代理对应两个实现RollupUserLogic.sol和RollupAdminLogic.sol,在Scan等工具中目前还无法很好的解析。 + +另外还有ChallengeManager.sol合约负责管理挑战,OneStepProver系列合约来判定欺诈证明。 +![image](https://github.com/user-attachments/assets/a021e2c0-a0df-4125-912c-0fc22d246028) + +ChallengeManager合约负责验证对挑战步骤的细分过程: + +1.细分是一个双方轮流互动的过程,一方对某个Rollup Block中包含的历史数据进行分段,另一方指出是哪部分数据片段有问题。类似于二分法(实际是N/K)不断渐进缩小范围的一个过程。 + +2.之后,可以继续定位至哪条交易及结果有问题,再进一步细分至该交易中有争议的某条机器指令。 + +3.ChallengeManager合约只检查对原始数据进行细分后,产生的『数据片段』是否有效。 + +4.当挑战者和被挑战者定位到了将被挑战的那条机器指令后,挑战者调用oneStepProveExecution(),发送单步欺诈证明,证明这条机器指令的执行结果有问题。 + +### 8、单步证明 +单步证明是整个Arbitrum的欺诈证明的核心。WAVM,Wasm Arbitrum Virtual Machine,它是一个由ArbOS模块和Geth(以太坊客户端)核心模块共同编译成的虚拟机。由于L2与L1有许多截然不同的地方,原始的Geth核心必须经过轻量修改,并且配合ArbOS一起工作。所以,L2上的状态转换其实是ArbOS+Geth Core的共同手笔。 +![image](https://github.com/user-attachments/assets/095379f9-7565-4401-bf78-0be0a7d38d71) + +Arbitrum的节点客户端(排序器、验证者、全节点等),是将上述ArbOS+Geth Core处理的程序,编译为节点主机能直接处理的原生机器代码(for x86/ARM/PC/Mac/etc.)。 + +如果把编译后得到的目标语言更改为Wasm,就得到了验证者生成欺诈证明时使用的WAVM,而验证单步证明的合约上,模拟的也是WAVM虚拟机的功能。 + +那为什么在生成欺诈证明时,要编译为Wasm字节码?主要还是因为,验证单步欺诈证明的合约,要用以太坊智能合约模拟出 能处理某套指令集的虚拟机VM,而WASM易于在合约上实现模拟。 +![image](https://github.com/user-attachments/assets/149c286b-e139-46e5-b715-9c81820c68a7) + +但WASM相比于Native机器代码,运行速度略慢,所以只有在欺诈证明生成及验证的时候,Arbitrum的节点/合约才会用到WAVM。 + +在之前的多轮互动细分后,单步证明最终证明的是WAVM指令集中的单步指令。 diff --git a/hechichu.md b/hechichu.md index 7998b21..3fa291a 100644 --- a/hechichu.md +++ b/hechichu.md @@ -219,4 +219,73 @@ Arbitrum 是一套以太坊扩容解决方案,旨在简化去中心化应用 - **DAO 文档** - 支持 Arbitrum DAO 成员的文档。 +### 2024.12.12 +### Rollup 学习笔记 + +**1. 什么是 Rollup** + +Rollup 的核心是“归纳整理”,目的是缓解以太坊网络拥堵、提高 TPS(每秒交易量)并降低 Gas 费用。它的工作原理是将以太坊上的计算任务转移到 Layer 2 层协议进行处理,将计算结果压缩后再返回以太坊主网。 + +Rollup 类比: +就像节假日景区的排队问题,平日直接排队效率较低,但节假日通过可信赖的代表来集中处理问题,可显著提升效率。 + +主要作用: +- 将大量交易签名压缩成一个“VIP”签名块。 +- 提升以太坊网络的吞吐量与运行效率。 +- 同时保留链上部分数据以保障安全性。 + +Rollup 的两种主要实现方式为 **ZK Rollups** 和 **Optimistic Rollups**,它们分别有不同的特点和应用场景。 + +--- + +**2. 什么是 ZK Rollups** + +**ZK Rollups** 利用零知识证明技术(ZK-SNARK),通过 Layer 2 验证者进行交易真实性认证,并将结果压缩后返回以太坊。 + +ZK 的四大特点: +1. **Zero Knowledge**:无需查看完整交易数据即可验证交易。 +2. **Succinct**:认证过程简洁高效。 +3. **Non-Interactive**:验证无需交互。 +4. **Argument of Knowledge**:确保数据的真实性和正确性。 + +**优点**: +- 验证速度快,可快速将 Layer 2 的资产转回 Layer 1。 +- 适合支付、银行和交易所等快速结算业务。 + +**缺点**: +- 算法复杂,对开发者有较高的技术门槛。 + +--- + +**3. 什么是 Optimistic Rollups** + +**Optimistic Rollups** 采取“乐观假设”的方式,默认所有交易都是可信的,并由验证者通过奖惩机制发现和处理异常。 + +工作原理: +验证者需要质押代币作为保证金,若其他验证者发现问题,可通过欺诈证明对其进行罚款。 + +**优点**: +- 开发友好,适合迁移原本在 Layer 1 的 Dapp 项目。 +- 具有智能合约功能,可通过相应的治理代币进行治理。 + +**缺点**: +- 从 Layer 2 提币到 Layer 1 速度较慢(通常需要 1 周以上)。 +- 存在验证者作恶的潜在风险。 + +--- + +**4. 什么是 Arbitrum** + +Arbitrum 是基于 Optimistic Rollups 的 Layer 2 协议项目,目前 TVL(总锁仓价值)位居前列。与 Optimism 项目相比,Arbitrum 采用多轮欺诈证明,更加高效,并且具有自己的虚拟机,增强了与以太坊网络的兼容性。 + +--- + +**总结**: +- **Rollup**:通过将任务“外包”给 Layer 2,提升以太坊运行效率。 +- **ZK Rollups**:基于零知识证明算法,适合支付类业务,验证速度快但算法复杂。 +- **Optimistic Rollups**:通过默认信任和奖惩机制,适合 Dapp 和 DeFi 项目,提币速度较慢。 +- **Optimism 和 Arbitrum**:两者都属于基于 Optimistic Rollups 的协议项目,适配不同场景需求。 +- **ZKSync**:基于 ZK Rollups 的典型项目之一。 + +ZK Rollups 未来潜力大,但目前 Optimistic Rollups 更适合 Dapp 生态发展。 diff --git a/joyc.md b/joyc.md index a9702e0..f690773 100644 --- a/joyc.md +++ b/joyc.md @@ -192,6 +192,43 @@ Arbitrum 的欺诈证明机制是一个复杂而精妙的系统,它通过多 +### 2024.12.13 +> [!NOTE] +> Arbitrum [交互式欺诈证明](https://medium.com/offchainlabs/interactive-fraud-proofs-arbitrums-secret-sauce-debc3b019418) +#### 交互式欺诈证明的原理 + +交互式欺诈证明的核心思想在于,**不在链上执行所有的计算,而是仅在出现争议时才进行验证,并且通过多轮交互,逐步缩小争议范围,最终只在链上执行最少量的必要计算。** 这是一种“按需验证”的模式,极大地提升了效率。 + +传统的欺诈证明可能需要在链上重新执行整个计算过程以验证结果,这非常耗费资源。而交互式欺诈证明通过“挑战-回应”的机制,将复杂的计算验证过程分解为一系列简单的步骤,每次只在链上执行一部分,从而大幅降低了以太坊主链的负担。 + +**关键概念:** + +* **链下执行:** 大部分计算在链下进行,速度快且成本低。 +* **争议:** 当有人认为链下计算的结果不正确时,会发起争议。 +* **二分搜索:** 争议发起后,双方会逐步将争议范围缩小,类似于二分查找算法,每一次交互都将争议范围减半。 +* **链上验证:** 只有在争议范围被缩小到最小后,才在链上执行最终的、极小部分的计算进行验证。 + +#### 交互式欺诈证明的执行步骤 + +1. **链下计算:** 验证器(Validator)在链下执行智能合约,并生成一个状态承诺(State Commitment),即计算结果的摘要,并将其提交到以太坊主链。 +2. **争议发起:** 如果有人(挑战者)认为验证器提交的状态承诺不正确,则会发起争议(Challenge)。 +3. **二分交互(多轮):** + * **初始挑战:** 挑战者指出验证器提交的状态承诺的哪个部分可能有错误。 + * **范围缩小:** 验证器回应,提供更多关于计算过程的细节,缩小有争议的计算范围。 + * **反复迭代:** 挑战者和验证器之间会进行多轮交互,双方轮流指出或解释计算过程中的细节,不断缩小争议范围。 + * **关键点:** 每一次交互都将有争议的计算范围减半,直到最后只剩下一个最小的计算步骤。 +4. **链上验证:** 最终,争议被缩小到一个非常具体的计算步骤,这部分计算将被放在以太坊主链上执行,以确定是否真的存在欺诈。 +5. **仲裁:** 如果链上执行结果与验证器声称的结果不符,则判定验证器存在欺诈,并将惩罚该验证器。如果链上执行结果与验证器声称的结果一致,则判定挑战者存在错误,并惩罚挑战者。 + +**比喻:** + +这个过程类似剪刀石头布游戏: + +* **验证器:** 就像玩家“宣称”自己出了剪刀,但实际上可能出了石头。 +* **挑战者:** 就像玩家质疑对方“宣称”的结果,并试图找出对方作弊的证据。 +* **二分交互:** 双方在游戏的过程中会不断地“试探”,逐步暴露双方的策略,最终将作弊的可能性缩小到最小。 + +通过这种多轮交互,Arbitrum 能够在保持以太坊安全性的前提下,大幅提高交易速度和降低交易成本。 diff --git a/missingtheway.md b/missingtheway.md index aa11908..886f92f 100644 --- a/missingtheway.md +++ b/missingtheway.md @@ -118,4 +118,6 @@ RollUp 扩容可以概括为两点: **成本优化:**其运行在单台服务器上,效率得到了大大提高,降低了交易成本。 **安全保障:**其将交易过程及交易完成后的状态都同步到了L1链,其可以通过只能合约来校验状态的有效性。同时以太坊中还会保存L2中的历史记录,即使 Sequencer 宕机也可以还原出完整的交易记录。 +### 2024.12.13 +今天阅读了《前Arbitrum技术大使解读Arbitrum的组件结构》的两篇文章,让我对RollUp的ChallengeManager机制,和OP RollUp有了更深层次的理解,今天由于时间问题先暂时不写总结了,明天阅读原生文档后再行补充。 diff --git a/pillowtalk-Qy.md b/pillowtalk-Qy.md index 3475b4e..7afa162 100644 --- a/pillowtalk-Qy.md +++ b/pillowtalk-Qy.md @@ -93,7 +93,9 @@ timezone: Pacific/Auckland # 新西兰标准时间 (UTC+12) ### 2024.12.13 -笔记内容 +1.ZK Rollups, ZKSnark 或者叫Zero Knowledge Rollups,顾名思义,通过零知识证明验证来进行Rollups环节。 零知识证明,也是区块链公链项目Algorand的创始人Silvio Micali在密码学的主要贡献之一。 +2.Zero Knowledge: 验证者无需看到交易所有数据,Succinct: 言简意赅的,简练的,Non-Interactive: 无需知道验证者是谁,Argument of Knowledge: 证明交易的真实性与正确性。 +3.Optimistic的方法如其名字的意思:乐观的,开始认为所有发送的交易都是值得信赖认证过的。Layer 2验证者需要先质押Token作为保证金,如果验证过程中,别人发现了有问题的打包,那么该验证者(Sequencer)将被罚款部分Token,并把其作为奖励给与发现问题的人。每次数据打包后,会有验证期,以供其他验证者检查是否有问题,是否需要重新退回打包。Optimistic Rollups也具有智能合约功能,可以拥有相应的治理Token, ### 2024.12.13 diff --git a/pliker-git.md b/pliker-git.md index 3dbfd33..06f55d9 100644 --- a/pliker-git.md +++ b/pliker-git.md @@ -48,4 +48,13 @@ timezone: Asia/Shanghai 4.Arbitrum目前AIP 运作机制是先论坛,再 snapshot、再 tally ### 2024.12.12 +### 2024.12.13 +笔记内容 +1.Arbitrum 是第 2 层 (L2) 以太坊扩展解决方案,具有两个通用的 optimistic rolluups。Arbitrum One 是旗舰 rollup,推动了生态系统的大部分采用,而 Arbitrum Nova 是为高吞吐量应用程序构建的较新 rollup。 +2.Offchain Labs 是 Arbitrum 技术的开发公司,负责设计、开发和运营 Arbitrum 网络。Arbitrum 是一个基于以太坊的二层(Layer 2)扩展解决方案,旨在通过 Rollup 技术(特别是 Optimistic Rollup)提高以太坊网络的可扩展性和降低交易成本。 +3.Arbitrum 的治理模式从 Offchain Labs 的主导逐渐过渡到由 ArbitrumDAO 社区管理。这种去中心化治理是 Offchain Labs 的设计目标之一,符合区块链技术的去中心化理念。 +4.ArbitrumDAO 的独立性使得社区能够在必要时限制或拒绝 Offchain Labs 的提案,确保网络的去中心化治理。 +5.在目前的 ArbitrumDAO 结构中,Offchain Labs 并没有直接的替代者,因为它仍然是技术支持和开发的核心力量。然而,DAO 的设计理念是去中心化,理论上允许社区逐步培养新的技术团队,通过提案、投票和资金支持,将 Offchain Labs 的角色分散化甚至替代。 +### 2024.12.13 + diff --git a/wimawang b/wimawang index 423faf0..740c867 100644 --- a/wimawang +++ b/wimawang @@ -119,6 +119,8 @@ Arbitrum represents a significant advancement in Ethereum’s scalability and us Till SDK. https://docs.arbitrum.io/sdk/introduction ### 2024.12.11 - +### 2024.12.11 +Till Stylus. https://docs.arbitrum.io/stylus/stylus-overview +### 2024.12.11 diff --git a/yuhui.md b/yuhui.md index f19c259..2bf867c 100644 --- a/yuhui.md +++ b/yuhui.md @@ -76,4 +76,6 @@ Rollup 的安全性依赖于主链,其链下计算结果会通过特定的机 如果质疑不成立,挑战者的行为被视为恶意挑衅,其质押资金可能会被罚没。 最终确认状态 争议窗口期结束后,没有质疑或质疑失败的交易结果会被最终确认,并记录在主链上,成为不可更改的区块链历史。 +### 2024.12.13 +欺诈证明机制的优势1.资源高效 欺诈证明机制减少了主链的计算和存储负担,因为只有在发生质疑时才需要主链参与验证,而大部分交易无需实时验证。2.去中心化与安全性 系统依赖于多个节点的监督,确保任何一方试图提交错误数据都可能被其他节点发现并纠正。主链作为最终的仲裁者,维护了系统的去中心化和安全性。3.经济激励机制 验证者和挑战者都需要质押资金,这种经济激励机制确保参与者有动力提供正确的数据,同时抑制恶意行为。