Mimblewimble 是什么?砍掉脚本和地址后隐私能走多远 图 1
Mimblewimble 是什么?砍掉脚本和地址后隐私能走多远 · 图 1

一封丢在聊天室就走人的论文

2016 年 7 月底到 8 月初之间,化名 Tom Elvis Jedusor 的作者在比特币研究聊天频道贴出一份标题为 Mimblewimble 的短文档,随后消失。文档没有署名团队、没有代币计划,只描述了一套“既隐私又轻量”的账本构造。第二天,Blockstream 研究员 Andrew Poelstra 等人开始补完它的数学细节,同年 10 月发布了更严谨的整理论文。此后出现 Grin、Beam 等实现,其中 Grin 的创世区块在 2019 年 1 月挖出,采用无预挖、无手续费引导的发行方式;Beam 则走了更接近传统项目的路线。这段历史让 Mimblewimble 更像一场公开实验,而不是某个公司的产品。

第一块积木:金额用承诺盖上

Mimblewimble 交易里看不到明文金额。每笔输出是一个 Pedersen 承诺——用一个密码学承诺值“封住”一个数,别人看不出封里是多少,但协议可以验证“输出承诺之和等于输入承诺之和”这笔恒等式。校验通过就说明没有凭空造币,全程无需揭示数字。这与门罗币的机密交易思路同源,Poelstra 的论文也把它作为直接基础。

第二块积木:没有地址,只有承诺

它的设计里砍掉了比特币式的脚本系统和公开地址。授权花费靠的是接收方临时参与构造交易时的密钥配合,而不是一条“锁到某地址”的脚本。副作用是双刃剑:交易图上不再有明显的人造锚点,链上分析更难给资金“画血缘”;但可编程性几乎为零——原始论文自己承认,通用脚本没了,跨链原子交换、微支付通道这类依赖脚本的功能需要另想办法在其上重建。

第三块积木:cut-through 压缩历史

Mimblewimble 最激进的卖点是历史可以“切割”:同一区块里被花费掉的输出可以从历史中擦除,只保留未花费承诺集合和一张证明链。新节点同步的代价与当前状态规模挂钩,而不是全部历史。Poelstra 的整理论文给出的直觉是,按比特币当年的数据规模,这套结构能把需要重放的数据从数十 GB 压到极小量级。代价是:历史被压缩后,节点“从头重放验证”这条比特币式的安全底线变成对压缩证明的信任。

实现路线的分岔

Grin 坚持最小化发行与社区化开发,早期两年按预先约定每六个月一次硬分叉迭代;Beam 引入了静态代码审计与团队工资结构。两条路线对“同一个设计”给出了不同的治理与发行答案,也说明 Mimblewimble 本身只是协议草案,不绑定任何一条币。

一条直觉线

把它放回比特币谱系里看更清楚:比特币公开“谁付给谁、付多少”;CoinJoin 只模糊“谁付给谁”;机密交易只模糊“付多少”;Mimblewimble 是第一种把两者同时默认关掉的账本设计,再叠上历史压缩。也正因为“默认全关”,它不能兼容任何需要明文金额或脚本的功能——每加回一个功能,就要重新回答一遍“加回多少隐私损失”。这条取舍线是它所有优点和所有短板的总源头,读任何一条 Mimblewimble 系改进提案,先在这条线上找它挪动了哪一格。

快速问答

它能做到完全匿名吗? 不能。承诺隐藏金额、图结构被合并,但交互必须双方在线协调,网络层指纹、找零习惯与时间相关性都会漏信息。和零知识证明是一回事吗? 不是,Mimblewimble 主要靠承诺加法同态,门罗等方案才重度依赖范围证明零知识工具(二者也常搭配使用)。它淘汰了比特币的什么? 淘汰了脚本和明文金额的默认组合,换隐私和体积,损失可编程性。

常见误区

一是把它读成“匿名币 2.0”,它其实是一套账本构造方法,隐私效果取决于实现与使用纪律。二是把“历史可擦除”当成“账本可篡改”——切割的只是可省略的历史数据,双花与造币仍会被验证拒绝。三是把 Grin 与 Beam 的争论当成协议之争,其中更多是发行与治理分歧。

风险提示:本文只做机制与历史科普,不构成投资建议;隐私工具的合规边界因地区而异,使用前应了解当地法规。