目前有很多關(guān)于區(qū)塊鏈技術(shù)的炒作,特別是正在發(fā)生的加密貨幣首次公開募幣(initial coin offering,ICO)泡沫里。但是,這種炒作方式可以幫助企業(yè)管理資產(chǎn)并在信任問題上進(jìn)行協(xié)作。驅(qū)動(dòng)區(qū)塊鏈的底層的共享總賬模型是一個(gè)強(qiáng)大的工具,而且是具有很大潛力的工具。
因此,看到微軟在仔細(xì)研究將區(qū)塊鏈其嵌入到Azure平臺(tái)的方法,先是有Bletchley項(xiàng)目(Project Bletchley),現(xiàn)在有Coco框架(Coco Framework),這不足為奇。
為了支持企業(yè)區(qū)塊鏈,Coco框架的設(shè)計(jì)初衷就是私密使用。這使得它比公共加密貨幣區(qū)塊鏈和服務(wù)更具性能優(yōu)勢(shì),因?yàn)楹笳咭褂么罅康挠?jì)算能力來運(yùn)行大規(guī)模、可擴(kuò)展和最重要的透明網(wǎng)絡(luò)。在公共網(wǎng)絡(luò)中,交易需要重要的“工作量證明”才能視為合法,這使它們?cè)诤芏鄻I(yè)務(wù)場(chǎng)景中變得很慢并且很難使用。
Coco不是一個(gè)區(qū)塊鏈而是一系列根基
Coco框架不是一個(gè)區(qū)塊鏈協(xié)議。它是構(gòu)建可信節(jié)點(diǎn)集合的一種方法,它具有確保它們之間的一致性和管理機(jī)密性的工具。一旦實(shí)現(xiàn)了這一點(diǎn),你可以使用現(xiàn)有的區(qū)塊鏈協(xié)議來設(shè)置和管理你的分布式賬本。
微軟已經(jīng)通過以太坊(Ethereum)平臺(tái)測(cè)試了Coco與區(qū)塊鏈促成的合同,并且建議其它工具(如Quorum和Corda)也應(yīng)該兼容。可能最好將Coco視為安全計(jì)算技術(shù)和區(qū)塊鏈之間的一個(gè)層。
微軟Azure的首席技術(shù)官M(fèi)ark Russinovich表示,目前來說,區(qū)塊鏈還沒準(zhǔn)備好為企業(yè)提供加密貨幣以外的應(yīng)用。“企業(yè)希望在聯(lián)盟環(huán)境中使用區(qū)塊鏈而不是公開賬本和比特幣,在這個(gè)聯(lián)盟環(huán)境里有多個(gè)參與方,不同的組織或同一個(gè)組織的不同小組,這些小組希望擺脫集中化賬本的摩擦。一個(gè)區(qū)塊鏈的分布式賬本為他們提供了擺脫中間人的機(jī)會(huì),并對(duì)不同組織間的互動(dòng)有充分的透明度。”
Coco框架的核心是聯(lián)盟的思想,一組可能是個(gè)人或公司的實(shí)體,甚至是應(yīng)用程序或服務(wù),而不是開放的公共網(wǎng)絡(luò),它是封閉且私密的,更像是EDI系統(tǒng),用于將公司與供應(yīng)商連接在一起,而不是公共互聯(lián)網(wǎng)。在此不難看出EDI工具的用途,比如說一船運(yùn)行Coco的集裝箱,在船上裝有貨物的所有人都可以看到船只在哪里,監(jiān)控其集裝箱的狀態(tài),并分發(fā)提單和通關(guān)流程所需的關(guān)鍵文件。
提高Coco的安全性
Coco與其它區(qū)塊鏈實(shí)現(xiàn)方式不同之處在于,它支持可信任執(zhí)行環(huán)境(trusted execution environment,TEE),其基于內(nèi)置于Azure基礎(chǔ)架構(gòu)中使用的處理器中的安全技術(shù)以及承載Coco應(yīng)用程序元素的安全虛擬機(jī)。
Russinovich指出:使用安全的飛地(與蘋果在iPhone和iPad的Touch ID安全性中使用的技術(shù)相同)“避免了與現(xiàn)有區(qū)塊鏈實(shí)現(xiàn)相關(guān)的一些問題,允許Coco聯(lián)盟的成員就該聯(lián)盟的章程和正在運(yùn)行的代碼版本達(dá)成一致(在代碼中定義)。
在使用TEE的情況下,如果聯(lián)盟的其他成員沒有見證代碼被篡改,則代碼不能被修改,因?yàn)橐粋€(gè)TEE可以驗(yàn)證另一個(gè)運(yùn)行的軟件。相同的技術(shù)也確保了TEE之間的通信是安全的,不能從TEE外部竊聽。
一旦在Coco框架應(yīng)用程序中進(jìn)行了交易,它就會(huì)廣播到一個(gè)聯(lián)盟中的所有節(jié)點(diǎn),然后用于更新區(qū)塊鏈總賬。因?yàn)槊總€(gè)節(jié)點(diǎn)信任網(wǎng)絡(luò)的其余部分,所以可以達(dá)成共識(shí),而無需檢查惡意交易或與分類賬的沖突。
Coco使區(qū)塊鏈安全,私密,快速
結(jié)果是一個(gè)安全和私密的網(wǎng)絡(luò),在那里不需要復(fù)雜的、計(jì)算上昂貴的“工作量證明”計(jì)算。此外,你的網(wǎng)絡(luò)會(huì)使用熟悉的分布式計(jì)算仲裁規(guī)則自行更新。
結(jié)果是以分布式數(shù)據(jù)庫速度運(yùn)行的區(qū)塊鏈。沒有這些昂貴的計(jì)算,它也不需要比特幣和其它加密貨幣使用的高能耗的定制硬件——目前使用的能量超過了130萬美國(guó)家庭使用的能量。
除了對(duì)面向企業(yè)的區(qū)塊鏈?zhǔn)绞褂玫腃oco之外,微軟一直在嘗試使用Coco框架來托管現(xiàn)有的區(qū)塊鏈實(shí)施,如以太坊(Ethereum)。在公共以太坊網(wǎng)絡(luò)中,交易處理速度約為每秒20次,延遲時(shí)間為10到20秒。在Coco Framework TEE上運(yùn)行相同的代碼,處理速率飆到每秒1500個(gè)交易,延遲時(shí)間為100到200毫秒。這快得多,它提供了由Visa信用卡網(wǎng)絡(luò)處理的每秒近2000筆交易。
以數(shù)據(jù)庫速度運(yùn)行的區(qū)塊鏈?zhǔn)且粋€(gè)游戲顛覆者,特別是當(dāng)它與分布式系統(tǒng)中處理一致性的現(xiàn)代思想相關(guān)聯(lián)時(shí)。與云一起協(xié)作的復(fù)雜性在于一致性問題。通過使用區(qū)塊鏈構(gòu)建云中的可信節(jié)點(diǎn)之間的可信網(wǎng)絡(luò),你可以將區(qū)塊鏈視為應(yīng)用程序的信任根,你知道它將盡可能保持最新,即使你看不到網(wǎng)絡(luò)中的最新交易中,你可以相信它們僅出現(xiàn)一次,并且將按順序出現(xiàn)。
Coco為商業(yè)世界創(chuàng)造了一個(gè)區(qū)塊鏈
Coco框架也可以使用來自區(qū)塊鏈以外的軟件,所以如果你使用它來處理智能合同(如以太坊中的那些),則可以根據(jù)外部數(shù)據(jù)驗(yàn)證合同。也許你正在使用一個(gè)智能合同買賣貨幣,當(dāng)利率在特定范圍以外的時(shí)候就賣出。將Coco應(yīng)用程序連接到可信賴的價(jià)格來源可以自動(dòng)執(zhí)行智能合同,從而在Coco框架之外觸發(fā)交易,同時(shí)將其記錄在其私有區(qū)塊鏈中。
Coco框架中的大部分內(nèi)容獨(dú)立于微軟的技術(shù),而且很容易看到它在Amazon Web Services或私有服務(wù)器上運(yùn)行。但是,Russinovich建議,Azure將在Azure的全球云端找到一個(gè)自然的家園:“我可以想象,一個(gè)完全基于Azure組成的聯(lián)盟網(wǎng)絡(luò),成員節(jié)點(diǎn)由世界各地的獨(dú)立方運(yùn)營(yíng),在那里他們通過Azure骨干網(wǎng)訪問成員節(jié)點(diǎn)時(shí)碰巧延遲很低。”
微軟正在做的不僅僅是想象這樣一個(gè)現(xiàn)實(shí),Russinovich說:“我們現(xiàn)在正致力于一個(gè)更深入地整合基礎(chǔ)設(shè)施服務(wù)的項(xiàng)目,如密鑰保管庫,并用Azure監(jiān)控來完成Azure中節(jié)點(diǎn)的全面的生命周期管理。它甚至可能采用近乎無服務(wù)器的方法來實(shí)現(xiàn)智能合同,在這個(gè)合同里客戶只需編寫一個(gè)智能聯(lián)系人,并通過門戶網(wǎng)站提交到分類賬,并且在后臺(tái)碰巧將該交易提交到網(wǎng)絡(luò),使用Azure憑據(jù)進(jìn)行身份驗(yàn)證。
當(dāng)微軟在2018年GitHub上發(fā)布作為開源項(xiàng)目的Coco框架時(shí),我們將能了解更多詳情。