本期活動由萬向區塊鏈和TGO鯤鵬會聯合舉辦,聚焦區塊鏈技術創新和產品設計。本篇為萬向區塊鏈技術開發部負責人陳聿宸的分享實錄,他將從技術基礎和數字貨幣兩方面帶領大家深入了解區塊鏈。

萬向區塊鏈技術開發部負責人陳聿宸
大家好,我是萬向區塊鏈技術開發部負責人陳聿宸,來自臺灣,有十幾年的開發經驗。我今天跟大家分享的主題是《區塊鏈技術和數字資產》。
首先,我想先簡單介紹一下萬向集團以及我們的區塊鏈實驗室。萬向集團于1969年成立,逐漸成長為如今這樣一家大企業。萬向區塊鏈實驗室成立于2015年9月,也是從2015年開始,萬向區塊鏈實驗室開始在上海舉辦區塊鏈峰會,很早就開始布局區塊鏈技術。

高德納預測圖
區塊鏈是一種新興技術,高德納( Gartner )在 2018 年的十大科技趨勢中,把區塊鏈列為其中之一。但我認為,這種技術的發展存在一定的泡沫。如果大家關注相關新聞,應該知道在去年9月底一系列的事情。所以今天我會更多分享一下區塊鏈技術和應用部分。
加密貨幣最出名的就是比特幣,它的核心的機制是PoW(Proof-of-Work)。但加密貨幣和數字貨幣有一個概念的差別:電子貨幣有很多形式,如支付寶、微信支付,但它們和加密貨幣有本質上的區別。
首先,我們先來了解一下什么是比特幣:
? 比特幣是一種加密貨幣,由中本聰于08年提出,09年發布;
? 比特幣實現了去中心化的賬本體系,主要顛覆了金融體系,銀行業的概念;
? 比特幣持有者是無須加入許可的,任何人都可以參與。
其次,比特幣的運作方式是礦工競爭計算數學難題,都會得到新產生的比特幣獎勵。比特幣的數量是恒定的,每四年產量減半,總量恒定在2100萬枚。
礦工:就像大家熟知的水電力動廠,在它運作之后,產生的電力就可以跑數學難題;
數學難題:數學難題并不是很復雜,但很消耗人力。問題就在于我們只能用試錯的方式去試驗最后的數值是什么,就像猜密碼一樣,用暴力破解的方式,所有的礦工都要算;
競爭計算:用競爭的方式計算,最后只有一名真正出塊的礦工,那么他就可以得到區塊獎勵以及該區塊里面所有交易的交易費。
數字貨幣 / 加密貨幣有一個重要的核心概念:Hash Function —— 可以將任意長度的信息編輯到某一固定長度的信息摘要的函數。但因為大部分信息顯然超過字符串的量,所以理論上存在碰撞,根據算法不同,碰撞率也會不同,但整個來說對一般使用值域還是很小的。同時,在Hash函數中,哪怕是輸入項目發生一點細微的變化,最后的結果都會產生非常大的變化。所以,它不是可以推測的,我們將這個運算稱之為哈希(Hash)。

哈希運算
那么,比特幣是如何將整個鏈串在一起的呢?某個比特幣的主人要把它劃轉給接收者,就需要對前一筆交易的Hash和接收者的公鑰進行數字簽名,并把這些信息都放到這個比特幣的末尾。接收者通過驗證這些數字簽名就可以驗證這條“所有權鏈”。
簡單來說有以下五步:
? 指定交易信息;
? 指定接收方的身份(公鑰);
? 定序后,基于上述信息產生哈希值;
? 發送方對上述信息進行簽名;
? 檢驗。
另外,比特幣的共識就是工作量證明 —— PoW —— 它定義了一個數學難題。同時,比特幣沒有最終確定性,它的節點總是認為最長的是正確的,但這并不是最終確定的結果。而工作量證明則需要我們尋找一個礦值 —— 把數字的量切分,用多臺機器去運算,礦機越多的礦池越容易得到結果。同時,比特幣的機制會隨著整個運算系統的礦池發生變化 —— 礦池運算能力越強,出塊速度越快。
以太坊是第二個被大家所熟知的加密貨幣技術,是Vitalik在2013年提出,2015年上線。以太坊和比特幣相比多了智能合約,是去中心化的平臺。同時,以太坊可以運行基于智能合約的分布式應用,也擁有自己的虛擬機,所以可以自己開發應用,就像前陣子的數字貓。
那么,什么是智能合約?我總結了以下四點:
? 代碼(功能)和數據(狀態)的集合;
? 被創建并部署到區塊鏈上的特定合約賬戶內;
? 用戶能與智能合約交互;
? 可以通過智能合約和構建區塊鏈應用。
同時,以太坊數據存儲都是以 Merkel Patricia Tree 形式存儲。Merkel Patricia Tree的特色是針對 Patricia Tree部分進行優化,所以不會有樹長的太深的問題,相對來說平衡一些,產生各種樹的結構。

Merkel Patricia Tree
MPT( Merkel Patricia Tree )有三類節點:
? 葉子節點:數據存儲(綠色結點);
? 擴展節點:存儲共同前綴(橙色結點);
? 分支節點:對共同前綴部分以外的數據進行分叉(藍色節點)。
其實無論是比特幣或者以太幣,它們的成長過程中都會遇到一些瓶頸。以太坊上智能合約的執行需要消耗gas,作為限制大規模交易的可能性。
我們應該怎么節省gas的消耗呢?
? 把計算外包給第三方,而不是使用昂貴的鏈上計算資源;
? 引入 Challenger 確認第三方計算結果的正確性;
? 通過“驗證游戲”讓智能合約以極少量的計算來判定第三方和 Challenger 誰是正確的。
定義:
目標:
技術重點
我們知道,區塊鏈是從加密貨幣轉到區塊鏈技術上的。它的關鍵特性是:保護隱私數據,鼓勵博弈多方之間的協作,達到共贏。
從參與許可的角度來看,主要分為需要許可和不需要許可兩種:
? 無需許可的DLT分布式賬本系統:其中的節點和用戶基本上都是未知的,并且用戶不需要授權和鑒權;
? 需要許可的DLT系統:其中的節點必須有成員的身份,并且用戶必須要經過授權和鑒權。
區塊鏈中的常見共識算法包括以下幾項:
? PBFT:實用拜占廷容錯算法( Practical Byzantine Fault Tolerance );
? PoW —— 工作量證明。優點:完全去中心化,節點自由。缺點:算力消耗全球大量電力,造成資源浪費;
? PoS —— 權益證明。優點:縮短達成共識時間,消減電力浪費。缺點:安全性相對較弱,網絡流量壓力大;
? DPoS —— 委任權益證明。優點:極短的共識驗證時間。缺點:吞吐量相對較小;
? Tendermint —— 針對 PBFT 做了優化,只需要兩輪投票即可達成共識。優點:高性能,基于其的區塊鏈用不分叉。缺點:相對較新,目前應用較少;
? Paxos —— 基于消息傳遞且具有高度容錯特性的一致性算法。優點:簡潔。缺點:復雜度高,無法解決拜占庭問題;
? Raft —— 在非拜占庭故障下達成共識的強一致協議。優點:簡單易懂,易實現。缺點:去中心化程度低,無法解決拜占庭問題。
首先,拜占廷將軍問題是一個假設,它有兩個特色:第一,每一個將軍是獨立決策的;第二,將軍里面存在叛徒。反之,它的錯誤定義就是:第一,促成一個不是所有將軍都同意的決定;第二,假決定。如果產生錯誤的結果,那么首先就會達不成共識、破壞共識;其次是達成錯誤的共識。

拜占庭容錯
拜占廷容錯方案的容錯率定在N ≥ 3F+1。也就是說,錯誤率要小于三分之一才可以正式運作。拜占庭容錯的應用案例就是央行的數字貨幣和IBM創建的Hyperledger。但在我們的實際案例中,對應的系統反應情況并不好,效率也不高,能夠承載的節點大約在30個左右,超過30個可能就會掉線等各種基于網路交互溝通而產生的問題,所以拜占廷共識的應用鏈基本上都是在百個節點以下。
在供應鏈金融體系里有中心企業、供應企業,以及資金企業。其中,供應企業相對銀行來說,是無法取得信用貸款的角色。供應鏈金融需要中心企業在銀行內有很好的信用,資金充足,才會有很好的利率。但目前真正要解決的是小企業部分,這是最核心的問題:如果中心企業透過整個區塊鏈機制,強固了企業與企業之間的信任機制,那么金融供應方也可以基于這套系統得到末端供應鏈企業的信用評級和信用情況,貸款給小微企業。中心企業也可以根據這個體系做出替代轉讓的過程,讓最后一層也可以得到收益。
汽車主機廠就是中心企業,金融機構就是銀行,他們之間的利息關系是很低的。但第一級供應商如果沒有結構的話,對應的利率也會很低。同時,銀行也不會認第三級的供應商。這時候就需要透過區塊鏈機制,通過債券轉讓的方式轉讓憑證。
最后,在汽車商品車的物流也面臨著同樣的挑戰 —— 汽車物流商信用等級低,但資金成本高。萬向這邊也有跟國內一些知名的汽車企業合作,解決汽車供應鏈的問題,由物流金融服務商進行申請,最后由不同的物流商來解決彼此之間的信用問題。
那么,萬向區塊鏈的角色是什么呢?
? 與多個參與方聯合運營區塊鏈;
? 不碰參與方的隱私數據;
? 開放區塊鏈底層和前段的源碼;
? 提供區塊鏈治理和“ AI + 大數據”的增值服務。

Q&A互動環節
Q:我們公司是一家互聯網公司。一方面面向用戶,另外一端對接設計師。我們相當于支付寶的概念 —— 資金從客戶方打到平臺,設計師完善作品,在驗收之后會分階段付款。像我們這樣的行業,能否使用區塊鏈的技術進行一些優化或創新?
A:首先,這個技術的代價極高,就算我們自己做這個平臺,也會很謹慎地考量每一個系統跟產業的確切適用性如何,所以很難以一概而論或簡單指稱需要或是不需要。這里提供一些評估的方向給大家參考:首先需要確認要取得哪兩方的信任,如果設計在整個系統并不是真正在意信任關系決策的話,那根本就不需要做這件事,也不需要把所有數據放在鏈上。所以,并不是所有的需求都值得這么做。
Q:電子在鏈上的資產,跟線下真實的資產怎么對應?
A:線下的行為怎么對應到線上驗證其實不是區塊鏈的事,但我們要把它看成區塊鏈關聯的事情,更需要被關注另一個重點的是加密技術。驗證和對接這兩件事本身和區塊鏈有關,但它的數據需要多方進行共識,有些數據在鏈上,有些數據不在鏈上,只要保證嚴謹的算法做出驗證就可以。
Q:二代鏈不太適用于多個項目在上面跑,您能解析一下三代鏈怎么解決這個問題嗎?
A:我認為要用隨機性解決這個問題。確實第一代、第二代在擴展性受到很大的限制,第三代對標的是擴展性和性能方面。現在我們看到更可行的方案中,比如EOS、Cosmos,不管是鏈的技術還是特定的技術,當節點多的時候,如何找到有效的決策群或決策中心?決策中心是否能取信大眾?我們關注更多的是,第一代和第二代最大的問題就是用大量的網路交互的方式達成共識結果,這產生了許多現象及問題。所以我們觀測后推論新一代的網路交互應該是很少的,很有限的,大部分檢驗等工作量是自洽完成的。它也許仍會有一個議會制度,會執行很多運算跟技術的細節,通過人機運算保證最終產出的結果可以被證偽。其次,不需要透過頻繁的網路交互也可以推演下去。
Q:平時交易怎么收錢?AI + 大數據所有數據都是公開的,別的公司是不是也可以做這個?
A:首先,并不是所有數據都公開,需要公開的數據才公開,更多的情況是合作雙方可能一開始連一個數據都不愿公開,即便在理論上他是極其安全的。簡單地說它是博弈關系,如果你們彼此間的信任基礎只能公布到此為止,鏈上的數據就只會是這樣。但也許未來會有所變化,當大家都認知道這些技術本質對資料保密起到關鍵的作用,這其間便會有更多理性的參與者。
另外一個問題,AI和大數據部分解決的問題在供應鏈深處。SP、金融、中心企業跟供應商,四個代表,他們各自又有截然不同的數據結果,各自掌握不同的信息,沒有人掌握全量。如在方才提到的案例里,供應商掌握著基于自身之前完整的數據路徑,而中心企業可能掌握了定價信息以及參與者信息,而平臺服務商基于服務提供,亦掌握其中一部份非業務信息,所以各自掌握了部分片斷信息,最后匯成了信息結構,讓供應商有了一定的話語權。
Q:一些中小企業的數據不太一樣,雖然平臺運營一部分數據達成共識,是不是還要做數據清理?另外,如果做的話,是用信用系統做對接,還是需要做改造,才能不影響現有的系統?
A:第一個問題,不存在數據清理的問題。如果是健康的系統體系,那么數據本身也是健康的,這是看你怎么采取其中的設計及留下彈性給未來數據分析等議題。第二個問題,我們現在的合作伙伴確實有一些不想用我們的客戶端,有種種原因,一部份是因為合作方并不愿意多使用一個新的客戶端,而寧愿讓技術部門與我們對接于原有系統,首先客戶端代碼是開放給合作伙伴的,而技術對接的情況有很多實際上技術不對等的狀況,所以我們采用了保姆式的服務,并且亦提供我們對應串接SDK的源代碼,以自證清白。然而摒除此外,實際的業務案例中更多中小企業在供應鏈里是幾乎沒有發言權的,當大企業要你用你就得用。而這并不僅存在區塊鏈系統本身,這是本身就存在于現行的合作關系里,相反地,區塊鏈技術盡可能的保持數據隱私以及公平的部分。
Q:供應鏈金融解決的是人力成本過高,希望用大企業的信用傳遞給中小企業。如果讓中心企業承擔這個風險,是不是似乎也不太對?如果最終讓中心企業虧了錢,你們推的過程中有沒有遇到這個問題?
A:這個問題是不存在的。此前我說過,借貸是中心企業跟銀行借錢,其次債券的流轉本身是基于貿易真實做的。中心企業向別的企業賒帳,透過系統機制制訂了一個債權的結構,整個供應鏈體系就是債券轉讓,中心企業只需要看一級供應商。所以對他來說,只要驗證他與其直接供應商交易就好,所以中心企業會天然傾向做這件事情,去驗證他的供貨商是否真實與他交易,并且當時議定的亦是當時購買的貨物及其對價價格,屆時對中心企業而言仍然是去支付這筆實際貨款,另外借錢的其實是中心企業向銀行取得授信額度,并非供應商,他們是拿著中心企業的債權進行轉讓,最終要實際對銀行進行償還的仍是中心企業。

活動現場
陳聿宸
現任萬向區塊鏈技術開發部負責人,負責區塊鏈與供應鏈金融等項目的管理和系統架構工作,設計并參與建設了區塊鏈底層技術開源平臺BCOS,ISO TC307本體論項目核心參與者。臺灣國立中央大學計算機科學與信息工程學士學位,擁有十幾年的項目及軟件開發、規劃、架構及管理經驗。在加入萬向區塊鏈之前,曾在Acer、Texas Instruments等多個世界500強公司擔任項目負責人和開發工程師。前往世界各地與不同文化的團隊溝通與協作,多次主導全球化的系統開發工作,具有深厚的互聯網技術背景和全球化視角。
//本文由TGO鯤鵬會整理,萬向區塊鏈潤色定稿