Plasma 是什么?子链、状态承诺与强制退出机制 图 1
Plasma 是什么?子链、状态承诺与强制退出机制 · 图 1

结论先说

Plasma 是把”链上挂一条子链”的思路走到最早的框架:子链在以太坊主网之外执行交易,由一个运营方出块,并周期性地把代表整条子链状态的 Merkle 根(状态承诺)发到主链合约存档;主链不重放子链交易,只保管这些承诺。资产进出靠”进入与退出”流程,退出时用户要用交易凭证和时间戳证明自己拥有什么。它借到了以太坊一部分安全,但数据不上主网、退出要自己举证,这两条设计限制最终让它退出了主流路线。

子链与状态承诺

Plasma 的原始白皮书把建立在主链之上的链称为 child chain,由部署在父链上的 Plasma 合约兼作桥。子链通常只有一个运营方负责排序与执行,出块因此比主网快得多。为了让以太坊能”看见”子链状态,运营方必须定期把 Merkle 根提交到主链——这像一个存档点声明:某个时刻子链就是这个样子,根哈希为证。用户之后可以用 Merkle 证明,向主链证明某笔交易确实在某个已承诺的块里。争议处理走欺诈证明路线:谁声称某个状态转换无效,谁提交证据,经挑战窗口裁决。这条”只寄存档点”的设定,是它一切优点与一切限制的源头。

退出机制为什么关键

Plasma 合约只存 Merkle 根,主网因此没有能力逐笔验证子链交易。这带来一个连锁反应:想取钱,你得自己拿出证据。正常退出走标准流程——提交交易凭证,等待挑战期过去,合约放行。如果运营方冻结退出、或不发布最新状态,用户要走强制退出,凭最近一笔收到并被签认的交易把自己从池子里摘出来;多个用户同时被冻结时,还会触发整个子链的大规模退出流程。整个安全模型有一条隐含前提:用户手里一直保存着自己的交易数据和凭证。数据在手,最坏情况是慢;数据丢了,连慢都做不到。

两种机器剖面:全部货物吊上主岸,与货物留在地基、只寄建筑剪影

和 Rollup 分岔在哪

Plasma 与乐观 Rollup 用同一种武器——欺诈证明,分岔点是数据。Rollup 把交易数据发布到 L1,任何人都能重放全部状态,用户举证几乎零成本;Plasma 只上传压缩后的承诺,举证责任外包给用户自己。后来出现的 Volition 思路(用户逐笔选择数据上链或上委员会)可以看作对这条限制的直接回应。以太坊官方文档也明确记录:分片路线已被 Rollup 与 Danksharding 取代,扩容叙事整体转向以 Rollup 为中心,Plasma 因此很少再作为独立主线被部署。

进入与退出之外:运营方的角色边界

运营方在 Plasma 里承担了三件事:排序交易、执行状态转换、按期发布状态承诺。合约只强制第三件的公开性,前两件的诚实性要靠欺诈证明来威慑。这就产生一个微妙的不对称:运营方即使不作恶,仅仅是停止发布承诺,也会让所有退出流程停摆,因为用户无法引用一个不存在的时间戳。框架对此的回应是允许用户凭最近一次获得签名的回执走强制退出,把举证材料从”证明我在某个已承诺的块里”降级为”证明运营方承认过我这笔余额”。理解了这个降级路径,就理解了为什么 Plasma 文档总是把”保存好你的交易数据与签名回执”放在离用户最近的位置——那是系统留给个体的最后一份保险单。

今天读 Plasma 还有必要吗

有,但方式是把它当理解框架。第一,今天不少数据可用性委员会、Volition 模式、L1 数据可用性层的讨论,都是对 Plasma 遗留问题的修补;第二,读旧项目文档和历史桥设计时,“状态承诺 + 欺诈证明 + 用户自担数据”这个三联公式仍是最好的解剖刀。查证具体项目现状时请以太平洋彼岸的官方站点与链上浏览器为准——文档与白皮书描述的是写作时点的项目列表,历史项目的现状必须在项目官方渠道重新确认,本文不对任何特定链的当前状态做断言。本文仅解释机制,不构成任何使用或投资建议。