Cartesi 是一个第二层区块链解决方案,可以使开发人员能够使用Python、NumPy、Rust 等主流软件堆栈构建可扩展的去中心化应用程序(DApp)。Cartesi Rollups解决了区块链的计算限制和去中心化应用程序缺乏成熟软件堆栈的问题,它提供了模块化的特定于应用程序的optimistic rollups和交互式争议的解决方案,而且还能够运行Linux 等真实操作系统的主流虚拟机。
区块链的不可能三角包括去中心化(Decentralization)、可扩展性(Scability)、安全性(Security)。以太坊以rollups为中心的路线图将可扩展性分为数据可扩展性和计算可扩展性。Cartesi Rollups 是一种特定于应用程序的rollups,具有交互式争议解决方案。使用 Cartesi Rollups 我们可以通过大量计算转移到每个应用程序的rollups,同时使用基础层进行资产结算、可组合性和争议解决来打破区块链的计算限制。
与传统的 Web 2.0 开发相比,Web 3.0 开发缺乏必要的工具和库。 Cartesi Rollups 通过提供一个确定性的基于 RISC-V 的虚拟机 Cartesi Machine 来解决这个问题,它运行 Linux 或其他操作系统,允许开发人员使用预先存在的代码、库、工具和生态系统来开发去中心化应用程序。
Cartesi Rollups 是特定于应用程序的optimistic rollups,可以在 Linux 运行时和现有 Linux 工具链的全面支持下执行 DApp。 它们在计算可扩展性方面提供了显着的收益,并为开发人员提供了一个成熟的操作系统来构建富有表现力和计算密集型的区块链应用程序。 Cartesi Rollups 通过实施具有交互式争议解决的欺诈证明,保留了基础层的强大安全保证。
Cartesi DApps 由前端用户界面和在 Cartesi Rollups 基础设施中运行的后端可验证逻辑组成。
在 Cartesi DApp 中,有两个主要组件:前端和后端。 前端是面向用户的界面,可以是 Web 或命令行应用程序,而后端负责在 Cartesi Rollups 基础架构中运行的可验证逻辑。 后端根据用户输入管理应用程序状态并生成相关输出。 这些输出包括凭证(第 1 层交易,如资产转移)、通知(信息报表,如游戏分数)和报告(日志和诊断数据,如错误或警告消息)。 后端可以通过其他外部服务或复杂 DApp 的额外后端进行补充。
与传统软件开发相比,Cartesi DApp 的主要区别在于后端部署在去中心化的第 2 层节点网络上,不断验证处理结果。 前端和后端不直接通信; 相反,前端将输入发送到 Cartesi Rollups 框架,后者将它们传递到每个节点内的后端实例。 处理后,输出将被发送回 Rollups 框架,确保它们的正确性,然后再让前端和其他方访问它们。