可擴(kuò)展性泛指系統(tǒng)增長(zhǎng)以適應(yīng)不斷增長(zhǎng)的需求的能力。在計(jì)算方面,您可以通過升級(jí)機(jī)器的硬件來提高機(jī)器的性能,以便更快地執(zhí)行某些任務(wù)。當(dāng)我們談到區(qū)塊鏈的可擴(kuò)展性時(shí),我們指的是增加它們處理更多交易的能力。
像比特幣這樣的協(xié)議有很多優(yōu)點(diǎn),但可擴(kuò)展性不是其中之一。如果比特幣在一個(gè)中央擁有的數(shù)據(jù)庫(kù)中運(yùn)行,管理員可以相對(duì)容易地提高速度和吞吐量。但是比特幣的價(jià)值主張(即抗審查)要求許多參與者同步區(qū)塊鏈的副本。
區(qū)塊鏈可擴(kuò)展性問題
運(yùn)行一個(gè)比特幣節(jié)點(diǎn)相對(duì)便宜,即使是簡(jiǎn)單的設(shè)備也能做到。但是由于數(shù)千個(gè)節(jié)點(diǎn)需要相互保持最新狀態(tài),因此它們的容量存在一定的限制。
對(duì)可以在鏈上處理的交易數(shù)量設(shè)置上限,以免數(shù)據(jù)庫(kù)增長(zhǎng)到笨拙的大小。如果它變得太大太快,節(jié)點(diǎn)將無法跟上。而且,如果塊太大,它們就不能在網(wǎng)絡(luò)周圍快速中繼。
結(jié)果,我們發(fā)現(xiàn)自己遇到了瓶頸。區(qū)塊鏈可以被視為以設(shè)定的時(shí)間間隔發(fā)車的火車服務(wù)。每節(jié)車廂的座位有限,要獲得車票,旅客必須競(jìng)標(biāo)以保證座位。如果每個(gè)人都試圖同時(shí)上火車,價(jià)格會(huì)很高。同樣,被待處理交易堵塞的網(wǎng)絡(luò)將需要用戶支付更高的費(fèi)用才能及時(shí)查看他們的交易。
一種解決方案是使車廂更大。這意味著更多的座位、更高的吞吐量和更便宜的票價(jià)。但不能保證座位不會(huì)像以前那樣坐滿。車廂不能永遠(yuǎn)加寬,就像塊或塊氣體限制不能無限擴(kuò)展一樣。后者使節(jié)點(diǎn)留在網(wǎng)絡(luò)上的成本更高,因?yàn)樗鼈冃枰嘿F的硬件來保持同步。
以太坊的創(chuàng)造者Vitalik Buterin創(chuàng)造了可擴(kuò)展性三難問題來描述區(qū)塊鏈面臨的挑戰(zhàn)。他認(rèn)為協(xié)議必須在可擴(kuò)展性、安全性和去中心化之間做出權(quán)衡。這些相互之間有些矛盾——過多地關(guān)注其中的兩個(gè)屬性,第三個(gè)屬性就會(huì)很差。
出于這個(gè)原因,許多人將可擴(kuò)展性視為需要在鏈外實(shí)現(xiàn)的東西,而區(qū)塊鏈本身應(yīng)該最大限度地提高安全性和去中心化。
什么是鏈下擴(kuò)展解決方案?
鏈下擴(kuò)展是指允許在不膨脹區(qū)塊鏈的情況下執(zhí)行交易的方法。插入鏈的協(xié)議允許用戶發(fā)送和接收資金,而交易不會(huì)出現(xiàn)在主鏈上。我們將深入探討這方面最顯著的兩個(gè)進(jìn)步:側(cè)鏈和支付渠道。
側(cè)鏈簡(jiǎn)介什么是側(cè)鏈?
側(cè)鏈?zhǔn)且粋€(gè)單獨(dú)的區(qū)塊鏈。然而,它不是一個(gè)獨(dú)立的平臺(tái),因?yàn)樗阅撤N方式與主鏈掛鉤。主鏈和側(cè)鏈?zhǔn)强苫ゲ僮鞯?,這意味著資產(chǎn)可以自由地從一個(gè)流向另一個(gè)。
有多種方法可以確保資金可以轉(zhuǎn)移。在某些情況下,資產(chǎn)通過存入特殊地址而從主鏈轉(zhuǎn)移。它們并沒有真正發(fā)送過來——而是被鎖定在地址中,并且在側(cè)鏈上發(fā)出了匹配的金額。一個(gè)更直接的(盡管是中心化的選擇)是將資金發(fā)送給托管人,托管人將存款換成側(cè)鏈上的資金。
側(cè)鏈如何運(yùn)作?
假設(shè)我們的朋友Alice有五個(gè)比特幣。她想將它們交換為比特幣側(cè)鏈上的五個(gè)等價(jià)單位——讓我們稱它們?yōu)閭?cè)鏈。有問題的側(cè)鏈?zhǔn)褂秒p向掛鉤,這意味著用戶可以將他們的資產(chǎn)從主鏈轉(zhuǎn)移到側(cè)鏈,反之亦然。
請(qǐng)記住,側(cè)鏈?zhǔn)且粋€(gè)單獨(dú)的區(qū)塊鏈。因此,它將具有不同的塊、節(jié)點(diǎn)和驗(yàn)證機(jī)制。為了獲得她的副幣,愛麗絲會(huì)將她的五個(gè)比特幣發(fā)送到另一個(gè)地址。它可能由某人擁有,一旦他們收到比特幣,就會(huì)將五個(gè)側(cè)鏈記入她的側(cè)鏈地址。或者,它可能有某種信任最小化的設(shè)置,在軟件檢測(cè)到付款后,側(cè)幣會(huì)自動(dòng)記入貸方。
Alice現(xiàn)在已經(jīng)將她的硬幣轉(zhuǎn)換為副幣,但她總是可以逆轉(zhuǎn)這個(gè)過程來收回她的比特幣?,F(xiàn)在她已經(jīng)進(jìn)入了側(cè)鏈,她可以自由地在這個(gè)單獨(dú)的區(qū)塊鏈上進(jìn)行交易。她可以發(fā)送副幣或從其他人那里接收副幣,就像在主鏈上一樣。
例如,她可以向Bob支付一個(gè)副幣來購(gòu)買Bitcoin連帽衫。當(dāng)她想回到比特幣時(shí),她可以將剩余的四個(gè)副幣發(fā)送到一個(gè)特殊地址。交易確認(rèn)后,四個(gè)比特幣將被解鎖并交付到她在主鏈上控制的地址。
為什么使用側(cè)鏈?
你可能想知道這有什么意義。為什么Alice不直接使用比特幣區(qū)塊鏈?
答案是側(cè)鏈可能能夠完成比特幣無法做到的事情。區(qū)塊鏈?zhǔn)蔷脑O(shè)計(jì)的權(quán)衡系統(tǒng)。雖然比特幣是最安全和去中心化的加密貨幣,但它在吞吐量方面并不是最好的。雖然比特幣交易比傳統(tǒng)方法快,但與其他區(qū)塊鏈系統(tǒng)相比,它仍然相對(duì)較慢。每十分鐘開采一次區(qū)塊,當(dāng)網(wǎng)絡(luò)擁塞時(shí),費(fèi)用會(huì)顯著增加。
誠(chéng)然,對(duì)于小額日常支付,可能不需要這種級(jí)別的安全性。如果Alice為一杯咖啡付錢,她就不會(huì)等待交易確認(rèn)。她會(huì)排長(zhǎng)隊(duì),等遞過來的時(shí)候,她的飲料已經(jīng)涼了。
側(cè)鏈不受相同規(guī)則的約束。事實(shí)上,他們甚至不需要使用工作量證明來運(yùn)作。您可以使用任何共識(shí)機(jī)制、信任單個(gè)驗(yàn)證器或調(diào)整任意數(shù)量的參數(shù)。您可以添加主鏈上不存在的升級(jí),生成更大的區(qū)塊,并強(qiáng)制執(zhí)行快速結(jié)算。
有趣的是,側(cè)鏈甚至可能存在嚴(yán)重錯(cuò)誤而不影響底層鏈。這使它們可以用作實(shí)驗(yàn)平臺(tái),并推出需要網(wǎng)絡(luò)大多數(shù)人達(dá)成共識(shí)的功能。
如果用戶對(duì)權(quán)衡感到滿意,側(cè)鏈可能是實(shí)現(xiàn)有效擴(kuò)展不可或缺的一步。主鏈節(jié)點(diǎn)不需要存儲(chǔ)來自側(cè)鏈的每筆交易。Alice可以通過單筆比特幣交易進(jìn)入側(cè)鏈,執(zhí)行數(shù)百次側(cè)鏈交易,然后退出側(cè)鏈。就比特幣區(qū)塊鏈而言,她只做了兩次——一進(jìn)一出。
以太坊的Plasma是相似的,但有一些主要的不同。
支付渠道介紹什么是支付渠道?
支付渠道在可擴(kuò)展性方面的作用與側(cè)鏈相同,但它們從根本上是截然不同的。與側(cè)鏈一樣,它們將交易推離主鏈,以防止區(qū)塊鏈膨脹。然而,與側(cè)鏈不同的是,它們不需要單獨(dú)的區(qū)塊鏈來運(yùn)行。
支付渠道使用智能合約,使用戶無需將交易發(fā)布到區(qū)塊鏈即可進(jìn)行交易。它通過使用兩個(gè)參與者之間的軟件強(qiáng)制協(xié)議來實(shí)現(xiàn)。
支付渠道如何運(yùn)作?
在流行的閃電網(wǎng)絡(luò)等模型中,兩方首先將硬幣存入他們共同擁有的地址。這是一個(gè)多重簽名地址,需要兩個(gè)簽名才能使用資金。因此,如果Alice和Bob創(chuàng)建了這樣的地址,則只有在得到他們雙方同意的情況下才能將資金轉(zhuǎn)移出去。
假設(shè)他們每個(gè)人將10 BTC存入一個(gè)現(xiàn)在擁有20 BTC的地址。他們很容易保持資產(chǎn)負(fù)債表,開始時(shí)說Alice和Bob各有10 BTC。如果Alice想給Bob一枚硬幣,他們可以將其更新為Alice有9個(gè)比特幣,鮑勃有11個(gè)比特幣。當(dāng)他們繼續(xù)更新這些余額時(shí),他們不必發(fā)布到區(qū)塊鏈。
不過,到時(shí)候,假設(shè)Alice有5 BTC,Bob有15 BTC。然后他們可以創(chuàng)建一個(gè)交易,將這些余額發(fā)送到各方擁有的地址,簽名并廣播它。
Alice和Bob可以在他們的資產(chǎn)負(fù)債表上記錄10、100或1000筆交易。但就區(qū)塊鏈而言,他們只執(zhí)行了兩種鏈上操作:一種用于初始資金交易,另一種用于在完成后重新分配余額。除了這兩個(gè)之外,所有其他交易都是免費(fèi)且近乎即時(shí)的,因?yàn)樗鼈儼l(fā)生在鏈外。無需支付礦工費(fèi),也無需等待區(qū)塊確認(rèn)。
當(dāng)然,上面討論的例子需要雙方合作,這對(duì)于陌生人來說不是一個(gè)理想的情況。但是,可以使用特殊機(jī)制來懲罰任何作弊企圖,因此各方可以在沒有信任的情況下安全地相互交流。
支付路徑
顯然,支付渠道對(duì)于預(yù)期交易量大的兩方來說是方便的。但它會(huì)變得更好。這些渠道的網(wǎng)絡(luò)可以充實(shí),這意味著愛麗絲可以支付她沒有直接聯(lián)系的一方。如果Bob與Carol有一個(gè)開放的頻道,Alice可以向她付款,前提是有足夠的容量。她會(huì)將資金推送到頻道的Bob一側(cè),而Bob又會(huì)將它們推送到Carol的一側(cè)。如果Carol連接到另一位參與者Dan,則可以執(zhí)行相同的操作。
這樣的網(wǎng)絡(luò)演變成分布式拓?fù)洌總€(gè)人都連接到多個(gè)對(duì)等點(diǎn)。通常會(huì)有多條路線到達(dá)目的地,用戶將能夠選擇最有效的路線。
結(jié)束語
我們已經(jīng)討論了兩種可擴(kuò)展性方法,它們?cè)试S在不增加底層區(qū)塊鏈負(fù)擔(dān)的情況下進(jìn)行交易。側(cè)鏈和支付渠道技術(shù)都尚未成熟,但它們正越來越多地被希望規(guī)避基礎(chǔ)層交易缺點(diǎn)的用戶利用。
隨著時(shí)間的推移和越來越多的用戶加入網(wǎng)絡(luò),堅(jiān)持去中心化是很重要的。這只有通過對(duì)區(qū)塊鏈的增長(zhǎng)實(shí)施限制才能實(shí)現(xiàn),以便新節(jié)點(diǎn)可以輕松加入。鏈下可擴(kuò)展性解決方案的支持者認(rèn)為,隨著時(shí)間的推移,主鏈將僅用于結(jié)算高價(jià)值交易,或用于掛入/退出側(cè)鏈和打開/關(guān)閉通道。