- 智能與數(shù)據(jù)重構(gòu)世界
- (美)薄智泉 徐亭主編
- 3697字
- 2020-09-25 12:47:14
1.3 去中心化的區(qū)塊鏈數(shù)據(jù)庫
云計(jì)算平臺(tái)把數(shù)據(jù)分布式存儲(chǔ)在多個(gè)不同的地點(diǎn),然后把存儲(chǔ)單元通過網(wǎng)絡(luò)互相連接,共同組成一個(gè)完整的、全局的、邏輯上集中但物理上分散的大型數(shù)據(jù)庫。但是,它通常需要一個(gè)中心化的數(shù)據(jù)存儲(chǔ)及管理系統(tǒng)。這種中心化的結(jié)構(gòu)雖然效率高,但健壯性差,管理較為復(fù)雜。作為2009年年初發(fā)展起來的新興數(shù)據(jù)庫技術(shù),區(qū)塊鏈(Blockchain)把數(shù)據(jù)分成一個(gè)個(gè)區(qū)塊,這些區(qū)塊通過哈希函數(shù)連接成一條單向鏈(新的區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)是一個(gè)有向圖),如圖1-5所示。區(qū)塊鏈采用點(diǎn)對(duì)點(diǎn)(P2P)對(duì)等網(wǎng)絡(luò)、密碼、時(shí)間戳等技術(shù),在節(jié)點(diǎn)無須互相信任的分布式系統(tǒng)中實(shí)現(xiàn)基于去中心化的點(diǎn)對(duì)點(diǎn)交易、協(xié)調(diào)與協(xié)作,從而為解決中心化機(jī)構(gòu)普遍存在的高成本和數(shù)據(jù)存儲(chǔ)不安全等問題提供了解決方案。

圖1-5 區(qū)塊鏈?zhǔn)疽?/p>
1.3.1 區(qū)塊鏈的架構(gòu)模型
如圖1-6所示,區(qū)塊鏈的基礎(chǔ)架構(gòu)模型包含6層:數(shù)據(jù)層、網(wǎng)絡(luò)層、共識(shí)層、激勵(lì)層、合約層、應(yīng)用層。其中,數(shù)據(jù)層和網(wǎng)絡(luò)層是基礎(chǔ)層,共識(shí)層、激勵(lì)層和合約層構(gòu)成了中間協(xié)議層,而應(yīng)用層通常由用戶自己定義,以便適用于不同的場(chǎng)景,如數(shù)字貨幣、數(shù)字金融、數(shù)字版權(quán)、產(chǎn)品溯源等。

圖1-6 區(qū)塊鏈基礎(chǔ)架構(gòu)模型[7]
(1)數(shù)據(jù)層:數(shù)據(jù)層是區(qū)塊鏈基礎(chǔ)架構(gòu)模型的最底層,它封裝了數(shù)據(jù)區(qū)塊的結(jié)構(gòu),這些區(qū)塊通過密碼技術(shù)形成單向鏈數(shù)據(jù)結(jié)構(gòu)。
(2)網(wǎng)絡(luò)層:網(wǎng)絡(luò)層利用了P2P的網(wǎng)絡(luò)機(jī)制、數(shù)據(jù)傳播機(jī)制和數(shù)據(jù)驗(yàn)證機(jī)制,區(qū)塊鏈上的節(jié)點(diǎn)自動(dòng)組網(wǎng),形成一個(gè)分布式自治系統(tǒng)。
(3)共識(shí)層:區(qū)塊鏈的核心是全網(wǎng)節(jié)點(diǎn)維護(hù)一個(gè)一致性的數(shù)據(jù)庫或賬本,因此,區(qū)塊鏈節(jié)點(diǎn)需要共識(shí)機(jī)制,目前最常見也是較為成熟的三種共識(shí)機(jī)制是工作量證明(Proof of Work,PoW)機(jī)制、權(quán)益證明(Proof of Stake,PoS)機(jī)制和股份授權(quán)證明(Delegate Proof of Stake,DPoS)機(jī)制,目前共識(shí)機(jī)制還在不斷地演進(jìn)和完善。
(4)激勵(lì)層:區(qū)塊鏈賬本的建立與維護(hù)需要區(qū)塊鏈節(jié)點(diǎn)的參與和貢獻(xiàn)資源,為了鼓勵(lì)及補(bǔ)償節(jié)點(diǎn),區(qū)塊鏈還包含一套用于激勵(lì)的發(fā)行機(jī)制和分配機(jī)制。
(5)合約層:區(qū)塊鏈的每個(gè)區(qū)塊可編程、可嵌入代碼,因此,合約層包含了腳本代碼和算法機(jī)制,可以簡單地將其理解為一份自定義的電子合同;智能合約指這份合約可以在達(dá)到約束條件時(shí)自動(dòng)觸發(fā)執(zhí)行事先約定好的一切條款,也可以在不滿足條件時(shí)自動(dòng)解約,而不需要人工干預(yù)。
(6)應(yīng)用層:和傳統(tǒng)的網(wǎng)絡(luò)協(xié)議模型應(yīng)用層一樣,區(qū)塊鏈的應(yīng)用層可以封裝各種應(yīng)用場(chǎng)景和案例,類似于我們?nèi)粘S玫母鞣N網(wǎng)站、社交娛樂App、電商購物App、新聞閱讀App等應(yīng)用場(chǎng)景。
區(qū)塊鏈技術(shù)包括兩項(xiàng)最重要的機(jī)制:共識(shí)機(jī)制和激勵(lì)機(jī)制。前者保證所有參與者對(duì)全區(qū)塊鏈的網(wǎng)絡(luò)數(shù)據(jù)達(dá)成共識(shí),同時(shí)也確保和維持整個(gè)區(qū)塊鏈穩(wěn)定;后者可以促使參與者共享資源,是區(qū)塊鏈系統(tǒng)持續(xù)運(yùn)作的重要因素之一。
目前,區(qū)塊鏈社區(qū)已經(jīng)發(fā)展了各種區(qū)塊鏈共識(shí)機(jī)制:PoW、PoS和拜占庭容錯(cuò)(Byzantine Fault Tolerance,BFT)等。其中,PoW計(jì)算資源耗費(fèi)大,受網(wǎng)絡(luò)傳播延遲影響大,交易不能得到及時(shí)確認(rèn)。雖然PoS避免了消耗大量的計(jì)算資源,以及BFT能夠?qū)崿F(xiàn)交易的及時(shí)確認(rèn),從而不同程度地克服了PoW在性能上的不足,但它們依然難以滿足低計(jì)算復(fù)雜度和低處理延遲等性能要求。如果區(qū)塊鏈沒有與共識(shí)機(jī)制相結(jié)合的合適的激勵(lì)機(jī)制,理性的節(jié)點(diǎn)便不傾向于參與區(qū)塊鏈交易,從而導(dǎo)致共識(shí)機(jī)制無法完成。因此,激勵(lì)機(jī)制與共識(shí)機(jī)制密切相關(guān)。
區(qū)塊鏈共識(shí)機(jī)制與激勵(lì)機(jī)制具有4個(gè)特性:①激勵(lì)兼容性,即每個(gè)參與者根據(jù)真實(shí)的貢獻(xiàn)值獲得與之相對(duì)應(yīng)的獎(jiǎng)勵(lì);②一致性,即所有誠實(shí)的參與者最終維持一致的全網(wǎng)視圖;③活躍性,即參與者愿意持續(xù)地在所處的區(qū)塊鏈上創(chuàng)建有效交易;④正確性,即區(qū)塊鏈上的每一筆交易和區(qū)塊都是被驗(yàn)證成功的交易和區(qū)塊。這4個(gè)特性對(duì)區(qū)塊鏈系統(tǒng)的穩(wěn)定運(yùn)行具有重要的意義,因?yàn)榧?lì)兼容性和活躍性分別保證了參與者維護(hù)區(qū)塊鏈的激勵(lì)和持續(xù)性,一致性和正確性能有效地同步交易順序,消除塊沖突并在基于區(qū)塊鏈的加密貨幣中避免雙花攻擊。因此,設(shè)計(jì)安全的區(qū)塊鏈共識(shí)機(jī)制與激勵(lì)機(jī)制以適應(yīng)物聯(lián)網(wǎng)生態(tài)發(fā)展環(huán)境和場(chǎng)景特性是非常重要的。
1.3.2 區(qū)塊鏈的技術(shù)特征
區(qū)塊鏈?zhǔn)且粋€(gè)可信任、不能篡改、不可抵賴的公共數(shù)據(jù)庫或賬本。它由任意多個(gè)節(jié)點(diǎn)根據(jù)代碼自發(fā)形成。它高度透明,能完全實(shí)現(xiàn)多邊共信??傊鐖D1-7所示,區(qū)塊鏈技術(shù)具有如下特征。

圖1-7 區(qū)塊鏈技術(shù)特征
(1)去中心化。區(qū)塊鏈?zhǔn)怯杀姸喙?jié)點(diǎn)組成的一個(gè)端到端的分布式網(wǎng)絡(luò),每個(gè)節(jié)點(diǎn)可以單獨(dú)存儲(chǔ)及驗(yàn)證數(shù)據(jù),不存在中心化的硬件或管理機(jī)構(gòu),賬本由所有具有維護(hù)能力的節(jié)點(diǎn)來共同維護(hù),少數(shù)節(jié)點(diǎn)故障不會(huì)影響系統(tǒng)整體的運(yùn)作。去中心化是區(qū)塊鏈最突出和最本質(zhì)的特征。
(2)開放性。區(qū)塊鏈的數(shù)據(jù)是全網(wǎng)公開的,任何人都可以通過公用的接口查詢區(qū)塊鏈數(shù)據(jù)和開發(fā)相關(guān)應(yīng)用,如果用戶想保護(hù)其私密信息,可事先對(duì)數(shù)據(jù)采用密碼技術(shù)進(jìn)行處理后再加入?yún)^(qū)塊鏈中。
(3)自治性?;趨f(xié)商一致的規(guī)范和協(xié)議,區(qū)塊鏈參與者會(huì)建立一個(gè)“區(qū)塊鏈社區(qū)”,在該無中心社區(qū)中,所有節(jié)點(diǎn)能夠自由安全地交換數(shù)據(jù),從而使對(duì)“人”的信任變成了對(duì)代碼的信任。
(4)匿名性。除非有法律規(guī)范要求,在區(qū)塊鏈上,節(jié)點(diǎn)的真實(shí)個(gè)人信息是不公開的,一個(gè)真實(shí)用戶可以有任意多個(gè)獨(dú)立的節(jié)點(diǎn)及賬戶,這些節(jié)點(diǎn)之間及賬戶之間遵循固定的算法,交易過程無須公開身份。
(5)可編程。在一個(gè)區(qū)塊鏈應(yīng)用發(fā)布之前,其體系結(jié)構(gòu)和所采用的協(xié)議等都必須固定下來,而這些都是需要使用代碼來實(shí)現(xiàn)的。因?yàn)檫@些代碼關(guān)聯(lián)計(jì)算邏輯,用戶可以通過編程設(shè)置自動(dòng)觸發(fā)節(jié)點(diǎn)之間交易的算法和規(guī)則。當(dāng)前流行的區(qū)塊鏈編程平臺(tái)為Hyperledger(超級(jí)賬本)和Ethereum(以太坊)。
(6)可追溯。區(qū)塊鏈通過區(qū)塊數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)了創(chuàng)世區(qū)塊后的所有歷史數(shù)據(jù),而且數(shù)據(jù)信息一旦被寫入?yún)^(qū)塊中,就不能更改撤銷。區(qū)塊鏈上的任何數(shù)據(jù)皆可通過鏈?zhǔn)浇Y(jié)構(gòu)追溯至創(chuàng)世區(qū)塊數(shù)據(jù),從而可確認(rèn)賬本數(shù)據(jù)的完整性。
1.3.3 區(qū)塊鏈的發(fā)展過程
近10年來,區(qū)塊鏈技術(shù)快速更新?lián)Q代[8],從區(qū)塊鏈1.0進(jìn)化到區(qū)塊鏈4.0,底層技術(shù)和效率不斷提升,場(chǎng)景覆蓋越來越多。相信隨著時(shí)間的推移,區(qū)塊鏈的基礎(chǔ)設(shè)施將日趨完善。
區(qū)塊鏈1.0是以比特幣(Bit Coin)為代表的數(shù)字貨幣應(yīng)用。作為比特幣的底層技術(shù),它本質(zhì)上是一個(gè)去中心化的數(shù)據(jù)庫。在區(qū)塊鏈1.0中,礦工節(jié)點(diǎn)把交易信息做成一個(gè)數(shù)據(jù)包,然后通過求解一個(gè)難題使該數(shù)據(jù)包形成一個(gè)區(qū)塊,進(jìn)而將區(qū)塊組成一個(gè)公認(rèn)鏈。當(dāng)一個(gè)難題的解被大多數(shù)節(jié)點(diǎn)接受后,求得該解的礦工就會(huì)得到約定數(shù)量的比特幣。因此,區(qū)塊鏈1.0的特點(diǎn)是運(yùn)用P2P對(duì)等網(wǎng)絡(luò)技術(shù)來發(fā)行、管理和流通貨幣,這樣理論上避免了機(jī)構(gòu)的審批,從而讓每個(gè)人都有權(quán)發(fā)行貨幣。
區(qū)塊鏈1.0可以實(shí)現(xiàn)數(shù)字交易,但不支持去中心化交易所,缺乏擴(kuò)展性。通過采用以太坊虛擬機(jī)(Ethereum Virtual Machine),區(qū)塊鏈2.0具有處理點(diǎn)對(duì)點(diǎn)的圖靈完備的智能合約(Smart Contract)框架,解決了區(qū)塊鏈1.0擴(kuò)展性不足的問題。具體來說,智能合約是一種以信息化方式傳播、驗(yàn)證或執(zhí)行合同的計(jì)算機(jī)協(xié)議。該協(xié)議是技術(shù)實(shí)現(xiàn),且選擇哪個(gè)協(xié)議取決于許多因素。但是,一旦參與方達(dá)成協(xié)定,智能合約建立的權(quán)利和義務(wù)就由區(qū)塊鏈自動(dòng)執(zhí)行,這個(gè)執(zhí)行過程可追蹤且不可逆轉(zhuǎn)。在這個(gè)基礎(chǔ)上,合約承諾被實(shí)現(xiàn)且被記錄下來。
區(qū)塊鏈3.0進(jìn)一步將區(qū)塊鏈應(yīng)用的領(lǐng)域擴(kuò)展到貨幣和金融行業(yè)之外,從而實(shí)現(xiàn)了對(duì)所有具有價(jià)值的數(shù)字資產(chǎn)在區(qū)塊鏈上的追蹤、控制和交易。數(shù)字資產(chǎn)可以是任何記錄,如出生和死亡證明、財(cái)務(wù)賬目、醫(yī)療過程、保險(xiǎn)理賠、遺囑。作為價(jià)值互聯(lián)網(wǎng)的內(nèi)核,區(qū)塊鏈3.0可以不依靠第三方獲得信任或建立信用,可實(shí)現(xiàn)信息在司法、醫(yī)療、物流等各領(lǐng)域的共享。也就是說,區(qū)塊鏈技術(shù)可以解決信任問題,提高整個(gè)系統(tǒng)的運(yùn)轉(zhuǎn)效率[9,10]。區(qū)塊鏈3.0的代表是IOTA,其采用圖形結(jié)構(gòu)替代區(qū)塊鏈的鏈條結(jié)構(gòu),縮短了交易確認(rèn)時(shí)間;無須挖礦,從而大大提高了交易處理速度。
區(qū)塊鏈4.0聚焦區(qū)塊鏈基礎(chǔ)設(shè)施和平臺(tái)層核心技術(shù),致力于構(gòu)建一個(gè)通用、支撐功能完善、性能高、易于使用、用戶體驗(yàn)好、可擴(kuò)展的區(qū)塊鏈基礎(chǔ)設(shè)施。目前,基于HashNet及Hashgraph數(shù)據(jù)結(jié)構(gòu)的區(qū)塊鏈技術(shù)可在交易吞吐量、可擴(kuò)展性上實(shí)現(xiàn)質(zhì)的飛躍,逐步受到業(yè)界的關(guān)注。
在現(xiàn)有的區(qū)塊鏈中,為了驗(yàn)證數(shù)據(jù)的完整性,區(qū)塊鏈保存了所有的區(qū)塊信息。但是,因?yàn)閿?shù)據(jù)都有時(shí)效性,無效的數(shù)據(jù)理應(yīng)從區(qū)塊鏈上刪除,區(qū)塊鏈這種存儲(chǔ)數(shù)據(jù)的方式是低效且不必要的。但是如果丟棄無效數(shù)據(jù),區(qū)塊鏈的完整性就沒有了。為了彌補(bǔ)這一缺陷,可遺忘區(qū)塊鏈(Oblivious Blockchain)重構(gòu)創(chuàng)世區(qū)塊,通過快速在區(qū)塊鏈所有節(jié)點(diǎn)形成共識(shí),包括對(duì)新區(qū)塊的組成、新區(qū)塊加入的方法和時(shí)間、舊區(qū)塊的丟棄時(shí)間及方法等形成共識(shí),使得當(dāng)一些區(qū)塊被忘記(丟棄)后,剩余的區(qū)塊還是全網(wǎng)一致和不可篡改的。
1.3.4 區(qū)塊鏈產(chǎn)品溯源應(yīng)用實(shí)例
在區(qū)塊鏈產(chǎn)品溯源應(yīng)用中,企業(yè)質(zhì)檢信用查詢工具利用了區(qū)塊鏈的數(shù)據(jù)可追溯性的特點(diǎn)。這種去中心化的模式可以提高數(shù)據(jù)的安全性,具體來說包括三個(gè)方面:①通過用戶界面數(shù)據(jù)區(qū)塊保存用戶簽名信息和數(shù)據(jù)以保證數(shù)據(jù)的可追溯性;②通過引入多個(gè)節(jié)點(diǎn)共同參與記錄的方式來提高數(shù)據(jù)存儲(chǔ)的可信性;③利用區(qū)塊鏈自身特性來保證數(shù)據(jù)的完整性。這樣一來,區(qū)塊鏈產(chǎn)品溯源系統(tǒng)就記錄了產(chǎn)品的原材料、生產(chǎn)加工、運(yùn)送、中轉(zhuǎn)直到收貨的全過程。在該過程中,狀態(tài)傳感設(shè)備將產(chǎn)品的原材料生產(chǎn)地、生產(chǎn)日期、質(zhì)量證書、運(yùn)輸路徑、運(yùn)輸條件、收貨時(shí)間和數(shù)量等信息都記錄在區(qū)塊鏈上,供人們查詢。因?yàn)槊抗P交易都保證可追溯,因此,其可以在所有參與方之間建立信任[11]。
- 計(jì)算機(jī)組成原理與接口技術(shù):基于MIPS架構(gòu)實(shí)驗(yàn)教程(第2版)
- Visual Studio 2015 Cookbook(Second Edition)
- 云計(jì)算與大數(shù)據(jù)應(yīng)用
- 數(shù)據(jù)結(jié)構(gòu)與算法(C語言版)
- Creating Dynamic UIs with Android Fragments(Second Edition)
- 數(shù)字媒體交互設(shè)計(jì)(初級(jí)):Web產(chǎn)品交互設(shè)計(jì)方法與案例
- Hadoop集群與安全
- 菜鳥學(xué)SPSS數(shù)據(jù)分析
- Unity 2018 By Example(Second Edition)
- 云計(jì)算寶典:技術(shù)與實(shí)踐
- Internet of Things with Python
- 中國云存儲(chǔ)發(fā)展報(bào)告
- 標(biāo)簽類目體系:面向業(yè)務(wù)的數(shù)據(jù)資產(chǎn)設(shè)計(jì)方法論
- 數(shù)字化轉(zhuǎn)型方法論:落地路徑與數(shù)據(jù)中臺(tái)
- 一類智能優(yōu)化算法的改進(jìn)及應(yīng)用研究