fiatjaf看P2SH的战争
翻译:DeepL,Google Translate,校对:李林
这篇关于P2SH在比特币上实施的历史的文章有两个宝贵的教训,说明了bitcoind 去中心化的好处:
- 多个代码库的好处。Russell O’Connor在他的替代比特币软件实现中发现了OP_EVAL的错误。
- 有限用户管理单一主仓库的危险。Gavin Andresen首先提交了一个破损的OP_EVAL的代码,然后推送了一个邪恶的矿工激活信号机制,默认为他个人喜欢的P2SH版本(要发出相反的信号,矿工就必须编辑代码并重新编译),并在与一个更好、更理智的方法(Luke Jr的OP_CHECKHASHVERIFY)的竞争中,仅靠惯性的力量就赢得了胜利:代码已经合并,而且还在运行所以没有人愿意为一个看似不重要的改进而战斗,但后来被证明是大大的好.
第二个教训实际上可以分成4个不同的教训:
- 维护者提交了一个bug,但没有人注意到它。
- 维护者提交了一个邪恶的激活机制。
- 人都从众,因为很难公开反对一个人人都爱的中心,而且现状是偏见存在,而且很强烈。
- 现在看起来很好的事情以后可能会变得很糟糕,反之亦然,无论多少专家的 “代码之眼 “都无法解决这个问题。