比特币开发者VS铭文:一场由来已久的争端

 2023-12-15 14:18:35发布 2023-12-15 15:14:42更新

本月初,Bitcoin Core 的开发者 Luke Dashjr 在 X 平台申明其对 Ordinals 类铭文协议的反对,直接将其视为对 Bitcoin 的攻击,认为铭文正在利用 Bitcoin 的漏洞来向比特币网络发布垃圾信息。该论述迅速在 Bitcoin 社区发酵,并获得了大量的关注和讨论。

争论的由来

12 月 6 日,Bitcoin Core 开发人员 Luke Dashjr 在社交媒体发文表示,“铭文”正在利用 Bitcoin Core 客户端的一个漏洞向区块链发送垃圾信息。

自 2013 年以来,Bitcoin Core 允许用户设置在转发或挖矿交易时的额外数据大小限制。通过将其数据模糊为程序代码,铭文绕过了这个限制。

Luke Dashjr发文截图

Luke Dashjr发文截图

简单来说,这个具有资深经验的比特币客户端开发者认为现在以市值进入前 50 的 ORDI 为代表的铭文赛道,是个 Bug,且可修复。

Luke Dashjr 表示,“这个漏洞最近在比特币 Knots v25.1 中得到修复。由于去年底我的工作流程受到了严重干扰(v24 被完全跳过),修复时间比平常长。在即将发布的 v26 版本中,Bitcoin Core 仍然存在漏洞。我只能希望它会在明年的 v27 之前得到最终修复。”

Luke Dashjr 在该推文下方的留言回复中明确表示,如果这个 Bug 修复,Ordinals 铭文和 BRC20 代币将不复存在。

作为比特币 OG,Luke Dashjr 一直是 Ordinals 协议直言不讳的批评者。今年 2 月,Dashjr 就曾发推表示“Ordinals 协议是对比特币的攻击”。5 月第一波铭文热潮出现时,Dashjr 和 Bitcoin Core 的反对声也一度被视为铭文发展的不确定因素。

不过之前的骂战并没有引发大范围讨论,毕竟 Ordinals 还是一个被市场偏见的产物。但现在涨幅 2 万倍的 ORDI 已经是全民 meme,Luke Dashjr 一句话,让 ORDI 市值在几分钟内就蒸发了 3 亿美金。

Luke Dashjr:比特币早期开发者

Luke Dashjr 有没有资格评价比特币?他当然有。Luke Dashjr 在 2011 年遇到了比特币,不久就以开发人员的身份加入了该项目。他的编程知识使他迅速成为主要的比特币开发者,帮助比特币实现了早期建设。

他对比特币软件的早期贡献主要集中在对 Bitcoin Core 的安全性、性能和高级功能进行故障排除。

按提交次数排序来看,目前 Luke Dashjr 在Bitcoin Core 代码贡献者排名第 14 位。

Luke Dashjr的排名

Luke Dashjr的排名

作为加入的早期开发者,Luke Dashjr 几乎参与了所有比特币早期重要事件。

由于 Bitcoin Core 存在软件错误,Dashjr 是 2013 年最早发现比特币硬分叉的人之一。2014 年,Dashjr 开始在比特币生态系统中发挥更大的作用,因为其使用的 BFG Miner 修改版本允许矿工以比当时其他矿工更高的性能工作。

2016 年,Dashjr 推出了 BIP-2,这是对另一位比特币开发者和著名密码学家 Amir Taaki 提出的 BIP 格式的重大改进。在 2016 年和 2017 年期间,Dashjr 也是比特币中激活 Segwit 的关键参与者。

Dashjr 在比特币发展中做出的其他贡献包括 BIP-22 和 BIP-23,分别旨在优化区块生成结构和提高矿池内的效率。

Luke Dashjr为何不喜欢Ordinals

Luke Dashjr 对 Ordinals 的厌恶源于他对保留比特币原教旨主义的坚定信念。

2022 年年底,软件工程师 Casey Rodarmor 创建了“Ordinals”协议,它对比特币中的最小单位“聪”进行编号,并通过 Taproot 存储文件元数据,从而创建一个独特的 NFT。

接着 domo 发布了 BRC-20 协议,可以在 Ordinals 协议之上创建可替代的代币标准。随后掀起了今年的铭文热潮,也带动了比特币生态大爆发。

2 月 1 日,比特币矿业公司 Luxor 称挖矿了有史以来最大的比特币区块,该区块大小为 3.96MB,略低于比特币的 4MB 的限制。该区块包含一个基于原始“magic internet money”meme NFT,名为 Taproot Wizards。

Luke Dashjr 等比特币生态开发者认为这会造成比特币区块链大小迅速膨胀,运行全节点的设备要求大幅提高而导致全网全节点减少,抗审查性下降。

同时,超预期的巨大交易和巨大区块会冲击钱包、矿池、浏览器等生态设施,导致一些设施出现异常,比如某些交易未能正常解析。

此外,矿池或矿工为了减少同步和验证巨大交易和区块的时间,可能选择不下载,不验证该交易和区块的情况下出块,带来安全风险。

他们甚至严厉指责 Taproot Wizard 该行为,表示:“这是对比特币的攻击,比特币区块有 1M 限制,Taproot Wizard 的 4M 数据是放在 witness 中上链的,区块和交易都绕过了 1M 限制,4M 可以,400M 也可以!从这个意义上讲,这不是创新,是对漏洞的攻击!”

今年 2 月 28 日,Luke Dashjr 在社交媒体上表示,有拍卖网站在未经其同意的情况下使用他的名字和代码来创建和销售“具有误导性”的 NFT。

截图显示该 NFT 包含一张他写的代码的图片,在拍卖网站上以 0.41 比特币的价格出售。

“我没有参与这个或任何其他 NFT 的创建和销售,我不同意将我的代码或我的名字用于此目的。”Luke Dashjr 在推特上做出澄清恶化批评,“由于涉及的虚假陈述和实际买家的混淆,我强烈要求将拍卖收益的 100% 退还给买家。”

Dashjr 认为 Ordinals 不仅仅是堵塞网络的垃圾邮件,它们也是对比特币可替代性的攻击,如果接受它们的存在将会破坏闪电网络和 CoinJoin。

Luke Dashjr回复截图

Luke Dashjr回复截图

Luke Dashjr的真实目的

虽然 Luke 在部分言论中对 BRC-20 和各种铭文表达了消极态度,并表示如果新版的节点客户端程式码释出并被广泛采用,届时BRC-20 和 Ordinals 可能消失。

但当其他人指出可以把比特币Layer 2 作为BRC-20 新的归宿,以避免对比特币主网造成负担时,Luke 肯定了这种看法,并没有对BRC-20 进行“意识形态”上的绝对否定。

后来 Luke 本人更是直言:不是非要铲除所有铭文,才能给比特币网路带来益处。

Luke Dashjr回复截图

Luke Dashjr回复截图

归根结底,Luke 不满之处似乎在于,各种衍生产物引发的资料膨胀给比特币主网带来的风险,而不是对这些衍生品本身“赶尽杀绝”,更多是想把 Ordinals 这类“不速之客”驱逐到比特币主网之外的设施上,这恰恰给比特币Layer 2 本身带来了机遇。

但 Luke 的激进做法本身也引发了许多人的争议,他的行为不但涉及到比特币生态话语权的纠纷,也反应出了BTC 与ETH 在产品设计哲学上的本质不同:多年前Vitalik 曾在类似的事情上与Luke 等人意见相左,间接导致前者决心自己做一条链。

以下将对Ordinals 协议与Luke 的解决方案进行技术面的解析,并对 Luke 和 BRC-20 玩家为代表得问题展开简要阐述。

Ordinals协议的原理

单从技术的角度去看,Ordinals 协议是⼀个为聪(SATS,⽐特币最⼩单位)编号的系统,或者说是以比特币 UTXO 作为储存媒介的衍生协议。

Ordinals 为每个聪赋予⼀个序号,再附加上额外的资料(文字、图片、程式码等),使每个聪都变成独一无二的 NFT,这个过程称之为“铭刻”。 BRC-20 在 Ordinals 的基础上,⼜推出了类似 ERC-20 同质化代币的发行⽅法。

但 BTC 指令码并不图灵完备,⽆法实现以太坊那样复杂的智慧合约系统。

以最简单的 transfer 功能为例,基于 Ordinals 协议的衍生资产需要在指令码中写入如下内容:

指令码

指令码

这是⼀个纯文字的互动,比特币网路本身对 BRC-20 的交易内容不进行任何运算和状态结算。

使用者看到的 BRC-20 转帐成功等讯息,都是那些认同 Ordinals 协议的节点自己将 BTC 链上的原始指令码解析 + 计算后,得到的最终结果。

如果你只有 100 个 ORDI,但在 transfer 的时候数量写成 10000 个,也是可以传送这笔交易至比特币网路的,但相关节点和浏览器并不会将其解析为⼀笔有效的转帐。

所以Ordinals 本质上只是将比特币网路当做永存资料且不可更改的网盘,链上只铭刻了元资料、操作宣告等,但所有操作的运算和状态结算,全部都位于链下的资料索引网站的伺服器中。这种思路和 Arweave 生态的专案 EverPay 几乎如出一辙。

综合来看,Ordinals 有下列问题:

  1. 没有统⼀共识的状态运算层。不同钱包、浏览器等解析出的资料并不一定相同,此前曾多次发生使用者资产在不同钱包上有不同显示结果的现象。
  2. 依赖中心化的 Indexer 基础设施。以区块链的标准来看,这种应用对安全性是没有严格要求且不可靠的。
  3. 使用场景狭窄。在以太坊中⼀系列复杂的 DeFi 活动都不可能基于简单的 Ordinals 协议完成,甚至目前的 Ordinals 交易只能通过挂单来完成,而非采用流行的 AMM。所以,Ordinals 这类产物似乎在以太坊上实现会更好。
  4. 网路污染。 Ordinals 对聪的操作形式,如数千名使用者在短时间内只操作$ 0.1 的价值却支付$ 10 的转帐费⽤,在BTC 原教旨主义者眼中非常类似粉尘攻击,在这些使用者或开发者眼中,BTC 主要是⽤于储值和转帐,而 Ordinals 活动严重干扰了正常的网路运转。
  5. 增加了使用者的使用成本。各种铭文抬高了比特币主网的手续费,对其他使用者造成了影响,而且 BRC-20 和 Ordinals 引入的新基础设施需要使用者理解和使用新钱包、新工具等。

Luke的解决思路

面对 BRC-20 和 Ordinals 问题,Luke 并没有直接修改共识层,而是通过修改 Spam Filter (policy) 模组,使节点在收到 P2P 广播讯息时,直接拒收 Ordinals 交易。

在 policy 中,有多个 isStandard () 系列函式来检查交易的各个方面是否符合标准,如果不符合,则节点收到的这笔交易很快就会被抛弃。

换句话说,Ordinals 最终可以上链,但大多数节点不会把这样的资料放进交易池里,这会延长 Ordinals 资料传递给愿意将其打包上链的矿池的延时。但如果有矿池广播了一个包含 BRC-20 交易的区块,节点们还是会认可。

Luke方案的解释

Luke方案的解释

Luke 已经在 Bitcoin Knots 客户端中提交了 policy 的修改,在 Bitcoin Core 客户端中,他也想将相同的提交加⼊进去。而在 policy.cpp 中,他新增了⼀个名为 g_script_size_policy_limit 的引数,该引数在多个位置对指令码大小进行了限制。

之前的客户端中对 Pay-to-Taproot(也即 Ordinals 使⽤的交易型别)的指令码⼤⼩没做限制,最终在此补上

其中,g_script_size_policy_limit 预设值为 1650 Bytes,会限制许多 Ordinals 中使用的指令码。

Luke 在 V25.1 中引入了此参数并将默认值设置为 1650

Luke在V25.1中引入了此参数并将默认值设置为1650

可以看出本次 Luke 提到的升级路线与他在 Bitcoin-dev email 中提到的在客户端中增加 Filter 来过滤非正常 Taproot 交易的思路一致。

如果矿工们也同样接纳现行代码中的这一改动,那将在节点中拒绝 relay 网络中 script size 大于设置(default 1650 Bytes)的 Taproot 交易,部分 Ordinals 交易将无法正常被广播。

但由于该引数仅仅是用于 Spam Filter 模组,而非共识模组,所以节点可以自行修改该引数的大小,来接收更大指令码的交易。

这些交易虽然不符合Core 开发者的预期,但仍然可以被⽐特币的共识协议所接受,也就是说,只要有一个矿池愿意打包Ordinals 相关的交易资料,Ordinals 就依然可以在比特币网路存活,只是相关使用者的UX 会比现在更差。

这种方法无法做到完全消除 Ordinals 的链上活动,不会引入任何硬分叉。虽然⼀定会有节点不遵守新的 Policy,但由于之前根本没有该 Policy,那么更新后只要有节点遵守,就可以降低 Ordinals 活动数量。

Luke 的预期是⼤部分节点都会遵守他提出的 policy。这个更新总体上来说是柔性的。

只要有一个矿池愿意打包 BRC-20 和 Ordinals 资料,后两者就依然可以在比特币主网延续下去,只是相关使用者体验会变的很差。但只要比特币 Layer 2 快速启动,BRC-20 和 Ordinals 在 Layer 2 上一样可以运转顺利。

区块链的信仰危机

在区块链行业,经常会谈到“信仰”,对区块链的信仰,对比特币的信仰,对加密货币的信仰。

Luke Dashjr的举动不仅仅限于“大区块与小区块”之争。尽管从技术和产品的角度来看,Luke似乎只是在捍卫比特币社群长期以来的极简哲学和去中心化理念,这种保守的思路与以太坊形成鲜明对比,但它始终是“区块链世界不可或缺”的一部分。

还有一些人认为,比特币本身就是一个巨大的社群治理实验场,Luke Dashjr只是代表其中的一派力量。比特币不属于任何个人,它是矿工、交易所、开发者和用户之间多方博弈的结果。无论Luke怎么针对 BRC-20,那些种类繁多的铭文都会在比特币生态系统内找到合适的归宿。

但除了以上两点,这件事还能引申出大多数人并没有意识到的问题:

如果从意识形态的角度去考察最近的“Luke Dashjr”事件,不难将其抽象为“技术派”和“交易派”之间的冲突,使人们对比特币乃至于区块链的“所有权”本身产生思考:

谁可以代表比特币生态,是那些自称为中本聪继承者的贡献者们,还是那些整天沉迷于炒币交易的投机客们?

如果从Luke等比特币社群OG的角度看,大多数 BRC-20 爱好者都是那种只顾个人利益的人,他们完全不关心其他事情,一心只想赚钱,我们似乎不值得为了他们去维护利益,而将 BRC-20 从比特币网络中移除,这对 BTC 生态的长期利益更为重要。

但反过来,那些完全否定 BRC-20 和 Ordinals 价值的人,忽视了”Web3主流使用者”的利益,似乎也同样是自私且缺乏思考的,他们是否总是认为高贵和正确的东西本身就是不现实和虚伪的呢?那么站在制高点去嘲笑那些”庸俗之人”,是否只是一种虚伪的行为?

归根结底,金融市场本身不涉及道德,很难说谁的行为更具道德性,谁的行为不道德,一切都取决于机制和规则,而区块链所推崇的”非许可(Permissionless)”并没有否定 BRC-20 这类”空气币”的存在。

虽然有无数人曾就区块链可以带来的巨集大愿景做出过激情澎湃的描绘,曾不止一次推崇所谓的“中本聪精神”与“Trustless 最大主义”,但为什么中本聪和Gavin Wood 等人所幻想的“美元替代品”与“下一代网际网路”还没有到来,先到来的却是一系列“上不了大雅之堂”的东西?这是否是拜“去中心化网路”本身极差的 UX 与使用门槛所致?

对于一个对使用者不友好、几乎永远无法在使用者体验上与 Web2 抗衡的东西,又能给人们带来哪些 Web2 所没有的场景?如果它很难取得 Web2 所不具备的产品优势,所谓的“去信任化”的口号又真的能够被大多数人所接受吗?

或许技术至上主义者的确有资格嘲笑 BRC-20 玩家们唯利是图,可以认为区块链并不该沦为“链上赌场”,但我们更应该认真思考区块链的意义所在。

如果它并不像中本聪所说的那般巨集大可敬,它所鼓吹的许多乌托邦式的思想在时间的推移中被不断证伪,那么所谓的“code is law”以及“Mass Adoption ”乃至“Web3”背后,又是否隐藏着一场堪比尼采式“上帝之死”的重大信仰危机?如果所谓的“中本聪主义”只是一种类似于 Marx 主义的空中楼阁,那么我们是否该反思 Web3 真正能够解决的问题到底是什么?

也许我们并不能对上述问题给出直接答案,但不可否认的是,区块链本身的可分叉、多元社群属性,终究会赋予人们更高的自由选择权,在这个不完美的Web3 世界中,不会只有一个版本的链。

很多时候,解决眼前的现实问题,远比沉浸于一些“永远存在于明天”的美好幻觉要重要的多。

推荐阅读