完美公平交易排序的不可行性
探討康多塞悖論如何揭示區塊鏈共識中完美公平的局限性。
在分佈式系統的研究中,特別是在拜占庭共識和狀態機複製方面,數十年來的重點主要集中在兩個主要目標上:一致性和活躍性。一致性意味著所有節點對同一交易序列達成一致,而活躍性則確保系統持續添加新的交易。然而,這些特性並不能阻止不法行為者在接收交易後改變其排序。
在公共區塊鏈中,傳統共識保證的這一缺口已成為一個嚴重問題。驗證者、區塊建設者或排序者可以利用他們在區塊排序中的特權角色來獲取財務利益,這種做法被稱為最大可提取價值(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這樣的協議推進了討論,承認了可以實現和無法實現的目標。它們不再追求不可能的理想,而是以某種方式重新定義公平,在真實的網絡條件下仍然保持順序的完整性。所產生的不是對公平的拒絕,而是其演變。這一演變清楚地劃定了感知公平與可證明公平之間的界限。它表明,在去中心化系統中,真正的交易順序完整性不能依賴於聲譽、驗證者信任或授權控制,而必須來自於嵌入協議本身的密碼學驗證。
以上文章由特價GPT API KEY所翻譯及撰寫。而圖片則由FLUX根據內容自動生成。