Lucas Mearian
雖然區(qū)塊鏈有望重塑業(yè)務流程,但是它們?nèi)匀皇且环N處于開發(fā)中的技術,存在適用的生產(chǎn)系統(tǒng)少等問題,更不用說必須要解決的治理問題和漏洞問題。
雖然區(qū)塊鏈在創(chuàng)建新的金融、供應鏈和數(shù)字身份系統(tǒng)等方面有著巨大的潛力,但是它們常常被錯誤地視為解決業(yè)務問題的靈丹妙藥。
雖然由大型企業(yè)和政府部門實施的大量試點項目和概念驗證項目表明,區(qū)塊鏈技術確實有望解決業(yè)務問題,但是這些項目有時候并不比以其他方式實現(xiàn)的業(yè)務用例更成效顯著。例如,像關系型數(shù)據(jù)庫這樣經(jīng)過驗證的技術有時可以比基于P2P技術的分布式賬本更為高效地執(zhí)行任務,因為分布式賬本技術需要復雜的管理和規(guī)則。
在整個價值鏈中提供完全可見性的區(qū)塊鏈可能會具有許多重大意義,但是當我們權衡建立相關生態(tài)系統(tǒng)和構建該區(qū)塊鏈的成本時,會發(fā)現(xiàn)它們可能在財務上并沒有什么意義。
市場研究機構IDC負責全球區(qū)塊鏈戰(zhàn)略的研究主管James Wester稱:“誰將為此買單?如何讓參與者獲得直觀的利益?如果成本是共享的,那么成果是否共享?投資回報是否共享?這些都是非常棘手的問題,并且隨著試點項目轉(zhuǎn)化為生產(chǎn)項目,問題會變得越來越嚴重。換句話說,試點項目只是證明了這個概念是有效的,但是規(guī)模、成本和其他因素的影響正變得越來越大?!?/p>
部分問題與區(qū)塊鏈項目的出資方式有關。試點項目和概念驗證的資金往往來自創(chuàng)新或研發(fā)預算,但是一旦投入生產(chǎn),成本必須是算到業(yè)務部門或公司頭上。當區(qū)塊鏈涉及合作伙伴共同致力于一個開放式分類賬時,合作伙伴之間必須就復雜的規(guī)則和項目的資金來源達成一致。
Wester說:“如果沒有引人注目的業(yè)務用例,這些成本可能就會缺乏吸引力。鑒于區(qū)塊鏈的分布式特性,如果有一方?jīng)Q定不參與,那么整個事情就會崩潰?!?/p>
以下是企業(yè)在區(qū)塊鏈上可能遇到的主要問題:
區(qū)塊鏈仍不成熟且軟件存在缺陷
雖然第一個分布式區(qū)塊鏈在2008年被“中本聰”(化名)概念化,但是該技術的實際應用只有幾年的歷史。
Hyperledger和以太坊這兩個最流行的區(qū)塊鏈平臺都缺乏成熟度,這可能會導致在部署中出現(xiàn)無法預料的問題。市場研究機構Forrester Research的首席分析師Martha Bennett指出,首席信息官及其團隊應該考慮軟件中可能存在著嚴重的漏洞。他們甚至可能需要在遇到軟件故障后廢棄區(qū)塊鏈項目并再次從頭開始。
例如,以太坊用于執(zhí)行智能合約的腳本Solidity目前不支持使用小數(shù)點,這需要開發(fā)人員創(chuàng)建變通的方法或重新開始。
Bennett說:“我已經(jīng)看到在很多場合都出現(xiàn)過這種情況。當我與從事這些項目的工作人員交談時,他們也提到,隨著從事這項技術的時間越長,他們就越發(fā)地意識到這一技術是多么的不成熟。”
目前的變化是,初創(chuàng)企業(yè)和領先的企業(yè)技術供應商,如IBM和甲骨文,正在穩(wěn)步地開展研究工作,以提供從特定編程環(huán)境的底層復雜性中抽象出相關的工具,以及可提供適當引導的智能合約腳本語言。
Bennett說:“總體而言,值得指出的是,不僅僅是工具正在改進,而且目前還出現(xiàn)了不少服務,企業(yè)可以輕松地通過這些服務讓區(qū)塊鏈網(wǎng)絡保持正常運行?!?/p>
很少有業(yè)務領導者能夠充分了解區(qū)塊鏈和相關技術
區(qū)塊鏈通常是對大量附帶技術、架構、用例甚至哲學內(nèi)容的一種速記形式。
從本質(zhì)上說,它由一組協(xié)議和區(qū)塊鏈組合而成的一個基于P2P的分布式分類賬或數(shù)據(jù)庫,這意味著一系列加密的數(shù)據(jù)集。雖然這樣做可能相對簡單些,但是根據(jù)技術的實施方式,定義可能會變得很復雜。
Wester經(jīng)常被要求定義區(qū)塊鏈以及與“區(qū)塊鏈”有關的“一攬子技術”,包括標記化資產(chǎn)、加密貨幣、加密錢包、分布式賬本、智能合約和自我主權身份。這些相關技術只是可以在區(qū)塊鏈網(wǎng)絡上運行的應用程序或體系結構,并不是區(qū)塊鏈技術本身的一部分。
Wester說:“我們目前仍處于解釋該技術如何運作的階段。我們也是在沒有真正了解其中差異的情況下對這一技術展開了一些相對明智的討論,然而許多一知半解的人根本不想深入學習這些術語和技術?!?/p>
區(qū)塊鏈并不總是適合存儲數(shù)據(jù)
區(qū)塊鏈最大的優(yōu)勢之一是它們在一次寫入的同時附加了許多分散的特性,可在Web上的不同節(jié)點上輕松部署,但每條記錄都包含自己的哈希值,使其保持不可變。
通過基于區(qū)塊鏈網(wǎng)絡,分布式賬本可以提供更為豐富且更為全面的交易歷史記錄。而用戶通過內(nèi)部系統(tǒng)或黑名單查看到的交易記錄只是片面的且不完整的。
盡管如此,這并不意味著與交易相關的數(shù)據(jù)必須是該鏈的一部分。
例如,如果區(qū)塊鏈用戶將圖像作為其交易的一部分包含在內(nèi),那么數(shù)據(jù)量將會迅速增長,同時網(wǎng)絡開銷也會增加,因為只能夠添加的數(shù)據(jù)存儲會隨著時間的推移變得越來越大。Bennett解釋道,由于區(qū)塊鏈的分布式特性,所有數(shù)據(jù)必須復制到鏈中的所有節(jié)點上。
對于某些事務性任務,最好使用具有單獨網(wǎng)絡存儲的關系型數(shù)據(jù)庫,而不是使用區(qū)塊鏈,因為不斷增長的區(qū)塊鏈最終會失控。Bennett稱:“經(jīng)驗法則告訴我們,如果關系型數(shù)據(jù)庫能完成這項工作時,永遠不要選擇基于區(qū)塊鏈的架構?!?/p>
Bennett表示,雖然并非所有的區(qū)塊鏈框架都需要跨節(jié)點完全復制數(shù)據(jù),但是所有系統(tǒng)都需要經(jīng)過精心設計,以解決監(jiān)管要求、機密性需求、可能的延遲問題。 她說:“這決定了鏈條上會發(fā)生什么,不會發(fā)生什么?!?/p>
擴展仍然是一個問題
區(qū)塊鏈面臨的一個主要問題是可擴展性,也就是在不消耗越來越多的CPU容量的情況下提升近乎實時地完成交易的能力,例如信用卡清算付款。Visa稱其VisaNet網(wǎng)絡每秒可處理多達6.5萬筆交易。
由于區(qū)塊鏈的鏈式特性,插入?yún)^(qū)塊鏈的每個新記錄都必須被序列化,這意味著它們的更新速率要比傳統(tǒng)數(shù)據(jù)庫慢,因為后者可以并行更新數(shù)據(jù)。
雖然區(qū)塊鏈聯(lián)盟和初創(chuàng)企業(yè)都在試用區(qū)塊鏈,并且這些區(qū)塊鏈每秒可以處理上萬次交易,甚至比VisaNet的網(wǎng)絡容量更大,但是大多數(shù)仍然受到擴展問題的阻礙。流行的區(qū)塊鏈協(xié)議(如比特幣)每秒僅支持3到5次交易,以太坊每秒也僅支持約20次交易。
可擴展性雖然是一個問題,但是它們在框架和治理模式之中所表現(xiàn)出來的嚴重性是不同的。例如,以太坊基金會正致力于使用權益證明共識模型和分片等技術來提高其協(xié)議的性能。
Bennett說:“構建網(wǎng)絡的方式也很重要,延遲可能比計算能力更具挑戰(zhàn)性。我看到了一些令人印象非常深刻的測試結果,但是如果這些結果的取得是通過租用龐大的AWS集群實現(xiàn)的,那么它們就毫無意義?!?/p>
市場研究機構Gartner的研究副總裁Avivah Litan表示,與技術問題相比,目前的可擴展性更像是一個治理問題。
Litan說:“特許區(qū)塊鏈的出現(xiàn)導致零信任模式的概念土崩瓦解。由于見證節(jié)點操作和共識過程的證人數(shù)量有限,因此你實際上需要相信各方,需要一些法律框架以防止他們出錯。對我來說,這不是真正的可擴展性。”
在區(qū)塊鏈背景下,我們經(jīng)常使用的度量標準,即“每秒交易次數(shù)”也相對變得毫無意義。Bennett說:“首先是你如何定義‘交易?其次,如果你無法完成它們,那么對大量交易的處理就變得無關緊要了。”
區(qū)塊鏈需要管理
區(qū)塊鏈本身并沒有消除中央機構。美國明尼阿波利斯聯(lián)邦儲備銀行最近的一份報告顯示,它們只是將一種機構或信托模式替換成了另一種而已。
報告指出,“在促進交換的過程中,對中介或中央銀行等中央機構的信任取而代之的是參與者必須信任區(qū)塊鏈系統(tǒng)的設計和技術,以及網(wǎng)絡規(guī)則。在制訂、實施和執(zhí)行規(guī)則以及應對意外的系統(tǒng)問題和特殊情況方面,它們并沒有消除對某種形式的管理機構的需求。雖然管理機構的成員可能是分散的,但是解決運營問題仍然需要管理?!?/p>
Bennett指出,爭議解決方案或者在出現(xiàn)問題時如何達成協(xié)議,仍然是一個關鍵的管理問題。例如,區(qū)塊鏈參與者需要就如何遵守智能合約達成一致,以及在有爭議的合約出現(xiàn)時應該做些什么。
Bennett說:“如果發(fā)生了忘記向區(qū)塊鏈中編碼的情況,那么你需要采用脫鏈的方式對其進行編碼。如果它們以一種非預期的方式開始執(zhí)行,那么就需要‘切斷開關?!?/p>
默認情況下,區(qū)塊鏈會共享用戶可能并不想共享的信息
公共區(qū)塊鏈作為最流行的形式,是開放且透明的。這意味著鏈中的任何人都可以看到每筆交易。比特幣就是這種情況。
公共區(qū)塊鏈還具有新的防篡改能力,因為它們可以擴展到數(shù)千個(甚至數(shù)百萬個)節(jié)點,就像一臺巨大的分布式計算機。節(jié)點越多,不良行為者就越難以控制大部分計算能力。
另一方面,在商業(yè)環(huán)境中,完全透明并不是一件好事。例如,如果區(qū)塊鏈技術被用作股票交易平臺的一部分,作為即時結算機制,則鏈中的每個參與者都可以看到每個其他用戶正在做什么。這將導致一個用戶實時狙擊另一個用戶的交易。
又例如,如果制造商使用區(qū)塊鏈作為其供應商的開放式分類賬,那么這將導致一家承包商能夠查看鏈中的所有其他分包商。
Bennett說:“我可能不希望客戶看到我的所有分包商都是誰,即使他們可能想要的是鏈上的特定交易流也不行。因此你需要立即考慮如何保持交易數(shù)據(jù)的機密性?!?/p>
有一些方法可以在區(qū)塊鏈上創(chuàng)建排他性,這樣只有部分用戶才能看到機密或敏感數(shù)據(jù)。例如,Linux基金會旗下的開源區(qū)塊鏈項目Hyperledger使用“渠道”或子鏈來確保只有一些授權用戶可以看到敏感信息。
最薄弱的環(huán)節(jié)決定了區(qū)塊鏈的安全性
如上所述,區(qū)塊鏈有兩種常見類型,即公共區(qū)塊鏈和私有區(qū)塊鏈。公共區(qū)塊鏈允許任何人加入。比特幣就是公共區(qū)塊鏈的一個優(yōu)秀示例,任何想要購買加密貨幣的人都可以加入這個鏈條。它們是開放且透明的,這意味著鏈中的每個人都可以看到所有交易。如果一個或是許多個參與者試圖欺騙系統(tǒng),那么他們將會被必須要驗證新交易有效性的大多數(shù)用戶所發(fā)現(xiàn)。
Litan稱:“最重要的是你不用在大型公共區(qū)塊鏈網(wǎng)絡中必須信任你的同行了。也就是說,公共區(qū)塊鏈解決了‘拜占庭將軍問題[譯者注:指一方向另一方發(fā)送消息,另一方?jīng)]有收到,或者收到了錯誤信息的情形]。”
與公共區(qū)塊鏈相反,私有的或特許區(qū)塊鏈是集中管理的,需要獲得許可才能加入。它們適合在單獨的組織機構內(nèi)部或是在合作的組織機構中使用。只有授權用戶才能加入。
公共和私有區(qū)塊鏈本身都是安全的,因為它們是不可變的(即每個記錄或塊都是不可更改的并且與所有其他區(qū)塊相互關聯(lián)),并且添加新塊需要用戶之間達成共識,共識得有多大規(guī)模取決于使用的區(qū)塊鏈。對于一些區(qū)塊鏈來說,50%即可; 對于其他的區(qū)塊鏈來說,這一比例可能還需要更高。盡管區(qū)塊鏈的不可變性和共識要求使得它們本身比大多數(shù)的其他網(wǎng)絡技術更為安全,但是它們的實際安全性還要取決于體系結構、誰在運行這些節(jié)點以及區(qū)塊鏈易受攻擊的弱點。
雖然區(qū)塊鏈提供的安全性與區(qū)塊鏈上記錄的數(shù)據(jù)的完整性密切相關,但是明尼阿波利斯聯(lián)邦儲備銀行的報告指出,在沒有其他技術或系統(tǒng)的情況下,區(qū)塊鏈本身并不能防止未經(jīng)授權的訪問,例如數(shù)據(jù)泄露。
例如,最近出現(xiàn)的針對以太坊經(jīng)典(ETC)令牌交換的“51%攻擊”表明,即便是區(qū)塊鏈也不是無法欺騙的。51%攻擊是指在加密貨幣挖掘池中獲得對大多數(shù)CPU的控制權的不良行為者。此類攻擊通常僅限于節(jié)點較少的小型區(qū)塊鏈,因為它們更容易由個人獲得基于PoW(工作證明)共識機制的控制權。
數(shù)據(jù)透明度,即區(qū)塊鏈上所有各方查看交易的能力使得不良行為者在企圖添加未經(jīng)驗證的數(shù)據(jù)時能夠被快速識別出來。但是數(shù)據(jù)的透明度也可能成為威脅。美聯(lián)儲在報告中指出,系統(tǒng)數(shù)據(jù)透明就是一種安全風險,因為在金融機構的結算或清算系統(tǒng)中,保密性可以說是安全性的核心部分。
報告稱:“如果既要有透明度,同時又需要保密,那就需要對鏈上的數(shù)據(jù)進行加密或者進行強身份驗證訪問。機密性和訪問控制可以內(nèi)嵌在區(qū)塊鏈中,不過這并不是區(qū)塊鏈原生的屬性,因為區(qū)塊鏈本身并不提供身份驗證?!?/p>
換句話說,不要想當然地認為某個區(qū)塊鏈包含了私密性、透明度或強大的用戶身份驗證等功能,那么其他的區(qū)塊鏈就也應該具有這些功能。
Bennett指出,為區(qū)塊鏈提供信息的系統(tǒng),例如智能合約,也可以成為攻擊向量,因為它們沒有去中心化,會出現(xiàn)單點故障。
智能合約既不智能也非合約
智能或自動執(zhí)行合約是在區(qū)塊鏈上構建的業(yè)務自動化工具。它們是區(qū)塊鏈技術中極具吸引力的功能之一,因為它們能夠消除管理開銷。基本上,一旦達到合約的某些條件,收據(jù)信息、資金、財產(chǎn)或貨物將會被自動釋放。
例如,保險公司可以使用智能合約,根據(jù)洪水、颶風或干旱等事件中的受損情況發(fā)放賠償金?;蛘撸谪浳锏竭_入境口岸時,集裝箱內(nèi)的物聯(lián)網(wǎng)傳感器確認內(nèi)容未打開且存放溫度適當?shù)龋釂螌蛔詣雍灠l(fā)。
盡管如此,Bennett認為,所謂的智能合約在法律意義上既不智能也不是合約。對程序員來說,由于學習曲線非常陡峭,加之區(qū)塊鏈腳本語言尚不成熟,因此可能會出現(xiàn)錯誤或漏洞。
根據(jù)Bennett的說法,雖然智能合約與創(chuàng)建自動化流程的規(guī)則和軟件一樣好用,但是這已然成為了一個問題。
“我們已經(jīng)看到出現(xiàn)了一些允許將智能合約的基礎整合起來的工具,”她說。“這只是一個開始,正如一些企業(yè)已經(jīng)發(fā)現(xiàn)的那樣,確保每個網(wǎng)絡參與者都運行相同版本的智能合約是一項挑戰(zhàn)。”
其他的挑戰(zhàn)還包括確保智能合約本身不會出現(xiàn)任何安全問題,確保智能合約的任何外部輸入都是有效和正確的。
Bennett指出,應當確保數(shù)據(jù)輸入的準確并在源頭上進行驗證。她說:“正如我一直說的那樣,僅憑它們在區(qū)塊鏈上并不意味著它們是真實的。智能合約跟那些為了讓團隊能夠共同實現(xiàn)流程自動化而制訂的規(guī)則是一樣的,它們的好壞取決于編程的質(zhì)量?!?/p>
區(qū)塊鏈參與者需要就如何遵守智能合約達成一致,以及在有爭議的合約出現(xiàn)時應該做些什么。創(chuàng)建一個新的業(yè)務流程需要不同用戶之間就相關條件達成一致。如果參與各方無法對運營條件達成一致,那么區(qū)塊鏈項目就會被擱置。因此區(qū)塊鏈既與IT有關,也與合同協(xié)議有關。
“最近有人對我說,區(qū)塊鏈是80%的業(yè)務加20%的技術,”Bennett說。
此外,雖然區(qū)塊鏈可能分散在數(shù)十個或數(shù)千個節(jié)點上,但是智能合約卻并非如此。這意味著區(qū)塊鏈節(jié)點無法了解智能合約的工作方式。換句話說,作為區(qū)塊鏈網(wǎng)絡一部分的企業(yè)聯(lián)盟必須依靠一個實體來獲取智能合約中的信息。
區(qū)塊鏈網(wǎng)絡使用被稱之為“oracle”(預言機)的集中式軟件代理來查找和驗證已發(fā)生的真實事件,然后再觸發(fā)智能合約,根據(jù)預先定義的條件進行執(zhí)行。例如,從加利福尼亞運往丹麥的藥品的溫度可以通過運輸容器中的物聯(lián)網(wǎng)傳感器進行監(jiān)測。傳感器信息由oracle軟件收集,然后發(fā)送給智能合約,如果在整個旅程中滿足溫度范圍,則可通過區(qū)塊鏈觸發(fā)事件,例如簽發(fā)提單或支付運費。
如果你的企業(yè)是供應鏈等區(qū)塊鏈聯(lián)盟的一部分,那么你是無法知道什么東西正在智能合約中的運行,并且沒有可證實性。從本質(zhì)上講,你必須相信企業(yè)運行的服務器,因為oracle和智能合約會將反饋給區(qū)塊鏈的信息駐留在服務器上。
Gartner的Litan稱:“你必須找到一個源、一個表單、一個oracle來獲取這些數(shù)據(jù)。對于數(shù)據(jù)的驗證還沒有一個標準的流程。這將有可能會成為一個嚴重的問題?!?/p>
Litan指出,“我曾經(jīng)與聯(lián)盟中的成員企業(yè)探討過關于‘你們是如何知道智能合約正在做什么的?這一問題。他們給出的答案是,他們根本就不知道。如果這些智能合約關系到企業(yè)的存亡,你難道就不想知道它們正在做什么嗎?”
本文作者Lucas Mearian為資深記者,長期關注包括區(qū)塊鏈在內(nèi)的金融服務IT、醫(yī)療保健IT以及包括移動管理、安全、硬件和應用程序等在內(nèi)的企業(yè)移動問題。
原文網(wǎng)址
https://www.computerworld.com/article/3236480/top-8-problems-with-blockchain.html?nsdr=true