良辰7星評價
2020-04-21 15:24:20
對區(qū)塊鏈比較熟悉的朋友們可能都知道,公鏈的吞吐量一直是個讓人詬病的問題,比如比特幣和以太坊的吞吐量每秒只有個位數(shù),如果想要在以太坊上面搭載一個吞吐量需求較大的DApp,那么這條公鏈就需要具備可擴展性。
但是區(qū)塊鏈擴容這種事情,說起來容易做起來難,有什么解決方案可以實現(xiàn)呢?這就不得不說一說我們今天的主角——上將分片技術(shù)”!
吞吐量
在說分片技術(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ù),就用吞吐量來形容。
我們在了解了吞吐量之后,就可以回頭看看現(xiàn)有的擴容問題。
我們常說區(qū)塊鏈?zhǔn)且粋€分布式賬本,是因為區(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é)放到鏈上確認(rèn)(缺點很明顯就是沒有區(qū)塊鏈的保護不是很安全)。
鑒于前者的情況,我們就需要一種與其互補的、鏈上的解決方案,也就是今天所講的:分片技術(shù)(還有側(cè)鏈、DAG等,此處暫且不表)。
分片(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)分片等。舉個例子方便理解:
現(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ù)的區(qū)塊鏈的實現(xiàn)底層公鏈有很多好處:
1.區(qū)塊鏈上處理交易的速度變成了每秒上千筆甚至更多,這可以改變?nèi)藗儗觤貨b作為支付方式效率的看法。
2.改善交易吞吐量將會給去中心化的系統(tǒng)帶來使越來越多的用戶和應(yīng)用程序,而這反過來可以促進區(qū)塊鏈技術(shù)的進一步發(fā)展與采用,也使挖礦變得更有$可圖,同時也能吸引更多不同人士加入到公共網(wǎng)絡(luò)上的節(jié)點,從而形成一個良性循環(huán)。
3.分片技術(shù)因為驗證單筆交易的處理量減少了,可以幫助降低交易費用,節(jié)點盈利的同時減少收取的費用,在現(xiàn)實的區(qū)塊鏈?zhǔn)澜缰?,將降低?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)有公鏈帶來諸多好處。
分片技術(shù)信息量巨大,它無疑是區(qū)塊鏈中解決擴容問題的一個絕佳方案,同時分片技術(shù)還可以保證了去中心化和透明度的情況。但是分片技術(shù),在設(shè)計和實現(xiàn)層面都是困難重重的,挑戰(zhàn)還有很多,目前一切還只是個開始。
在我們普通人還沒有領(lǐng)會到這些技術(shù)時,最需要的是提高深度的邏輯分析思考能力(持續(xù)學(xué)習(xí)才是王道),這樣才能迎接區(qū)塊鏈時代的到來,不被大浪潮所淘汰。
平凡是福4星評價
2020-04-21 15:26:26
簡單來說,分片技術(shù)和我們之前提到的側(cè)鏈、閃電網(wǎng)絡(luò)、隔離見證等技術(shù)一樣,都是為了解決區(qū)塊鏈的效率問題和可擴展性問題而誕生的一種技術(shù)。只不過它最開始想要解決的,不是比特幣的擁堵問題,而是以太坊的效率問題。
以太坊是一個區(qū)塊鏈搭建的智能合約平臺,就和我們手機的安卓系統(tǒng)一樣,開發(fā)者可以在上面創(chuàng)建各種的去中心化app(Dapp),但因為區(qū)塊鏈的效率問題,導(dǎo)致這些去中心化app很難和我們?nèi)粘S玫闹行幕痑pp相媲美。為了解決這個問題,有人就提出能不能把傳統(tǒng)互聯(lián)網(wǎng)中的分片技術(shù)引入到區(qū)塊鏈中,于是就有了區(qū)塊鏈中的分片技術(shù)。
分片技術(shù)之所以叫分片技術(shù),是因為它背后的邏輯就是分而治之。分片技術(shù)源于傳統(tǒng)中心化的數(shù)據(jù)庫,是用來提高數(shù)據(jù)庫的處理效率,一個分片是數(shù)據(jù)庫的一個水平部分,每個分片儲存在擔(dān)負(fù)的服務(wù)器中,由此負(fù)載便分散開來使數(shù)據(jù)庫的效率大大提升。
我們要知道,區(qū)塊鏈也是一個數(shù)據(jù)庫,只不過它是一條鏈?zhǔn)浇Y(jié)構(gòu),這條鏈要承擔(dān)整個系統(tǒng)的全部功能,而且每筆交易要經(jīng)過所有的節(jié)點處理后才能確認(rèn),這種方式下,處理效率自然快不起來。
而分片技術(shù)就想辦法,將這條鏈劃成一個個的區(qū)域,一個區(qū)域就叫做一個分片,每個分片承擔(dān)專職的功能,而節(jié)點也會分散到各個分片上,處理相應(yīng)的工作。這樣一來,處理時,交易會劃分到各個分片上同時進行處理,就好像各部門分工協(xié)作一樣,分?jǐn)傁聛?,每個節(jié)點處理的只是網(wǎng)絡(luò)中的一小部分交易,如此以來,自然就能大大提升這條鏈的處理效率。
但這又引發(fā)了一個新的問題,就是網(wǎng)絡(luò)的安全性和去中心化性會下降,比如原來我想要在你網(wǎng)絡(luò)中作惡,因為共識機制的原因,我需要搞定全網(wǎng)的大部分節(jié)點才行,但現(xiàn)在因為分片技術(shù)把節(jié)點分散到一個個小的區(qū)域中,我只用搞定你這個小區(qū)域的大部分節(jié)點就行。
所以,分片技術(shù)另外一個非常重要的機制就是隨機分配的機制,它會專門有一個地方來負(fù)責(zé)生成隨機數(shù)、為其他分片分配節(jié)點等功能,把節(jié)點隨機分配出去,這樣的話,想要作惡的人,就很難知道一個小區(qū)域中的節(jié)點都有誰,作惡成本會大幅提高,從而分片技術(shù)才能在保證安全與去中心化的同時,解決效率與可擴展性問題。
總的來說,分片技術(shù)雖然是目前區(qū)塊鏈用來解決效率問題與可擴展性問題的主流技術(shù)之一,可因為該技術(shù)源于傳統(tǒng)互聯(lián)網(wǎng)數(shù)據(jù)庫,致使這個方案無法直接應(yīng)用在去中心化的區(qū)塊鏈上,所以分片方案從提出卻到現(xiàn)在也沒有落地。
不過源于它的特性,一但落地,這項技術(shù)極大可能推進區(qū)塊鏈技術(shù)被快速地大規(guī)模使用,所以大家一直對它期望甚高。希望隨著這項技術(shù)的成熟,讓區(qū)塊鏈的世界中,也能誕生出像facebook、微信這樣世界級的超級應(yīng)用。