Peter Todd:改写比特币核心代码,不如对其进行分叉
时间:2014-11-26 来源:巴比特 作者:SunjeonLOVEs_抽抽
如果你真的很关心让比特币开发远离中心化控制,你应当按我在1年前对暗黑钱包团队所建议的那样去做:分叉比特币核心(Bitcoin Core),并更改其执行政策的非-共识-关键代码。分叉代码库,而非对其进行改写( rewriting),能最大程度确保你的代码真的在适当的实施协议。 ---- Justus Ranvier写道: 由于比特币有一个额外的共识要求,故漏洞(bugs)的修复就显得尤为重要。 修复漏洞有两种常见方式:要么作为控制、计划和管理过程的一部分;要么作为一个应急灾难响应。 为了静候某些危机,或是在网络崩溃的时候为其贴上张邦迪(就像在去年3月那样),在修复协议漏洞方面,寻找调度和规划升级的替代补丁是必要的。这些补丁可以被编写、被测试或被从容记录。 协议就是协议;漏洞就是发生在与协议不匹配之时。 若不对比特币漏洞进行修复,谁将从中获利 在现行模式中,技术规格(specification)即*是*协议。而比特币核心团队对任何东西的改变都怕得要死;他们得到的实权相当地少。要想对协议作出改变,软分叉(Soft-forks)是最小可行的方法。而如何采取步骤也显而易见:矿工共识。要想改变协议,这是最基本的,也是不可能被阻止的方法。 要想实现硬分叉(Hard-forks),我们需要政治共识。而创建政治共识的方法就是建立各种委员会、团体、协会,基金会等组织。这些组织里的各部分都需要中心化和政治权力。 你懂的。比特币基金会若想要夯实在比特币生态系统界的地位——掌控权力的权力经纪人,最聪明的方法就是,设置一个定期为1年或2年的硬分叉程序,并对可决定哪些部分可进入这个硬分叉程序的委员会进行管理。尚未有证据表明,他们不是有危害的恶魔,或,不能很好理解比特币。 我认为程序员会很难接受这个事实,因为他们大多只对写会被广泛应用的代码感兴趣。对于他们而言,很难接受比特币协议只*是*少少的千行C++代码。而且,他们没有足够的能力来写他们自己(能与比特币协议相匹配)的执行程序。如果我们把程序员换成作家,我们也许会发现同样的奇怪的、无意义的状况,人们会得到非常完美的RFCs,并用自己的语言对其进行改写。 (译者注:RFC,是一系列以编号排定的文件。文件收集了有关互联网相关信息,以及UNIX和互联网社区的软件文件。) 如果你真的很关心让比特币开发远离中心化控制,你应当按我在1年前对暗黑钱包团队所建议的那样去做:分叉比特币核心(Bitcoin Core),并更改其执行政策的非-共识-关键代码(non-consensus-critical code that implements policy) 。我利用费用-取代版本(replace-by-fee(1) version.) 做过这种尝试。Luke-Jr和他的Eligius branch也实现过,以一个相当于比特币哈希算力30%的分叉运行。(七彩神仙鱼矿池(Discus Fish) 最近已经在挖非-标准交易) 实际上,比特币核心客户端(Bitcoin Core reference client)的多*分叉*已渐渐被矿工们和其他用户熟知起来,确保没有“维持这样一个分叉”的团体,在没有强大共识的条件下,有能力做出任何改变。分叉代码库,而非对其进行改写( rewriting),能最大程度确保你的代码真的在适当的实施协议,这用于挖矿上,是安全的,并被实际使用的。 改写比特币核心(Bitcoin Core)是一个有意思的项目,也相当不明智(涉及可怕的政治)。 1) https://github.com/petertodd/bitcoin/tree/replace-by-fee-v0.9.3 2) https://blockchain.info/tx/e24a4085c54a6362e615f8eab758c12d80e488b73757e6d2b8ab6bfc8be7007e |