ioppppp-960x426

分片(Sharding):區塊鏈擴容加速解決方案

TLDR: 比特幣以太坊 屬於緩慢的區塊鏈網絡。分片可以將掘礦能力劃分為小的分片部分,每個小分片能夠同時處理分片前的工作量。所以:分片=速度!


區塊鏈快速擴充能力(Scalability)

什麼是分片?區塊鏈網絡目前在大規模應用方面的樽頸,就是缺乏快速擴充容量的能力、而且大多數網絡根據設計本身,都只能每秒處理數宗交易:比特幣每秒只能處理5筆交易(transaction per second,TPS),以太坊則每秒只能處理大約12宗交易。相比現有的中心化(centralized)解決方案,例如支付領域的Visa、雲端運算領域的AWS,區塊鏈網絡仍然缺乏競爭力。舉例,隨著區塊鏈遊戲《CryptoKitties》在2017年在加密貨幣社群流行,雖然遊戲只有幾千名用戶,但已經大大降低了以太坊網絡的運作速度,這對於使用以太坊區塊鏈提供服務的公司來說是一大問題。

當前,維護比特幣和以太坊網絡的每部電腦,都在同一公共賬簿(public ledger)上工作。換句話說,每個節點都必須處理每宗交易。將更多電腦或運算力添加到網絡中,只能提升安全性、而不能提高交易處理效率。這涉及到所謂區塊鏈「三難困境」(Blockchain Trilemma),即是目前沒有一個區塊鏈可以同時實現快速擴充(scalaibility)、安全性(security)和去中心化(decentralization)。

比特幣和以太坊區塊鏈網絡,主要靠工作量證明(Proof-of-Work,PoW)機制,維持網絡安全,交易由位於全球各地數十萬部專門挖礦的電腦和設備共同處理。作為點對點(P2P)現金系統或所謂「世界電腦(World Computer)」,比特幣和以太坊區塊鏈,能夠實現安全、去中心化的功效,但是這兩大區塊鏈不能迅速擴充容量。為了提高網絡擴展的能力,許多解決方案已經提出。例如,Bitcoin Cash(比特幣的分叉,BCH)增加區塊的大小,讓每個區塊可以處理更多的交易;第二層(Layer-2)解決方案閃電網絡(Lightning Network),則利用鏈下支付途徑來減輕主鏈的運算負擔。至於分片,則是另一種正在急速發展的解決方案,獲得以太坊、Zilliqa、Quarkchain等區塊鏈項目採用。

 

分片(Sharding)技術解釋

分片是一種橫向進行的分區(partitioning)設計,作為一種數據庫設計原則,主要用於分隔數據庫伺服器以分散運算負擔,讓區塊鏈解決擴充能力偏低、交易處理延遲的問題。

在區塊鏈中實施分片技術,即是將網絡分為不同的片區(shards),並行處理交易。每個節點將只有區塊鏈網絡的部分數據、而非全部數據,可以同時處理更多交易。例如,假設一個具有1,000個節點的網絡,可以將網絡劃分為10個片區,每個片區由100個節點組成,如此而來整體網絡的處理速度應增加10倍。

 

一個具有1,000個節點的網絡,可以將網絡劃分為10個片區,如此而來整體網絡的處理速度應增加10倍。


單片區接管攻擊(Single-Shard Takeover Attack)

實施分片的網絡會產生新的運作風險,包括單片區接管攻擊。

單片區接管攻擊,即是指網絡當中一個片區被惡意節點控制,該片區的交易可能會被篡改。

防止單片區接管攻擊,應對方法是防止攻擊者將其雜湊運算能力(hash-power)集中到單一片區。

將節點分配到不同片區的方法是當中關鍵。以太坊(Ethereum)的分片解決方案,會在每個片區上隨機抽出驗證者(validators)。足夠的隨機性可以確保驗證者不會知道他們將預先進入哪個片區。同樣,以太坊分片要求每個片區的三分一驗證者,來確認區塊的正當性。

除此之外,分片在設計上應該限制每個片區的最小驗證者數量規模,以減少將惡意節點分配給同一片區的可能性。綜合上述措施,區塊鏈網絡的效率會大幅提升,同時不會犧牲安全性。


總結

私有系統通常會使用分片技術,將數據庫或搜索引擎作橫向分隔、減輕負載,但是將其實施到公共區塊鏈中仍然是一項挑戰。要維持系統去中心化、運作機制透明,會使同時保持系統安全水平變得困難。除了單片區接管攻擊外,分片技術的開發人員還面臨例如跨片區資料傳輸等其他問題。

分片被視為解決區塊鏈運作難題最可行的解決方案之一。假如分片技術成功實施,網絡交易成本將會大幅降低,並且讓程式開發者可以建立更複雜的去中心化應用程式(DApp)。

 

相關資訊:

分片技術常見問題解答 - 以太坊
https://github.com/ethereum/wiki/wiki/Sharding-FAQs

Zilliqa設計(網絡分片)
https://blog.zilliqa.com/https-blog-zilliqa-com-the-zilliqa-design-story-piece-by-piece-part1-d9cb32ea1e65

以太坊分片概述和交易確定性問題
https://medium.com/@icebearhww/ethereum-sharding-and-finality-65248951f649

 

由Genesis Block 交易員Charlie撰寫
如有任何疑問,請電郵至 charlie.tsang@genesisblockhk.com / @GBCharlie

感謝你閱讀《分片(Sharding):以太坊區塊鏈擴容加速解決方案》。歡迎訂閱 Genesis Block 的通訊,及瀏覽其他內容。