ioppppp-960x426

分片(Sharding)技術解釋

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

分片:區塊鏈加速擴容技術

由於區塊鏈技術缺乏可擴展性,每秒只能處理幾筆交易,導致區塊鏈技術較難獲得大規模使用。 比特幣(BTC)每秒只可處理5筆交易(tps),而 以太坊每秒只能處理12筆交易,因此現有的區塊鏈技術相比於傳統的中心化付款系統如Visa及以AWS作為雲端計算軟件的服務難以競爭。 例如隨著2017年CryptoKitties的普及就已經大大降低了只有數千名使用者的以太坊網絡速度。 這對於使用以太坊作為服務的公司來說無疑是一個問題。

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

比特幣和以太坊是受工作量證明( Proof-of-Work)保護的區塊鏈網絡。世界各地有數十萬台電腦及專用的挖礦機處理交易。比特幣和以太坊是一個既安全又去中心化的點對點(P2P)付款系統/世界電腦。但是,它們並不能立即擴大至社區使用。為了提高使用度,市場已提出許多解決方案。例如,BitcoinCash(比特幣的硬分叉)增加了區塊鏈內每個區塊的大小,允許區塊內能處理更多的交易;而另一開發的第二層閃電網絡(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