1000TPS! 5000TPS!! 22000TPS!!! -許多較新區塊鏈專案在談到他們專案時都會強調這些數字。儘管有許多的技術創新,但這樣的宣告沒有考慮到,在不考慮執行完整節點成本的情況下,增加TPS(每秒交易數量)會帶來去中心化的權衡。一種名為ScaDe(每個去中心化單元的可擴充套件性)的新思維模型將幫助該行業設計出更好的區塊鏈。去中心化對區塊鏈來說至關重要。加密行業70%以上的價值(又稱市值)產生於兩個去中心化的區塊鏈——比特幣和以太坊,儘管他們的TPS並不是很高。現在的區塊鏈架構在可擴充套件性和去中心化方面非常低效,因此我們無法獲得更好的吞吐量。這種挑戰被廣泛稱為可擴充套件性的三難困境(Scalability Trilemma)。在這篇文章中,我提出了一個新的思維模型叫做ScaDe(每個去中心化單元的可擴充套件性),可幫助該行業設計出更好的區塊鏈。我們將研究為何使用零知識證明的簡潔區塊鏈(例如Coda),能夠超越現在區塊鏈有限的ScaDe。最後,我們相信ScaDe比TPS更好,因為區塊鏈不是計算機。可信任機器
當以太坊自稱是“世界計算機”時,我們也跟著開始將區塊鏈概念化為計算機。但是,計算機是計算的機器,它做計算(如加法、乘法)非常快。可真正的區塊鏈卻是非常糟糕的計算機,它們的計算速度非常慢(比1990年的計算器還慢)。也就是說,對於比特幣而言,每秒只能處理7筆交易,以太坊每秒只能處理15筆交易。這是因為區塊鏈是可信任的機器,而不是計算機。它使每個人都能信任一系列計算的結果,而無需去信任一個或一組已知的第三方。數字黃金(又稱比特幣),是第一個直接建立在可信任機器上的應用程式,它相當於計算機。隨著以太坊的出現,該領域的開發人員開始構建和設想許多其他的應用程式:代幣、遊戲道具、門票、身份識別、全球金融服務等等。當前的區塊鏈架構在成為可信任機器方面效率很低,因為任何想要使用區塊鏈的人都必須重新計算區塊鏈上的整個計算過程。也就是說,除非他們信任代表他們做這件事的第三方,否則你就失去了使用信任機器的主要好處。由於效率低下,我們在擴充套件這些信任機器方面獲得的成功很少。這個挑戰被廣泛稱為可擴充套件性的三難困境。
業內人士認為,比特幣和以太坊等主流區塊鏈目前的去中心化情況基本已足夠。儘管去中心化不是一個很好量化的特性,但它主要是關於有多少不同的實體具有向可信任機器寫入(或控制)資訊,和從可信任機器讀取(或訪問)資訊的實際能力。控制節點(礦工或區塊生產者)由鏈本身直接補償,以保持誠實。因此,儘管有價值數百億美元的賞金和10年的時間,但主流區塊鏈並沒有受到攻擊。新區塊鏈開發者的注意力主要集中在增加區塊鏈的規模上,規模可被量化為每秒交易數(TPS)。另一方面,由於希望使用和訪問區塊鏈的人越多,執行一個完整節點的成本就越高,所以訪問節點(或完整節點)就會遭遇“公地悲劇(a tragedy of the commons)”。這限制了完整節點的數量,有時還會減少完整節點的數量(目前比特幣完整節點是1萬個,以太坊是7000個)。這個趨勢一直是開發人員關注的主要問題,甚至成為了2017年比特幣現金分叉發生的根本原因:因為比特幣開發人員不想讓終端使用者更難執行比特幣完整節點。
連線到比特幣和以太坊的完整節點總數量儘管存在這樣的擔憂,但新區塊鏈開發人員的注意力還是主要集中在增加區塊鏈規模上,區塊鏈的規模可被量化為每秒交易數量(TPS)。建立ScaDe正如前面所討論的,許多區塊鏈開發人員沒有考慮到,增加TPS的同時會伴隨著去中心化的權衡。無論共識演算法可以多快地獲得或實現更高效的資料結構,無法改變的事實是,直接訪問區塊鏈的使用者必須重新進行所有計算才能訪問可信任機器。這就是為什麼自從區塊鏈出現以來,我們一直被卡在權衡邊緣的原因,在這種情況下,每個去中心化單元的可擴充套件性並沒有得到改善。如果我們想要設計更好的可信任機器,我們就需要開始最佳化以實現一個更全面的目標。ScaDe,即每個去中心化單元的可擴充套件性,並沒有得到改善我們提出了ScaDe(即每個去中心化單元的可擴充套件性),作為設計出更好區塊鏈的新思維模型。雖然不是一個確定性的模型,但ScaDe可以在概念上構建為當前和未來區塊鏈的權衡曲線。
ScaDe圖表上現有和未來區塊鏈的近似或預估圖如果我們將圖表集中在現有鏈的一個更小子集上,我們就可以確定TPS和完整節點數量,我們也確實可以在現實生活中看到這種關係。
帶有實時公有鏈真實資料的ScaDe圖表開發人員和企業家所追求的許多用例,都是需要在高吞吐量的基礎上才能實現。但是,追求高吞吐量的同時,我們不能放棄區塊鏈至關重要的特點——在沒有中介的情況下實現可程式設計信任。如果我們回到必須信任有限的中介機構,那麼去使用一個真正糟糕的計算機是沒有意義的。只需使用雲端計算,這是更便宜的方式!使用一臺糟糕計算機不僅沒有意義,而且我們還看到了專案進行去中心化權衡的不良結果,因為它們無法超越當前的ScaDe邊界。EOS已將其大部分節點合併給了中國參與者。Libra面臨著巨大的監管壓力,因為所有節點都是已知的(甚至在啟動之前就知道了)。區塊鏈問題的實質是,增加應用程式(構建在區塊鏈上)可用性和範圍的唯一途徑是找到超越當前ScaDe邊界的方法。這是使用者和開發人員應該用來對比區塊鏈專案的指標,而不是TPS。
那麼,我們如何實現更高的ScaDe呢?輸入零知識證明(ZKP)ZKP是產生證明的計算指令,該證明使所有人都可以輕鬆而廉價地驗證計算是否正確。因此你無需再進行一次計算才去相信該計算結果,只要檢查證明即可。ZKP以特定的方式應用於區塊鏈(例如在Coda中),可以使得使用者能夠輕鬆地檢查在他們訪問區塊鏈之前的計算。使用者無需從第一個區塊開始重新計算整個計算過程,只需驗證一個簡單的證明,就能夠相信其他參與者都正確地計算了區塊鏈的所有交易和規則。這使得執行訪問節點的複雜性提高了1000倍。目前,用一臺價值2000美元的臺式電腦啟動一個比特幣節點的最快時間是6.5小時。使用Coda,一般智慧手機只需花費幾毫秒。多虧了ZKP,我們無需重新計算所有交易,那麼我們就可以增加ScaDe的數量級了。請記住,我們還是無法超越ScaDe邊界,因為無論我們如何增加TPS,我們都必須重新計算所有交易。多虧了ZKP,如果我們不再需要這麼做,那麼我們就可以增加ScaDe的數量級。
簡潔區塊鏈的假想ScaDe模型,以Coda的未來狀態為例雖然使用ZKP的當前狀態在去中心化和TPS方面都可立即獲得好處,但是確實受到了工程侷限性的限制,比如計算證明的速度和資料在P2P gossip網路中傳輸的速度。幸運的是,ZKP為我們提供了一條持續增長ScaDe(從而增加TPS)的道路。ZKP(特別是SNARK及其變體)的計算進展以指數方式提高了證明速度和其他所需功能(例如可信任的設定)。在2019年,我們看到了新SNARK結構的數量與往年每年的總和一樣多。我們還看到驗證速度提高了好幾倍,例如在SNARK挑戰賽中,我們在O(1)Labs的速度提高了4倍。
結論區塊鏈行業缺乏一個框架,讓使用者和開發人員能夠準確、公平地比較不同的區塊鏈本質——可信任機器。這些機器的主要功能是可程式設計信任,這是由它們的去中心化和無需許可來實現的。像比特幣和以太坊這樣受歡迎的區塊鏈,要求使用者和開發人員執行價值數千美元的裝置或註冊中介機構的服務。這阻止了從加密中獲益最多的使用者訪問這些鏈,因為他們沒有足夠的資源,或者會受到這些中介的審查。如果我們繼續以這種方式構建區塊鏈,我們將犧牲信任機器的革命。相反,我們最終將只是複製我們現有的金融體系,為中央集權者設計一套新的理法而已。
我建議將ScaDe作為一種心智模型,推動行業在不進行去中心化權衡的情況下設計出更好的區塊鏈。當我們觀察正在執行或正在開發的區塊鏈時,大多數區塊鏈都被卡在了ScaDe的邊界上。這迫使開發人員和使用者做出權衡(數字黃金:比特幣與監管支付:Libra)。實現更好ScaDe的方法是設計出更高效的信任機器,使使用者無需重新計算自創世區塊以來的每個交易,即可直接訪問該機器。透過使用ZKP將區塊鏈的大小固定成一個很小的證明,可以獲得一個更有效的設計和更好的ScaDe。在Coda上,我們已經為此努力了2年,並公開測試了6個月。我們的目標是在2020年夏天推出全球首個具有更好ScaDe的區塊鏈。