區(qū)塊鏈研習(xí) | 兩種典型的區(qū)塊鏈設(shè)計(jì)思路之差
雷鋒網(wǎng)AI金融評(píng)論按:本文作者為騰訊云金融業(yè)務(wù)中心區(qū)塊鏈?zhǔn)紫軜?gòu)師敖萌博士,雷鋒網(wǎng)獨(dú)家特約文章。未來(lái),敖萌博士原創(chuàng)的區(qū)塊鏈系列文章還將繼續(xù)刊出,敬請(qǐng)關(guān)注!
區(qū)塊鏈發(fā)展到了現(xiàn)在,產(chǎn)生了很多不同形式的區(qū)塊鏈技術(shù)。隨著技術(shù)的發(fā)展,目前比較公認(rèn)的看法是區(qū)塊鏈已經(jīng)走進(jìn)了2.0時(shí)代。區(qū)塊鏈1.0是以比特幣為代表的去中心化數(shù)字貨幣區(qū)塊鏈系統(tǒng),而2.0則是引入了智能合約的區(qū)塊鏈系統(tǒng)。
在支持智能合約的區(qū)塊鏈系統(tǒng)中,Linux基金會(huì)所屬的Hyperledger Fabric(由IBM貢獻(xiàn))和Vitalik Buterin所領(lǐng)導(dǎo)的以太坊基金會(huì)所創(chuàng)造并管理的Ethereum(以太坊)是兩個(gè)典型。這兩種區(qū)塊鏈系統(tǒng)具有截然不同的設(shè)計(jì)思路,充分體現(xiàn)了傳統(tǒng)企業(yè)信息系統(tǒng)思維設(shè)計(jì)模式(Fabric)和區(qū)塊鏈原教旨主義思維設(shè)計(jì)模式的區(qū)別。
首先看一下Ethereum,Ethereum是非常典型的受到Bitcoin(比特幣)架構(gòu)影響的一個(gè)區(qū)塊鏈系統(tǒng)。其最典型的特點(diǎn)是——鏈?zhǔn)腔A(chǔ)。所有的信任都來(lái)自與基于Hash密碼學(xué)安全的鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),在這個(gè)信任基礎(chǔ)上,架構(gòu)所有的功能。
而對(duì)于Fabric來(lái)說(shuō),系統(tǒng)一定要有一個(gè)漂亮的技術(shù)架構(gòu):可插拔的模塊化設(shè)計(jì)、高擴(kuò)展性、高內(nèi)聚低耦合。在一個(gè)漂亮的技術(shù)架構(gòu)上,調(diào)用各個(gè)模塊,來(lái)構(gòu)造一個(gè)功能——鏈,每增加一個(gè)功能,可以使用已有的鏈,也可以創(chuàng)建一個(gè)新鏈。
Ethereum使用了虛擬機(jī)方式實(shí)現(xiàn)智能合約,Ethereum中的虛擬機(jī)叫做EVM,是一個(gè)輕量級(jí)的沙盒執(zhí)行環(huán)境。為了讓智能合約更加方便,以太坊開(kāi)發(fā)者創(chuàng)造了新的語(yǔ)言來(lái)編寫智能合約,目前最流行的EVM編程語(yǔ)言是Solidity。EVM的一大特點(diǎn)就是只能對(duì)鏈上的數(shù)據(jù)進(jìn)行讀寫,非鏈上的數(shù)據(jù)只能在調(diào)用智能合約的時(shí)候,由調(diào)用者通過(guò)函數(shù)參數(shù)傳遞到智能合約中。(EVM的這個(gè)特點(diǎn)確保了智能合約的結(jié)果是確定的,不會(huì)因不同的節(jié)點(diǎn)執(zhí)行而導(dǎo)致不同的結(jié)果。)而智能合約本身和智能合約的調(diào)用過(guò)程(或者叫做使用智能合約的交易)都會(huì)記錄在鏈上。
因此,我們可以看出,以太坊的架構(gòu)中,“鏈”是信任的錨點(diǎn),所有的信任都來(lái)自于鏈。
而Fabric使用了Docker機(jī)制實(shí)現(xiàn)智能合約。相比于Ethereum的EVM,Docker可以算是一個(gè)重量級(jí)的沙盒執(zhí)行環(huán)境。由于Docker的特性,F(xiàn)abric可以使用很多語(yǔ)言開(kāi)發(fā)智能合約,同時(shí)也可以使用很多庫(kù)函數(shù)和系統(tǒng)函數(shù),因此,F(xiàn)abric的智能合約靈活性更高,(比如可以和物聯(lián)網(wǎng)設(shè)備通訊),但是這種靈活性也導(dǎo)致了可能不同的節(jié)點(diǎn)執(zhí)行后產(chǎn)生不同的結(jié)果而無(wú)法達(dá)成共識(shí)的風(fēng)險(xiǎn)。而Channel的引入,使得Fabric的智能合約是直接部署在某幾個(gè)節(jié)點(diǎn)上的。每個(gè)智能合約可以創(chuàng)建新的鏈,也可以和其他智能合約共用一個(gè)鏈。“鏈”在Fabric的架構(gòu)里,相當(dāng)于實(shí)現(xiàn)某個(gè)功能時(shí),參與該功能的幾個(gè)節(jié)點(diǎn)所共用的一個(gè)存儲(chǔ)空間。
明白了這兩種智能合約的實(shí)現(xiàn)方式區(qū)別后,我們就會(huì)發(fā)現(xiàn)這兩種典型的區(qū)塊鏈的設(shè)計(jì)思路的區(qū)別了——“鏈”到底應(yīng)該位于架構(gòu)的哪一層?
在區(qū)塊鏈原教旨主義中,由于大家都不可信,所以只能相信由Hash算法串起來(lái)的一個(gè)完整的數(shù)據(jù)系統(tǒng)。而在面向企業(yè)間應(yīng)用的聯(lián)盟鏈中,由于節(jié)點(diǎn)都是需要身份認(rèn)證才能加入的,因此可信程度高一些。所以,只要關(guān)鍵的一些數(shù)據(jù)達(dá)成共識(shí)實(shí)現(xiàn)可信就可以了。
正是由于這種設(shè)計(jì)思路上的區(qū)別,在Ethereum中,所有的智能合約都運(yùn)行在同一個(gè)鏈上,大家共用一個(gè)可信的基礎(chǔ)設(shè)施;而在Fabric中,一個(gè)應(yīng)用對(duì)應(yīng)一個(gè)鏈,整個(gè)系統(tǒng)由很多子鏈構(gòu)成,這些子鏈共用一套基本互信的基礎(chǔ)設(shè)施。
從系統(tǒng)架構(gòu)角度看,Ethereum是一個(gè)完整基礎(chǔ)設(shè)施,不會(huì)拆散了來(lái)用。雖然Ethereum內(nèi)部的設(shè)計(jì)耦合性很高,各個(gè)模塊依賴性極強(qiáng),甚至整個(gè)系統(tǒng)都依賴于某些基礎(chǔ)的智能合約(例如以太幣合約),但這可以看做是整個(gè)基礎(chǔ)設(shè)施的內(nèi)聚性導(dǎo)致的。
而Fabric更像是一個(gè)區(qū)塊鏈云服務(wù)平臺(tái),能夠讓用戶方便的在基礎(chǔ)平臺(tái)上,使用各個(gè)模塊創(chuàng)建一個(gè)一個(gè)的鏈進(jìn)而實(shí)現(xiàn)一個(gè)一個(gè)的應(yīng)用。所以,F(xiàn)abric是低耦合設(shè)計(jì)的一個(gè)平臺(tái)。
責(zé)任編輯:售電衡衡
-
5大重點(diǎn)任務(wù)11個(gè)重點(diǎn)細(xì)分 河北加快構(gòu)建省級(jí)能源大數(shù)據(jù)中心
-
能源互聯(lián)網(wǎng)注入數(shù)字經(jīng)濟(jì)新動(dòng)能 電力大數(shù)據(jù)實(shí)現(xiàn)更多價(jià)值
-
中國(guó)首個(gè)100%利用清潔能源運(yùn)營(yíng)的大數(shù)據(jù)產(chǎn)業(yè)園投運(yùn)
2020-07-21清潔能源,清潔能源消納,青海
-
探索大數(shù)據(jù) 區(qū)塊鏈實(shí)現(xiàn)與能源互聯(lián)網(wǎng)良好契合
2020-06-09區(qū)塊鏈,電力行業(yè),能源互聯(lián)網(wǎng) -
基于區(qū)塊鏈的含安全約束分布式電力交易方法
-
區(qū)塊鏈在能源交易與協(xié)同調(diào)度的應(yīng)用前景:提升電力交易的自由度和實(shí)時(shí)響應(yīng)效率
2019-11-04區(qū)塊鏈在能源交易與協(xié)同