比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

比較各種共識算法的Finality和Liveness_ALI

Author:

Time:1900/1/1 0:00:00

原作者:靈魂機器由于FLPImposibility原理,Nocompletelyasynchronousconsensusprotocolcantolerateevenasingleunannouncedprocessdeath因此不要浪費時間為純異步網絡設計共識算法。解決辦法就是,要么加強對網絡的要求,要求網絡是Synchronous或者PartiallySynchronous的,或者放松對finality的要求,不要求Deterministicfinality,只要求Probabilisticfinality即可。兩者同時進行也可以。表1各種共識算法比較下面詳細講解一下上面表格中的內容。Finality

Finality看起來和Safety,Consistency很相似,又似乎有所不同,非常容易讓人困惑。簡單的理解,你可以認為Finality,Safety,Consistency是同義詞,即Finality=Safety=Consistency。更深入理解,我認為Finality是一個綜合體,Finality>Safety>Consistency。Consistency適用于所有分布式系統的,包括可信環境例如Hadoop和不可信環境例如Bitcoin;Safety適用于拜占庭環境下;Finality是在區塊鏈這個場景下的術語,區塊鏈是拜占庭場景下的一個子集。Consistency是CAP理論中的C,更加general,要求沒有Finality那么多。Finality包含的含義比Consistency更多更強。Finality包含了下面所有含義:所有節點的數據應是一致的。客戶端發出一個讀操作到任意一個節點,得到的結果應該是一樣的。這個就是CAP里所說的Consistency.這個術語是適用于所有的分布式系統的,包括可信環境例如Hadoop和不可信環境例如Bitcoin。所有節點要確保不進入互相沖突,分裂的狀態,即safety。這個術語是適用于Byzantinefaulttolerance這個領域的,在拜占庭這種開放環境里,有惡意節點會廣播兩個互相沖突的消息,導致全網所有節點陷入分裂狀態,達不成一直,這就破壞了Safety這個性質。所有拜占庭下的共識算法,都需要處理好惡意節點的問題,保證全網的safety。交易一旦進入區塊,應該不可撤銷,即Immutability。在區塊鏈場景下,要保證Safety,不僅需要處理好惡意節點發出雙花交易這種問題,而且還要防止惡意節點撤銷已經打包進區塊的交易。因為區塊鏈是一個單鏈表,是一個線性結構,惡意節點理論上可以從舊的一個區塊出發,分叉處一個更長的新鏈,把自己已經發出去的交易全部撤銷掉,把自己的錢再花一遍綜上,Finality=Consistency+Safety+Immutability。Liveness

韓國專家:BTC等加密資產不應與黃金、美元等資產比較:近日韓國幾位專家在The Scoop上對比特幣等加密資產發表了意見,他們認為不應將比特幣等加密資產與黃金、美元、美元債券等具有保護性的資產做對比。因為加密資產不具備后者具備的以下特性,資產波動率較低,市場波動性上升時該種資產價值也上升。(bits.media)[2020/6/13]

Liveness可以認為與CAP中的Availability等價。當網絡出現partition時,比如海底光纜斷裂,將全球互聯網分割成兩個部分,整個區塊鏈系統是否能正常寫入新的交易?喜歡Finality的共識算法,這時候會選擇無限等待,新的transaction無法寫入,直到海底光纜修復,兩邊的互聯網互通;喜歡Availabilty的共識算法,這時候兩邊網絡會獨立運作,數據分家了,兩邊的全節點中的數據變得不一致。比如Tendermint就是這類,犧牲Liveness追求DeterministicFinality。假設海底光纜斷裂將網絡分為兩邊,那么每一邊都有一半的validator,于是在vote和commit階段,每一邊的所有validator,100%全部投票贊成某個proposalblock,最多只能收到50%的投票,達不到2/3,于是整個區塊鏈網絡會無限等待,直到收集到2/3投票為止。在這個等待期間,無法出下一個塊,新的交易也無法寫入,整個網絡陷入癱瘓。比特幣在碰到這種網絡分割的時候,兩部分的比特幣系統會繼續向前走,依舊可以寫入新的transaction,產生新的區塊,當海底光纜修復后,兩邊互聯網連通后,再選擇合并。在海底光纜沒斷之前,全球所有全節點的狀態是一致的,如下圖:當海底光纜斷裂后,全球網絡被分割為兩部分,兩個部分都會獨立出塊,這時候兩邊已經不一致了,但是兩邊各自是感知不到的,以為自己依舊是一條線性的區塊鏈,如下圖:左邊和右邊,雖然依舊每10分鐘挖出一個新塊,但是左邊的block07和右邊的block07,blockhash是不相等的。這時候比特幣網絡還是available的,只是Finality破壞了。當海底光纜修復后,這時候,兩邊互相同步block,會意識到出現了分叉,如下圖:現在全球所有全節點的狀態,變成上圖,有分叉了,由于兩邊的高度都是8,無法決定哪個分叉是正確的,這時候,就看礦工支持哪邊了,哪邊的算力高,哪邊先出了新塊,那么哪邊就勝出了,短的那條鏈會被拋棄,比如假設右邊搶先新出了一個塊,那么右邊勝出,左邊分叉被拋棄,所有全節點中的數據又變成一條線性區塊鏈,達成一致了,如下圖:其實即使海底光纜不斷,網絡沒有partition,也會經常發生兩個miner各自同時挖出一個新塊的情況,這時候就比拼誰運氣好,下一個新塊繼承哪一個分叉哪一個就勝出。也就說比特幣理論上永遠沒有一個確定性的一致性狀態,分叉隨時會在任意高度上出現,因此比特幣犧牲了一點Finality,換取更強的Liveness。NetworkAssumption

報告:地方市場法規對比特幣價格影響比較短暫:亞洲開發銀行(Asian Development Bank)發布報告稱,通過研究2013年4月至2018年2月六個主要比特幣市場發布的法規,發現地方市場法規的發布會導致比特幣價格在短期內下跌。但從第三天開始,異常的價格格局就會消失。這意味著當地市場監管對比特幣價格的影響只是短暫的。

此外,報告指出,各國監管機構合作以形成跨司法管轄區的協調方法,可能有助于促進加密市場的健康發展。(Ambcrypto)[2020/6/2]

所有分布式共識算法都對網絡有一個隱含的假設前提。先說一下網絡的分類:同步:消息一定會在某個的時間T內被送達,這個上限(upperbound)的值T,是已知的常量,所有節點都是知道的。如果消息在T時間內沒有送達,就不對這個消息作指望了,節點認為該消息已經丟失,不會繼續等它。所有節點都有條不紊的,每經過一個時間T,就往前進一步,非常整齊。半同步:消息一定會在某個的時間T內被送達,但這個T的值,不是固定的值,而是動態變化的,例如是根據網絡狀況動態計算出來的。所有節點異步:消息會在任意時間到達,可能很快,也可能很慢,總之沒有一個明確的上限(upperbound)甚至無限期延遲,無論多晚到達,節點都要接受并處理這個消息,不能簡單的因為超時就丟棄消息比特幣對網絡的假設就是網絡是同步的,時間上限是10分鐘左右,一個Miner挖出一個block后,向全網廣播,這時候整個比特幣系統,期望就是這個block在10分鐘內會被所有在線的全節點fullnode收到,意思就是說每隔10分鐘,所有全節點都會整整齊齊地往前走一步,即往自己的區塊鏈尾部追加一個block。即使網速很快,例如3分鐘不到,這個新block已經被所有全節點收到了,比特幣還是會每隔10分鐘往前走一步(出一個新塊)。以太坊類似,不過時間上限是15秒。Tendermint在propose階段假設網絡是半同步的,因為在這一步會有一個超時時間,如果超過時間還沒收到一個proposal新塊,那么其他validator就會認為proposer節點已經掛了,于是出一個空塊,直到round-robin到下一個proposer。Tendermint在prevote和precommit都需要收集超過2/3的投票,是無限等待的,也就是在這兩個階段是假設網絡是異步的。最終,Tendermint對網絡的要求是半同步的。pBFT在pre-prepare,prepare,commit三個階段全部是異步的,既然是異步的,沒有超時機制,那怎么往前進展呢?收集到了超過2/3就能繼續往前進。不過所有節點在收到一個客戶端的請求,都會啟動一個定時器,如果在某個時間內該請求還沒有執行完畢,就會觸發ViewChange。ViewChange這個部分是半同步的。在這里可以體會到Tendermint相比pBFT的簡化之處了。Tendermint把超時機制挪動到了propose階段,如果proposer在規定時間內,廣播出了一個proposalblock,那么就前進到下一步,如果超時了,也前進到下一步,不過這個是proposalblock是一個空塊。也就是無論如何,propose階段都會往前進入到下一步。但是Tendermint的pre-prepare是異步的,有可能永遠卡主。pBFT把超時機制挪動到了ViewChange這一部分,因此pBFT就多出來一個ViewChange步驟,比Tendermint復雜了一些。Tendermint通過提交空塊和round-robin更換proposer節點,而pBFT則是通過ViewChange來更換primary節點。Tendermint消除了復雜的ViewChange這一步驟。除了消除ViewChange這一點,Tendermint還在另一個地方有所簡化,Tendermint的所有信息都存儲在blockchain里。而pBFT是1999年提出來的,那時候還沒有blockchain這個東西,因此pBFT的所有節點雖有有一致的數據,但數據是分散存放的。pBFT的每個節點的數據包括:Thestateofeachreplicaincludesthestateoftheservice,amessagelogcontainingmessagesthereplicahasaccepted,andanintegerdenotingthereplica’scurrentview.Blockchain就是一個分布式數據庫,好比在MySQL這類DBMS數據庫沒出現之前,人們都是把數據寫入文件然后存在硬盤上,發明出各種奇怪的文件格式和組織方式。有了MySQL后,管理數據就方便多了。同理,Tendermint把數據全部存入blockchain,pBFT沒有blockchain這樣一個分布式數據庫,所有節點需要自己在硬盤上管理數據,比如為了壓縮消息日志,丟棄老的消息,節省硬盤空間,引入了checkpoint的概念。Tendermint和pBFT關系類似于Raft和Paxos的關系,Tendermint是pBFT的簡化版,是針對blockchain這個場景下的簡化版pBFT下圖是Tendermint的算法流程圖:下圖是pBFT的算法流程圖:未完待續。。。參考資料

西南財經大學陳文:區塊鏈在防范金融風險與創新之間實現比較好的平衡:西南財經大學金融學院普惠金融與智能金融研究中心副主任陳文對《證券日報》記者表示,區塊鏈技術應用除了可以解決銀行業務痛點外,也有助于銀行內部體系的改造,無論是管理體系還是業務流程都會帶來優化,更重要的是,在防范金融風險與創新之間實現比較好的平衡。”[2020/4/7]

1999.Castro.PracticalByzantineFaultToleranceTendermint:ByzantineFaultToleranceintheAgeofBlockchainsConsensusCompare:Caspervs.TendermintAProofofStakeoverviewComparedwithtraditionalPBFT,whatadvantagedoesTendermintalgorithmhas?Synchronous,partiallysynchronousandasynchronousconsensusalgorithmsGRANDPABlockFinalityinPolkadot:AnIntroduction(Part1)FinalityinBlockchainConsensus

聲音 | 肖磊:數字貨幣應用場景比較狹窄 其更多承擔的是金融交易功能:據財經網消息,近日,金融分析師肖磊接受采訪時表示,實際用途來說,數字貨幣應用場景比較狹窄,其更多承擔的是金融交易功能,以及資金流動的一種替代品,這種背景下,其實可以創造出來的商業模式并不是很多,而借貸模式則是相對容易確定需求并存在一定發展的商業模式,尤其是對于手上資源比較多,本身持有的幣特別大的機構或個人來說,參與借貸等業務,實際上是更為高效的一種投資方式,因為如果不這么做,自己持有的數字貨幣幾乎是沒有任何存量收入的,如果幣價不漲,損失會更大。[2019/7/22]

聲音 | 余弦:比較中心化治理的幣被攻擊后反倒容易暴露:慢霧區創始人余弦剛剛在微博表示:PoW型的主流幣,礦工埋頭計算就好,無中心化治理,私鑰即身份,攻擊者一旦盜幣成功,可以不動了。但如果那種存在比較中心化治理的幣,攻擊者還得費力盡快洗幣,累得半死還可能一不小心暴露自己的真實身份。[2019/5/8]

Tags:TENLITALIMINKITTENS價格Little RabbitAliens Muskgemini在哪個平臺直播

比特幣交易
環比再降66.87%,10月ICO融資額可以用可憐形容_以太坊

作者:互鏈脈搏·金走車ICO模式是否要走到盡頭?10月份的ICO融資額承9月之勢,可謂是自6月份以來的下降“四連擊”.

1900/1/1 0:00:00
烏克蘭或計劃用三年時間促進加密貨幣合法化_區塊鏈

據外媒Bitcoin.com、coindoo報道,烏克蘭基輔政府打算起草新的監管機制,考慮將加密貨幣合法化,并全面監管金融科技行業,作為經濟部制定的新公共政策的一部分,這一過程可能將歷時3年.

1900/1/1 0:00:00
當美國幣圈媒體也開始被大規模封號的時候……_WIT

本文來自:區塊律動BlockBeats,作者:區塊律動0x22,星球日報經授權轉發。上周二的早晨,想要像往常一樣打開區塊鏈媒體平臺的人們發現,又一波封號潮來臨了.

1900/1/1 0:00:00
羅玫:數字資產證券、稅務和會計準則制定需要各界共同推動_區塊鏈

!webp\"data-img-size-val=\"400,267\"\u002F\\>由數字資產存儲與管理服務平臺公司Cobo舉辦的2018數字資產安全高峰論壇今天在京舉辦.

1900/1/1 0:00:00
臺灣金融監督委員會正在起草ICO標準_FSC

據《臺北時報》報道,臺灣金融監督委員會(FSC)近日正在起草一套ICO標準。該委員會主席顧立雄表示,法規設立的目的是簡化投資者的流程.

1900/1/1 0:00:00
小明學習筆記 | 一文看懂可驗證隨機函數VRF_LOT

編者按:區塊鏈涉及到的技術很多,從互聯網底層到不明覺厲的密碼學,可是往往關注幣價者多而研究技術的人少。牛市的時候,大家為了炒幣也會努力學習,熊市的時候,反正也沒啥事,我覺得可以更加努力學習.

1900/1/1 0:00:00
ads