alpha+test
原文标题:Reth AlphaNet
原文作者:Georgios Konstantopoulos
原文来源:paradigm
编译:Kate, 火星财经
今天,我们很高兴开源Reth AlphaNet,这是一个与OP Stack兼容的测试网络,旨在最大限度地提高Reth性能,并实现前沿以太坊研究的实验。
通过这篇文章,我们希望开发人员能够通过实验、性能优化来为AlphaNet做出贡献和构建,并与我们一起推动以太坊系统研究、工程和工具的前沿。
什么是Reth AlphaNet?
Reth AlphaNet是OP Reth Rollup,具有以下特点:
• Testnet:这是一个测试网rollup,不持有真正有价值的资产。
如果我们想要引入重大更改,我们可以定期重置它。
我们对完全重置或跨重置迁移一些状态持开放态度。
• 实验:它最初配备了3个EIP,这些EIP在撰写本文时在任何其他网络中都不可用:
EIP-3074: AUTH和AUTHCALL指令(源代码)。
EIP-7212:预编译secp256r1曲线支持(源代码)。
EIP-2537:预编译BLS12-381曲线操作(源代码)。
• 高性能:它的目标是突破千兆大关(每秒1千兆),并正面应对状态增长问题。
Reth 在 alpha.13 版本(2023 年 12 月 4 日)上的基准测试为每秒 100-200 兆加气,用于“实时同步”(包括发送方恢复、执行、哈希和尝试),在具有快速 SSD 的 16 核 @ 3.1GHz、512GB RAM 机器上以每秒 1-3 千兆加的速度进行“历史同步”(仅执行)。
我们目前处于 beta.5 阶段(2024 年 4 月 3 日),自原始基准测试以来,我们合并了多项优化。
我们邀请社区来审查基准测试,并帮助我们进一步对代码进行压力测试。
放大:
1AlphaNet 通过Node Optimism实现了OP Stack标准的Ecotone硬分叉。
2桥接进和桥接出rollup的工作原理与stock OP Stack相同。存款和取款延迟将处于较低端,针对希望在钱包、区块浏览器和其他基础设施中进行端到端测试桥接流程的开发人员进行了优化。
3我们对AlphaNet 应该使用什么样的数据可用性机制没有明确的看法。我们将从blobs和calldata开始,并最终探索基于费用的跨多个数据可用性层的多路复用。我们也在关注OP Plasma。
整个代码库少于1500行Rust代码(LoC),包括测试:
AlphaNet 现在在 Apache/MIT 许可下开源,任何人都可以分叉、修改或启动。
什么是Reth SDK?
AlphaNet 建立在Reth之上,而不是分叉。
我们对Reth的最初设想不仅将其描述为一个节点,还将其描述为一个软件开发工具包(SDK),作为构建以EVM为中心的基础设施的乐高积木。
分叉节点非常脆弱,很难在整个生态系统中传播更新,并且很难重新建立大型功能分支。这也意味着缺乏关于代码更改发生位置的原则。
Reth SDK是构建节点的新范例,专门为定制和以rollup为中心的路线图而构建。
AlphaNet实现了由Reth SDK的Reth节点构建器API提供的特性,允许在不分叉节点的情况下进行极端定制。这与节点的原始架构密切相关,该架构分离关注点,并允许将交易池或RPC等组件作为单独的进程运行。Reth SDK使用Rust的高级类型系统和清晰的抽象将其更进一步。
这里有一些你可以在节点上做的修改示例:
1自定义RPC:增加额外的RPC方法和名称空间。
2自定义EVM:覆盖EVM的预编译器、指令等。
3自定义块生成器:使用您自己的订单流或自定义内存池构建块。
我们打算在接下来的几个月里分享更多关于如何使用Reth SDK(或Reth Core)的信息,因为我们将推动它的功能完整性。我们对此感到无比兴奋。目前,示例和NodeBuilder是在代码库中查找的最佳内容。
为什么要构建AlphaNet?
我们称它为AlphaNet ,因为它是用于实验的“alpha”软件,但也因为它为学习如何使用其“开发人员预览”功能的开发人员提供了优势。
AlphaNet 的目标是:
1使开发人员能够使用Reth的模块化架构对以太坊节点进行实验:
• AlphaNet 可以作为研究想法的分发渠道,并鼓励第二层实验。
• 选择AlphaNet 的节点扩展是因为它们能够使应用程序增强链上用户体验,并大大降低现有应用程序的成本,从而改善用户体验。
• Reth公开了Revm的新EVMBuilder API (pr),它使开发人员能够使用自定义操作码、指令、gas代币等扩展EVM。
• Reth SDK还将允许交换出关键节点组件,如块执行器、状态根算法,并且已经支持交换出大多数其他组件,如网络堆栈、块有效负载构建器、数据库等。
2测试Reth在极端情况下的性能,达到每秒1gb甚至更高。
• 我们希望使用已经在以太坊和基础主网上测试过的研究技术,解决状态增长性能瓶颈,并找到解决它的方法。
• 我们希望使用见证者来试验状态过期、租用、压缩和恢复风格的技术,以及任何让我们在那里移动指针的东西。
• 我们还将部署我们已经讨论了很长时间的其他技术,例如并行EVM(基于块 STM 的实时同步,并通过计算历史同步的最佳调度)、JIT/AOT EVM、替代状态根实现和优化、多租户等。我们已经对并行EVM和JIT/AOT的概念进行了验证,我们将在接下来的几个月里进一步推动它们的发展。
路线图是什么?
我们的AlphaNet短期路线图如下:
1在Conduit上发布一个托管版本的AlphaNet ,目标是50 megagas/秒,并最终提升到1 gigagas/秒。如果我们运行的节点由于状态增长而无法跟上排序器,我们可能会从零重新开始实验,然后再试一次。
2通过foundryup --alphanet命令发布修改后的Foundry构建,以便任何Foundry开发人员都可以访问节点扩展的工具。
3使用Rivet作为“实验性开发者钱包”,以便迭代EIP-3074, BLS签名和本地Passkey支持的钱包UX。
我们对 AlphaNet 上带有 Foundry 和 Rivet 的 EIP-3074 感到特别兴奋,并建议整个生态系统在 2024 年 4 月 11 日的全核心开发者会议上为即将在以太坊 L1 中的部署做好准备。如果你想在 EIP-3074 Invoker 上工作,帮助清理我们的 Foundry 集成,或为 Rivet 做出贡献,请联系我们。
中期:
1我们想尝试其他EIP和RIP,如RIP7560和EOF(已经在Revm中实现)。我们还应该尝试什么?
2大力推动上面“为什么要构建 AlphaNet?”一节中提到的 Reth 性能优化。
3在Rust中使用Reth (FPVM选择TBD,介于RISCV和MIPS之间)推动第二个OP故障证明实现,加速OP Stack的第二阶段故障证明路线图。
我们希望Reth将成为每个Layer 2扩展策略的基本构建块。
我们的长期目标是与社区一起扩展以太坊及其 L2 生态系统。我们将使用 AlphaNet 作为反馈回路,以推动前沿并在生产 L1 和 L2 中部署最佳技术。我们邀请社区与我们分享他们希望我们尝试的内容,或与我们一起编写代码。
AlphaNet 将在Reth 1.0之后不久发布,在第二季度结束之前。
Reth SDK为构建可修改的高性能节点提供了非常强大的抽象,我们认为这仅仅是个开始。在接下来的几周内,我们将分享我们用Reth SDK构建的所有内容。我们还将分享优化和架构改进,以突破达到网络规模加密货币所需的性能和功能障碍。
我们正在寻求反馈,并邀请开发人员为Github上的代码库做出贡献。如果这听起来令人兴奋,请联系[email protected]。
","gnid":"9cdc189e6be09c8d0","img_data":[{"flag":2,"img":[]}],"original":0,"pat":"art_src_3,fts0,sts0","powerby":"pika","pub_time":1713232200000,"pure":"","rawurl":"http://zm.news.so.com/0ffd2349f090b78bdb96514ac0cd7997","redirect":0,"rptid":"f5adfd0650c9a20f","rss_ext":[],"s":"t","src":"火星财经","tag":[{"clk":"ktechnology_1:以太坊","k":"以太坊","u":""}],"title":"Paradigm 开源 Reth AlphaNet 测试网
滕很巧2909公司需要购买德尔格Aerotest Alpha压缩空气质量检测仪,请问这是一种什么仪器? -
尚伊妹13939208810 ______ 这种仪器的一些性能介绍: 1、已检测的呼吸空气 拥有德尔格 Aerotest Alpha,就可以检测压缩机或压缩汽缸供应的呼吸空气质量.通过该检测系统可确保对呼吸系统的可靠检测,符合应用分类EN12021标准. 2、污染物检测与测量 拥有德尔格 ...
滕很巧2909关于setTimeout()的问题 -
尚伊妹13939208810 ______ 崩溃是必须的.for (i;i<=6;i++) { document.getElementById("colorcontrol").style.background=clr["color"+i]; if (i==6) { i=1; } else { ; } 这句话写的就有问题.i
滕很巧2909求软件开发 和 测试过程中版本命名规则 Alpha beta 和 v 版本具体指什么
尚伊妹13939208810 ______ alpha是内部测试版,beta是用户测试版,rtm是发布预备版,release版本才是正式发布的版本. 命名规则:软件名称 v 主版本号 . 子版本号 . 修正版本号,如xxx v1.0.2 1.项目初版本时 , 版本号可以为 0.1 或 0.1.0, 也可以为 1.0 或 1.0.0 ; 2.当项目在进行了局部修改或 bug 修正时 , 主版本号和子版本号都不变 , 修正版本号加 1; 3. 当项目在原有的基础上增加了部分功能时 , 主版本号不变 , 子版本号加 1, 修正版本号复位为 0; 4.当项目在进行了重大修改或局部修正累积较多 , 而导致项目整体发生全局变化时 , 主版本号加 1;
滕很巧2909麻烦详解一下java面向对象编程题,以下题目是双选题,选哪两个,为什么呢?
尚伊妹13939208810 ______ 情况: Beta 和Gamma 已经导入 Alpha 尚未导入 分析情况得知,要解决的问题是'导入Alpha' 解决: D 很显然,它的用意就是'导入Alpha' C 它的结果是:Test 被放置在 com.x包中(注意 Alpha 位于com.x包中).根据java 规范, 位于同一个包中类可直接相互引用,无需导入.
滕很巧2909软件alpha版/beta版/rc版是什么意思?
尚伊妹13939208810 ______ alpha版:内部测试版.α是希腊字母的第一个,表示最早的版本,一般用户不要下载这个版本,这个版本包含很多BUG,功能也不全,主要是给开发人员和 测试人员测试和找BUG用的. beta版:公开测试版.β是希腊字母的第二个,顾名思义,...
滕很巧2909javascript中STRING和array对象有什么区别
尚伊妹13939208810 ______ 简单点就是string是字符(串)... 而array是数组...可以放数字啊,字符啊等一系列东东!!!
滕很巧2909Java 编程所使用的测试工具都有哪些?一般采用哪些测试方法? -
尚伊妹13939208810 ______ 软件的测试方法很多,不同的出发点得到不同的测试方法.有:?从测试过程来分:静态分析法、动态测试法;?从观察结构的透明性方式来分:白盒法、黑盒法、灰盒法;?从获得测试数据形式上分:穷尽法;等价类划分法;边界值分析法;...
滕很巧2909修改一个JScript小程序 -
尚伊妹13939208810 ______ 管理导航<SCRIPT lan...