Author

Topic: [20141126]Peter Todd:改写比特币核心代码,不如对其进行分叉 (Read 1134 times)

hero member
Activity: 714
Merit: 500
去中心化系统本身就不排斥分叉 最终是矿工和完全节点投票。
sr. member
Activity: 448
Merit: 250
如果你真的很关心让比特币开发远离中心化控制,你应当按我在1年前对暗黑钱包团队所建议的那样去做:分叉比特币核心(Bitcoin Core),并更改其执行政策的非-共识-关键代码。分叉代码库,而非对其进行改写( rewriting),能最大程度确保你的代码真的在适当的实施协议。

Justus Ranvier写道:

由于比特币有一个额外的共识要求,故漏洞(bugs)的修复就显得尤为重要。

修复漏洞有两种常见方式:要么作为控制、计划和管理过程的一部分;要么作为一个应急灾难响应。

为了静候某些危机,或是在网络崩溃的时候为其贴上张邦迪(就像在去年3月那样),在修复协议漏洞方面,寻找调度和规划升级的替代补丁是必要的。这些补丁可以被编写、被测试或被从容记录。

协议就是协议;漏洞就是发生在与协议不匹配之时。

若不对比特币漏洞进行修复,谁将从中获利?

在现行模式中,技术规格(specification)即*是*协议。而比特币核心团队对任何东西的改变都怕得要死;他们得到的实权相当地少。要想对协议作出改变,软分叉(Soft-forks)是最小可行的方法。而如何采取步骤也显而易见:矿工共识。要想改变协议,这是最基本的,也是不可能被阻止的方法。

要想实现硬分叉(Hard-forks),我们需要政治共识。而创建政治共识的方法就是建立各种委员会、团体、协会,基金会等组织。这些组织里的各部分都需要中心化和政治权力。

你懂的。比特币基金会若想要夯实在比特币生态系统界的地位——掌控权力的权力经纪人,最聪明的方法就是,设置一个定期为1年或2年的硬分叉程序,并对可决定哪些部分可进入这个硬分叉程序的委员会进行管理。尚未有证据表明,他们不是有危害的恶魔,或,不能很好理解比特币。

我认为程序员会很难接受这个事实,因为他们大多只对写会被广泛应用的代码感兴趣。对于他们而言,很难接受比特币协议只*是*少少的千行C++代码。而且,他们没有足够的能力来写他们自己(能与比特币协议相匹配)的执行程序。如果我们把程序员换成作家,我们也许会发现同样的奇怪的、无意义的状况,人们会得到非常完美的RFCs,并用自己的语言对其进行改写。

(译者注:RFC,是一系列以编号排定的文件。文件收集了有关互联网相关信息,以及UNIX和互联网社区的软件文件。)

如果你真的很关心让比特币开发远离中心化控制,你应当按我在1年前对暗黑钱包团队所建议的那样去做:分叉比特币核心(Bitcoin Core),并更改其执行政策的非-共识-关键代码。我利用费用-取代版本(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

转载自:巴比特资讯(http://www.8btc.com/re-bitcoin-development-the-difficulty-of-writing-consensus-critical-code-the-sighash_single-bug)
Jump to: