分片技術可能是實現區塊鏈擴展性的同時依舊能夠使分布式賬本技術保持隱私和安全特性的關鍵。但仍有一些障礙需要解決。
隨著區塊鏈在越來越多的試點項目中被推出,包括從跨境金融交易到供應鏈管理,但是一個長期性問題卻仍然存在:缺乏可擴展性。
隨著越來越多的計算機加入對等網絡,整個系統的效率通常會直線下降。
可擴展性已經被認為是比特幣和以太坊等加密貨幣的一個通病。如果分布式分類賬想要讓金融技術公司采用,并以當前數百倍的速度來與支付網絡進行競爭的話,就必須找到一種方法來提高可擴展性和吞吐量,并解決延遲問題。
分片技術的采用。
分片技術是開發人員為提高事務吞吐量而正在探索的幾種流行方法之一。簡單地說,分片是一種分區方法,它會將計算和存儲工作負載分散到對等(P2P)網絡上,這樣每個節點就不必同時處理整個網絡的事務負載。每個節點只需要維護與其分區或分片相關的信息。
分片中包含的信息仍然可以在其他節點之間共享,這使得分類賬可以同時保持分散和安全性,因為每個人仍然可以看到所有的分類帳條目;他們只是不會同時處理和存儲所有的信息。
共識的難題
公共區塊鏈中的最持久的問題之一,就是圍繞共識協議--如何就擬議的交易是否真實、是否應該添加到分布式賬簿上,從用戶那里獲得一致性的意見;諸如最流行的工作量證明(PoW)機制就是一個高度計算密集型的共識協議。
在基于PoW機制的區塊鏈中,每個認證計算機或節點都會記錄鏈中的所有數據,并作為協商過程的一部分。在比特幣等大型區塊鏈中,如果要將新交易添加到分類賬中,大多數參與節點就必須對新交易進行身份驗證并記錄信息;這使得完成每一筆交易都變得異常緩慢而艱難。正因為如此,基于PoW的比特幣每秒只能處理3.3到7筆交易,而完成一筆交易則可能需要10分鐘。以太坊是另一種流行的區塊鏈分類賬和加密貨幣,每秒只能處理12到30筆交易。
相比之下,Visa的VisaNet則平均每秒能夠處理1700筆交易。
讓每個節點都記錄添加到區塊鏈的新信息的好處是,數據總是無可爭議的,不可更改的?;赑oW的區塊鏈總是一次寫入,并附加了許多應用程序;因此,它們是不可改變的。
Ethereum和Hyperledger是世界領先的區塊鏈平臺,也是無數應用程序的基礎,從加密貨幣(如Ethereum的以太)到那些“智能”的或自動執行的在線合同。以太坊也正在探索分片技術,而Hyperledger則沒有。
“分片技術是一個起源于水平數據庫分區的概念,目前正被以太坊采用。這樣,就不是每個節點都必須處理所有事務,可以達到增強可擴展性的目的。”Gartner的副總裁兼杰出分析師AvivahLitan表示。
去年,在區塊鏈分類賬和加密貨幣達到每天100多萬筆交易之后,以太坊便開始探索提高性能的方法。
以太坊提出了兩個解決方案。一種是“第2層”機制--在標準數據庫中處理鏈外事務,而只在分類賬上記錄永久性條目;另一個解決方案則是分片,以便能夠同時并行處理更多事務。
第2層協議將大多數事務發送到鏈外處理,并且僅與底層區塊鏈交互以便進入和退出第2層系統。第2層協議通過在局域網內或相鄰廣域網內的節點之間傳輸數據,減輕了P2P區塊鏈網絡的負擔。
在激活分片之后,區塊鏈的“狀態”被分為了分片或分區。Litan解釋說,每個唯一的用戶帳戶都只存在于一個分片當中,并且帳戶只能與同一分片中的其他帳戶進行交易。“這使得許多并行事務可以同時發生,”她說。“然后便可以由以太坊選擇的單獨通信協議來實現分片之間的交叉通信。”
分片安全嗎?
除了解決了可擴展性的問題之外,一些人認為分片技術還維護了區塊鏈的本機安全性,因為它保留了“區塊鏈大多情況下所需的分散和安全屬性,”以太坊的創建者VitalikButerin在當時的一篇博客文章中寫道。
“從理論上講,事務吞吐量的增加和分片數量是線性關系。四個分片就可以實現大約四倍的吞吐量。而你可以有任意數量的分片”。Linux基金會Hyperledger區塊鏈項目的安全專家David Huseby表示。
但是,Huseby也指出,最終細節將會決定成敗。為了維護區塊鏈的安全性,您必須防范分片被惡意接管。康奈爾大學發表的一篇研究論文稱,破壞給定分片中的節點將導致相應數據的永久丟失。
例如,在以太坊網絡的模型中,節點必須隨機分配給一個分片,并且在隨機的時間內,將其重新分配給另一個隨機選擇的分片。
”這個想法是為了讓攻擊者很難預測或強制將其(惡意的)節點分配給某個分片。這使得惡意接管任何一塊分片都變得非常困難,”Huseby說。
Huseby解釋說,想要在Hyperledger區塊鏈上面實現分片并不是那么簡單的事情。
“我們的區塊鏈通常不像加密貨幣那樣處理‘地址’。Hyperledger區塊鏈專注于維護一個全局的狀態(類似于數據庫),共識機制負責對該狀態的更新,而區塊鏈則負責進行安全地存儲狀態更新,”Huseby說。
Hyperledger網絡也可以像以太網那樣簡單的使用分片,但由于它并不分割地址空間,所以可以嘗試不同的分片技術。
“如果我不得不割一個Hyperledger網絡,我將首先利用事務驗證和塊構造之間的劃分,”Huseby說。“事務驗證比塊構建要慢得多,所以我的第一步就是大幅增加事務驗證器節點的數量。”
第二個挑戰是處理“瘦”客戶機(也稱為SPV,簡化的付款驗證錢包),你需要確保這些節點在分割成分片時擁有區塊鏈狀態的全貌。為了解決與分片相關的可見性問題,瘦客戶端可以通過單獨的網絡進行通信,并為每個分片維護一個本地狀態的副本。
最后,分片之間的通信也是一個挑戰,因為每個分片是作為一個單獨的區塊鏈網絡出現的。
解決通信問題
本月初,初創公司Devvio宣布,它已經創建了一個基于分片、第2層協議和高效共識機制的高效分布式賬本協議,可以解決區塊鏈網絡所面臨的所有主要問題。Devvio表示,該協議每秒可執行多達800萬筆交易,可用于全球性的金融業務。
Devvio聲稱它可以有效地使用基于分片的獨立區塊鏈進行擴展。如果需要額外的吞吐量,隨著時間的推移可以添加數千個分片,最終可以在全球公共區塊鏈上實現每秒處理數千萬個事務。
在Devvio的“Devv”協議中,每個分片代表了一個單獨的區塊鏈分類賬;該公司聲稱隨著時間的推移,可以將數千個分片添加到全球公共區塊鏈中,最終每秒可以處理數千萬個事務。例如,每個分片都是Devv離散分類帳上的一個獨立區塊鏈節點,可以同時處理多達3,000個事務。Devvio的首席執行官Tom Anderson表示,添加另一個節點將使其能夠處理的事務數量增加一倍。
每個分片(也是一個加密錢包)都將成為一個更大網絡上的輸入,Devvio將這個網絡稱為T1網絡;各個分片可以通過一個名為T2的獨立事務網絡與其他分片進行通信。
Forrester Research的首席分析師Martha Bennett指出,幾乎所有當前正在使用或打算使用分片技術的區塊鏈框架都在以不同的方式執行著類似的功能。
PolyShard是一種分片解決方案,它利用編碼理論的思想,同時在安全性、存儲效率和計算效率方面實現了最佳平衡。其核心思想是節點不應該存儲復制的數據;相反,它們應該只存儲數據編碼的線性組合。
例如,在瑞士一家名為分布式技術研究基金會(DTR)的非營利性組織的贊助下,七所大學剛剛宣布,他們正在開發一種新的數字貨幣網絡,試圖通過分片來解決區塊鏈的可擴展性和性能問題。
“缺乏可擴展性阻礙了加密貨幣的采用,而我們的突破性研究正在解決這個問題,”DTR基金會的成員Joey Krug說。“Unit-e的開發人員正在將這項研究轉化為一個真正能夠解決可擴展性問題的解決方案,這將使大量分散的金融應用程序受益。”
Unit-e正在使用一個名為“PolyShard”的“全新的分片方法”,這是一種存儲和計算解決方案,能夠在不犧牲安全性的前提下提高效率。其關鍵在于,PolyShard協議能夠將來自不同用戶和事務的數據混合在一起,并仍然允許精確的數據恢復,類似于服務器和存儲系統上的虛擬化。
然而,到目前為止,其分片機制仍處于開發和測試階段(從某種意義上說,還只是處于理論階段),還在創建標準化的方法,希望能夠同時解決可擴展性和性能問題。在將切分視為解決方案之前,必須首先解決這個挑戰。
Husebuy說:“分片并不是一個簡單的可擴展性解決方案。有很多細節需要考慮,我們需要一些實踐經驗來配合這個理論,然后我們才能確認它的安全性。而在此之前,必須小心假設,這樣攻擊者就無法輕易的找到漏洞并繞過安全和共識機制。”