2月21日,由拓普合展主辦、金色財經等協辦的“2017中國區塊鏈技術應用峯會(BTAS2017)”在上海順利舉辦。

在此次峯會上,區塊鏈領域的技術精英們圍繞區塊鏈前沿技術創新、行業政策發展以及應用場景等話題,解析區塊鏈技術在金融、網絡安全、學術教育、物聯網、供應鏈管理、版權、雲存儲、能源管理、檔案管理等領域的應用,以推動新一代信息技術產業的發展。

中國信息通信研究院區塊鏈課題組組長敖萌以“傳統行業+區塊鏈的雷區”爲主題進行了演講,以下是演講實錄:

大家好,我是中國信息通信研究院的敖萌,我們是工信部電信研究院,在2014的時候更換了名稱。中國信息通信研究院是中國政府唯一指定的跟國際ITO組織進行對接的,也是中國通信標準化技術協會的落地單位。我們在區塊鏈方面的研究有兩部分,一個是區塊鏈標準化,還有是測試相關的工作,以及對政府的相關支撐。

我今天給大家介紹一些我們在研究中遇到的情況和問題,主要是傳統行業做區塊鏈+的時候經常碰到的問題,首先看一下,大家都在講,到底區塊鏈是什麼?左邊這個是中國信息通信研究院下的定義,說了區塊鏈是一種多方維護的,使用密碼學保證傳輸和訪問安全,實現數據一致性存儲、無法篡改、無法抵賴的技術體系。右邊這張圖,很多人在區塊鏈概念比較混亂,最大的圈是傳統的分佈式系統。這個分佈式系統如果加上數據一致性我們一般認爲它變爲分佈式總帳技術。如果分佈式總帳技術中加上了拜占庭容錯,我們就認爲這是一種拜占庭分佈式總帳技術,從這一層開始的時候我認爲這纔算是一個區塊鏈的技術範疇,如果在白拜占庭分佈式總帳裏我們加上了一種塊鏈結構的,像前兩位介紹的用塊和鏈把數據組織起來,獲得一種密碼學安全的機制之後,我們認爲就是一種狹義的區塊鏈,在上面這一層是廣義的區塊鏈,就是拜占庭容錯這種。如果在這區塊鏈里加上了無中心代幣,我們認爲它變成了一種無中心加密貨幣。

今天我這裏講的所有觀念都是在第三層以後的,就是加了拜占庭容錯的一種分佈式總帳技術,我們今天討論的問題是在這個範圍去討論。我們今天看區塊鏈大概有兩種發展方式,一種是公有鏈,一種是聯盟鏈,從今年的趨勢看這已經發生了分化,這兩種技術在兩極分化的不同技術上跑。比如說聯盟鏈,比特幣可能1小時才能處理完成一筆交易,這個速度非常慢,因此現在聯盟鏈的趨勢是用高頻高效的算法,但這個算法可能在公平機制上進行了一些削減。

然後像服務分片,我們說比特幣這是每個人帳本一致的,所有人信息都是一樣的。在聯盟鏈裏因爲有時候企業級應用會爲了控制信息分發權限問題等等,可能會分不同子鏈或者不同頻道進行信息的控制,然後處理方式,也是鏈上鍊下協同的。這種整個數據結構也從一條主鏈變成了分鏈或者分層的結構。我們看公有鏈現在的發展方向,依然是追求公平效率優先,並且引入了很多新的密碼學技術,剛纔趙教授也介紹了新的技術,這裏面主要注重了技術的隱私的保護,比比特幣有更強的隱私性。但是公有鏈也有一個很明顯的缺陷,它的節點激勵機制因爲是沒有一個主體作爲運營方運營,所以現在無法避免代幣。只是我們現在看到所有的公有鏈裏都有一個虛擬貨幣在這裏面,這個公有鏈也很難避免強行分叉的風險。

剛纔我們一直在講拜占庭容錯,有一個核心問題是拜占庭節點,什麼叫拜占庭節點?這個區塊鏈裏可能有一些壞的節點,比如造一些雙花或者虛假數據在裏面。怎樣應對拜占庭節點,其實公有鏈對拜占庭節點沒什麼辦法,只能靠共識機制強行抵抗它,因爲公有鏈裏沒有節點的身份准入機制,所以我一個節點即便說大家都發現它是一個壞節點,但是你依然不能阻止它進來。比如說假設我們都在代碼中強行假如說把這個IP地址辦掉,可能它換一個地址又進來了,因爲你沒有任何辦法可以抵抗它進來。但是聯盟鏈我們是有辦法的,聯盟鏈我們有節點身份准入機制,是一個白名單制度。如果說一個拜占庭節點我們發現它在作惡了以後,我們可以直接投票開除它,它再次進來又需要大家投票一致同意才能允許它進來。因此在聯盟鏈中,我們有了一些能夠應對拜占庭節點的方法,所以我們在聯盟鏈中可以讓這個共識機制,讓這個公平公正這一方面稍微削弱一點。我可以比如說事先選舉出一個委員會進行記帳,或者搞一箇中心化機構輪流記帳等等。因爲這裏面有了這種身份准入機制,一旦發現委員會里或者中心節點在作惡,我們完全可以通過一個強行投票機制把它開除掉,然後重新運作。因此在應對拜占庭節點方面這兩種鏈有不同的機制,所以說聯盟鏈是可以做到現在的一種高效高頻的吞吐機制,處理速度,但是公有鏈現在還很難做到這一點。

我們使用區塊鏈往往有一個誤區,傳統做軟件的時候,大家一般喜歡分層去考慮問題,說底層解決完了,在上層構建新的就行。但是在區塊鏈裏不能這麼簡單去講,我舉一個特別簡單的例子,比如說我們用區塊鏈搭建一個域名系統,我訪問www.baidu.com,我訪問過去。假設說如果是基於區塊鏈的域名系統,那麼這個系統DNS軟件會去區塊鏈查詢百度的記錄,對應的IT地址是什麼,返回來再告訴用戶請求是什麼。這裏其實存在着風險,用戶根本不知道這個區塊鏈的存在。換句話說這個應用服務如果被黑客劫持掉了,你訪問了www.baidu.com,我返回給你一個IP地址,用戶根本不知道,這裏區塊鏈沒有起到任何作用,因爲它依然是個中心化的服務機構。所以這種情況下把區塊鏈看成底層直接這麼用,沒有獲得相應的安全性,至少如果你對公衆服務,你這種結構仍然是一種中心化的結構。

第二類應用就是一個比較能獲取到區塊鏈的好處的應用方式,我們仍然以域名系統爲例,比如說如果我做一個域名交易,比如說www.baidu.com持有人是百度,哪一天百度想把域名賣掉,就通過應用服務提交,把這個域名消息寫入區塊鏈之後,你查詢這個結果的時候,重新去鏈上查詢。因爲你自己通過去鏈上通過一些辦法查到的數據絕大多數情況下應該是真實的,這時候你就能獲得區塊鏈的全部好處。

首先我們做區塊鏈傳統行業+的時候就要避免這種設計思維,不能簡單把區塊鏈看作數據庫替代品,然後我就能得到區塊鏈的全部好處,其實並不是這樣。區塊鏈也具有一個很明顯的侷限性,很多人做區塊鏈+的時候也有這個問題。區塊鏈很明顯是一個非常封閉的系統,它只能通過鏈上已有的數據來驗證新的數據是否正確。比如說我們的比特幣系統或者以太幣等等,都是通過歷史交易來看新的數據是不是欺詐的,這在一個封閉系統中這麼用沒有問題。但如果你做了開放系統,舉個例子,比如我們在區塊鏈溯源,你怎麼知道用戶提交的這頭豬是哪家養豬廠出來的,你怎麼知道這個數據真實性,所有的辦法都沒有驗證數據真實性。因此這裏能夠解決的是,它只能解決數據鏈上以後不會被篡改,但是這個數據是不是真實的,如果這個數據是外部來的,但是這個鏈是沒有辦法知道的,所以區塊鏈在解決保存存證特性的時候有一定的侷限性。

我們看一下區塊鏈的核心目標到底是什麼,區塊鏈和傳統分佈式系統是完全不同的,傳統分佈式系統是通過多機並行,引入新的計算能力,最後是增強數據能力,比如說我們的hadoop大數據平臺,就是把越來越多的節點加進來,讓每個人處理不同的數據,這樣建立強的數據能力。而區塊鏈的目標不是這樣,是要讓大家都運行同一個運算,處理同一個數據,從而建立起一個多方信任關係,是通過大量計算資源的冗餘來解決由於沒有信用架構傳遞信用導致的無法建立信用的問題,因此區塊鏈和傳統分佈式系統是不一樣的。所以很多時候有很多人講,因爲傳統系統是分佈式,所以現在可以直接移植到區塊鏈,這個思維也是不對的。

舉個例子,人工智能+區塊鏈,現在人工智能中廣泛使用深度學習算法並行計算是兩種類型,一種是數據分片,一種是網絡分片。數據分片,就是導致不同節點數據是不一樣的。網絡分片,不同節點計算模型不一樣,這顯然跟區塊鏈是違背的。人工智能是把這些能力蓄積在一起,形成強大的數據能力。而區塊鏈是讓每臺計算機運行的任務相同,通過大量重複冗餘的計算實現多機的相互信任。因此,你從算法角度看,區塊鏈+人工智能這一點是很難實現的。

我們說這就沒有辦法有結合嗎?其實是有結合的,我們做傳統行業+區塊鏈是需要一種創新思維的,比如人工智能+區塊鏈,我個人認爲結合最佳點就是機器人怎麼持有貨幣的問題。比如傳統金融系統中我們是使用身份,你的身份和一個帳號進行關聯,因爲金融有一個基本規則,要知道你的客戶是誰,你用了防洗錢,防止你的錢流入恐怖組織等等,因此有很多金融原則,導致它必須要知道你的身份。但機器人很遺憾,機器是沒有身份的。

因爲古希臘有一個忒修斯悖論,比如一艘在海上航行幾百年的船隻要一塊木板爛了,我就可以換一塊,依此類推,直到這個船上沒有一塊木板是原來那個船上的了,那麼這艘船還是不是忒修斯之船?那麼進一步推論,說如果把老部件全部拿來造一艘新船,這兩艘船哪艘是忒修斯船。

因此實際上人工智能時代怎麼給機器確認身份,是沒有辦法的,機器沒有身份,你沒有辦法給它確定一個身份,人是有身份的,因爲我們現在的生物學還沒有辦法發展到可以把人的靈魂移到另一個人身上去,所以我通過你的DNA、指紋、人臉等等生物特徵可以明確對應你的身份,但是機器不行,機器天生軟件和硬件是分開的,而且更進一步地是我們未來面對的是軟件定義一切的世界,這個世界上我們要看到一個問題,就是說到底軟件是這個機器的身份,還是硬件是這個機器的身份,這是很明確的。比如阿爾法狗參加圍棋大賽,是誰獲得獎金呢?因爲現在是虛擬化世界,很多情況下服務是運行在虛擬機上,你要想一下這個虛擬機的身份怎麼去判定?是由它綁定的硬件?它根本沒有綁定任何硬件。因此我們可以知道在未來的人工智能時代,沒有身份應該我們的金融系統也是能夠工作的。

那麼解決這個問題,實際上就是帳戶模型是不適合未來機器世界的,但是現金是可以的。如果我們一直使用現金,那麼機器人兜裏揣幾個美元、硬幣,就可以像第一張圖那樣,人類向他乞討他可以給你錢,但是如果使用帳戶這個很難做到。因爲兩個機器人到銀行系統去開戶,去爭奪帳戶的時候銀行沒有辦法區分。因此我們希望使用電子現金或者加密貨幣這種模型來解決未來世界機器人的問題,其實比特幣提供了很好的機制,叫UTSO的帳戶模型。這個帳戶模型更像一個保險櫃,好比廣場上放了很多保險櫃,誰能打開錢就是誰的,這就是比特幣的一種帳戶模型。機器人只要記住這個保險櫃的密鑰,需要用的時候到廣場那個地方把保險櫃打開,取出錢用就可以,反正平時也不用把錢放在身上。其實整個比特幣世界和我們現在使用的大部分的家電模型都是這樣的,尤其我們稱它爲匿名貨幣,就是因爲實際上它不需要任何的身份信息,只是一個公鑰私鑰的對應關係就能完全掌握這個現金。

因此我們總結區塊鏈和人工智能結合的關係,其實更多是加密數字貨幣是機器人的問題,加密數字貨幣其實特別不適合人使用,因爲你很難記住那麼長的一串密鑰,但是機器人是很容易的。加密數字貨幣裏迴避了身份機制、帳戶模型,相當於直接使用現金。最重要的是給機器人一個社會經濟權,相當於機器人獲得了初步的人權,機器人以後就可以進行更佳在社會中進行更自由的活動,這纔是區塊鏈+人工智能的一些結合點。

我總結一下,企業想使用區塊鏈的時候,其實我們更應該開腦洞,而不是把傳統業務直接加進來。如果你想做傳統業務+,應該先想幾個問題,比如到底使用聯盟鏈還是公有鏈?如果使用聯盟鏈,我大概總結了這麼幾個問題,企業最好先問一下自己。

首先你真的需要中心化嗎?你如果用中心化系統,會不會有現在的問題解決不了所以你纔要去中心化的模型。第二,你這個聯盟鏈大家合作方之一真的缺乏信任,如果說大家本來關係就很好,你確實用區塊鏈建立信任關係嗎?而且還有一個問題,所有合作方都能夠有足夠IT能力嗎?互聯網企業可能還好一點,傳統企業有些企業運營這樣的服務是很難的一件事,所以可能這時候它就要使用區塊鏈雲saas服務,這種情況下你又能有多少信任程度的雲?最後還有一個問題,合作方穩定嗎?聯盟鏈裏身份機制導致了一個問題,加入和退出都比較難,如果合作非常鬆散,經常變換合作方,你能否使用聯盟鏈做你的業務。除了這些問題以外還有一些,比如合作方利益在哪,我們用區塊鏈到底是增加了成本還是讓成本更低,還有鏈上數據誰提交的等等一系列問題,想明白這些問題以後,你再決定自己能不能使用聯盟鏈。

如果有些人想使用公有鏈來做,也應該問自己一些問題,比如說公有鏈現在還避免不了代幣的出現。第一個問題,代幣價值在哪裏?用戶得到代幣以後到底能用來做什麼?當然現在很多系統能做的是用戶得到代幣以後就是得到了一種數字資產,但是資產具體能做什麼,可能是在交易所交易,除此之外還有沒有其他問題?這是需要企業來想的問題。

如果你一旦發現代幣,代幣的總量怎麼控制?比如你是現實的資產,還是用數字算法實現控制總量等等。而且現在已經出現了大量的這種公有鏈了,如果你是做競爭性業務,你的技術先進性和其他人比較怎麼樣?

還有一個很嚴重的問題,很多人做公有鏈,要自己企業與鏈下業務關聯起來,如果真的過於關聯,那你實際又回到了中心化的系統,因爲你的鏈下業務決定了你的鏈上幣的價值等等一系列問題,那麼你怎樣在這種情況下去中心化實現這個情況?

最後,包括你怎麼避免鏈被硬分叉?還有一個核心問題,你怎樣配合政府進行監管等等?這都是企業在做區塊鏈和傳統業務結合之前應該先問自己的一些問題。

相關文章