999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

區(qū)塊鏈技術(shù)發(fā)展與展望

2020-08-04 01:47:52袁煜明趙文琦

李 慧 袁煜明 趙文琦

(火幣區(qū)塊鏈研究院,澄邁 571900)

1 引言

2008 年10 月31 日,中本聰在密碼朋克郵件組中發(fā)布了《比特幣:一種點(diǎn)對點(diǎn)的電子現(xiàn)金系統(tǒng)》[1],由此開啟了加密數(shù)字貨幣與區(qū)塊鏈技術(shù)的興起之路。作為加密數(shù)字貨幣的底層基礎(chǔ)技術(shù),區(qū)塊鏈技術(shù)一度與其緊緊綁定在一起,應(yīng)用在各類公鏈項(xiàng)目中。而后,隨著對區(qū)塊鏈技術(shù)價(jià)值的發(fā)掘,區(qū)塊鏈技術(shù)逐漸發(fā)展成為獨(dú)立的研究領(lǐng)域,二者開始逐漸被區(qū)分。區(qū)塊鏈技術(shù)被視作為底層的分布式賬本技術(shù),加密數(shù)字貨幣則被視作該層技術(shù)之上的激勵(lì)手段及其應(yīng)用生態(tài)中的金融工具,在聯(lián)盟鏈的應(yīng)用領(lǐng)域中甚至可以不需要加密數(shù)字貨幣。

區(qū)塊鏈技術(shù)的主要特征包括完全分布式、透明、不可篡改和可追溯。完全分布式:區(qū)塊鏈利用分布式存儲(chǔ)和分布式網(wǎng)絡(luò)的技術(shù),使得區(qū)塊鏈網(wǎng)絡(luò)中沒有中心化節(jié)點(diǎn)且賬本數(shù)據(jù)分散存儲(chǔ)在網(wǎng)絡(luò)中的各個(gè)對等節(jié)點(diǎn)中;透明:除了被加密的私有信息外,分布式賬本中的所有信息均可以通過接口查詢,網(wǎng)絡(luò)中的所有節(jié)點(diǎn)均可以對其進(jìn)行查詢與校驗(yàn)。不可篡改:除了允許信息更改的部分私有區(qū)塊鏈之外,區(qū)塊中的信息一旦被全網(wǎng)達(dá)成共識(shí)并記錄在區(qū)塊鏈中,就無法再被更改。可追溯:存儲(chǔ)在區(qū)塊鏈中的交易可以通過其鏈?zhǔn)浇Y(jié)構(gòu)進(jìn)行來源去向的追查。

這些特征對比傳統(tǒng)中心化的技術(shù)架構(gòu)體系在部分應(yīng)用場景下有其特有的優(yōu)越性,隨著區(qū)塊鏈技術(shù)的活力逐步彰顯,越來越多的產(chǎn)業(yè)開始應(yīng)用區(qū)塊鏈技術(shù)。在金融領(lǐng)域,其被應(yīng)用到支付清算、保險(xiǎn)理賠、供應(yīng)鏈金融等;在政務(wù)領(lǐng)域,被應(yīng)用到數(shù)字身份、征信、司法存證、電子政務(wù)等;在醫(yī)療領(lǐng)域被應(yīng)用到藥品供應(yīng)鏈、臨床數(shù)據(jù)等;在城市建設(shè)領(lǐng)域被應(yīng)用到交通運(yùn)輸、能源管理、公共建設(shè)等。同時(shí),也有諸多國家頒布政策法令支持區(qū)塊鏈技術(shù)的發(fā)展甚至將其與國家戰(zhàn)略相關(guān)聯(lián)。

在早期的研究中,區(qū)塊鏈的體系架構(gòu)主要聚焦在數(shù)據(jù)結(jié)構(gòu)與共識(shí)機(jī)制上[2],還有一部分研究工作提出了完整區(qū)塊鏈技術(shù)架構(gòu)并做了充分的論述[3‐4],但對區(qū)塊鏈技術(shù)發(fā)展過程中涌現(xiàn)的擴(kuò)展技術(shù)著墨不多,因此本文在前人的基礎(chǔ)上,結(jié)合近年來區(qū)塊鏈技術(shù)的發(fā)展現(xiàn)狀總結(jié)了區(qū)塊鏈的五層基礎(chǔ)技術(shù)架構(gòu),并在此基礎(chǔ)上討論了各項(xiàng)擴(kuò)展技術(shù)的研究與應(yīng)用進(jìn)展。

2 區(qū)塊鏈基礎(chǔ)架構(gòu)

2.1 基礎(chǔ)架構(gòu)

區(qū)塊鏈技術(shù)經(jīng)過十多年的發(fā)展,基本形成了如圖1 所示的基礎(chǔ)技術(shù)架構(gòu),自下而上分別是數(shù)據(jù)層、網(wǎng)絡(luò)層、共識(shí)層、合約層以及應(yīng)用層。數(shù)據(jù)、共識(shí)、網(wǎng)絡(luò)是區(qū)塊鏈分布式賬本的核心內(nèi)涵,可以合稱為分布式賬本層。

其中,數(shù)據(jù)層的內(nèi)涵主要包括數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)模型及數(shù)據(jù)存儲(chǔ);網(wǎng)絡(luò)層負(fù)責(zé)組網(wǎng)、傳輸與校驗(yàn);共識(shí)層通過共識(shí)算法協(xié)調(diào)分布式環(huán)境中的協(xié)作節(jié)點(diǎn)達(dá)成共識(shí);合約層包含了智能合約編寫和執(zhí)行的環(huán)境;應(yīng)用層則運(yùn)行著基于區(qū)塊鏈技術(shù)的各種應(yīng)用。

針對區(qū)塊鏈的基礎(chǔ)技術(shù)架構(gòu),也有研究人員提出過不同的分層架構(gòu)方案[3‐4]。第一個(gè)不同之處體現(xiàn)在層次排列次序不同,區(qū)塊鏈的共識(shí)層、網(wǎng)絡(luò)層與數(shù)據(jù)層在技術(shù)實(shí)現(xiàn)上并無嚴(yán)格的次序依賴關(guān)系,其三者可被統(tǒng)一視作為“分布式賬本層”,因此不同的排布方式不影響技術(shù)架構(gòu)的內(nèi)涵。第二個(gè)不同體現(xiàn)在是否將“激勵(lì)層”納入架構(gòu)中,由于激勵(lì)層的討論內(nèi)容更偏向經(jīng)濟(jì)模型而不是技術(shù)模型的設(shè)計(jì),同時(shí)激勵(lì)層在不同的區(qū)塊鏈類型中并不普適存在,因而不被納入到本文的基礎(chǔ)技術(shù)架構(gòu)中。

在該種架構(gòu)下,應(yīng)用層通過合約層提供的智能合約工具構(gòu)建各類區(qū)塊鏈應(yīng)用,合約層依賴分布式賬本層完成分布式網(wǎng)絡(luò)下的共識(shí)達(dá)成、數(shù)據(jù)傳播與存儲(chǔ)。

2.2 數(shù)據(jù)層

區(qū)塊鏈的數(shù)據(jù)層以分布式的方式存放著記錄交易的區(qū)塊。在業(yè)界實(shí)際的應(yīng)用中,不同區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)模型及數(shù)據(jù)存儲(chǔ)各有異同。

(1)數(shù)據(jù)結(jié)構(gòu)

就數(shù)據(jù)結(jié)構(gòu)而言,區(qū)塊鏈以區(qū)塊為單位進(jìn)行組織。

區(qū)塊包含區(qū)塊頭和區(qū)塊體兩部分,典型的區(qū)塊結(jié)構(gòu)如圖2 所示。區(qū)塊頭中存放的數(shù)據(jù)為支持區(qū)塊鏈運(yùn)行的功能型數(shù)據(jù),其數(shù)據(jù)域沒有通用的標(biāo)準(zhǔn),但通常會(huì)包含前塊哈希、默克爾根及時(shí)間戳信息。前塊哈希本質(zhì)上是指向父區(qū)塊的指針,將區(qū)塊鏈接起來;默克爾根是區(qū)塊體中的默克爾樹樹根的值;時(shí)間戳記錄了區(qū)塊的產(chǎn)出時(shí)間可用于存證。不同的區(qū)塊鏈還會(huì)包含不同的與其數(shù)據(jù)組織機(jī)制和共識(shí)機(jī)制緊密關(guān)聯(lián)的數(shù)據(jù)域。如比特幣區(qū)塊頭中還包含版本、難度目標(biāo)及一個(gè)與工作量證明算法關(guān)聯(lián)的隨機(jī)數(shù)等;以太坊的實(shí)現(xiàn)機(jī)制更為復(fù)雜,區(qū)塊頭中還包含了布隆過濾器、手續(xù)費(fèi)gas上限、叔塊哈希等更多的信息。

區(qū)塊體中通常主要包含交易數(shù)據(jù)的信息,交易數(shù)據(jù)通常利用默克爾樹[5‐7]進(jìn)行組織,以增加數(shù)據(jù)的篡改成本并實(shí)現(xiàn)數(shù)據(jù)的快速比對與存在校驗(yàn)。默克爾樹中每一個(gè)節(jié)點(diǎn)都是哈希值,因而也被稱作哈希樹。為了提升樹的性能,以太坊提出了結(jié)合默克爾樹與前綴樹[8‐9]的MPT(Merkle Patricia Trie)樹[10]用于存儲(chǔ)其交易、收據(jù)以及狀態(tài)數(shù)據(jù)。

現(xiàn)今主流的區(qū)塊鏈結(jié)構(gòu)為鏈?zhǔn)浇Y(jié)構(gòu),如圖3 所示,區(qū)塊與區(qū)塊之間由前序哈希連接。當(dāng)鏈上產(chǎn)生分叉時(shí),選取最長鏈作為主鏈。但近年也出現(xiàn)了以有向無環(huán)圖(DAG)[11]作為組織形式的區(qū)塊鏈項(xiàng)目[12‐14]。

(2)數(shù)據(jù)模型

區(qū)塊鏈技術(shù)中的數(shù)據(jù)模型主要分為兩種,交易模型和賬戶模型。交易模型側(cè)重于記錄交易的過程,即交易的來源與去向,以比特幣、Corda[15]等為代表的UTXO 模型,這種模型天然契合區(qū)塊鏈的鏈?zhǔn)浇Y(jié)構(gòu),可以快速追蹤和驗(yàn)證交易,但擴(kuò)展性不強(qiáng)。賬戶模型側(cè)重于記錄賬戶的狀態(tài),即交易的結(jié)果,以以太坊、Hyperledger Fabric[16]等為代表,這種模型靈活性更強(qiáng),能支持更為復(fù)雜的業(yè)務(wù)處理邏輯。

(3)數(shù)據(jù)存儲(chǔ)

區(qū)塊鏈的數(shù)據(jù)存儲(chǔ)主要包括區(qū)塊數(shù)據(jù)的存儲(chǔ)和索引、狀態(tài)等信息的存儲(chǔ)。對于區(qū)塊數(shù)據(jù)的存儲(chǔ),部分區(qū)塊鏈選擇了文本文件存儲(chǔ)的方式,如比特幣、Hyperledger Fabric,也有以以太坊為代表的一些區(qū)塊鏈將區(qū)塊數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫中。索引和狀態(tài)信息一般都被存儲(chǔ)在KV 型數(shù)據(jù)庫中以實(shí)現(xiàn)快速檢索,典型的KV數(shù)據(jù)庫包括LevelDB等。

區(qū)塊鏈中每一個(gè)節(jié)點(diǎn)都可以作為存儲(chǔ)完整的區(qū)塊鏈賬本、索引、狀態(tài)等數(shù)據(jù)的全節(jié)點(diǎn),達(dá)不到全節(jié)點(diǎn)存儲(chǔ)資源要求的節(jié)點(diǎn)也可以選擇做存儲(chǔ)部分?jǐn)?shù)據(jù)的輕節(jié)點(diǎn)。

2.3 網(wǎng)絡(luò)層

網(wǎng)絡(luò)層的職責(zé)是組網(wǎng)、數(shù)據(jù)傳播與數(shù)據(jù)校驗(yàn)。

(1)組網(wǎng)

在組網(wǎng)方面,與傳統(tǒng)的C/S、B/S 架構(gòu)使用的中心化網(wǎng)絡(luò)不同,區(qū)塊鏈中使用點(diǎn)對點(diǎn)網(wǎng)絡(luò)(P2P Net‐work),這種網(wǎng)絡(luò)中每一個(gè)節(jié)點(diǎn)均是對等節(jié)點(diǎn),均可以提供服務(wù)和獲取服務(wù)。該種網(wǎng)絡(luò)下不會(huì)因?yàn)橹行墓?jié)點(diǎn)的處理能力不足而形成性能瓶頸,網(wǎng)絡(luò)中少部分節(jié)點(diǎn)的下線或者故障不會(huì)導(dǎo)致網(wǎng)絡(luò)癱瘓或數(shù)據(jù)遺失。

特別地,在區(qū)塊鏈的網(wǎng)絡(luò)中,每一個(gè)節(jié)點(diǎn)均可以承擔(dān)路由、傳播、驗(yàn)證及引入新節(jié)點(diǎn)的職責(zé)。在應(yīng)用實(shí)踐中,各項(xiàng)目的組網(wǎng)思路基本一致,以太坊的組網(wǎng)模式是基于P2P 網(wǎng)絡(luò)的核心協(xié)議Kademlia[17]協(xié)議做了適應(yīng)性的改動(dòng)。

(2)數(shù)據(jù)傳播

由于區(qū)塊鏈中每個(gè)節(jié)點(diǎn)均只與相鄰節(jié)點(diǎn)建立網(wǎng)絡(luò)連接,故在數(shù)據(jù)傳播時(shí)每個(gè)節(jié)點(diǎn)均只向相鄰節(jié)點(diǎn)廣播。核心傳播步驟是,當(dāng)某個(gè)節(jié)點(diǎn)產(chǎn)生了新區(qū)塊,會(huì)將區(qū)塊數(shù)據(jù)添加到本地鏈上并傳輸給臨近節(jié)點(diǎn);臨近節(jié)點(diǎn)接收數(shù)據(jù)并校驗(yàn)通過后會(huì)存儲(chǔ)到本地鏈并進(jìn)一步傳播,如果未通過校驗(yàn)則中止傳播;如此循環(huán)直至區(qū)塊數(shù)據(jù)同步到全網(wǎng)達(dá)成共識(shí),或被廢棄。經(jīng)典的數(shù)據(jù)傳播協(xié)議如Gossip[18]等也被應(yīng)用到一些區(qū)塊鏈的實(shí)踐中。

(3)數(shù)據(jù)校驗(yàn)

數(shù)據(jù)校驗(yàn)的主要是為了保證區(qū)塊數(shù)據(jù)的合法性。校驗(yàn)內(nèi)容在不同的區(qū)塊鏈中有所不同,主要包含對共識(shí)證明、數(shù)字簽名、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)長度等的校驗(yàn)。以比特幣為例,其校驗(yàn)中包含工作量證明、Merkle根、區(qū)塊大小、交易數(shù)據(jù)結(jié)構(gòu)及合法性等。

2.4 共識(shí)層

一致性問題是分布式系統(tǒng)面臨的共性問題,共識(shí)機(jī)制是實(shí)現(xiàn)一致性的手段。傳統(tǒng)的分布式系統(tǒng)本質(zhì)上還是利用分布式技術(shù)的中心化系統(tǒng),因此處理核心功能的節(jié)點(diǎn)接受統(tǒng)一的決策指令,共識(shí)問題也弱化成在節(jié)點(diǎn)誠實(shí)的基礎(chǔ)假設(shè)上解決一致性的問題,只需要滿足崩潰容錯(cuò)(Crash Fault Tolerance,CFT)共識(shí)協(xié)議即可,Paxos[19]、Raft等就是這類協(xié)議。

但在區(qū)塊鏈這種完全分布式的場景中,決策權(quán)高度分散在好壞難辨的網(wǎng)絡(luò)節(jié)點(diǎn)上,網(wǎng)絡(luò)中的節(jié)點(diǎn)可能返回任意類型的結(jié)果,包括惡意的結(jié)果。因此,需要應(yīng)用支持拜占庭容錯(cuò)(Byzantine Fault Tolerance,BFT)的共識(shí)協(xié)議,保證在網(wǎng)絡(luò)內(nèi)部分節(jié)點(diǎn)故障或作惡的情況下,整個(gè)網(wǎng)絡(luò)仍能正常、一致地運(yùn)行。這種共識(shí)協(xié)議主要分為兩大類,概率性的PoX(Proof of X)類和確定性的BFT類。

主流的共識(shí)機(jī)制對比如表1 所示,本文將主要討論P(yáng)oX和BFT類共識(shí)。

表1 主流共識(shí)機(jī)制比較Table1 Comparison of mainstream consensus protocols

(1)PoX類共識(shí)

PoX(Proof of X)類共識(shí)需要節(jié)點(diǎn)提供某種證明,才能以一定概率獲得記賬權(quán),常被應(yīng)用在公鏈中。最經(jīng)典的PoW,即工作量證明,與比特幣一同誕生,通過暴力求解SHA256 問題提供工作量證明,最先求解的節(jié)點(diǎn)獲得記賬權(quán),多個(gè)節(jié)點(diǎn)獲得記賬權(quán)的情況下,經(jīng)過時(shí)間的推移,處于最長鏈上的區(qū)塊的礦工是最終的記賬者。PoW 機(jī)制在比特幣上運(yùn)行十多年沒有出現(xiàn)過致命的問題足見其健壯性,但過高的資源浪費(fèi)和過低的效率催生了新的共識(shí)機(jī)制。

另一類主流的共識(shí)機(jī)制為PoS,即權(quán)益證明,節(jié)點(diǎn)通過消耗幣齡提供權(quán)益證明。PoS 認(rèn)為在網(wǎng)絡(luò)中投入通證數(shù)量越多持有時(shí)間越長的節(jié)點(diǎn)越值得信賴,因此有越大的概率成為出塊者。在純粹的PoS中,可以依據(jù)Follow‐the‐Satoshi等算法選擇出塊節(jié)點(diǎn)。PoS發(fā)展過程中也出現(xiàn)過各種變種,如DPoS、PoSV、Pow+PoS 等。PoS 共識(shí)下,出塊速度更快,也解決了PoW 資源浪費(fèi)的問題,但其自身也存在強(qiáng)者恒強(qiáng)及一些安全性問題。

隨著區(qū)塊鏈技術(shù)的發(fā)展,除了上述兩類主流的共識(shí)機(jī)制外,還涌現(xiàn)出許多其他PoX 類的共識(shí)機(jī)制,如PoA、PoB、PoSV、PoC等。

(2)BFT類共識(shí)

BFT(Byzantine Fault Tolerance,拜占庭容錯(cuò))類共識(shí)是對拜占庭問題經(jīng)典解決方案的延續(xù)。不同于PoX 類共識(shí),BFT類共識(shí)通常是先達(dá)成共識(shí),再記賬,記賬節(jié)點(diǎn)的認(rèn)定也不再是基于概率的。

最早,Lamport 等在1982 年提出拜占庭問題[20],通過虛構(gòu)描述拜占庭帝國的將軍們打仗時(shí)如何讓忠誠的將軍在叛徒將軍的擾亂下仍能就作戰(zhàn)計(jì)劃達(dá)成一致的問題,來提出如何在網(wǎng)絡(luò)通信可靠但節(jié)點(diǎn)不可靠的情況下達(dá)成共識(shí)的問題。Lamport 等人提出了兩種協(xié)議作為解決方案,但都存在時(shí)間復(fù)雜度過高、擴(kuò)展性不強(qiáng)的問題。直到1999年,Castro和Liskov提出了實(shí)用拜占庭容錯(cuò)PBFT[21]算法,將BFT 的時(shí)間復(fù)雜度降低至多項(xiàng)式級(jí)別才真正能在工業(yè)界廣泛使用。

自拜占庭問題被提出以來學(xué)術(shù)界和業(yè)界提出了各種解決方案,近年也出現(xiàn)了很多針對區(qū)塊鏈的BFT優(yōu)化算法及BFT 與PoX 類共識(shí)的混合算法。如Pass和Shi 提出的PoW+BFT[22]共識(shí)、應(yīng)用在Cosmos[24]的PoS+BFT共識(shí)Tendermint[25]等。

2.5 合約層

數(shù)據(jù)層、網(wǎng)絡(luò)層與共識(shí)層構(gòu)建了區(qū)塊鏈的底層技術(shù),形成了分布式賬本。合約層建立在分布式賬本之上,該層包含了各類腳本、算法形成智能合約,為區(qū)塊鏈提供了高度可編程性和可操作性。

智能合約的思想最早由Nick Szabo[26]于上世紀(jì)90 年代提出,是一種執(zhí)行合約條款的計(jì)算機(jī)交易協(xié)議,但由于沒有相契合的運(yùn)用場景,沒有引起廣泛的關(guān)注。區(qū)塊鏈技術(shù)的發(fā)展推動(dòng)了完全分布式交易的發(fā)展,為智能合約的應(yīng)用打開了局面。

智能合約本質(zhì)上就是一段預(yù)定義規(guī)則的代碼,這種代碼從技術(shù)視角看與傳統(tǒng)技術(shù)行業(yè)的IF‐ELSE 邏輯的代碼并沒有本質(zhì)區(qū)別,真正帶來變化的是它運(yùn)行在透明、不可篡改、完全分布式的區(qū)塊鏈上而產(chǎn)生的“信任”帶來了價(jià)值。

智能合約與區(qū)塊鏈結(jié)合的雛形誕生在比特幣上。比特幣采用基于逆波蘭表示法的堆棧執(zhí)行語言來實(shí)現(xiàn)UTXO 的鎖定腳本與實(shí)現(xiàn)腳本,包括P2PKH(Pay‐to‐Public‐Key‐Hash)、P2PK(Pay‐to‐Public‐Key)、P2SH(Pay‐to‐Script‐Hash)、MS(Multi‐Signature)和OP_Retuen 等腳本分別實(shí)現(xiàn)不同的功能。使用該種腳本方式的多為早期使用UTXO 模型的區(qū)塊鏈項(xiàng)目及部分基于有向無環(huán)圖(DAG)的項(xiàng)目。

由于腳本方式的智能合約通常圖靈不完備,表達(dá)性有限,于是催生了多個(gè)方向上的探索。其中最有代表性的是以容器方式實(shí)現(xiàn)的Hyperledger Fabric、以虛擬機(jī)方式實(shí)現(xiàn)的以太坊。

容器方式在實(shí)現(xiàn)上比虛擬機(jī)方式更輕量級(jí)也更加靈活,但是這種輕量級(jí)和靈活是以容器中的智能合約和應(yīng)用的實(shí)現(xiàn)更重為代價(jià)的。

目前最主流的實(shí)現(xiàn)方式還是虛擬機(jī)方式。相比較而言,這種方式提供了較為健全的基礎(chǔ)設(shè)施,封裝了底層環(huán)境的虛擬機(jī)和基于該虛擬機(jī)的高級(jí)編程語言,為在區(qū)塊鏈上進(jìn)行智能合約的開發(fā)提供了很大的便利性。如以太坊實(shí)現(xiàn)了一個(gè)圖靈完備的虛擬機(jī),并提供了用于編寫智能合約的高級(jí)編程語言Solidity。該語言編寫的智能合約編譯成字節(jié)碼之后可以部署在以太坊的區(qū)塊鏈網(wǎng)絡(luò)上,應(yīng)用可以調(diào)用部署好的合約實(shí)現(xiàn)各種功能。

2.6 應(yīng)用層

區(qū)塊鏈的應(yīng)用層與傳統(tǒng)技術(shù)架構(gòu)中的應(yīng)用層類似,主要是封裝一系列場景和應(yīng)用。在以容器方式和虛擬機(jī)方式承載的智能合約誕生之前,區(qū)塊鏈的應(yīng)用十分有限,主要集中在數(shù)字貨幣上。智能合約的發(fā)展為應(yīng)用層的豐富帶來了福音。現(xiàn)今,區(qū)塊鏈技術(shù)已經(jīng)應(yīng)用到金融、醫(yī)療、政務(wù)、商務(wù)、公益等各個(gè)領(lǐng)域,且都已經(jīng)有了實(shí)踐的案例,為提升各行業(yè)的效率提供了新的手段。

3 擴(kuò)展技術(shù)

數(shù)據(jù)、網(wǎng)絡(luò)、共識(shí)、合約、應(yīng)用構(gòu)建了區(qū)塊鏈技術(shù)的基礎(chǔ)架構(gòu)。但是隨著應(yīng)用生態(tài)的發(fā)展,基礎(chǔ)的技術(shù)架構(gòu)在效率、擴(kuò)展性、隱私性等方面都產(chǎn)生了瓶頸。因而催生了各種Layer0、Layer1、Layer2 及其他方面的擴(kuò)展技術(shù)。

3.1 Layer0擴(kuò)展

區(qū)塊鏈的Layer0 層擴(kuò)展主要集中在數(shù)據(jù)傳輸上,通過優(yōu)化區(qū)塊鏈和傳統(tǒng)網(wǎng)絡(luò)結(jié)合的問題來實(shí)現(xiàn)擴(kuò)展。相比Layer1 和Layer2 層的擴(kuò)展,該層的擴(kuò)展對區(qū)塊鏈技術(shù)架構(gòu)的侵入性較小。

目前,Layer0層擴(kuò)展方案主要集中在構(gòu)建中繼網(wǎng)絡(luò),提升數(shù)據(jù)傳輸?shù)乃俣壬稀F渌悸奉愃朴趥鹘y(tǒng)網(wǎng)絡(luò)中的CDN(Content Delivery Network)技術(shù),通過構(gòu)建虛擬網(wǎng)絡(luò),部署邊緣服務(wù)器,優(yōu)化網(wǎng)絡(luò)中的負(fù)載和內(nèi)容分發(fā)。Layer0 層中的中繼網(wǎng)絡(luò)通過在網(wǎng)絡(luò)中部署一些中心化的中繼節(jié)點(diǎn),在中繼節(jié)點(diǎn)或者中繼節(jié)點(diǎn)構(gòu)建的中繼網(wǎng)絡(luò)上做數(shù)據(jù)傳輸?shù)膬?yōu)化,包括路由方式、傳播方式、壓縮技術(shù)等。目前,康奈爾大學(xué)和西北大學(xué)的研究人員提出的Bloxroute[27]與Marlin Labs 提出的Marlin[28]是該方向上探索最多的項(xiàng)目。

3.2 Layer1擴(kuò)展

Layer1 層的擴(kuò)展指對區(qū)塊鏈基礎(chǔ)架構(gòu)中分布式賬本層,即數(shù)據(jù)層、網(wǎng)絡(luò)層、共識(shí)層的技術(shù)擴(kuò)展,其核心在于對區(qū)塊鏈技術(shù)自身的改造與擴(kuò)展,以提升區(qū)塊鏈的性能。

(1)數(shù)據(jù)層

最直接的擴(kuò)展方式為擴(kuò)展區(qū)塊大小,比特幣的區(qū)塊大小上限為1M,該限制成為制約比特幣系統(tǒng)吞吐量的重要因素。擴(kuò)展區(qū)塊大小以實(shí)現(xiàn)性能提升最典型項(xiàng)目為比特現(xiàn)金(BCH)。但這種擴(kuò)展方式也會(huì)帶來對賬本存儲(chǔ)的挑戰(zhàn)。

還有一種通過改變區(qū)塊結(jié)構(gòu)的變相擴(kuò)容手段,隔離見證(SegWit,Segregated Witness)。這種方法將腳本簽名從區(qū)塊中拿出,使區(qū)塊有更多空間用于容納交易數(shù)據(jù)。但這種方式對吞吐量的提升很有限。

除了對區(qū)塊做擴(kuò)展外,也有技術(shù)對區(qū)塊鏈經(jīng)典的鏈?zhǔn)浇Y(jié)構(gòu)提出了挑戰(zhàn)。鏈?zhǔn)降拇鎯?chǔ)結(jié)構(gòu)導(dǎo)致網(wǎng)絡(luò)中區(qū)塊只能串行產(chǎn)生,無法并發(fā)處理交易數(shù)據(jù)。2015年開始,興起了不同于鏈?zhǔn)浇Y(jié)構(gòu)的數(shù)據(jù)組織方式——有向無環(huán)圖(DAG),舍棄了區(qū)塊和鏈?zhǔn)浇Y(jié)構(gòu)的概念,以交易為單位做處理,支持異步并發(fā)。典型的基于DAG 數(shù)據(jù)結(jié)構(gòu)項(xiàng)目包括Byteball[12]、IOTA[13]、Hash‐graph[14]等。

值得注意的是,類似DAG 這種擴(kuò)展技術(shù)往往也伴隨著網(wǎng)絡(luò)層和共識(shí)層機(jī)制的變化,并不僅限于數(shù)據(jù)層。

(2)網(wǎng)絡(luò)層

典型的網(wǎng)絡(luò)層擴(kuò)展技術(shù)為分片(Sharding)。分片是傳統(tǒng)數(shù)據(jù)庫行業(yè)中的水平擴(kuò)容技術(shù),引入到區(qū)塊鏈中,通過將一個(gè)區(qū)塊鏈網(wǎng)絡(luò)分割成多個(gè)較小的片區(qū),每個(gè)片區(qū)獨(dú)立處理該片區(qū)的交易,以提升整個(gè)網(wǎng)絡(luò)的吞吐量。

分片的內(nèi)涵包括了網(wǎng)絡(luò)分片、交易分片、計(jì)算分片和狀態(tài)分片,各種分片都是以網(wǎng)絡(luò)分片為基礎(chǔ)的,并且實(shí)現(xiàn)難度逐級(jí)遞增。在提升性能的同時(shí),分片技術(shù)帶來的片區(qū)之間的通信消耗及單個(gè)片區(qū)被作惡者控制的隱患等也為該方案的應(yīng)用帶來了挑戰(zhàn)。典型的應(yīng)用了分片技術(shù)的項(xiàng)目包括Ziliqa[29]等。

(3)共識(shí)層

共識(shí)層的擴(kuò)展主要是通過提出各種新的共識(shí)協(xié)議提升區(qū)塊鏈的運(yùn)行效率。

3.3 Layer2擴(kuò)展

Layer2擴(kuò)展指的是鏈下擴(kuò)展方案,其主要的思想是在主鏈之外進(jìn)行技術(shù)改進(jìn),將最終結(jié)果同步到主鏈上。該層的擴(kuò)展方案目前主要分為狀態(tài)通道、側(cè)鏈、跨鏈等。

(1)狀態(tài)通道

狀態(tài)通道是指在鏈下建立專屬通道進(jìn)行通信或交易,僅將最終的結(jié)果同步到主鏈上。這種方式便于將高頻小額類交易移至鏈下進(jìn)行,間接地提升了區(qū)塊鏈系統(tǒng)的吞吐量,并降低了主鏈的存儲(chǔ)量。

但該種技術(shù)目前也還面臨著節(jié)點(diǎn)中心化、易遭受流動(dòng)性攻擊以及其本身的擴(kuò)展性等問題。主要的項(xiàng)目包括基于比特幣的閃電網(wǎng)絡(luò)[30]、基于以太坊的雷電網(wǎng)絡(luò)[31]及Celer Network[32]等。

(2)側(cè)鏈

與狀態(tài)通道相比,側(cè)鏈之于主鏈的獨(dú)立性又進(jìn)了一步,直接建立了新的鏈。該項(xiàng)技術(shù)由比特幣的核心貢獻(xiàn)者于2014 年提出[33]。通過側(cè)鏈,使用雙向錨定技術(shù),在不影響主鏈的情況下進(jìn)行協(xié)議升級(jí)或引入新型服務(wù)。其具體的實(shí)現(xiàn)模式可分為單一托管模式、聯(lián)盟模式、SPV模式、驅(qū)動(dòng)鏈模式、混合模式等。比較典型的應(yīng)用項(xiàng)目有Liquid①Liquid:https://blockstream.com/liquid/、Rootstock、BTC Relay、Lisk、Plasma等。

(3)跨鏈

跨鏈技術(shù)可以使兩個(gè)獨(dú)立的賬本實(shí)現(xiàn)資產(chǎn)、數(shù)據(jù)等的互操作。其核心要解決的問題是,如何實(shí)現(xiàn)互不信任的區(qū)塊鏈賬本的互通。其主要的實(shí)現(xiàn)模式包括公證人模式、側(cè)鏈/中繼、分布式私鑰控制、哈希鎖定及混合技術(shù)等。經(jīng)典的跨鏈項(xiàng)目包括Cosmos[24]、Polkadot[34]、Wanchain、Fusion等。

3.4 其他擴(kuò)展

區(qū)塊鏈?zhǔn)且婚T建立在加密技術(shù)之上的技術(shù),其基礎(chǔ)架構(gòu)中的各層都有加密技術(shù)的應(yīng)用。因此,除了圍繞數(shù)據(jù)傳輸、鏈上、鏈下的各種擴(kuò)展方案外,圍繞加密及隱私計(jì)算相關(guān)的問題也有不少擴(kuò)展技術(shù),如同態(tài)加密、安全多方計(jì)算、零知識(shí)證明、環(huán)簽名、群簽名、混幣等技術(shù),這些技術(shù)均期望達(dá)到在不泄露參與各方隱私、不依賴可信第三方的前提下,安全地完成計(jì)算或交易等。

4 挑戰(zhàn)與趨勢

4.1 挑戰(zhàn)

區(qū)塊鏈技術(shù)未來發(fā)展的關(guān)鍵挑戰(zhàn)主要來源于以下幾個(gè)維度:系統(tǒng)安全、數(shù)據(jù)隱私、監(jiān)管、擴(kuò)展性、跨鏈協(xié)議、鏈下信息及存儲(chǔ)。

系統(tǒng)安全:從軟件系統(tǒng)角度來看,區(qū)塊鏈技術(shù)包含了不同層次上的軟件載體,如:客戶端軟件、智能合約、分布式應(yīng)用、共識(shí)算法、虛擬機(jī)、網(wǎng)絡(luò)通信模塊等等。由于程序代碼缺陷的不可避免性,區(qū)塊鏈軟件也同樣面臨著巨大的系統(tǒng)安全風(fēng)險(xiǎn)。例如,2016 年以太坊智能合發(fā)生的The DAO 攻擊,來源于相關(guān)合約代碼中的“重入漏洞”,而這一攻擊也造成了超過5000 萬美元的財(cái)產(chǎn)損失。宏觀上來說,因?yàn)閰^(qū)塊鏈技術(shù)的應(yīng)用場景往往直接與各類數(shù)字資產(chǎn)關(guān)聯(lián),任何系統(tǒng)漏洞被利用攻擊都有可能造成無法挽回的財(cái)產(chǎn)損失和市場秩序混亂。

數(shù)據(jù)隱私:大量區(qū)塊鏈的應(yīng)用場景都有重要的數(shù)據(jù)隱私保護(hù)需求。例如,區(qū)塊鏈供應(yīng)鏈金融應(yīng)用中,交易訂單信息只能在與交易相關(guān)的有限企業(yè)內(nèi)共享,否則會(huì)引發(fā)商業(yè)機(jī)密的泄露以及不公平交易的現(xiàn)象。然而,當(dāng)前主流區(qū)塊鏈技術(shù)為了保證數(shù)據(jù)、交易的可信,利用分布式賬本技術(shù)在網(wǎng)絡(luò)內(nèi)進(jìn)行了數(shù)據(jù)、計(jì)算的重復(fù)驗(yàn)證,因而提高了保護(hù)數(shù)據(jù)隱私的難度。

監(jiān)管:區(qū)塊鏈技術(shù)的現(xiàn)有架構(gòu),有限程度上保證了部分監(jiān)管合規(guī)性,如利用智能合約實(shí)現(xiàn)檢測異常交易等監(jiān)管邏輯。然而,在更廣義的現(xiàn)實(shí)場景下的監(jiān)管需求,目前難以得到有效支撐。如何高效的保證區(qū)塊鏈交易、數(shù)據(jù)符合法律法規(guī)、行業(yè)規(guī)范、風(fēng)控模型等特定監(jiān)管規(guī)則,是區(qū)塊鏈實(shí)現(xiàn)大規(guī)模落地應(yīng)用的另一大挑戰(zhàn)。

擴(kuò)展性:隨著區(qū)塊鏈逐漸走向主流應(yīng)用場景,大規(guī)模計(jì)算需求所帶來的擴(kuò)展性瓶頸將越來越顯著。大量網(wǎng)絡(luò)節(jié)點(diǎn)同步、海量交易都將成為區(qū)塊鏈提高擴(kuò)展性并成為新一代信息基礎(chǔ)設(shè)施的關(guān)鍵障礙。

跨鏈協(xié)議:區(qū)塊鏈技術(shù)的發(fā)展很有可能在應(yīng)用生態(tài)上衍生出“一個(gè)行業(yè)一條鏈,多鏈共存”的情形。如何保證不同鏈之間的信息高效、可信流轉(zhuǎn)和互通,是打通多個(gè)區(qū)塊鏈及上層應(yīng)用的關(guān)鍵問題。

鏈下信息:數(shù)據(jù)在鏈上、鏈下分治的情形在區(qū)塊鏈應(yīng)用中很普遍。然而,很多應(yīng)用場景需要獲取相應(yīng)的鏈下信息并完成計(jì)算任務(wù)。這種情況下,區(qū)塊鏈技術(shù)對鏈下信息的可信、一致性提出了較大挑戰(zhàn)。

存儲(chǔ):由于區(qū)塊鏈技術(shù)的基本設(shè)計(jì)原則是賬本數(shù)據(jù)無法刪除,使得賬本數(shù)據(jù)不斷膨脹。同時(shí),由于區(qū)塊鏈的安全可信相當(dāng)程度上是建立在眾多網(wǎng)絡(luò)節(jié)點(diǎn)對賬本的冗余備份之上,這愈發(fā)加重了數(shù)據(jù)存儲(chǔ)上的挑戰(zhàn),讓如何有效進(jìn)行區(qū)塊鏈數(shù)據(jù)分布式的存儲(chǔ)和管理成為了重要的技術(shù)問題。

4.2 發(fā)展趨勢

區(qū)塊鏈技術(shù)的發(fā)展趨勢主要有如下幾個(gè)方面。

在區(qū)塊鏈編程語言設(shè)計(jì)方面,一個(gè)技術(shù)研究趨勢是,如何進(jìn)一步強(qiáng)化區(qū)塊鏈技術(shù)的開發(fā)支持,包括設(shè)計(jì)新的編程語言、開發(fā)已有語言的區(qū)塊鏈SDK 等,從而在軟件開發(fā)的生命周期中降低區(qū)塊鏈開發(fā)的復(fù)雜度、提高開發(fā)效率。在智能合約方面,當(dāng)前主流開發(fā)語言包括Solidity、C++、JavaScript 等,這些語言在安全性、隱私性角度的支撐都相對較弱。因此,正如Facebook在Libra項(xiàng)目中提出的Move語言一樣,未來新的安全智能合約語言將會(huì)是新的研究重點(diǎn)。此外,智能合約語言是否需要做到圖靈完備也會(huì)成為重要的討論點(diǎn)。領(lǐng)域性強(qiáng)的非圖靈完備語言同樣是可能的研究趨勢之一。

在密碼學(xué)實(shí)用化方案方面,當(dāng)前大量的密碼學(xué)技術(shù)被應(yīng)用在區(qū)塊鏈技術(shù)架構(gòu)的實(shí)踐探索中,用以增強(qiáng)區(qū)塊鏈的隱私保護(hù)能力,如同態(tài)加密、混淆電路、門限簽名、零知識(shí)證明、安全多方計(jì)算等。這些技術(shù)在算法層次提供了強(qiáng)大的機(jī)密性以及平臺(tái)通用性,然而在實(shí)踐中,通常會(huì)引入很大的開銷。因此,這一問題上的未來技術(shù)研究熱點(diǎn)可能是如何基于密碼學(xué)技術(shù),提出實(shí)用化的實(shí)踐方案。

在區(qū)塊鏈性能優(yōu)化方面,作為當(dāng)前區(qū)塊鏈大規(guī)模應(yīng)用的主要瓶頸之一,性能優(yōu)化在下一階段仍將成為關(guān)鍵的技術(shù)研究點(diǎn)。具體而言,區(qū)塊鏈未來可能的性能提升點(diǎn)包括:高性能區(qū)塊鏈架構(gòu)設(shè)計(jì)、應(yīng)用導(dǎo)向的高效共識(shí)協(xié)議及優(yōu)化、可并行的交易處理引擎、網(wǎng)絡(luò)通信加速技術(shù)等。

在分布式存儲(chǔ)方面,針對當(dāng)前區(qū)塊鏈數(shù)據(jù)膨脹難以管理、查詢能力較弱的問題,未來的相關(guān)研究方向?qū)⒅攸c(diǎn)面向分布式存儲(chǔ)技術(shù)展開。FISCO‐BCOS[36]區(qū)塊鏈提出的AMDB 可以認(rèn)為是這一方向上的初步嘗試。如何保證分布式存儲(chǔ)數(shù)據(jù)的一致、完整、可信,并且與現(xiàn)有區(qū)塊鏈架構(gòu)有機(jī)結(jié)合都是重要的技術(shù)研究點(diǎn)。

在監(jiān)管科技和合規(guī)協(xié)議方面,區(qū)塊鏈應(yīng)用與數(shù)字資產(chǎn)的強(qiáng)相關(guān)性,意味著監(jiān)管、合規(guī)必將成為區(qū)塊鏈技術(shù)的核心要點(diǎn)。如何在區(qū)塊鏈中內(nèi)嵌對于反洗錢、反恐怖主義融資等通用監(jiān)管需求,如何構(gòu)建標(biāo)準(zhǔn)化的數(shù)據(jù)合規(guī)協(xié)議,保障區(qū)塊鏈技術(shù)在主流場景中得以應(yīng)用,將成為重中之重。

主站蜘蛛池模板: 91亚洲影院| 国产成人欧美| 日韩在线视频网| 午夜视频免费试看| 99性视频| 国产三级国产精品国产普男人| 精品视频一区二区观看| 自拍偷拍一区| 好紧好深好大乳无码中文字幕| 成人伊人色一区二区三区| 色婷婷狠狠干| 在线日韩一区二区| 亚洲天堂视频在线免费观看| 欧美影院久久| 日本不卡免费高清视频| 日韩精品少妇无码受不了| 无码内射在线| 久久亚洲日本不卡一区二区| 亚洲欧美不卡视频| 亚洲欧洲日产无码AV| 九色在线视频导航91| 国产乱论视频| 在线看片中文字幕| 国产对白刺激真实精品91| 国产真实自在自线免费精品| 无码福利视频| 日韩A级毛片一区二区三区| 狠狠久久综合伊人不卡| 久久婷婷五月综合97色| 国产乱子伦手机在线| 中文字幕色在线| 综合社区亚洲熟妇p| 毛片免费高清免费| 毛片大全免费观看| 婷婷丁香在线观看| 日本人妻一区二区三区不卡影院 | 真实国产乱子伦高清| 国产在线观看91精品| 国产精品手机在线播放| 精品少妇人妻av无码久久| 国产屁屁影院| 日本不卡在线播放| 99久久精品国产自免费| 久久亚洲国产一区二区| 毛片视频网| 99国产在线视频| 欧美日本不卡| 亚洲天堂免费| 99re这里只有国产中文精品国产精品 | 亚洲精品免费网站| 国产激情无码一区二区免费 | 国产jizzjizz视频| 国产精品久久自在自线观看| 国产一区二区精品高清在线观看| 精品国产自在现线看久久| 乱人伦99久久| 亚洲人在线| 91久久精品国产| 日韩毛片免费观看| 久久人人97超碰人人澡爱香蕉 | 色婷婷国产精品视频| 不卡无码网| 亚洲一道AV无码午夜福利| 亚洲熟女偷拍| 国产精品观看视频免费完整版| 国产成人久久综合777777麻豆| 精品久久高清| 国产欧美日韩在线一区| 久久青草热| 亚洲国产清纯| 成人免费一区二区三区| 国产91九色在线播放| 亚洲中久无码永久在线观看软件 | 免费a级毛片视频| 草逼视频国产| 九九九九热精品视频| 久久国产亚洲偷自| 久久无码高潮喷水| 亚洲精品777| 国产精品成人啪精品视频| 一本色道久久88| 亚洲国产欧洲精品路线久久|