Cartesi 的架构通过在 Linux 环境中实现链下计算,巧妙地弥合了传统软件开发与区块链技术之间的鸿沟。这一创新架构由以下几个核心组件构成:
RISC-V 架构
Cartesi Machine 模拟了一个 RISC-V CPU,这是一种简单且模块化的指令集架构(ISA,Instruction Set Architecture),非常适合进行形式化验证和低级计算。这个 ISA 是 Cartesi Machine 虚拟硬件的基础。
Cartesi Machine 运行完整的 Linux 操作系统,允许开发者使用标准的 Linux 工具、库和编程语言。这种集成是通过将 Linux 软件交叉编译到 RISC-V 架构上实现的。这使得 Cartesi Machine 实际上成为一个在链下运行的基于 Linux 的虚拟计算机。
确定性执行
Cartesi Machine 具有确定性执行的特点,这意味着无论在什么执行环境中,相同的输入总是会产生相同的输出。这种确定性对于链下计算的可重现性至关重要,使其他人能够在不需要信任的情况下验证结果。
链下和链上交互
Cartesi Machine 通过一系列智能合约与链上组件进行交互。这些合约负责向 Cartesi 机器提交数据、触发计算和检索结果。这种架构允许在链下执行复杂的计算,仅将必要的数据锚定在链上,从而显著降低 Gas 费用并提高整体效率。
Noether 是一个专门的侧链,用于确保链下计算中使用的数据的可用性。这个数据可用性层非常重要,因为链下的 Cartesi Machine 计算依赖于所有相关方都能访问的数据。Noether 使用权益证明机制来维护其网络,质押者提供和验证数据存储。
与传统区块链的永久数据存储不同,Noether 专为临时存储而优化。这种设计特别适用于需要短期存储大型数据集的应用,如链下计算任务。数据使用后可被丢弃,大幅降低存储成本。
简言之,Noether 致力于以去中心化方式管理数据可用性,确保数据不受单一实体控制。这通过一个节点网络实现:这些节点共同存储并提供 Cartesi 应用程序所需的数据。
Cartesi 协议实现了安全且可验证的链下计算,同时维护了区块链的完整性和安全性。
Descartes 框架允许开发者使用 Cartesi Machine 在链下运行复杂的计算。它确保这些计算的结果是可重现和可验证的。Descartes 处理执行环境,在其中输入被处理于 Cartesi Machine内,结果被提交回区块链。
Descartes 包含一个争议解决机制,如果参与者对计算结果提出质疑,Cartesi 协议可以将计算分解成更小的步骤,这些步骤可以在链上单独验证。这个过程确保了任何不正确的结果都可以被检测和纠正,而无需在链上重新运行整个计算。
Cartesi Machine 生成的结果通过加密证明锚定到区块链上。这些证明允许任何一方验证计算是否正确执行,而无需信任原始执行者。
Cartesi 使用 rollup 技术将多个交易或计算聚合到单个链上交易中。这减少了区块链的负载,并允许更高的吞吐量。Rollup 有助于维护基础层(如以太坊)的安全性,同时将计算工作卸载到 Cartesi Machine 上。
Cartesi 支持乐观 Rollup 和零知识(ZK)Rollup。乐观 Rollup 假定所有交易都是有效的,只在出现争议时才在链上进行验证。ZK Rollup 则使用加密证明来确保每批交易的有效性。这两种 Rollup 技术都通过减少链上处理和存储的数据量,为扩展性问题提供了解决方案。
亮点
Cartesi 的架构通过在 Linux 环境中实现链下计算,巧妙地弥合了传统软件开发与区块链技术之间的鸿沟。这一创新架构由以下几个核心组件构成:
RISC-V 架构
Cartesi Machine 模拟了一个 RISC-V CPU,这是一种简单且模块化的指令集架构(ISA,Instruction Set Architecture),非常适合进行形式化验证和低级计算。这个 ISA 是 Cartesi Machine 虚拟硬件的基础。
Cartesi Machine 运行完整的 Linux 操作系统,允许开发者使用标准的 Linux 工具、库和编程语言。这种集成是通过将 Linux 软件交叉编译到 RISC-V 架构上实现的。这使得 Cartesi Machine 实际上成为一个在链下运行的基于 Linux 的虚拟计算机。
确定性执行
Cartesi Machine 具有确定性执行的特点,这意味着无论在什么执行环境中,相同的输入总是会产生相同的输出。这种确定性对于链下计算的可重现性至关重要,使其他人能够在不需要信任的情况下验证结果。
链下和链上交互
Cartesi Machine 通过一系列智能合约与链上组件进行交互。这些合约负责向 Cartesi 机器提交数据、触发计算和检索结果。这种架构允许在链下执行复杂的计算,仅将必要的数据锚定在链上,从而显著降低 Gas 费用并提高整体效率。
Noether 是一个专门的侧链,用于确保链下计算中使用的数据的可用性。这个数据可用性层非常重要,因为链下的 Cartesi Machine 计算依赖于所有相关方都能访问的数据。Noether 使用权益证明机制来维护其网络,质押者提供和验证数据存储。
与传统区块链的永久数据存储不同,Noether 专为临时存储而优化。这种设计特别适用于需要短期存储大型数据集的应用,如链下计算任务。数据使用后可被丢弃,大幅降低存储成本。
简言之,Noether 致力于以去中心化方式管理数据可用性,确保数据不受单一实体控制。这通过一个节点网络实现:这些节点共同存储并提供 Cartesi 应用程序所需的数据。
Cartesi 协议实现了安全且可验证的链下计算,同时维护了区块链的完整性和安全性。
Descartes 框架允许开发者使用 Cartesi Machine 在链下运行复杂的计算。它确保这些计算的结果是可重现和可验证的。Descartes 处理执行环境,在其中输入被处理于 Cartesi Machine内,结果被提交回区块链。
Descartes 包含一个争议解决机制,如果参与者对计算结果提出质疑,Cartesi 协议可以将计算分解成更小的步骤,这些步骤可以在链上单独验证。这个过程确保了任何不正确的结果都可以被检测和纠正,而无需在链上重新运行整个计算。
Cartesi Machine 生成的结果通过加密证明锚定到区块链上。这些证明允许任何一方验证计算是否正确执行,而无需信任原始执行者。
Cartesi 使用 rollup 技术将多个交易或计算聚合到单个链上交易中。这减少了区块链的负载,并允许更高的吞吐量。Rollup 有助于维护基础层(如以太坊)的安全性,同时将计算工作卸载到 Cartesi Machine 上。
Cartesi 支持乐观 Rollup 和零知识(ZK)Rollup。乐观 Rollup 假定所有交易都是有效的,只在出现争议时才在链上进行验证。ZK Rollup 则使用加密证明来确保每批交易的有效性。这两种 Rollup 技术都通过减少链上处理和存储的数据量,为扩展性问题提供了解决方案。
亮点