完美公正的交易排序不可能性
探討康多塞悖論如何揭示區塊鏈共識中完美公正的限制。
在分佈式系統的研究中,尤其是在拜占庭共識和狀態機複製(SMR)方面,數十年來的重點主要集中在兩個目標上:一致性和活躍性。一致性意味著所有節點對相同的交易序列達成共識,而活躍性則確保系統持續添加新交易。然而,這些特性並不能阻止不良行為者在交易接收後改變交易的順序。
在公共區塊鏈中,傳統共識保證的這一缺口已成為一個嚴重問題。驗證者、區塊建設者或排序者可以利用他們在區塊排序中的特權角色獲取財務利益,這種行為稱為最大可提取價值(MEV)。這種操縱包括盈利的前置交易、後置交易和夾擊交易。由於交易執行的順序決定了去中心化金融(DeFi)應用中的有效性或盈利性,因此交易排序的完整性對於維持公正和信任至關重要。
為了解決這一關鍵的安全缺口,交易順序公正性被提出作為第三個基本共識屬性。公平排序協議確保最終的交易順序取決於外部的客觀因素,例如到達時間(或接收順序),並且對對手方的重新排序具有抵抗力。通過限制區塊提議者重新排序交易的權力,這些協議使區塊鏈更接近於透明、可預測和抵抗MEV的狀態。
康多塞悖論與理想公正的不可能性
最直觀且最強的公正概念是接收順序公正(ROF)。ROF非正式地定義為「先接收,先輸出」,這意味著如果足夠多的交易(tx)在大多數節點上早於另一筆交易(tx′)到達,那麼系統必須在執行時將tx排在tx′之前。
然而,除非假設所有節點能夠瞬時通信(即在瞬時同步的外部網絡中運行),否則實現這種普遍接受的「順序公正」在根本上是不可能的。這一不可能性源於與社會選擇理論的驚人聯繫,特別是康多塞悖論。
康多塞悖論表明,即使每個單獨的節點保持交易的傳遞內部排序,系統中的集體偏好也可能導致所謂的非傳遞循環。例如,可能大多數節點在交易A之前接收交易B,大多數節點在交易B之前接收交易C,並且大多數節點在交易C之前接收交易A。因此,這三個多數偏好形成了一個循環(A→B→C→A)。這意味著,對於交易A、B和C,沒有一個單一且一致的排序能同時滿足所有多數偏好。
這一悖論顯示了在非同步網絡中完美實現接收順序公正的目標為何是不可能的,甚至在共享公共時鐘的同步網絡中,如果外部網絡延遲過長,這一不可能性也同樣存在。因此,必須採用較弱的公正定義,例如批次順序公正。
Hedera Hashgraph與中位時間戳的缺陷
Hedera使用Hashgraph共識算法,試圖近似強接收順序公正(ROF)的概念。它通過將每筆交易的最終時間戳計算為所有節點對該交易的本地時間戳的中位數來實現。
然而,這本質上容易受到操縱。一個惡意節點可以故意扭曲其本地時間戳,並反轉兩筆交易的最終排序,即使所有誠實參與者按正確的順序接收它們。
考慮一個簡單的例子,五個共識節點(A、B、C、D和E)中,節點E行為不端。兩筆交易tx₁和tx₂被廣播到網絡。所有誠實節點在tx₂之前接收tx₁,因此預期的最終順序應為tx₁ → tx₂。
在這個例子中,對手為tx₁分配了一個較晚的時間戳(3),而為tx₂分配了一個較早的時間戳(2),以扭曲中位數。
當協議計算中位數時:
* 對於tx₁,時間戳(1、1、4、4、3)得出的中位數為3。
* 對於tx₂,時間戳(2、2、5、5、2)得出的中位數為2。
由於tx₁的最終時間戳(3)大於tx₂的(2),協議輸出tx₂ → tx₁,從而反轉了所有誠實節點觀察到的真實順序。
這個簡單的例子展示了一個關鍵缺陷:中位數函數雖然看似中立,卻悖論性地成為不公正的真正原因,因為即使是一個不誠實的參與者也能利用它來偏向最終交易順序。
因此,Hashgraph經常宣稱的「公平時間戳」實際上是一種相當薄弱的公正概念。Hashgraph共識未能保證接收順序公正,而是依賴於授權的驗證者集,而不是基於密碼學保證。
實現實際保證
然而,為了繞過康多塞所展示的理論不可能性,實際的公平排序方案必須在某種程度上放寬公正的定義。
Aequitas協議引入了批次順序公正(BOF)的標準。BOF規定,如果足夠多的節點在另一筆交易tx′之前接收交易tx,則tx必須在tx′之前或同時在一個區塊中交付,這意味著沒有誠實節點可以在tx之後的區塊中交付tx′。這將規則從「必須交付之前」(ROF的要求)放寬為「必須不遲於交付」。
考慮三個共識節點(A、B和C)和三筆交易:tx₁、tx₂和tx₃。如果至少三個節點(多數)首先觀察到一筆交易,則該交易被視為「先接收」。
如果我們應用多數投票來確定全局順序:
* tx₁ → tx₂(A和C一致同意)
* tx₂ → tx₃(A和B一致同意)
* tx₃ → tx₁(B和C一致同意)
這些偏好形成了一個循環:tx₁ → tx₂ → tx₃ → tx₁。在這種情況下,沒有一個單一的順序可以同時滿足每個人的觀點,這意味著嚴格的ROF是不可能實現的。
BOF通過將所有衝突的交易分組到同一批次或區塊中來解決這一問題,而不是強迫一個在另一個之前。協議簡單地輸出:
區塊B₁ = {tx₁, tx₂, tx₃}
這意味著,從協議的角度來看,所有三筆交易都被視為同時發生。在區塊內,使用確定性的打破平局者(例如哈希值)決定它們的執行順序。這樣,BOF確保了每對交易的公正性,並保持最終交易日誌對所有人一致。每一筆交易的處理不遲於其前一筆交易。
這一小而重要的調整使協議能夠處理交易排序衝突的情況,通過將這些衝突的交易分組到同一區塊或批次中。重要的是,這不會導致部分排序,因為每個節點仍必須就一個單一的線性交易序列達成一致。當沒有這種衝突發生時,協議仍然實現了更強的ROF屬性。
雖然Aequitas成功實現了BOF,但它面臨著重大限制,特別是其通信複雜度非常高,並且只能保證弱活躍性。弱活躍性意味著一筆交易的交付僅在其所屬的整個康多塞循環完成後才有保證。如果循環「鏈接在一起」,這可能需要任意長的時間。
Themis協議被引入以強制執行相同的強BOF屬性,但改善了通信複雜度。Themis通過三種技術實現這一點:批次解開、延遲排序和更強的批內保證。
在其標準形式中,Themis要求每個參與者與網絡中的大多數其他節點交換消息。所需的通信量隨著網絡參與者數量的平方增長。然而,在其優化版本SNARK-Themis中,節點使用簡潔的密碼學證明來驗證公正,而無需直接與每個其他參與者通信。這減少了通信負擔,使其僅以線性增長,從而使Themis在大型網絡中有效擴展。
假設五個節點(A–E)參與共識,接收到三筆交易:tx₁、tx₂和tx₃。由於網絡延遲,它們的本地順序不同:
如同Aequitas一樣,這些偏好形成了一個康多塞循環。但Themis並不等待整個循環解決,而是使用一種稱為批次解開的方法來保持系統運行。它識別出所有屬於循環的交易,並將它們分組到一個集合中,稱為強連通組件(SCC)。在這種情況下,所有三筆交易都屬於同一SCC,Themis將其輸出為一個進行中的批次,標記為批次B₁ = {tx₁, tx₂, tx₃}。
通過這樣做,Themis允許網絡在Batch B₁的內部順序仍在最終確定的同時,繼續處理新交易。這確保了系統保持活躍,避免了停滯。
總結:
完美的交易排序公正概念看似簡單。誰的交易最先到達網絡,誰就應該最先被處理。然而,正如康多塞悖論所示,這一理想在現實的分佈式系統中無法成立。不同的節點以不同的順序看到交易,當這些觀點衝突時,沒有任何協議能夠在不妥協的情況下構建一個單一的、普遍「正確」的序列。
Hedera的Hashgraph試圖通過中位數時間戳來近似這一理想,但該方法更多地依賴於信任而非證明。一個不誠實的參與者可以扭曲中位數並翻轉交易順序,顯示出「公平時間戳」並不是真正的公平。
像Aequitas和Themis這樣的協議推進了討論,承認了可以和不可以實現的目標。它們不再追求不可能的理想,而是重新定義公正,以在真實網絡條件下仍然保持順序的完整性。所產生的不是對公正的拒絕,而是其演變。這一演變清晰地劃分了感知的公正與可證明的公正。它表明,去中心化系統中真正的交易順序完整性不能依賴於聲譽、驗證者信任或授權控制,而必須來自於嵌入在協議中的密碼學驗證。
這篇文章不包含投資建議或推薦。每一項投資和交易行為都涉及風險,讀者在做出決策時應進行自己的研究。
這篇文章僅供一般信息用途,並不打算被視為法律或投資建議。文中表達的觀點、想法和意見僅代表作者本人,並不一定反映或代表Cointelegraph的觀點和意見。
Cointelegraph不支持本文的內容或提到的任何產品。讀者在對提到的任何產品或公司採取行動之前,應進行自己的研究並對自己的決策承擔全部責任。
以上文章由特價GPT API KEY所翻譯及撰寫。而圖片則由FLUX根據內容自動生成。