如何获得一个稳定的协议——矿工投票的重要性
第0章 引言
为什么比特币的协议升级会引起那么大的争议?有些人觉得这特性明显就是对的,就应该立刻马上升级,不同意见的人,同样吵翻天,不听他也不行。
本文从去中心化的加密数字货币的协议升级的博弈方向分析如何获得一个稳定的协议进化方向。
第1章 一个事关共识协议特性的升级条件
要对BCH的共识层协议进行升级至少需要达成两个条件。第一是开发者去研究要升级的特性,并且写代码实现特性。第二是所有矿池节点要更新开发者写好的软件。任何单方面采取行动都是没有意义的。
还有一个隐藏的第三个条件,比特币发展到现在,纯粹的志愿开发者已经不能胜任了,至少不能是主力开发者。开发者现在需要有稳定的收入来源,而开源软件的开发并不能直接带来利润,所以开发者需要赞助。不带任何倾向于的赞助,也并不是主流。所以这里的第三个条件就是得有对候选升级特性感兴趣的赞助者,或者说开发者的研究方向需要符合赞助者的倾向。
矿池说要升级,但没有开发者去研究和写代码是没有用的。这就是在2014到2017年比特币扩容争议中发生的事,矿池想扩容,但bitcoin core开发者不同意。所以在BTC上,扩容这个涉及共识层的协议变更失败了。
如果开发者研究并且实现了代码,但矿池又达不成统一意见,无法共同更新软件,那也是没有意义的。在比特币的扩容之争中,先后虽然有bitcoin XT、 classic和unlimited,这些开发组都实现了扩容的软件,但又得不到矿池的共同支持。所以扩容失败。
需要说明的是,一个协议特性的升级的前提条件并不是市场需要、用户需求、更好的比特币、应用等等这些。这些全是主观的。还要排除的是各种一些舆论的影响,KOL的呼声,这些肯定会起作用,但同样是模糊的,说不清楚的。而上面说的三种力量,才是直接的,可确定性的。
第2章 开发者和矿池的动机
更深入一层。因为开发组基本上全是非盈利性的,但开发者干活不会白干。开发者做研究和开发的主要动力在两个东西,一个是声誉,第二是收入。
开源程序世界里的评价体系是非常量化的,如何评估一个开发者在开源程序里的地位,可以使用代码或特性影响力(可以使用代码被引用和讨论的数量来量化),“提交”数量,代码数量这些量化指标来评估。但这些量化指标并不能直接指向“更好的比特币”这样的目标。事实上,你可以看到在任何一个数字货币的github代码仓库里,都有大量的无意义的提交,纯粹是为了刷存在感。
因为创新是很吸引人的,所以开发者多数是喜欢创新的。但创新同样不是和市场需求、更好的比特币等等这些光伟正的词直接相关的。比如单纯的优化软件效率,这是矿池喜欢的,但开发者往往不喜欢做这个事。
我这么说并不是想矮化甚至污蔑开发者,科学家也是这样对待科研的,但凡是以声誉为目的的行为,都会滑向这套逻辑。我这么写是不带感情色彩的。
开发者对收入的需求很大程度上是来自于大公司和社区的赞助,我们不需要掩盖这种赞助的背后会对开发者有方向的影响,至少开发者不能去开发那些让赞助方不爽的方向。而赞助方的直接目的同样也不能用更好的比特币这些光伟正的词来修饰。比特币发展到现在,赞助方的直接目的更应该是契合公司的利润目标。
而矿池呢,矿池选择软件的首要目标同样不是直接为了“更好的比特币”。矿池是一个商业公司,商业公司要的是利润,更好的比特币和更多的利润不是构成正相关的。矿池直接想要的是更好用的软件,更稳定的软件。
我这里只是说,开发者和矿池的“首要目标”不是为了“更好的比特币”,我强调的是,他们的“首要”目标。我并不怀疑他们都有希望比特币更好的愿望。但“更好的比特币”这种愿望,是一种主观的,很难衡量的。
第3章 两种力量的均衡
直接决定共识协议特性升级的三种力量,构成了一种相互制衡。
这三种力量本质上是相互独立的,在认知上是赞助方和矿池是不能理解开发者的工作的。我不是对矿池和赞助方的矮化和鄙视,这是客观事实。同样的,开发者对商业上的应用也并不是很了解。这种相互独立的结果是对比特币升级需要什么特性会造成完全不一样的偏差。因为对升级方向的理解不一样,开发者想要的,可能不是矿池想要的。
在利益上,矿池和开发者之间的也是没有关联的,虽然有搞好了比特币都涨价这种潜在的共同利益,但这个还是太虚幻了,我倾向于认为矿池和开发者利益是相互独立的。
还有另外一种制衡。那就是矿池之间和开发者之间都存在相互竞争的关系。目前BCH的协议升级,就是两个开发组之间激烈的竞争,bitcoin abc团队和nChain团队,分别持有不同的升级特性,并且是不兼容的。
这些相互制衡的结果就是比特币的协议进化方向不会朝着任何一方认为的最优解前进,进化效率低下,从另外一个角度看,这会带来协议稳定。这种均衡带来的协议是一个可接受的解,未必是最优解。在比特币协议整体上已经接近完善的现状上,我认为稳定是一个更重要的目标,而技术上的最优解,应该让步于稳定。
但这个制衡是有一个漏洞的,就是矿工是否真的有投票权利?
第4章 矿工是否有投票权利是协议稳定的一个关键
真实情况是,目前几乎所有加密数字货币的矿工根本就没有投票的权利,决定协议进化的就是开发者,包括BTC,目前矿工也已经放弃了投票的权利,而是完成听从bitcoin core的协议改进方向。
目前唯有BCH还可能保留这一机会。
最重要的原因是矿工和矿池运营者对底层技术的理解,完全被开发者秒杀,这种认知差距是非常巨大的。矿池拥有专业的技术人才储备,也只能在开发者写好的代码,写好的文档的基础上做理解工作。矿池现在和开发者想要沟通,都不是一个轻松的事,双方的认知不在同一个层面上。
另外一个原因就是挖矿挣钱,而开发偏向是公益的,这在舆论压力上,矿池就会失去挑战开发者的权威。而开发者也害怕矿池手上的投票权会让开发者沦为矿池的打工仔。
如果想要得到一个稳定的协议,矿工和矿池必须掌握自己手上的权利。矿工和矿池需要提高认知,和多开发者交流和学习,化解误解,积极参与到这场博弈中来。
第5章 结束语
大家都声称为了BCH好,但你的好和我的好是不一样的好,找到一种都认为好的好,才是真的好。
(欢迎加我微信号:HSL13116885 加入我的知识星球)
另请阅读:如何获得一个稳定的数字货币协议——稳定是发展出来的,而不是设计出来的
上一篇:Bitcoin Cash到底是一种协议、还是一种产品?