為什麼IBM的區塊鏈不是一個真正的區塊鏈

作者:Omgfin Exchange

來源:Medium

斯圖爾特•波普喬伊(Stuart Popejoy)在為金融業建立交易體系和交易基礎的領域有著15年的經驗。在2016年與威爾•馬迪諾(Will Martino)共同創建Kadena併成為公司總裁之前,Stuart曾在摩根大通 (JPMorgan)的新產品部門工作,負責領導並開發了摩根大通的主要區塊鏈產品Juno。斯圖爾特還為摩根大通編寫了算法交易腳本,這為他創建Kadena簡單、專用的智能合約語言Pact打好了基礎。

這裡僅作為作者個人觀點,並不代表Cointelegraph觀點。

IBM是企業區塊鏈領域的主要參與者,它提供基於超級區塊鏈賬本(Hyperledger Fabric)平臺,並與沃爾瑪(Walmart)和安泰(Aetna)等大公司合作推出區塊鏈試點。

作為非營利組織開源超級賬本基金會(open source Hyperledger Foundation)的眾多貢獻者之一(包括最近宣佈成立的微軟(Microsoft)和Salesforce, IBM在將Fabric推廣為私有或“授權制”區塊鏈方面進行了鉅額投資,這意味著它提供了與比特幣(Bitcoin)或以太坊(Ethereum)等知名區塊鏈相同的功能,同時還以某種方式刪除了任何可能“不適合企業”的方面。

然而,IBM實際上在對外銷售並稱之為“區塊鏈”的技術——即超級區塊鏈賬本——犧牲了真正區塊鏈的最重要的特性,無論是授權制的還是公開制區塊鏈。Fabric的架構比任何區塊鏈平臺都要複雜,而且不太容易受到篡改和攻擊。你可能認為“私有”區塊鏈至少可以提供可擴展性和性能,但是Fabric也失敗了。簡單地說,在構建Fabric上,設計者將面臨一個複雜且不安全的部署,並且無法與他們的業務相匹配。

區塊鏈的市場前景

當我2016年在摩根大通(JPMorgan Chase)工作時,領導了一家新興科技集團,對區塊鏈的潛在用途和戰略投資進行研究和審查。這涉及到對早期版本的Hyperledger, Axoni, Symbiont, Ripple和Ethereum的深入分析。當時很清楚,市場上的區塊鏈在技術上不適合實際的企業用例。不幸的是,我們今天在超級區塊鏈賬本中看到了同樣的核心問題。

我們提出的問題包括:區塊鏈的智能合約語言如何安全而簡單地表達複雜的業務規則?公鑰簽名如何保證有效?系統可以擴展到其他參與者(節點)而不會顯著降低性能嗎?對於一個著眼未來的企業,你能輕鬆地與其他公共和私有區塊鏈進行互操作嗎?

使用這些問題作為框架,我認為IBM的系統從根本上缺乏區塊鏈所需的元素,性能數據會誤導用戶,長期的業務生存能力也存在問題。雖然我和我的同事們不認為數字遊戲(每秒交易量,節點計數)是區塊鏈採用的唯一因素,但我們確實認為教育人們瞭解區塊鏈是什麼和不是什麼很重要。這種教育將有望幫助大家更好地瞭解區塊鏈新興技術的前景。

什麼是區塊鏈,什麼不是

為了真正理解IBM的區塊鏈,我們需要了解區塊鏈本身的定義。區塊鏈的核心是一個分散的、不可變的事件或交易的賬本,在這個賬本中,真相是由一種共識機制強制執行的。在比特幣(Bitcoin)和以太坊(Ethereum)等公共區塊鏈中,這種共識是通過工作證明或“挖幣”達成的。“在被許可的區塊鏈中,可以通過參與者提供加密簽名對所寫內容進行投票來達成共識。不管怎樣,目前還是沒有一箇中央權威機構來仲裁其真實情況。

IBM對區塊鏈的定義捕獲了區塊鏈的分佈式和不可變的元素,但卻很方便產生了分散共識——這是因為超級區塊鏈賬本根本不需要真正的共識機制。相反,它建議使用名為Kafka的“訂購服務”。問題是,如果參與者之間沒有強制的、民主化的、加密的安全投票,你就無法證明有人沒有篡改過賬目。容錯共識是區塊鏈的一個標誌性特性,如果沒有它,IBM的“區塊鏈”只不過是一個帶有時間戳的條目列表。

Fabric的體系結構暴露了許多可以被惡意協調利用的漏洞。例如,它引入了“網絡內部”的驗證器簽名和公鑰密碼術,提供了主要的安全保證,但在提交外部簽名的交易之後才產生。這從根本上否定了比特幣和其他真實區塊鏈的安全模型。在這種模型中,任何交易的來源只能由外部用戶的公鑰簽名來保證,而不能由系統以任何方式進行中介。與之形成鮮明對比的是,只有驗證器的簽名才會影響到Fabric的一致性,而用戶簽名則會消失在通過網絡複製的任意數據集中。

Fabric研究人員對性能數字的處理搖擺不定,因為從根本上講,Fabric的體系結構無法在保持最高性能的同時進行拓展。Fabric使用多鏈環境(稱為“渠道”)來提供參與者之間的機密性。提供保密性是私有“企業”區塊鏈的一個重要特性,它必然涉及權衡和複雜性,但是對於可拓展性來說,多鏈解決方案是一個糟糕的選擇。它還導致了部署複雜,節點不統一,智能合約不可靠,潛在的故障點不斷增加。

因此,標準Fabric部署的性能數字可能一開始並不令人滿意,隨著節點的增加,性能會迅速下降,而且是單渠道的:如果想要跨多個渠道與整個網絡進行交易,這些數字甚至不相關。即便如此,當查看單個渠道時,這個系統也很難達到每秒800個以上的交易量(TPS),但是即使是16通道配置也幾乎不能超過1,500個TPS,在較高交易量時,延遲會達到10-20秒的範圍。

最近為提高Fabric的速度所做了努力,並聲稱速度已經達到了20,000 TPS,但研究人員對其構架所做的更改已經遠遠超出了區塊鏈,以至於無法識別:背書人不再充當驗證者,Kafka成為了唯一可能的訂購服務(Fabric在理論上可以接受真正的區塊鏈共識,但它的速度太慢,以至於沒有人會在生產中使用它)。最後,這仍然是單渠道數字, 這意味著整個區塊鏈作為一個共享真理的來源是無效的。

為什麼智能合約和混合期權很重要

在研究區塊鏈時,要考慮的最後一點是它們打算如何擴展到私有數據庫之外,以及它們的工具(比如它們的智能合約語言)打算如何幫助企業在更大範圍內取得成功。記住,一個智能合約並不僅僅是一段代碼,它也是商業邏輯的表示。智能合約可以保護區塊鏈上的房子,確保數字身份,甚至代表買賣二手車的人之間的託管交易。重要的是,一份智能合約是可靠的,並且總是按它永不會被改變。

當在區塊鏈上構建任何東西時,您需要能夠通過智能合約表示您想要做的事情(買賣、打包數據等等)。您的語言使用起來越簡單,您構建您想要的東西的速度就越快,並且能夠在涉眾的眼前實現。更重要的是,你實際上想要智能合約的功能為您帶來業務或帶來些正面影響。

超級區塊鏈賬本的智能合約(“鏈碼Chaincode”)可以用多種編程語言編寫,包括通用的Javascript或Go。在已經瞭解通用語言的程序員的便利性與領域特定語言提供的安全性之間存在權衡。當風險像區塊鏈一樣高時——如果代碼有bug或不正確(因為不是為區塊鏈設計的),可能會損失數百萬美元——智能合約必須獨立構建,並且在設計上是安全的。理想情況下,它也很容易學習,並且在所需的區塊鏈環境中易於使用。Chaincode在這方面基本上是失敗的;我們發現,僅僅執行經典的程序員教程“hello world”就需要大約150行代碼。這些大量的代碼可能會成為那些數百萬美元錯誤的滋生地。

沒有做好未來的準備

令人沮喪的是,區塊鏈生態系統中最老練的觀察者意識到,私有和公共區塊鏈將不會存在於真空中,而是希望協同工作:私有網絡將希望在公共區塊鏈上為消費者提供一個令牌,而公共區塊鏈的分散式應用將希望在私有區塊鏈上存儲敏感信息。不幸的是,IBM Fabric(以及R3 Corda)的用戶可能會發現他們與公共區塊鏈“隔絕”了。這是由於架構的完全不兼容性,以及他們的智能合約語言無法在公共和私有環境中無縫地執行。

IBM憑藉其合作伙伴關係,在企業區塊鏈的宣傳週期中佔據了主導地位,最重要的是瞭解技術的實際用途。IBM的“區塊鏈”技術在許多方面都存在不足——包括安全性、性能和可靠性——因此,對於希望使用區塊鏈來實現有意義的業務改進的組織來說,它提供的是有缺陷的解決方案。為了真正實現區塊鏈的價值,經驗豐富的客戶將把目光投向那些提供更好工具、更好區塊鏈、以及清楚在未來和如何利用技術,有更好願景的挑戰者們。

翻譯:黃丙鑫

校對人:胡錦琳

為什麼IBM的區塊鏈不是一個真正的區塊鏈

相關推薦

推薦中...