我們首先指出,在比特幣等區(qū)塊鏈中,多數(shù)哈希值攻擊是可能的,因為用于保護區(qū)塊鏈的“工作”被鎖定在特定的區(qū)塊。當鏈被重新組織時,誠實的節(jié)點所做的所有工作都變得無用了——它們的工作所綁定的塊不再構成最長鏈的一部分??梢酝ㄟ^將工作量證明組件移動到事務級別來消除這個問題。
用戶可以簡單地在他們的事務中包含一個工作證明哈希值,而不是向礦商支付費用。網(wǎng)絡中的節(jié)點在傳播事務時收集這些哈希值,并且允許在mempool中有足夠的累積工作以滿足困難需求時生成塊。為了清晰起見,我們可以將其稱為“事務嵌入式工作證明”(transaction-embedded proof-of-work, tPOW),以區(qū)別于“塊嵌入式工作證明”(block-embedded proof-of-work, bPOW)。
這種方法的一個問題是,多個節(jié)點可能有足夠的工作來同時生成塊。這可以通過讓節(jié)點在通過網(wǎng)絡時對事務進行簽名來避免,為每個節(jié)點貼上事務在進入網(wǎng)絡的過程中所走過路由路徑的不可偽造的歷史記錄。
一個簡單的實現(xiàn)應該指定任何節(jié)點都不能將事務放入一個塊中,除非它包含在事務路徑中,并且每個事務中嵌入的“工作”的值應該隨著它通過網(wǎng)絡的每一次額外跳轉(zhuǎn)而下降。我們還應該指定,一旦只剩下很少的工作,節(jié)點就停止向?qū)Φ裙?jié)點傳播事務:希望更快的確認(更深入的傳播)的用戶應該附加更硬的證明。
有了這些限制,塊生產(chǎn)將采用權益關系證明系統(tǒng)的“循環(huán)”特性——但不需要破壞網(wǎng)絡的開放訪問特性。bPOW中的集中壓力也會消失,因為緊密對節(jié)點沒有任何好處:生成一個塊的節(jié)點生成下一個塊的可能性最小。對于塊生產(chǎn)來說,重要的是將自己定位在獨特的、高價值的事務入站流附近。
如果我們回到51%攻擊的話題,我們可以看到在這個系統(tǒng)中它們實際上是不可能的。惡意節(jié)點仍然可以攻擊網(wǎng)絡,但需要創(chuàng)建大量的工作密集型事務,以“擠出”誠實的事務。構建asic可以簡化這一過程,但是不需要為攻擊者支付挖掘費用,這樣做會帶來巨大的成本和零收益。而且成功攻擊所需的哈希值數(shù)量也很難預測:用戶可以通過增加附加到單個事務上的工作量來響應攻擊,從而實時提高攻擊成本,并幫助破產(chǎn)的攻擊者。
下表顯示了tPOW對鏈控制攻擊成本的影響。雖然只要攻擊者擁有大部分的網(wǎng)絡哈希值,就可以控制bPOW網(wǎng)絡,但是只要誠實的節(jié)點有攻擊者無法構建的工作,tPOW網(wǎng)絡就會提高攻擊成本。最終,即使是最富有的攻擊者也將不得不允許另一個節(jié)點向其區(qū)塊鏈貢獻塊,哪怕這只是為了降低他們試圖主導塊生產(chǎn)的成本。
下圖以可視化的形式顯示了相同的信息。紅線表示繼續(xù)審查網(wǎng)絡的成本??梢院芸炜闯?,這種攻擊是完全不可持續(xù)的。
這種方法存在合理的反對意見。節(jié)點是否有傳播事務的動機?如果我們?nèi)∠召M,網(wǎng)絡如何為自己的生存買單?如何誘導網(wǎng)絡假設一個最優(yōu)的經(jīng)濟結構?
雖然我們可以花上幾頁的篇幅來概述對它們的關注和回應(也就是說,節(jié)點沒有理由不能為點對等節(jié)點單獨支付費用),但我們將跳過這些細節(jié),并將感興趣的讀者指向Saito白皮書,該白皮書概述了一些額外的措施,這些措施有助于保護Saito類網(wǎng)絡免受切線攻擊向量的影響。
話雖如此,重要的是要突出saito類網(wǎng)絡相對于其他網(wǎng)絡的一個主要優(yōu)勢:區(qū)分誠實節(jié)點和攻擊者的能力,這使它們在可伸縮性和安全性方面都具有信息優(yōu)勢。
其他網(wǎng)絡無法區(qū)分這兩者的區(qū)別,這也是許多開發(fā)者玩“打鼴鼠”游戲的原因,這些游戲在越來越復雜的權益關系證明結構中涉及“技術權衡”。但是,如果只是將漏洞轉(zhuǎn)移到治理機制,那么替換對任何鏈重組機制的51%攻擊有什么用呢?
與其他區(qū)塊鏈不同,saito網(wǎng)絡可以區(qū)分攻擊節(jié)點和誠實節(jié)點。因為所有節(jié)點在通過網(wǎng)絡時都必須對事務進行加密簽名,所以網(wǎng)絡可以調(diào)整其路由拓撲以抵御攻擊。網(wǎng)絡中的用戶——唯一能夠識別攻擊的參與者——可以通過將事務路由到遠離攻擊者的地方來保護網(wǎng)絡。這種技術增加了誠實節(jié)點可用的“工作”,同時減少了攻擊者可用的“工作”。
我們希望其他人從這篇博客文章中得到有用信息。最重要的是,將分散的工作生成與加密簽名路由相結合,可以將區(qū)塊鏈更新為增強的saito類網(wǎng)絡。這種方法消除了51%的攻擊等漏洞,同時提供了不需要脆弱的權益關系證明治理機制的新防御機制。
最后,雖然這篇文章是關于工作證明的,但我們應該指出,我們不認為工作證明是真正高吞吐量區(qū)塊鏈的合適共識機制。
話雖如此,我們希望這篇快速的文章能夠幫助說明Saito發(fā)明的技術是如何與其他共識機制(包括工作證明)一起工作的。隨著它們被更廣泛地理解,我們預計saito級別的解決方案將在未來幾年在大多數(shù)主要區(qū)塊鏈中實現(xiàn)。