• <option id="cacee"><noscript id="cacee"></noscript></option>
  • <table id="cacee"><noscript id="cacee"></noscript></table>
  • <td id="cacee"></td>
  • <option id="cacee"></option>
  • <table id="cacee"></table>
  • <option id="cacee"><option id="cacee"></option></option>
  • <table id="cacee"><source id="cacee"></source></table><td id="cacee"><rt id="cacee"></rt></td>
    <option id="cacee"><option id="cacee"></option></option>
     找回密碼
     立即注冊

    掃一掃,登錄網站

    首頁 百科 查看內容
    • 17052
    • 0
    • 分享到

    哈希圖:它會優于區塊鏈嗎?

    2019-2-19 16:28

    來源: 藍狐筆記

    Hedera Hashgraph的性能提升:哈希圖共識算法、分片


    在分布式的狀態下,Hedera Hashgraph要實現性能上的質的變化,需要在共識機制上取得突破。Hedera Hashgraph有它獨特的哈希圖(hashgraph)共識算法以及分片技術。
     
    哈希圖(hashgraph)的共識算法由LeeMon Baird發明,它的共識達成機制跟區塊鏈完全不同。區塊鏈就像一顆有主干的樹,要不斷地剪掉枝枝叉叉,保持主干的健壯成長。這跟區塊鏈本身的共識機制內在相關,因為只有剪掉枝叉,才能防止分叉失控。區塊鏈通過區塊的鏈接形成一條單一的合法主鏈,如果有分叉,比如兩個礦工同時創建兩個區塊,區塊鏈最終選擇其中的一個區塊,另外一個會被拋棄。也就是上面說到的剪掉枝叉。
     
    哈希圖(hashgraph)完全不同,它不僅不剪枝,而且它還會編織交錯回來。哈希圖的底層數據結構是不同的。哈希圖的每個事件(類似于“區塊”)都不會被拋棄。所有枝節都持續存在,最終重新組合成為一個整體。從哈希圖的角度看,這是一種更有效率的數據結構。
     

    (區塊鏈Vs 哈希圖)
     
    在哈希圖(hashgraph)看來,這種數據結構還可以避免區塊鏈數據結構的一個問題:出塊時間間隔設計。在區塊鏈中,為了保證安全,如果新區塊產生的時間間隔過短,會產生很多枝枝叉叉,也因此來不及修剪,會出問題。所以,比特幣通過PoW機制,大概每十分鐘的出塊時間間隔,由此降低區塊的產出速度。不過,這不可避免地帶來交易吞吐量的瓶頸。
     
    哈希圖(hashgraph)的解決方法是,不拋棄事件,結構的增長不會受到限制。任何人都可以創建交易,這樣,交易的吞吐量就會大增。從這角度看,哈希圖提出了新的思路,它無需修剪,試圖用新的數據結構和共識算法實現更高的交易速度。
     
    哈希圖的共識機制包括兩個主要部分,一是八卦網絡(Gossip about Gossip)和虛擬投票(virtual Voting)。
     
    首先八卦網絡協議類似于辦公室的八卦傳播,只要兩個人之間八卦一下信息,很快所有人都會知道該信息。
     
    哈希圖(hashgraph)中,每個節點都傳播新交易,同時也從臨近節點接收交易。某個節點收到新交易之后,可能會組合其他交易生成一個新事件(交易的容器,類似于區塊),并傳播出去。事件有兩個哈希,一個指向該節點上次的最新事件,另外一個指向該節點收到的另外一個節點的最新事件,之后對整個事件加上時間戳并簽名。之后不斷地循環廣播,直到所有節點獲得相同信息。
     
    八卦算法無法保證某個時刻所有節點狀態一致,不過,它可以保證最終某個時刻,所有節點能夠對某個時間點前的歷史達成一致。
     
    虛擬投票是怎么發起的?哈希圖(hashgraph)節點八卦的內容不僅包括新交易,也包括節點間的八卦歷史記錄,每個節點可以通過八卦來維護一個哈希圖。節點會計算其他節點在特定的哈希圖中如何投票,無需進行真實投票,可以免去大量的通信。
     
    大體來說,每個節點把自己知道的信息隨機八卦給其他節點,每個節點也接收其他節點的八卦信息。接收到的信息之后,創建新的事件,事件會指向自己的最后一個事件以及信息來源節點的最后一個事件。接下來對所有已知事件計算其創建的輪次,確定其是否為該輪次內的見證人事件,然后對所有見證人事件進行選舉投票,計算出知名見證人。通過知名見證人,可以確定所有事件的接受輪次,同時通過接受輪次和共識的時間戳,進行虛擬投票。通過虛擬投票決定共識順序。
     
    哈希圖(hashgraph)的投票算法稱之為“虛擬投票”,該虛擬投票不要求發送額外信息,可虛擬計算出投票。從理論來看,哈希圖的吞吐量較大,它主要的限制來自帶寬。如帶寬良好,哈希圖系統理論上可以處理非常大的吞吐量。
     
    在哈希圖(hashgraph)看來,如有快速的家庭互聯網連接,它有機會達到VISA網絡級別的全球交易性能。Hedera Hashgraph曾使用亞馬遜AWS的m4.4xlarge做過實例測試,測試其吞吐量(每秒100字節的交易)的情況,分別使用了1個、2個以及8個地區的計算機節點。在測試中,根據不同的情況,tps從不到50,000到最高500,000左右。而達成最終狀態的時間一般在11秒之內,最快的時間可達到0.04秒(當然,在實際運行中不太可能)。
     
    這里涉及到了吞吐量、延遲、節點數和地理分布的權衡。對于分布在全球8個地區的32臺計算機,如要達到50,000tps,其達成最終性共識需要3秒。如果延遲控制在7秒以內(一般信用卡所要求的),且要達成200,000的tps,那么,使用分布在8個地區的32臺計算機,或分布在2個地區64臺計算機,1個地區的128臺計算機,都能到這一要求。最終的吞吐量不僅取決于分布式共識算法,也取決于網速、節點數等。
     
    同時還要看到,這里主要是從交易共識和時間戳來看,還沒有包括處理交易的事件。如果每個交易需要數字簽名,這也需要算力來驗證每秒數十萬的數字簽名。此外,如果交易要“存儲千兆字節”文件,那么,這時候因為帶寬限制,也會極大的降低系統的速度。
     
    總之,考慮到實際運行的環境,真實的tps會有所下降,但相對于區塊鏈tps不到100的情況,哈希圖有機會達到幾萬,甚至數十萬的tps,算是質的突破。
     
    Hedera Hashgraph為了實現更好的性能,還采用了分片技術。分片技術會隨著Hedera Hashgraph網絡的增長而變得必要。分片可以實現不用每個節點處理每個交易。共識的達成可以并行處理。就像是收費站不再只有一個收費通道,而有多個收費通道。
     
    分片之間相互信任,它允許多分片賬本作為一個整體實現異步的拜占庭容錯,可以防止雙重支付或其他非法狀態。每個分片都具有這些屬性,且它們之間的消息包含了各自分片的共識證明。節點會被隨機分組到不同分片。交易會以正常方式在個體分片中以共識順序放置。分片中的所有節點僅對源于該分片的交易共識有貢獻。分片之間的通信通過不同分片成員之間的消息交換實現。消息是通過推送來交換。每個分片都會記住從其他每個分片處理的最后一條消息的序列號。

    版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。
    相關新聞
    發表評論

    請先 注冊/登錄 后參與評論

      回頂部
    • <option id="cacee"><noscript id="cacee"></noscript></option>
    • <table id="cacee"><noscript id="cacee"></noscript></table>
    • <td id="cacee"></td>
    • <option id="cacee"></option>
    • <table id="cacee"></table>
    • <option id="cacee"><option id="cacee"></option></option>
    • <table id="cacee"><source id="cacee"></source></table><td id="cacee"><rt id="cacee"></rt></td>
      <option id="cacee"><option id="cacee"></option></option>
      妖精视频