當前位置:
首頁 > 最新 > 區塊鏈快速通道:從技術原理到應用落地

區塊鏈快速通道:從技術原理到應用落地

作者|李晨

編輯|Linda

編者語:2018 年 2 月 7 日,區塊鏈前哨迎來了歷史上的首次公開課。我們將行業內的精英組織起來形成社群,通過社群相互學習、相互分享快速成長。而社群公開課開展的目的就是為了讓大家深入的了解一些比較成功的企業的技術路線,並借鑒到自己的實際應用中。年後每周三會有持續性的分享,乾貨整理在次周以文章的形式共享給大家。感謝參與!

2018 年開始,好像所有的人都在談論區塊鏈。資本、精英、草根也不斷進場投身到區塊鏈的浪潮之中。在外圍觀望的你或許懂技術而對區塊鏈一知半解,或許有場景與創意卻礙於其研發門檻,或許是已身處於行業卻難於前行。區塊鏈是機遇也是挑戰,如何在這風起雲湧的區塊鏈世界裡獲得加速卡實現彎道超車?沒有區塊鏈技術基礎的你又怎樣迅速部署屬於自己的第一個應用?

為了解決一部分粉絲的困惑,我們邀請到萬向區塊鏈旗下萬雲平台首席架構師兼產品總監李晨,從以下兩個方面為大家分享他和萬雲團隊對區塊鏈技術及應用的思考:一是對區塊鏈技術進行基本介紹,尤其是區塊鏈的發展歷史和核心技術;二是分享萬雲平台在區塊鏈行業當中的探索。

Part 1 技術原理

下圖展現的是當下區塊鏈在互聯網上的熱度,兩個最大的互聯網平台 Google 和百度均顯示區塊鏈的搜索指數呈數級增長,可以發現當下區塊鏈的熱度十分高。

從區塊鏈的資本市場來看:二級市場相比一級市場更為嚴肅,更為傳統也相對穩健,從公告和研報的數量來看,區塊鏈在資本市場的表現也十分出色,公告有 443 篇,研報 1000+。綜合以上只能用一個字來形容當下的區塊鏈——「熱」,非常「熱」。

從以上兩張圖所呈現的數字也反映出兩種情況:從搜索指數來看,普通大眾對區塊鏈關注度日益增高且勢頭不減,從相關二級市場的情況來看,專業機構對區塊鏈也越來越青睞有加。

那麼,區塊鏈到底是什麼?區塊鏈有哪些技術特色?

區塊鏈的誕生之路:在人類歷史上經歷了幾次重大技術革命,第一次工業革命解放了基本生產力;第一台計算機的誕生開啟了信息化的進程;而互聯網時代的到來建立起數據在不同主體之間的瞬間連接和交換,對信息流通產生了根本性變革;2008 年「中本聰」第一次提出了區塊鏈的概念,開啟了信息互聯網到價值互聯網的變遷,其根本意義在於將原來的數據交換變成價值互聯,而價值互聯也正是區塊鏈所重構的商業邏輯的關鍵所在。

從技術的角度定義區塊鏈:區塊鏈是以區塊結構存儲數據,多方參與、多方維護,通過密碼學、P2P 網路、共識演算法等保證數據可靠的傳輸、存儲、訪問的技術體系。

區塊鏈最主要的技術特點:去中心化、不可篡改、可追溯。

保證區塊鏈落地應用的技術基石

P2P 網路是什麼?如下圖所示:傳統的網路是中心化的網路,所有的機器、通訊都要走過一個中心化的節點完成通訊,一旦這個節點出現了問題整個網路就癱瘓了。就像現在如果電信、移動、聯通的基站出現問題周圍的網路通訊將會受到影響。而 P2P 網路並沒有一個中心化的節點,所有的節點之間直接互聯互通。同時也因為沒有中心化的節點,其中任意一點出現問題依舊能夠保證整個網路還能通訊,因為你可以連接到其它節點上。所以 P2P 網路是去中心化的,參與各方地位對等,從而保證網路的健壯性、擴展性、高性能。

到這裡,李晨補充道:其實所有區塊鏈的底層技術大多都在區塊鏈概念提出之前就已經存在,只是區塊鏈的出現將它們天才有效地結合在一起。比如 P2P 網路很早就出現了,我們常用的 BT 下載,它就是最早的 P2P 網路。

密碼學在區塊鏈當中用的非常多。這裡著重看如何通過「Merkle Tree」保證區塊鏈上的數據不可被篡改。下圖中的區塊鏈數據結構,上方每一個大長方形就是一個區塊 (block),該區塊內所有的交易數據都被存儲在這個區塊上;最下方的第三個交易 Tx3,簡單說每一個交易會生成一個哈希,Hash3 就是第三筆交易 Tx3 的哈希值。Hash2 下面沒有畫,是第二筆交易 Tx2 的值,Hash3 和 Hash2 組合在一起就是 Hash23,最後變成「Merkle Tree」的根節點「Merkle Root」。

每一個區塊都有 Merkle Tree,區塊上所有的交易都會被存儲在 Merkle Tree 上。區塊和區塊之間也是相互鏈接的,每一個區塊都知道上一個區塊的 Hash 值。那為什麼這樣的區塊結構能實現數據不可篡改呢?假設我要篡改 Tx3,那我們將要篡改 Hash3 的值,接下來改變了 Hash3 就要改變 Hash23,以此類推一直要改變 Merkle Root 的 Hash 值。因為區塊的 HASH 中包括了該區塊 Merkle Tree Root 的 HASH 值,所以一旦你改變了區塊的 HASH,就必須要修改之後所有區塊的哈希值。同時這樣的修改還要被網路中超過共識演算法要求的節點接受。這就造成了篡改數據樹的成本極高,幾乎是不可能的。比特幣網路運行了那麼久,在沒有一個人去專門維護它的情況下,從來沒有發生過任何篡改,也就是這個道理。

共識演算法是區塊鏈比較核心的技術之一,保證區塊一致性是其主要作用。常用的共識演算法有:POW、POS、DPOS、PAXOS、PNFT。

1.POW 共識演算法。也就是常見的比特幣網路的共識演算法,它通過哈希算力作為工作量證明去競爭記賬權。POW 的幾個缺點:性能比較低;消耗大量的資源,尤其是算力;出塊比較慢,10 分鐘左右。但它也優點,抗容錯性很好,只有超過 51% 的節點攻擊網路,網路才會失敗, 容錯性 50%。

2.POS 共識演算法。相對 POW,POS 是用所謂的權益計演算法。相對 POW 來說它有幾大改進:不再消耗資源;提高性能,2 分鐘左右出塊;同樣容錯性也是 50%。

3.DPOS 共識演算法。POS 實現 2 分鐘左右出塊是比較大的提高,但距離業務的要求還有一定距離,所以在此基礎上進行優化產生了 DPOS,簡單來說 DPOS 不要求每個節點記帳,而是有代理節點來記帳,這比較像現實生活當中的議會制度,大家選出代表幫忙記帳,這樣參與記帳的節點會相對集中,性能也就會提高。所以在 DPOS 情況下基本可以做到秒級出塊,容錯性也是 50%。

4.PBFT 共識演算法。PBFT 也就是所謂的拜占廷容錯,它的性能非常非常快,可以達到秒級出塊甚至比秒級還要快,但是它的容錯性相對差一些,一般是 33% 左右。

5.PXOS 共識演算法。PXOS 假設的前提是沒有惡意參與者,簡單說就是節點不會發送錯誤的信息,但有可能漏發信息。在這種前提下容錯性 50%,性能也是很快的,基本上秒級出塊。

通過李晨對這5 種共識演算法的分析,我們也可以看到,評判共識演算法大概有 3 個標準:

區塊鏈的分代和分類

區塊鏈分代

按照《區塊鏈:新經濟藍圖》一書中的概念,把比特幣以及相關的數字貨幣劃分為區塊鏈 1,0,以以太坊為代表的智能合約劃分為區塊鏈 2.0,而在非貨幣和金融領域外,在其他領域裡的區塊鏈的應用劃分為區塊鏈 3.0。

區塊鏈 1.0 是基礎的區塊鏈,實現了數字貨幣所需的所有特性。區塊鏈 2.0 的核心概念是智能合約,簡單說就是可編程的數字貨幣。雖然只是加了一個前綴,但卻是巨大的進步。這意味著不僅僅價值本身,價值相關的商業規則也可以被數字化,是價值互聯網的一個巨大進度。關於區塊鏈 3.0,我們無法給出一個統一的評定標準。目前看有幾大技術可以算是區塊鏈 3.0 的潛在標準。比如解決鏈上數據隱私和協作矛盾的零知識證明技術,或者解決連接各種不同鏈的跨鏈技術等。

這裡簡單介紹一個跨鏈技術 COSMOS。我們認為世界不可能是有一兩個區塊鏈所主導的,會有比較多的區塊鏈,每一個鏈都完成它自己特有的功能。我們會將來生活在一個多鏈的世界裡。通過跨鏈技術可以形成一個統一的生態系統,包括聯盟鏈和私有鏈。跨鏈技術是實現價值互聯網的關鍵,它連接起不同區塊鏈的孤島,也是區塊鏈向外拓展的橋樑。

COSMOS 是一種前沿的跨鏈技術,基於Tendermint 共識引擎。Tendermint 共識引擎實現了跨鏈技術中的基本技術需求(高性能和一致性)。同時 Tendermint 將共識引擎和底下的 P2P 網路層打包在一起形成 Tendermint Core,加上具有很好擴張性的 COSMOS SDK(實現多代幣賬戶體系,見證人機制和出塊等功能),這些都為跨鏈功能打下了紮實的技術基礎。 COSOMS 跨鏈網路通過IBC(inter-blockchain communication)協議通信,而 COSMOS HUB 扮演樞紐角色,簡單說就是鏈之間的路由。通過 COSMOS 網路不但可以進行價值跨鏈轉移,擴展 IBC 協議中的 PAYLOAD,還可以進行其他信息的跨鏈轉移。

區塊鏈的分類

區塊鏈分類目前有三種:1. 公有鏈;2. 聯盟鏈;3. 私有鏈。

所謂的公有鏈是任何人都可讀取的、任何人都能發送交易且交易能獲得有效確認的、任何人都能參與其中共識過程的區塊鏈。 隨著公鏈規模的擴大,目前一些主流公鏈的性能都有待提高。聯盟鏈主要針對有競爭又需要合作的場景,技術上聯盟區塊鏈是指其共識過程受到預選節點控制的區塊鏈。只有獲准進入聯盟的節點才可以參與其中。私有鏈一般僅在一個公司或者組織內使用,它更像一個分散式賬本。

Part 2 應用實踐

圍繞區塊鏈技術的兩大核心特徵

當然除此之外,區塊鏈技術還可為更多行業提供解決方案,如版權交易、數字存證、智慧醫療等。

簡單看萬雲的區塊鏈生態

萬雲生態的底層,主要是底層鏈。我們有兩部分,一部分是公鏈的節點,一部分是聯盟鏈的節點,所有的這些節點都部署在萬雲的基礎設施上,在萬雲產品的模塊中稱之為「極速萬雲」。在節點之上有跨鏈技術,將所有鏈整合在一起。這樣即做到了統一,又各具特色。萬雲的底層鏈上提供兩套模塊:醫師萬雲 API,直接提供萬雲上承載的鏈原始的 API,用戶可以在上面部署一個智能合約,也可以直接查詢區塊鏈數據。二是萬雲的 IDE。其特色是既能直接在萬雲上使用,也可以在本地安裝。

李晨提到,更有價值的是在上層。上層不僅有業務 API,也有依據不同行業制定的解決方案。業務 API 落地在區塊鏈上,但是對外呈現的形式和業務本身比較契合。通過業務 API,可以節省開發和運維成本從而更專註於業務創新。

舉個小栗子

「萬雲抽獎」是一款基於區塊鏈的抽獎程序,也是一個完全部署在萬雲平台上的 DApp,李晨以此為例來從技術的角度重點介紹其誕生流程。

萬雲抽獎是基於公有鏈的應用,主要是為解決抽獎過程中的「公開」、「公正」問題,該程序通過將所有抽獎的信息記錄在區塊鏈上,保證數據不可被篡改以及可溯源來實現抽獎結果公開。而實現「公正」是抽獎的難點所在,萬雲團隊通過基於區塊鏈來生成隨機數解決了這個問題。

傳統演算法生成的隨機數實際上並不是完全不可預測的,在隨機種子的基礎上結合演算法自動生成的的數實際上是可複製的,算不上真正的隨機(偽隨機數)。隨機數的隨機性問題是基礎演算法面臨的問題。我們的思路是隨機性的生成,不被任何個體所控制,通過這個來解決隨機性問題。

隨機數通過所有參與者共同產生。首先在區塊鏈中創建一個合約,它定義了參與規則。具體的生成一個隨機數的基本過程可以分為三個階段:

第一階段:收集有效的 HASH(S), 其中 S 就是隨機種子。參與隨機數生成的賬號都在指定的時間段內向合約發送一定的代幣作為質押,同時提供 HASH(S),S 是參與者選擇的隨機種子。

第二階段:收集有效的 S。在第一步完成之後,成功申請 HASH(S) 的人需要在第一階段的指定時間內發送隨機種子的 S 到合約。合約將運行 HASH 並將結果與之前提交的數據進行比較來檢查 S 是否有效。有效 S 將被保存到種子集合中,用來生成隨機數。

第三階段:計算隨機數,退還質押的代幣和獎金。在所有隨機種子被成功收集之後,合約通過這些種子生成隨機數。同時將來自於消費隨機數方提供的利潤分配給參與方,並將質押的代幣退回參與方。 以上,就從技術上實現了一個基本的區塊鏈抽獎應用。同時利用了公有鏈的激勵機制使得這個模式可以運行。

為了方便開發者對分享內容進行更好的理解,大家可以親自去這個鏈接中點擊萬雲市場體驗一下

https://user.wancloud.io/login.html

作為本次活動的最後一張 PPT,李晨放了一張這樣的圖。這是 2016 年兩張關於區塊鏈技術的研報。其中兩句話在當時說的特別好:「區塊鏈是互聯網的詩和遠方」、「理論照進現實」。當時大家都看好區塊鏈,認為它是未來有可能會改變整個商業模式至關重要的技術。但當時區塊鏈技術還不成熟,只是停留在想法層面,並沒有找到切實落地的場景和方案。

當時間的車輪駛向 2018 年以後,我們相信區塊鏈將不再是詩和遠方,理論最終也會照進現實,成為時代變遷的標誌。而我們身處浪潮之中,所要做的是心無旁騖,努力讓區塊鏈實現落地,讓所構想的未來圖紙成為現實,不只是吟唱詩與遠方,而是真正地走到遠方。

現場觀眾問題解答

分享結束後,收集到了十幾個現場提問,我們著重選取了兩個比較細緻的問題請李晨回答。

問題 1:公有鏈和聯盟鏈在具體應用場景解決各種問題上的區別是?請舉出實際應用中的區別案例及案例採用的架構。

公有鏈是完全去中心化的,任何人都可以參與,全球範圍內可以訪問,不依賴於單個公司或轄區,最經典的應用案例則是大家都所熟知的比特幣。聯盟鏈主要針對有競爭又需要合作的場景,技術上聯盟區塊鏈是指其共識過程受到預選節點控制的區塊鏈。只有獲准進入聯盟的節點才可以參與其中。

另外從聯盟鏈場景出發,會有一些企業級的特性需要滿足:

關於聯盟鏈應用架構問題,這裡給一個聯盟鏈優化數據交換平台的例子。

中心化的數據交換平台一般都會面臨幾個痛點:參與方必須為信任平台;監管困難;數據控制權不在用戶手中;數據隱私缺乏保護。

具體的解決方案是:建立一個平台,平台用戶和第三方監管共同建立的聯盟鏈。通過聯盟鏈賬本對所有數據相關操作進行存證;第三方通過其記賬節點對整個業務過程進行監管;數據交換平台只能通過聯盟鏈智能合約的介面獲取數據,而智能合約只由用戶按照標準編寫,這樣數據控制權就完全在用戶手中了;通過零知識證明來保證數據相關的隱私性。

問題 2:區塊鏈如何保證數據隱私性?

按照區塊鏈的基本定義,其實不涉及數據的隱私性問題,只是保證了數據的不可篡改性和可追溯。

但是區塊鏈的架構確實對數據隱私性造成了挑戰,李晨認為核心問題就如以太坊創始人 Vitalik 所說的區塊鏈上的很多節點驗證了每一筆交易。每一筆在區塊鏈上的交易過程都會被全網廣播讓所有節點知道。

數據隱私性是個很大的課題。李晨分享了 3 個方法。

區塊鏈前哨

區塊鏈前哨是極客邦科技旗下的區塊鏈垂直媒體,基於InfoQ十年沉澱。面向區塊鏈興趣愛好者、開發者,提供最新最熱區塊鏈資訊,深度分析區塊鏈技術及應用、展示國內外創新實踐案例。每日更新原創、熱點文章,每周邀請大咖進行社群分享。「 掃一掃二維碼」關注每周精彩內容!免費參與社群活動!


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 全球大搜羅 的精彩文章:

思考未來的世界
繁簡由之的提倡者:三十八年前,他在中國香港地區冒著非議而作《繁簡由之》,現在他仍在堅持自己的觀點

TAG:全球大搜羅 |