原文:https://dev.to/devdavidejesus/i-read-a-320m-ransom-negotiation-from-my-terminal-1159(作者 @devdavidejesus)
Liquid Network 的资金是如何在公开场合被谈判回来的——一次一条 OP_RETURN 消息——以及任何有终端的人如何实时读到全过程。
在比特币区块链的某处,在数十亿美元交易之间被永远确认下来的数据中,现在有一个难过的表情。
两个字节。Hex 3a28。解码后:`:(`
它发布于 2026 年 9 月 7 日,出自那个刚刚把 3,400 BTC(约 2.68 亿美元)返还给 Liquid Network 联邦钱包、同时自己留下 598.5 BTC 的人之手。这看起来像他在比特币历史上也许是"最奇怪的一场谈判"中的收尾发言:奇怪的并不是金额,而是它的发生地点。
整场对话——首次接触、身份证明、条件、异议、和解——全部被写进了比特币交易里。公开。永久。地球上任何有终端的人都能读到。
我就在自己的终端里实时读完了它。这就是那个故事,每一条消息都已经被解码——每一个交易 ID 也一并附上,你可以自行验证每一个字。
发生了什么
9 月 6 日,大约 4,000 BTC(约 3.2 亿美元)离开了支持 Blockstream 的 Liquid Network 的联邦钱包——Liquid 是一条比特币侧链,用户锁定真实 BTC 以换取更快、更私密的 L-BTC。被盗之前,该钱包持有约 4,200 BTC。之后只剩 200 多一点。约 95% 的储备,在一次操作里消失。
没有密钥被盗。没有签名人被钓鱼。根据 Liquid 的声明,这笔提现走的是 SideSwap 的 peg-out 授权路径,授权密钥本身并未泄露——目前的主流判断指向一个软件漏洞:攻击者获得了本不该拥有的 L-BTC,然后用技术上完全合法的签名将其锚出为真实 BTC。
协议本身守住了,外围却在失血。
接着,在资金到账几分钟后,持有这些资金的地址开口了。
那个不太可能的信道
比特币交易有一个名为 OP_RETURN 的功能:一种输出类型,它携带一小段任意数据作为负载,而不是可花费的币。它于 2014 年 3 月在 Bitcoin Core v0.9.0 中被标准化,正是为了给人们一种干净的方式把数据嵌入链上。人们曾用它来做时间戳、证明、协议消息——偶尔,也会传递只给某一位特定读者、却当着所有人面送达的消息。
一条 OP_RETURN 消息几乎不花什么成本,无法编辑,无法删除,也无法被审查。这使它成为谈判归还 3.2 亿美元的一种出人意料合理的信道:没有可伪造的邮件,没有可冒充的私信——再加上 PGP 签名,就等于对说话者身份的可验证加密证明。
下面所有内容都是用 btc-toolkit 解码的,这是一个我维护的开源比特币 CLI。运行同样的命令;你也会读到同样的字节。
逐条消息的对话
1. 首次接触 —— 区块 965,818
持有被转走币的地址把这些币转了出去——总共约 3,998.5 BTC,手续费仅 269 聪——交易中附带了一条 37 字节的留言:
$ btc-toolkit opreturn c103de95817b43f2df635ec6f35ff126ca26a7c6d20570c4b01866b2b3e69a19 ✓ Found 1 OP_RETURN output(s): Output #0 ├─ Size: 37 bytes ├─ Hex: 776520617265207768697465686174732e20636f6e74616374207573206f6e20… └─ Message: we are whitehats. contact us on chain
- 2 亿美元被转走,附着一张纸条,而成本只相当于一根口香糖。
2. Blockstream 接电话 —— 区块 965,822
一个与 Blockstream 相关的地址以同样方式回应:向攻击者发送了 1,000 聪,附带一条 39 字节的回复。
$ btc-toolkit opreturn 91271efcbb5ab29abfc38ae635f0644e3ba042aad56f92d40136e1dde4742fe8 └─ Message: Please contact security@blockstream.com
3. 身份证明 —— 区块 965,865
对话继续留在链上。Blockstream 也在链上升级了对话:一条 1,297 字节的消息,堪称操作安全的小小杰作。它包含一段用攻击者自己地址背后的密钥加密的有效负载(Electrum BIE1 ECIES——意味着只有控制该地址的人才能读取),外加一个独立的 PGP 签名,以及供全世界验证的说明:
$ btc-toolkit opreturn bd81219691eb1e22475c5985d847fa888c38f1b6d2cb2b7193f54d0cfa72394c
└─ Message: Encrypted to the key behind bc1ql4mfu6aundtkksxklfajs2h3t9nzcd6gyqjlte
(Electrum BIE1 ECIES): QklFMQLaSmCm5qeNvxcJnaVGKqIVzH5Y3oL2OrBYayfMegxjx…
Detached signature by security@blockstream.com.
Public key: https://blockstream.com/pgp.txt
Fingerprint: 1176 542D A98E 71E1 3372 2EF7 4AC8 CC88 6844 A2D6
Verify: gpg --import pgp.txt && gpg --verify msg.asc msg.b64
-----BEGIN PGP SIGNATURE-----
…
=HAck
-----END PGP SIGNATURE-----
是的——签名 ASCII 装甲的校验和恰好读作 `=HAck`。这是 base64 百万分之一的巧合,还是 Blockstream 的人为了风格特意打磨签名,链上并没有说明。
4. 报价 —— 区块 965,869
攻击者再次转走全部约 3,998.5 BTC 的余额作为回复——他们每一条谈判消息都搭载在一笔转移全额资金的交易上——这次用 95 字节问:
$ btc-toolkit opreturn 3a3eac4a26395b8c2563aaf1eb8b1b77798c81c7d6337f51321827a244a480aa └─ Message: sending most back to bc1qdlld6antmv4xug242ed83q7k4rqw50cwfns38szx4qu2f4jwaxxsuhwxxr, is that ok
那个地址是 Liquid 的联邦锚定地址。事后看来,这句里的“most(大部分)”承担了很重的分量。
5. 条件 —— 区块 965,875
然后出现了让“白帽”说法多了几分可信度的转折。在归还任何资金之前,攻击者要求先修复漏洞——一条 1,512 字节的消息,漏洞细节用 Blockstream 的公钥加密:
$ btc-toolkit opreturn 83825b2135dd0abac12c9dfe17f29ab81b3427e1ae864947b0bebce5e47c3c4b
└─ Message: Please fix the bug first. The chain is under risk at latest commit
right now. Make sure every node is patched. Then we will transfer
the money back safely after confirming the fix. The detail is as
follows (encrypted using https://blockstream.com/pgp.txt).
-----BEGIN PGP MESSAGE-----
…
小偷通常不会检查你的修复工作。Blockstream 在同一个区块中的回复——897 字节,PGP 签名,只说了三个词:
$ btc-toolkit opreturn 8a444eed65c4584f138e08ee138f61490ef73e84f71e14dac3ca66c230cf7e97
└─ Message: -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Yes, thank you.
-----BEGIN PGP SIGNATURE-----
…
第二天早上,又一条签名消息确认桥梁节点已打补丁,资金可以安全归还。
6. 结算 —— 区块 965,950
归还交易于 9 月 7 日确认:恰好 3,400.00000000 BTC 回到 Liquid 联邦地址,同时 598.5 BTC——约 15%,价值约 4700 万美元——留在了攻击者手中。整个谈判过程中,没有任何一条消息提到这个数字,也没有称其为赏金。
$ btc-toolkit tx a6d697a25266ce3c78774fd1d75f896b7af522ada209b0f6228ea497bc49a46d
尾声 —— 区块 965,973
加密消息来回传递。然后,来自自称白帽的最后一句话——一共只有两个字节:
$ btc-toolkit opreturn d7e8837c51cc625c2c6365d371d376b035209fa01434d4933971d6428d6d6d52 Output #0 ├─ Size: 2 bytes ├─ Hex: 3a28 └─ Message: :(
那些加密信息里关于这 15% 的份额到底说了什么,无从知晓,但结局并不温馨。截至本文写作时,这个悲伤的表情是最后一个公开表态——而且至少还有一条加密的签名消息未确认,正躺在内存池里。故事可能还没有结束。
与此同时,场外的围观群众
这里是没有被任何头条捕捉到的部分:因为谈判桌是公开的,全世界都自己搬了把椅子围了过来。
沿着攻击者的地址历史翻看,在一次次 PGP 仪式之间,你会发现几十条陌生人的留言:求情信(“if you truly are white hat and return this, you'll not have only saved my family that includes a few month old baby…”)、讨价还价(“Gift 8.5 odd BTC. No more, no less.”)、职业建议(“Grant me 10BTC and I'll name my first born…”)、一波波推销 “Whitehat” 代币的 memecoin 垃圾信息、经典的翻倍骗局,以及指名道姓指控高管的阴谋论涂鸦——永久留存,也永久无法证实。区块链不做事实核查,它只打时间戳。
一场 3.2 亿美元的谈判,还自带评论区。
自己读——只需两分钟
你不需要相信这篇文章。这正是它的意义所在。
pip install btc-toolkit btc-toolkit opreturn c103de95817b43f2df635ec6f35ff126ca26a7c6d20570c4b01866b2b3e69a19
btc-toolkit 是一个零依赖的 Python CLI(只用标准库——安装环境里没有任何可被投毒的东西,在供应链攻击频发的年份这很重要)。不需要 Bitcoin Core;默认连接 Mempool.space 公共 API,使用 --api-url 也可以让所有查询指向你自己的节点,这样没人能看到你在验证什么。七个命令、110 个测试、MIT 许可证。
上面每一个交易 ID 都是真实的。把它们全部解码,沿着地址走下去,你会找到我没引用的留言。你读到的是第一手来源,而不是我的转述。
这并非昨天才开始
十多年来,人们一直在比特币上留下永久消息。一笔著名的 2023 年交易携带 34 字节,写着:“Craig Wright is a liar and a fraud.” learnmeabitcoin 项目把项目名嵌入一条补零的 75 字节消息中。(另外——中本聪的那句“Chancellor on brink of second bailout for banks”并不是 OP_RETURN:它位于创世区块的 coinbase scriptSig 里。这是常见的误解。)
这周改变的是赌注。OP_RETURN 从涂鸦墙变成了谈判桌——而且这张桌子全程都摆在公众面前。
启示
这周有两件事同时成立。
比特币本身从未被黑客攻破——基础层按设计处理了其中的每一笔交易,包括盗窃和归还。而比特币周边的生态系统经历了有记录以来最糟糕的几周之一——因为外围软件出故障了,软件本来就会出故障。
连接这两件事实的桥梁是可验证性。全世界能实时围观一场 3.2 亿美元的勒索谈判——核对签名、数清币数、看到那张悲伤的表情——是因为比特币的账本是公开的,任何关于它的说法都能被任何人用简单的工具在几秒钟内验证。
这不是一句口号,而是一个过程。也是你在上面不需要相信我任何一个字的唯一原因。
不要信任。去验证。
btc-toolkit 是开源的(MIT):[github.com/devdavidejesus/btc-toolkit](https://github.com/devdavidejesus/btc-toolkit) · `pip install btc-toolkit`
原文:https://dev.to/devdavidejesus/i-read-a-320m-ransom-negotiation-from-my-terminal-1159(作者 @devdavidejesus)



