在幣圈,沒時(shí)間學(xué)習(xí)我理解,但是發(fā)生了大事件,借大事件延展學(xué)習(xí)下,也是種高效學(xué)習(xí)法則。
要弄懂EOS的內(nèi)閣競選——要懂共識(shí)機(jī)制——弄懂共識(shí)機(jī)制必須——從兩軍問題+拜占庭將軍問題說起!記住了,這不是兩個(gè)歷史故事,是兩個(gè)無解的問題。
1 兩軍問題
很多講區(qū)塊鏈文章講到這個(gè)問題很難看懂,會(huì)繞來繞去。我仔細(xì)研究了之后,覺得要先講個(gè)場景:平時(shí)我們使用社交軟件,發(fā)出一條信息,有的社交軟件在對(duì)方閱讀之后,你可以看到“已讀”字樣,但是有的比如微信,你發(fā)出的信息,對(duì)方讀沒讀你是不確定的。對(duì)吧?那么,如果是非常要命重要的一條微信信息,你必須第一時(shí)間得到回復(fù),一般我們?nèi)粘>蜁?huì)在重要信息后面附上一條:收到務(wù)必回復(fù)。那么假設(shè)對(duì)方一直沒有回復(fù),你就知道要么是他故意不爽你不搭理你,要么是在忙沒有看見。
好,對(duì)方還是看見了,對(duì)方回復(fù)了,假設(shè)對(duì)方就是小芳,她回復(fù)了:“我收到了。”但是小芳在想,你這么著急,剛才一直忙沒有回復(fù),現(xiàn)在她想確認(rèn)你知道她知道了,希望不給你留個(gè)壞印象。怎么辦?一般現(xiàn)實(shí)中你收到后,會(huì)回個(gè)笑臉。
很多時(shí)候,即使用微信的人,都感覺到,當(dāng)領(lǐng)導(dǎo)回了個(gè)笑臉,你總覺得是否要繼續(xù)回復(fù)一朵玫瑰作為社交禮儀。這種無窮無止境的信息傳達(dá)多多少少是有點(diǎn)的,大家也困擾過對(duì)吧。而且,這里面還有個(gè)悖論,如果有人偷了小芳的手機(jī)替她惡作劇回復(fù)了,你怎么辦呢?
好,這就是兩軍問題。
如果在古代沒有移動(dòng)互聯(lián)網(wǎng)沒有微信,兩軍交戰(zhàn),要讓信使去傳話呢?
A將軍可以先發(fā)送一個(gè)消息:6月1日凌晨發(fā)起攻擊。但是,一旦消息發(fā)送出去,A將軍并不知道B是否收到了這個(gè)消息。這種不確定性使得A將軍攻擊之前非常猶豫,因?yàn)橛歇?dú)自發(fā)起攻擊的危險(xiǎn)。
為了讓A將軍放心,B將軍可能要發(fā)送一個(gè)確認(rèn)的返回信息給A將軍:“我收到了你消息,我會(huì)在6月1日凌晨發(fā)起攻擊”?墒,這個(gè)給A將軍的確認(rèn)消息也面臨著被守衛(wèi)軍截獲的可能,B將軍也猶豫了,如果A將軍沒有收到確認(rèn)信息,那么A將軍很有可能停止此次攻擊。
OK 接下來你就很容易理解——
2 拜占庭將軍問題
拜占庭羅馬帝國在軍事行動(dòng)中,采取將軍投票的策略來決定是進(jìn)攻還是撤退,也就是說如果多數(shù)人決定進(jìn)攻,就沖上去。但是軍隊(duì)中如果有奸細(xì),比如將軍已經(jīng)反水故意亂投票,或者傳令官叛變擅自修改軍令,那怎么保證最后投票的結(jié)果真實(shí)反映了忠誠的將軍的意愿呢?
不多解釋這古老的名字,但是就是因?yàn)橛羞@些古老的問題,而且這些名詞一直被用在計(jì)算機(jī)領(lǐng)域,并且經(jīng)常出現(xiàn)在計(jì)算機(jī)網(wǎng)絡(luò)課程的開頭。并且,兩軍問題是在計(jì)算機(jī)通信領(lǐng)域首個(gè)被證明無解的問題,由此也可推論出,隨機(jī)通信失敗條件下的“拜占庭將軍問題”也同樣無解。
所以,
由于上述的那些問題,需要達(dá)成共識(shí)。
共識(shí)機(jī)制 —— 區(qū)塊鏈項(xiàng)目的靈魂設(shè)計(jì)!
解決一致性的問題。
區(qū)塊鏈技術(shù)不是孤立于計(jì)算機(jī)信息技術(shù)成立的,這句話看似廢話,但實(shí)則很多人容易走不通這邏輯。區(qū)塊鏈技術(shù)在牛逼,它也是建立在過去計(jì)算機(jī)的發(fā)展,底層技術(shù)的基礎(chǔ)上發(fā)展起來的,分布式云儲(chǔ)存、密碼學(xué)的發(fā)展,準(zhǔn)確的說,區(qū)塊鏈這個(gè)行業(yè)是社會(huì)各行各業(yè),包括金融業(yè)在內(nèi)發(fā)展到一定階段,必然出現(xiàn)的大拼盤。不是說,大拼盤不偉大,恰恰相反,仍然是第四次科技革命。我只是要強(qiáng)調(diào),區(qū)塊鏈技術(shù)不是單獨(dú)重新發(fā)明的一項(xiàng)技術(shù),而是同樣遵循互聯(lián)網(wǎng)底層架構(gòu)邏輯。
區(qū)塊鏈從本質(zhì)上而言是一種分布式賬本技術(shù)。傳統(tǒng)的賬本,通常會(huì)以數(shù)據(jù)庫的形式,集中存儲(chǔ)在銀行或公司的服務(wù)器節(jié)點(diǎn)上。而在區(qū)塊鏈的網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)都會(huì)保有一份完整的賬本,且所有節(jié)點(diǎn)的賬本內(nèi)容完全一致。每個(gè)節(jié)點(diǎn)都可以根據(jù)自己本地的賬本去查找交易,也可以往賬本中添加交易。
這樣就帶來了一個(gè)問題,如果所有節(jié)點(diǎn)同時(shí)一起寫入賬本數(shù)據(jù),那么肯定數(shù)據(jù)會(huì)不一致。因此需要一種機(jī)制來保證區(qū)塊鏈中的每一區(qū)塊只能由一個(gè)節(jié)點(diǎn)來負(fù)責(zé)寫入,并且讓所有其他節(jié)點(diǎn)一致認(rèn)同這次寫入。如何選出寫入賬本數(shù)據(jù)的節(jié)點(diǎn),這就是共識(shí)機(jī)制。
既然如此,它就存在開篇說的問題。在區(qū)塊鏈上面共識(shí)機(jī)制有很多種類,比特幣采用的和EOS采用的是不同的,但是,你不能說哪種共識(shí)機(jī)制完美,哪種絕對(duì)的不好。沒有籠統(tǒng)的答案,也就是說,不可能適用于所有的應(yīng)用場景。
目前共識(shí)機(jī)制最常見的3種,再多了被一些專業(yè)技術(shù)專家提起的共9種。今天我們只簡單講PoW、PoS、DPoS。
PoW(工作量證明)采用簡單粗暴但極為有效的方式,通過節(jié)點(diǎn)首先自證其資質(zhì)后才進(jìn)行廣播的方式,大幅度減少了網(wǎng)絡(luò)間的通訊壓力,但與之帶來的問題則在于自證資質(zhì)的計(jì)算資源消耗極大。
比特幣在區(qū)塊的生成過程中使用了PoW機(jī)制,一個(gè)符合要求的區(qū)塊哈希值由N個(gè)前導(dǎo)零構(gòu)成,零的個(gè)數(shù)取決于網(wǎng)絡(luò)的難度值。要得到合理的區(qū)塊哈希值需要經(jīng)過大量的嘗試計(jì)算,計(jì)算時(shí)間取決于機(jī)器的哈希運(yùn)算速度。當(dāng)某個(gè)節(jié)點(diǎn)提供出一個(gè)合理的區(qū)塊哈希值,說明該節(jié)點(diǎn)確實(shí)經(jīng)過了大量的嘗試計(jì)算,當(dāng)然,這并不能得出計(jì)算次數(shù)的絕對(duì)值,因?yàn)閷ふ液侠淼墓V凳且粋(gè)概率事件。當(dāng)節(jié)點(diǎn)擁有占全網(wǎng)n%的算力時(shí),該節(jié)點(diǎn)即有n%的概率找到區(qū)塊哈希值。
PoW依賴機(jī)器進(jìn)行數(shù)學(xué)運(yùn)算來獲取記賬權(quán),資源消耗大、共識(shí)機(jī)制高、可監(jiān)管性弱,同時(shí)每次達(dá)成共識(shí)需要全網(wǎng)共同參與運(yùn)算,性能效率比較低,容錯(cuò)性方面允許全網(wǎng)50%節(jié)點(diǎn)出錯(cuò)。
好處是PoW完全去中心化,節(jié)點(diǎn)自由進(jìn)出。
PoS(權(quán)益證明)采用與傳統(tǒng)分布式一致性驗(yàn)證類似的機(jī)制,通過代幣數(shù)量(或存儲(chǔ)容量等指標(biāo))作為權(quán)重依據(jù),使用某種分布式算法選舉出每次的檢查點(diǎn)節(jié)點(diǎn)。這種機(jī)制的好處在于沒有消耗計(jì)算資源的自證資質(zhì)過程,但是帶來的問題在于每次選舉時(shí)在大量節(jié)點(diǎn)的網(wǎng)絡(luò)中對(duì)網(wǎng)絡(luò)壓力極大。
在PoW中,一個(gè)用戶可能拿1000美元來購買計(jì)算機(jī),并加入網(wǎng)絡(luò)來挖礦以此產(chǎn)生新區(qū)塊,從而得到獎(jiǎng)勵(lì)。而在PoS中,用戶可以拿1000美元購買等價(jià)的代幣,并把這些代幣當(dāng)作押金放入PoS機(jī)制中,這樣用戶就有機(jī)會(huì)產(chǎn)生新區(qū)塊而得到獎(jiǎng)勵(lì)。
DPoS(股份授權(quán)證明)作為PoS的變形,通過縮小選舉節(jié)點(diǎn)的數(shù)量以減少網(wǎng)絡(luò)壓力,是一種典型的分治策略:將所有節(jié)點(diǎn)分為領(lǐng)導(dǎo)者與跟隨者,只有領(lǐng)導(dǎo)者之間達(dá)成共識(shí)后才會(huì)通知跟隨者。該機(jī)制能夠在不增加計(jì)算資源的前提下有效減少網(wǎng)絡(luò)壓力,在優(yōu)秀的軟件實(shí)現(xiàn)中將會(huì)具有較強(qiáng)的應(yīng)用價(jià)值。
EOS 采用的就是DPoS
節(jié)點(diǎn)選舉若干代理人,由代理人驗(yàn)證和記賬,但其合規(guī)監(jiān)管、性能、資源消耗和容錯(cuò)性與PoS相似。類似于董事會(huì)投票,持幣者投出一定數(shù)量的節(jié)點(diǎn),進(jìn)行代理驗(yàn)證和記賬。
DPoS的工作原理如下:每個(gè)股東按其持股比例擁有相應(yīng)的影響力,51%股東投票的結(jié)果將是不可逆且有約束力的,其挑戰(zhàn)是通過及時(shí)而高效的方法達(dá)到“51%批準(zhǔn)”。為了達(dá)到這個(gè)目標(biāo),每個(gè)股東可以將其投票權(quán)授予一名代表。獲票數(shù)最多的前100位代表按既定時(shí)間表輪流產(chǎn)生區(qū)塊。每位代表分配到一個(gè)時(shí)間段來生產(chǎn)區(qū)塊。
從公有鏈的角度來看,共識(shí)算法就是公平和效率孰重孰輕的決策,技術(shù)實(shí)現(xiàn)不是難點(diǎn),難點(diǎn)在于如何從社會(huì)學(xué)、從人性出發(fā)去設(shè)計(jì)激勵(lì)機(jī)制。還有些為了規(guī)避風(fēng)險(xiǎn)也好,或者崇尚無幣的鏈也好的機(jī)構(gòu)團(tuán)隊(duì),比如金融機(jī)構(gòu),由于不需要鏈上的代幣激勵(lì),因而改進(jìn)的拜占庭容錯(cuò)(PBFT)、PAXOS、RAFT等傳統(tǒng)分布式一致性算法就成為首選。
EOS的超級(jí)節(jié)點(diǎn)競選
EOS 是目前全球流通市值第六大的數(shù)字加密貨幣,備受關(guān)注的主鏈之一。目前EOS全球21個(gè)超級(jí)節(jié)點(diǎn)的競爭已進(jìn)入白熱化,薛蠻子、李笑來、老貓暴走恭親王等投資人,EOS社區(qū)紛紛加入EOS超級(jí)節(jié)點(diǎn)之爭。美國目前競選主要有EOS 底特律、EOS 卡羅拉多、EOSSocal、EOS 紐約、EOS 俄克拉荷馬、Blockgenic、EOS SLC等節(jié)點(diǎn),據(jù)說EOS紐約是EOS創(chuàng)始人BM經(jīng);(dòng)的社區(qū),其入選被認(rèn)為是板上定釘。雖然官方一再說ETH不會(huì)成為EOS的對(duì)手,但是很多投資人還是會(huì)拿來進(jìn)行比較。除挖礦收益外,EOS將每年增發(fā)5%分給這些超級(jí)節(jié)點(diǎn),大約每一個(gè)節(jié)點(diǎn)每年可以獲得238 萬個(gè) EOS的收益。而且,如果EOS6月份主網(wǎng)上線后顛覆ETH,價(jià)格將暴漲幾十倍甚至上百倍。
EOS采用的是DPOS(委托權(quán)益證明)共識(shí)機(jī)制,EOS持有者根據(jù)手里持有的EOS Token來給所有節(jié)點(diǎn)競選人投票,得票數(shù)量前21位就可以當(dāng)選主節(jié)點(diǎn)。可以理解為總統(tǒng)組建內(nèi)閣,普通人進(jìn)不了上議院,要投票選舉代表,讓內(nèi)閣成員來做決策。
競選者需要先提供網(wǎng)站和社交帳號(hào),組織的名稱、所在位置,服務(wù)器類型、位置,到2018年6月3號(hào)之前的預(yù)算支出以及技術(shù)方案,2018年6月3號(hào)之后的硬件擴(kuò)容計(jì)劃以及社區(qū)支持計(jì)劃等。要給社區(qū)一個(gè)選你的理由。EOS的白皮書中提到,EOS每年會(huì)增發(fā)代幣總量的5%給這21個(gè)主節(jié)點(diǎn)。EOS的總量是10億枚,5%也就是5000萬枚,按照EOS的市場價(jià)約36元人民幣,分給21個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)仍有8500萬元收益。
我們這些小咖,吃著薯?xiàng)l,看看熱鬧就行。
EOSG(https://eos.io/)已經(jīng)公布了參與競選節(jié)點(diǎn)候選人需要提供的六點(diǎn)材料:
、俟簿W(wǎng)站和社交網(wǎng)站賬號(hào)
②組織的名稱、所在位置;服務(wù)器類型、位置;至少2/3的現(xiàn)有員工的圖片及其背景信息
③2018年6月3日之前的預(yù)算支出以及技術(shù)方案
、2018年6月3日之后的硬件擴(kuò)容計(jì)劃
⑤社區(qū)支持計(jì)劃
、揠妶(bào)和供社區(qū)成員測試的節(jié)點(diǎn)
感興趣的可以看看這兩個(gè)網(wǎng)站的信息:
https://forums.eosgo.io/
https://eos.io/
https://forums.eosgo.io/categories/chinese
中國EOS
http://myeos.world/
中文版本的EOS超級(jí)節(jié)點(diǎn)競選候選人的網(wǎng)站
為了規(guī)避“賄選”,EOS官方設(shè)置了一種新的投票規(guī)則:任何一個(gè)EOS,都可以投出30票。也就是說,如果你持有一個(gè)EOS,你可以投給30個(gè)節(jié)點(diǎn)分別一票,也可以選擇只投給某幾個(gè)節(jié)點(diǎn),但是只能給一個(gè)節(jié)點(diǎn)投票最多1票。
按照這個(gè)規(guī)則,投票不再有唯一性。這個(gè)規(guī)則在一定程度上避免了“賄選”的可能,對(duì)于各個(gè)節(jié)點(diǎn)而言,把自己做得更好顯得更重要了;而用戶,也不再需要在投給A節(jié)點(diǎn)還是B節(jié)點(diǎn)這個(gè)問題上猶豫了。
但是,這個(gè)規(guī)則也可能會(huì)產(chǎn)生新的問題。如果某幾個(gè)節(jié)點(diǎn)(<21個(gè))已經(jīng)掌握了大量了EOS,并且這幾個(gè)節(jié)點(diǎn)互相聯(lián)盟互相投票,再加上一定力度的宣傳。那么,產(chǎn)生的21個(gè)主節(jié)點(diǎn)很可能就是同一個(gè)陣營,并且在以后的每一屆競選中,他們都可以再次結(jié)成聯(lián)盟,從而徹底掌握和影響EOS主節(jié)點(diǎn)競選結(jié)果。
另外,按照此前 EOS 團(tuán)隊(duì)公布的準(zhǔn)入門檻,光使用亞馬遜 AWSEC 2 主機(jī) x1.32x large 型的服務(wù)器的成本一年就高達(dá) 96.9 萬人民幣,并且隨著EOS的交易量上升帶寬成本也會(huì)增加;不過,成為EOS“超級(jí)節(jié)點(diǎn)”即使收入只為1%也足夠支撐起EOS的運(yùn)維成本。超級(jí)節(jié)點(diǎn)的運(yùn)營平臺(tái)至少要牽頭搭建EOS生態(tài)的基礎(chǔ)工作主要有:(1)貢獻(xiàn)EOS底層代碼;(2)開發(fā)安全的EOS冷熱錢包;(3)保障智能合約的安全;(4)扶持EOS DApp開發(fā)者。
EOS內(nèi)閣選舉已經(jīng)虛位以待了,該磨槍的磨槍,該摩拳的摩拳,該擦掌的擦掌吧。