分片技術:如何解決區塊鏈的性能問題?
出品|白話區塊鏈(ID:hellobtc)
出品|白話區塊鏈(ID:hellobtc)
你或許也知道,限制目前區塊鏈技術大規模落地應用的一個很重要因素就是性能,這也是為什麼很多傳統互聯網從業者不太看好區塊鏈技術的一個原因。
一級標題
01
一級標題
一級標題
什麼是分片?個概念的流行,要歸功於一個多玩家同時在線玩的角色扮演遊戲Ultima Online。
一級標題
02
一級標題
一級標題什麼是區塊鏈領域裡的分片?區塊鏈就相當於一個數據庫,每一個節點都相當於一個獨立的服務器。正常情況下,
這些節點每次只有一個節點能獲得記賬出塊的權利
,剩下沒獲得出塊權的節點相當於做了“無用功”,白白浪費了算力。
如果採用分片技術,將8,000 個節點分成100 組,每組80 個節點,這15,000 筆待確認交易分成100 個分區,每個分區150 筆,那麼,每組節點(80 個)可以並行處理各自分區裡的待確認交易(150 筆),這樣最快10 秒鐘就可以全部處理完那15,000 筆待確認交易。
一級標題
03
一級標題
一級標題
分片技術潛在的風險
那麼,分片技術有沒有缺陷呢?答案是肯定的。分片技術雖然能在一定程度上解決區塊鏈的性能問題,讓區塊鏈更具有可擴展性,但也存在兩個缺陷。
一個是分區後,不同區的通信問題。上面的例子,將以太坊網絡分成100 個分區,每個分區都是獨立的,相當於有100 條獨立的、平行的以太坊區塊鏈,每條都由一組礦工(80 個節點)維護和確認交易。這100 條獨立的以太坊區塊鏈並不能相互通信,如果要通信,勢必要增加跨分區的通信機制(
類似垮鏈),這會增加區塊鏈的複雜性,開發難度也會提高。
第二個是區塊鏈的安全性。還是上面的例子,在未分片之前,以太坊網絡是8,000 個節點組成的算力,分成100 個分區後,每個分區相當於一條獨立的以太坊區塊鏈,算力下降到80 個節點組成的算力。此時,對其中一個分區進行
51% 算力攻擊


