2016-10-19 17:30

论比特币系统的共识规则

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

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

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必须使用硬分叉,可以顺便提升比特币区块的容量上限。

 

9、参考

 

[[1]]比特币白皮书:一种点对点的电子现金系统 http://www.8btc.com/wiki/bitcoin-a-peer-to-peer-electronic-cash-system

1.

硬分叉和共识网络:元问题和局限性 http://www.8btc.com/hard-fork-and-consensus-network

2.

以太坊“特修斯之船” http://www.8btc.com/ethereum-the-ship-of-theseus

3.

呼吁蚁池承诺作废25%以下分叉,维护比特币统一 http://www.8btc.com/kill_small_fork

4.

【彻底终结软硬分叉之争】安全硬分叉就是软分叉扩容 http://www.8btc.com/safe_hardfork_is_softfork[[5]]

本文链接:https://www.8btc.com/article/106800
转载请注明文章出处

评论(31)
登录 账号发表你的看法,还没有账号?立即免费 注册
merry 2016-10-27
非常感谢 http://blockmeta.com/tx/96c563bdbf8c419499546e281957a0a36737f8bcaa96986566edf42498debc2f 赞助0.04234 BTC
睿思通-专注比特币交易平台开发 2016-10-24
开发交易平台找我
我是大宇 2016-10-21
那么为什么北朝鲜能做到这一点,很简单,只要大老板说,你们要吗投yes,要么去死。扩容派情况也差不多,本来就希望core能改容量,提出来两年多,但一直拖,拖到大家心力憔悴,区块饱和的状态,然后core说了要不用我方案,要不就不完,反正已经满了你们看着办。
我是大宇 2016-10-20
不过闪电网络大的hub资金利用效率高,这种优势会导致节点越来越大,越来越集中
我是大宇 2016-10-20
你说的是闪电网络吗?闪电网络不存在中心化的结算,每个人自己保管私钥的,和交易所托管原理完全不同,潘志彪也证实了这点:http://t.cn/RVKNlZ2比特币三胖哥:。。。bs的目的就是把自己作为结算中心,你有没有考虑到如果是这样,假币更多,因为他是结算中心只要持有5%的真币就可以创造出一百的比特币
我是大宇 2016-10-20
那就顺其自然,现在的比特币已经最优秀了。bs的目的就是把自己作为结算中心,你有没有考虑到如果是这样,假币更多,因为他是结算中心只要持有5%的真币就可以创造出一百的比特币,这样对比特币好吗??????//@TDxths:问题在于bu和sw会互相掐着,导致谁都激活不了//@比特币三胖哥:比特币三胖哥:
我是大宇 2016-10-20
水无魂:我巴不得bu把激活阀值调到1%,已经说了,我没觉得分叉会导致完蛋,分叉了市值迟早照涨,但他们有没有这个胆量是个问题[嘻嘻]
我是大宇 2016-10-20
TDxths:什么叫“乱投医”?谁是一定能在“病人”死之前把“病”治好的“好医生”?Core是决定未来的权威吗?95%人的选择就一定是对的吗?自由市场不是应该用竞争来决出未来吗?既然大家在发展路线上严重分歧,为什么就不能各走各路?你坚持你的SW,我走我的BU,一分为二,让用户自由选择。
我是大宇 2016-10-20
水无魂:所以就要病急乱投医了?
我是大宇 2016-10-20
如果我记忆没错的话,SW的计划是今年2月开始的,他们给了一个日期:4月30日加3个月,而现在是10月20日了。嗯,让我们不“急切”地再等1年以上吧。
我是大宇 2016-10-20
我们信任core,有些人说是被裹胁、利用。那么信任classic和Unlimited就不是被裹胁、利用了?这种双重标准令人不齿
我是大宇 2016-10-20
问题在于bu和sw会互相掐着,导致谁都激活不了//@比特币三胖哥:比特币三胖哥:现在分叉最安全,反其道而行!!!!累了之后那些分叉党会拼死反对分叉的,而且又有共识!!!!!!!!//@比特币三胖哥:td,真实情况是比特币越分叉越安全,现在马上分叉,天天有人分叉!!!!!!分叉到那些分叉党累
我是大宇 2016-10-20
“急切”一词用的好,说白了classic和unlimited就是浮躁,巴不得马上扩容,一个月也等不了
我是大宇 2016-10-20
写得好!像江卓尔之类的诡辩,都是很自私的观点。
vatten 2016-10-19
文章里有很多不清晰的基本概念,所以也没法深究 先搞清楚:软分叉是规则收紧,硬分叉是规则放宽,都是指系统规则发生变化的一种情形,和区块链是否分叉没有直接关系,两者在某些条件下都可以导致区块链永久分叉 还有很重要的一点,主动争取共识的态度虽然重要,但比特币毕竟是个基于技术的系统,到底什么样的技术才有共识也很重要。如果共识只是几个大老板喝个酒开个会就决定了,或者风投砸个几千万到处做广告宣传就决定了,这种共识虽然达成了,对系统来说仍然是极大的风险。Blockstream已经以实际行动证明了,他们砸下去几千万美元,搞出了一个蹩脚的方案,导致了社区的严重分裂,可见并不是以政治的手段推动共识就一定代表系统是优秀的。BS的方案已经有很多专家指出有问题,其最大的争议就是违背了中本聪的白皮书
我是大宇 2016-10-19
比特币三胖哥:现在分叉最安全,反其道而行!!!!累了之后那些分叉党会拼死反对分叉的,而且又有共识!!!!!!!!
我是大宇 2016-10-19
td,真实情况是比特币越分叉越安全,现在马上分叉,天天有人分叉!!!!!!分叉到那些分叉党累了,他们会反对分叉的,懂!!!!!!@TDxths//@TDxths:一读就知水平了得,抬头一看,原来是9神的,不意外。用我自己的话说,core设置95%阀值是把你们当君子,而classic和Unlimited却利用了君子自我约束
我是大宇 2016-10-19
一读就知水平了得,抬头一看,原来是9神的,不意外。用我自己的话说,core设置95%阀值是把你们当君子,而classic和Unlimited却利用了君子自我约束的漏洞做了小人
我是大宇 2016-10-19
一些人的诡辩真是苍白可笑。开发社区坚持95%算力共识是滥用用户社区的信任,某些团体坚持75%的反而是合理利用了,因为彼95%的算力共识属于矿工告知开发社区我们ready,而此75%的算力才是真正的矿工投票,因为我们想do something!怎么这样会搞双重标准,这样会自贬身价,又这样昭然若揭呢?![嘻嘻]
我是大宇 2016-10-19
成工酱:对
  • 1
  • 2
下载
分享
收藏
阅读
评论
31
点赞
1
上一篇
下一篇