區(qū)塊鏈可以是公開(kāi)的,也可以是私有的,可以是被許可的,也可以是不可信的
IBM Hyperledger和R3 Corda是應(yīng)用最廣泛的兩個(gè)企業(yè)區(qū)塊鏈
實(shí)際解決方案的部署仍然有限且不完整
這個(gè)空間正在繼續(xù)進(jìn)化,并且處于早期階段
企業(yè)采用仍然很謹(jǐn)慎
導(dǎo)航區(qū)塊鏈空間可能非常具有挑戰(zhàn)性。
關(guān)于這個(gè)主題的文章很多,其中很多充斥著大量的空話和炒作。
在本文中,我們將解釋區(qū)塊鏈項(xiàng)目的兩個(gè)主要分支(公共和私有)之間的區(qū)別,以及與該領(lǐng)域相關(guān)的一些基本技術(shù)術(shù)語(yǔ)。
在區(qū)塊鏈空間中使用的一些最重要的術(shù)語(yǔ)是:
受信任第三方——某些事實(shí)(例如參與者的身份)不能被核實(shí)的系統(tǒng),除非引用特權(quán)(通常是集中的)權(quán)威。
無(wú)信任——不依賴任何可信任的第三方進(jìn)行任何操作的系統(tǒng),包括交易確認(rèn)或身份驗(yàn)證。
工作證明(POW)——尋找沒(méi)有捷徑算法的數(shù)學(xué)難題(通常是哈希值問(wèn)題)的解決方案,因此必須通過(guò)蠻力計(jì)算來(lái)解決。
未使用的交易輸出(UTXO)——在某些區(qū)塊鏈(如比特幣)中,交易消耗輸入,而留下一些輸出未使用。這些未使用的輸出可以成為未來(lái)事務(wù)的輸入。
· 虛擬機(jī)模型——一些區(qū)塊鏈(尤其是Ethereum)有一個(gè)抽象模型,用來(lái)表示系統(tǒng)的整體狀態(tài),以及如何更新該狀態(tài)。該模型通??梢杂锰摂M狀態(tài)機(jī)的形式化模型來(lái)描述,例如Ethereum虛擬機(jī)(EVM)。
· 圖靈完備——一個(gè)小型的事件驅(qū)動(dòng)程序,可以部署到支持程序執(zhí)行的區(qū)塊鏈中。一旦部署,程序?qū)⒗^續(xù)執(zhí)行,使用區(qū)塊鏈?zhǔn)聞?wù)作為輸入,并可以采取導(dǎo)致執(zhí)行進(jìn)一步事務(wù)的操作。程序的代碼是進(jìn)行了加密保護(hù)的。
· 圖靈完備-一個(gè)計(jì)算機(jī)科學(xué)術(shù)語(yǔ),可以理解為“完全有能力的編程語(yǔ)言”。所有主流語(yǔ)言如Java、Javascript、Python、Ruby、Go等都是圖靈完備的。出于技術(shù)原因,一些區(qū)塊鏈可能會(huì)選擇不把圖靈完備語(yǔ)言的全部功能提供給聰明的合同作者。
每一個(gè)術(shù)語(yǔ)都有更多的細(xì)節(jié),但其中最重要的一些方面包括:
1. 大多數(shù)事務(wù)系統(tǒng)完全或部分依賴于某些受信任的第三方。另一方面,不信任是一種相當(dāng)顯著的特性,但它不是廉價(jià)獲得的——必須付出相當(dāng)大的額外復(fù)雜性和努力,才能使系統(tǒng)表現(xiàn)出不信任。關(guān)鍵是許多區(qū)塊鏈?zhǔn)褂玫腜OW算法。
2. 一旦找到了POW問(wèn)題的解決方案(基本上是通過(guò)大規(guī)模的反復(fù)試驗(yàn)),那么任何參與者都可以立即證明解決方案的正確性。好的POW問(wèn)題具有統(tǒng)計(jì)特性,任何觀察者都可以可靠地估計(jì)在偶然發(fā)現(xiàn)一個(gè)解決方案時(shí)花費(fèi)了多少計(jì)算時(shí)間。這使得它們適合作為公共區(qū)塊鏈(如比特幣)中的分布式共識(shí)機(jī)制使用。
3. UTXO模型提供了一個(gè)簡(jiǎn)單的路由來(lái)確保交易的完整性,并防止相同的比特幣在兩個(gè)獨(dú)立的交易中被使用兩次(_double-spending問(wèn)題_)。這是通過(guò)確保事務(wù)的所有輸入都必須出現(xiàn)在輸出集合(UTXO數(shù)據(jù)庫(kù))中。
4. 相比之下,虛擬機(jī)模型(尤其是由Ethereum實(shí)現(xiàn)的)提供了一個(gè)重要的擴(kuò)展——能夠存儲(chǔ)任意狀態(tài),并在網(wǎng)絡(luò)中以一種不信任和完全分散的方式運(yùn)行簡(jiǎn)單程序。
隨著這些主要定義的闡明,我們現(xiàn)在可以看看當(dāng)今世界上使用的一些主要的基于區(qū)塊鏈的技術(shù)。
比特幣
原始加密貨幣,它使用未使用事務(wù)輸出(UTXO)模型作為分類賬。它使用一個(gè)簡(jiǎn)單的POW算法進(jìn)行挖掘,該算法基于猜測(cè)一個(gè)隨機(jī)字符串,當(dāng)該字符串與上一個(gè)事務(wù)塊組合時(shí),會(huì)導(dǎo)致組合的SHA-256哈希值在數(shù)字上小于一個(gè)小閾值。
成功猜出答案的參與者被稱為“挖掘了一個(gè)塊”,塊中包含的交易被添加到分類賬中。
這樣就可以使用一種非常簡(jiǎn)單的方法來(lái)確定共識(shí)——參與者只需同意,應(yīng)該將最長(zhǎng)的鏈視為挖掘下一個(gè)事務(wù)塊的基礎(chǔ)。
比特幣的設(shè)計(jì)初衷并不是為了滿足智能合約。因此,可用的功能非常有限,主要是通過(guò)對(duì)碰巧存在于協(xié)議中的側(cè)通道的新穎使用。由此產(chǎn)生的功能絕不是圖靈完備的,相反,大多數(shù)對(duì)比特幣的分析都忽略了它。
由此產(chǎn)生的系統(tǒng)是純粹的加密安全分類帳。
除了使用加密簽名來(lái)驗(yàn)證事務(wù)的起源之外,它沒(méi)有任何身份語(yǔ)義,而且完全不可信任。
以太坊
這種分類賬建立在比特幣的一些思想基礎(chǔ)上,但它模擬的是單個(gè)全球虛擬機(jī)的狀態(tài),而不是UTXO模型。關(guān)鍵的創(chuàng)新是增加了圖靈完備的智能合約能力。以太坊虛擬機(jī)(EVM),是一個(gè)專門(mén)為分布式賬本和智能契合約使用而創(chuàng)建的虛擬機(jī)。
在以太坊中,程序狀態(tài)是私有的,屬于單獨(dú)的合約地址,由一系列EVM字節(jié)碼指令改變,這些指令是智能合約的內(nèi)容。
然后,通過(guò)聚合每個(gè)合約地址的程序狀態(tài),可以得到總體的全局狀態(tài)。
以太坊網(wǎng)絡(luò)中的所有完整節(jié)點(diǎn)都遵循模型的規(guī)則。他們可以為他們機(jī)器上的任何合約地址的狀態(tài)進(jìn)行計(jì)算,只要他們使用相同的事務(wù)(構(gòu)成以太坊模型中的輸入數(shù)據(jù)),就會(huì)得到相同的結(jié)果。
由于以太坊使用全局一致算法,并且具有全局最新塊的概念,所以以太坊虛擬機(jī)的整體事務(wù)處理速率受到塊生成速率的限制。在以太坊網(wǎng)絡(luò)中增加更多的硬件和計(jì)算能力并不會(huì)使其更快或更強(qiáng)大,只是更能防止篡改。
使用Turing-complete智能合約允許在網(wǎng)絡(luò)之上添加額外的功能,而不需要所有參與者都知道它們。例如,這允許以太坊網(wǎng)絡(luò)發(fā)出在以太空間虛擬機(jī)中作為附加狀態(tài)持有的軟件代幣。這就是所謂的ICO的基礎(chǔ)。
EVM在表面上類似于JVM,但在一些重要領(lǐng)域進(jìn)行了不同的設(shè)計(jì)。特別是,EVM字節(jié)碼的設(shè)計(jì)使得對(duì)已編譯代碼的靜態(tài)分析比對(duì)已建立的替代方案的靜態(tài)分析要困難得多。對(duì)于需要非常高的透明性和可驗(yàn)證性的執(zhí)行環(huán)境來(lái)說(shuō),這不是一個(gè)賣(mài)點(diǎn)。
低級(jí)的EVM環(huán)境也不是特別適合人類的編程環(huán)境。因此,創(chuàng)建了一些更高級(jí)的語(yǔ)言,這些語(yǔ)言可以編譯為EVM字節(jié)碼。并以穩(wěn)定性著稱。
受主流編程語(yǔ)言(如Javascript和Java)的啟發(fā),Solidity語(yǔ)言還集成了與以太坊區(qū)塊鏈交互的新特性。
在某些方面,以太方是自身成功的受害者。它作為ICO選擇平臺(tái)的出現(xiàn),導(dǎo)致了ETH在2018年初的高價(jià)位。這種由以太坊團(tuán)隊(duì)自己持有的加密貨幣的數(shù)量導(dǎo)致了這樣一種局面:許多主要參與者都對(duì)現(xiàn)狀有著巨大的既得利益,并希望實(shí)現(xiàn)他們的賬面利潤(rùn)。
Corda
R3 Corda使用UTXO模型(類似于比特幣),但在設(shè)計(jì)中還包括圖靈完備的智能合合約。這些合約表示為JVM字節(jié)碼,具有可選的附加確定性保證,從而限制了合約語(yǔ)義。
該方法不使用單個(gè)全局鎖(塊高度)來(lái)控制分類帳狀態(tài)的進(jìn)展,而是允許不沖突的事務(wù)并行進(jìn)行。這有效地細(xì)化了鎖,但代價(jià)是需要更復(fù)雜和微妙的時(shí)間概念。在Corda模型中,簡(jiǎn)單的“最長(zhǎng)鏈獲勝”規(guī)則不再是一個(gè)足夠的共識(shí)算法。
參與者是已知和可信的,因?yàn)榈谌缴矸蒡?yàn)證是Corda體系結(jié)構(gòu)的自然組成部分。
作為移除全局賬本鎖的一個(gè)副作用,Corda包含了退出/進(jìn)入語(yǔ)義,以從主鏈中分離事務(wù),并防止所有事務(wù)隨時(shí)間的推移糾纏在一起。這是可能的,因?yàn)轶w系結(jié)構(gòu)強(qiáng)烈依賴于受信任的第三方模型。
因此,某些參與者撤銷(xiāo)分類賬項(xiàng)目(相當(dāng)于加密貨幣中的代幣)并將其替換為沒(méi)有交易歷史記錄的新鑄造的等價(jià)物的權(quán)力,可以得到身份當(dāng)局的保證。
Corda的創(chuàng)建者并不認(rèn)為它與加密貨幣有那么大的相似之處。
相反,他們認(rèn)為技術(shù)是在整個(gè)市場(chǎng)層面上形成的共享基礎(chǔ)設(shè)施,而不是在單個(gè)公司層面上。
這將Corda定位為企業(yè)區(qū)塊鏈,旨在供那些能夠受益于公共基礎(chǔ)設(shè)施和對(duì)世界狀態(tài)的共同看法的組織使用,而不是維護(hù)不同版本的記錄,因?yàn)檫@不可避免地會(huì)導(dǎo)致協(xié)調(diào)問(wèn)題。
HyperLedger
由IBM發(fā)起的HyperLedger項(xiàng)目是另一個(gè)領(lǐng)先的企業(yè)區(qū)塊鏈解決方案。
HyperLedger結(jié)構(gòu)是一個(gè)區(qū)塊鏈框架實(shí)現(xiàn),是Linux基金會(huì)托管的超級(jí)賬本項(xiàng)目之一。
IBM項(xiàng)目的主要設(shè)計(jì)目標(biāo)包括機(jī)密性、彈性、靈活性和可伸縮性。
與Corda一樣,Hyperledger也使用一種許可的架構(gòu)。
它實(shí)現(xiàn)了一種確定性的實(shí)用拜占庭式Faul容忍(PBFT)算法,該算法確保一旦接收到事務(wù)完成通知,事務(wù)就真正完成了。
IBM已經(jīng)投資于可靠的Docker集成,包括容器內(nèi)的測(cè)試。
HyperLedger的智能合約可以用Java編寫(xiě),有一個(gè)SDK (Go合同也是可能的)。
HyperLedger按角色劃分節(jié)點(diǎn),這些角色包括完全對(duì)等的節(jié)點(diǎn)、證書(shū)頒發(fā)機(jī)構(gòu)節(jié)點(diǎn)(許可所需的節(jié)點(diǎn))和將事務(wù)分組為塊的定購(gòu)者。
HyperLedger區(qū)塊鏈狀態(tài)建模為版本化的鍵值存儲(chǔ)(KVS),其中鍵是名稱(字符串),值是任意blob。
這是一個(gè)非常低級(jí)的接口,在該接口之上,Hyperledger提供了一個(gè)名為L(zhǎng)edger的層,它提供了所有成功狀態(tài)更改的可驗(yàn)證歷史記錄。
HyperLedger的代碼和體系結(jié)構(gòu)仍在快速發(fā)展,但實(shí)際的生產(chǎn)試驗(yàn)已經(jīng)開(kāi)始出現(xiàn),它與Corda一起出現(xiàn),成為企業(yè)更可能使用的解決方案之一。
用例
區(qū)塊鏈的用例仍在熱烈討論中。
有一個(gè)明顯的例子,就是抵制審查的數(shù)字貨幣。
然而,2018年加密貨幣市場(chǎng)的波動(dòng)性和分散性似乎表明,缺乏信任的數(shù)字貨幣的實(shí)際適用性有限。
從企業(yè)的角度來(lái)看,越來(lái)越清楚的是,他們還可以用于創(chuàng)建部署為一個(gè)共享的系統(tǒng)或網(wǎng)絡(luò),并構(gòu)造多個(gè)實(shí)體之間不一定相互信任還想分享數(shù)據(jù)和維護(hù)一種共識(shí)各方關(guān)心的問(wèn)題。
在這些用例中,集中式的權(quán)限對(duì)于參與者來(lái)說(shuō)是不可接受的,或者設(shè)置過(guò)于昂貴,這些用例仍然在出現(xiàn)。
盡管時(shí)間、精力和風(fēng)險(xiǎn)資本已經(jīng)部署到迄今為止創(chuàng)建的眾多區(qū)塊鏈項(xiàng)目中,但情況還是如此。
隨著更多的項(xiàng)目進(jìn)入2019年的市場(chǎng),區(qū)塊鏈的前景是否會(huì)像它的支持者們?cè)谙喈?dāng)長(zhǎng)的一段時(shí)間里所承諾的那樣產(chǎn)生重大影響,還有待觀察。
評(píng)論
查看更多