本文為萬向區塊鏈蜂巢學院線上公開課第22期內容。在本期公開課中,邊界智能研發總監胡智威,分享了他們的解決方案是如何解決聯盟鏈存在的痛點,在聯盟鏈實踐方面提供了很多可供參考的經驗。

蜂巢學院線上公開課每週都會邀請技術專家來進行分享,添加小助手微信號:fengchaoxueyuan,獲取每週直播入口和時間。

大家晚上好!我是胡智威,來自邊界智能。非常榮幸今天有這樣的機會和大家分享聯盟鏈技術的應用實踐。

看到標題大家可能會有疑問,為什麼是聯盟鏈痛點?而不是聯盟鏈解決某個業務痛點呢?這是因為我們在實踐中發現許多聯盟鏈在實施過程中並不能很好的解決業務場景中的業務痛點,由於一些技術實現上的限制,這些聯盟鏈的特點反而變成了痛點。所以今天想和大家分享我們在聯盟鏈的探索實踐,特別是運用了跨鏈技術後在BSN等場景中的應用。

正式開始前,我先簡單介紹下公司,邊界智能成立於2016年,是國家高新技術企業。我們的產品和方案之前榮獲了許多獎項,這些年也積累了很多的區塊鏈項目開發實施經驗,同時還有許多人工智能、大數據等方面的技術儲備。

下面我來介紹一下聯盟鏈的應用。聯盟鏈,也被稱作許可鏈、私有鍊等。在不同的場景裡,我們會對它進行概念上的細分:例如需要許可才能參與共識的,一般可能會叫做許可鏈;更加私有一些的或者沒辦法訪問到網絡裡面的數據的,可能會叫私有鏈。

今天介紹的更多會是廣義上面的聯盟鏈:如果需要做到網絡授權或者做到網絡許可的,我們都叫做聯盟鏈。聯盟鏈在業界很早就有很多產品和技術誕生了,這裡我也簡單列了一些比較知名的產品,包括Fabric、Quorum、BCOS等。

為什麼你不需要區塊鏈?或者你真的需要區塊鏈嗎?這個問題可以從兩個方面來理解:

業務場景是不是真的需要

這里左側我也列了張比較經典的圖,什麼場景下可能更需要區塊鏈。比如說是不是需要數據庫、是不是需要多人編輯,而且彼此是否可信以及是否有強信任中心,滿足一定條件的情況下,這個業務場景才比較適合用區塊鏈解決。

技術方面

我們可以看到有許多聯盟鏈已經有不少應用落地的建設方案,包括應用案例。有些建設方案是值得商榷的,我們在探索當中發現,一些建設方案可能在未來發展當中不太能夠滿足未來場景的擴展,包括業務發展的需要。這也是今天我想和大家一起探討的。

聯盟鏈很多的共識協議可能沒辦法實現拜占庭容錯。我們知道區塊鏈裡面比較核心的一個技術就是能夠防篡改,拜占庭容錯可以防止節點去作惡,但很多聯盟鏈因為它的速度和性能上的要求,可能沒有去採用拜占庭容錯。所以這會導致聯盟鏈很難在未來擴展到更大領域,而僅限於現有的一個小範圍業務。

關於聯盟鏈的資產建模,我也強調一下,和公有鏈上面的token是有本質區別的,更多是指實際業務場景裡的資產,比如像應收賬款、設備,或者其他業務的數據。

那怎樣在鏈上能夠對它進行很好的建模?實際上用區塊鏈上面的資產,這種方式是非常適合的。但是一些聯盟鍊為了避免和公有鏈上的token或者資產掛鉤,有時候反而會弱化這種功能。

這也就導致了很多聯盟鏈僅僅把業務數據作為一種賬本信息或者要共享的數據來簡單保存、記錄一下。因此很多人都會提一個問題,為什麼不直接用分佈式數據庫呢?這樣可能會更快、更成熟,而且也更容易去開發出來。所以這種方式在我看來,可能會把一些簡單的問題複雜化。

還有其他一些應用上的問題,比如說像系統和外入的難以交互,或者比較難集成,這也是因為缺少跨鏈的能力。

另外,聯盟鏈會依賴於聯盟裡面單一的機構去管理和維護整個網絡,整個運營、維護都可能會依賴於強中心。這在項目啟動時是比較適合的,需要在聯盟裡面有一個強有力的機構去推動整個業務。但在未來發展起來後,如果要成為真正的聯盟鏈,就是聯盟裡面都要有足夠的質疑能力和維護能力,那長時間依賴於一個單一機構就不是那麼合適了。

這是我們在聯盟鏈探索里遇到的認為值得商榷的地方,我們也提出了一些解決的方法。現在IRITA聯盟鏈產品,我們也是針對性的對這些問題進行了一些設計,像我們高效的Tendermint共識、業界頂尖的IBC跨鏈協議,以及隱私保護、資產建模、通過iService可以實現鏈上的痛點分析,以及對於數據方面的分析等。

上面這幅圖的中心是聯盟鏈的產品IRITA,可以支撐多種業務,包括供應鏈金融、醫療以及數據分析等不同領域裡面業務的實踐。我和大家分享下我們的一些解決辦法。

第一,共識協議

剛才也提到很多聯盟鏈採用的共識協議,比如說Raft等,其實很難實現。我們通常認為區塊鍊是產生信任的機器。為什麼呢?

因為這些共識是CFT,就是只能當一個節點崩潰的時候可以容錯,防止分佈式網絡裡面的單點宕機。但是狹義上,如果區塊鏈要實現共識的話,其實更需要實現拜占庭容錯,防止節點作惡,也就是BFT。

所以我們在聯盟鏈產品中使用的是Tendermint,這應該是首個互聯網級別可以應用的BFT 協議。去年有一個統計,Tendermint支持了40%以上的PoS公鏈。

第二,系統交互集成方面

系統交互集成包含2個方面:IBC跨鏈協議和iService。 IBC我稍後會再具體介紹,先和大家介紹iService,這是我們獨創的一個功能,可以認為是把整個區塊鏈可以當成服務交易的市場或者平台。這樣對於很多中心化系統,或已有的區塊鍊網絡,都可以把它自己的能力在聯盟鏈裡體現出來。

一方面是支撐到對於現有系統的訪問或者聯通,另一方面還能實現多種靈活的系統部署方式。

實際上在聯盟鏈推廣當中,很多聯盟鏈裡的業務夥伴或者客戶的系統能力、實施能力或者IT能力,是有高有低的,甚至可能還沒完全進入到信息化階段,還是紙質的業務流程。

這里通過iService就可以有一個很好的支持,比如說有能力的完全可以部署一個節點,像提到的邊緣服務器,也是我們的另一項產品,可以給用戶無感化的鏈上操作;但如果沒有太多運維能力,就可以訪問我們提供的公共應用,只要有台上網終端就可以訪問;有鏈的話,可以通過IBC的方式來進行交互;有中心系統的話,可以通過iService來集成。所以集成的方式非常靈活。

第三,系統維護與升級

聯盟鏈一般都有個強有力的中心在推動,所以很多時候聯盟鏈還是單一機構來運行和維護的;弱勢的一方有點像搭便車,可能不會參與很多。

我們還是希望把聯盟鏈真的做成聯盟,就是聯盟參與方都可以發起鏈上提案或者鏈上升級,系統也支持鏈上各個節點的治理。比如你需要一個新的功能,完全可以發起一個鏈上的提案,把自己做好的模塊或者測試完成的模塊發佈出來,不用所有人都在某個時間點集中維護或者下線,這樣在鏈上可以完成自動升級。

第四,資產建模

資產建模我們會圍繞金融領域,因為我們認為聯盟鏈可能在金融領域會落地最快,目前來看也是最合適的領域之一。所以,我們會圍繞金融領域裡的資產對象,採用一些方式進行多維度的工具和方法對它進行非常靈活、準確的建模,這樣全生命週期都可以在鏈上進行對象化的跟踪。

第五,隱私計算能力

這是很多客戶非常關心的一點,客戶不理解區塊鏈原理的時候,可能會提一個問題,所有業務的隱私、業務數據都在鏈上,公開可見、透明、不可篡改,是不是商務機密都全部暴露出來了?所以區塊鏈上需要一個特別重要的能力——隱私計算能力。需要讓業務的參與方,或者是在鏈上數據的所有者,他能夠自主去控制自己的數據,當然有需要的時候也可以定向授權給申請者,數據通過加密的方式能讓對方進行查看。

我們也設計了數據的粒度細分:並不是0和1的關係,而是可以定向選擇其中的一些數據維度,自動進行加密、授權。

基於上述能力,這是我們的整體建設方案示例。整個建設方案是包括了鏈內、鏈外一整套的解決方案:左下角藍色區域,這是鏈本身;右下角是鏈外平台;基於左下角藍色區域,鏈上還會部署一些像邊緣服務器,以支撐到不同業務的應用,會有鏈本身的支持能力;鏈外也會提供一些公共基礎設施,像隱私計算的服務、分佈式存儲等。我們都會提供服務給那些沒有太多IT實施能力的或者需要的業務場景。這是一整套的方案,而並不只是狹義的鏈本身。

終端產品展示,包括之前做的應用界面等。整個建設方案是供應鏈金融的一個案例,鏈上就是數字資產為核心,圍繞它進行建模,以及提供鏈上應用、跨鏈交互等等。

BSN,這也是今天主要想和大家分享的。 BSN整個平台未來會向供應鏈、聯盟鏈、跨鏈三大領域提供對外服務能力。我們現在正在和BSN,以及其他合作夥伴一起開發基於BSN現有的鏈,使用IRITA聯盟鏈的底層,用跨鏈服務把不同的聯盟鏈集成起來,同時讀取鏈外的數據,以及其他中心化系統的業務數據等。

比如大家基於BSN去開發的一些聯盟鏈應用,可以很快地訪問到鏈外數據,或者其他聯盟鏈裡面的應用或者數據,這樣就可以把整個場景打通。

未來可能還會有更多的拓展,包括可能IRITA也會和公鏈領域裡面的節點有數據的交互,這塊也是在未來可能會逐步探索出來的一些技術方案或路線。

供應鏈金融場景,例如去集成OA、ERP的系統,這樣可以把所有上下游企業能力集成起來。以上主要是對於聯盟鏈方面目前存在的問題的思考、探索以及現在的解決方案。

下面我會分享跨鏈技術。跨鏈技術,大家會覺得這兩個是分開的主題,為什麼今天會在一個地方進行介紹,這個問題我先賣個小關子。

Hash Timelock Contracts是比特比閃電網絡的主要組成部分,它們同時也是原子交換的關鍵組件之一。顧名思義,它們基於兩個關鍵功能:Hashlock和timelock。

兩個鏈之間其實並沒有建立真正的對於交易的驗證或者有效性的校驗,所以這塊嚴格來說並不算狹義上的跨鏈。

公證人技術也會有自己的優點,例如實施快,但也有它的缺點,需要信任公證人。

側鏈可能對於不同的鏈需要開發、定制比較多的功能,所以現在的IBC協議可能會綜合側鏈、公證人等機制,然後建立一個更通用的協議,解決整個底層通信的問題以及上層業務應用的部分功能問題。這是目前業界正在探索的跨鏈前沿方向。

關於聯盟鏈裡跨鏈的一些應用,除了BSN之外,像螞蟻鏈、BCOS、趣鍊等等國內的一些聯盟鏈都有自己的一些跨鏈產品。我相信也是因為大家都看到了聯盟鏈裡跨鏈技術的需求和應用。

還有像Hyperledger,超級賬本里面現在也有,應該至少有兩個項目在做這方面的跨鏈探索。一個是Cactus,是由一些驗證者來簽名背書的跨鏈。另外一個Quilt,相當是實現了Interledger的協議。以上是從目前公開資料看到的聯盟鏈的跨鏈探索。

但目前聯盟鏈跨鏈探索還會有一個比較大的限制,或者未來要解決的階段性問題,大家可能都會集中在向自家的產品和Fabric之間跨鏈;還有一些平台可能會使用像剛才提到的像HTLC等,做很簡單的數據上的交換或互換,但實際上並沒有實現更通用或者更廣義上的,或者更適合未來擴展的跨鏈技術。所以這就需要IBC協議。

IBC實際上也和整個現代區塊鏈開發架構比較相關。為什麼說IBC會更適合聯盟鏈的跨鏈?因為Cosmos/IRIS SDK基於的整個技術理念或者技術架構,和以太坊等不太一樣,開發的是叫應用專有鏈。這個觀點的基礎是未來可能並沒有大一統的鏈,更可能是百花齊放的。如果需要一種特定應用的話,可以開發一個單獨的鏈。

但實際上這個和聯盟鏈有異曲同工之妙,因為聯盟鏈一般來說也是針對某一種業務場景或者業務痛點去開發的區塊鏈。所以IBC基於這個假設也是非常適合聯盟鏈間的跨鏈通信。

整個架構中的Hub,是跨鏈的樞紐。而IRITA 本身就可以認為是一種IRITA Hub:它本身就是區塊鏈,但是它有跨鏈的能力,可以支持連接到不同的區塊鏈、聯盟鍊或者其他某一特定場景的私有鏈。

大家現在對開源社區IBC的實現也是比較關心的,包括整個進度、計劃。但是在聯盟鏈裡已經可以去應用部分IBC的功能或者設計。 IBC應用於聯盟鏈的跨鏈方面,可能還是需要進行一些特定的定製或者開發,部分設計可能會有所簡化,部分設計可能會有所增強。

一方面,可以簡化部分功能,因為不需要像公鏈領域對於安全性各方面的假設,在聯盟鏈裡面可以把這部分東西都簡化掉。

另一方面,還會需要增強部分功能,比如對於不同的區塊鏈需要定制化接口,把它做的更通用一些,可能也會需要企業級的應用,對消息可靠性用MQ等方式來進行更強的保障。因此當一些連接的聯盟鏈要維護時,避免丟掉很重要的一些企業級的信息。

同時,聯盟鏈的跨鏈可能也會綜合使用分佈式存儲、共享數據等,以適合企業級大數據級別的信息交互和交換,這是跨鏈在聯盟鏈領域內可以提供的非常好的支持。

今天的分享就到這裡,謝謝大家。

互動問答

Q:是不是接入BSN的所有鏈都要通過IRITA?

胡智威:目前就我個人的理解來說,BSN現在還沒有特別明確的說明。但是,IRITA可以提供給BSN底層跨鏈的能力,如果需要用到跨鏈服務方式的話,都會通過跨鏈服務樞紐的方式來訪問到。這是IRITA可以貢獻給BSN底層的,也是我們和BSN相關的幾個合作夥伴在建設的工作。

Q:從您的角度看,跨鏈技術會在未來受到更多的重視和應用嗎?

胡智威:我認為是的。還是剛才那個觀點,我覺得聯盟鏈目前來說落地越來越多,更像公有鏈裡面,就應用專有鏈的場景了,這樣其實跨鏈需求會非常之多。

大家也可能會比較奇怪,為什麼鍊和鏈之間還需要跨鏈,通過互聯網不能訪問嗎?這實際上涉及到跨鏈裡更重要的技術,不同業務之間的可信、可驗證。

聯盟鏈內部一般來說都是可信的,可以通過共識協議來保證;但怎麼樣信任外部體系裡的東西呢?這就需要跨鏈。信息交互是比較簡單的,但如果實現可信的交互,就需要跨鏈技術。

所以,當落地的業務規模越來越大,國內區塊鏈的落地越來越多的時候,不同的鏈之間可信交互的需求也會越來越大,所以我們認為跨鏈會在聯盟鏈裡應用的非常多,跨鏈在未來會有非常大的應用場景。

Q:邊界智能專注於區塊鏈打造分佈式智能服務,可以給我們稍微介紹下你們在分佈式智能方面的應用嗎?

胡智威:好的,這是個非常好的問題,那我再切換到前面的公司介紹部分。

這頁有我們以前非常多應用的案例,也是基於我們之前對於區塊鏈的一些探索。像區塊鏈邊緣分析網絡就結合了區塊鏈以及大數據分析能力等等。

這些產品一方面可以將數據在鏈上進行可信的流轉,包括加密信息的存儲。另一方面,也會結合大數據的分析,實現更分佈式的數據挖掘以及未來數據價值的釋放。

這些產品和方案,獲得了不少的獎項。一個比較典型的場景是:鏈上數據可加密、可信的授權給需要處理的一方,然後數據加工方在整理這些保密性數據時,可以充分地挖掘數據潛力。

【提示:第六屆區塊鏈全球峰會已開啟購票通道,點擊閱讀原文,即可報名!參與其中,你將獲得最新區塊鏈技術實踐經驗分享,把握最前沿發展趨勢。 】

End

※———長按識別下方二維碼關注我們———※

長按識別下方二維碼,加入萬向區塊鏈

多個核心崗位在招,薪資福利優厚