Purple協議紫皮書提出SSPoW(半同步工作量證明)

買賣虛擬貨幣
本文提出了一種新穎的、高度實驗性的協商共識方法,目前正在Purple協議中實現。它旨在消除困擾比特幣或以太坊等傳統工作量證明系統的效能瓶頸。它的目標是在完全分散化的情況下提供類似於集中式系統VISA的效能。簡介每個分散化系統的核心都是其共識性演算法。我們需要解決是什麼讓演算法安全?是什麼讓演算法起作用等問題。沒有它,分散化的概念就變成了難以解決的理論。因此,在設計分散化的基礎設施時,協商共識的主題是最重要的問題之一。工作量證明第一個也是唯一一個真正成功的演算法叫做工作量證明。原因是它在保護比特幣協議和其後的任何其他分散化協議方面發揮了核心作用。它唯一的弱點就是它最大的優點。它安全但它緩慢。實際上非常緩慢。
從這個角度來看,比特幣在全球每秒不能處理超過15至20筆交易。VISA是一個集中的系統,在高峰期每秒可處理多達5萬宗交易。這是由於比特幣協議的設計方式:幸運的礦工驗證未完成的交易,並將其寫入塊中,然後寫入分類賬中,每10分鐘一次。對於6個塊的確認週期,它變成了僅等待單個事務確認的60分鐘等待。你可以想象一下用比特幣購買日用品。權益證明針對簡單PoW系統的可擴充套件性問題,提出了一種新的解決方案——POS證明。雖然這種共識性演算法確實解決了可伸縮性問題,但它並沒有解決前一種解決方案所解決的更重要的問題:分散化。在PoS網路中,有幾個預先指定的驗證器,它們基本上控制著網路。
由於PoS的設計方式,任何將PoS作為一種共識演算法執行的網路本質上都是集中式的,從而違背了區塊鏈系統的整體目的。在不分散的情況下,“區塊鏈”系統只是一個普通但緩慢的資料庫,只是光有一個光鮮的名字。人們相信現在有成千上萬的區塊鏈系統在執行。這是完全錯誤的。如果你拿走所有使用PoS機的專案和所有比特幣模仿者,實際上只有少數幾個獨特的專案符合分散式系統的標準。半同步工作量證明半同步工作量證明演算法(SSPoW)是工作量證明方案的一個擴充套件,它強調將交易驗證與驗證器選擇解耦。這允許多個驗證器組成一個池,併發地持續地驗證事務流。· 驗證器的選擇礦商透過嘗試在驗證器鏈的最新塊上提供有效的PoW來競爭進入驗證器池。驗證器鏈中的塊是成功的礦商廣播的單個連線交易。在礦工提供有效的PoW並將相應的連線交易新增到validator鏈之後,它必須等待池中的其他節點就包含連線節點的新狀態達成共識。
完成此操作後,節點被認為位於池中,可以開始處理交易。· 驗證器池驗證器池負責決定分類賬的狀態。每個參與者節點都被分配一個惟一的、可重用的識別符號和相應的邏輯時間戳。稍後交易排序演算法將使用時間戳。掛起的交易在所有可用的驗證器之間根據其惟一的雜湊值進行確定的分割槽。這是為了確保沒有兩個驗證器會驗證同一個交易。· 交易處理一旦確認器加入池,它必須連續傳送網路交易以確認其存在,否則將被其他參與者刪除。
驗證器傳送的網路交易除了頭塊外,還包含傳送器已驗證並希望在分類賬中包含的未決交易。它們還包含傳送方的當前邏輯時間戳,稍後用於在交易之間建立確定的順序。只有建立了最終的訂單,新訂單交易所包含的交易才能安全地寫入分類賬。其他驗證器接收這些交易並將它們放置到本地緩衝區中,該緩衝區被輸入到排序演算法中。然後,演算法由每個驗證器在本地獨立地執行,除了從驗證器廣播交易之外,不需要任何通訊。· 合乎邏輯的時間戳前面提到了邏輯時間戳的概念。這些是參與驗證器池的節點傳送的交易的時間戳。邏輯時間戳確定交易發生的時間,其方式與常規時間戳(如27/01/2019 18:33:45 UTC)相同。不同之處在於,邏輯時間戳不知道我們人類將什麼視為時間。相反,它以因果關係的概念為中心,這意味著它不能用來確定交易發生的確切時刻。它只能確定一個交易是發生在另一個交易之前還是之後。
這是排序演算法的一個很好的構建塊,它不能依賴於正常的時間戳來排序交易(惡意參與者、時鐘可能來自不同的時區,或者它們可能在系統之間漂移,等等)。· 排序演算法區塊鏈協議必須在某種程度上達到最終目的。它必須確定地這樣做,這樣當從相同的資料派生時,任何參與節點的狀態都將是完全相同的。在Purple協議中,排序演算法的目的是透過在所有參與節點之間建立一個確定的交易總順序來實現終結性。它透過使用驗證器傳送的交易之間的因果關係(即交易A遵循交易B,交易B遵循交易C,等等)來確定哪些交易確實位於所有參與節點的儲存器中。

例如,在有三個驗證器的場景中,如果一個交易後面跟著來自不同節點的兩個其他交易,那麼我們可以確定所有參與者都確實收到了該交易。然後,節點將按照因果關係的順序將交易新增到磁碟儲存器中。

3個驗證器的場景:A,B和C綠色表示所有節點都見過該事件。藍色表示事件已由子節點或所有節點見證。紅色表示我們只能確定傳送方和接收方在儲存器中有的事件。
· 拜占庭容錯這種方法適用於每個參與節點都屬於同一實體的場景,例如處理器中的不同核心。但在公共環境中,它卻失敗得很慘,參與者是完全不同的實體,有著完全不同的利益。如果一個系統能夠執行,即使在共識參與者是惡意的情況下,這被稱為拜占庭式的容錯。在這樣一個系統中,一個行為惡毒的參與者被稱為拜占庭人。在Purple協議的情況下,這是透過需要額外的兩輪投票才能將交易推進到總順序來實現的。
由3個節點傳送的事件圖:A,B和C具有紅色字型的事件由拜占庭節點C傳送.B1將被選擇而不是B'1,因為它具有最多的追隨者。
· 塊現在值得指出的是,驗證器池中節點之間的通訊與網路的其他部分是完全獨立的。驗證器池不斷生成塊,這些塊廣播到網路中的所有節點。如果生成的塊與節點的本地歷史記錄的其餘部分相比有意義,那麼它們將被接受為本地分類賬的一部分。塊包含由驗證器按照它們被推進的順序推進到總順序的網路交易。這包括池成員建立的連線和離開交易。對於驗證器之間的網路分割槽,將形成兩個池,生成一個分支。根據規則,節點將選擇有效的最長塊鏈,這意味著它是由具有最多活動節點的池生成的。由於該演算法還處於實驗階段,還需要在大型網路上進行全面測試,因此請對這裡所寫的一切持保留態度。將來情況可能會改變。

更多區塊鏈資訊:www.qukuaiwang.com.cn/news

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;