2019年,區(qū)塊鏈的分片技術(shù)仍只是紙上談兵嗎?
根據(jù)木桶效應(yīng),一個(gè)系統(tǒng)的性能取決于它的短板。當(dāng)下,制約區(qū)塊鏈應(yīng)用大規(guī)模落地的短板正是可拓展性問(wèn)題,因?yàn)閰^(qū)塊鏈的底層設(shè)計(jì)僅支持極低的交易吞吐量,還不及一些傳統(tǒng)工具的零頭。分片技術(shù)的出現(xiàn)給這一問(wèn)題帶來(lái)了曙光,以至于有人說(shuō)分片技術(shù)是解決可拓展性問(wèn)題的靈丹妙藥。分片技術(shù)是怎樣解決問(wèn)題的?
我們有一句古話:“是藥三分毒”,分片技術(shù)會(huì)給區(qū)塊鏈帶來(lái)那些新的問(wèn)題?會(huì)給區(qū)塊鏈的安全性帶來(lái)哪些影響?如何跨過(guò)分片筑起的這一道高高的墻進(jìn)行交易?我們需要找到分片技術(shù)的最佳平衡點(diǎn),不能被噱頭忽悠瘸了。
資深區(qū)塊鏈記者 Lucas Mearian 結(jié)合對(duì)領(lǐng)軍人物的采訪,為我們帶來(lái)了這篇分片技術(shù)的指南,讓我們帶著上述的問(wèn)題在文章中尋找答案。
可拓展性一直是一個(gè)制約區(qū)塊鏈發(fā)展的難題,而在保證隱私性和安全性的前提下提升可拓展性則是難上加難。分片技術(shù)正是解決區(qū)塊鏈燃眉之急的靈丹妙藥,也正是它讓去中心化帳本技術(shù)如此熱門。但美中不足的是,分片技術(shù)也還有一些障礙需要解決。
近幾年來(lái),區(qū)塊鏈技術(shù)的試點(diǎn)項(xiàng)目如雨后春筍般不斷涌現(xiàn)出來(lái),從跨境金融交易到供應(yīng)鏈管理層出不窮,但是,一個(gè)嚴(yán)重的問(wèn)題一直存在:區(qū)塊鏈缺乏可擴(kuò)展性。
隨著越來(lái)越多的計(jì)算機(jī)加入到區(qū)塊鏈的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)中,整個(gè)區(qū)塊鏈系統(tǒng)的效率將會(huì)不斷降低。
目前,業(yè)界已將可拓展性認(rèn)定為比特幣和以太坊等加密貨幣亟需解決的問(wèn)題。如果去中心化賬本技術(shù)想要與速度快其數(shù)百倍的支付網(wǎng)絡(luò)競(jìng)爭(zhēng)以得到金融科技公司的采用,那么它必須找到一種方法來(lái)提高可擴(kuò)展性和吞吐量并解決延遲問(wèn)題。
走進(jìn)分片技術(shù)
分片技術(shù)是開(kāi)發(fā)人員用來(lái)提高交易吞吐量的幾種常見(jiàn)方法之一。簡(jiǎn)單地說(shuō),分片就是一種在點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)中分割計(jì)算能力和存儲(chǔ)工作負(fù)載的分區(qū)方式,分片后每個(gè)節(jié)點(diǎn)不再需要負(fù)責(zé)處理整個(gè)網(wǎng)絡(luò)的交易負(fù)載,而僅需處理其所在分區(qū)(或稱分片)中的交易。
與當(dāng)前的區(qū)塊鏈相同,分片中包含的信息也是由多個(gè)節(jié)點(diǎn)共同維護(hù)的,從而保證了賬本的去中心化和安全性,啟用分片后每個(gè)人仍然可以看到賬本中的所有信息,只不過(guò)人們不再需要處理和存儲(chǔ)所有的信息。
共識(shí)的難題
圍繞共識(shí)協(xié)議的一系列問(wèn)題一直困擾著所有公鏈項(xiàng)目,如何與用戶就提交的交易是否真實(shí)并應(yīng)添加到去中心化賬本中達(dá)成協(xié)議?當(dāng)下最流行的以工作量證明機(jī)制為代表的共識(shí)協(xié)議通常都是高度計(jì)算密集型的。
在基于工作量證明的區(qū)塊鏈中,每個(gè)參與的計(jì)算機(jī)(或稱節(jié)點(diǎn))都要記錄區(qū)塊鏈中的所有數(shù)據(jù),這也是共識(shí)過(guò)程的一部分。在比特幣這樣的大型區(qū)塊鏈中,大多數(shù)參與節(jié)點(diǎn)都必須驗(yàn)證新交易并在驗(yàn)證通過(guò)后將交易加入到區(qū)塊鏈中,這使得完成每筆交易都是一個(gè)緩慢而艱巨的過(guò)程。因此,基于工作量證明的比特幣每秒只能處理 3.3 到 7 筆交易,而區(qū)塊平均每 10 分鐘才生成一個(gè),每筆交易可能需要 10 分鐘才能完成,為了確保交易成功,還需等待 6 個(gè)區(qū)塊時(shí)間。當(dāng)下另一種流行的區(qū)塊鏈賬本以太坊,每秒也只能處理 12 到 30 筆交易。
相比之下,Visa 的電子支付網(wǎng)絡(luò) VisaNet 平均每秒處理 1700 筆交易。
讓每個(gè)節(jié)點(diǎn)記錄區(qū)塊鏈中所有信息的好處是數(shù)據(jù)是無(wú)可爭(zhēng)議且不可更改的?;诠ぷ髁孔C明的區(qū)塊鏈?zhǔn)侵粚懸淮蔚模?write-once ),因而區(qū)塊鏈中附加的許多應(yīng)用程序也是不可更改的。
以太坊和 Hyperledger 是世界上領(lǐng)先的區(qū)塊鏈平臺(tái),許多應(yīng)用程序?qū)⑺鼈冇米鞯讓訁^(qū)塊鏈,從簡(jiǎn)單的以太幣等加密貨幣到復(fù)雜的智能合約(區(qū)塊鏈上自動(dòng)執(zhí)行的合約)。當(dāng)下,以太坊正在積極探索分片技術(shù),而 Hyperledger 則沒(méi)有。
全球最具權(quán)威的 IT 研究與顧問(wèn)咨詢公司 Gartner 的副總裁兼杰出分析師 Avivah Litan 說(shuō):“分片是一個(gè)源于數(shù)據(jù)庫(kù)水平分區(qū)(對(duì)表的行進(jìn)行分區(qū),通過(guò)這樣的方式不同分組里面的物理列分割的數(shù)據(jù)集得以組合,從而進(jìn)行個(gè)體分割(單分區(qū))或集體分割(1 個(gè)或多個(gè)分區(qū)))的概念,被以太坊采用。有了分片技術(shù),節(jié)點(diǎn)不再需要處理所有的交易,從而提高了區(qū)塊鏈的可擴(kuò)展性。”
去年,在區(qū)塊鏈賬本和加密貨幣每天交易量超過(guò)一百萬(wàn)筆之后,以太坊開(kāi)始探索提高區(qū)塊鏈性能的方法。
以太坊提出了兩種解決思路。一種是“第 2 層”機(jī)制,即在鏈下的標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)中處理交易,僅在區(qū)塊鏈上記錄永久條目,另一種解決思路是分片,從而同時(shí)并行處理大量的交易。
第 2 層協(xié)議將大多數(shù)交易轉(zhuǎn)移到鏈下,并且僅在進(jìn)入和退出第 2 層系統(tǒng)時(shí)與底層區(qū)塊鏈進(jìn)行交互。第 2 層協(xié)議中節(jié)點(diǎn)在局域網(wǎng)或相鄰的廣域網(wǎng)內(nèi)互相傳輸數(shù)據(jù),從而減輕了點(diǎn)對(duì)點(diǎn)的區(qū)塊鏈網(wǎng)絡(luò)的負(fù)載。
在啟用分片后,區(qū)塊鏈的“狀態(tài)”將被劃分給不同的分片(或稱分區(qū)), Litan 解釋說(shuō),每個(gè)用戶帳戶也將被劃分給不同的分片,而帳戶只能與同一個(gè)分片上的其他帳戶進(jìn)行交易。 “這樣的機(jī)制允許交易同時(shí)并行發(fā)生,” 她說(shuō),“然后由以太坊選擇的協(xié)議來(lái)實(shí)現(xiàn)跨分片的通信。”
分片安全嗎?
除了解決可擴(kuò)展性問(wèn)題之外,一些人認(rèn)為分片還可以維護(hù)區(qū)塊鏈的本地安全性,正如以太坊創(chuàng)始人 Vitalik Buterin 當(dāng)時(shí)在博客文章中寫到的,分片保留了“大部分區(qū)塊鏈所需的去中心化和安全屬性”。
“從理論上講,分片數(shù)量增加對(duì)于交易吞吐量的提升是線性關(guān)系。如果啟用四個(gè)分片,那么吞吐量大約會(huì)提高到四倍。我們可以選擇任意數(shù)量的分片。” Linux 基金會(huì) Hyperledger 區(qū)塊鏈項(xiàng)目的安全專家 David Huseby 如是說(shuō)。
正如中國(guó)一句古話:“細(xì)節(jié)決定成敗”,Huseby 指出,為了確保區(qū)塊鏈的安全性,你必須警惕分片被接管的現(xiàn)象。根據(jù)康奈爾大學(xué)發(fā)表的研究論文,如果指定分片中的節(jié)點(diǎn)被攻擊將導(dǎo)致數(shù)據(jù)的相應(yīng)部分永久丟失。
因此在以太坊網(wǎng)絡(luò)的模型中,節(jié)點(diǎn)會(huì)被隨機(jī)分配給分片,并在一段時(shí)間后重新分配給另一個(gè)隨機(jī)選擇的分片。
“這里的想法是讓攻擊者很難預(yù)測(cè)或操縱他們(惡意)節(jié)點(diǎn)被分配到哪個(gè)分片中,因此即使攻擊者接管任意一個(gè)分片,想要達(dá)成共識(shí)也并非易事,” Huseby 說(shuō)。
Huseby 解釋說(shuō),Hyperledger 區(qū)塊鏈?zhǔn)欠駟⒂梅制夹g(shù)還未成定局。
“我們( Hyperledger )的區(qū)塊鏈通常不像加密貨幣那樣對(duì)“地址”進(jìn)行操作,Hyperledger 區(qū)塊鏈專注于維護(hù)一個(gè)全局狀態(tài)(可以聯(lián)想一下數(shù)據(jù)庫(kù)),共識(shí)機(jī)制調(diào)節(jié)對(duì)該狀態(tài)的更新,同時(shí)區(qū)塊鏈安全地存儲(chǔ)狀態(tài)更新。” Huseby 說(shuō)。
Hyperledger 區(qū)塊鏈網(wǎng)絡(luò)可以像以太坊一樣垂直分區(qū)(通過(guò)對(duì)表的垂直劃分來(lái)減少目標(biāo)表的寬度,使某些特定的列被劃分到特定的分區(qū),每個(gè)分區(qū)都包含了其中的列所對(duì)應(yīng)的行),但由于Hyperledger 并沒(méi)有分割地址空間,因此可以自由嘗試不同的分片技術(shù)。
“如果不得不對(duì) Hyperledger 區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行分區(qū),那么我首先會(huì)利用Hyperledger交易驗(yàn)證獨(dú)立于區(qū)塊生成的優(yōu)勢(shì),” Huseby 說(shuō),“交易驗(yàn)證要比區(qū)塊生成慢得多,所以我采取的第一步行動(dòng)將是大幅度增加交易驗(yàn)證節(jié)點(diǎn)的數(shù)量。”
一個(gè)次要的挑戰(zhàn)來(lái)自“瘦”客戶端,也稱為 SPV (簡(jiǎn)化支付驗(yàn)證)錢包,我們需要確保在區(qū)塊鏈狀態(tài)已被劃分給不同分片后這些瘦客戶端還能訪問(wèn)整個(gè)區(qū)塊鏈的狀態(tài)。為了解決與分片相關(guān)的可見(jiàn)性問(wèn)題,瘦客戶端通過(guò)單獨(dú)的網(wǎng)絡(luò)進(jìn)行通信,并維護(hù)所有分片上的本地狀態(tài)副本。
最后,由于每個(gè)分片都是一個(gè)獨(dú)立的區(qū)塊鏈網(wǎng)絡(luò),跨分片的通信也帶來(lái)了很多挑戰(zhàn)。
解決分片通信問(wèn)題
本月早些時(shí)候,初創(chuàng)公司 Devvio 宣布他們已經(jīng)創(chuàng)建了一個(gè)基于分片技術(shù),第2層協(xié)議和高效共識(shí)機(jī)制的高效去中心化賬本協(xié)議,可以解決區(qū)塊鏈網(wǎng)絡(luò)面臨的所有核心問(wèn)題。 Devvio 表示,其協(xié)議每秒可以處理多達(dá) 800 萬(wàn)筆交易,從而可以適用于全球金融業(yè)務(wù)場(chǎng)景。
Devvio 聲稱:他們使用基于分片技術(shù)的獨(dú)立區(qū)塊鏈來(lái)實(shí)現(xiàn)可擴(kuò)展性的大幅度提升。如果隨著時(shí)間的推移需要額外的吞吐量,可以再添加數(shù)千個(gè)分片,從而最終在全球性的公鏈上實(shí)現(xiàn)每秒數(shù)千萬(wàn)筆鏈上交易的吞吐量。
根據(jù) Devvio 首席執(zhí)行官 Tom Anderson 的說(shuō)法, Devvio 公司的 “ Devv ” 協(xié)議中,每一個(gè)分片就是一個(gè)獨(dú)立的區(qū)塊鏈賬本,該公司聲稱隨著時(shí)間的推移,可以將數(shù)千個(gè)分片添加到全球性的公鏈中,最終實(shí)現(xiàn)每秒處理數(shù)千萬(wàn)筆交易。就比如說(shuō),每一個(gè)分片都是 Devv 去中心化賬本上的一個(gè)獨(dú)立區(qū)塊鏈節(jié)點(diǎn),它可以處理多達(dá) 3000 筆交易,如果新添加一個(gè)節(jié)點(diǎn)就會(huì)使處理的交易數(shù)量翻倍。
每個(gè)分片(也被稱為加密錢包)作為一個(gè)較大網(wǎng)絡(luò)上的輸入,Devvio 將這個(gè)網(wǎng)絡(luò)稱為 T1 網(wǎng)絡(luò),各個(gè)分片可以通過(guò)一個(gè)名為 T2 的獨(dú)立交易網(wǎng)絡(luò)互相通信。
獨(dú)立技術(shù)和市場(chǎng)調(diào)研公司 Forrester Research 的首席分析師 Martha Bennett 指出,從原理上來(lái)說(shuō),幾乎所有區(qū)塊鏈框架當(dāng)前使用的或即將使用的分片技術(shù)都是完全不同的。
PolyShard 是一種使用了編碼理論思想,同時(shí)實(shí)現(xiàn)安全性保證、存儲(chǔ)高效性、計(jì)算高效性最優(yōu)化的分片技術(shù)解決方案。其基本的設(shè)計(jì)理念是節(jié)點(diǎn)不應(yīng)該復(fù)制存儲(chǔ)數(shù)據(jù),而應(yīng)該存儲(chǔ)經(jīng)編碼和線性組合處理后的數(shù)據(jù)。
例如,由一家名為去中心化技術(shù)研究基金會(huì)( DTR )的瑞士非營(yíng)利組織贊助的七所大學(xué)(麻省理工學(xué)院、斯坦福大學(xué)、卡內(nèi)基梅隆大學(xué)、加州大學(xué)伯克利分校、南加利福尼亞大學(xué)、伊利諾伊大學(xué)厄巴納-香檳分校、華盛頓大學(xué)七所頂尖大學(xué))最近宣布他們正在開(kāi)發(fā)一種加密貨幣網(wǎng)絡(luò) Unit-e ,旨在通過(guò)分片技術(shù)解決區(qū)塊鏈的可擴(kuò)展性和性能問(wèn)題。
“缺乏可擴(kuò)展性嚴(yán)重阻礙了加密貨幣的大規(guī)模采用,我們開(kāi)創(chuàng)性的研究可以解決這個(gè)問(wèn)題,” 去中心化技術(shù)研究基金會(huì)理事會(huì)成員 Joey Krug 說(shuō), “ Unit-e 的開(kāi)發(fā)人員正在將這項(xiàng)研究轉(zhuǎn)化為區(qū)塊鏈真正的可擴(kuò)展性實(shí)現(xiàn),大量去中心化金融應(yīng)用都將從中獲益。”
Unit-e 使用被稱為“ PolyShard ”的一種全新分片方式:在不犧牲安全性的前提下,為更多用戶提高效率的一種存儲(chǔ)和計(jì)算解決方案。PolyShard 技術(shù)的核心類似于服務(wù)器和存儲(chǔ)系統(tǒng)上使用的虛擬化技術(shù), PolyShard 協(xié)議混合了不同用戶和不同交易的數(shù)據(jù),而這些混合后的數(shù)據(jù)仍可以精確恢復(fù)出原始數(shù)據(jù)。
然而到目前為止,各種分片機(jī)制都仍處于開(kāi)發(fā)和測(cè)試階段,從某種意義上來(lái)說(shuō)都還是紙上談兵,還只是理論,需要?jiǎng)?chuàng)建能夠同時(shí)解決可拓展性和安全性問(wèn)題的標(biāo)準(zhǔn)化方法。只有解決了這一挑戰(zhàn),分片技術(shù)才真正可以稱得上是一種“解決方案”。
“對(duì)于區(qū)塊鏈可擴(kuò)展性問(wèn)題而言,分片技術(shù)并不是一種成熟的解決方案,” Husebuy 說(shuō),“分片技術(shù)中有許多細(xì)節(jié)需要推敲,我們需要進(jìn)行一些實(shí)驗(yàn)來(lái)驗(yàn)證理論的正確性,只有完成了這些我們才能說(shuō)分片技術(shù)是安全的。而且分片技術(shù)在落地時(shí)必須謹(jǐn)慎考慮區(qū)塊鏈中的各種假設(shè),不能給攻擊者留下任何可以繞過(guò)安全機(jī)制和共識(shí)機(jī)制的漏洞。”