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

零基礎讀懂分布式系統_VEN

Author:

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

編者按:本文來自鏈聞ChainNews,作者:李畫,星球日報經授權發布。區塊鏈是一種分布式系統。不了解分布式系統的工作原理,很難真正理解區塊鏈。而不理解區塊鏈的麻煩,在于會陷入到對「去中心化」、「無需許可」等等概念以及「TPS」、「安全」等等問題失去語境的討論中去。這不僅無助于我們去準確地分析和判斷一個區塊鏈項目,也讓我們無法認清區塊鏈在技術上的可能的發展路線。更直白來講,我們需要掌握分布式系統的一些基礎知識。因為這樣,我們就能看到區塊鏈本身的局限性,我們就知道任何一個真正有價值的區塊鏈項目都應該:為了解決特定的問題,在特定的環境中,做出特定的解決方案。單純的指標比較并不客觀,更好的判斷標準是:這種方案是否適合于解決這個問題。了解分布式系統的工作原理對區塊鏈世界非常重要。那么現在,就讓我們開啟分布式系統的探索之旅吧。

計算機的作用是處理信息,我們輸入條件A給它,它輸出結果B給我們。如果處理信息的工作是由一臺計算機完成的,這是一種中心化的結構;如果處理信息的工作是由多臺獨立的計算機合作完成的,我們可以稱其為「分布式的系統」。分布式系統有多種不同的架構,用以實現不同的處理信息的方法。假設系統中有十臺計算機,一種架構是:我們把一個計算任務分成十份,讓每臺計算機獨立處理一份任務,最后匯總它們的計算結果,作為輸出。還有另一種架構,就是讓這十臺計算機都去處理這一個計算任務,如果所有的計算機都正常工作,它們的計算結果應該是一樣的,那么就把這個一致的計算結果作為輸出。區塊鏈就是這樣的一種分布式系統。很容易就能發現,這是一個「自找苦吃」的系統,它相當于把同樣的工作做了十次,而且還需要額外增加不同計算機之間的溝通工作。那為什么還需要這種系統?因為它可以讓我們免除對中心化的那一臺計算機,以及那臺計算機背后的中心化的公司或組織的依賴。這樣一來,既能避免單點故障或作惡,也能減少權力的集中及濫用。一、分布式系統的理想目標

區塊鏈所屬的分布式系統也被稱為「復制狀態機模型」,它的目標很簡單:系統內全部的計算機都同意某一個輸出值,也就是指:系統內所有的節點/計算機都有相同的初始狀態,在執行完一個事務后,所有的節點都有相同的最終狀態。

調查:參與調查的人員中只有31%支持發行數字美元:金色財經報道,特許金融分析師協會(CFA Institute)調查了投資者對央行數字貨幣(CBDC)的看法,調查顯示,中國和印度是最受青睞的,全球投資者普遍不太支持CBDC。此外,人們對數字美元的工作結構的了解還很低。這與當前世界各國爭奪數字貨幣使用霸權的情況不同。此次調查共有4150名投資行業人士參與,只有42%的人同意CBDC存在的必要性。各國的支持率也存在很大差異,但以美國為例,只有31%的人支持發行數字美元。但中國和印度的支持率分別為70%和66%,遠超一半,顯示出壓倒性的支持。[2023/7/28 16:03:46]

如果計算機都運行良好,它們之間的通信也完全同步,實現這個目標并不困難。但現實不是如此,主要有以下兩類問題:某臺/某些計算機出現故障,它可能無法計算出結果,也可能連接不上系統。如果不同計算機收到事件的順序不同,對事件的處理順序就會不同,導致輸出結果也不同。比如×c與a+就是兩種不同的計算順序,會帶來不同的計算結果。這些問題是常見且不可避免的,而一旦出現問題,就無法實現全部的計算機都同意某一個輸出結果。著名的分布式系統「FLP不可能原理」是這樣描述的:在網絡可靠,但允許節點失效的最小化異步模型系統中,不存在一個可以解決一致性問題的確定性共識算法。通俗而言就是:只要系統中有一臺計算機出問題,該系統就無法在輸出值上達成共識。FLP不可能原理告訴我們:不要浪費時間去為分布式系統設計面向所有場景的共識算法,那是不可能實現的。二、分布式系統的共識算法

雖然FLP不可能原理很殘酷,但分布式系統能夠帶來的好處是值得我們迎難而上的。既然不存在面向所有場景的共識算法,那么也許可以找到一些在特定場景中有效的共識算法。共識算法,是指讓分布式系統達成共識的方法。讓我們看看科學家們是如何一步一步限定場景,并實現該場景下的共識算法的。首先,如果系統中的每一臺計算機都可以提出自己的結果,場面無疑是復雜的,因為我們連就哪一個結果去達成共識都無法知曉。所以解決共識問題的第一步是確定共識的到底是什么,最簡單的方法就是某一臺計算機說了算,它提出一個結果,其他的計算機來表態是否同意這個結果。說了算的那臺計算機被稱為提案者或者領導者。雖然通過領導者來實現共識并不是唯一解決問題的方法,但絕大多數協議都是在此基礎上實現的,包括區塊鏈系統中使用的共識算法。所以你看,并沒有絕對的去中心化,實現共識的第一步就是要確定一個中心。題外話:當我們知道這一點后,就能建立起關于去中心化的更有效的討論,比如在此處就可以不泛泛而談去中心化,而是:選出這個領導者的方法是否去中心化。回到主題。需要領導者的共識算法的工作步驟大致是這樣的:選出一個領導者;領導者提出一個結果;追隨者確定是否同意這個結果;如果大家就結果達成了共識,系統輸出最終結果;如果大家未達成共識,回到步驟1重新開始。這種思路提供了一種可以達成共識的方法,但它離真正實現共識還很遙遠。因為如果一臺計算機連接不上系統,它就無法表決自己是否同意領導者的結果;如果出現問題的計算機恰好是領導者,情況就會更糟糕,整個系統會進入停滯狀態。三、同步性假設共識算法

報告:如果SEC針對Coinbase的加密代幣交易和質押服務,該公司至少37%的凈收入將面臨風險:金色財經報道,瑞穗分析師指出,SEC主席Gary Gensler最近表示,比特幣以外的所有加密貨幣”都應被視為證券。考慮到這一發展,代幣可能很快就需要于美國監管機構登記,代幣申請過程繁瑣且申請可能被拒絕的風險,可能會抑制Coinbase產生交易收入的能力,該公司超過30%的業務可能面臨風險。

貝倫貝格分析師馬克帕爾默在周一的一份報告中寫道,我們認為,如果Coinbase由于SEC的執法行動而被迫削減或停止其在美國的大部分業務活動,那么投資者應該關注Coinbase是否有能力成功地調整其商業模式和開展業務的地域重點。我們估計,如果SEC針對Coinbase的加密代幣交易和質押服務,該公司至少37%的凈收入將面臨風險。(金十)[2023/6/6 21:19:51]

如何解決上述宕機的問題?方法說起來很簡單:如果一臺計算機連不上系統,就忽略它,不要它參與這一輪的共識。那么新的問題來了,我們怎么知道它是連接不上系統,還是它正在參與共識只不過速度比別的機器慢?因此,科學家們發展出了解決共識問題的最重要的一個假設:同步性假設。同步性假設引入「超時」概念,也就是說事先設定一個時間范圍,如果領導者無法在該時間范圍內發出提案,就淘汰它,選出一個新的領導者。這樣一來就可以容忍領導者節點出現問題。

Paxos算法和Raft算法都是基于同步性假設提出來的。但這兩個算法還需要對系統做另一種假設,即認為系統內所有的計算機都是「好人」,它們要么正確地響應領導者的提案,要么因為故障無法響應。然后再制定一條規則:只要系統內過半數的計算機接受了領導者的提案,就把該提案作為系統的最終結果。這樣一來,就不用等待所有的計算機都做出響應,從而可以容忍追隨者節點出現問題。于是,我們終于擁有了一個可以實現共識的分布式系統,雖然對它有嚴格的條件限定。Paxos共識算法是由萊斯利·蘭伯特在1990年提出的一種基于消息傳遞且具有高度容錯特性的一致性算法,它在分布式系統應用領域有著重要的地位,包括Google在內的許多公司的大型分布式系統采用的都是該算法。而我們第一階段的探索也可以在此處結束,接下來是第二階段。四、解決掉系統中的「壞人」

Consensys發布《ETH質押提款指南》并推薦選擇部分提款,屆時將推出紀念NFT:3月8日消息,Consensys發布《ETH質押提款指南》,指南中提到,Shanghai/Capella升級的主要成果是允許質押者提取他們質押的ETH,但更具體地說,它將提供與提款相關的三個關鍵功能:1.能夠將以太坊驗證器的取款憑證從舊的0x00類型(源自BLS密鑰)更新為較新的0x01類型(源自以太坊地址)。2.部分提款,或從活躍驗證者的余額(超過32 ETH)中定期自動“退出”獲得的共識層獎勵。3.全額提款,或收回“退出”驗證者的全部余額。只有具有較新的0x01類型提款憑證的驗證者才有資格進行部分和全部提款,然而,目前還沒有這樣做的必要,因為0x00認證的驗證者將繼續像信標鏈誕生以來那樣獲得獎勵。請注意,一旦驗證者將其取款憑證從0x00類型更新為0x01類型,就無法再更改。這是從0x00到0x01類型的提款憑證的一次性單向更改。

部分提款使質押者受益,因為質押者可以定期訪問他們的驗證者獲得的CL質押獎勵(扣除任何罰款),而不會產生任何gas成本,也不必退出他們的驗證者。此外,由于以太坊驗證者的有效余額上限為32 ETH,因此驗證者余額上的任何剩余ETH都是無用的。部分提款允許質押者訪問這些過剩的、非生產性的ETH,并將其重新部署以激活新的以太坊驗證器或其他地方。部分提款也應該通過防止過長的退出隊列和過多的驗證者流失而使以太坊網絡受益,這可能會破壞網絡的穩定性。

目前,58%的人擁有0x00類型的取款憑據。在剩下的42%中,使用0x01類型的取款憑證,大約61%(或所有以太坊驗證器的25%)由Lido驗證器集操作。

此外,為慶祝升級,ConsenSys將在3月下旬/4月中旬升級上線時推出其第二個紀念NFT系列,并邀請Web3愛好者通過領取NFT參與。[2023/3/8 12:48:49]

Paxos雖然能實現共識,但它的算法是建立在所有計算機都是「好人」的基礎上的,這些計算機要么沉默,要么發出正確的聲音,因此整個系統中只有一種聲音,大家就這個聲音達成共識即可。而如果計算機中有「壞人」,系統里就會出現壞人的聲音和好人的聲音,Paxos算法無法處理這一情況。我們需要在有壞人的情況下也可以實現共識的算法,有沒有可能?萊斯利·蘭伯特建立了一個模型來討論這種可能性,該模型被稱作拜占庭將軍問題,其中的拜占庭節點就是壞人節點,它們會傳遞干擾信息阻礙整個系統達成共識。在論文《TheByzantineGeneralsProblem》中,蘭伯特提出了幾種解決方案,其中一種可以在拜占庭節點不到1/3時實現系統的共識。也就是說,如果系統中壞人的數量少于1/3,就可以通過算法實現共識。這之后出現的DLS算法、PBFT算法都是在此基礎上發展出來的。PBFT是具有代表性的一種拜占庭容錯算法,其實現過程大致如下。不理解該過程也沒關系,知道通過這種溝通方式能夠達成共識就可以。pre-prepare階段:領導者發送結果給所有追隨者。領導者在本圖中是0號節點,它把結果發給追隨者1、2、3號節點。prepare階段:如果追隨者認為結果沒有錯誤,就告訴所有其他節點自己認可這個結果。比如1號節點會把自己的認可消息發給0、2、3號節點。commit階段:如果追隨者發現超過2/3的節點認可了領導者的結果,就告訴所有其他節點自己接受這個結果為最終結果。reply階段:如果領導者和追隨者發現超過2/3的節點接受了最終結果,就可以認為大部分節點達成了共識,就把該共識反饋給客戶端;如果客戶端收到超過1/3的節點的相同的共識,就可以認為全網達成了共識。

10月Solana鏈上NFT銷售額約6300萬美元,創迄今最低單月銷售額記錄:金色財經報道,據 cryptoslam 最新數據顯示,10 月 Solana 鏈上 NFT 銷售額僅為 63,313,479.15 美元,創下迄今為止最低單月銷售額記錄。10 月 Solana 鏈上 NFT 交易總量為 1,084,564 美元,獨立買家 161,759 個,獨立賣家 192,327 個,鏈上單筆交易均價約為 58.38 美元。[2022/11/1 12:03:53]

到此,我們就解決了有拜占庭節點的分布式系統的共識問題。不過如果系統中壞人的數量等于或多于1/3,依然是無法達成共識的。我們能做的是通過系統的準入條件或激勵措施,讓壞人可以少于1/3。對分布式系統的第二階段的探索到這里就結束了,接下來進入到第三階段。五、中本聰共識算法

不管Paxos還是PBFT,都使用了同步性假設,事實上,大家對共識算法的研究幾乎都是在該方向上的,直到中本聰共識的出現。中本聰共識使用的是非確定性機制。這是什么意思呢?我們可以把一個由12臺計算機組成的分布式系統想象成一個由12名陪審員組成的陪審團。我們把這12個人關在會議室里,遞進去一張紙條闡述案情,然后坐在會議室門口等他們給出審理的結果。這12個人對于如何判決會有不同的意見,隨著討論的深入也可能改變自己的立場,還有的人可能睡著了無法發表看法。那么坐在門口等的人有兩種選擇。第一種選擇是你們去討論吧,讓我等多久都可以,但最后你們給我的必須是唯一確定的審理結果;第二種選擇是我等不了,你們先把最多人同意的那個結果給我,如果之后出現一個更多人同意的結果,我再改成那個結果。顯而易見,我們只能二選一,如果要求結果確定,就不能保證一定能等到結果;如果要求拿到結果,就無法保證該結果一定是最終結果。分布式系統就是這樣,只能二選一,第一種選擇被稱作Finality,即「結果的確定性」或安全性;第二種選擇被稱作Liveness,即網絡的活性或可用性。這兩種選擇決定了分布式共識兩種不同的設計思路:追求Finality,是優先結果,就要對網絡做出要求。PBFT、Tendermint都是這一類型的算法,它們走的是網絡的同步性假設路線,使用這類算法的系統不會出現分叉。追求Liveness,是優先網絡,就要對結果做出讓步。中本聰共識是這一類型的算法,它走的是結果的非確定性路線,使用這類算法的分布式網絡始終可用,而且任意節點都可以隨時加入/離開系統。題外話,在Finality和Liveness中二選一也是分布式系統CAP定理的體現。該定理說的是:對于一個分布式系統來說,不可能同時滿足一致性、可用性和分區容錯性。因為分區容錯性是指該系統要能容忍網絡出現分區,而現實網絡是一定會分區的,所以這個條件必須滿足,那么實際上,CAP定理說的是一個分布式系統不可能同時滿足一致性和可用性,這其中,CAP一致性體現的是Finality,CAP可用性體現的是Liveness。而不管是FLP不可能原理,還是CAP不可能定理,它們不是在告訴我們:這條路很難走通,你如果突破就是了不起的創新;它們告訴我們的是:這條路走不通,你要做的是根據需求來做權衡和選擇。

數據:越南NFT用戶量突破200萬,全球排名第五:金色財經報道,據retailnews消息,根據德國數據門戶網站Statista 發布的《數字經濟指南針2022》(Digital Economy Compass 2022)顯示,越南2021年NFT用戶達到219萬,落后于泰國、巴西、美國和中國,排名第五。在NFT滲透率方面,越南以2.24%同樣排名第五,落后于泰國、加拿大、澳大利亞和巴西(NFT滲透率=活躍付費客戶(或賬戶)在總人口中的份額)。另據澳大利亞數據研究公司 Finder 最近調研顯示,越南 NFT 游戲玩家比例在全球也排名第五,排在印度、香港、阿拉伯聯合酋長國和菲律賓之后。[2022/6/13 4:23:36]

使用同步性假設的共識算法在前文已經詳細地介紹過了,它們通過引入超時概念忽略出現問題的計算機,從而達成共識。使用非確定性機制的中本聰共識描述起來也很簡單:如果你看到某提議的區塊擁有最多的工作量證明,就接受該區塊,這也被稱作最長鏈規則。它的具體實現過程大家都很熟悉,本文就不再贅述了。現在,讓我們看看使用同步性假設的系統和使用非確定性機制的系統有什么不同。但需要提醒的是,并非所有的PoS都是Finality路線,比如CasperFFG就不是;而PoW也不是只能走Liveness路線,雖然并沒有人設計PoW上的Finality共識。PoW和PoS的不同在于一個是Work,一個是Stake。之所以需要強調這一點,是因為在關于PoW和PoS的討論中,我們往往不是在討論Work機制與Stake機制的不同,而是在比較Finality系統與Liveness系統的不同。比如「無需許可」性,它基本是一個Finality系統與Liveness系統的話題,而不是Work與Stake的爭論點。讓我們回到有12個評審員的會議室。為了追求Finality,每個評審員都需要了解其他每一個人的想法,也需要把自己的想法告訴其他每一個人,因此通信復雜度會隨著評審員人數的增加而迅速遞增,整個系統將因此不可用,所以必須控制陪審員的數量。那么對于一個分布式系統而言就是,只挑選少數節點進入會議室,由它們決定共識,而其他節點只接受共識。因此這種系統中有三種角色,領導者、追隨者和學習者,領導者和追隨者是會議室中的評審員,他們需要好好工作,不然可能導致系統無法達成共識。中本聰共識追求的是Liveness,節點/評審員不需要與其他的每一個節點溝通,它只需要與自己身邊的節點交流即可,因此通信復雜度不會因為節點數量的增加而增加。你想成為評審員,就可以走進會議室成為評審員,無需許可,也不會增加陪審團達成共識的難度,同時你也可以不工作或隨時離開。該系統中只有領導者和追隨者兩種角色,所有人都在那間會議室里參與共識。這樣看來中本聰共識似乎更符合大家對分布式系統的開放性的期望,但別忘了它之所以可以如此設計,是因為犧牲了Finality,它的輸出結果是一個概率上的最終結果。試想,你百分百在星巴克得到一杯咖啡,但星巴克并不能百分百收到錢,這并不符合大多數人能理解的世界運轉規則。所以非確定性機制有它自己的短板,以及不適合的場景。另一方面,Finality系統在保證了結果的確定性后,系統設計就要反過來追求Liveness;而Liveness系統在保證了網絡的開放性后,系統設計就要反過來追求Finality。中本聰共識為了提高結果的確定性或安全性,就需要做出其他讓步,比如TPS。以比特幣為例。比特幣可以把出塊時間從10分鐘提高到1分鐘,TPS會大幅提升,但1分鐘的時間不夠把消息傳遍全網,系統中就會出現很多分叉,導致結果的可確定性變低;比特幣也可以把區塊大小從1MB提高到100MB,TPS也會提升,但大區塊對網絡和節點的要求高,會增加節點的進入門檻從而帶來中心化,導致輸出結果容易被篡改。所以你看,設計分布式系統就像與撒旦做交易,你得到一些,必然要交出一些。沒有最好的系統,只有適合解決某類問題的系統;沒有單純的指標比較,只有是在什么設定下實現這種指標。如果你理解了這一點,這篇文章的目的就達到了,而我們對分布式系統的探索到此也就全部結束了。六、更進一步

本文是受《HowDoesDistributedConsensusWork?》一文啟發寫成的,如果你想更進一步了解分布式系統,推薦這篇文章,它從專業的角度介紹了分布式共識;同時推薦《WHATWETALKABOUTWHENWETALKABOUTDISTRIBUTEDSYSTEMS》,它系統地羅列出了分布式系統的經典論文。鏈聞注:-HowDoesDistributedConsensusWork?https://medium.com/-中文譯本《分布式共識的工作原理》,byEthFanshttps://ethfans.org/-WHATWETALKABOUTWHENWETALKABOUTDISTRIBUTEDSYSTEMShttp://alvaro-videla.com/分布式系統的另一個關鍵問題是時序,所有的共識算法都需要解決它,但因為是另一條線索故本文未做涉及,如果你想了解,可以從萊斯利·蘭伯特博士的這篇論文開始:《Time,ClocksandtheOrderingofEventsinaDistributedSystem》。如果你對在Finality和Liveness間尋找平衡感興趣,可以去研究CasperFFG共識,它有Liveness的一部分,也有Finality的一部分。同時你也會發現CasperFFG的PoS與Tendermint的PoS的不同。最后對本文做一個小結,它主要包含以下內容:兩個定理:FLP不可能原理;CAP不可能定理。兩種容錯能力:宕機容錯;拜占庭容錯。兩種共識算法設計思路:Finality;Liveness。兩類共識算法:同步性假設;非確定性機制。三個共識算法:Paxos、PBFT、中本聰共識。文中會有因簡化和類比帶來的不準確以及不全面之處,還望理解,謝謝指正。參考資料:1.《HowDoesDistributedConsensusWork?》,PreethiKasireddy;中文版本:《分布式共識的工作原理》,byEthFans,由Ray、阿劍、IANLIU、stormpang、安仔翻譯2.《WHATWETALKABOUTWHENWETALKABOUTDISTRIBUTEDSYSTEMS》,AlvaroVidela3.《Time,ClocksandtheOrderingofEventsinaDistributedSystem》,LeslieLamport4.《TheByzantineGeneralsProblem》,LESLIELAMPORT、ROBERTSHOSTAK、MARSHALLPEASE5.《PaxosMadeSimple》,LeslieLamport6.《Bitcoin:APeer-to-PeerElectronicCashSystem》,SatoshiNakamoto

Tags:FINALIVENFINALMFF FinanceSALINAEvenCoinFINAL價格

SHIB最新價格
行情分析:中秋佳節午間精評_GMT

比特幣從昨日下午開始持續小幅上漲,目前于10400美元上方震蕩,暫報10424.80美元,24小時上漲2.26%;ETH暫報181.26美元,24小時上漲1.30%;XRP暫報0.2539美元.

1900/1/1 0:00:00
行情分析:以太坊能否再崛起,DeFi或可給出答案_USD

近日,比特幣沿收斂三角繼續震蕩,山寨幣反彈后試探新的支撐位,多頭有所抬頭,近期有望走出階段性底部。半年多以來,去中心化金融是一個風口,而以太坊是其重要的基礎設施之一,未來有跑贏比特幣的可能性.

1900/1/1 0:00:00
科普:Layer-2 中的有效性證明與錯誤性證明_LAYER

編者按:本文來自以太坊愛好者,作者:AvihuLevy&UriKolodny,翻譯:阿劍,Odaily星球日報經授權轉載.

1900/1/1 0:00:00
比特幣、主流幣、山寨幣行情分析及投資策略_SEC

本文內容為參加某財經線上直播文稿,總結了個人對近期比特幣、主流幣的走勢分析,重要的是,如何正確的投資山寨幣相關的策略,覺得有價值的小伙伴們,歡迎收藏分享.

1900/1/1 0:00:00
星球日報 | Bakkt推出比特幣存儲服務; 以太坊與AMD和英偉達合作測試ProgPoW_加密貨幣

頭條 Bakkt官方宣布正式推出比特幣存儲服務Bakkt在其官方推特宣布,該公司正式向客戶開放BakktWarehouse,開始提供比特幣存儲及提款服務.

1900/1/1 0:00:00
英國脫歐對加密貨幣市場有何影響?_比特幣

隨著美中貿易戰的加劇,金融市場的不確定性越來越大,到目前為止,全球兩大經濟體之間長期存在的貿易爭端,尚未沒有結束。不幸的是,市場從來不缺乏變數,英國脫歐便是其中之一.

1900/1/1 0:00:00
ads