從概念到底層技術,一文看懂區塊鏈工業架構設計

買賣虛擬貨幣

前言

區塊鏈是2017年最火的技術,曾經業界流傳一句話:“人工智慧徹底解放生產力,區塊鏈徹底解放生產關係”,一時間區塊鏈成為人工智慧全球應用的最底層技術。但是大家基本都區塊鏈的認識都是停留在比特幣這個物種上,殊不知比特幣只是區塊鏈在金融領域的應用之一。區塊鏈不是一種偶然產生的新技術,而是資訊科技發展的今天遇到的瓶頸產生的必然結果。

記得今年的勒索者病毒吧,被勒索者需要用比特幣贖回自己的資料。全球無數頂級IT公司乃至防衛嚴密的中石油的IT系統都被勒索者輕鬆擊破。作為技術出身的我,喜歡轉眼前沿的技術,當時看到區塊鏈的技術架構,就預言。現在的IT系統一旦網際網路化都會面臨新的災難,資料中心,節點聯網模式,Paas平臺,Saas應用,集中伺服器的模式突然面對資訊爆炸時代變得非常的低效和危險。基於Faas模式和Serverless的應用模式,讓功能直接面對使用者,讓使用者直接面對資料,用智慧的合約法律來保障安全,或許才是人工智慧真正能應用具體產業中的根本技術突破。

原來的資訊科技一直最難突破的是:IT系統、軟體、網際網路的開發人員不懂業務,特別是複雜的工業業務,同懂工業弓製造的人員對IT的架構系統、軟體的程式碼思維,網際網路的運營邏輯望而卻步,所以網際網路、物聯網、大資料發展到今天,在工業領域一直沒有新的實質的進展,即使傳統的人工智慧技術也只是星星點燈。

最初接觸區塊鏈的小夥伴,感覺非常茫然,無從下手,原因是區塊鏈本身不是什麼新技術,類似於Ajax,說它是一種技術架構,或許更加確切。所以,這篇文章我們就從架構設計的角度,談談區塊鏈的技術實現,無論你擅長什麼程式語言,都能夠參考這種設計去實現一款區塊鏈產品。當然,具體到產品,架構設計有很多種,不同的人、不同的產品,架構設計也不盡相同,我們這裡僅僅提供一種參考,讓讀者能夠直觀的感受區塊鏈的技術實現,並順便梳理與之相關的知識體系,幫助大家更進一步去學習研究。

基本概念

作為比特幣背後的技術,無需中心伺服器,可實現各類儲存資料公開、透明、可追溯。原本是比特幣等加密貨幣儲存資料的一種獨特方式,是一種自引用的資料結構,用來儲存大量交易資訊,每條記錄從後向前有序連結起來,具備公開透明、無法篡改、方便追溯的特點。實際上,這種特性也直接體現了整個比特幣的特點,因此使用區塊鏈來概括加密貨幣背後的技術實現是非常直觀和恰當的。區塊鏈是一項技術,加密貨幣是其開發實現的一類產品(含有代幣,也有不含代幣的區塊鏈產品),不能等同或混淆。與加密貨幣相比,區塊鏈這個名字拋開了代幣的概念,更加形象化、技術化、去政治化,更適合作為一門技術去研究、去推廣。

所以,目前當大家單獨說到區塊鏈的時候,就是指的區塊鏈技術,是實現了資料公開、透明、可追溯的產品的架構設計方法,算作廣義的區塊鏈。而當在具體產品中談到區塊鏈的時候,可以指類似比特幣的資料儲存方式,或許是資料庫設計,或許是檔案形式的設計,這算作狹義的區塊鏈。廣義的區塊鏈技術,必須包含點對點網路設計、加密技術應用、分散式演算法的實現、資料儲存技術的使用等4個方面,其他的可能涉及到分散式儲存、機器學習、VR、物聯網、大資料等。狹義的區塊鏈僅僅涉及到資料儲存技術,資料庫或檔案操作等。本文的區塊鏈,指的是廣義的區塊鏈。

架構圖

從架構設計上來說,可以簡單的分為三個層次,協議層、擴充套件層和應用層。其中,協議層又可以分為儲存層和網路層,它們相互獨立但又不可分割。比特幣的區塊鏈應用架構我就不描述了,我們中機在工業領域應用的區塊鏈的應用架構(可公開部分)分享給大家參考,我想不用解釋,技術領域的各位都清楚了。

協議層

所謂的協議層,就是指代最底層的技術。這個層次通常是一個完整的區塊鏈產品,類似於我們電腦的作業系統,它維護著網路節點,僅提供Api供呼叫。用的技術也很簡單,基本都是網路程式設計、分散式演算法、加密簽名、資料儲存技術。

架構設計圖裡,我把這個層面進一步分成了儲存層和網路層。區塊鏈在工業應用中最大的特性就是安全,工業網際網路一直遇到的瓶頸就是安全隱患,傳統的Saas平臺用防火牆來預防安全,但是一旦駭客突破防火牆,後面的集中儲存資料庫基本都是裸露一樣,任駭客宰割。現在的所謂的工業雲平臺最大的問題都是安全問題,我們的安全工程師也對所謂國內號稱主流的工業雲平臺進行了安全測試,發現基本都是大量漏洞。換句話來說,如果這些雲平臺連線了工廠的裝置,而我們的安全工程師變成了駭客,那麼工廠裝置停工,工廠爆炸都似乎輕易而舉的事情。

資料儲存的分散式,一切取決業務的效率與安全性。同時採用分散式演算法、加密簽名,這些要在實現點對點網路的過程中加以使用。這些是大家寫編碼的重點和難點,《Nodejs開發加密貨幣》全書分享的基本上就是這部分的內容。當然,也有把點對點網路的實現單獨分開的,把節點查詢、資料傳輸和驗證等邏輯獨立出來,而把共識演算法、加密簽名、資料儲存等操作放在一起組成核心層。無論怎麼組合,這兩個部分都是最核心、最底層的部分,都是協議層的內容。

擴充套件層

擴充套件層可以理解為我們用的裝置驅動程式,主要是讓區塊鏈產品更加實用。

一是互動平臺:放到比特幣就是交易市場,讓各種貨幣可以兌換加密貨幣。在工業應用中就是電子、脈衝、裝置訊號與人機訊號的轉換。

二是擴充套件實現:就是大家聽的最多的智慧合約,“智慧合約”商業語言叫“合約智慧化”,學術語言“可程式設計動態合約”,其中的智慧主要體現在執行上智慧,達到某個條件合約自動生效。比如比特幣的自動轉賬、自動付款,工業應用中採購業務和發票業務的智慧合約機制。

擴充套件層使用的技術也不復雜主要是:分散式儲存、機器學習、VR、物聯網、大資料等等,都可以使用。

從這個層面來看,區塊鏈可以架構開發任何型別的產品,不僅僅是用在金融行業。在未來,在工業,隨著底層協議的更加完善,任何需要確權、徵信和追溯的資訊,都可以藉助區塊鏈來實現。

應用層

區塊鏈的應用層電腦的軟體程式和手機的app應用,就是普通人直接可以用的產品,但是目前這塊應用全球都很匱乏。可以這些說阿里釘釘、支付寶都不能算區塊鏈的應用,騰訊的微信也只能算80%的區塊鏈應用。所以從技術角度就可以明白為什麼阿里做應用做不過騰訊,在這方面我覺得張小龍先生應該是懂的比較多,只是他不表達。

限於當前區塊鏈技術的發展,市面上又找不到真正牢固、易用的協議層或擴充套件層的產品。去中機採訪他們首席科學家,人工智慧區塊鏈架構師李紅傑先生,他說:他的團隊200人,其中包括IBM、谷歌很多資深開發工程師,剛開始都困惑這類應用的開發,開發難度和成本都比較高。所以李總和他的研發團隊才投入了2年時間,近3億的資金研發了,GURU智慧工業技術架構,當然現在沒有完全商用。但是在工業區塊鏈應用開發領域已經取得突破,讓使用者直接面對資料,進行自主創新應用性開發,打破Java應用語言和C#等語言的通訊障礙,把工業語言和人機語言進行融合對話。

李總表示:我們只好全面發力,採取完全開源開放的態度,透過社羣的力量,共同去做一件有意義的事情,也算為中國區塊鏈技術發展做點技術積累和微薄貢獻。

附錄:知識圖譜

循著上面的分析,我們已經可以瞭解區塊鏈是什麼,並知道怎麼實現了,順便梳理一下其中的程式設計技術知識,自然也就清晰多了。

根據個人的理解,我把與區塊鏈相關的知識分為下面5個方面:

(1)基礎知識

區塊鏈是新技術,與之相關的是其背後大量的新概念、新理論。這些知識,雖然不直接體現在編碼裡,但卻是理解區塊鏈,掌握區塊鏈技術的基本知識。所以,理當成為區塊鏈技術不可或缺的一部分。這部分從基本概念入手,到工作原理的描述,就能夠把區塊鏈基礎知識全部覆蓋。

(2)技術實現

區塊鏈是一項技術,但從上面的分析可以看出,它應該是一種架構應用,架構的實現理當是我們知識庫的核心。正如大家看到的,任何一款區塊鏈產品,協議層必須包括點對點網路、加密簽名、資料儲存、分散式演算法等4個部分,應用層也必然要提供錢包、客戶端瀏覽器等基礎應用。所以,把這部分獨立出來,也是合情合理。

在擴充套件層的部分,區塊鏈技術可以對接各種應用,比如:金融、物聯網、網路安全、版權保護、電子商務等等,現有的很多技術都可以用在這裡。只不過,如何與區塊鏈結合,如何實現跨行業使用,自然是這部分內容研究的課題。所以,這裡所羅列或涉及到的技術,理應歸為技術實現的一個重要部分。

(3)開發環境

區塊鏈是多項技術的組合,有其自身的複雜性,個別應用對開發環境依賴較大,開發工具與環境搭建,是讓開發者快速上手的重要內容。

(4)專案實踐

據說,短短數年,全球區塊鏈產品已經有幾千個,其中不乏創新應用。有些優秀的開源產品和專案實踐,是最好的學習研究資料。

(5)開發文件

這個自然不用說了,每一種產品也都會有自己的開發文件。另一個,就是有心的開發者整理彙總的一些資源,可以幫助我們節省很多查詢的時間。

在考慮這個知識體系的過程中,主要思考的是,讀者循著這些標籤去查閱文章,能否快速掌握區塊鏈技術,並最終上手開發實現一個區塊鏈產品。另外,也刻意規避了與具體程式語言,以及特定領域相關的詞彙,唯一可以區分的就是這些節點之下對應的文章標籤。所以,這些分類就顯得非常中性。也考慮過使用比特幣、競爭幣、智慧合約、數字資產、智慧資產等具體領域的實現作為分類方法,但又怕限制了讀者的思維,同時隨著區塊鏈的發展,新概念將會層出不窮,那樣這個圖譜就需要不停的修改下去。

總結

這篇文章,我們把區塊鏈技術基礎架構描述了一下,需要再次強調的是,這僅僅是一種實現方式,絕非所有的區塊鏈產品都是如此,我們也期待更多創新出現,也相信一定會出現。可以肯定是,未來不做區塊鏈技術架構改造的企業,勒索者病毒會輕鬆破了你的系統,拿走你的資料,恣意糟蹋的你使用者,除非你痛苦的遠離網路!

當人工智慧與區塊鏈融入工業後未來的場景一定美的不像話!

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;