區(qū)塊鏈技術(shù)中常見(jiàn)的擴(kuò)容方案有哪些
區(qū)塊鏈里有一個(gè)不可能三角:去中心化、安全性、可拓展性無(wú)法同時(shí)滿足。目前區(qū)塊鏈基礎(chǔ)設(shè)施存在可拓展性問(wèn)題,無(wú)法滿足大規(guī)模應(yīng)用的需求。
同時(shí)資源瓶頸決定了公鏈的性能上線,與鏈上共識(shí)機(jī)制、數(shù)據(jù)結(jié)構(gòu)等無(wú)關(guān)。這也導(dǎo)致區(qū)塊鏈的基礎(chǔ)設(shè)置無(wú)法無(wú)法滿足大規(guī)模的應(yīng)用的需求,限制了區(qū)塊鏈行業(yè)的發(fā)展。
人們開(kāi)始研究如何實(shí)現(xiàn)區(qū)塊鏈擴(kuò)容,拓展公鏈的性能。常見(jiàn)的擴(kuò)容方案有如下幾種:
鏈上擴(kuò)容
1.增加區(qū)塊鏈容量
比特幣一個(gè)區(qū)塊容量大小為1M,每秒最多支持7筆交易,以太坊每秒也只有10幾筆,EOS號(hào)稱要實(shí)現(xiàn)百萬(wàn)級(jí)的TPS,目前也只有4000左右。這個(gè)和visa過(guò)萬(wàn)支付寶幾十萬(wàn)的TPS相比還相差甚遠(yuǎn)。所以有人提出增加區(qū)塊的容量,比如將比特幣現(xiàn)在的1M擴(kuò)容到2M、8M等,通過(guò)擴(kuò)容來(lái)提升公鏈性能。但不足的地方在于分叉率提高,可能還會(huì)導(dǎo)致空塊。
2.隔離見(jiàn)證
隔離見(jiàn)證是由比特幣長(zhǎng)期團(tuán)隊(duì)開(kāi)發(fā)的對(duì)于Bitcoin Core的擬議更新,將非必要簽名信息移除區(qū)塊,使得區(qū)塊容量降低一半。但即使這樣,性能只提升一倍,提升幅度有限。
3.更改共識(shí)機(jī)制
在POW共識(shí)之后,提出了PoS、DPoS等多種共識(shí)算法。相比POW,PoS和DPoS機(jī)制沒(méi)有大量能源的消耗,性能也得到了顯著提升,但這是犧牲了去中心化為代價(jià)的,現(xiàn)階段還未出現(xiàn)完美解決三元悖論的共識(shí)算法。
4.DAG技術(shù)
稱為:有向無(wú)環(huán)圖,將原始的鏈?zhǔn)浇Y(jié)構(gòu)改為網(wǎng)狀結(jié)構(gòu),大幅提升并發(fā)性能。像IOTA就是采用DAG技術(shù),并非區(qū)塊鏈,也引起了一波熱炒,不過(guò)現(xiàn)在也還沒(méi)有實(shí)地的技術(shù)落地應(yīng)用出來(lái)。安全性和一致性上還未得到充分的驗(yàn)證。
5.分片技術(shù)
分片技術(shù)將全網(wǎng)的工作量分配到各個(gè)分片中并行處理,改變網(wǎng)絡(luò)驗(yàn)證的方式來(lái)增加吞吐量。不過(guò)分片技術(shù)的開(kāi)發(fā)難度大,狀態(tài)分片需要克服諸多挑戰(zhàn)。
鏈下擴(kuò)容
1.狀態(tài)通道
狀態(tài)通道是通過(guò)在不同用戶之間或用戶和服務(wù)之間建立一個(gè)雙向通道,為不同實(shí)體之間提供狀態(tài)維護(hù)服務(wù)。它允許把區(qū)塊鏈上的許多操作在鏈外進(jìn)行管理,等完成鏈外操作后多方簽名確認(rèn)后,才將最終結(jié)果上鏈。
我們用銀行和余額寶的例子來(lái)講解一下?tīng)顟B(tài)通道,首先我們把銀行比作區(qū)塊鏈,我們把部分的錢從銀行存到余額寶中,用余額寶進(jìn)行小額交易,當(dāng)我們想提現(xiàn)時(shí),直接從余額寶提現(xiàn)至銀行卡即可。狀態(tài)通道對(duì)應(yīng)余額寶,當(dāng)有一方要關(guān)閉狀態(tài)通道時(shí),相當(dāng)于提現(xiàn)操作,余額寶中保存了當(dāng)前賬戶的狀態(tài),關(guān)閉狀態(tài)通道時(shí)將狀態(tài)更新至鏈上,相當(dāng)于更新銀行賬戶狀態(tài)。
2.側(cè)鏈
側(cè)鏈技術(shù)是一種分開(kāi)獨(dú)立的區(qū)塊鏈,其會(huì)使用一個(gè)雙向錨定來(lái)依附于主鏈。你可以將資產(chǎn)移動(dòng)到側(cè)鏈上,也可以轉(zhuǎn)移回主鏈。這種雙向錨定可以在主鏈和側(cè)鏈之間按照預(yù)先設(shè)定的速率進(jìn)行資產(chǎn)的內(nèi)部交換。初始的區(qū)塊鏈通常代表著主鏈,而且所有新增的區(qū)塊鏈都被定義為側(cè)鏈。
3.跨鏈
跨鏈就是信息從一條鏈到另外一條鏈,區(qū)塊鏈之間互通性極大程度的限制了區(qū)塊鏈的應(yīng)用空間。不論對(duì)于公有鏈還是私有鏈來(lái)看,跨鏈技術(shù)就是實(shí)現(xiàn)價(jià)值互聯(lián)網(wǎng)的關(guān)鍵,它是把區(qū)塊鏈從分散的孤島中拯救出來(lái)的良藥,是區(qū)塊鏈向外拓展和連接的橋梁。
4.鏈下計(jì)算
就是將復(fù)雜的任務(wù)放到鏈下處理,再將結(jié)果返回鏈上。以太坊聲稱要做計(jì)算機(jī),EOS 要做全球操作系統(tǒng),但無(wú)論是做計(jì)算機(jī)還是做操作系統(tǒng)都得正視計(jì)算這個(gè)問(wèn)題,鏈上計(jì)算的開(kāi)銷是非常大的,鏈上每一個(gè) EVM 的 Code 計(jì)算需要全球計(jì)算機(jī)都算一遍,才能得出結(jié)果,所以有人做了這么一個(gè)計(jì)算的擴(kuò)展,在鏈外做計(jì)算。