原作者:靈魂機器由于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
Rarible推出NFT聚合器以幫助用戶比較價格:金色財經報道,NFT市場Rarible推出一個非同質代幣 (NFT) 聚合器,使用戶能夠瀏覽多個市場的列表并比較價格。該聚合器現已在Rarible的主頁上公開,它顯示一個搜索欄,允許用戶根據價格、趨勢項目、最近上市的NFT和即將結束的拍賣等過濾器瀏覽NFT。
Rarible聯合創始人Alexei Falin和Alex Salnikov表示,該工具將幫助用戶在市場和區塊鏈中找到最優惠的價格,該平臺計劃在周四公布更多消息。[2022/10/18 17:30:07]
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
價格比較門戶Finder:當前市場對狗狗幣信心不足:金色財經報道,價格比較門戶網站 Finder 最近針對一個由 54 位行業專家組成的小組發起了一項狗狗幣 (DOGE) 價格預測調研,結果顯示大多數業內專家對狗狗幣的長期未來沒有信心。在“你認為 DOGE 是否會完全失去它的價值嗎?” 問題上,55% 的人說是,21% 的人認為狗狗幣會反彈,24%表示不確定。在“狗狗幣價格何時歸零?”問題上,3% 的人表示會在年內發生,12% 的人表示明年,9% 的人認為會在 2024 年發生,30% 的人表示會在 2025 年或之后。Finder 總結稱:“人們認為狗狗幣距離 To the Moon 還很遙遠,現在更擔心它會留在地球上(即歸零)。”(Bitcoin.com)[2022/7/31 2:49:12]
所有分布式共識算法都對網絡有一個隱含的假設前提。先說一下網絡的分類:同步:消息一定會在某個的時間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的算法流程圖:未完待續。。。參考資料
聲音 | 復旦大學凌力:需求側對區塊鏈技術比較陌生 供給側聯盟鏈技術市場尚不發達:復旦大學通信科學與工程系副教授凌力告訴《國際金融報》記者,需求側對區塊鏈技術比較陌生、認識不足、甚至存在誤解,導致無法制定規劃、正確決策。同時,供給側聯盟鏈技術市場尚不發達,難以提供多樣化、強有力的支撐。此外,聯盟鏈技術的成熟度有限,可靠性、安全性缺乏有效驗證,Dapp和智能合約開發環境不夠完善,沒有形成“底層-工具-設計-開發-服務”的產業鏈和產業生態。(國際金融報)[2020/1/13]
1999.Castro.PracticalByzantineFaultToleranceTendermint:ByzantineFaultToleranceintheAgeofBlockchainsConsensusCompare:Caspervs.TendermintAProofofStakeoverviewComparedwithtraditionalPBFT,whatadvantagedoesTendermintalgorithmhas?Synchronous,partiallysynchronousandasynchronousconsensusalgorithmsGRANDPABlockFinalityinPolkadot:AnIntroduction(Part1)FinalityinBlockchainConsensus
金色相對論 | 度小滿金融李豐:將區塊鏈技術作為數字化資產的載體是目前比較有可行的方向:在本期金色相對論之“Dapp游戲”中,針對金色財經內容合伙人佟揚“區塊鏈游戲該如何打破用戶大多為持幣者的局限”的提問,度小滿金融(原百度金融)區塊鏈負責人李豐表示,把問題限定到區塊鏈游戲這個領域,其實應該從游戲屬性上入手:簡單來說,分析普通用戶、非持幣用戶的需求,用產品滿足他們的需求,同時將產品跟區塊鏈技術實現有機的結合。包括利用區塊鏈技術的分布式賬本功能、數字化資產、激勵機制等等,都是潛在的結合點。
受區塊鏈技術以及產品使用區塊鏈技術能力的限制,做起來技術上困難重重,當前我們看到,將區塊鏈技術作為數字化資產的載體、利用激勵機制,這種輕量級的結合,游戲歸游戲的,愷撒的歸愷撒,是目前比較有可行的方向,很多行業同仁也是在往這方面做。一開始就上真正Dapp區塊鏈游戲,還要用戶體驗好,目前不現實(從整體項目架構上,我們目前也是提倡用混合架構mixApp或hyperApp,whatever,目前能夠在游戲體驗和區塊鏈技術層面實現較好的平衡)。[2018/12/3]
金色財經現場報道 復旦區塊鏈協會主席楚維:真正了解區塊鏈項目比較困難:金色財經現場報道,在2018東京紛智峰會上,進行以《數字身份和數字資產網絡3.0時代》為主題的圓桌,楚維指出:加密貨幣交易所面臨很多機會,但也有很多挑戰。首先是缺乏一定的用戶教育,解決這個問題的最好方法就是組織見面會。通過這樣的方式,每個項目都可以教育投資者和用戶。傳統的交易所做的好是因為他們對于企業十分了解,但現在交易所要想真正了解項目是很難的。當前的區塊鏈技術是很重要的產業,各個社群之間應該是彼此合作,而不是對抗。如果交易所能推出更為穩定的代幣進行交易,那么可以吸引更多用戶使用加密貨幣,這也是未來發展方向。[2018/5/22]
Tags:TEN區塊鏈ALILITTENDIE價格區塊鏈的五大應用領域CALIT幣Layer 1 Quality Index
11月15日注定將成為加密貨幣社區在今年底最值得關注的一天,因為比特幣現金將會在這一天硬分叉。目前,BitcoinSV和BitcoinABC兩大陣營、以及礦工之間競爭已經白熱化,但另一個群體——.
1900/1/1 0:00:00編者按:本文來自哈希派,作者:LucyCheng,星球日報經授權轉。之前的區塊鏈課堂提到,開發者對系統進行共識協議內容修改時,需要對該區塊鏈進行分叉,在某種意義上我們可以將其理解為一種軟件代碼的.
1900/1/1 0:00:00編者按:本文來自巴比特,作者:P.H.Madore,編譯:Wendy,星球日報經授權發布。BCH分叉之后,為慶祝BitcoinABC成功升級并且在分叉后幸存下來,ABC的支持者進行了一場直播.
1900/1/1 0:00:0010月30日晚,Coinbase首席運營官AsiffHirji發布公告稱,Coinbase已完成E輪合計3億美元的融資,由老虎基金領投.
1900/1/1 0:00:00可替換性(fungibility)是保證貨幣流通性的一大關鍵要素。理論上,一種貨幣的每個貨幣單元都應該是等價的.
1900/1/1 0:00:00編者按:本文來自白話區塊鏈,作者:區塊鏈威廉,星球日報經授權發布。區塊鏈的世界自由開放,有人認為好,就一定有人不滿意.
1900/1/1 0:00:00