国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

智能合約平臺(tái)的可擴(kuò)展性研究

2022-02-03 02:42陳云芳
無線互聯(lián)科技 2022年22期
關(guān)鍵詞:主鏈可擴(kuò)展性以太

金 菁,陳云芳

(南京郵電大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 南京 210000)

0 引言

近幾年來,區(qū)塊鏈技術(shù)快速發(fā)展,在各行各業(yè)得到了廣泛應(yīng)用,目前區(qū)塊鏈已經(jīng)逐漸進(jìn)入3.0時(shí)代。區(qū)塊鏈廣泛應(yīng)用于智能合約、保險(xiǎn)、供給鏈、醫(yī)療保健、物聯(lián)網(wǎng)、知識(shí)產(chǎn)權(quán)等領(lǐng)域。智能合約作為區(qū)塊鏈的重要組成部分,旨在以信息化方式傳播、驗(yàn)證或執(zhí)行合同的談判或者履行計(jì)算機(jī)協(xié)議。為了解決自身的需求,各行各業(yè)都或多或少創(chuàng)建了自身的智能合約平臺(tái)。目前最大的區(qū)塊鏈基礎(chǔ)設(shè)施比特幣及以太坊存在著性能瓶頸,對(duì)于大規(guī)模應(yīng)用的各種需求難以滿足。比特幣的吞吐量為每秒7筆交易,以太坊為每秒10~20筆[1]。與VISA實(shí)現(xiàn)的每秒2 000筆交易相比,這兩個(gè)平臺(tái)的吞吐量非常低。因此,可擴(kuò)展性一直是這些區(qū)塊鏈平臺(tái)的研究熱點(diǎn)。Xie等[2]以提高吞吐量為研究核心,介紹了當(dāng)前主要的3種提高區(qū)塊鏈吞吐量的技術(shù)。Zhang等[3]介紹了當(dāng)前區(qū)塊鏈在吞吐量、存儲(chǔ)以及網(wǎng)絡(luò)上面臨的挑戰(zhàn),并提出了解決辦法。Abdurrashid等[4]綜合介紹了目前區(qū)塊鏈可擴(kuò)展性的解決方案,并對(duì)未來的可擴(kuò)展性研究提出建議。本文通過對(duì)比當(dāng)下各類擴(kuò)容方案,分析其優(yōu)缺點(diǎn),最后對(duì)區(qū)塊鏈可擴(kuò)展性未來的研究提出展望。

1 可擴(kuò)展性相關(guān)研究

隨著去中心化金融的爆炸式增長(zhǎng),區(qū)塊鏈對(duì)于可擴(kuò)展性的要求逐漸增長(zhǎng)。

目前,以太坊Layer-2的解決方案Polygon在2021年吸引了大量關(guān)注。Polygon采用兩種底層技術(shù)架構(gòu):PoS Commit Chain 和 More Viable Plasma L2擴(kuò)容方案。作為以太坊主鏈的Commit Chain,Polygon的PoS鏈已經(jīng)吸引了超過80個(gè)以太坊DApps在其平臺(tái)上部署。理論上來說,Polygon最終將擁有成千上萬的鏈來共同擴(kuò)容以提高網(wǎng)絡(luò)的吞吐量,當(dāng)連接到以太坊這樣的主鏈時(shí),未來甚至可能會(huì)達(dá)到數(shù)百萬的TPS。

而作為公鏈之首的以太坊本身也在不斷進(jìn)行升級(jí)。以太坊已于2022年第2季度完成“合并”,即實(shí)現(xiàn)由工作量證明PoW轉(zhuǎn)向權(quán)益證明PoS。然而,此次PoW轉(zhuǎn)PoS的合并升級(jí)只涉及共識(shí)機(jī)制層面,以太坊的可擴(kuò)展性問題仍需依賴Layer-2技術(shù)或分片來解決。

本節(jié)將從鏈上擴(kuò)容Layer-1和鏈下擴(kuò)容Layer-2兩個(gè)方面來分析和討論當(dāng)前主流的以太坊擴(kuò)容方案。

1.1 鏈上擴(kuò)容

鏈上擴(kuò)容(On-Chain Scaling),也被稱為是Layer-1擴(kuò)容。通常情況下,鏈上擴(kuò)容指直接發(fā)生在區(qū)塊鏈上,通過改變區(qū)塊大小或數(shù)據(jù)結(jié)構(gòu)從而提高吞吐量的解決方案。

鏈上擴(kuò)容技術(shù)的第一種是減少區(qū)塊數(shù)據(jù)的大小,而不減少塊中的交易數(shù)量,使得吞吐量提高。例如隔離見證(Segwit)方案。Segwit從交易數(shù)據(jù)中刪除簽名,并將其與一個(gè)單獨(dú)的腳本一起附加到元數(shù)據(jù)中。由于簽名的部分在交易數(shù)據(jù)中占比達(dá)到約65%,因此將其刪除可以釋放塊內(nèi)空間,騰出更多的空間給交易本身。如此,區(qū)塊中能增加約4倍的交易量,吞吐量也隨之提高。Segwit還將塊大小從1 MB增加到4 MB,解決了二次哈希問題,加速了支付通道的運(yùn)行,如閃電網(wǎng)絡(luò)(Lighting Network)。盡管Segwit能對(duì)比特幣進(jìn)行軟擴(kuò)容,但效果始終有限,吞吐量的提高僅限于17~23 TPS。

第二種鏈上擴(kuò)容方案是直接增加區(qū)塊的大小。Bitcoin-cash和Bitcoin-unlimited兩個(gè)方案使用了這種方法[5-6]。然而,這種方案會(huì)導(dǎo)致傳播延遲的增加,從而帶來分叉和DoS攻擊的問題,給安全性帶來了巨大的挑戰(zhàn)。由于SegWit的局限性,一些礦工選擇Bitcoin-Cashing作為替代解決方案。Bitcoin-Cashing將比特幣塊的大小先增加到8 MB,而后又增加到32 MB。然而由于塊的大小與吞吐量沒有線性關(guān)系,因此這種方法對(duì)于吞吐量的增加也十分有限。

還有一種鏈上擴(kuò)容的方法,稱為分片(Sharding),主要用于分布式處理系統(tǒng)。在這種方法中,數(shù)據(jù)被分割并存儲(chǔ)為單獨(dú)的分片以供處理。每個(gè)分片都并行地處理交易和存儲(chǔ)數(shù)據(jù),可以提高吞吐量。分片技術(shù)還降低了BFT共識(shí)網(wǎng)絡(luò)中的通信開銷。目前,分片分配,小分片安全,交叉分片通信開銷是分片技術(shù)面臨的巨大挑戰(zhàn),如果在這些方面的技術(shù)不夠完善,將導(dǎo)致嚴(yán)重的安全問題。

1.2 鏈下擴(kuò)容

鏈下擴(kuò)容(Off-Chain Scaling)是指為以太坊等底層鏈提供外部執(zhí)行的任何創(chuàng)新方式。這些創(chuàng)新被稱為L(zhǎng)ayer-2擴(kuò)容方式,即將交易的執(zhí)行放在以太坊之外的第二層網(wǎng)絡(luò)進(jìn)行,從而繼續(xù)優(yōu)化以太坊Layer-1的性能。

1.2.1 狀態(tài)通道

狀態(tài)通道(State Channels)是一種由多簽智能合約支撐的鏈下擴(kuò)容方案。狀態(tài)通道從根本上豐富了支付通道的功能,除了能夠?qū)崿F(xiàn)基本的支付功能外,狀態(tài)通道還可以用于在區(qū)塊鏈上進(jìn)行狀態(tài)更新,即更改智能合約的內(nèi)部狀態(tài)。在狀態(tài)通道網(wǎng)絡(luò)中,ETH等加密資產(chǎn)可以鎖定在這些合約中,用于在用戶之間創(chuàng)建雙向支付通道。

具體而言,狀態(tài)通道的用戶除了支付外,還可以采用鏈下的方式執(zhí)行智能合約,狀態(tài)通道的原理如圖1所示。舉個(gè)具體的例子,如果用戶Alice和Bob在彼此之間建立了一個(gè)狀態(tài)通道,即可以擁有一個(gè)“合同的模擬分類帳”,并在上面執(zhí)行合約,而不需要在真正的區(qū)塊鏈上注冊(cè)。只要雙方不發(fā)生沖突,該方案就可以順利實(shí)現(xiàn)。狀態(tài)通道的安全性來自雙方在任何時(shí)候都可以在實(shí)際的區(qū)塊鏈上“注冊(cè)”通道的當(dāng)前鏈下狀態(tài),并讓通道合約公平地完成該合約的執(zhí)行。狀態(tài)通道的使用場(chǎng)景很多,包括數(shù)字分發(fā)、在線游戲和去中心化代幣交換等[7]。

圖1 狀態(tài)通道運(yùn)行原理

1.2.2 Plasma

Plasma是最初由Joseph Poon和Vitalik Buterin提出的一個(gè)Layer-2擴(kuò)展解決方案,是一個(gè)用于在以太坊上構(gòu)建可擴(kuò)展應(yīng)用的框架。Plasma用于解決狀態(tài)通道的局限性,允許在以太坊主鏈上創(chuàng)建附加子鏈,這些子鏈可以產(chǎn)生自己的子鏈。也就是說,可以在子鏈級(jí)別執(zhí)行許多復(fù)雜的操作,運(yùn)行擁有數(shù)千名用戶的整個(gè)應(yīng)用程序,并且只需與以太坊主鏈進(jìn)行盡可能少的交互。子鏈可以更快地操作,且交易費(fèi)用更低,因?yàn)椴恍枰谡麄€(gè)以太坊區(qū)塊鏈留下副本。與狀態(tài)通道相比,有一個(gè)很大的不同點(diǎn)是Plasma能夠運(yùn)行智能合約。如果說狀態(tài)通道是對(duì)交易吞吐量的擴(kuò)容,那么Plasma就是對(duì)計(jì)算能力的擴(kuò)容。Plasma將計(jì)算和數(shù)據(jù)存儲(chǔ)都遷移到Layer-2進(jìn)行,由Layer-2的執(zhí)行者周期性地向主鏈遞交Merkle根形式的狀態(tài)承諾。

如圖2所示是使用Plasma機(jī)制的簡(jiǎn)單示意:如果執(zhí)行者遞交無效的狀態(tài),用戶可以向主鏈上的智能合約提供欺詐證明(Fraud Proof);一旦確認(rèn)執(zhí)行者出現(xiàn)欺詐行為,則智能合約會(huì)沒收其保證金。雖說欺詐證明可以使得提供無效承諾的執(zhí)行者在主鏈上遭到懲罰,但如果Plasma的執(zhí)行者拒絕在主鏈上公開數(shù)據(jù),那么用戶則無法取得錯(cuò)誤數(shù)據(jù),也就無法提供欺詐證明,所以 Plasma目前面臨的最大問題是交易數(shù)據(jù)可用性。對(duì)此,Plasma也給出了一些解決措施,如延長(zhǎng)資產(chǎn)從Layer-2退出的時(shí)間,當(dāng)出現(xiàn)惡意行為的時(shí)候,就能允許大量資產(chǎn)從Plasma鏈退出。

圖2 Plasma運(yùn)行原理

1.2.3 Rollup

Rollup在其自身的執(zhí)行層上進(jìn)行交易,并將交易數(shù)據(jù)發(fā)布到以太坊上。和Plasma相比,Rollup的核心優(yōu)勢(shì)是數(shù)據(jù)可用性。它將數(shù)據(jù)提交給主鏈,大大提高了安全性。

如圖3所示是一個(gè)簡(jiǎn)化的Optimstic Rollup流程,可以看出,Rollup和Plasma的最大區(qū)別在于新增了交易數(shù)據(jù)的提交。因此,Rollup的實(shí)質(zhì)是將一大筆實(shí)際產(chǎn)生的交易匯總成一筆主鏈上的交易,這些交易由Rollup鏈來負(fù)責(zé)執(zhí)行和計(jì)算,最后將數(shù)據(jù)提交給主鏈,同時(shí)由主鏈最終確認(rèn)這些交易。這種方法利用了主鏈的共識(shí)和安全性,同時(shí)提升了實(shí)際上的交易效率,降低了交易成本。當(dāng)前使用Rollup的有ZK Rollup和Optimistic Rollup。

圖3 Optimstic Rollup運(yùn)行原理

ZK Rollup基于有效性證明(Validity Proof)和零知識(shí)證明(Zero-Knowledge Proof)的提出,最先假設(shè)不相信提交者能主動(dòng)提交正確的batch。ZK Rollup在主鏈完成零知識(shí)證明,鏈上無需包含簽名數(shù)據(jù),因?yàn)榱阒R(shí)證明就足以證明交易是否有效。如果交易被證明有效,便立刻確認(rèn),這樣可以保證無效的狀態(tài)不會(huì)發(fā)生,即數(shù)據(jù)可用性存放在鏈上,所以ZK Rollup對(duì)數(shù)據(jù)存儲(chǔ)方面也帶來了一定程度上的擴(kuò)展性提升。但由于零知識(shí)證明生成的復(fù)雜性,目前這種方式也存在局限性,只適用于簡(jiǎn)單轉(zhuǎn)賬。

Optimistic Rollup是一種交互式的方法,它選擇樂觀地相信提交者提交的batch正確,和Plasma有一定的相似性,都使用了欺詐證明的機(jī)制。在這種解決方案中,新的batches是由運(yùn)營(yíng)商發(fā)布的,而沒有被Rollup智能合約證明正確。Optimistic Rollup克服了合約執(zhí)行管理的困難。一般來說,Rollup合約會(huì)跟蹤已更新狀態(tài)的歷史記錄,任何發(fā)現(xiàn)錯(cuò)誤過去狀態(tài)根(Post-State Root)的人都可以發(fā)布錯(cuò)誤證明。這也就意味著合約可以驗(yàn)證所提供的證明:如果這個(gè)證明指出了一個(gè)無效的提交聲明,那么系統(tǒng)將恢復(fù)最后一個(gè)有效批的狀態(tài),并對(duì)發(fā)布者進(jìn)行懲罰[8]。

1.3 擴(kuò)容方案對(duì)比

為了更直觀地看出不同擴(kuò)容方案的異同點(diǎn),本節(jié)將通過表格的形式,從各方案對(duì)區(qū)塊鏈系統(tǒng)吞吐量、成本以及容量3個(gè)角度的影響出發(fā),對(duì)上文中介紹的方案進(jìn)行詳細(xì)的比較和分析,由此繼續(xù)強(qiáng)調(diào)其優(yōu)缺點(diǎn),如表1所示。

表1 擴(kuò)容方案的比較

從表1中可以看出,不同的擴(kuò)容技術(shù)有其不同的優(yōu)缺點(diǎn)和使用場(chǎng)景。對(duì)鏈上擴(kuò)容方案而言,Segwit通過分離簽名提高吞吐量,但增加了代碼復(fù)雜度,方案可移植性低;直接增加區(qū)塊大小降低了成本,但使得孤立區(qū)塊出現(xiàn)的可能性增加;Sharding可以并行處理大量交易,但被攻擊的可能性也隨之增加。

而在Layer-2擴(kuò)容方案中,狀態(tài)通道因其獨(dú)特的性質(zhì),讓其在擴(kuò)容領(lǐng)域擁有不可替代的一席之地。跟狀態(tài)通道相比,Plasma的優(yōu)點(diǎn)在于能夠運(yùn)行智能合約。跟Plasma和ZK Rollup相比,Optimistic Rollup帶來的擴(kuò)展性提升幅度最小,但更容易解決問題。而ZK Rollup則可以消除尾部風(fēng)險(xiǎn),減少提取資金的實(shí)踐,且保護(hù)隱私,適合需要提高流動(dòng)性的項(xiàng)目。

2 未來研究方向

目前已有許多擴(kuò)容方案在權(quán)衡區(qū)塊鏈“不可能三角”,即可擴(kuò)展性、去中心化、安全性的問題上做出了一定的成果。但是,區(qū)塊鏈的可擴(kuò)展性挑戰(zhàn)仍然沒有被完全解決,這意味著區(qū)塊鏈仍未發(fā)揮出全部潛力。目前,區(qū)塊鏈可擴(kuò)展性有如下幾個(gè)挑戰(zhàn)。

(1)分片技術(shù)(Sharding)作為目前最常用的提高可擴(kuò)展性的方案,可以實(shí)現(xiàn)低延遲、高吞吐量、存儲(chǔ)可擴(kuò)展性和拜占庭容錯(cuò)。每筆交易的通信成本是區(qū)塊鏈可擴(kuò)展性問題的關(guān)鍵。只有其排序的復(fù)雜度降低到O(n),才能表示該區(qū)塊鏈具備可擴(kuò)展性。未來或許會(huì)通過部署去中心化的名譽(yù)管理方法和使用激勵(lì)策略的負(fù)載平衡機(jī)制來做到這一點(diǎn)。

(2)保持跨分片交易中的原子性是另一項(xiàng)可擴(kuò)展性挑戰(zhàn)。當(dāng)不同的分片共同操作時(shí),需要使用時(shí)間軸來驗(yàn)證這些操作的先后順序。當(dāng)分片需要處理大量合法或不合法的跨分片交易時(shí),可以通過負(fù)載平衡機(jī)制來應(yīng)對(duì)礦工節(jié)點(diǎn)耗盡以及DoS攻擊的問題。

(3)區(qū)塊容易形成多個(gè)分支,這些分支被稱為分叉,也會(huì)對(duì)可擴(kuò)展性造成影響。目前已有最長(zhǎng)鏈規(guī)則被用于處理這些分叉。但是,如果沒有任何分叉避免機(jī)制,仍然會(huì)出現(xiàn)資源浪費(fèi)的現(xiàn)象。為了解決這個(gè)問題,可以成立由激勵(lì)節(jié)點(diǎn)組成的分叉監(jiān)測(cè)委員會(huì),將該委員會(huì)與采礦節(jié)點(diǎn)分開,并根據(jù)采礦節(jié)點(diǎn)的能力分配采礦工作,并實(shí)時(shí)監(jiān)測(cè)并及時(shí)避免分叉。

(4)對(duì)被許可鏈而言,使用可信的硬件設(shè)備進(jìn)行挖礦和驗(yàn)證會(huì)減少BGR,這將直接影響交易吞吐量。然而,在公共鏈中使用這種方法則需要采用激勵(lì)機(jī)制,讓礦工使用那些擁有更高處理能力和更大內(nèi)存的硬件。

3 結(jié)語

本文介紹了智能合約平臺(tái)的可擴(kuò)展性現(xiàn)狀、存在的挑戰(zhàn)和解決辦法。首先,介紹了公鏈之首以太坊的Layer-2擴(kuò)容解決方案Polygon的發(fā)展近況。其次,從鏈上和鏈下兩個(gè)方面介紹了目前存在的擴(kuò)容方案,并分析了優(yōu)缺點(diǎn)。最后,闡述目前區(qū)塊鏈可擴(kuò)展性面臨的挑戰(zhàn)和可能的解決辦法,展望了其未來研究方向。

猜你喜歡
主鏈可擴(kuò)展性以太
以太極為旗,開啟新時(shí)代“黃河大合唱”
車易鏈:做汽車業(yè)的“以太坊”
恩智浦推出全新i.MX 8X 處理器,為工業(yè)應(yīng)用帶來更高的安全性、可靠性和可擴(kuò)展性
電力監(jiān)控軟件的可擴(kuò)展性設(shè)計(jì)
有機(jī)化合物命名易錯(cuò)題直擊
“烷烴”的五字命名方針
構(gòu)建高可擴(kuò)展性的物流裝備管理系統(tǒng)
百通推出入門級(jí)快速工業(yè)以太網(wǎng)絡(luò)交換器系列
以太互聯(lián) 高效便捷 經(jīng)濟(jì)、可靠、易用的小型可編程控制器
高聚物單體的判斷方法