神祕的Hyperledger,如何打造區塊鏈專案智囊庫?
文:柏伶
編輯:鄧龍
20世紀90年代,英國牛津大學人類學家鄧巴曾提過一個著名的定律:根據原始狩獵、採集社會的基本組織單位規模,人類智力將允許個人擁有穩定社交網路的人數是148人,約為150人。
這一理論存在著諸多爭議。不過,這也說明, 隨著人群數量增加,關係的維穩和共識達成的成本會增加。
圖片來源於網路
比特幣和以太坊的成功,推動了區塊鏈行業的飛速發展,它們以去中心化的概念,給予了人們對未來民主、公平的美好願景,但是在現實生活應用中,卻因為效率或安全等問題屢出紕漏。
這一切似乎逃脫不掉“鄧巴數字”的窘境。在去中心化的場景下,記賬的節點超出150,人們要協同、達成共識的成本將會越來越高, 最後,共識可能根本沒有辦法達成。
圖片來源於網路
放眼望去,人類演化的歷史總是這樣動態變化著。從最開始的點對點傳播互動, 簡單的模式隨著社群人數擴張變得複雜而低效。 於是,國家、宗教、公司等各種中心化組織開始出現,發展到一定程度,資訊不透明、不對稱開始阻撓。直到新技術突破,讓人類迴歸到原始模式,開始新的輪迴。
去中心化和中心化就這樣在自然的規則執行下共存著,此消彼長。
由此,相對比特幣和以太坊,人們發現, 聯盟鏈的應用被認為更有可能融入現實,落地實踐。
圖片來源於網路
超級賬本(Hyperledger)專案是全球各大機構的聯盟,IBM、Intel、思科、摩根大通,包括中國的BAT等公司都是它的會員, 它嘗試在商業世界中標準化和民主化區塊鏈。 有人說,理解比特幣和以太坊是非常容易的,但是要理解超級賬本,則是一項挑戰。
Hyperledger到底是一個怎樣的神祕平臺?它和以太坊有怎樣的區別?為什麼說它是區塊鏈專案和技術的智囊庫?
3月13日,鋅連結舉辦了區塊鏈專場第十一場分享活動,鋅連結創始人龔海瀚邀請了Hyperledger中國工作組聯席主席趙振華,對上述問題作出解答。
鋅連結:網路上有言論說,理解比特幣和以太坊是相對容易的,要理解超級賬本,是一項挑戰。請您簡單介紹一下Hyperledger?
趙振華:是的,超級賬本相對會複雜一點,現在越來越多的業務都資訊化了,計算機系統需要承載的業務量越來越大,單一計算機已經無法完成,在系統高可用性、分散式系統、網路安全等方面可能出現問題,大的IT公司一直都有研究,也有些成果。所以, 區塊鏈技術不但可以用於發幣,更可用於解決企業問題。
所以IBM、DAH、 Intel在Hyperledger成立之前就開始研究,並且都有了自己的產品、程式碼。而開源軟體的模式也早就被大家所認可。 2015年Linux基金會宣佈成立Hyperledger專案後,很快得到企業響應。
另外,我注意到很多人提到超級賬本的時候,其實指的是超級賬本的Fabric這個專案,或者Hyperledger Fabric。這個專案是超級賬本最早的專案。2015年底Linux基金會聯合多家企業成立超級賬本專案。2016年2月25號技術委員會批准DAH和IBM的聯合提案,把兩家公司的程式碼庫合併,2016年9月釋出Fabric 0.6的預覽版,主要基於IBM的Open BlochChain(OBC)的程式碼。
2017年3月推出1.0 alpha版,這個版本在架構上有比較大的改進,並保持到現在。
超級賬本之所以難理解, 是因為它是企業級的跨行業的技術框架,是要幫助企業解決實際問題的 ,相對來講比特幣就簡單多了。比特幣是一個完美的理想世界,比特幣只在網路內產生、流轉,不需要跟外界互動,所以非常簡單。但是超級賬本就不一樣了。聯盟間的信任關係如何確定,共識如何達成等,都要重新考慮。
除了Fabric之外,Hyperledger還有很多其他的專案和工具,專案包括Intel貢獻的Sawtooth,這個比較適合IoT,用於數字身份的Indy等。另外還有一些工具,用於測試的Caliper、BaaS工具Cello,還有瀏覽器、開發工具等。這些工具主要都用於Fabric,所以Fabric給人一種一枝獨秀的感覺。 實際上這些工具也會支援Hyperledger的其他框架。
鋅連結:都是做智慧合約,一個是做聯盟鏈、一個是做公鏈,Hyperledger的智慧合約與以太坊的智慧合約有什麼區別?
趙振華:不管是公鏈還是聯盟鏈,智慧合約都是實現業務邏輯的程式程式碼,功能上並沒有太大區別。智慧合約本身的區別實現語言不同, 公有鏈通常只支援一種程式語言,比如以太坊採用Solidity語言。
Hyperledger支援的語言比較多,以Fabric為例,智慧合編支援Go、JavaScript、Python、Java這四種語言,所以有很多工程師可以快速上手開發。這也照顧不同企業的情況,現在基本每個IT企業都有會這些語言的工程師,所以把門檻降下來了。
與以太坊比較,Hyperledger面對的是企業場景,業務複雜多樣,邏輯比較複雜,實現起來難度較大。然後兩者間較突出的不同在於, 共識演算法和資料隱私要求。 在聯盟鏈中,不同的業務需要不同的實體背書,像公有鏈那樣,由全網匿名節點背書並不適合。
而資料的隱私性也是企業非常看重的一點,業務資料通常都是非常敏感的,只有特定的實體才能權訪問不同的業務資料。 匿名節點可以訪問業務資料是萬萬行不通的。
鋅連結:截止到目前,Hyperledger有哪些經典的應用案例?Fabric專案和Sawtooth專案有什麼區別?
趙振華:Fabric和Sawtooth是Hyperledger是最早的兩個專案,Fabric比較通用,是聯盟鏈,使用者通過Fabric提供的客戶端SDK和Fabric網路互動,通過智慧合約(Fabric叫Chaincode,鏈碼)讀寫賬本。
Sawtooth架構比較複雜,Sawtooth比較適合IoT,用它可以組建聯盟鏈,也可以組建公有鏈。 Sawtooth架構上分應用層和核心層。 使用者需要先接入應用層,由應用層和賬本互動,因為它面對場景是IoT,使用了按消耗時間的共識演算法PoET(Proof of Elapsed Time)。
目前應用案例相對較少。
鋅連結:成為Hyperledger會員需要哪些資質,如何使用Hyperledger開發專案?
趙振華:Hyperledger是開放的組織,歡迎不同企業申請加入,加入Hyperledger需要先加入Linux基金會。不是Linux基金會會員的,可以同時申請加入兩個,申請需要Linux基金會審批,需要交納一定的會費。
Hyperledger是聯盟鏈,企業確定聯盟成員等參與方之後,可以選擇合適的構架進行專案開發。
由於是新技術,這存在一定的技術門檻。我覺得技術問題比較容易解決, 但是最重要的還是聯盟間如何治理、如何協作。 因為聯盟鏈上的資料不是歸單一企業所有的,業務和各方都有關聯,如何共同開發,鏈上資料如何互動,以及上線之後的共同維護,都是需要各參與方充分考慮的。總之, 治理的問題比技術問題要多、要難解決。
鋅連結:最近Hyperledger社群在香港有舉辦活動,Hyperledger社群有哪些最新的動態?未來發展的趨勢是怎樣的?
趙振華:在3月7日、8日兩天,我們在香港舉行了Hyperledger社群訓練營,這也是Hyperledger舉行的第一次社群訓練營。訓練營主要面向社群開發者,討論如何向社群做貢獻。但也有很多企業的領導參加,基本上每個專案都派人蔘加了。
我覺得比較大的變化是,以前我們討論區塊鏈的時候,更多的有懷疑的態度,會關心能不能實現、怎麼實現,但是現在不會了, 現在已經轉移到如何提升易用性、互動性等更高層次的需求,沒有人再懷疑能不能實現了。