從概念到底層技術(shù),一文看懂區(qū)塊鏈工業(yè)架構(gòu)設(shè)計(jì)(附知識(shí)圖譜)
所屬頻道:新聞中心
前言
區(qū)塊鏈?zhǔn)悄壳白罨鸬募夹g(shù),曾經(jīng)業(yè)界流傳一句話:“人工智能徹底解放生產(chǎn)力,區(qū)塊鏈徹底解放生產(chǎn)關(guān)系”,一時(shí)間區(qū)塊鏈成為人工智能全球應(yīng)用的最底層技術(shù)。但是大家基本都區(qū)塊鏈的認(rèn)識(shí)都是停留在比特幣這個(gè)物種上,殊不知比特幣只是區(qū)塊鏈在金融領(lǐng)域的應(yīng)用之一。區(qū)塊鏈不是一種偶然產(chǎn)生的新技術(shù),而是信息技術(shù)發(fā)展的今天遇到的瓶頸產(chǎn)生的必然結(jié)果。
記得2017年的勒索者病毒吧,被勒索者需要用比特幣贖回自己的數(shù)據(jù)。全球無數(shù)頂級(jí)IT公司乃至防衛(wèi)嚴(yán)密的中石油的IT系統(tǒng)都被勒索者輕松擊破。作為技術(shù)出身的我,喜歡轉(zhuǎn)眼前沿的技術(shù),當(dāng)時(shí)看到區(qū)塊鏈的技術(shù)架構(gòu),就預(yù)言?,F(xiàn)在的IT系統(tǒng)一旦互聯(lián)網(wǎng)化都會(huì)面臨新的災(zāi)難,數(shù)據(jù)中心,節(jié)點(diǎn)聯(lián)網(wǎng)模式,Paas平臺(tái),Saas應(yīng)用,集中服務(wù)器的模式突然面對(duì)信息爆炸時(shí)代變得非常的低效和危險(xiǎn)。基于Faas模式和Serverless的應(yīng)用模式,讓功能直接面對(duì)用戶,讓用戶直接面對(duì)數(shù)據(jù),用智能的合約法律來保障安全,或許才是人工智能真正能應(yīng)用具體產(chǎn)業(yè)中的根本技術(shù)突破。
原來的信息技術(shù)一直最難突破的是:IT系統(tǒng)、軟件、互聯(lián)網(wǎng)的開發(fā)人員不懂業(yè)務(wù),特別是復(fù)雜的工業(yè)業(yè)務(wù),同懂工業(yè)弓制造的人員對(duì)IT的架構(gòu)系統(tǒng)、軟件的代碼思維,互聯(lián)網(wǎng)的運(yùn)營邏輯望而卻步,所以互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、大數(shù)據(jù)發(fā)展到今天,在工業(yè)領(lǐng)域一直沒有新的實(shí)質(zhì)的進(jìn)展,即使傳統(tǒng)的人工智能技術(shù)也只是星星點(diǎn)燈。
最初接觸區(qū)塊鏈的小伙伴,感覺非常茫然,無從下手,原因是區(qū)塊鏈本身不是什么新技術(shù),類似于Ajax,說它是一種技術(shù)架構(gòu),或許更加確切。所以,這篇文章我們就從架構(gòu)設(shè)計(jì)的角度,談?wù)剠^(qū)塊鏈的技術(shù)實(shí)現(xiàn),無論你擅長什么編程語言,都能夠參考這種設(shè)計(jì)去實(shí)現(xiàn)一款區(qū)塊鏈產(chǎn)品。當(dāng)然,具體到產(chǎn)品,架構(gòu)設(shè)計(jì)有很多種,不同的人、不同的產(chǎn)品,架構(gòu)設(shè)計(jì)也不盡相同,我們這里僅僅提供一種參考,讓讀者能夠直觀的感受區(qū)塊鏈的技術(shù)實(shí)現(xiàn),并順便梳理與之相關(guān)的知識(shí)體系,幫助大家更進(jìn)一步去學(xué)習(xí)研究。
基本概念
區(qū)塊鏈作為比特幣背后的技術(shù),無需中心服務(wù)器,可實(shí)現(xiàn)各類存儲(chǔ)數(shù)據(jù)公開、透明、可追溯。原本是比特幣等加密貨幣存儲(chǔ)數(shù)據(jù)的一種獨(dú)特方式,是一種自引用的數(shù)據(jù)結(jié)構(gòu),用來存儲(chǔ)大量交易信息,每條記錄從后向前有序鏈接起來,具備公開透明、無法篡改、方便追溯的特點(diǎn)。實(shí)際上,這種特性也直接體現(xiàn)了整個(gè)比特幣的特點(diǎn),因此使用區(qū)塊鏈來概括加密貨幣背后的技術(shù)實(shí)現(xiàn)是非常直觀和恰當(dāng)?shù)摹^(qū)塊鏈?zhǔn)且豁?xiàng)技術(shù),加密貨幣是其開發(fā)實(shí)現(xiàn)的一類產(chǎn)品(含有代幣,也有不含代幣的區(qū)塊鏈產(chǎn)品),不能等同或混淆。與加密貨幣相比,區(qū)塊鏈這個(gè)名字拋開了代幣的概念,更加形象化、技術(shù)化、去政治化,更適合作為一門技術(shù)去研究、去推廣。
所以,目前當(dāng)大家單獨(dú)說到區(qū)塊鏈的時(shí)候,就是指的區(qū)塊鏈技術(shù),是實(shí)現(xiàn)了數(shù)據(jù)公開、透明、可追溯的產(chǎn)品的架構(gòu)設(shè)計(jì)方法,算作廣義的區(qū)塊鏈。而當(dāng)在具體產(chǎn)品中談到區(qū)塊鏈的時(shí)候,可以指類似比特幣的數(shù)據(jù)存儲(chǔ)方式,或許是數(shù)據(jù)庫設(shè)計(jì),或許是文件形式的設(shè)計(jì),這算作狹義的區(qū)塊鏈。廣義的區(qū)塊鏈技術(shù),必須包含點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)設(shè)計(jì)、加密技術(shù)應(yīng)用、分布式算法的實(shí)現(xiàn)、數(shù)據(jù)存儲(chǔ)技術(shù)的使用等4個(gè)方面,其他的可能涉及到分布式存儲(chǔ)、機(jī)器學(xué)習(xí)、VR、物聯(lián)網(wǎng)、大數(shù)據(jù)等。狹義的區(qū)塊鏈僅僅涉及到數(shù)據(jù)存儲(chǔ)技術(shù),數(shù)據(jù)庫或文件操作等。本文的區(qū)塊鏈,指的是廣義的區(qū)塊鏈。
架構(gòu)圖
從架構(gòu)設(shè)計(jì)上來說,區(qū)塊鏈可以簡單的分為三個(gè)層次,協(xié)議層、擴(kuò)展層和應(yīng)用層。其中,協(xié)議層又可以分為存儲(chǔ)層和網(wǎng)絡(luò)層,它們相互獨(dú)立但又不可分割。比特幣的區(qū)塊鏈應(yīng)用架構(gòu)我就不描述了,我們中機(jī)在工業(yè)領(lǐng)域應(yīng)用的區(qū)塊鏈的應(yīng)用架構(gòu)(可公開部分)分享給大家參考,我想不用解釋,技術(shù)領(lǐng)域的各位都清楚了。
協(xié)議層
所謂的協(xié)議層,就是指代最底層的技術(shù)。這個(gè)層次通常是一個(gè)完整的區(qū)塊鏈產(chǎn)品,類似于我們電腦的操作系統(tǒng),它維護(hù)著網(wǎng)絡(luò)節(jié)點(diǎn),僅提供Api供調(diào)用。用的技術(shù)也很簡單,基本都是網(wǎng)絡(luò)編程、分布式算法、加密簽名、數(shù)據(jù)存儲(chǔ)技術(shù)。
架構(gòu)設(shè)計(jì)圖里,我把這個(gè)層面進(jìn)一步分成了存儲(chǔ)層和網(wǎng)絡(luò)層。區(qū)塊鏈在工業(yè)應(yīng)用中最大的特性就是安全,工業(yè)互聯(lián)網(wǎng)一直遇到的瓶頸就是安全隱患,傳統(tǒng)的Saas平臺(tái)用防火墻來預(yù)防安全,但是一旦黑客突破防火墻,后面的集中存儲(chǔ)數(shù)據(jù)庫基本都是裸露一樣,任黑客宰割?,F(xiàn)在的所謂的工業(yè)云平臺(tái)最大的問題都是安全問題,我們的安全工程師也對(duì)所謂國內(nèi)號(hào)稱主流的工業(yè)云平臺(tái)進(jìn)行了安全測試,發(fā)現(xiàn)基本都是大量漏洞。換句話來說,如果這些云平臺(tái)連接了工廠的設(shè)備,而我們的安全工程師變成了黑客,那么工廠設(shè)備停工,工廠爆炸都似乎輕易而舉的事情。
數(shù)據(jù)存儲(chǔ)的分布式,一切取決業(yè)務(wù)的效率與安全性。同時(shí)采用分布式算法、加密簽名,這些要在實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)的過程中加以使用。這些是大家寫編碼的重點(diǎn)和難點(diǎn),《Nodejs開發(fā)加密貨幣》全書分享的基本上就是這部分的內(nèi)容。當(dāng)然,也有把點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)的實(shí)現(xiàn)單獨(dú)分開的,把節(jié)點(diǎn)查找、數(shù)據(jù)傳輸和驗(yàn)證等邏輯獨(dú)立出來,而把共識(shí)算法、加密簽名、數(shù)據(jù)存儲(chǔ)等操作放在一起組成核心層。無論怎么組合,這兩個(gè)部分都是最核心、最底層的部分,都是協(xié)議層的內(nèi)容。
擴(kuò)展層
擴(kuò)展層可以理解為我們用的設(shè)備驅(qū)動(dòng)程序,主要是讓區(qū)塊鏈產(chǎn)品更加實(shí)用。
一是交互平臺(tái):放到比特幣就是交易市場,讓各種貨幣可以兌換加密貨幣。在工業(yè)應(yīng)用中就是電子、脈沖、設(shè)備信號(hào)與人機(jī)信號(hào)的轉(zhuǎn)換。
二是擴(kuò)展實(shí)現(xiàn):就是大家聽的最多的智能合約,“智能合約”商業(yè)語言叫“合約智能化”,學(xué)術(shù)語言“可編程動(dòng)態(tài)合約”,其中的智能主要體現(xiàn)在執(zhí)行上智能,達(dá)到某個(gè)條件合約自動(dòng)生效。比如比特幣的自動(dòng)轉(zhuǎn)賬、自動(dòng)付款,工業(yè)應(yīng)用中采購業(yè)務(wù)和發(fā)票業(yè)務(wù)的智能合約機(jī)制。
擴(kuò)展層使用的技術(shù)也不復(fù)雜主要是:分布式存儲(chǔ)、機(jī)器學(xué)習(xí)、VR、物聯(lián)網(wǎng)、大數(shù)據(jù)等等,都可以使用。
從這個(gè)層面來看,區(qū)塊鏈可以架構(gòu)開發(fā)任何類型的產(chǎn)品,不僅僅是用在金融行業(yè)。在未來,在工業(yè),隨著底層協(xié)議的更加完善,任何需要確權(quán)、征信和追溯的信息,都可以借助區(qū)塊鏈來實(shí)現(xiàn)。
應(yīng)用層
區(qū)塊鏈的應(yīng)用層電腦的軟件程序和手機(jī)的app應(yīng)用,就是普通人直接可以用的產(chǎn)品,但是目前這塊應(yīng)用全球都很匱乏??梢赃@些說阿里釘釘、支付寶都不能算區(qū)塊鏈的應(yīng)用,騰訊的微信也只能算80%的區(qū)塊鏈應(yīng)用。所以從技術(shù)角度就可以明白為什么阿里做應(yīng)用做不過騰訊,在這方面我覺得張小龍先生應(yīng)該是懂的比較多,只是他不表達(dá)。
限于當(dāng)前區(qū)塊鏈技術(shù)的發(fā)展,市面上又找不到真正牢固、易用的協(xié)議層或擴(kuò)展層的產(chǎn)品。去中機(jī)采訪他們首席科學(xué)家,人工智能區(qū)塊鏈架構(gòu)師李紅杰先生,他說:他的團(tuán)隊(duì)200人,其中包括IBM、谷歌很多資深開發(fā)工程師,剛開始都困惑這類應(yīng)用的開發(fā),開發(fā)難度和成本都比較高。所以李總和他的研發(fā)團(tuán)隊(duì)才投入了2年時(shí)間,近3億的資金研發(fā)了,GURU智能工業(yè)技術(shù)架構(gòu),當(dāng)然現(xiàn)在沒有完全商用。但是在工業(yè)區(qū)塊鏈應(yīng)用開發(fā)領(lǐng)域已經(jīng)取得突破,讓用戶直接面對(duì)數(shù)據(jù),進(jìn)行自主創(chuàng)新應(yīng)用性開發(fā),打破Java應(yīng)用語言和C#等語言的通信障礙,把工業(yè)語言和人機(jī)語言進(jìn)行融合對(duì)話。
李總表示:我們只好全面發(fā)力,采取完全開源開放的態(tài)度,通過社區(qū)的力量,共同去做一件有意義的事情,也算為中國區(qū)塊鏈技術(shù)發(fā)展做點(diǎn)技術(shù)積累和微薄貢獻(xiàn)。
附錄:知識(shí)圖譜
循著上面的分析,我們已經(jīng)可以了解區(qū)塊鏈?zhǔn)鞘裁矗⒅涝趺磳?shí)現(xiàn)了,順便梳理一下其中的編程技術(shù)知識(shí),自然也就清晰多了。
根據(jù)個(gè)人的理解,我把與區(qū)塊鏈相關(guān)的知識(shí)分為下面5個(gè)方面:
(1)基礎(chǔ)知識(shí)
區(qū)塊鏈?zhǔn)切录夹g(shù),與之相關(guān)的是其背后大量的新概念、新理論。這些知識(shí),雖然不直接體現(xiàn)在編碼里,但卻是理解區(qū)塊鏈,掌握區(qū)塊鏈技術(shù)的基本知識(shí)。所以,理當(dāng)成為區(qū)塊鏈技術(shù)不可或缺的一部分。這部分從基本概念入手,到工作原理的描述,就能夠把區(qū)塊鏈基礎(chǔ)知識(shí)全部覆蓋。
(2)技術(shù)實(shí)現(xiàn)
區(qū)塊鏈?zhǔn)且豁?xiàng)技術(shù),但從上面的分析可以看出,它應(yīng)該是一種架構(gòu)應(yīng)用,架構(gòu)的實(shí)現(xiàn)理當(dāng)是我們知識(shí)庫的核心。正如大家看到的,任何一款區(qū)塊鏈產(chǎn)品,協(xié)議層必須包括點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)、加密簽名、數(shù)據(jù)存儲(chǔ)、分布式算法等4個(gè)部分,應(yīng)用層也必然要提供錢包、客戶端瀏覽器等基礎(chǔ)應(yīng)用。所以,把這部分獨(dú)立出來,也是合情合理。
在擴(kuò)展層的部分,區(qū)塊鏈技術(shù)可以對(duì)接各種應(yīng)用,比如:金融、物聯(lián)網(wǎng)、網(wǎng)絡(luò)安全、版權(quán)保護(hù)、電子商務(wù)等等,現(xiàn)有的很多技術(shù)都可以用在這里。只不過,如何與區(qū)塊鏈結(jié)合,如何實(shí)現(xiàn)跨行業(yè)使用,自然是這部分內(nèi)容研究的課題。所以,這里所羅列或涉及到的技術(shù),理應(yīng)歸為技術(shù)實(shí)現(xiàn)的一個(gè)重要部分。
(3)開發(fā)環(huán)境
區(qū)塊鏈?zhǔn)嵌囗?xiàng)技術(shù)的組合,有其自身的復(fù)雜性,個(gè)別應(yīng)用對(duì)開發(fā)環(huán)境依賴較大,開發(fā)工具與環(huán)境搭建,是讓開發(fā)者快速上手的重要內(nèi)容。
(4)項(xiàng)目實(shí)踐
據(jù)說,短短數(shù)年,全球區(qū)塊鏈產(chǎn)品已經(jīng)有幾千個(gè),其中不乏創(chuàng)新應(yīng)用。有些優(yōu)秀的開源產(chǎn)品和項(xiàng)目實(shí)踐,是最好的學(xué)習(xí)研究資料。
(5)開發(fā)文檔
這個(gè)自然不用說了,每一種產(chǎn)品也都會(huì)有自己的開發(fā)文檔。另一個(gè),就是有心的開發(fā)者整理匯總的一些資源,可以幫助我們節(jié)省很多查詢的時(shí)間。
在考慮這個(gè)知識(shí)體系的過程中,主要思考的是,讀者循著這些標(biāo)簽去查閱文章,能否快速掌握區(qū)塊鏈技術(shù),并最終上手開發(fā)實(shí)現(xiàn)一個(gè)區(qū)塊鏈產(chǎn)品。另外,也刻意規(guī)避了與具體編程語言,以及特定領(lǐng)域相關(guān)的詞匯,唯一可以區(qū)分的就是這些節(jié)點(diǎn)之下對(duì)應(yīng)的文章標(biāo)簽。所以,這些分類就顯得非常中性。也考慮過使用比特幣、競爭幣、智能合約、數(shù)字資產(chǎn)、智能資產(chǎn)等具體領(lǐng)域的實(shí)現(xiàn)作為分類方法,但又怕限制了讀者的思維,同時(shí)隨著區(qū)塊鏈的發(fā)展,新概念將會(huì)層出不窮,那樣這個(gè)圖譜就需要不停的修改下去。
總結(jié)
這篇文章,我們把區(qū)塊鏈技術(shù)基礎(chǔ)架構(gòu)描述了一下,需要再次強(qiáng)調(diào)的是,這僅僅是一種實(shí)現(xiàn)方式,絕非所有的區(qū)塊鏈產(chǎn)品都是如此,我們也期待更多創(chuàng)新出現(xiàn),也相信一定會(huì)出現(xiàn)??梢钥隙ㄊ牵磥聿蛔鰠^(qū)塊鏈技術(shù)架構(gòu)改造的企業(yè),勒索者病毒會(huì)輕松破了你的系統(tǒng),拿走你的數(shù)據(jù),恣意糟蹋的你用戶,除非你痛苦的遠(yuǎn)離網(wǎng)絡(luò)!
當(dāng)人工智能與區(qū)塊鏈融入工業(yè)后未來的場景一定美的不像話!
(審核編輯: 智匯李)
分享