播客文字稿

Cartesi Linux 应用链:何时值得使用

João Garcia Cartesi 开发者倡导者

dApp 何时需要独立的 Linux 执行环境?Cartesi 开发者倡导者 João Garcia 解释应用专用 Rollup 如何隔离计算、复用 Python 等成熟软件库,以及支持可验证 AI 和游戏。他也说明普通 Solidity 合约何时更简单。这段对话发布于 2025 年 5 月,研究原型和发布计划反映的是当时的情况。

  • 发布于 2025年5月16日
  • 时长 27:25
  • 操盘手
  • 录制语言 英语
播客单集《Cartesi Linux 应用链:何时值得使用》,嘉宾 João Garcia(Cartesi 开发者倡导者)
// 速读版
  • 在 03:12,João Garcia 解释应用专用 Rollup 允许验证者运行自己选择的应用。专用执行资源减少了与其他应用的竞争,即“吵闹邻居”问题,但并不消除所有基础设施瓶颈。
  • 在 07:05,Garcia 区分了启动 Linux 与仅将语言编译到 RISC-V。完整操作系统带来文件系统和标准库,让开发者复用更多已有软件。Cartesi Machine 文档 介绍了执行环境。
  • 在 08:36,Garcia 区分可验证机器学习与 LLM。他谈到回归、KNN 示例、交叉编译 PyTorch 和 scikit-learn,以及确定性 LLM 执行实验。这是研究进展,不是生产性能基准。
  • 在 15:29,Garcia 建议,不需要额外算力或特定库的应用继续使用 Solidity。他反对仅因为偏好另一种语言,就在 Cartesi 中重写普通代币合约。
  • 在 23:20,Garcia 表示没有万能方案。应用链互操作仍需设计,协处理器提供的优势也不同于 Rollup。他建议组合互补协议并复用现有工具。Dave 研究论文 解释了欺诈证明的设计和假设。

为什么选择 Cartesi Linux 应用链?

观看这一段 · 0:00

Kevin 大家好。今天我和 Cartesi 的开发者倡导者 João Garcia 聊聊。Cartesi 是基于 Linux 的应用链基础设施,可以用来开发由 Rollup 验证的专用应用。最棒的是,你基本上可以使用 Linux 上已有的通用库或编程语言。这期很精彩,也有一点技术性。如果你想开发新项目,或者正在寻找好的基础设施,这期就是为你准备的。开发者选择你们平台、你们方案的三个主要理由是什么?

João 三个主要理由。第一个肯定是赋能。他们能做更多事情,使用更多工具,对吧?能够开发与其他 Web3 项目不同的应用。任何可以在 Linux 上运行的东西,都可以在用 Cartesi 创建的 Rollup 上运行。第二个是社区提供很好的支持。我们的 Discord 上公开了各种内容,每位贡献者都很活跃,我们为所有人提供很好的支持。第三个是保障和安全。通过我们的工具,你可以使用尽可能好的欺诈证明。我们刚开发了 Dave,L2BEAT 认可它是很出色的欺诈证明。此外,我们所做的一切都是开源的。讨论和开发都是公开的,所有人都可以在 Discord 上看到我们在构建什么。所以大家可以相信我们是在做好事。这是三个很好的理由。

应用专用 Rollup 如何避免“吵闹邻居”问题?

观看这一段 · 2:17

Kevin 很棒。愿景和最终用户,也就是开发者,是一致的。再深入一点。刚才很有帮助,但纯粹从开发者角度看,假设我正在开发东西,我希望从这项技术本身获得什么价值?为什么我要采用基于 Linux 的 Rollup,而不是智能合约或其他方案?

João 这是个很好的问题。有两个主要理由,可以分开说,先说 A,再说 B。在 Cartesi,使用我们的 Rollups 框架,你创建的是应用专用 Rollup。也就是说,每个运行节点、希望执行某个应用的人,专门运行这个应用。当然,我们正在开发让一个节点运行多个应用的机制,但核心思想不变:你只托管你想运行的应用,不会浪费资源执行其他应用,也能避免应用相互抢占资源。在共享 Rollup 中,所有应用一起在节点上执行,一个应用消耗的资源也是其他应用需要的。如果它收到非常多请求和输入,其他应用就会缺少算力。我们相当于给每个应用一整颗 CPU。因此,一个应用不会因为另一个应用而出问题。每个应用独立运行。第二个理由是 Linux 本身。不过只说 Linux,人们似乎不明白它带来哪些优势。优势很多。几乎所有为计算机开发的东西,都是先为 Linux 开发。某些游戏可能不是,但游戏使用的服务、服务器、后端,大概率运行在 Linux 上。银行软件、社交网络,存储数据并运行处理逻辑的服务器,都在 Linux 上运行。机器学习库、游戏库、数学库,都是先为 Linux 开发的。这意味着过去开发的东西可以复用,你不再局限于 Solidity 的库。可以用 Python、JavaScript、Rust、Go 或其他语言的库。按你喜欢的方式,用你喜欢的语言写代码。这带来了向后兼容,因为已有的东西能用,也带来了向前兼容,因为未来的东西也会先为 Linux 开发。这很棒。我想基本说清楚了。

与 RISC-V 运行时相比,Linux 还能带来什么?

观看这一段 · 6:11

Kevin 很好。为了确认我完全理解了:应用链通常能解决所谓的“吵闹邻居”问题,对吧?你和其他独立项目隔离,不会受到它们的 CPU 使用或执行任务的影响。这是第一个优势。第二个是,我不需要学习新编程语言,因为可以利用 Linux 生态和 Python 等通用语言。相比之下,其他很多应用链往往使用领域专用语言。

João 没错。再补充一个刚才忘了提、但挺重要的点。我们创建了 RISC-V 模拟器,并在上面运行 Linux。理论上,也可以直接把语言编译成 RISC-V 并执行。但那样就和其他一些协议一样了。借用 C 语言的说法,就是在独立环境中运行,只提供运行语言所必需的最低限度功能。这样会失去文件系统、某些标准库等资源,而这些资源让你能用不同方式处理信息。里面有一个操作系统,会带来更多灵活性和能力。

Cartesi 能运行可验证 AI 和 LLM 吗?

观看这一段 · 7:57

Kevin 这往往就是问题所在。项目说,你可以用 C++、C、Python 或其他语言,但实际限制很多。所以,如果真的能使用完整生态,确实很棒,从技术角度也令人印象深刻。你们网站上的一个用例是可验证 AI,这当然是热门话题。能解释一下吗?

João 当然。可验证 AI 很有意思,我们已经做了一段时间。不过我也觉得,人们对“AI”这个词的理解有点偏。当有人说 AI,大家想到 AI 智能体,立刻想到 LLM,因为 ChatGPT 引起了那么大的关注,后来还有 DeepSeek 等。但 AI 远不止这些。它从线性回归、KNN 等基本概念开始,有很多算法。我们先做了简单示例,使用了一些技术,因为一开始把库编译到 RISC-V 并不简单,现在可以了。最初我们做 KNN、线性回归,需要用一种机制,是我的朋友 Marcos 做的,向他致意,叫作[将模型转换为代码的工具,名称不清楚]。基本上就是把机器学习模型转换成直接的 Python 代码,效果很好。后来我们成功把 PyTorch 和 scikit-learn 等机器学习库交叉编译到我们的机器上。因此,可以在我们机器的 RISC-V 和 Linux 环境中完整使用这些库。这很酷。不过,LLM 等很多模型需要大量资源,要验证它们,你需要非常强大的计算机,或者 GPU。GPU 又有非确定性的问题,所以需要一些变通方法。一开始 LLM 看起来非常复杂,但我们在推进,也取得了很好的进展。在内部开发者和贡献者黑客松中,Eduardo 这个很厉害的开发者找到了一个办法:在 Cartesi Machine 中执行程序,但把复杂计算,也就是 LLM 使用的矩阵乘法,委托给宿主机。这样不是只使用一颗 CPU,而是一颗 CPU 负责模拟部分,确定性计算可以交给宿主机。这很厉害。我们大幅提升了处理能力,现在可以开始确定性地运行 LLM。我们还在研究如何继续推进。

哪些 DeFi 和链上游戏需要这些算力?

观看这一段 · 11:41

Kevin 在技术前沿开发,往往大部分工作就是研究,这是其中的一部分。我好奇你们还在探索哪些用例。通用意味着可以做很多事情,对吧?肯定也有一些事情不应该做,或者做不了。这也很有意思。

João 你指的是机器学习领域中的一般用例,还是整体上的用例?

Kevin 你个人最感兴趣的。

João 我觉得不能不提 DeFi,毕竟这是我们所在的领域。有个方案我很喜欢,叫 DCA.Monster。它做的是定投策略,也就是 dollar-cost averaging,但粒度非常小。你使用代币的最小单位,比如 10 的 18 次方之类,然后以非常小的批量兑换资产。你可以说,我想把这个代币换成美元或 USDT,但在一个月内完成。因此,这个月的每一秒都会兑换那一小部分。这很酷。如果没有一台能轻松进行这种粒度计算的机器,就做不到。所以它基本上是一个运作得很好的自动做市商。这个方案很有意思。当然,我有点技术宅,很喜欢游戏。我总会提到两个游戏方案。一个叫 RIVES,网站是 rives.io。这是一个链上的自定义游戏机,人们可以创建、出售并确定性地运行游戏。最初运行的是 Doom。玩家可以玩 Doom,把游戏日志,也就是发送给游戏的每条指令,提交到区块链,游戏过程就可以被验证。这很适合速通、比赛和锦标赛。另一个刚推出不久,叫 World Tycoon。你记得 SimCity 吗?当然。我们做了链上的 SimCity。刚完成这个资助项目,我正在评估、做代码审查。它就是链上的 SimCity。你先存入资产,如果你的城市能赚钱,就能获得其他人为了建城而存入的资产,前提是他们失败了。SimCity 中这种代币互动很有趣。

开发者何时应该用 Solidity 而不是 Cartesi?

观看这一段 · 15:05

Kevin 很喜欢。GameFi 一直是区块链和加密领域的重要话题。有没有什么事情,你觉得 Cartesi 不是特别适合,或者不是理想选择?

João 很好的问题。如果孤立地看应用,我看不出为什么人们不想使用它。但我不认为大家应该只是为了开发而使用 Cartesi。如果你不需要额外的处理能力,或者不需要特定库来运行软件、实现想法,那么也许应该继续用 Solidity。Cartesi 不是为了让你说:“我能用 Solidity 做这个,但更喜欢 JavaScript,所以就用 Cartesi 写。”这不是原本的目的。当然,你可以这样做,任何人都能按自己的方式使用。但如果用 Solidity 更简单,有时候就直接用它,没问题。

Kevin 所以更多的是教育开发者:如果你想做一个常见的 Solidity 智能合约,做大家一直在做的事情,就遵循最佳实践,不必用 Python 重新造轮子。

João 没错。Cartesi 使用 Linux 和这些库,整个目的就是不重新造轮子。不要尝试在 Solidity 中重新实现非常复杂的机器学习库。直接用已有的东西,使用能让你做到这一点的 Rollup。反过来也一样,普通代币创建已经有很好用的方案,不要在 Cartesi 上完全重做。不同工具应该[不清楚]协同,而不是彼此竞争。发挥每个工具最适合的用途。

开发者做了哪些不寻常的游戏?

观看这一段 · 17:33

Kevin 喜欢。我们已经聊了一些有趣、有用的用例。你有没有在社区里看到很疯狂或特别好玩的东西,让你觉得“不确定有没有用,但很有意思”?

João 不好意思,你具体指什么?

Kevin 你知道有人在你们平台上开发过疯狂的方案或用例吗?还是目前都是有用的东西?

João 不,有一些疯狂又好玩的东西。有一个我很喜欢,我觉得已经不在主网上了,也可能还在。那是一个表情包对战游戏。人们可以押注某个表情包,比如[角色名称不清楚]对 Sonic。模拟两者打架,能看到它们战斗,也能押注自己喜欢的角色。有点疯狂,由 AI 自动运行,像是一种零玩家游戏,非常好玩。还有一个特别离谱,我觉得还在运行,叫 Bubble Wars。你投入资产,然后根据存入的代币数量变成一个泡泡。使用链上物理来移动泡泡,把它推向某个方向。如果碰到另一个泡泡,就会拿走那个人的资产。[不清楚]。你会增长,泡泡也变大。这非常离谱,但真的好玩。

Kevin 哇,听起来很痛苦。想象一下,你已经收集了那么多,然后遇到那些大泡泡,就像那个游戏,我觉得叫[游戏名称不清楚],原来的游戏叫什么?[关于游戏名称的简短交流不清楚]。太疯狂了。我能想象,如果宣传得当,它可能会火起来,因为它可以病毒式传播。挺有趣的。

欺诈证明设计为什么困难?

观看这一段 · 20:06

Kevin 我不确定,听起来你参与过,但你在基础设施开发中参与得有多深入?能分享初期开发的一些核心经验吗?当时的主要挑战是什么,现在又有哪些挑战,比如让它更可验证?

João 我不是从 Cartesi 一开始就在的。Cartesi 的想法应该是在 2018 年形成的,那时写了第一份白皮书。我大约两年前才加入。不过,从我现在学到的东西,以及看到团队正在做、正在解决的事情来看,欺诈证明的开发非常精细,也很美。它是如何设计、提出的。设计一个欺诈证明算法时,有很多小细节要考虑,比如链的活性,参与需要多少成本,要质押多少才能参与。所有这些一起决定,最后形成算法。这很厉害。最初我们有一个叫 PRT 的欺诈证明,很快会发布一个实用版本,同时已经有 Dave 的论文,它是改进版。看到每种欺诈证明中的困难和痛点,以及我们如何逐个解决,特别有意思。Gabriel Coutinho 负责这些算法的开发,在构思过程中给我解释。我总是惊讶:每次遇到障碍,这些聪明的人都能突破。他会告诉我会议怎么进行:“Augusto,我刚发现一个 bug,这行不通。”Cartesi 的创始人之一 Augusto 会说:“我需要一点时间想想。”然后走到白板前画一些东西,想出方案。这很棒。我觉得这是最精细、最难的部分。

应用链的局限和模块化的价值是什么?

观看这一段 · 22:42

Kevin 很喜欢。密码学,如果我能把它念对的话,一直是很有挑战的主题。很高兴看到你们有好的团队合作方式。最后一个问题:你在这个项目中得到的三个关键启发是什么,或者想对准备了解、使用 Cartesi 的开发者说些什么?

João 关键启发是:没有万能方案。没有一个协议或技术栈能够做所有事情,大家都有局限。Cartesi 也有局限,即使运行 Linux,能做 Web2 中能做的事情,你仍然需要绕过一些问题。例如,希望 Rollup 之间互操作,就要仔细考虑。因此我们开发了其他方案,比如协处理器,提供不同的好处。它不提供 Rollup 机制,而是一个快速最终性的协处理器方案。这很好。所以第一点,没有万能方案。第二点,试图重新造轮子的人容易陷入陷阱。他们花很长时间做新东西,不用已有的工具,反而错过做真正有意义的事情的机会。第三点,协议应该协作,这最重要。我们与[名称不清楚]合作开发协处理器,也与 Espresso 和 Avail 合作。当两个在某些领域很擅长、很专业的团队融合知识,就能创造更好的东西。例如看我们的 Espresso 集成,可以把我们的执行环境与他们的数据可用性和排序结合,创造与以往不同的东西。因此,从每个方案中选最适合的部分,构建适合自己的完整方案。协作应该成为整个生态的座右铭。

Kevin 很喜欢。这就是 Web3 的精神。正如大家常说的,核心是社区,以及开发人们真正想要的东西。没错。太好了。

开发者如何开始使用 Cartesi?

观看这一段 · 26:01

Kevin 还有最后想说的话吗?看完这次访谈后,大家应该做什么?

João 最近有人反馈说,我们的文档很好。所以试试 Cartesi,做实验,玩一玩。加入我们的社区。即使不想写代码,也可以进来看看正在开发什么、准备什么,了解更多。如果想聊聊或有问题,可以在 Discord 或 Twitter 上联系我,我都在。回头见。

Kevin 很好。我一定会把链接放在视频简介中。再次感谢你的配合和时间。和你聊天很愉快,有很多新东西我还想深入了解。最后对所有开发者和非技术人士说一句:好的文档太被低估了。这方面你们做得很棒。

João 完全正确。

Kevin 谢谢,很高兴和你聊天。祝你今天接下来的时间愉快。

João 回头见。回头见。

Kevin Wavect,理解你需求的 Web3 软件公司。

文字稿由英语录音翻译而来,并为便于阅读略作编辑。以原始录音为准。 根据原视频的英文自动字幕整理,修正了说话人标注、标点和明确的识别错误。无法确认的名称以方括号标注。原视频仍为权威来源。产品计划和 AI 实验反映 2025 年 5 月的访谈情况,不代表当前生产环境保证。

本集回答的问题

在本次访谈中,João Garcia 将 Cartesi 描述为应用专用 Rollup 框架,使用运行 Linux 的 RISC-V 机器。应用逻辑在可复现的链下环境执行,欺诈证明为质疑错误计算提供机制。它的吸引力在于应用专用算力,以及熟悉的语言和软件库。
Garcia 解释,共享 Rollup 上不同应用会竞争执行资源。应用专用 Rollup 为一个应用提供自己的计算空间,其他应用的活动不会消耗相同的执行预算。这隔离了应用计算,但不保证结算、数据可用性或托管永远不会成为瓶颈。
Garcia 提到 Python、JavaScript、Rust、Go 等通用语言,以及 Linux 环境支持的软件库。他讨论了将 PyTorch 和 scikit-learn 交叉编译到 RISC-V。具体应用仍需检查兼容性和资源要求,并不意味着所有依赖都无需改动。
在 15:29,Garcia 建议,如果应用不需要额外计算或特定 Linux 库,就用 Solidity。普通代币合约是他的例子。他将 Cartesi 视为实现复杂工作负载的工具,而不是用另一种语言重写简单 Solidity 功能的理由。
不是。在这段对话中,可验证性指模型或计算的可复现执行,并不证明模型回答在事实上正确。Garcia 也区分小型机器学习任务与资源密集的 LLM,并在 2025 年 5 月的访谈中将确定性 LLM 执行描述为实验。
Garcia 把它们视为不同工具。Rollup 提供拥有自身状态和 Rollup 机制的应用执行环境。协处理器帮助另一应用外包计算,其验证和最终性假设不同。他的建议是根据工作负载选择工具并考虑互操作,不要假设一个技术栈能解决所有问题。

想把这种思路用到你的产品上?

我们做 MVP,也做兼职 CTO,服务那些宁可埋头交付、不想空谈的创始人。