前言

在傳統的區塊鏈網路中,交易必須經由網路中的每個節點確認,節點間達成共識後才會將交易打包產生新的區塊。這個作法最大的優點在於安全性,因為每一個節點都會記錄完整的區塊鏈帳本歷史,試圖攻擊區塊鏈網絡的黑客很難偷偷地竄改數據而不被發現。

然而高度的安全性是要付出代價的,節點之間必須頻繁地溝通和交換信息,這會佔據網絡頻寬和拖慢交易處理速度。為了防堵單一節點的故障造成區塊鏈網絡停擺,需要有足夠多的節點加入,以增加去中心化程度和分散風險。這些不同的取捨考量又被稱作是「不可能三角」,意即無法兼顧區塊鏈網絡的擴容性、去中心化、和安全性。

Untitled

圖來自 V 神博客

分片就是一個提高區塊鏈網絡擴容性,卻又不必犧牲安全性和去中心化程度的解決方案。分片會將單一的區塊鏈網絡劃分成多個較小的區塊鏈,每一個小的區塊鏈都分別管理各自的交易記錄,唯有必要時才執行不同分片之間的數據交換。這可以讓不同分片鏈的節點能夠同步驗證交易,每一個節點也只需要驗證屬於該分片的信息,而不必處理整個區塊鏈網絡的數據。

只要每個分片鏈上的節點數量夠多,安全性和去中心化程度就不會受到威脅,因此分片技術的應用可以增加區塊鏈網絡的吞吐量,以滿足逐漸增加的用戶需求,以太坊在升級至 2.0 後也將通過分片來進一步提升其的擴容性。

分片是什麼?(What is)

分片是一種提升數據庫存取效能的優化技術,將原始的數據庫依照需求條件切割成多個分片,能夠分散負載和用戶流量,以提供更快的服務。由於區塊鏈網絡即為大型的分散式帳本和數據庫,因此可以利用分片技術來改善擴容性。

比如說,在購物網站上有價格不一且數量龐大的商品,消費者在選擇時又有不同的需求,有些人想要搶購折扣多且便宜的貨,部分的人專買昂貴的高級品,在處理數量龐大的訂購單時,就可以用商品價格範圍做一個簡單的分流,來加快核對人員處理的速度。