區塊鏈將全世界都記錄在了同一個賬本上。每挖出一個新的區塊,這個賬本就會生成一個新的狀態來代替之前的狀態。共識機制旨在確保這個狀態得到了社區中大多數人的認可。在巧妙設計的系統中,激勵機制可以確保不可變性。只要等待足夠長的時間,已成歷史的狀態就無法被篡改。區塊鏈爲我們帶來了可編程貨幣,並且俘獲了許多人的想象力。

比特幣和以太坊是區塊鏈世界的兩大領頭羊。事實證明,這兩種賬本技術流行程度高,而且發展勢頭強勁,但是人們普遍不看好它們的可擴展性。爲什麼會出現這種情況呢?又如果改善這種狀況呢?

背景

**
**

區塊鏈本身也叫作 Layer
1。區塊鏈充當的是網絡中所有數字資產歸屬權的全局信任來源。網絡中的全節點會追蹤賬本的當前狀態。要想保持這種去中心化或無權力中心的狀態,就必須讓小礦工也能夠參與驗證併爲區塊鏈做貢獻。小礦工手中的系統資源和帶寬遠比不上大礦工。

爲實現免信任性和抗審查性,區塊鏈不能由某個實體或小團體控制。開發人員認爲要讓掌握不同資源的人都能夠參與進來,從而避免權力集中和單點控制的問題。因此,比特幣的區塊大小上限得不到提高。這一上限會抑制整個系統在資源要求上的膨脹,讓更多人能夠參與進來。

要注意的是,參與方之間也可以通過局部協議進行轉賬,無需進行全局更新。這就是我們通常所說的二層方案或鏈下交易,對於擴大交易的規模具有深遠影響(雖然不一定能擴大用戶基礎)。其思路是,各方之間的交易在上鍊之前可以聚合起來。在某些設計中,這種局部協議從開啓到將狀態上鍊可以歷時幾個月或者更久。

工程師都很看好二層解決方案,認爲它能夠大幅提升區塊鏈的可擴展性,對於密碼學貨幣能否滿足大用戶羣的需求具有決定性作用。然而,儘管二層解決方案具有很大的影響力,但它能做的只是提升底層區塊鏈的吞吐量,而非帶來無限的可擴展性。因此,重點還是要對網絡進行優化,最小化每個交易所需使用的資源。

問題

**
**

去中心化的比特幣區塊鏈是全球共享的廣播媒介——很有可能是人類設計過最低效的通信方式。

—— Greg Maxwell

一層區塊鏈的基本問題是全網的副本必須與總賬同步更新。每一個全節點都會存儲一個區塊鏈的副本,每個副本都是完全相同的,並經過了每一個全節點的獨立驗證。

新挖出的每一個區塊必須廣播給其他節點。延遲對挖礦節點來說尤爲關鍵,因爲它們需要緊接着最新挖出的區塊繼續挖,否則就會白費力氣。爲了驗證最新挖出的區塊,礦工需要知道區塊中包含哪些交易,並且掌握所有交易的副本。

目前來說,比特幣軟件採用的是一種幼稚的方法來廣播交易和區塊。節點接收到交易之後會將它們廣播給其他節點。創建的區塊會被廣泛傳播出去,不管接收者是否已經掌握其中的部分數據段。對於需要實時跟進出塊情況的礦工來說,這麼低效的流程簡直不能忍。

補救措施

**
**

比特幣的低效問題是衆所周知的。多年來,提高網絡效率的努力都在減少帶寬成本和加快傳播速度上。前比特幣維護者 Gavin Andresen 在 2014
年發佈了一個 O(1) 區塊傳播路線圖。後來,這個路線圖經過了大幅修改,不過基本思路沒怎麼變。

-FIBRE 網絡示意圖(來源:bitcoinfibre.org)-

_
_

中繼網絡

**
**

礦工已經在積極實現 FIBRE 和 Falcon 之類的區塊中繼網絡了。這些中繼網絡採用的是低延遲 +
高帶寬的連接方式,不過存在一些缺陷,例如中心化程度高,爲實現延遲最小化消耗了大量帶寬等等。這些網絡不會減少運行非挖礦節點所需的帶寬總量,這在工程師擴大系統規模之前是必需實現的。

壓縮區塊

**
**

如果在傳輸區塊的時候,區塊中包含的交易是接收者已有的,就不是最優方案。密碼學家 Greg Maxwell
曾指出,新挖出的區塊中有大部分交易都是接收者已知的。說明白點,新挖出的區塊中有很多交易很可能是接收者的內存池(已接收到但未經確認的交易集合)中已有的。Greg
Maxwell 研究了這一問題,並在 2015 年 12 月草擬了一個提議。

核心開發者 Matt Corallo 在 Greg 研究的基礎上改進了這個提議,並於 2016 年初正式提出了 BIP152
,闡明瞭壓縮區塊的概念。壓縮區塊協議指的是發送者向接收者發送的不再是完整的區塊數據,而是接收者肯定沒有的區塊頭、交易 ID
縮寫和交易集。這一改動旨在節省帶寬,不過也有降低延遲的效果。

Erlay

**
**

比特幣採用的是 “大水漫灌”
型的區塊廣播方式,顯然不是在網絡中傳播交易的最佳方式。一個節點可能會接收到同一個交易的多個副本,而且必須將這些副本廣播給所有與之相連的節點。由此一來,消耗了大量帶寬,造成了不必要的開支。此外,這會打擊節點與更多節點建立連接的積極性,因爲多連接一個節點,每傳播一個交易所需的帶寬就會相應遞增。

連接的節點越少,消耗的帶寬就越低。然而,這可能會帶來一定的危險,使用戶更容易遭受日蝕攻擊(eclipse attack)。TumbleBit 的創建者
Ethan Heilman 在 2015
年發佈了一篇關於日蝕攻擊的研究論文。這篇論文的基本思路與女巫攻擊有關。攻擊者僞裝成多個不同的實體來迷惑受害者。攻擊者會壟斷被攻擊節點的所有外部連接。作爲被攻擊節點僅有的信息來源,攻擊者會通過創建特殊的區塊來僞造當前狀態。這種攻擊的成本很高,但是如果攻擊者可以讓被攻擊者相信自己收到了一大筆比特幣,實際上卻將這筆資金轉移到了其他地方,被攻擊者可能就會被騙過,以爲自己已經收到了錢並且願意出貨。

Erlay 可以實現一個連接更好且更強大的網絡。如果是在每個節點都連接到其它 32 個節點的網絡種,Erlay
的研究人員發現,優化過後,節點使用的帶寬會比當前軟件下使用的帶寬減少 75% 。

下一步怎麼走?

**
**

一方面讓挖礦節點使用中繼網絡,另一方面讓普通節點用戶使用壓縮區塊協議,區塊廣播就能得到極大的優化。研究人員仍在努力減少系統的開支,並儘可能精簡流程。只有當開發人員認爲當前吞吐量下帶寬消耗量足夠低之時,談論提高吞吐量的問題纔會提上日程。

拓展資料

  • Greg Maxwell 在 2017 關於改進區塊廣播方式的演講

原文鏈接 :

https://medium.com/scalar-capital/bandwidth-and-the-blockchain-2ad35c57dbdf

作者 :Jordan Clifford

翻譯 & 校對 :閔敏 & 阿劍

本文由作者授權 EthFans 翻譯及再出版。


你可能還喜歡:

乾貨 |
可擴展性問題的簡單詮釋

乾貨 |
理解以太坊的第 2 層擴展方案

乾貨 |
免信任型計算的擴容模型,Part-2