作者:Cointime.com 237
Rooch:Web3 原生应用基础设施解决方案
Rooch 是一个高效、安全、模块化、开发者友好的 Web3 原生应用基础设施解决方案。其致力于打造一个能够承载 Web3 原生应用的基础设施,并彻底的改变当前互联网应用的中心化格局。
Rooch 希望构建一个优秀的基础设施类产品,并通过该产品的优秀性能为自己代言。
Rooch 项目目前构建了两大核心产品:
1)Rooch
Rooch 是一个模块化的 DApp 容器(去中心化的 Docker)
2)Rooch Network
Rooch Network 是一个 Rooch 实例的部署平台。(去中心化的云)
接下来,我们将对这两款核心产品分别进行介绍。
核心产品一:模块化的 DApp 容器——Rooch
1、功能介绍
Rooch 是一个智能合约的执行容器时,其拥有以下功能:
1)MoveVM
Rooch 嵌入了一个完整的 MoveVM,供开发者使用 Move 语言编写智能合约。
2)可扩展性
Rooch 是一个快速的执行环境,当组成网络时可以实现 10 万峰值 TPS。
3)Modular
Rooch 具有抽象接口,允许不同的 DA 层、结算层和仲裁层进入。
2、产品架构
1)RPC
RPC 组件为用户和开发者提供访问端点,以上传 Move 模块并发送交易以调用合约和本机函数.
RPC 代理 RPC 代理是一个特殊的组件,旨在将不同的交易结构解释为本机模式,以允许用户直接从市场上的各种钱包发送交易。例如,用户可以直接从 MetaMask 发送交易以调用 Rooch 上的 Move 合约。
2)MoveOS
MoveOS 是执行所有计算和存储工作的组件。其包括 OMO、MoveVM、State Storage 三大部分。
A、OMO 是一个通用的 MIPS 模拟器,用于为执行生成欺诈证明。
B、MoveVM 是一个完整的功能图灵完备的 VM,用于执行用 Move 语言编写的智能合约。
C、State Storage 包含所有用户和合约状态。
3)角色特定模块
角色特定模块是功能模块,允许节点运营者将其节点配置为分层网络中的不同角色。
4)接口
Rooch 具有内置接口,可与不同层一起使用;接口需要足够抽象,来确保 Rooch 能够适应不同的生态系统
核心产品二:部署平台——Rooch Network
Rooch Network 为 Web3 DApp 提供强大的一体化服务,使其能够轻松灵活地部署。这使得 Web3 开发者在不用顾虑基础设施问题的前提下,可以更专注于构建更个性化的产品。
具体而言,Rooch Network 主要包括以下组件层级:
1、执行层
执行层由以 Rooch 作为容器以及智能合约执行环境的 Dapp 组成。根据不同的场景和资源需求,Rooch 的使用有三种类型:
1)通用平台
Rooch 团队将启动并维护一个 Rooch 实例作为通用的智能合约平台。DApp 和开发人员将能够将其智能合约直接部署到现有平台上。开发体验将与在 Layer1 区块链上工作的体验相同,但具有更高的 TPS,更低的 Gas 费用以及更大更方便的存储空间。
2)DApp 专用平台
想要拥有定制平台的 DApp 可以启动一个专用的 Rooch 实例,开发者可以自定个性化的以及特殊的特性,如通证经济模型。
3)Sector 专用平台
想要使用多个 DApp 开发和扩展其生态系统的 Web3 开发者也可以启动 Rooch 实例,不同 DApp 的资产和功能将具有无缝互操作性,用户可以在不同生态系统的 DApp 之间共享帐户和配置文件。
2、网络中间件
Rooch Network 有几个关键的中间件服务,负责处理执行层上所有 Rooch 实例的交易和状态。所有服务都基于相同的核心 Rooch 实现。
1)Sequencer
Sequencer 负责验证传入的交易并对其进行排序。排序后的交易将提交给 DA Chain 和 Proposer。
2)Challenger
Challenger 是 Rooch Layer2 网络的守护者。它不断监视交易流,并执行交易以计算状态转换。如果计算的状态结果与提议的状态不匹配,则 Challenger 将请求欺诈证明并将其提交仲裁。
3)ZK Prover
ZK Prover 根据批处理的交易生成状态转换的 ZK 证明。证明将发送到仲裁层以优化安全机制所需的挑战期。
4)Proposer
Proposer 负责执行所有排序后的交易并将生成的状态提交给仲裁层。
3、DA 层
DA(数据可用性)的重要性在于确保任何人都可以访问发生在离线环境中的所有交易。
Rooch 网络将采用第三方解决方案以确保交易的可用性并保持高 TPS。Rooch 团队仍在研究不同的选择,这其中包括 Celestia、Eigenlayer、Polygon Avail,以及 Arweave。
4、仲裁层
仲裁层作为“法院”,为仲裁和验证包含不同 DApp 的不同 Rooch 实例中发生的所有状态转换。
在 Rooch 网络中,以太坊承担了仲裁层的角色,并将是 Rooch 生态系统中所有 DApp 的唯一安全来源,原因是以太坊目前拥有最高的代币市值,而这代表着它拥有最高的攻击成本。
在以太坊上,有三个智能合约担任不同的角色:
1)欺诈证明仲裁合约
该合约接受欺诈证明,并模拟状态转换的执行以做出削减决策。
2)ZK Verifier 合约
该合约负责验证由 ZK Prover 提交的 ZK 证明。
3)State Commitment Chain
该合约保留由 Proposer 提交的所有状态的记录链。
5、结算层
结算层为所有基于 Rooch 的 DApp 提供状态结算。使用 Rooch 作为执行环境的每个 DApp 都能够在其 DApp 和不同的 Layer1 之间迁移资产。
Rooch Network 支持将任意 Layer1 整合到结算层中,所有使用以太坊作为安全保证源的内容。
技术亮点
1、Move 语言
Move 是由 Diem 最初设计和开发的开源智能合约编程语言。
Move 的命名来自于 C++ 中的移动语义,它被用于将资源从一个对象移动到另一个对象而不进行复制。这种设计目的完全符合智能合约语言的上下文,并使其成为实现加密资产的灵活性和安全性的优秀选择。
2、欺诈证明
Rooch Network 使用基于 Optimistic Rollups 机制的欺诈证明来确保 Rooch DApp 的安全性。
Rooch 还将支持由 ZK Proof 启用的混合安全性。
欺诈证明生成基于多轮交互式证明过程。目标是找到导致挑战者和防御者之间出现分歧状态的确切指令步骤。
生成欺诈证明是确保 Optimistic Rollup 系统中链下系统安全的关键部分。为此,Rooch 设计了 OMO。OMO 是一个提供单步证明的通用模拟器。
OMO 被设计为具有单步状态证明的通用字节码模拟器。它的通用目标为 Rooch 的实现提供了 2 个优势:
A、与任意 Layer1 的兼容性 任何支持 MIPS 指令集的 Layer1 都可以仲裁 OMO 生成的证明。这使得 Rooch 成为任意 Layer1 的 Layer2。
B、易于维护、调试和升级 如果未来 MoveVM 有重大升级,OMO 可以快速容纳。
3、具有零知识证明的混合安全性
Rooch 将利用 zkMove 生成零知识证明以优化欺诈证明机制的挑战期,并创建一个同时具有欺诈证明和零知识证明的混合安全机制。
zkMove 是一个零知识的 Move 语言运行环境,实现了字节码级别的兼容性。Rooch Network 与 zkMove 建立了合作伙伴关系,两个项目将在技术开发和应用场景方面进行合作。
4、多链结算
多链结算是 Rooch Network 最重要的功能之一。
结算层的职责是在 Layer1 和执行层之间进行状态迁移和资产结算。
多链结算方案中跨层桥(cross-layer bridge)的安全性由仲裁层(即以太坊)保护,执行层继承仲裁层的安全性。因此,其具有更强的安全性。
而在 Rooch 的多链结算方案中,跨层是通过一种通用的状态迁移模式实现的,状态可以用来表示 Token、NFT、数字合约等未来的应用状态,而无需为新的状态类型设计专门的协议。
5、基于流水线的并行交易处理
优化交易处理流程和相关组件是提高整个系统吞吐率的关键。为此,Rooch 利用管道结构来实现并行交易执行。
Sequencer 和 Proposer 的角色被解耦为两个不同的节点:
1)Sequencer 主要负责对所有传入的交易进行验证和排序;输出形成交易流,然后发送给 Proposer
2)Proposer 负责执行从 Sequencer 接收到的所有交易,并将交易打包到块中并计算每个块的最终状态
Proposer 使用 BlockSTM 引入的类似方法,并行执行一个区块中的所有交易。
6、交易排序证明
排序证明(Sequence Proof)证明交易是否在序列中的特定位置。在 Rooch 中,它用于为用户提供更安全的交易确认。
1)没有排序证明的情况
在 Layer2 网络中,受欺诈证明(Fraud Proof)或零知识证明(ZK Proof)的限制,排序器(Sequencer)不能更改交易内容,否则将面临惩罚。但是,排序器可以拒绝某个用户的交易(通过不将交易发送给 DA 和 Layer1),或者改变交易的位置,通过串通第三方获得间接利。(例如拒绝保证金交易以获取清仓利润,或更改交易订单以获取 MEV 利润)
2)有排序证明的情况
使用排序证明,一旦用户将交易提交给排序器,排序器需要返回确认以及顺序证明,证明该交易包含在交易序列的某个位置。如果之后排序器从序列中取出交易并没有提交,用户可以使用排序证明来仲裁惩罚排序器。
这种机制确保排序器对此类行为产生反激励,并且排序器不会因拒绝某些交易而获得任何利润。
结语
Rooch 旨在实现去中心化应用的革命性变革。通过提供高效、安全和开发者友好的基础设施解决方案,Rooch 希望推动互联网从中心化向去中心化的转变。
随着时间的推移,Rooch 将为开发者提供更多创新、个性化和自主权的机会,同时为用户创造更安全、便捷和灵活的 Web3 体验。它的目标是打破中心化垄断,建立一个开放、包容和透明的数字经济生态系统。
随着 Rooch 团队和社区的不断努力,Rooch 或将成为构建下一代互联网的重要组成部分,为人们创造更加自由、安全和公正的数字世界。
所有评论