玩币族移动版

玩币族首页 > 币圈百科 >

论比特币系统的共识规则

  利益相关:除人民币外,本人只持有比特币,重仓并持续增持,山寨币二代币八代币,一概没有,也永远不会有。

  (江卓尔写文章喜欢写利益相关,似乎表明自己是个比特币死忠。那我也表个态,我没有莱特币。呵呵!)

consensus

  1、简介

  比特币是一个去中心化系统[1]。去中心化的属性决定了比特币系统内不存在绝对权威,因此,对比特币系统进行升级显得尤其困难。

  当然,系统升级容易也并非什么好事。比如,很多山寨币,动不动就搞硬分叉升级,无论是纂改数据,还是修改规则,只要创始人振臂一呼,一天分两次叉也不是个事。反之,比特币无论是软分叉,还是硬分叉,都非常困难。

  比特币进步极其缓慢,很多人错误的认为这是坏事,担心比特币升级太慢,被其它山寨币超越,但比特币仍然坚挺的保持龙头老大的地位。也有人认为,比特币越难被升级,就意味着它去中心化程度越高。而在虚拟货币领域,没有什么事情比去中心化程度更值钱,于是比特币自然而然地雄霸虚拟货币榜首。

  但是,比特币系统就真的不需要升级吗 当然需要。比特币仍然还有很大的改进空间,系统内的所有人,仍然希望比特币能不断改善。那么,最重要的问题来了,比特币系统的升级规则是什么 谁决定 如何决定 如何执行 中本聪的白皮书并没有对这个问题进行讨论。

  我个人认为,很多人(包括少数比特币的资深玩家)对这个问题仍然缺乏理解。本文将详细讨论我个人对比特币系统升级规则的理解。

  2、比特币系统如何升级

  比特币系统升级规则,决定了软、硬分叉能否实施,以及如何实施,它是比特币系统最应该被明确的规则。但是,这个问题很少被讨论。最近,MAbtc 探讨了比特币共识系统,并重点强调了硬分叉升级的危险性[2]。这种思想导致很多人谈硬分叉色变,认为比特币永远不能硬分叉。长铗也专门撰文抨击以太坊进行硬分叉篡改区块链数据[3]。

  而另外一些人则完全忽视比特币共识规则,认为只要能避免两条链产生就能执行硬分叉。比如:江卓尔先后发表了两篇文章,讨论如何弄死另外一条链 [4][5]。通俗的说,江卓尔根本没有与他人达成共识的意愿,心中甚至对共识完全没有概念,一心只想着如何把异见者全部干掉。

  我个人认为,这两种想法都在走极端。比特币系统的升级一定要通过共识完成的,而且也一定可以通过共识完成。无论是软分叉,还是硬分叉,在完全共识的前提下,都是没有问题的。我不反对硬分叉,但是现阶段,我反对硬分叉扩容,这是因为硬分叉扩容没有完全的共识,这个问题将在后面讨论。以太坊之所以第一次分叉失败,其核心原因也是没有达到完全共识。但最近的第二次分叉,由于是修复Bug,连原链 ETC 也必须修复,所以这次分叉就是完全共识。

  3、为何 95% 代表完全共识

  什么是完全共识呢 如果系统内的所有人都同意某件事,那么我们就称之为完全共识。完全共识不同于投票表决,投票表决忽视少数人的意见,强制执行少数服从多数。但是,投票表决在去中心化比特币系统中根本行不通,无视少数派意见必然造成两条链,以太坊就是前车之鉴。如果比特币采取少数服从多数的策略,那么它也不可能发展至今日。

  那么问题来了,在去中心化系统,每个人的价值观、经验和财富都不一样,怎么可能达到完全共识呢 事实确实如此,如果人群符合正态分布,那么对于任何一个议题,都不能达到100% 共识。如果我们把完全共识定义为 100% 共识,那么理论上比特币系统永远也无法升级了。因此,这个定义不具备可操作性,我们只能退而求其次,寻找一个最接近的方案。

  在统计学上,我们把概率小于 5% 的事件称为是小概率事件。这意味着,只要共识度达到95%,我们便可以认为系统没有达到共识的概率是5%,是小概率事件。因此,在比特币系统中,我们近似认为95% 就代表完全共识。而且,我们也通常使用 95% 的置信度来表达测量误差。

  这个数字既不能改成九二共识的 90%,也不能改成Classic的 75%,更不能改成BU的不设置。因为这个数字压根就与是否分叉两条链无关,或许 90% 的分叉阈值就能避免两条链,但是,它无视了那10%的反对概率,而 10% 显然不属于小概率事件,也就不能被算作是完全共识。

  接下来的问题是,我们如何知道系统达到了超过 95% 以上的共识呢 这就是算力“投票”的由来。实际上,这并非真正意义的投票,它只是为了测量系统的共识度。只有测量的共识度达到95%,才可以认为系统完全共识,从而激活升级方案。否则,如果共识度始终达不到95%,那么整个比特币系统选择不升级,继续执行原有的规则。

  4、比特币系统的信用

  换句话说,比特币系统尊重少数意见,即使少数派只有6%,整个比特币系统便跟随少数派不进行升级。这是比特币系统升级缓慢的根本原因,但这恰恰是比特币相对其它所有山寨币更值得信耐的原因所在,我们把它称为比特币的信用。

  比特币信用对储值者尤其重要。我们储值者是很少关心比特币进展的,因为我们没有时间天天看比特币新闻,研究比特币动态。我们最大的心愿就是——囤币睡觉。因此,我们希望比特币的升级都是在完全共识下完成,这样我们就可以一劳永逸,不操心分叉,也不操心增发。10年20年之后,手上的比特币仍然是当初买币时候的比特币。这种稳健就是一种信用,而维护这种信用,才是比特币系统最重要的事情,任何其它事情都是不值一提的。

  我们都知道有个币曾红极一时,后来又变得臭名昭著。这个币据说有很多牛逼的功能,只是很可惜,它发生无数次硬分叉,而且不可避免的增发(当某人有权力硬分叉时,他必然会增发,就像央行一样)。但是这种事绝对不可能发生在比特币系统,任何人提出硬分叉方案,要达到95%的支持,都基本没有可能性。目前看,只有一种状况会执行硬分叉——系统出现严重Bug,就像以太坊今天发生的第二次分叉一样。

  5、判断各方的企图

  了解了比特币系统的完全共识机制,我们就可以来评判每个提案的意图了。

  凡是坚持95%分叉阈值的,就是在寻求共识。比如说,隔离见证。虽然 Via 矿池已经明确表示反对隔离见证,Core 团队仍然把分叉阈值设置在 95%,这说明 Core 的意图是寻求共识,宁愿此方案最终不能被激活,也不主动破坏比特币系统的共识机制。同时也向所有人表态,开发者只发布代码,至于能否被激活,由用户决定。Core 控制比特币的谣言不攻自破。

  反之,凡是不接受95%分叉阈值的,其首要目的是推广自己的方案。如 XT-Classic-Unlimited 一方,一直在降低自己的分叉阈值。这说明他们因为害怕方案不被激活,而不惜破坏比特币的共识规则。很显然,他们的目的并非要寻求共识,而是不择手段的推广自己的方案。为了自己的方案得到实施,甚至不惜强行干掉别人。

  到底谁试图操控比特币,我想已经很明白了。在我心中, XT-Classic-Unlimited支持者完全不值得信耐。他们肆意践踏规则,如果把权力交给他们,那是自寻死路。

  在这件事情上,最令人失望的无疑是加文。虽然无论他现在做什么,都无法抹杀他以前的贡献。但是,在扩容的问题上,他昏招迭出。为了推广自己的方案,不惜首先打破共识规则,甚至试图在不共识的情况下强行实施硬分叉。但是,比特币系统很强大,即使影响力如加文,只要试图破坏共识规则,就会被系统无情的抛弃。

  我个人完全支持比特币系统的共识规则。虽然,我喜欢隔离见证。但是,如果真有超过6%的算力反对,我也尊重别人的选择,因为比特币系统规则就是如此。通俗的说,我宁愿放弃自己喜欢的方案,也要维护共识规则。如果隔离见证最终不被激活,我肯定很不爽,但是依然选择接受。

  我唯一不能接受的是,对系统共识规则的践踏,因为它迟早毁掉比特币。这次干掉50%的异见,下一次又干掉50%的异见,再下一次……比特币就成你家的。

  6、硬分叉完全自由

  完全共识的条件太苛刻,如果某人自认为自己的提案很好,却又得不到95%的支持,是否就意味着这个方案没有希望了呢 当然不是,因为硬分叉是完全自由的。

  XT-Classic-Unlimited 支持者如果坚信大区块是对的,能够得到完全共识,就应该把分叉阈值设置在95%。一方面坚称自己的方案最好,一方面不断调低分叉阈值,这本身就是一种矛盾,调低分叉阈值本身就是不自信的表现。

  而如果担心得不到完全的共识,正确的做法是创造一个属于自己的分叉,但这个币就不是比特币了,因为比特币的每一次升级都是共识的结果,非共识分叉统统叫做山寨币。山寨币并非没有前途,以太坊的分叉链就超越了原始链。因此不要纠结于自己的名字,市场能做出选择,请立刻去实施 Unlimited 的分叉。

  我真的无法理解XT-Classic-Unlimited 支持者。比如说,喊得最厉害的江卓尔,始终不把自己的算力切到 Classic,让人不得不怀疑他的动机。再比如,他最近提出所谓“安全硬分叉”,但是你问题你的代码在哪里 他会告诉你,他没有。表面支持比特币,手里却拿着大量莱特币。表面支持硬分叉扩容,挖的却是 Core 的矿。表面高喊去中心化,却极力想办法干掉异见。

  7、何时硬分叉扩容

  肯定不会是现在,因为扩容问题根本不值得使用硬分叉。在没有完全共识的时候,硬要这样做,贸然破坏长期形成的共识规则,破坏比特币的信用,得不偿失。对比莱特币,我们的认识会更清晰,它区块相当于每10分钟4M。如果大众喜欢大区块,喜欢便宜的手续费,为什么大众不去使用莱特币呢 我们真的有必要,通过一次硬分叉干掉异见,然后把比特币变成莱特币 江卓尔是不会担心的,因为比特币死了,他还有莱特币。而我不同,我真的很担心!

  但是,我也不认为硬分叉就一定不能执行。如果比特币网络发现重大Bug,不使用硬分叉,比特币网络面临死亡的风险。此时,在硬分叉修复Bug的同时,顺便把容量上限提高一些,是完全可行的。由于修复重大Bug,比特币网络硬分叉必然会达到完全共识,而趁此机会顺便把容量适度提高至2M或者4M,是完全可以接受的。

  8、总结

  (1)去中心化系统不可能实现100%的完全共识,但比特币需要完全共识进行升级,因此它使用95% 支持代表完全共识,认为 5% 的反对概率为小概率事件,可以忽略不计。这个数字既不能改成九二共识的 90%,也不能改成Classic的 75%,更不能改成BU的不设置。

  (2)达到完全共识,比特币系统才能升级。否则,比特币系统维持原状。这已经成为比特币系统的信用,也是其储值的基础。

  (3)隔离见证坚持95%分叉阈值的方案,说明Core团队在寻求共识。宁愿自己的方案不被激活,也坚持遵守共识规则。XT-Classic-Unlimited支持者持续调低分叉阈值,说明他们不过是为了推广自己的方案罢了,江卓尔方案的本质是干掉不同意见,而不是寻求共识。

  (4)未达到完全共识,也可以实施硬分叉,硬分叉是每个人的自由。创造一个山寨币也未见得一定输给比特币,最重要的是,说到做到别BB。

  (5)硬分叉扩容肯定不会发生在近期,因为不值得。如果未来解决比特币系统重大Bug必须使用硬分叉,可以顺便提升比特币区块的容量上限。

知识: 比特币系统