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