從蒸汽機車到高鐵,從 POW 到 SPOS 的共識機制歷史區(qū)塊鏈

                  星球日報 2018-09-19 10:52
                  分享到:
                  導(dǎo)讀

                  Casper還未到,V神又要改共識機制?這是段你不能錯過的歷史。

                  從蒸汽機車到高鐵,從 POW 到 SPOS 的共識機制歷史

                  共識機制是區(qū)塊鏈的核心技術(shù)之一,不論在哪個發(fā)展階段,都應(yīng)是我們關(guān)注的重點。

                  共識機制讓分布式網(wǎng)絡(luò)能可靠地處理一個或多個節(jié)點的故障。失敗的節(jié)點可能會表現(xiàn)出一種常常被忽略的行為類型——也就是說,將沖突的信息發(fā)送到系統(tǒng)的其他節(jié)點。有了共識機制,則能讓所有節(jié)點取得共識,進而排除沖突信息,保證節(jié)點信息狀態(tài)的一致性。

                  區(qū)塊鏈最早采用的共識機制是由比特幣引入的 PoW,后隨時間推移和技術(shù)發(fā)展,Sunny King 為解決 PoW 種種缺點而推出 PoS 機制(落地表現(xiàn)是點點幣)。后來,V神受此啟發(fā)做了以太坊,BM 在此基礎(chǔ)上開發(fā)了 DPoS。直到最近Sunny King 回歸并推出全新的共識機制 SPoS。下面,我就帶著大家一起來了解下各共識機制的發(fā)展史。

                  1.中本聰?shù)谋忍貛藕?POW

                  POW,Proof Of Work(工作量證明),最早由源自用于反垃圾郵件的 HashCash 算法。密碼學(xué)家戴偉于 1998 年將 POW 結(jié)合簽名交易技術(shù)提出了 B-money 設(shè)計,這是 POW 機制作為數(shù)字貨幣共識機制第一次被提出,只是 B-money 沒有很好的解決區(qū)塊鏈中著名的“雙重花費”問題。

                  到了 2008 年,中本聰融合了密碼學(xué)和去中心化技術(shù)的精髓,發(fā)表了具有劃時代意義的論文《btc:一種點對點的電子現(xiàn)金系統(tǒng)》,提出 BlockChain 這種數(shù)據(jù)結(jié)構(gòu)。BlockChain 能無需信任,建立一套去中心化的電子交易體系。到了 2009 年 1 月,btc 網(wǎng)絡(luò)正式上線,版本開源客戶端發(fā)表,比特幣由此誕生。

                  比特幣采用 POW 共識,它規(guī)定,礦工們在處理交易數(shù)據(jù)(也即對數(shù)據(jù)進行哈希)的同時,不斷將打包的交易數(shù)據(jù)添加一個隨機數(shù)并進行哈希計算,求得一位前 23 位為 0 的哈希值,作為區(qū)塊的 nonce。當(dāng)全網(wǎng)有一位礦工哈希出  nonce 時,他就會把自己打包的區(qū)塊公布出去,其他節(jié)點收到并驗證區(qū)塊后就會一致認為這個區(qū)塊接到了區(qū)塊鏈上,就繼續(xù)進行下一個區(qū)塊的打包和哈希計算。

                  由于要得出符合要求的 nonce 很難,因此得以保證在一段時間內(nèi),系統(tǒng)中只能出現(xiàn)少數(shù)合法提案。 同時,這些少量的合法提案會在網(wǎng)絡(luò)中進行廣播,收到的用戶進行驗證后會基于它認為的最長鏈上繼續(xù)計算。因此,系統(tǒng)中雖然可能出現(xiàn)鏈的分叉(Fork),但最終會有一條鏈成為最長鏈。

                  Hash 問題具有不可逆的特點,因此,目前除了暴力計算外,還沒有有效的解決算法。反之,如果獲得符合要求的  nonce,則說明在概率上付出了對應(yīng)的算力。誰的算力多,誰最先解決問題的概率就越大。 當(dāng)掌握超過全網(wǎng)一半算力時,從概率上就能控制鏈的走向。這也是所謂 51% 攻擊的由來。

                  作為最早出現(xiàn)的區(qū)塊鏈貨幣,比特幣總有不完善之處。比特幣為了交易的安全性而犧牲記賬效率采用了 POW 機制,但隨著節(jié)點的增加,挖礦所導(dǎo)致的高能耗逐漸暴露出來。時至今日,全球比特幣網(wǎng)絡(luò)消耗的能量幾乎等于三峽大壩發(fā)電量的2/3。

                  POW 的優(yōu)點:

                  1. 去中心化,將記賬權(quán)公平的分派到其他節(jié)點。節(jié)點能夠獲得的幣的數(shù)量,取決于其挖礦貢獻的有效工作,也就是說,節(jié)點用于挖礦的礦機的性能越好,分給該節(jié)點的收益就會越多,這就是根據(jù)節(jié)點的工作證明來執(zhí)行幣的分配方式。

                  2. 安全性高,破壞系統(tǒng)需要投入極大的成本,如果想作弊,要有壓倒大多數(shù)人的算力(51%攻擊)。因為作弊要付出一定成本,作弊者就會謹慎對待了。在比特幣的 POW機制中,由于獲得計算結(jié)果的概率趨近于所占算力比例,因此在不掌握51%以上算力的前提下,礦工欺詐的成本要顯著高于誠實挖礦,甚至不可能完成欺詐(由于概率過低)。

                  POW的缺點:

                  1. 挖礦造成大量的資源浪費。目前 bitcoin 已經(jīng)吸引全球大部分的算力, 。這讓依據(jù)算力公平分配獎勵的機制,演變?yōu)榱藢ΦV機算力的大舉投入,扭曲了中本聰?shù)脑O(shè)計初衷。

                  2. 需要等待多個確認,網(wǎng)絡(luò)性能太低。比特幣區(qū)塊鏈的共識達成的周期較長(10分鐘),現(xiàn)在每秒交易量上限是 7 筆,不適合商業(yè)應(yīng)用(visa 的平均每秒交易量上萬,支付寶峰值接近 9 萬)

                  3. POW 共識算法算力集中化,慢慢的偏離了原來的去中心化軌道。從比特幣擴容之爭可以看到,算力高的大型礦池是主人,而持幣的人沒有參與決定的權(quán)利,比特幣即將失去“去中心化”的標(biāo)簽。

                  Pow 還有很多的缺點,其中的一些問題有無更好的解決方案呢?且看 Pos。

                  2.Sunny king 的點點幣和 POS

                  比特幣之后,很多模仿比特幣的區(qū)塊鏈貨幣也出現(xiàn)了,如萊特幣等,但這些貨幣都采用了低效率高能耗的 POW 機制,區(qū)塊鏈領(lǐng)域至此很久都沒有革命性的創(chuàng)新。

                  直到 2012 年,Sunny King 發(fā)布了點點幣(Peercoin,也被稱為 PPCoin,PPC),并在點點幣中首次提出 POS 共識機制,一改 POW 當(dāng)?shù)赖臍v史,而點點幣也作為第一個采用 POS 的區(qū)塊鏈貨幣而被載入歷史。此后出現(xiàn)的以太坊和 EOS 都只是 Sunny King 思想的延續(xù),更不用說其他公鏈了。

                  POS,Proof of Stake(權(quán)益證明機制),是 POW 的升級共識機制。POS 根據(jù)每個節(jié)點所占代幣的比例和時間來決定記賬權(quán)和獎勵;等比例的降低挖礦難度,從而加快找隨機數(shù)的速度,因此POS不需要大量算力來維持網(wǎng)絡(luò)安全。

                  簡單說來就是:持有越多,獲得越多。

                  POS 試圖解決 POW 機制中大量資源被浪費的情況。這種機制通過計算節(jié)點所持有幣占總幣數(shù)的百分比以及占有幣數(shù)的幣齡來決定該節(jié)點獲得本次記賬權(quán)利的概率。其中幣齡=持有幣的數(shù)量*持有這些數(shù)量幣所經(jīng)過的時間,一旦幣被轉(zhuǎn)賬了,該用戶轉(zhuǎn)出的幣所涉及的幣齡就會歸零。

                  在 POW 機制中,由于想要找到符合條件的 nonce 往往需要花費大量的電力和時間成本。因此,為了使每個區(qū)塊更快被生成,POS 機制去掉了窮舉 nonce 的過程,繼而采用以下更快速的算法:

                  SHA256(SHA256(Bprev),A,t)≤balance(A)m

                  H 某個哈希函數(shù)

                  t 為 UTC 時間戳

                  Bprev 指的是上一個區(qū)塊

                  balance(A) 代表賬戶 A 的賬戶余額

                  等式右邊 m 是某個固定的實數(shù),唯一可以不斷調(diào)整的參數(shù)是 t。因此,當(dāng)balance(A)越大,找到合理 t 的概率越大。網(wǎng)絡(luò)中,普遍對于 t 的范圍有所限制,如可以嘗試的時間戳不能超過標(biāo)準時間戳 1 小時,也就說,一個節(jié)點可以嘗試 7200 次,來找到一個符合條件的 t,如果找不到即可放棄。因此,在 PoS 中,一個賬戶的余額越多,在同等算力下,就越容易發(fā)現(xiàn)下一個區(qū)塊。

                  從上面的描述可以看出,節(jié)點記賬權(quán)的獲得難度與節(jié)點持有的權(quán)益成反比,相對于 POW,POS 共識在一定程度減少了數(shù)學(xué)運算帶來的資源消耗,出塊性能也得到了相應(yīng)提升,但依然是基于哈希運算競爭獲取記賬權(quán)的方式,可監(jiān)管性弱。該共識機制容錯性和 POW 相同。

                  POS 的優(yōu)點:

                  1)在一定程度上縮短了共識達成的時間。

                  2)不再需要大量消耗能源挖礦。

                  3)POS 當(dāng)然也能防作弊,因為如果一名持有 51% 以上股權(quán)的人作弊,相當(dāng)于他坑了自己,因為一個人自己不會殺死自己的錢。

                  4)防止算力中心化導(dǎo)致礦工作惡。

                  POS 的缺點:

                  1)還是需要挖礦,本質(zhì)上沒有解決商業(yè)應(yīng)用的痛點;

                  2)所有的確認都只是一個概率上的表達,而不是一個確定性的事情,理論上有可能存在其他攻擊影響。

                  3)極端的情況下會帶來中心化的結(jié)果。POS 機制由股東自己保證安全,工作原理是利益捆綁。在這個模式下,不持有 POS 的人無法對 POS 構(gòu)成威脅。POS 的安全取決于持有者,和其他任何因素?zé)o關(guān)。POS 雖然解決了 POW 的能耗的問題,但全節(jié)點確認會讓區(qū)塊確認的效率提不起來,且時間越長,也越容易產(chǎn)生馬太效應(yīng),即持有幣越多的人會獲得更多的幣獎勵,從而加大貧富差距,最終產(chǎn)生超過 50% 的中心化節(jié)點,被動演化為非預(yù)期的中心化的結(jié)果。

                  4)惡意的節(jié)點驗證者可以在沒有任何損失的情況下去把自己的幣押在分叉鏈上推動硬分叉,該問題也被稱為“無利害關(guān)系("nothing at stake")”問題(而 pow 機制下,礦工分叉需要消耗算力資源,因此不會出現(xiàn)此種情況)。

                  Pos 開創(chuàng)了新共識的先河,創(chuàng)新較強但也不太完善。且看 Casper 如何進化?

                  3.舉步維艱的 Eth 和 Casper 共識機制

                  從 2014 年 1 月 V 神發(fā)布 Eth 白皮書《以太坊:一個下一代加密貨幣和去中心化應(yīng)用平臺》開始,使用 Eth 的人越來越多,很多人在 Eth 上發(fā)布了各種智能合約,這些智能合約的運行給基于 POW 機制的 Eth 網(wǎng)絡(luò)帶來了極大的壓力,Eth 網(wǎng)絡(luò)擁堵不斷,Gas 價格高企,由此讓網(wǎng)絡(luò)確認時間大幅延長、DAPP 運行成本飆升。整個以太坊網(wǎng)絡(luò)隨著用戶的增長和 DAPP 的增加,逐步陷入了困境。

                  為了改善 Eth 的運行效率,Eth 的創(chuàng)始人 V 神計劃在以太坊中引入改進版的 POS 共識,并逐步取代目前所使用的 POW 共識,這個改進版的 POS 被稱為 Casper。

                  Casper 是一種基于保證金的經(jīng)濟激勵共識協(xié)議(security-deposit based economic consensus protocol),是以太坊計劃在未來采用的共識機制,屬于 POS 的一個分支擴展,旨在解決 POS 中存在的無利害關(guān)系問題("nothing at stake",即驗證者通過在給定高度為多個有沖突的區(qū)塊投票,從而無需代價地破壞網(wǎng)絡(luò)安全性)。

                  Casper 協(xié)議中的節(jié)點,稱為“鎖定保證金的驗證人(bonded validators)”,必須先繳納保證金(這一步叫做鎖定保證金,"bonding")才可以參與出塊和共識形成。出塊是一個獨立于其它所有事件而發(fā)生的過程:驗證人收集交易,當(dāng)輪到他們出塊的時間時,他們就制造一個區(qū)塊,簽名,然后發(fā)送到網(wǎng)絡(luò)上。Casper 共識協(xié)議通過對這些保證金的直接控制來約束驗證人的行為。

                  具體來說就是,如果一個驗證人作出了任何 Casper 認為“無效”的事情,他的保證金將被罰沒,出塊和參與共識的權(quán)利也會被取消。保證金的引入解決了"無利害關(guān)系問題",也就是經(jīng)典 POS 協(xié)議中做壞事的代價很低的問題。現(xiàn)在有了代價,而且被客觀證明做錯事的驗證人將會付出這個代價。

                  容易發(fā)現(xiàn),只有在驗證人當(dāng)前已繳納保證金的情況下他的簽名才有意義(economically meaningful)。這代表客戶端只能依賴他們知道的鎖定保證金的驗證人的簽名。因此當(dāng)客戶端接收和鑒別共識數(shù)據(jù)時,共識認可的鏈必須起源于出自當(dāng)前鎖定保證金的驗證人的塊。

                  從蒸汽機車到高鐵,從 POW 到 SPOS 的共識機制歷史

                  在 POW 協(xié)議中共識認可的鏈則是起源于創(chuàng)世塊——只要你知道創(chuàng)世塊的數(shù)據(jù)你就可以鑒別出共識認可的鏈。這里,只要你知道當(dāng)前鎖定保證金的驗證人,你就可以鑒別出共識認可的鏈。不知道當(dāng)前鎖定保證金的驗證人列表的客戶端必須先通過另外的信道獲取這個列表。這個限制通過要求所有人用當(dāng)前信息鑒別共識解決了“遠程攻擊(long range attack)”問題。

                  驗證人列表隨著驗證人保證金不斷的鎖定,罰沒,解鎖而變動。如果客戶端離線過長時間,它的驗證人列表就會由于過時而不能用來鑒別共識。如果客戶端經(jīng)常在線,則能夠與最新的驗證人列表保持同步,但問題是在第一次同步之前,客戶端還是需要從其他信道獲取最新鎖定保證金的驗證人列表。

                  這個“需要從其他信道鑒別共識至少一次”的性質(zhì),正是 V 神所說的“弱主觀性(weak subjectivity)”。在我們的上下文中,如果信息可以在協(xié)議之內(nèi)被驗證,則可稱之為“客觀的”;如果信息必須依賴協(xié)議外的手段才可驗證,則稱為“主觀的”。在弱主觀性共識協(xié)議中,分叉選擇規(guī)則是有狀態(tài)的,因此客戶端必須初始化(有些時候是更新)這個狀態(tài)才能鑒別共識。在這里,這個狀態(tài)被用來辨認當(dāng)前鎖定保證金的驗證人(更精確的說法可能是當(dāng)前驗證人列表的密碼學(xué)哈希)。

                  2018 年 8 月 31 日,以太坊網(wǎng)絡(luò)的 14 位核心開發(fā)人員決定通過視頻通話,宣布推遲 Casper 的開發(fā) 12 個月。

                  Casper 的優(yōu)點:

                  • 系統(tǒng)可以快速懲罰節(jié)點的作惡行為,進而避免了無利害攻擊。

                  • 幫助以太坊大幅提高共識達成的效率,并使以太坊從根本的共識機制上,區(qū)別于比特幣。

                  Casper 的缺點:

                  設(shè)計比較復(fù)雜,更容易出現(xiàn)漏洞

                  4.  BM 的 EOS 和 DPOS 共識機制

                  由于比特幣的 POW 機制導(dǎo)致運行效率極度低下,在結(jié)合了 POS 技術(shù)的基礎(chǔ)上,Daniel Larimer(BM)決定在區(qū)塊鏈技術(shù)中引入一個新的共識機制——DPOS,來取代交易速度極慢的 POW。2014 年 2 月,BM 發(fā)布了 Bitshares(也稱為 BTS,比特股),首次采用了 DPOS 技術(shù)。但 Bitshares 因為技術(shù)不成熟而導(dǎo)致了一系列問題。

                  后來,被稱為區(qū)塊鏈 2.0 的以太坊也很難支持起一個龐大的去中心化商業(yè)應(yīng)用生態(tài)。然后,BM 決定以以太坊為對手,建立一個區(qū)塊鏈操作系統(tǒng) EOS,這個新系統(tǒng)融入了 BM 對區(qū)塊鏈技術(shù)的理解和總結(jié),使用了改進后的 DPOS 共識機制。

                  DPOS,Delegated Proof of Stake(委任權(quán)益證明機制),是基于 POW 及 POS 的基礎(chǔ)上創(chuàng)建的一種新型共識算法。它既能解決 POW 能耗過大的問題,也能避免 POS 權(quán)益分配下可能產(chǎn)生的“信任天平”偏頗的問題。

                  DPoS 中的“D”為“Delegated”,意為授權(quán)、委托;DPoS 與 PoS 的主要區(qū)別是所有持幣者選舉若干代表,由代表參與記賬。

                  EOS 定義民主選擇出的代表為區(qū)塊鏈網(wǎng)絡(luò)里的區(qū)塊驗證者,“代表”這個術(shù)語可以與“區(qū)塊驗證者”等同使用。EOS 規(guī)定由 21 位代表作為網(wǎng)絡(luò)中的主節(jié)點,新建區(qū)塊,簽署并驗證交易。這些代表是由 EOS 代幣持有者投票成立的“授權(quán)事務(wù)所”。21 位“委托者”的設(shè)計,是因過多的委托者(比如 BTS 所采用 101 個)會分散 EOS 代幣持有者的注意力,造成代幣持有者決策力的削弱。

                  從蒸汽機車到高鐵,從 POW 到 SPOS 的共識機制歷史

                  使用 EOS.IO 軟件,區(qū)塊以 126 個區(qū)塊為一輪(有 21 個生產(chǎn)者,每個生產(chǎn)者可以在三秒的時間片內(nèi)生產(chǎn) 6 個區(qū)塊,平均每 0.5 秒一個區(qū)塊)。在每一輪的開始,21 個區(qū)塊生產(chǎn)者通過 token 持有者的投票被選中。選中的生產(chǎn)者依據(jù)商定好的順序生產(chǎn)區(qū)塊,這個順序由 15 個或者更多的生產(chǎn)者商定。

                  理論上這樣可以極大提升系統(tǒng)性能,但也帶來了網(wǎng)絡(luò)延遲問題:0.5 秒的確認時間會導(dǎo)致下一個出塊者還沒有收到上一個出塊者的區(qū)塊,就該生產(chǎn)下一個區(qū)塊了,那么下一個出塊者會忽略上一個區(qū)塊,導(dǎo)致區(qū)塊鏈分叉(相同區(qū)塊高度有兩個區(qū)塊)。比如:中國見證人后面可能就是美國見證人,中美網(wǎng)絡(luò)延遲有時高達 300 ms,很有可能到時美國見證人沒有收到中國見證人的區(qū)塊時,就該出塊了,那么中國見證人的區(qū)塊就會被略過。

                  為解決這個問題,BM 將原先的隨機出塊順序改為由見證人商議后確定的出塊順序,這樣網(wǎng)絡(luò)連接延遲較低的見證人之間就可以相鄰出塊。比如:日本的見證人后面是中國的見證人,再后面是俄羅斯的見證人,再后面是英國的見證人,再后面是美國的見證人。這樣可以大大降低見證人之間的網(wǎng)絡(luò)延遲。使得 0.5 秒的出塊速度有了理論上的可能。

                  如果一個生產(chǎn)者錯過了一個區(qū)塊,并在 24 小時內(nèi)沒有生產(chǎn)任何區(qū)塊,該生產(chǎn)者將會被移除。直到這些“宕機”的生產(chǎn)者們及時通知區(qū)塊鏈,他們將打算再次生產(chǎn)區(qū)塊才被重新加入。通過不安排那些不夠可靠的節(jié)點,盡可能的減少錯過區(qū)塊創(chuàng)建,來讓整個網(wǎng)絡(luò)運行得更平穩(wěn)。

                  DPOS 優(yōu)點:

                  1. 能將維系網(wǎng)絡(luò)運行的能源消耗降到最低,以一種低成本的方式來管理整個鏈上的運行,這就很大程度上解決了 POW 的能源耗損問題。

                  2. 更快的出塊速度,實現(xiàn)平均 0.5 秒一個的出塊速度,大幅提高了系統(tǒng)的運行效率和吞吐量。

                  3. 更加“去中心化”的管理方式,將區(qū)塊鏈網(wǎng)絡(luò)運行的決定權(quán)分散到全網(wǎng)的各個節(jié)點手中,這就很大程度上避免了 POS 容易出現(xiàn)的被莊家操縱的“控股”現(xiàn)象。DPOS 共識機制的出現(xiàn),將通過實施區(qū)塊鏈上的“民主”來對抗“中心化”所產(chǎn)生的負面效應(yīng),用被公選的“弱中心化”方式來提高全網(wǎng)運維的效率。

                  DPOS 缺點:

                  1. 持股人投票的積極性并不高。絕大多數(shù)持股人(90% )從未參與投票。這是因為投票需要時間、精力以及技能,而這恰恰是大多數(shù)投資者所缺乏的。

                  2. 實現(xiàn)復(fù)雜、中間步驟較多,對于壞節(jié)點的處理存在諸多困難。社區(qū)選舉不能及時有效的阻止一些破壞節(jié)點的出現(xiàn),給網(wǎng)絡(luò)造成安全隱患。

                  Dpos 雖然做的效率很高,但缺點也不容小視。

                  5. Sunny King 全新的 SPOS 共識機制

                  隨著區(qū)塊鏈爆發(fā),世界上很多天才在 Sunny King 的基礎(chǔ)上發(fā)明,發(fā)明出各種變形 POS 來。但這些都只是針對 POS 的一些小修改,還有著自己各種各樣的問題,并不能支撐未來的大規(guī)模高性能商業(yè)級區(qū)塊鏈。

                  Sunny King 也在不斷的反思著 POS 的不完善之處,在其他人為了改進 POS 而焦頭爛額的時候,Sunny King 近日帶著他反思多年的成果回歸了:這個成果就是 POS 的下一個版本,這個版本或能開創(chuàng)一個新的時代,支撐未來的區(qū)塊鏈經(jīng)濟。

                  這個新版本的 POS 具備更高的性能和安全性,是次世代的共識機制,名為 SPOS。

                  SPOS,supernode proof-of-stake(超級節(jié)點權(quán)益證明機制),將在區(qū)塊鏈數(shù)據(jù)云項目 VEE 中引入。

                  SPOS 的一大特點就是采用了固定的出塊時間。該系統(tǒng)有 60 個節(jié)點,其中 15 個作為主節(jié)點,45 個為備用節(jié)點。每個節(jié)點都具備極高的運算性能和網(wǎng)絡(luò)帶寬,從而讓整個系統(tǒng)具備極高的吞吐量和運行效率。

                  整個系統(tǒng)具備 60 個鑄幣槽,每個鑄幣槽代表了在一分鐘內(nèi)一個固定時間段出塊的權(quán)限,在系統(tǒng)工作時,各個槽按順序(由獲得該鑄幣槽所有權(quán)的節(jié)點)出塊。

                  每個節(jié)點可以競爭各個鑄幣槽的使用權(quán)。由于每個節(jié)點對應(yīng)了一個 VEE 賬戶,而每個賬戶下面可以綁定 9 個錢包地址,在競爭時是用其中一個地址去競爭一個槽,而且一個地址也只能競爭一個槽,所以每個節(jié)點最多可以同時占有 9 個鑄幣槽,這樣可以防止一個節(jié)點占有全部的鑄幣槽。

                  SPOS 系統(tǒng)在運行時其實就是各個節(jié)點輪流出塊,這就可以把某個節(jié)點的偶發(fā)性失效對整個系統(tǒng)的影響降到最小。

                  由于每個槽上的節(jié)點需要按照時間來出塊,因此各個節(jié)點間的時間同步就顯得非常的重要,所以采用了網(wǎng)絡(luò)時間協(xié)議(Network Time Protocol(NTP))來確保各個節(jié)點能按順序進行出塊。

                  NTP 是用來使計算機時間同步化的一種協(xié)議,它可以使計算機對其服務(wù)器或時鐘源(如石英鐘,GPS 等等)做同步化,它可以提供高精準度的時間校正(LAN 上與標(biāo)準間差小于 1 毫秒,WAN 上幾十毫秒),且可由加密確認的方式來防止惡毒的協(xié)議攻擊。NTP 的目的是在無序的 Internet 環(huán)境中提供精確和健壯的時間服務(wù)。

                  節(jié)點可以在任意時刻發(fā)起對于一個鑄幣槽使用權(quán)的競爭,但為了防止競爭機制被濫用,因此系統(tǒng)會收取較高額度的競爭費用作為威懾。當(dāng)一個節(jié)點作為挑戰(zhàn)者向一個鑄幣槽的使用權(quán)的所有者發(fā)起競爭申請,SPOS 協(xié)議會比較挑戰(zhàn)者在該鑄幣槽上的賬戶的權(quán)益(stake)和被挑戰(zhàn)的挖礦節(jié)點在該鑄幣槽上的賬戶的權(quán)益(stake),然后決定競爭的勝出者,并將該鑄幣槽的使用權(quán)交給勝出的一方。

                  雖然競爭的勝出方是通過較多的權(quán)益(stake)在競爭中獲勝的,但這些權(quán)益的流動性仍是可以保證的,鑄幣節(jié)點隨后是可以從自己的賬戶地址轉(zhuǎn)出權(quán)益的。

                  即使是從 POS 協(xié)議的出發(fā)點來看,將同一筆權(quán)益同時轉(zhuǎn)給不同地址、鑄幣槽的競爭也是被禁止的,這等于是雙花攻擊。

                  從蒸汽機車到高鐵,從 POW 到 SPOS 的共識機制歷史

                  然而由于權(quán)益具備流動性,有些節(jié)點為了鑄幣槽所有權(quán)的競爭,而快速的將權(quán)益從一個地址轉(zhuǎn)賬到其他地址用于其他鑄幣槽的競爭,從而形成了繁忙競爭攻擊(busy contention attack)。

                  為了防止這一攻擊,在對鑄幣槽的競爭中對于地址賬戶余額的衡量標(biāo)準采用了余額在時間上的累積均值。如果讓權(quán)益快速的流動,則地址賬戶的積累均值就會隨時間的推移而大幅下降,從而大幅降低了該地址賬戶面對挑戰(zhàn)時的競爭力,這樣當(dāng)節(jié)點發(fā)起繁忙競爭攻擊時就會導(dǎo)致權(quán)益流出的地址賬戶很容易就喪失了鑄幣權(quán),從而阻止節(jié)點發(fā)動此類攻擊。

                  用戶可以將自己的權(quán)益(stake)借給節(jié)點,當(dāng)節(jié)點通過出塊獲得收益時,可以按照比例給權(quán)益的借出方分紅。雖然節(jié)點的賬戶余額在計算時是算上了所租借的權(quán)益,但是節(jié)點賬戶無權(quán)使用/轉(zhuǎn)移這部分權(quán)益,權(quán)益的借出方則可以隨時撤回這些借出的權(quán)益。

                  如果一個節(jié)點上租借來的權(quán)益數(shù)量上漲、那么由于單個節(jié)點的收益是固定的,那么總權(quán)益的上漲勢必導(dǎo)致分紅率的下降、進而遏制租借權(quán)益的上漲,從而形成一套內(nèi)在的自我調(diào)節(jié)機制。

                  這個系統(tǒng)在設(shè)計上看起來更加中心化,但 King 也設(shè)計出了一套機制保障網(wǎng)絡(luò)的安全,確保每一個超級節(jié)點(supernode)都有平等的權(quán)力,防止某個節(jié)點權(quán)力過大。

                  如果將 POW 比喻成陳舊緩慢的蒸汽機車,那么 SPOS 就是高速舒適的現(xiàn)代化高鐵,是次世代的區(qū)塊鏈共識機制。

                  我們總結(jié)了部分 SPOS 機制:

                  • SPOS 超級節(jié)點按固定順序出塊;

                  • 以 15 個超級節(jié)點開啟主網(wǎng),隨著網(wǎng)絡(luò)增長,超級節(jié)點數(shù)增長到 30-60;

                  • 塊與塊之間間隔是固定的,這樣帶來了更佳穩(wěn)定的延遲;

                  • 60 個鑄幣槽,分別代表了一分鐘的 60 秒;

                  • 搶奪/釋放的機制,也讓鑄幣權(quán)的競爭更公平(相較 DPOS,就是比幣數(shù),幣可以在多個節(jié)點重復(fù)投票等問題);

                  • 鑄幣平均算法 MAB,可以支撐幣權(quán)更好的流動性,不讓幣往一個地方跑,保持去中心化,保護網(wǎng)絡(luò)安全;

                  SPOS 機制來帶的好處:

                  • SPOS 是為高性能區(qū)塊鏈所設(shè)計的底層結(jié)構(gòu);

                  • 固定的塊間隔設(shè)計,帶來的是兼具高吞吐量和更佳穩(wěn)定的區(qū)塊鏈網(wǎng)絡(luò)(其他網(wǎng)絡(luò)的高吞吐都無法保證穩(wěn)定性,最終也是支持不了高性能業(yè)務(wù)運行的);

                  • 冷鑄幣的設(shè)計,保證了區(qū)塊鏈更安全的性能;

                  • 經(jīng)濟系統(tǒng)的設(shè)計,鼓勵生態(tài)系統(tǒng)持續(xù)投入升級超級節(jié)點,這樣保證了系統(tǒng)的運行效果將不斷提升;

                  區(qū)塊鏈技術(shù)最大的重點就是共識。我們看到共識技術(shù)的不斷進步,這也是極客精神的體現(xiàn)。

                  注:本文主要作者:王秋林,早期區(qū)塊鏈技術(shù)開發(fā)者,開發(fā)多款區(qū)塊鏈游戲,曾在知名東京軟件公司研發(fā)工作。 


                  節(jié)點 區(qū)塊 共識 機制 POS
                  分享到:

                  1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會明確標(biāo)注作者和來源;
                  2.TMT觀察網(wǎng)的原創(chuàng)文章,請轉(zhuǎn)載時務(wù)必注明文章作者和"來源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
                  3.作者投稿可能會經(jīng)TMT觀察網(wǎng)編輯修改或補充。