Decred的前世今生之《比特币面临的最大挑战》(一)

yuwen 发布
1036e2c965f32881765ebfa2ed512e08?s=156&d=retro

yuwen

本文系 Decred 开发团队的 CEO 在发布 Decred 之前所写。


原文: https://blog.companyzero.com/2015/11/bitcoins-biggest-challenges/

我进入比特币生态系统已经两年半了,对我来说,从组织结构角度来看,比特币一直存在一些严重的问题。虽然很多人可能不知道我是谁,不过他们应该知道btcsuite项目。这一项目完全由我个人负担经费,并且通过与我一起工作的开发者为其做贡献。2013年初,我的一个开发者因为bitcoind到OpenBSD端口转移的事情和Core开发者闹得不愉快,之后我就决定重新开发另一个比特币客户端,通过提供Bitcoin Core(BC)单一架构以外的新选择,这会是一个很有意思的项目,比特币社区也将从中获益。我自己支付经费彻底重建了比特币的基础架构,虽然进入这一领域的时间并不长,但我对比特币总是有着独特的观点。我找到了几个我认为一直以来比特币存在的严重的问题:项目管理、资金发展以及PoW矿工权力过大。

项目管理

相信很多人都已经意识到,一直以来比特币社区充斥着有关是否增加最大区块容量的辩论。一些正式的调查以及推特上的内容都暗示了大部分企业和矿工是支持扩容的,但大多数BC开发者反对这么做。要解决这个争端有两种方案:

  • 允许BC开发者强制把最大区块容量限制在1MB,否定社区的扩容要求。
  • 创造BC分叉实现大区块容量,让足够多的矿工和企业进行切换,强制扩容,否定BC开发者的要求。

上述两种选择都不理想,也不比任何最终将达成的方案更重要,这就反映出了管理危机。为了更好地了解当前的危机,我们先要快速回顾一下自2009年以来比特币的管理历史。

2009年初,比特币项目从一位人物——中本聪(SN)手中起步,随后其运行模式和很多开源项目一样,而SN则是一位和善的独裁者。SN的独裁一直持续到2010年底,他指定Gavin Andresen当他的继承人。而Gavin的独裁持续到了2014年4月,当时他退居幕后,不再是首席开发者,成为了首席科学家。这时Wladimir van der Laan成为了首席开发者,但很显然,先前的独裁已经逐渐被削弱,并且正在向寡头政治转移。这种新的寡头政治由BC开发者承担,其制止了所有独裁行为,要求新决定要通过GitHub上的讨论过程,访问权则掌握在BC开发者之中的一小群人手上。这种非正式的寡头政治就是当前比特币的管理体系。

大多数比特币社区成员都已经注意到,这种非正式的寡头政治存在大量问题:

  • BC开发者之间的共识就是100%的同意,因此要想做出任何实质性的改进都需要获得一致同意。
  • 2014年以前BC开发者的资金完全来自于捐赠,而之后捐赠不足以支撑更多开发者,很多BC开发者在开发比特币的过程中无法获得收入,因此只能依靠社区内的某些个人。
  • 2014年10月,大部分BC开发者决定参与Blockstream的成立,这家公司是由风投投资的。这就导致BC开发者和其投资人的经济利益更加复杂,因此Blockstream的业务模式和区块扩容辩论之间就形成了利益冲突。由于大多数BC开发者都为Blocksream工作,也就是说这一组织有权对比特币的改进提出有效反对,对是否采用改进也能产生大量影响。
  • 2015年4月,由于比特币基金会的资金问题,几个BC开发者加入了MIT(麻省理工)媒体实验室的数字货币项目。因为MIT是一所学校,不以盈利为目的,因此与Blockstream相比,这些BC开发者的加入不会造成利益冲突。然而,目前尚不清楚MIT是否能对这些开发者产生影响。和加入Blockstream的开发者一样,这些开发者也能对比特币的改进带来决定性的影响。
  • 2015年5月,Gavin开始呼吁将最高区块容量增加到20MB,这造成了BC开发者之间的激烈辩论。经过几个月的争论之后,他决定离开并且为Bitcoin Core的分叉Bitcoin XT工作,这一客户端增加了区块容量。其计划通过推进全节点的普及来推翻反对区块扩容的BC开发者。
  • 企业、不是来自Core的比特币开发者、矿工、比特币持有者以及其他比特币客户端的开发者对有关比特币未来发展的任何决定都没有投票权。虽然他们投入了大量的时间、精力和资金,但除了BC开发者之外,没有人真的能够左右BC的决策制定过程。这些群体很可能联合在一起反抗BC开发者,但这样就会造成开发团队和社区的严重不合。

基于上述观点,很明显的是,比特币的管理模式必须做出改变。目前比特币的管理模式并不承认其它利益相关者的地位,并且由于BC开发者共识独大,这种管理模式正在逐步衰落。除了这一架构正在走向衰落以外,就算是从BC开发者共识模式向更弱的模式转移,比如说66%的共识推动改进,也必须受到Blockstream的影响,因为他们雇佣了太多的BC开发者。另外,所有参与比特币生态系统的人且不是BC开发者的一员无权对左右任何问题。

资金发展

有心的读者以及那些熟悉开源软件的人很可能已经意识到上述所说管理问题传达的主题:很多近期的管理问题都和资金来源的缺乏有关。在开源软件领域,尽管某项目普及率很高,也很可能接收有限的甚至是零捐赠。在这一模式中,比特币也不例外,比特币基金会收到的捐赠一次可能只能支持一到两位开发者。而他们同时拥有多个全职雇员来维护并发展BC,这也就意味着有大量的开发工作都没有得到应得的报酬。

虽然大多数的BC开发工作都没有得到报酬,但近期,这一模式发生了改变。Blockstream和MIT媒体实验室的资助为开发者创造了稳定的收入来源。对于开发者开说,这一情况显然比没有报酬要好得多。然而,通过外部企业来资助BC开发者会造成利益冲突,难免引起猜疑:外部企业是否会对比特币产生影响。

举个例子,假设在成立公司之前,Blockstream开发者更倾向于1MB的区块。那么问题就来了,同一批开发者从保持1MB容量并且使用侧链中能够获取经济利益,因此,即使他们对是否保持1MB容量留有个人意见,他们也不可能公开表露其真实想法。这就意味着外部观察者无法区分这些开发者的真实行为和个人利益驱动的行为。

除了利益冲突之外,外部企业对他们雇用或者资助的BC开发者能够产生多大程度的影响也尚不清楚。我认为他们对开发者的个人立场的影响有限,但似乎事实并非如此。我参与过不同的组织,我知道在有些地方需要面对的不仅仅是“喝下苦艾酒”(有苦难言)而已。目前,我们只能希望这些资助BC开发工作的企业不会对BC的开发产生不正当的影响了。

PoW矿工权力过大

比特币的PoW矿工手握巨大影响力,这种影响力大多是不受限制的。矿工能够控制区块交易,决定哪些交易可以写入区块,哪些区块是可以接受的,也就是说他们能够通过挖空块来进行DoS攻击,他们也能审查交易并决定不将其写入区块或者阻碍新的共识规则的部署。在现实生活中,(据我所知)矿工尚未部署任何审查机制,但的确有很多区块不包含交易或者包含数量较少的交易。到目前为止,矿工并未通过拒绝升级来阻碍任何新的共识规则。虽然审查和拒绝升级是当前不存在的问题,但它们很可能会在将来出现。

挖空块或者交易较少区块是对比特币的DoS攻击。就算区块中交易为零,手续费过低无法产生经济激励,矿工也能收到区块奖励,因此现在缺乏一种激励机制来鼓励矿工在单个区块中包含尽可能多的交易。除了包含少量交易不会有惩罚措施之外,矿工挖出交易量较小的区块还能获得直接的经济激励,因为广播大区块所需时间更长。这和大多数比特币用户的利益相悖。

虽然审查尚未成为一个问题,目前的算力分配显示中国已经掌握了超过50%的算力。另外,我预计大多数用于挖矿的ASICs芯片都是在亚洲制造的,但很可能在中国组装。这就意味着中国在未来将拥有大量活跃算力。众所周知,中国的审查机制十分严格,因此不难想象中国政府会将审查机制应用到比特币矿工身上,比如说拒绝挖那些包含特定UTXO输入的交易,因为他们与法轮功有关。如果这类审查通过矿工部署到比特币中,我们几乎就不能做出什么改变了。

由于矿工负责创建新的区块,他们可以与其他大型矿工一起阻碍或者强制推行软件升级。矿工没有义务挖基于新的共识规则的区块,比如说最高区块容量超过1MB,但如果大部分区块都转为新版本,他们就必须遵守软分叉改进。如果矿工联合在一起,他们绝对能阻碍共识规则升级。或者矿工可以通过更新共识规则来更新网络,迫使其它全节点运营商跟随他们的脚步。如果剩余的全节点拒绝跟随矿工强制执行的更新,那么就会出现分叉,因此矿工强制执行升级是一种高风险行为。如果你觉得当前的管理状态还不够乱的话,我要告诉你的是,矿工是另一群有权否决共识规则改进的组织。

总结

本文列出的大量挑战对比特币的进一步发展以及长期普及来说十分关键。针对这些问题最直接的解决方案不适合比特币,因为涉及了激励架构和共识规则的根本变化。除了实现这些改进的技术难题之外,由于BC内部对区块扩容这一简单改进的记录反对,可以肯定的是出于政治因素,他们很可能会反对上述问题解决方案的部署。这样一来,唯一一个应对这些挑战的合理方式就是创造一种竞争币来部署相应的解决方案。

我们一直都在开发一种新的竞争币且在其系统中部署这类问题的解决方案,我们将会在两周内对外公布。下一篇文章将会分析应对这些挑战的相应方案。Company 0研发竞争币并不意味着btcsuite将会停止,反之,我们已经通过后端改进修复了btcsuite的几个bug。这个竞争币是基于比特币和btcsuite的,因此我们认为btcsuite的改进——bug修复以及升级能够维持持续的共生关系。