官术网_书友最值得收藏!

1.1 區(qū)塊鏈背景、概念與現(xiàn)狀

本節(jié)將介紹區(qū)塊鏈產(chǎn)生的背景及研究熱潮、區(qū)塊鏈的概念與核心技術(shù),并分析目前國際上影響力較大的主流區(qū)塊鏈開源平臺。

1.1.1 區(qū)塊鏈產(chǎn)生的背景及研究熱潮

近年來,比特幣(Bitcoin)無疑是最熱門的投資品詞匯,其價(jià)格最高時(shí)突破了兩萬美元,成為投資者眼中的新寵和競相追逐的“真金白銀”。比特幣一詞最初來源于2008年中本聰(Satoshi Nakamoto)在metzdowd.com網(wǎng)站發(fā)表的《Bitcoin: A Peer-to-Peer Electronic Cash System》[1](《比特幣:一個點(diǎn)對點(diǎn)的電子現(xiàn)金系統(tǒng)》),這是比特幣與區(qū)塊鏈理論形成中重要的奠基性論文,并真正開啟了虛擬數(shù)字貨幣與區(qū)塊鏈應(yīng)用的人類社會新時(shí)代。

中本聰在這篇論文中解決了之前發(fā)行虛擬數(shù)字貨幣存在的貨幣偽造、雙重支付(或稱“雙花”, Double Spent)、匿名化交易、中心化貨幣發(fā)行等挑戰(zhàn),可以不依賴第三方信用機(jī)構(gòu)進(jìn)行背書,無須基于中心化貨幣發(fā)行體系,在全球范圍內(nèi)實(shí)現(xiàn)了點(diǎn)對點(diǎn)交易的可靠記賬。比特幣持續(xù)9年多不間斷的正常運(yùn)行表明,這種分布式架構(gòu)在適當(dāng)?shù)募顧C(jī)制與共識算法的作用下?lián)碛兄稳蚍秶灰椎臐摿?,為?dāng)前金融領(lǐng)域造價(jià)不菲的中心化架構(gòu)提供了新的解決思路。因此,在比特幣的“挖礦”產(chǎn)業(yè)生態(tài)中,每個人都可以參與記賬,充分利用非對稱加密、哈希算法等現(xiàn)代密碼學(xué)技術(shù)確保比特幣交易不可偽造、不可篡改且可溯源的特性,并通過記賬獎勵的方式激發(fā)每個節(jié)點(diǎn)參與記賬的積極性,這就使得黑客的攻擊成本非常高昂,還不如“挖礦”參與社區(qū)貢獻(xiàn)。正是這種結(jié)合正反饋獎勵機(jī)制與博弈心理學(xué)的巧妙設(shè)計(jì),使得比特幣交易系統(tǒng)迅速發(fā)展為一個國際共享的分布式賬本系統(tǒng),比特幣也一躍成為當(dāng)下最熱門的投資品種之一。但是,比特幣沒有類似于傳統(tǒng)貨幣相應(yīng)對等的背書信用標(biāo)的物作擔(dān)保,缺乏全社會認(rèn)同的貨幣價(jià)值基礎(chǔ)。因此,比特幣相繼被各國進(jìn)行監(jiān)管并禁止流通兌現(xiàn)或接受為可交換的“貨幣”。時(shí)至2018年,比特幣已經(jīng)運(yùn)行了9年多的時(shí)間,支持過單筆上億美元的交易,截至2018年11月,比特幣交易系統(tǒng)已經(jīng)累計(jì)生成超過55萬個區(qū)塊(https://www.blockchain.com/en/explorer)。雖然遭到無數(shù)次黑客攻擊,但從未停止運(yùn)行,總市值一度超過了上千億美元,毫無疑問,比特幣已成為人類歷史上最有影響力的虛擬數(shù)字資產(chǎn)之一。

以太坊去中心化自治組織(Decentralized Autonomous Organization, DAO)項(xiàng)目的想法極具天才般的創(chuàng)造性,它旨在構(gòu)造一個完全去中心化的自治服務(wù)平臺,并基于超過一定比例的虛擬實(shí)體或股東(如67%)來決定投資或修改運(yùn)行機(jī)制,完全透明且無須人類集中式管理。2016年5月,DAO項(xiàng)目通過分布式眾籌在28天內(nèi)籌集了超過1.52億美元,一舉成為當(dāng)時(shí)人類歷史上的最大單筆金額眾籌項(xiàng)目,同日在各大數(shù)字貨幣交易所開始交易。然而,半個多月后,黑客利用智能合約中遞歸調(diào)用等漏洞盜走了近三分之一眾籌所得的以太幣,震驚了整個DAO社區(qū),公眾也由此對去中心化自治系統(tǒng)的安全性與可行性產(chǎn)生了質(zhì)疑。項(xiàng)目開發(fā)者通過研究發(fā)現(xiàn)該漏洞不是出現(xiàn)在DAO架構(gòu)本身,而是智能合約出現(xiàn)了問題。這迫使開發(fā)者對DAO項(xiàng)目強(qiáng)行“硬分叉”,即在挖出第192000個區(qū)塊后的分支上消除被盜走的貨幣,并決定最終在提取分發(fā)完后自動解散DAO項(xiàng)目。該事件引起了極大的社會爭論與媒體關(guān)注,但是,以太坊DAO項(xiàng)目無疑是人類社會在去中心化自治系統(tǒng)上具有深遠(yuǎn)影響力的一次偉大的創(chuàng)新嘗試。

近年來,這些創(chuàng)新項(xiàng)目與事件已經(jīng)開始深刻影響和改變著人類社會,各種琳瑯滿目的數(shù)字虛擬貨幣以及“去中心化”的分布式應(yīng)用紛紛出現(xiàn),虛擬貨幣交易所在全球遍地開花,追逐企業(yè)“幣改”與“鏈改”的大潮席卷而來,而“區(qū)塊鏈”就是比特幣、以太坊DAO等項(xiàng)目采用的底層核心技術(shù),人們發(fā)現(xiàn)它不僅可以作為比特幣這種“虛擬貨幣”諸多優(yōu)良特性的技術(shù)基礎(chǔ),而且還可以用來構(gòu)筑開放信用體系與資產(chǎn)確權(quán)的基石,被認(rèn)為可能開啟人類社會基于互聯(lián)網(wǎng)與虛擬平臺傳遞價(jià)值的時(shí)代。

區(qū)塊鏈技術(shù)通過去中心化方式建立起點(diǎn)對點(diǎn)的信任關(guān)系,可能會影響甚至改變決定人類社會組織形式與現(xiàn)象的基本作用力,包括生產(chǎn)力水平、生產(chǎn)資料和生產(chǎn)成果的分配總量與速率、權(quán)力的中心化程度等 [2],尤其是弱化了權(quán)力集中與運(yùn)作方式,直接改變了生產(chǎn)資料和生產(chǎn)成果的分配方式,進(jìn)一步提高了生產(chǎn)力水平。因此,人們普遍認(rèn)為區(qū)塊鏈技術(shù)具備改變當(dāng)前很多領(lǐng)域的潛力,可以與電力、互聯(lián)網(wǎng)等技術(shù)革命相提并論,甚至被《華爾街日報(bào)》譽(yù)為五百年來最具影響力的金融創(chuàng)新之一。與此同時(shí),區(qū)塊鏈已經(jīng)成為社會與科研人員關(guān)注的熱點(diǎn),在金融服務(wù)、供應(yīng)鏈管理、文化娛樂、智能制造、社會公益、教育就業(yè)、醫(yī)療健康等垂直領(lǐng)域都引起了人們的廣泛關(guān)注和強(qiáng)烈興趣。

目前,區(qū)塊鏈被普遍認(rèn)為是一種具有“顛覆性”的新興技術(shù),它可能會帶來公共與私營服務(wù)實(shí)現(xiàn)方式上的創(chuàng)新,其最大的“顛覆性”就是重構(gòu)弱信任主體之間的信用體系,從而避免傳統(tǒng)信用體系依靠第三方中介證明的方式。這種信用體系是建立在程序化的區(qū)塊鏈共識算法與安全加密算法的基礎(chǔ)上,而不是基于單個人或單個系統(tǒng)。同時(shí),數(shù)據(jù)記錄的生成與記錄保存需要全網(wǎng)絡(luò)參識節(jié)點(diǎn)按照共識算法進(jìn)行確認(rèn)并且不易篡改,如比特幣獲得51%以上的全網(wǎng)計(jì)算能力,就可能擁有記賬權(quán)并修改賬本。

因此,區(qū)塊鏈擺脫了傳統(tǒng)信任體系中需要第三方信息驗(yàn)證的信用確認(rèn)模式,能夠有效降低信用體系構(gòu)建成本,提高跨組織體系要素的協(xié)同效率,同時(shí)提高鏈上資產(chǎn)的真實(shí)性、可信性與安全性,天然適合于松耦合的去中心化應(yīng)用場景,在協(xié)調(diào)大規(guī)??缃M織活動中能顯著降低集中式系統(tǒng)帶來的復(fù)雜性、安全風(fēng)險(xiǎn)、信息不透明度等問題。人們甚至認(rèn)為,區(qū)塊鏈可以幫助建立去中心化的全球信用體系,讓互聯(lián)網(wǎng)價(jià)值傳遞可以像互聯(lián)網(wǎng)信息傳遞一樣具有低成本與高效率的特點(diǎn)。這樣,人們就能夠基于區(qū)塊鏈技術(shù),通過去中心化的方式重構(gòu)新型的經(jīng)濟(jì)生態(tài)體系,促進(jìn)個體行為與社區(qū)生態(tài)之間的高效協(xié)調(diào)和可持續(xù)發(fā)展,引入合法的激勵機(jī)制與監(jiān)管手段,鼓勵個體創(chuàng)造社區(qū)價(jià)值與協(xié)作交換,更加強(qiáng)調(diào)點(diǎn)到點(diǎn)的直接個性化服務(wù),連接與盤活互聯(lián)網(wǎng)的巨量邊緣資源,大幅降低社會經(jīng)濟(jì)活動成本,從而培育可持續(xù)發(fā)展的垂直領(lǐng)域社區(qū)價(jià)值生態(tài),以激發(fā)潛在的用戶場景需求(如存儲、泛娛樂、即時(shí)通信、物聯(lián)網(wǎng)支付等)。同時(shí),區(qū)塊鏈也可以為弱信任主體間提供可信平臺支持共享敏感數(shù)據(jù),以提升行業(yè)上下游甚至跨行業(yè)大規(guī)模協(xié)作的效率,減少企業(yè)聯(lián)盟間繁冗業(yè)務(wù)流程的生產(chǎn)成本,提高信息監(jiān)管透明度,避免高度中心化系統(tǒng)中單點(diǎn)故障帶來的系統(tǒng)失效,降低黑客攻擊風(fēng)險(xiǎn)。因此,區(qū)塊鏈具有改變未來社會生產(chǎn)與生活形態(tài)的潛力,賦能產(chǎn)業(yè)經(jīng)濟(jì)推動共享經(jīng)濟(jì)的普及與發(fā)展,催生新的區(qū)塊鏈產(chǎn)業(yè)與促進(jìn)相關(guān)產(chǎn)業(yè)升級,創(chuàng)造社會經(jīng)濟(jì)價(jià)值。

事實(shí)上,研究區(qū)塊鏈相關(guān)技術(shù)與應(yīng)用場景結(jié)合,為生產(chǎn)經(jīng)濟(jì)、國防安全、科學(xué)研究、社會穩(wěn)定等領(lǐng)域構(gòu)建高效、穩(wěn)定、安全的區(qū)塊鏈基礎(chǔ)設(shè)施,提供高效動態(tài)的部署跨域區(qū)塊鏈網(wǎng)絡(luò)的能力,從而搶占戰(zhàn)略制高點(diǎn)與商業(yè)市場,已經(jīng)成為目前人們競相研究區(qū)塊鏈相關(guān)科學(xué)與工程問題的基本動機(jī)。區(qū)塊鏈的應(yīng)用場景所引起的有別于傳統(tǒng)數(shù)據(jù)庫的核心問題,如互聯(lián)網(wǎng)大規(guī)模數(shù)據(jù)存儲與同步技術(shù)、高效共識算法、高強(qiáng)度密碼安全技術(shù)、高性能跨鏈技術(shù)、新型匿名隱私安全技術(shù)等正面臨著一場深刻的技術(shù)變革,可能會孕育爆發(fā)出“區(qū)塊鏈+”時(shí)代的到來。

但是,人們也應(yīng)該看到,區(qū)塊鏈技術(shù)只能確保鏈上數(shù)據(jù)的真實(shí)性與可信性,可防止不被輕易攻擊且不易被隨意篡改,卻無法解決鏈下虛假數(shù)據(jù)或真實(shí)數(shù)據(jù)“轉(zhuǎn)移”到鏈上數(shù)據(jù)過程中的真實(shí)性問題。同時(shí),以比特幣為代表的“虛擬貨幣”或Token(通證)數(shù)字資產(chǎn)也帶來了風(fēng)險(xiǎn)定價(jià)與管理、價(jià)值錨定與信任體系缺失、區(qū)塊鏈經(jīng)濟(jì)系統(tǒng)頂層設(shè)計(jì)等新挑戰(zhàn)仍然是在各國法律框架和行業(yè)監(jiān)管需求內(nèi)挑戰(zhàn)人類智慧與技術(shù)極限的重大難題。

如圖1-1所示,2008年以來的區(qū)塊鏈典型事件表明,區(qū)塊鏈作為一種可能會重塑社會運(yùn)作方式的“顛覆性”創(chuàng)新技術(shù),已得到越來越多的關(guān)注與研究,且已經(jīng)發(fā)展成為具有較大影響力的生態(tài)體系。

圖1-1 區(qū)塊鏈典型事件

國際著名區(qū)塊鏈專家Melanie Swan在其重要著作《Blueprint for A New Economy》[3](《區(qū)塊鏈:新經(jīng)濟(jì)藍(lán)圖及導(dǎo)讀》)中較全面地闡述了全球區(qū)塊鏈產(chǎn)業(yè)理念與實(shí)踐,并根據(jù)區(qū)塊鏈帶來的革新與應(yīng)用范圍將區(qū)塊鏈技術(shù)分為區(qū)塊鏈1.0、區(qū)塊鏈2.0和區(qū)塊鏈3.0。

(1)區(qū)塊鏈1.0:以比特幣為代表的可編程“虛擬貨幣”

中本聰設(shè)計(jì)比特幣是為了構(gòu)建一個可信去中心的電子貨幣交易系統(tǒng)。盡管比特幣的發(fā)展出現(xiàn)了價(jià)格的劇烈波動、數(shù)量上限帶來的通貨緊縮、挖礦造成的巨大能源消耗、各國政府監(jiān)管限制或者態(tài)度不明等問題,但是,以比特幣為代表的可編程貨幣使得價(jià)值在互聯(lián)網(wǎng)中流通交易成為可能,比特幣仍然是區(qū)塊鏈最成功的實(shí)際應(yīng)用案例。可編程貨幣意味著比特幣類的“虛擬貨幣”可以按照設(shè)計(jì)方或者合作方的約定,在達(dá)到一定條件時(shí)觸發(fā)指定的專用交易動作(如轉(zhuǎn)賬),這對于嚴(yán)格的資金管理控制非常重要。同時(shí),作為一種全球發(fā)行的創(chuàng)新數(shù)字支付系統(tǒng),比特幣的去中心化特性與安全加密機(jī)制降低了交易成本,對傳統(tǒng)金融產(chǎn)生了挑戰(zhàn),并且試圖成為不依賴于主權(quán)國家央行而發(fā)行的全球統(tǒng)一貨幣,為國際金融交易提供“貨幣”支持。

(2)區(qū)塊鏈2.0:基于區(qū)塊鏈的可編程金融

人們通過研究發(fā)現(xiàn),數(shù)字貨幣底層的區(qū)塊鏈技術(shù)同樣可以應(yīng)用到金融的其他領(lǐng)域,并將比特幣中的腳本合約系統(tǒng)重新抽象成 “智能合約”,同時(shí)利用區(qū)塊鏈基于去中心化賬本具有不可偽造、不可篡改與可溯源的特性,能夠用于注冊、確認(rèn)與轉(zhuǎn)移各種不同類型的資產(chǎn)及合約。因此,人們結(jié)合具體的金融應(yīng)用塑造出可編程金融的概念并積極探索實(shí)踐,包括股權(quán)登記轉(zhuǎn)讓、證券、私募股權(quán)、跨境支付、金融衍生品合約等。例如,新加坡資訊通訊發(fā)展局(Infocomm Development Authority of Singapore)聯(lián)合新加坡星展銀行和渣打銀行共同進(jìn)行發(fā)票金融區(qū)塊鏈應(yīng)用的概念證明,試圖使得對企業(yè)和放貸銀行的發(fā)票金融貿(mào)易更加安全和簡單。2016年,日本軟銀(Softbank)聯(lián)合Topcoder舉辦了一次區(qū)塊鏈開發(fā)競賽,希望可以找到一個基于區(qū)塊鏈技術(shù)的互聯(lián)網(wǎng)籌款平臺原型。

(3)區(qū)塊鏈3.0:將區(qū)塊鏈擴(kuò)展到其他領(lǐng)域應(yīng)用

人們進(jìn)一步將區(qū)塊鏈擴(kuò)展到金融以外的其他領(lǐng)域。在法律、零售業(yè)、物聯(lián)網(wǎng)、公共醫(yī)療、公益事業(yè)等領(lǐng)域,依靠區(qū)塊鏈提供的信任平臺實(shí)現(xiàn)信息共享與身份自證明,而不用完全依賴于權(quán)威的第三方認(rèn)證機(jī)構(gòu),從而降低信用認(rèn)證成本,提高行業(yè)運(yùn)行效率。

當(dāng)前,區(qū)塊鏈行業(yè)的發(fā)展如火如荼,相關(guān)公司如雨后春筍般迅速成長起來,整個區(qū)塊鏈產(chǎn)業(yè)已經(jīng)發(fā)展成包括跨境支付、供應(yīng)鏈金融、貿(mào)易金融、征信、交易清算、商品溯源、區(qū)塊鏈硬件等跨越多個細(xì)分市場的完整生態(tài)系統(tǒng) [26],既包括傳統(tǒng)的資深計(jì)算機(jī)廠商,也包括迅速崛起的新興區(qū)塊鏈公司,呈現(xiàn)出共同發(fā)展、共同成長、共同促進(jìn)的行業(yè)發(fā)展態(tài)勢。然而,目前區(qū)塊鏈技術(shù)的發(fā)展還至少存在以下三個問題。

一是技術(shù)架構(gòu)上還存在效率不高、安全性挑戰(zhàn)、資源消耗高等問題,尤其是低效率的數(shù)據(jù)吞吐量與共識機(jī)制。以公有鏈為例,目前,比特幣在公網(wǎng)上大約每分鐘交易筆數(shù)峰值不超過7,而2017年雙十一支付寶峰值每秒最高超過25.6萬筆交易,數(shù)據(jù)庫處理峰值為4200萬次/秒。與此同時(shí),比特幣交易驗(yàn)證時(shí)間長,目前大約是10分鐘確認(rèn)一次交易,6次確認(rèn)大約需要1個小時(shí),而支付寶、Visa等僅僅需要幾秒鐘。2016年2月,周小川就指出區(qū)塊鏈技術(shù)是數(shù)字貨幣的一項(xiàng)可選技術(shù),但目前存在占用計(jì)算存儲資源過多的問題,無法應(yīng)對現(xiàn)在的交易規(guī)模,這對于高頻應(yīng)用場景可能是無法忍受的瓶頸,只有對時(shí)間不敏感的餐館等消費(fèi)場所可能會成為線下使用場景。

二是行業(yè)監(jiān)管問題。國內(nèi)存在嚴(yán)格的金融監(jiān)管要求和互聯(lián)網(wǎng)金融實(shí)名認(rèn)證規(guī)定,在金融領(lǐng)域需要明確風(fēng)險(xiǎn)責(zé)任人,必須要有專門的部門來維護(hù)金融市場基礎(chǔ)設(shè)施。這些要求本身就與某些區(qū)塊鏈應(yīng)用具有的身份匿名等特性存在沖突,如比特幣由于其匿名特性已經(jīng)成為犯罪資金進(jìn)行洗錢與非法網(wǎng)站進(jìn)行支付的主要載體,2017年5月爆發(fā)的WannaCry“勒索”病毒要求支付比特幣,使得犯罪分子身份無法直接通過傳統(tǒng)手段進(jìn)行快速查詢定位。因此,如何結(jié)合具體應(yīng)用在兩者之間進(jìn)行權(quán)衡是應(yīng)用開發(fā)者需要研究的重要課題。

三是商業(yè)應(yīng)用場景上除了比特幣等“虛擬貨幣”產(chǎn)業(yè)生態(tài),還尚未出現(xiàn)“殺手級”應(yīng)用。就如同微信在移動互聯(lián)網(wǎng)時(shí)代的即時(shí)通信領(lǐng)域、支付寶在互聯(lián)網(wǎng)電商的線上支付領(lǐng)域一樣。目前,大多數(shù)區(qū)塊鏈應(yīng)用還停留在概念驗(yàn)證與初步探索應(yīng)用階段,缺乏類似真實(shí)需求的大規(guī)模商業(yè)應(yīng)用場景或垂直領(lǐng)域產(chǎn)品,以有效推動區(qū)塊鏈生態(tài)爆發(fā)式的迅速發(fā)展。如圖1-2所示,2017年,Gartner公司認(rèn)為區(qū)塊鏈技術(shù)(Blockchain)在國際上已經(jīng)開始進(jìn)入幻滅期的初期,但在中國還處于期望膨脹期,兩者都被標(biāo)記為未來5年到10年才可能落地成熟的技術(shù)。2018年10月,Gartner在其發(fā)布的2019年十大戰(zhàn)略科技發(fā)展(具有巨大顛覆性潛力)中仍然將區(qū)塊鏈列入其中,并認(rèn)為到2030年,區(qū)塊鏈將創(chuàng)造3.1萬億美元的商業(yè)價(jià)值。但可以肯定的是,各國將在未來對區(qū)塊鏈研究投入更多的關(guān)注與資源,以期望提升國家整體的科技創(chuàng)新能力,世界各國在該領(lǐng)域的競爭已經(jīng)開始并必將更加激烈。

圖1-2 2017年版Gartner新興技術(shù)成熟度曲線國際版(左)與中國版(右)區(qū)塊鏈技術(shù)已經(jīng)用圓圈標(biāo)記,圖片來自互聯(lián)網(wǎng)并由Gartner公司制作。

1.1.2 區(qū)塊鏈概念與核心技術(shù)

本節(jié)介紹區(qū)塊鏈的概念定義與核心技術(shù),包括共識機(jī)制、安全機(jī)制、存儲機(jī)制、P2P通信機(jī)制以及智能合約等。

1.區(qū)塊鏈概念定義

區(qū)塊鏈?zhǔn)且环N在對等網(wǎng)絡(luò)環(huán)境下,通過透明和可信規(guī)則,(按照時(shí)間戳順序)構(gòu)建不可偽造、不可篡改和可追溯的塊鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)和管理事務(wù)(或稱交易)處理的模式 [5]。實(shí)際上,它是一種分布式數(shù)據(jù)存儲、點(diǎn)對點(diǎn)傳輸、共識機(jī)制、加密算法等計(jì)算機(jī)技術(shù)的新型應(yīng)用模式 [4]。作為一種創(chuàng)新的應(yīng)用模式,區(qū)塊鏈具有分布式對等、數(shù)據(jù)塊鏈?zhǔn)?、不可偽造和防篡改、透明可信、高可靠性等關(guān)鍵特征 [5]。用戶可以對鏈上數(shù)據(jù)執(zhí)行交叉驗(yàn)證以防止欺詐,雖然可以對本地?cái)?shù)據(jù)進(jìn)行刪除和修改(惡意節(jié)點(diǎn)行為),但是不會影響全網(wǎng)共識后的數(shù)據(jù)一致性 [30](只能防止一定比例的惡意節(jié)點(diǎn))。同時(shí),還出現(xiàn)了非鏈?zhǔn)降腄AG、Hashgraph等區(qū)塊鏈系統(tǒng)。

根據(jù)不同的應(yīng)用場景與設(shè)計(jì)體系,區(qū)塊鏈可以采用對應(yīng)的開放共享與節(jié)點(diǎn)權(quán)限方案,包括如下三種區(qū)塊鏈部署模型 [5]

□ 公有鏈:任意區(qū)塊鏈服務(wù)客戶都可以使用,任意節(jié)點(diǎn)均可接入,由所有節(jié)點(diǎn)共同參與共識和讀寫數(shù)據(jù),具有較強(qiáng)的去中心化特征,如比特幣和以太坊;

□ 聯(lián)盟鏈:只有利益相關(guān)的特定區(qū)塊鏈服務(wù)客戶才能使用,節(jié)點(diǎn)只有經(jīng)過授權(quán)許可后方可接入網(wǎng)絡(luò),接入節(jié)點(diǎn)按照規(guī)則參與共識和讀寫數(shù)據(jù),具有較弱的去中心化的特征,如Hyperledger Fabric;

□ 私有鏈:僅由單個區(qū)塊鏈服務(wù)客戶使用,僅有授權(quán)的節(jié)點(diǎn)才能接入,并按照規(guī)則參與共識和讀寫數(shù)據(jù)。

區(qū)塊鏈上記錄的區(qū)塊對象是打包了一段時(shí)間內(nèi)發(fā)生的交易與狀態(tài)的集合。交易是指每次改變狀態(tài)變化的操作,并擁有唯一的交易標(biāo)識(如哈希值)。同時(shí),區(qū)塊頭部保存了上一個區(qū)塊的哈希值、當(dāng)前區(qū)塊的哈希值等信息,通常以一種鏈?zhǔn)浇Y(jié)構(gòu)保存所有的區(qū)塊結(jié)構(gòu)。事實(shí)上,區(qū)塊鏈?zhǔn)峭ㄟ^現(xiàn)代密碼學(xué)與分布式共識機(jī)制等技術(shù)來確保交易可信,而不是通過大型中心化信用機(jī)構(gòu)解決信任背書問題。

目前,區(qū)塊鏈系統(tǒng)包括共識機(jī)制、安全機(jī)制、存儲機(jī)制、P2P通信機(jī)制、智能合約等核心技術(shù)。

2.共識機(jī)制

共識機(jī)制是一個經(jīng)典的分布式計(jì)算領(lǐng)域問題。在區(qū)塊鏈系統(tǒng)中,共識機(jī)制是指實(shí)現(xiàn)不同信任主體節(jié)點(diǎn)之間建立信任、獲取權(quán)益的數(shù)學(xué)算法 [4],提供給分布式網(wǎng)絡(luò)參識節(jié)點(diǎn)以用于確認(rèn)交易動作引起的賬本中的狀態(tài)數(shù)據(jù)變化,并且能夠達(dá)成最終一致性。即使出現(xiàn)節(jié)點(diǎn)故障或不可信節(jié)點(diǎn)等情況,區(qū)塊鏈系統(tǒng)上已經(jīng)發(fā)生的交易也能夠按照正確的預(yù)期方式執(zhí)行,而不會出現(xiàn)全網(wǎng)節(jié)點(diǎn)數(shù)據(jù)與賬本狀態(tài)不一致的情況。目前,常見的共識機(jī)制包括PoW、PoS、DPoS、PBFT等,它們在合規(guī)監(jiān)管、性能效率、資源消耗以及容錯性等方面都有各自不同的特點(diǎn)。鑒于共識機(jī)制對區(qū)塊鏈系統(tǒng)性能的影響至關(guān)重要,很多研究都對此進(jìn)行了深入探討,并針對區(qū)塊鏈應(yīng)用特點(diǎn)不斷進(jìn)行改進(jìn)與完善。

(1)PoW(工作量證明)

PoW(Proof of Work,工作量證明)是比特幣交易系統(tǒng)最早引入的共識機(jī)制,在比特幣中稱之為“挖礦”,即通過自身算力不斷計(jì)算尋找滿足規(guī)則和小于難度目標(biāo)(前若干位全部為0的數(shù)值)的哈希值。這個想法來源于Adam Back設(shè)計(jì)的用于阻擋垃圾郵件的Hashcash算法 [7]。該哈希值是將區(qū)塊頭中80個字節(jié)作為工作量證明輸入,嘗試變換區(qū)塊頭中的隨機(jī)數(shù)Nonce,并連續(xù)做兩次SHA-256哈希運(yùn)算得到的。因此,“挖礦”的過程就是尋找碰撞隨機(jī)數(shù)Nonce的過程。通常,“挖礦”找到這個隨機(jī)數(shù)的時(shí)間取決于難度目標(biāo)門檻,這樣就可以通過控制難度目標(biāo)來控制生成新區(qū)塊的時(shí)間,比特幣交易系統(tǒng)就是通過上述這種方式控制區(qū)塊生成速度穩(wěn)定在10分鐘左右,約定由最快計(jì)算找到隨機(jī)數(shù)Nonce的節(jié)點(diǎn)競爭獲得本次交易區(qū)塊的記賬權(quán),并獲得一定數(shù)量的比特幣獎勵。接著,該節(jié)點(diǎn)將打包后的區(qū)塊結(jié)構(gòu)對象發(fā)送給全網(wǎng)其他節(jié)點(diǎn)進(jìn)行驗(yàn)證存儲,再添加到區(qū)塊鏈上。整個網(wǎng)絡(luò)中最長的鏈就是正確的鏈,即被認(rèn)為是最長的有效工作量證明鏈。上述整個過程完全依賴于節(jié)點(diǎn)進(jìn)行數(shù)學(xué)運(yùn)算來測試隨機(jī)生成的哈希值是否符合規(guī)則。理論上,如果需要找到小于難度目標(biāo)前導(dǎo)17位16進(jìn)制數(shù)值都是0的兩次SHA-256哈希運(yùn)算結(jié)果,最壞的情況下大約需要嘗試268次(約2.95萬億億次)才能找到一個合格的隨機(jī)數(shù),其概率非常低(國內(nèi)雙色球頭等獎中獎概率約為1772萬分之一)。因此,競爭記賬權(quán)帶來的資源消耗相比其他共識機(jī)制更高,根據(jù)Digiconomist網(wǎng)站估計(jì),每年比特幣消耗的電能高達(dá)32.4太瓦時(shí),超過了摩洛哥全國的耗電量。PoW可監(jiān)管性弱且需要全網(wǎng)參與共識運(yùn)算,性能效率不高,只允許全網(wǎng)50%的節(jié)點(diǎn)出現(xiàn)故障問題。

(2)PoS(權(quán)益證明)

PoS(Proof of Stake,權(quán)益證明)機(jī)制要求網(wǎng)絡(luò)節(jié)點(diǎn)必須提供一定數(shù)量的代幣證明,與上市公司股票類似,節(jié)點(diǎn)證明持有越多的代幣,獲得記賬權(quán)的概率就越高。PoS機(jī)制被應(yīng)用在Peercoin、NXT、Blackcoin、以太坊第四個階段Serenity等處,都會在單純的權(quán)益證明機(jī)制上結(jié)合不同的方式來增加記賬權(quán)的隨機(jī)性以避免中心化,如Peercoin采用獲得記賬創(chuàng)造區(qū)塊后起算的幣齡(即時(shí)間)選擇記賬權(quán)節(jié)點(diǎn),等同于PoW機(jī)制中的算力,Blackcoin則采用隨機(jī)方式預(yù)測選擇記賬節(jié)點(diǎn)。同時(shí),PoS機(jī)制是根據(jù)節(jié)點(diǎn)擁有代幣的比例與時(shí)間來等比例降低挖礦難度,以提高尋找隨機(jī)數(shù)的效率。實(shí)際上,PoS機(jī)制挖礦產(chǎn)生區(qū)塊的難度與所有者持有的權(quán)益成反比,卻依然是通過哈希運(yùn)算競爭來獲取記賬權(quán)。但是,可以有效增加51%攻擊難度(攻擊者需要持有超過51%的貨幣量),且交易的權(quán)益證明只能被記在該區(qū)塊所構(gòu)成的區(qū)塊鏈上,攻擊者無法隱藏自己的秘密區(qū)塊鏈以影響公鏈交易上代幣被銷毀的天數(shù)。因此,PoS機(jī)制在一定程度上減少了純粹依靠哈希數(shù)學(xué)運(yùn)算來爭奪記賬權(quán)所引起的大量資源消耗,縮短了全網(wǎng)達(dá)成共識的時(shí)間,性能與安全性有所提升,可監(jiān)管性弱,依然只能允許全網(wǎng)50%的節(jié)點(diǎn)出現(xiàn)故障問題。

(3)DPoS(股份授權(quán)證明)

DPoS(Delegated Proof of Stake,股份授權(quán)證明)機(jī)制是為了防止大礦池壟斷全網(wǎng)算力,由Bitshares設(shè)計(jì)提出的(https://bitshares.org/technology/delegating-proof-of-stake-consensus/)。類似于PoS機(jī)制,其區(qū)別在于持幣節(jié)點(diǎn)選舉若干數(shù)量的代理節(jié)點(diǎn)進(jìn)行驗(yàn)證和記賬,類似于董事會投票制度。該機(jī)制的優(yōu)點(diǎn)是可以有效減少參與共識驗(yàn)證的節(jié)點(diǎn)數(shù)量,縮短共識驗(yàn)證時(shí)間,提升區(qū)塊生成速度,在可監(jiān)管性與容錯性等方面的表現(xiàn)與PoS機(jī)制相似,EOS就采用了DPoS共識機(jī)制。

(4)PBFT(實(shí)用拜占庭容錯)

PBFT(Practical Byzantine Fault Tolerance,實(shí)用拜占庭容錯)算法可以容忍經(jīng)典拜占庭故障模型,即假設(shè)節(jié)點(diǎn)具有不確定性故障行為的特點(diǎn),適用于一般情況下的網(wǎng)絡(luò)環(huán)境,含有軟件錯誤、設(shè)備停機(jī)、通信故障等常見及不易察覺的錯誤,甚至包括具有惡意行為的節(jié)點(diǎn),這使得PBFT具有很強(qiáng)的算法適應(yīng)性。Leslie Lamport等人最初提出的BFT算法只能單純解決分布式環(huán)境下的故障問題 [8],沒有考慮實(shí)用的算法運(yùn)行性能,需要指數(shù)級算法時(shí)間復(fù)雜度,后來人們通過研究提出了多項(xiàng)式級別算法才降低其開銷,使得實(shí)用的BFT算法得以廣泛應(yīng)用 [9]。

如圖1-3所示,PBFT算法中通常需要包括request、pre-request、prepare、commit和reply五個階段才能完成,其中,prepare與commit階段需要兩兩交互以確保所有節(jié)點(diǎn)達(dá)成共識一致。通常,PBFT系統(tǒng)至少需要部署到3f+1個節(jié)點(diǎn)上,最多可以容忍f個惡意節(jié)點(diǎn)出現(xiàn)拜占庭故障,整個系統(tǒng)狀態(tài)是由其中2f+1個節(jié)點(diǎn)決定的。與非拜占庭系統(tǒng)相比,其主要問題是共識算法確定狀態(tài)的時(shí)間較長、占用節(jié)點(diǎn)資源較多、長時(shí)間應(yīng)用可能存在錯誤積累導(dǎo)致系統(tǒng)崩潰等。目前,人們研究通過減少一致性協(xié)議包含的階段數(shù)量或者簡化條件(如網(wǎng)絡(luò)穩(wěn)定等)來解決其性能瓶頸,并通過定期檢錯來減少可能發(fā)生錯誤的節(jié)點(diǎn),同時(shí),也開始嘗試通過可信計(jì)算部件來降低所需節(jié)點(diǎn)的數(shù)量。PBFT共識機(jī)制允許監(jiān)管節(jié)點(diǎn)參與,相對其他共識算法,其性能相對更高且耗能較低,可以允許近33%的錯誤節(jié)點(diǎn)。目前,其變種算法已經(jīng)在Hyperledger Fabric、騰訊TrustSQL、BCOS平臺等聯(lián)盟鏈系統(tǒng)中研究或應(yīng)用。

圖1-3 PBFT算法運(yùn)行示意圖 [9]

目前,很多商業(yè)平臺都在積極研發(fā)自適應(yīng)共識機(jī)制的方式來提高全網(wǎng)參識節(jié)點(diǎn)進(jìn)行共識的效率。如果在狀態(tài)良好、無惡意節(jié)點(diǎn)等可信網(wǎng)絡(luò)環(huán)境中,系統(tǒng)平臺可以采用Raft等較成熟的分布式一致性解決方案,高效完成交易并達(dá)成共識,占用較少資源并且性能較高。同時(shí),一旦檢測到網(wǎng)絡(luò)環(huán)境中出現(xiàn)惡意節(jié)點(diǎn)等不可信的交易行為,系統(tǒng)平臺就將自動切換到類PBFT共識算法,提高對拜占庭節(jié)點(diǎn)錯誤的容錯能力。

3.安全機(jī)制

區(qū)塊鏈中采用了現(xiàn)代密碼學(xué)中的哈希算法、對稱加密算法、非對稱加密算法等來保證數(shù)據(jù)機(jī)密性、完整性、抗抵賴性等安全特性。

(1)哈希算法

哈希算法可以將任意長度的消息明文轉(zhuǎn)換映射為固定長度的二進(jìn)制串輸出,稱為哈希值或散列值,又稱為該消息的指紋(fingerprint)或摘要(digest)。即使兩個消息只差一個字符,在經(jīng)過哈希函數(shù)計(jì)算之后,它們所產(chǎn)生的字符串也會十分雜亂隨機(jī)且完全不存在任何關(guān)聯(lián)性,被廣泛應(yīng)用于檢測簽名有效性與完整性的場景中。目前,常見的哈希算法包括MD4(RFC1320,輸出128位哈希值)、MD5(RFC1321)、SHA-1(輸出長度為160位哈希值)、SHA-2(包括SHA-224、SHA-256、SHA-384、SHA-512等算法)、SM3(國密安全算法)等。其中,MD4已經(jīng)被證明不夠安全,MD5與SHA-1不具備強(qiáng)抗碰撞性,具有安全隱患,因此都不推薦使用。安全術(shù)語“碰撞”是指兩個不同的消息使用同一個哈希函數(shù)計(jì)算時(shí)獲得相同哈希值的情況,哈希算法具有抗碰撞性意味著找到兩個能夠產(chǎn)生碰撞的消息在計(jì)算上是非常困難的(注意不是不可能的)。哈希算法應(yīng)當(dāng)具有抗碰撞性、原像不可逆性、難題友好性等特點(diǎn)。目前,區(qū)塊鏈通常采用SHA-256、Keccak-256CSHA3或更高安全級別的主流算法,常用于構(gòu)造貨幣地址、哈希指針、消息摘要等對象。

(2)對稱加密算法

對稱加密算法中加密與解密的密鑰是相同的,速度快且占用空間小,加密強(qiáng)度高,但缺點(diǎn)是密鑰一旦泄露就無法繼續(xù)保持當(dāng)前系統(tǒng)的安全性,且必須解決如何安全地提前分發(fā)密鑰問題。目前,典型的對稱加密算法包括DES(Data Encryption Standard,經(jīng)典的分組加密算法,64位密鑰,可以被暴力破解)、3DES、ADE(Advanced Encryption Standard,對稱加密實(shí)現(xiàn)標(biāo)準(zhǔn),處理速度快)、IDEA(類似于3DES,密鑰長度達(dá)到128位)以及序列密碼(每次變換密鑰加密處理數(shù)據(jù),如RC4)等。對稱加密算法適用于較大數(shù)據(jù)量的加解密過程,不適合簽名與驗(yàn)簽的應(yīng)用場景。

(3)非對稱加密算法

非對稱加密算法為用戶提供一組對應(yīng)的公開密鑰和私有密鑰。任何人都可以使用公鑰對數(shù)據(jù)進(jìn)行加密,只有用戶能使用自己的私鑰解密,任何未授權(quán)的用戶包括發(fā)送者都無法解密該信息。同時(shí),用戶可以使用私鑰對信息進(jìn)行簽名,任何人都可以用該用戶公開的公鑰檢驗(yàn)該信息簽名的身份,即驗(yàn)證該信息是否由指定用戶簽名,其身份具有不可否認(rèn)性,從而使得簽名具有不可偽造性。由于加密和解密時(shí)使用的密鑰是不同的,因此,這類公鑰密碼算法也稱為非對稱密碼算法?,F(xiàn)代公鑰密碼體系的安全性通常是基于難解的可計(jì)算問題,通過私鑰計(jì)算出公鑰非常容易,但是,通過公鑰計(jì)算出私鑰則非常困難,包括RSA(基于大數(shù)質(zhì)因子分解困難特性)、Diffie-Hellman密鑰交換、ECC(橢圓曲線算法,密鑰短性能高,區(qū)塊鏈采用的常見主流算法如ECDSA)、SM2(國密安全算法,同樣基于橢圓曲線算法)等,比特幣使用的是Certicom密碼技術(shù)公司提供的橢圓曲線算法secp256k1。非對稱加密算法適用于簽名與驗(yàn)簽場景,同時(shí)解決了密鑰分發(fā)的安全性問題,但不適合大量數(shù)據(jù)的快速加解密過程,如簽名消息時(shí)通常要先計(jì)算消息摘要,再使用私鑰對摘要簽名(ECDSA算法)。

4.存儲機(jī)制

區(qū)塊鏈數(shù)據(jù)通常存儲在包括KV鍵值型數(shù)據(jù)庫、關(guān)系型數(shù)據(jù)庫、普通文件等中。其中,KV鍵值型數(shù)據(jù)庫中數(shù)據(jù)結(jié)構(gòu)與接口都比較簡單,具有很高的讀寫性能與良好的可擴(kuò)展性,能支持大規(guī)模并發(fā)鍵值對數(shù)據(jù)的讀寫請求,支持基本增刪改查功能,通常不支持復(fù)雜SQL功能與強(qiáng)事務(wù)性,無法快速執(zhí)行范圍查詢等統(tǒng)計(jì)功能。為了獲得高性能、低延遲與高吞吐量,目前還出現(xiàn)了分布式內(nèi)存型的KV鍵值型數(shù)據(jù)庫,如Redis等,它們通過在內(nèi)存中維護(hù)大量的哈希表來存儲關(guān)鍵字及指向鍵值對的指針,利用并發(fā)與索引優(yōu)化,支持內(nèi)存數(shù)據(jù)的高效查詢、插入與更新操作。同時(shí),還涌現(xiàn)出了TiDB等新型分布式KV鍵值型數(shù)據(jù)庫,其支持SQL語句的高效復(fù)雜查詢,包括范圍查詢、Join查詢支持等,提供接近線性的系統(tǒng)擴(kuò)展能力與實(shí)時(shí)并發(fā)寫入能力。區(qū)塊鏈平臺常用的KV鍵值型數(shù)據(jù)庫包括LevelDB、CouchDB、BerkeleyDB等,用于保存區(qū)塊鏈中的區(qū)塊索引信息、狀態(tài)數(shù)據(jù)等鍵值對類型的數(shù)據(jù)。Hyperledger Fabric還使用普通文件存儲原始的賬本區(qū)塊數(shù)據(jù),將共識后的區(qū)塊數(shù)據(jù)按protocol buffer編碼格式序列化為二進(jìn)制字節(jié)數(shù)組后,寫入文件進(jìn)行持久化保存。

RDBMS(Relational Database Management System,關(guān)系型數(shù)據(jù)庫系統(tǒng))是基于嚴(yán)格的關(guān)系模型來表示與組織結(jié)構(gòu)化數(shù)據(jù)的,支持SQL語句的增刪改查操作,提供能夠滿足ACID原則的復(fù)雜事務(wù)處理機(jī)制。分布式架構(gòu)版本具有高并發(fā)的讀寫性能和容錯能力,并廣泛部署在大規(guī)模高可用集群系統(tǒng)中。有些區(qū)塊鏈系統(tǒng)考慮將鏈上相關(guān)的賬戶數(shù)據(jù)、區(qū)塊信息、交易流水等信息保存在關(guān)系型數(shù)據(jù)庫中,以提供歷史數(shù)據(jù)的快速統(tǒng)計(jì)查詢等功能,提高數(shù)據(jù)查詢效率。

5. P2P通信機(jī)制

區(qū)塊鏈網(wǎng)絡(luò)通常采用P2P(Peer to Peer)協(xié)議,節(jié)點(diǎn)之間直接通過交換方式共享信息,又被稱為對等計(jì)算。P2P網(wǎng)絡(luò)中的每個節(jié)點(diǎn)地位平等,不需要中心服務(wù)器節(jié)點(diǎn)來分配任務(wù),每個節(jié)點(diǎn)可同時(shí)作為服務(wù)提供者與服務(wù)請求者。這種分布式架構(gòu)避免了集中式架構(gòu)中心節(jié)點(diǎn)的性能瓶頸,可以有效利用網(wǎng)絡(luò)節(jié)點(diǎn)的性能與網(wǎng)絡(luò)帶寬,從而提升系統(tǒng)的整體效率。同時(shí),還可以根據(jù)需求擴(kuò)展節(jié)點(diǎn)規(guī)模,具有良好的可擴(kuò)展性與負(fù)載均衡能力。例如,BitTorrent是基于P2P技術(shù)共享大文件并進(jìn)行內(nèi)容分發(fā)的典型平臺,每個用戶節(jié)點(diǎn)在下載文件的同時(shí)又不斷為其他用戶節(jié)點(diǎn)提供上傳已經(jīng)下載的數(shù)據(jù)。

P2P通信機(jī)制用于實(shí)現(xiàn)與其他節(jié)點(diǎn)之間的通信功能,比特幣默認(rèn)配置連接8個近鄰節(jié)點(diǎn),最多允許125個連接請求,包括全功能節(jié)點(diǎn)(帶有錢包、挖礦、校驗(yàn)與轉(zhuǎn)發(fā)區(qū)塊等功能)與基礎(chǔ)全節(jié)點(diǎn)(轉(zhuǎn)發(fā)區(qū)塊與交易等功能)、SPV節(jié)點(diǎn)(校驗(yàn)區(qū)塊與交易等功能)等,同時(shí)利用Zero MQ實(shí)現(xiàn)節(jié)點(diǎn)通信機(jī)制。Hyperledger Fabric采用gRPC庫與Gossip消息協(xié)議構(gòu)建P2P通信機(jī)制。以太坊使用基于RLP(Recursive Length Prefix)編碼及認(rèn)證的加密P2P協(xié)議,包括whisper協(xié)議、swarm協(xié)議等具體通信協(xié)議,分別用于不同的通信場景。

6.智能合約

1994年密碼學(xué)家Nick Szabo提出了“智能合約”的概念,即一個智能合約是一套以數(shù)字形式定義的承諾,包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議,它是一種用計(jì)算機(jī)語言取代法律語言去記錄條款的合約 [11]。Nick Szabo希望能夠在互聯(lián)網(wǎng)上結(jié)合現(xiàn)實(shí)社會中已有的合約法律法規(guī)以及商業(yè)實(shí)踐,將線下商業(yè)活動“搬遷”到互聯(lián)網(wǎng)上進(jìn)行??梢哉f,智能合約就是部署在區(qū)塊鏈系統(tǒng)虛擬機(jī)上能夠自動運(yùn)行與驗(yàn)證的協(xié)議程序,不需要人為干預(yù)觸發(fā)操作,具有一定的自治性、強(qiáng)制性與自我驗(yàn)證功能。

在區(qū)塊鏈技術(shù)領(lǐng)域,智能合約是指基于預(yù)定事件觸發(fā)、不可篡改、自動執(zhí)行的計(jì)算機(jī)程序 [5]。虛擬機(jī)是區(qū)塊鏈系統(tǒng)中運(yùn)行智能合約的執(zhí)行環(huán)境,如EVM(以太坊虛擬機(jī))提供了圖靈完備的虛擬機(jī),通常將用戶編寫的Solidity語言程序編譯成EVM字節(jié)代碼后再調(diào)用運(yùn)行,而比特幣交易系統(tǒng)只是設(shè)計(jì)了一個不具備圖靈完備性的堆棧式腳本引擎,支持鎖定腳本與解鎖腳本。Hyperledger Fabric采用Docker容器等作為智能合約執(zhí)行的虛擬機(jī),所有智能合約(Hyperledger Fabric稱之為chaincode,即鏈上代碼或鏈碼)都必須實(shí)現(xiàn)Init()與Invoke()方法。

事實(shí)上,虛擬機(jī)通?;谏诚浼夹g(shù)進(jìn)行隔離封裝,以確保智能合約無法與網(wǎng)絡(luò)、文件系統(tǒng)或者其他進(jìn)程直接進(jìn)行交互,用戶必須通過虛擬機(jī)接口遵循定制的流程,對狀態(tài)數(shù)據(jù)通過API進(jìn)行訪問。例如,銀行賬戶管理就可以看作是一組智能合約的應(yīng)用,傳統(tǒng)方式對用戶賬戶的操作需要銀行進(jìn)行監(jiān)管和授權(quán),否則就會無法執(zhí)行任何操作。這些操作都可以被設(shè)計(jì)成智能合約按照對應(yīng)的流程來執(zhí)行,一旦部署啟動后,除非滿足觸發(fā)下一個智能合約程序的條件,否則,任何人都無法輕易修改程序的正常執(zhí)行流程,從而確保智能合約的高效準(zhǔn)確執(zhí)行、安全隔離以及較低人為干預(yù)風(fēng)險(xiǎn)。但是,由于運(yùn)行的智能合約程序不能隨便人為修改,同樣也面臨著潛在風(fēng)險(xiǎn),如以太坊DAO事件中智能合約存在遞歸程序漏洞、SMT項(xiàng)目中以太坊智能合約存在整數(shù)溢出漏洞等。但是,目前大多數(shù)區(qū)塊鏈系統(tǒng)危機(jī)事件都是智能合約自身的程序設(shè)計(jì)問題,與區(qū)塊鏈技術(shù)本身提供的安全特性無關(guān)。

1.1.3 區(qū)塊鏈典型平臺現(xiàn)狀及趨勢

目前,國際上影響力較大的主流區(qū)塊鏈開源平臺逐漸相互借鑒與融合發(fā)展,出現(xiàn)了以下3種典型生態(tài)體系及平臺。

1.比特幣(Bitcoin)

以比特幣 [19]為代表的“虛擬貨幣”平臺開源社區(qū)生態(tài)體系。比特幣就是以區(qū)塊鏈作為底層技術(shù)進(jìn)行設(shè)計(jì)與研發(fā)的,中本聰(Satoshi Nakamoto)在2008年發(fā)表的論文《Bitcoin:A Peer-to-Peer Electronic Cash System》中就曾指出,比特幣是通過隨機(jī)哈希值為全部交易加上時(shí)間戳,并把它們?nèi)谌氲讲粩嘌由斓摹⒒陔S機(jī)哈希值的工作量證明鏈條中作為交易記錄(即區(qū)塊),除非重新完成全部的工作量證明,否則形成的交易記錄將不可更改。這種記賬方式使得比特幣的發(fā)行可以不依賴任何政府與貨幣機(jī)構(gòu)的公信力,而是根據(jù)特定共識算法通過大規(guī)模計(jì)算來生成“貨幣”,由全系統(tǒng)所有參識節(jié)點(diǎn)共同背書,其記賬權(quán)由全網(wǎng)51%的算力決定,第一次在全球范圍內(nèi)實(shí)現(xiàn)了一個去中心化的真實(shí)點(diǎn)對點(diǎn)電子現(xiàn)金系統(tǒng),這完全顛覆了以往人們對“貨幣”的認(rèn)知,點(diǎn)燃了以比特幣為代表的“虛擬貨幣”概念風(fēng)口。

比特幣記錄的區(qū)塊結(jié)構(gòu)除了最核心的區(qū)塊頭部信息和交易信息之外,還包括魔幻數(shù)(0xD9B4BEF9)、區(qū)塊字節(jié)數(shù)大小、交易數(shù)量等交易相關(guān)信息。

□ 比特幣區(qū)塊頭部:記錄了版本號、父區(qū)塊頭哈希值、Merkle根哈希值、時(shí)間戳、難度目標(biāo)、隨機(jī)數(shù)(Nonce)等。其中,區(qū)塊頭哈希值是對父區(qū)塊頭通過兩次SHA-256哈希運(yùn)算得到的,可以作為區(qū)塊的唯一標(biāo)識符。但是,區(qū)塊頭哈希值并不保存到區(qū)塊的數(shù)據(jù)結(jié)構(gòu)中,而是由接收節(jié)點(diǎn)重新計(jì)算出來的。同時(shí),每個區(qū)塊頭都包含父區(qū)塊哈希值,這樣就將整個賬本連接成一個不斷增長的鏈表。比特幣上的第一個區(qū)塊是由中本聰在北京時(shí)間2009年1月4日02:15:05創(chuàng)建的“創(chuàng)世區(qū)塊”(Genesis Block)[12]

□ 比特幣交易信息:包含生成時(shí)間、本次交易Merkle根哈希值、比特幣支出與接收地址、版本、本次交易數(shù)字簽名等。該信息是以明文形式存儲的,只有當(dāng)需要轉(zhuǎn)移貨幣所有權(quán)時(shí),才需要用私鑰進(jìn)行簽名與驗(yàn)證。當(dāng)前交易的付款人通過對前一次交易和收款人的公鑰簽署一個隨機(jī)哈希(Hash)的數(shù)字簽名,并將它附加在貨幣末尾發(fā)送給收款人。收款人對付款人的簽名用其公鑰進(jìn)行檢驗(yàn),從而驗(yàn)證該鏈條上交易的所有者,具體交易模式如圖1-4所示。為了防止雙重支付(即“雙花”),比特幣交易系統(tǒng)在文件中以區(qū)塊的形式保存了所有歷史交易序列,每個區(qū)塊都包含上一個區(qū)塊的哈希值和當(dāng)前時(shí)間戳,這樣就形成了不可偽造和防篡改的區(qū)塊鏈結(jié)構(gòu),并且可以進(jìn)行歷史溯源,即查詢?nèi)魏螘r(shí)間上的任何交易。

圖1-4 比特幣區(qū)塊鏈交易模式 [1]

比特幣在設(shè)計(jì)時(shí)引入了梅克爾樹或默克爾樹(Merkle Tree)來實(shí)現(xiàn)簡化的支付驗(yàn)證(Simplified Payment Verification, SPV),即在不下載賬本中所有區(qū)塊數(shù)據(jù)的情況下,系統(tǒng)也能夠?qū)χЦ哆M(jìn)行快速檢驗(yàn)。梅克爾樹是一類基于哈希值的二叉樹或多叉樹,葉子節(jié)點(diǎn)存儲區(qū)塊哈希值,非葉子節(jié)點(diǎn)包含將所屬子節(jié)點(diǎn)進(jìn)行組合后計(jì)算的哈希值,通常用于驗(yàn)證信息的完整性?;趨^(qū)塊頭中包含的梅克爾樹根哈希值和鏈上已經(jīng)驗(yàn)證過的中間哈希值列表,梅克爾樹可以加快驗(yàn)證指定交易是否包含在區(qū)塊中,這使得偽造區(qū)塊頭哈希值的成本很高,而且偽造中間哈希值會直接導(dǎo)致驗(yàn)證失敗,從而不需要下載所有的區(qū)塊數(shù)據(jù)。

2.以太坊(Ethereum)

以以太坊(Ethereum)[20]為代表的支持可編程智能合約的公有鏈平臺開源社區(qū)生態(tài)體系。其核心理念是將區(qū)塊鏈作為可編程的分布式信用基礎(chǔ)設(shè)施,支持自動化運(yùn)行的智能合約應(yīng)用,并將平臺交易內(nèi)容擴(kuò)展到金融、股權(quán)、債務(wù)憑證等領(lǐng)域。Vitalik Buterin等創(chuàng)始人于2013年12月開始發(fā)起以太坊項(xiàng)目,并計(jì)劃在第四個階段Serenity將共識機(jī)制從PoW(工作量證明)機(jī)制轉(zhuǎn)換到PoS(權(quán)益證明)機(jī)制上。該項(xiàng)目迅速激發(fā)了人們在可信平臺上交易金融資產(chǎn)的熱情與創(chuàng)造力,現(xiàn)在應(yīng)用方面有超過上千個DApp上鏈,已經(jīng)成為具有國際影響力的開源公鏈平臺。另外,以比特幣與以太坊為基礎(chǔ)的區(qū)塊鏈生態(tài)體系還發(fā)展出“虛擬貨幣”或通證(Token)衍生金融與泛娛樂產(chǎn)業(yè)鏈,如ICO(Initial Cryptocurrency Offering)代幣融資市場已經(jīng)受到國家嚴(yán)格監(jiān)管。

以太坊不同于比特幣,比特幣利用UTXO(Unspent Transaction Outputs,未花費(fèi)的交易輸出)模型計(jì)算余額且沒有賬戶的概念,以太坊提供外部賬戶(Externally Owned Account, EOA,即通常意義上用公鑰與私鑰控制的用戶賬戶)和合約賬戶(不是由私鑰文件直接控制,而是由可編程合約代碼控制的賬戶),能夠高效查詢用戶余額和歷史交易記錄。其中,外部賬戶沒有合約代碼,可以通過簽名與發(fā)送交易到合約賬戶調(diào)用合約,合約賬戶則能夠通過以太坊虛擬機(jī)(Ethereum Virtual Machine, EVM)執(zhí)行智能合約,將執(zhí)行結(jié)果記錄到區(qū)塊鏈上。以太坊的賬戶包括交易次數(shù)或合約數(shù)量(nonce)、以太幣余額、合約代碼哈希值(合約賬戶)、賬戶存儲內(nèi)容的Merkle Patricia樹的根節(jié)點(diǎn)哈希值(默認(rèn)為空)等信息,提供支持智能合約執(zhí)行的棧式EVM,支持圖靈完備的計(jì)算環(huán)境與較為成熟的智能合約編程語言Solidity等。其中,合約程序會被編譯成EVM字節(jié)碼在虛擬機(jī)上執(zhí)行,在正常情況下只能通過日志事件與外部通信。

以太坊采用Merkle Patricia Tree(梅克爾-帕特里夏樹,簡稱MPT,基于Merkle樹與Trie樹實(shí)現(xiàn)的)來實(shí)現(xiàn)對交易和狀態(tài)(數(shù)據(jù))的校驗(yàn)和查詢操作 [13]。由于梅克爾樹適用于快速驗(yàn)證與定位非法交易數(shù)據(jù)哈希值的位置,但不適合于樹節(jié)點(diǎn)內(nèi)容的修改操作,因此,以太坊引入了Merkle Patricia樹,以實(shí)現(xiàn)在賬戶等信息中執(zhí)行插入、更新和刪除等操作后能快速生成新的樹根哈希值。同時(shí),該樹根哈希值只與數(shù)據(jù)有關(guān),而與更新的順序無關(guān),這樣就不需要考慮每次的更新順序了。每個以太坊區(qū)塊頭均設(shè)計(jì)了三個樹,包括交易樹(Transaction Tree)、狀態(tài)樹(State Tree)和收據(jù)樹(Receipt Tree)。

以太坊的PoW算法又稱Ethash算法,通過動態(tài)調(diào)節(jié)難度(融合了內(nèi)存難度)來達(dá)到約每15秒產(chǎn)生一個新區(qū)塊的速度,即融合了內(nèi)存難度來提高計(jì)算難度,以抵抗單純定制優(yōu)化的ASIC挖礦機(jī)“挖礦”,其挖礦效率與CPU基本無關(guān),而與內(nèi)存大小、帶寬正相關(guān)。以太坊執(zhí)行智能合約等操作時(shí)必須提供“挖礦”獲得或購買的以太幣(Ether)作為“燃料”(gas),以激勵礦工驗(yàn)證交易并競爭執(zhí)行智能合約,最終由打包交易出塊的礦工收取該獎勵收益,利用幽靈協(xié)議GHOST(Greedy Heaviest Observed Subtree,貪婪最重觀察子樹)構(gòu)建樹型區(qū)塊鏈(含有叔區(qū)塊,有助于提高區(qū)塊鏈的安全性,減弱大型礦工的“挖礦”優(yōu)勢),而不是比特幣的鏈?zhǔn)絽^(qū)塊鏈。另外,以太坊第四階段將考慮采用PoS機(jī)制,即使用帶有懲罰機(jī)制的Casper協(xié)議,以太幣的發(fā)行率將大大低于幽靈協(xié)議下的發(fā)行率。

3. Hyperledger Fabric

以Hyperledger Fabric[18]為代表的聯(lián)盟鏈平臺開源社區(qū)生態(tài)體系。其目標(biāo)是面向企業(yè)級應(yīng)用場景的許可區(qū)塊鏈(Permissioned Chain),用于解決多個弱信任企業(yè)主體間的信任問題,以降低企業(yè)間復(fù)雜繁瑣業(yè)務(wù)流程帶來的信任成本,實(shí)現(xiàn)在可控主體范圍內(nèi)共享敏感數(shù)據(jù),從而有效提升企業(yè)主體間大規(guī)模協(xié)作活動的效率。Hyperledger Fabric開源社區(qū)提供帶有身份權(quán)限認(rèn)證的商用區(qū)塊鏈平臺,采用模塊化插件的靈活設(shè)計(jì)架構(gòu),避免了比特幣類公鏈平臺與以太坊類公鏈平臺交易效率低下、缺乏完善的身份認(rèn)證模塊等不足,能廣泛應(yīng)用于金融資產(chǎn)存管、供應(yīng)鏈、共享經(jīng)濟(jì)等領(lǐng)域。Hyperledger Fabric自2015年底開源以來發(fā)展迅速,并已經(jīng)成為主流的聯(lián)盟鏈開源平臺。另外,值得注意的是,企業(yè)以太坊聯(lián)盟(Enterprise Ethereum Alliance, EEA)、螞蟻金服、騰訊、百度、BCOS(由微眾銀行、萬向、矩陣元共同發(fā)布的開源聯(lián)盟鏈平臺)、眾安、趣鏈、CITA(秘猿科技)等都與其存在潛在的競爭。企業(yè)級BaaS(Blockchain as a Service)平臺作為基礎(chǔ)設(shè)施服務(wù)亦是未來國際企業(yè)市場的競爭焦點(diǎn),國際巨頭IBM、微軟等已經(jīng)在此領(lǐng)域深耕發(fā)力多年,以實(shí)現(xiàn)高效動態(tài)的部署跨域區(qū)塊鏈網(wǎng)絡(luò)的能力,提供高質(zhì)量的商用企業(yè)級服務(wù)。

主站蜘蛛池模板: 车致| 青海省| 乡城县| 海兴县| 昌都县| 镇安县| 南昌市| 恭城| 临夏县| 临桂县| 通辽市| 铜梁县| 新干县| 合川市| 哈尔滨市| 巍山| 上饶县| 尉犁县| 仁化县| 肃南| 宣城市| 姚安县| 洪泽县| 济南市| 东安县| 犍为县| 察雅县| 临城县| 陈巴尔虎旗| 永兴县| 蒙阴县| 花莲市| 沛县| 抚顺县| 盐山县| 北宁市| 玛沁县| 南郑县| 泸州市| 五大连池市| 寿阳县|