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

 

Stuart Popejoy在為金融業建立交易系統和交換骨幹方面擁有15年的經驗。在2016年與Will Martino一起創立Kadena之前,Stuart曾在JPMorgan Chase的新產品部門工作,負責領導和開發摩根大通的主要區塊鏈產品Juno。斯圖爾特還為摩根大通編寫了算法交易腳本,後者通知他創建了Kadena簡單,專用的智能合約語言Pact。

此處表達的觀點和觀點僅為作者的觀點和觀點,並不一定反映Cointelegraph的觀點。

IBM是企業區塊鏈領域的主要參與者,提供基於Hyperledger Fabric的區塊鏈平台,並與沃爾瑪和Aetna 等大公司一起推出區塊鏈試點。

作為開源Hyperledger基金會的眾多貢獻者(包括最近宣布的微軟和Salesforce)之一,IBM已經在將Fabric作為私有或“許可”區塊鏈進行了大量投資,這意味著它提供了與眾不同的功能。已知的區塊鏈,如比特幣以太坊,同時以某種方式刪除任何可能“不適合企業”的方面。

然而,IBM實際上銷售並稱之為“區塊鏈”的技術 – 即Hyperledger Fabric–犧牲了真正區塊鏈的最重要特徵,無論是許可還是公共區塊鏈。Fabric的架構遠比任何區塊鏈平台複雜,同時對防篡改和攻擊的安全性也較低。你會認為“私有”區塊鏈至少會提供可擴展性和性能,但Fabric也失敗了。簡而言之,基於Fabric的飛行員將面臨複雜且不安全的部署,無法與其業務進行擴展。

市場上的區塊鏈選項

當我在2016年在摩根大通工作時,我領導了一個新興技術集團,該集團研究和審查了銀行潛在用途和戰略投資的區塊鏈。這涉及對Hyperledger,Axoni,Symbiont,Ripple和以太坊早期版本的深入分析。當時很清楚,市場上的區塊鏈選項在技術上不適合真實的企業用例。不幸的是,我們今天看到Hyperledger Fabric存在同樣的核心問題。

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

使用這些問題作為框架,我認為IBM的系統從根本上缺乏區塊鏈的必要元素,具有誤導性的性能數字和可疑的長期業務可行性。雖然我和我的同事都沒有看到數字遊戲(每秒事務數,節點數)是區塊鏈採用的唯一因素,但我們認為教育人們了解區塊鍊是什麼和不是什麼很重要。這種教育有望幫助每個人更好地了解區塊鏈新興技術的前景。

什麼區塊鍊是和不是

為了真正理解IBM區塊鏈的位置,我們需要查看區塊鏈本身的定義。一個blockchain是,在它的核心,其中的真理,達成共識的機制執行的事項或交易的分散不變台賬。在像比特幣和以太坊這樣的公共區塊鏈中,這種共識是通過工作證明或“ 挖掘 ”來實現的。在允許的區塊鏈中,可以通過提供加密簽名的參與者對所寫內容進行投票來達成共識。無論哪種方式,都沒有中央權威機構對真實情況進行仲裁。

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

Fabric的體系結構暴露了許多可被惡意協調利用的漏洞。例如,它引入了 “網絡內部” 的公鑰加密和驗證器簽名,它們提供了主要的安全保證,但是在提交了外部簽名的事務之後才產生。這從根本上使經過驗證的比特幣和其他實際區塊鏈的安全模型無效,其中任何交易的出處僅由外部用戶的公鑰簽名確保,並且不能由系統以任何方式進行中介。與此形成鮮明對比的是,Fabric上唯一重要的簽名是驗證器的簽名,而用戶簽名則消失在通過網絡複製的任意數據集中

面料研究人員在性能數據上發揮快速和寬鬆,因為從根本上說,Fabric的架構無法在保持最佳性能的同時進行擴展。Fabric使用多鏈環境(稱為“通道”)來提供參與者之間的機密性。提供機密性是私有“企業”區塊鏈的一個重要特徵,必然涉及權衡和復雜性,但多鏈解決方案是可擴展性的不良選擇。它還使得部署非常複雜,節點不均勻,智能合約不可靠,並且潛在的失敗點也在增加。

因此,標準Fabric部署的性能數字啟動起來並不令人滿意,隨著節點的增加而迅速降級並且是單通道的:如果您想跨多個渠道與整個網絡進行交易,則這些數字甚至不相關。即便如此,在查看各個頻道時,該系統仍難以達到每秒800次以上的交易量(TPS),但即使是16頻道配置也幾乎不能超過1,500 TPS,延遲時間可以達到10-20秒。吞吐量上限。

最近加速Fabric的努力導致聲稱達到20,000 TPS,但研究人員對該架構所做的改變從區塊鏈轉移到無法識別:代言人不再充當驗證者而Kafka被認為是唯一可能的訂購服務(從理論上講,Fabric可以接受真正的區塊鏈共識,但它會很慢,沒有人會在生產中使用它)。最後,這些仍然是單通道數字,這意味著區塊鏈作為共享真實來源的整個概念都是無效的。

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

在查看區塊鏈時,最後的考慮因素是他們打算如何擴展私有數據庫,以及他們的工具(如智能合約語言)如何幫助企業在更大範圍內取得成功。請記住,智能合約不僅僅是一段代碼; 它是業務邏輯的代表。智能合約可以確保區塊鏈上的房屋安全,確保數字身份,甚至代表購買和出售二手車的人之間的託管交易。重要的是,智能合約是可靠的,並始終按照它的意願行事。

在區塊鏈上構建任何東西時,您需要能夠通過智能合約來表示您想要做的事情(購買,出售,打包數據等)。您的語言使用起來越簡單或越簡單,您構建所需內容的速度就越快,並且會在利益相關者面前展現出來。更重要的是,您希望智能合約的功能實際為您的業務帶來收益或一些積極的結果。

Hyperledger Fabric的智能合約(“鏈碼”)可以用多種編程語言編寫,包括通用的Javascript或Go。但是,在已經了解通用語言的程序員的便利性與特定於域的語言提供的安全性和安全性之間存在權衡。當賭注與區塊鏈一樣高時 – 如果代碼有缺陷或不正確,因為它不是為區塊鏈設計的,那麼數百萬美元可能會丟失 – 智能合約語言必須是專門設計的,並且設計安全。理想情況下,它也易於學習,並且易於在所需的區塊鏈環境中使用。Chaincode在這方面很大程度上失敗了; 我們發現需要大約150行代碼 只是為了執行經典的程序員教程“hello world”。這些大量的代碼可以成為這些百萬美元錯誤的滋生地。

沒有為未來做好準備

區塊鏈生態系統中最複雜的觀察者越來越意識到私人和公共區塊鏈不會存在於真空中,而是希望合作:私人網絡希望在公共區塊鍊和公眾中向消費者提供令牌。區塊鏈的分散應用程序將希望將敏感信息存儲在私有區塊鏈上。不幸的是,IBM Fabric(以及R3 Corda)的用戶可能會因為架構的完全不兼容而發現自己與公共區塊鏈“切斷” – 但也因為他們的智能合約語言無法在公共和私人環境中無縫執行環境。

由於IBM通過其合作夥伴關係公告主導了許多企業區塊鏈印刷週期,因此重要的是要深入了解該技術實際可以做些什麼。IBM的“區塊鏈”技術在很多方面都存在缺陷 – 包括安全性,性能和可靠性 – 因此,為希望使用區塊鏈實現有意義的業務改進的組織提供了一種劣質解決方案。為了真正實現區塊鏈的價值,成熟的客戶將尋求挑戰者提供更好的工具,更好的區塊鏈,更好的未來願景以及我們如何利用技術。

 

來源 : Cointelegraph.com

Telegram : https://t.me/blockchainsdaily