對區(qū)塊鏈比較熟悉的朋友們可能都知道,公鏈的吞吐量一直是個讓人詬病的問題,比如比特幣和以太坊的吞吐量每秒只有個位數(shù),如果想要在以太坊上面搭載一個吞吐量需求較大的DApp,那么這條公鏈就需要具備可擴展性。
但是區(qū)塊鏈擴容這種事情,說起來容易做起來難,有什么解決方案可以實現(xiàn)呢?這就不得不說一說我們今天的主角——上將“分片技術(shù)”!
那這個分片技術(shù)有什么不同呢?別急,七維矩陣(ID:dongzi716)專業(yè)講解會讓你明白的,往下看。
吞吐量
在說分片技術(shù)之前,我們需要通過了解“吞吐量”的概念,來幫助我們進一步了解區(qū)塊鏈的分片技術(shù)。
吞吐量這個概念很好理解,它基本上相當(dāng)于人們正常吃飯、排泄一樣:當(dāng)你在訪問某個網(wǎng)站點開這個鏈接的時候,就相當(dāng)于人吃下去食物了;當(dāng)服務(wù)器接收到你的鏈接請求后,會給你反饋相應(yīng)的數(shù)據(jù)使該網(wǎng)頁呈現(xiàn)在你的面前,就相當(dāng)于這個人吃進去的東西消化完畢且把廢物排泄出來了,這整個過程就是一個吞吐。
一個人自從吃進去事物到排泄出去所需要的時間就可以看成區(qū)塊鏈網(wǎng)絡(luò)進行一個吞吐所需要的時間,單位時間內(nèi)吞吐的次數(shù),就用吞吐量來形容。
為什么需要分片技術(shù)?
我們在了解了吞吐量之后,就可以回頭看看現(xiàn)有的擴容問題。
我們常說區(qū)塊鏈是一個分布式賬本,是因為區(qū)塊鏈網(wǎng)絡(luò)是由一個個節(jié)點鏈接起來的,然后要求每一個完全參與的節(jié)點都必須要驗證每一筆交易,而且這些節(jié)點還必須跟全網(wǎng)的所有其他節(jié)點保持一致。
雖然這樣的機制可以最大限度的保證全網(wǎng)的安全,在容錯性、安全性、政治中心和真實性上面有很大的優(yōu)勢,但是這種方式是以降低可擴展性為代價的。
當(dāng)公鏈變得越來越大時,它就需要越來越多的處理能力來驗證這些公共交易,進而可能造成交易瓶頸。眾所周知,當(dāng)前階段公鏈的吞吐量實在是小的可憐,平均每秒只能處理7-15筆交易,所以,這在極大程度上阻礙了那些對吞吐量有較高要的應(yīng)用在鏈上的發(fā)展(即使聊天、實時支付等)。
發(fā)現(xiàn)問題總是好的,但如何解決問題卻又成為了一個新的問題。關(guān)于這個新問題,業(yè)界提供的解決方案主要分為鏈上和鏈下兩種。
鏈下的解決方案就是利用閃電網(wǎng)絡(luò)將大量交易放到鏈外進行,只把關(guān)鍵環(huán)節(jié)放到鏈上確認(缺點很明顯就是沒有區(qū)塊鏈的保護不是很安全)。
鑒于前者的情況,我們就需要一種與其互補的、鏈上的解決方案,也就是今天所講的:分片技術(shù)(還有側(cè)鏈、DAG等,此處暫且不表)。
什么是分片技術(shù)?
分片(Sharding)是一種基于數(shù)據(jù)庫分成若干片段的傳統(tǒng)概念擴容技術(shù),它將數(shù)據(jù)庫分割成多個碎片并將這些碎片放置在不同的服務(wù)器上,在底層公鏈的系統(tǒng)內(nèi),網(wǎng)絡(luò)上的交易將被分成不同的碎片,其由網(wǎng)絡(luò)上的不同節(jié)點組成。
因此,只需要處理一小部分輸入的交易,并且通過與網(wǎng)絡(luò)上的其他節(jié)點并行處理就能完成大量的驗證工作。將網(wǎng)絡(luò)分割為碎片會使得更多的交易同時被處理和驗證,我們將這種技術(shù)稱之為“分片技術(shù)”(或水平擴容),可以簡單地理解為“分而治之”。
其實分片技術(shù)不止一種,為了滿足不同的需求,分片技術(shù)還分為:網(wǎng)絡(luò)分片、交易分片和狀態(tài)分片等。(七維君說好是淺談,那就一定是淺談,因為程度太深的話非專業(yè)人士真的很難理解清楚。)舉個例子方便理解:
現(xiàn)有的區(qū)塊鏈網(wǎng)絡(luò)就像一條繁忙的高速公路,這條高速公路的收費站暫時只有一個收費出口,在這樣的布局下,車輛稍微增加,交通很容易堵塞。比如當(dāng)時基于以太坊發(fā)布的加密貓游戲,游戲玩家暴增,導(dǎo)致以太坊網(wǎng)絡(luò)擁堵。
若是想減少高速擁堵的情況,就需要在高速公路上增加N個收費口,這才能極大地提高汽車通過收費站的速度。因此,分片技術(shù)可以為區(qū)塊鏈網(wǎng)絡(luò)帶來巨大的改善,并顯著提高區(qū)塊鏈的交易速度。
可以想象,當(dāng)我們將低費用與高交易處理能力結(jié)合起來的時候,必然會使公共鏈變得越來越有吸引力。這些積極的趨勢所持續(xù)的時間越長,我們就越能看到更多的主流的加密技術(shù)和區(qū)塊鏈應(yīng)用程序的出現(xiàn),最終呈現(xiàn)一個百花齊放的狀態(tài)。
分片技術(shù)帶來的好處
基于分片技術(shù)的區(qū)塊鏈的實現(xiàn)底層公鏈有很多好處:
1.區(qū)塊鏈上處理交易的速度變成了每秒上千筆甚至更多,這可以改變?nèi)藗儗用茇泿抛鳛橹Ц斗绞叫实目捶ā?/p>
2.改善交易吞吐量將會給去中心化的系統(tǒng)帶來使越來越多的用戶和應(yīng)用程序,而這反過來可以促進區(qū)塊鏈技術(shù)的進一步發(fā)展與采用,也使挖礦變得更有$可圖,同時也能吸引更多不同人士加入到公共網(wǎng)絡(luò)上的節(jié)點,從而形成一個良性循環(huán)。
3.分片技術(shù)因為驗證單筆交易的處理量減少了,可以幫助降低交易費用,節(jié)點盈利的同時減少收取的費用,在現(xiàn)實的區(qū)塊鏈世界中,將降低節(jié)點費用與提高交易處理能力結(jié)合,使底層公有鏈更具吸引力與競爭力。
分片技術(shù)獨特在于其他解決擴容的鏈上技術(shù)的關(guān)鍵特性,就是它可以進行水平擴容,也就是說,網(wǎng)絡(luò)的吞吐量隨著挖礦網(wǎng)絡(luò)的擴展而增加,這種特殊的特性可能使它成為推動區(qū)塊鏈技術(shù)被快速采用的理想技術(shù)。
簡單來說,分片技術(shù)的本質(zhì)是通過改變網(wǎng)絡(luò)內(nèi)部各步驟之間的驗證方式來增加吞吐量,各步驟之間驗證范式可以采用鏈上驗證,也可以采用鏈下驗證的方式,沒有統(tǒng)一,這就足以為現(xiàn)有公鏈帶來諸多好處。
總結(jié)
分片技術(shù)信息量巨大,它無疑是區(qū)塊鏈中解決擴容問題的一個絕佳方案,同時分片技術(shù)還可以保證了去中心化和透明度的情況。但是分片技術(shù),在設(shè)計和實現(xiàn)層面都是困難重重的,挑戰(zhàn)還有很多,目前一切還只是個開始(七維君不講難點,講了普通人也解決不了,還是留給技術(shù)大佬們解決吧)。
七維君想說的是,在我們普通人還沒有領(lǐng)會到這些技術(shù)時,最需要的是提高深度的邏輯分析思考能力(持續(xù)學(xué)習(xí)才是王道),這樣才能迎接區(qū)塊鏈時代的到來,不被大浪潮所淘汰。如何做到持續(xù)學(xué)習(xí)呢?