本文首先會(huì)對(duì)大數(shù)據(jù)和 AI 技術(shù)做一些概念掃盲,算是個(gè)小小的科普,也會(huì)涉及一些我認(rèn)為有助于我們從本質(zhì)上理解這些技術(shù)的關(guān)鍵點(diǎn);我本人其實(shí)早就想聊聊這些內(nèi)容,因?yàn)槲乙?jiàn)多太多人乃至很多公司都并不確切地知道這些最基本的概念,都只是在跟風(fēng)或者被很多媒體、大公司的商業(yè)炒作所迷惑。所以本文的很多內(nèi)容都可以看作是對(duì)從大眾層面理解這些技術(shù)概念的誤區(qū)的一種澄清。
當(dāng)然,本文中也會(huì)聊聊我個(gè)人「略懂」的區(qū)塊鏈以及時(shí)下熱門(mén)的「跨鏈」話題,這也是我寫(xiě)本文的主要目的。希望本文能給專(zhuān)業(yè)的和非專(zhuān)業(yè)的朋友都提供一些有用的信息或者啟發(fā)。
寫(xiě)作本文可以說(shuō)是一時(shí)興起,其中關(guān)于「跨鏈」的內(nèi)容,靈感主要來(lái)自于前幾天 Gavin Wood 博士說(shuō)到的一個(gè)觀點(diǎn)。
到底什么樣的數(shù)據(jù)才是大數(shù)據(jù)
近些年,越來(lái)越多的企業(yè)、媒體在炒作「大數(shù)據(jù)(Big Data)」,我想無(wú)論是專(zhuān)業(yè)的技術(shù)人員還是普通大眾,其實(shí)首先都要明確一個(gè)概念——到底多大的數(shù)據(jù)才能叫「大數(shù)據(jù)」?
我曾經(jīng)供職于一家?guī)缀跛兄袊?guó)人都知道的制造業(yè)公司,公司內(nèi)部也曾說(shuō)過(guò)要做大數(shù)據(jù)分析,要引入大數(shù)據(jù)概念內(nèi)的技術(shù)工具和基礎(chǔ)設(shè)施,其根據(jù)就是其業(yè)務(wù)數(shù)據(jù)量已經(jīng)達(dá)到了 100 多 TB (1 TB 約等于 1 萬(wàn)億字節(jié))。但這顯然忽略了一個(gè)重要因素,就是這 100 多 TB 數(shù)據(jù)是這家公司自成立以來(lái)的所有數(shù)據(jù)(20 多年的歷史數(shù)據(jù))。而 Facebook 每天產(chǎn)生的數(shù)據(jù)量早已超過(guò)了 10 TB,請(qǐng)注意,是每天。這是一個(gè)量級(jí)么?有可比性么?
所以我們談「大數(shù)據(jù)」,最重要的指標(biāo)其實(shí)在于「數(shù)據(jù)增量大」,或者叫做「數(shù)據(jù)增速大」。僅僅是歷史數(shù)據(jù)量大,談不上「大數(shù)據(jù)」,因?yàn)椴还軞v史數(shù)據(jù)再多,他們都是「歷史數(shù)據(jù)」,是不會(huì)再修改的數(shù)據(jù),分析一次就完事了;而如果「數(shù)據(jù)增速大」,其絕對(duì)數(shù)據(jù)量自然也就會(huì)非常大,那么它對(duì)于數(shù)據(jù)分析工具和相關(guān)技術(shù)的要求也就會(huì)相應(yīng)提高。
而當(dāng)我們以「數(shù)據(jù)增速大」作為關(guān)鍵指標(biāo)來(lái)篩選的時(shí)候,我們就會(huì)發(fā)現(xiàn):其實(shí)目前市面上 99.9% 的公司所謂的「大數(shù)據(jù)」分析,都只是給 20 多年前就出現(xiàn)了的 BI (Business Inteligence,即商業(yè)智能,因?yàn)槠颍@里不做展開(kāi)介紹)業(yè)務(wù)換了個(gè)新馬甲而已。真正能稱(chēng)得上是「大數(shù)據(jù)」的業(yè)務(wù),大概只有那些全球化的數(shù)據(jù)信息服務(wù),或者信息化的社會(huì)公共基礎(chǔ)服務(wù)。前者的代表就是全球化的社交媒體 / 內(nèi)容平臺(tái)(Facebook、Twitter、微信、早期的微博)、搜索引擎(Google、百度)、高流量的電商平臺(tái)(Amazon、淘寶)、高流量的支付交易網(wǎng)關(guān)、高活躍度的移動(dòng)智能設(shè)備系統(tǒng)服務(wù)等互聯(lián)網(wǎng)應(yīng)用;后者的代表則是類(lèi)似運(yùn)營(yíng)商、公共基礎(chǔ)設(shè)施服務(wù)(比如交通、能源)等一般由政府控制的社會(huì)公共基礎(chǔ)服務(wù)。
「大數(shù)據(jù)」的概念首次被提出是在大概 10 年之前,目前業(yè)內(nèi)廣泛認(rèn)同的 3V 指標(biāo)是衡量大數(shù)據(jù)的最主要指標(biāo),它們包括 Volume (數(shù)據(jù)量)、Variety (多樣性)、Velocity (增長(zhǎng)速度),后來(lái)有業(yè)內(nèi)人士在 3V 指標(biāo)的基礎(chǔ)上增加了 Veracity (真實(shí)度)和 Value (價(jià)值),將其擴(kuò)展為 5V 指標(biāo)。而在大數(shù)據(jù)的多樣性和高速增長(zhǎng)特性的共同影響下,非關(guān)系型數(shù)據(jù)庫(kù)(Nosql database)也得到了大量的應(yīng)用和快速的進(jìn)化發(fā)展。
此外值得一提的就是近年來(lái)得到飛速發(fā)展的物聯(lián)網(wǎng)(Internet of Things)公司。基于大量的終端設(shè)備 / 傳感器所采集 / 傳輸?shù)臄?shù)據(jù)是有可能達(dá)到「大數(shù)據(jù)」的級(jí)別的,只是目前能支持到「數(shù)億」量級(jí)終端設(shè)備的公司還并不多,但這已經(jīng)是一個(gè)可以看到的未來(lái)方向了。
顯然,大數(shù)據(jù)并不是普通公司能玩兒的動(dòng)的東西,說(shuō)到底還是資本 / 資源的游戲。當(dāng)然這里邊的技術(shù)含量是有的,對(duì)技術(shù)人才的需求也是有的,只是這個(gè)方向大概真的不適合拿來(lái)創(chuàng)業(yè)。
要處理海量的、異構(gòu)的、高速產(chǎn)生的數(shù)據(jù),必然需要像諸如分布式數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)清洗工具、數(shù)據(jù)建模工具、數(shù)據(jù)分析工具等等相關(guān)的技術(shù)產(chǎn)品和技術(shù)棧的支持,并不是個(gè)簡(jiǎn)單的工作;即使只考慮傳統(tǒng)的 BI 技術(shù)棧,也是個(gè)技術(shù)活兒;市場(chǎng)需求是沒(méi)問(wèn)題的。但這些不是本文的重點(diǎn),就不展開(kāi)介紹了。
AI 又是什么
AI 就是人工智能(Arificial Intelligence),我想大部分人都知道了。所以這里我想再引入兩個(gè)術(shù)語(yǔ):神經(jīng)網(wǎng)絡(luò)(Neural Network)和專(zhuān)家系統(tǒng)(Expert System)。
目前如日中天的深度學(xué)習(xí)(Deep Learning)其實(shí)就是基于人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network)理論發(fā)展進(jìn)化而來(lái)的一套算法系統(tǒng)。那么神經(jīng)網(wǎng)絡(luò)是什么新鮮東西么?并不是。最早的對(duì)于用機(jī)器模擬人類(lèi)神經(jīng)活動(dòng)的研究開(kāi)始于 19 世紀(jì)末期,而現(xiàn)代人工神經(jīng)網(wǎng)絡(luò)的最初起源則來(lái)自于圖靈在 1948 年發(fā)表的一篇論文。到上世紀(jì)八九十年代,神經(jīng)網(wǎng)絡(luò)的工程實(shí)現(xiàn)也有了一些進(jìn)展,出現(xiàn)了一些雛形。近幾年由 Google 引領(lǐng)的深度學(xué)習(xí)熱潮,則是人工神經(jīng)網(wǎng)絡(luò)第一次接近實(shí)際應(yīng)用的嘗試,雖然它也還僅僅是一些相對(duì)比較成熟的算法而已。
目前知名度最高的深度學(xué)習(xí)項(xiàng)目就是 Google 的 Alpha Go 了,這個(gè)項(xiàng)目用在圍棋領(lǐng)域已經(jīng)造就了獨(dú)一檔的「AI 流」,它甚至引發(fā)了一些基礎(chǔ)圍棋理論的發(fā)展演進(jìn)。但是,這個(gè)項(xiàng)目其實(shí)是一個(gè)目標(biāo)在醫(yī)療領(lǐng)域應(yīng)用的「專(zhuān)家系統(tǒng)」。所謂「專(zhuān)家系統(tǒng)」,就是用機(jī)器模擬人類(lèi)的某個(gè)特定領(lǐng)域的專(zhuān)家來(lái)進(jìn)行決策或者判斷。專(zhuān)家系統(tǒng)同樣不是什么新玩意兒。最早的專(zhuān)家系統(tǒng)出現(xiàn)于上世紀(jì)七八十年代,它們通常由兩部分組成:推斷引擎(Inference Engine)和知識(shí)庫(kù)(Knowledge Base)。也就是基于大量的經(jīng)驗(yàn)信息 / 數(shù)據(jù) / 指標(biāo)和其對(duì)應(yīng)的結(jié)果,用算法引擎來(lái)根據(jù)新的輸入數(shù)據(jù)模擬類(lèi)似于領(lǐng)域?qū)<一诮?jīng)驗(yàn)進(jìn)行的判斷,供人參考。目前在醫(yī)療領(lǐng)域的一些深度學(xué)習(xí)項(xiàng)目,其推斷的準(zhǔn)確率已經(jīng)超過(guò)了普通的醫(yī)生,尤其是在一些高度依賴(lài)于對(duì)圖形進(jìn)行檢查(對(duì)各種人眼不易識(shí)別的物理特性的判斷)和一些指標(biāo)相對(duì)非常明確的細(xì)分領(lǐng)域。
我們應(yīng)該看到,目前的 AI 熱潮,也只不過(guò)是新瓶裝舊酒罷了;在像語(yǔ)義識(shí)別這種真正能體現(xiàn)「智能」的領(lǐng)域依然沒(méi)有太多應(yīng)用級(jí)別的東西出來(lái),更不用說(shuō)那些需要「創(chuàng)造力」的領(lǐng)域了。雖然在某些情況下,帶有深度學(xué)習(xí)引擎的語(yǔ)音機(jī)器人、實(shí)體機(jī)器人聽(tīng)起來(lái)、看起來(lái)很「聰明」,但那依然只是訓(xùn)練了足夠多的「專(zhuān)家」而已;它能給出正確的響應(yīng),并不是因?yàn)樗嘎?tīng)懂」了,而是因?yàn)檎鎸?shí)的輸入滿足了某些已知的條件,所以這當(dāng)然不是真正的「智能」。這就像剛剛提到的 BI 并不「智能」一樣,就像后文會(huì)提到的「智能合約(Smart Contract)」并不「智能」一樣,不要被它們的名字騙了。
這里我需要強(qiáng)調(diào):深度學(xué)習(xí)當(dāng)然有它的價(jià)值,專(zhuān)家系統(tǒng)和其他相關(guān)的業(yè)務(wù)領(lǐng)域當(dāng)然也有它的價(jià)值,我也無(wú)意貶低 AI。我只是想說(shuō)明:深度學(xué)習(xí)其實(shí)仍然算不上是突破性的人工智能技術(shù),它離真正的「智能」仍然有相當(dāng)?shù)木嚯x,這是受限于目前的 AI 理論沒(méi)有實(shí)質(zhì)性的突破。專(zhuān)家系統(tǒng)(深度學(xué)習(xí))的局限很明顯,就是一定要基于大量的經(jīng)驗(yàn)數(shù)據(jù)(訓(xùn)練數(shù)據(jù)),而這對(duì)于普通的公司和創(chuàng)業(yè)者而言就是難以逾越的天塹。
看懂了目前的 AI (專(zhuān)家系統(tǒng))的本質(zhì)之后,我們?cè)賮?lái)看 AI 和大數(shù)據(jù)(BI)的結(jié)合也就非常順理成章了,是很自然的事。因?yàn)榧热挥辛撕A康臄?shù)據(jù),那就需要嘗試從其中獲得有用的信息,來(lái)分析趨勢(shì)、進(jìn)行決策和判斷,這也是 BI 最初的、最本質(zhì)的目的。而專(zhuān)家系統(tǒng)則需要大量的經(jīng)驗(yàn)數(shù)據(jù)(訓(xùn)練數(shù)據(jù)),所以只有那些擁有大量有用數(shù)據(jù)的公司,才能訓(xùn)練出高水平的「專(zhuān)家」來(lái)。說(shuō)「數(shù)據(jù)為王」,一點(diǎn)兒都沒(méi)錯(cuò);數(shù)據(jù)才是未來(lái)大公司的根本,是核心資源。
到這里,對(duì)大數(shù)據(jù)和 AI 的掃盲就基本結(jié)束了。你大概會(huì)問(wèn):你說(shuō)的這些我都知道了,但大數(shù)據(jù)和 AI 是怎么和跨鏈(區(qū)塊鏈)扯上關(guān)系的呢?別急,我們還得先聊聊關(guān)于區(qū)塊鏈的幾個(gè)基本概念。
區(qū)塊鏈解決了什么問(wèn)題
如果有人問(wèn)你「區(qū)塊鏈?zhǔn)鞘裁础?,你?huì)怎么回答呢?相信大家已經(jīng)在近幾年各種媒體的狂轟濫炸下對(duì)區(qū)塊鏈有了個(gè)印象,不過(guò)如果真要讓你正式回答這個(gè)問(wèn)題,我想很多人未必能說(shuō)的明白。
因?yàn)槲覀€(gè)人還是做技術(shù)的,所以我還是想再次從技術(shù)本質(zhì)的角度來(lái)解釋下這個(gè)問(wèn)題。我認(rèn)為:區(qū)塊鏈就是把一個(gè)單向變化的無(wú)限不循環(huán)狀態(tài)機(jī)放到一個(gè)分布式(對(duì)等)網(wǎng)絡(luò)中對(duì)其數(shù)據(jù)進(jìn)行冗余拷貝存儲(chǔ)并驗(yàn)證的計(jì)算機(jī)系統(tǒng)。這里我必須對(duì)那些非技術(shù)專(zhuān)業(yè)的朋友說(shuō)一聲抱歉,這是我能想到的最準(zhǔn)確的(技術(shù))定義了,但恐怕你們是看不懂的。
結(jié)合平時(shí)經(jīng)常會(huì)被提及的的一些術(shù)語(yǔ)再稍加解釋?zhuān)?/div>
交易:也就是這個(gè)狀態(tài)機(jī)中狀態(tài)變動(dòng)的原動(dòng)力。交易可以是一個(gè)轉(zhuǎn)賬行為,也可以是一次對(duì)(自定義)數(shù)據(jù)的更改,這取決于各個(gè)區(qū)塊鏈系統(tǒng)的具體設(shè)計(jì)。進(jìn)一步說(shuō),交易還可以更泛化地理解為網(wǎng)絡(luò)參與者之間的數(shù)據(jù)交互或數(shù)據(jù)權(quán)屬的轉(zhuǎn)移。
區(qū)塊:就是狀態(tài)機(jī)中記錄狀態(tài)變動(dòng)的單位。在比特幣和以太坊中,一個(gè)區(qū)塊可以包含多個(gè)交易;狀態(tài)機(jī)的整體狀態(tài)變動(dòng),是以一個(gè)區(qū)塊執(zhí)行結(jié)束的狀態(tài)為準(zhǔn)的(也就是以多個(gè)交易執(zhí)行的結(jié)果作為一個(gè)整體狀態(tài)標(biāo)識(shí))。而在前些天 Facebook 發(fā)布的 Libra 系統(tǒng)中,每個(gè)交易都會(huì)產(chǎn)生一個(gè)狀態(tài)版本(version),整個(gè)狀態(tài)機(jī)的狀態(tài)也就是由每個(gè)交易執(zhí)行的結(jié)果所決定的,存儲(chǔ)在一個(gè)帶版本標(biāo)識(shí)的數(shù)據(jù)庫(kù)(Versioned Database)中。
共識(shí):也就是在一個(gè)分布式(對(duì)等)網(wǎng)絡(luò)中,所有參與者(節(jié)點(diǎn))對(duì)狀態(tài)機(jī)的整體狀態(tài)的一個(gè)認(rèn)同。前提是網(wǎng)絡(luò)中的大部分參與者,都會(huì)對(duì)這個(gè)狀態(tài)機(jī)的狀態(tài)標(biāo)識(shí)進(jìn)行驗(yàn)證,也就是需要它們分別(獨(dú)立)完整地執(zhí)行導(dǎo)致?tīng)顟B(tài)產(chǎn)生的所有交易來(lái)檢查自己執(zhí)行所獲得的狀態(tài)是否與網(wǎng)絡(luò)中其他節(jié)點(diǎn)執(zhí)行的結(jié)果一致。得到網(wǎng)絡(luò)中大多數(shù)參與者確認(rèn)(也就是大多數(shù)參與者本地計(jì)算的狀態(tài)結(jié)果一致)的狀態(tài),就將作為整個(gè)狀態(tài)機(jī)的最終狀態(tài)。這個(gè)過(guò)程也可以成為「最終確認(rèn)(finality)」。
那么,這樣一個(gè)狀態(tài)機(jī)系統(tǒng),到底解決了什么問(wèn)題呢?這里我們還需要了解幾個(gè)關(guān)于區(qū)塊鏈的基本事實(shí):
區(qū)塊鏈上的交易是需要經(jīng)過(guò)數(shù)字簽名的。關(guān)于什么是數(shù)字簽名,這里不展開(kāi)介紹了。它的作用和我們手寫(xiě)的簽名是一樣的,也就是一個(gè)表明對(duì)數(shù)據(jù) / 內(nèi)容的認(rèn)可的確認(rèn)信息。
在區(qū)塊鏈上標(biāo)識(shí)一個(gè)參與者(人或者程序)是通過(guò)所謂的「地址」來(lái)實(shí)現(xiàn)的,這個(gè)地址和交易中的數(shù)字簽名有一個(gè)唯一對(duì)應(yīng)的關(guān)系。因?yàn)檫@里涉及到一些密碼學(xué)的基本概念,不做過(guò)多解釋了,我們可以把「數(shù)字簽名」和「地址」簡(jiǎn)單地理解為屬于某個(gè)人的公開(kāi)信息,比如人的名字和住址。
區(qū)塊鏈上的所有交易信息都是公開(kāi)的,唯一隱藏的就是數(shù)字簽名和實(shí)際簽名人的對(duì)應(yīng)關(guān)系。也就是誰(shuí)都可以看到是某人簽名了某個(gè)交易來(lái)向某個(gè)地址轉(zhuǎn)了若干資金,只是不知道具體是誰(shuí)做的這個(gè)簽名以及誰(shuí)住在那個(gè)住址(也就是誰(shuí)獲得了那筆錢(qián))。
好了,現(xiàn)在我們可以來(lái)回答「區(qū)塊鏈解決了什么問(wèn)題」了:區(qū)塊鏈實(shí)際上是提供了一種可以在不引入任何第三方的情況下,就能保證交易安全完成的技術(shù)手段。
就像剛剛介紹過(guò)的,這里說(shuō)的「交易」,可以是一次價(jià)值轉(zhuǎn)移(轉(zhuǎn)賬),也可以是一次對(duì)用戶數(shù)據(jù)(自定義數(shù)據(jù))的更改,還可以更泛化地理解為網(wǎng)絡(luò)參與者之間的數(shù)據(jù)交互或數(shù)據(jù)權(quán)屬的轉(zhuǎn)移。理解這個(gè)概念對(duì)我們理解和思考區(qū)塊鏈的應(yīng)用至關(guān)重要。
看到這里,可能很多非技術(shù)專(zhuān)業(yè)的朋友大概仍然沒(méi)看懂區(qū)塊鏈到底能干什么。沒(méi)關(guān)系,下面我們來(lái)具體看看最具代表性和影響力的兩個(gè)區(qū)塊鏈項(xiàng)目——比特幣和以太坊分別做了什么事。
比特幣解決了什么問(wèn)題
就像比特幣白皮書(shū)的標(biāo)題所說(shuō)的,比特幣就是一個(gè)點(diǎn)到點(diǎn)的電子現(xiàn)金系統(tǒng)(Bitcoin: A Peer-to-Peer Electronic Cash System)。也就是能提供點(diǎn)到點(diǎn)(僅需要交易雙方參與)的安全轉(zhuǎn)賬功能。
比特幣的設(shè)計(jì)其實(shí)非常簡(jiǎn)單,但這種簡(jiǎn)單是深思熟慮之后的絕妙設(shè)計(jì),而絕不是很多其他項(xiàng)目的那種「簡(jiǎn)陋」。正所謂大道至簡(jiǎn),比特幣集在其之前已經(jīng)產(chǎn)生的若干類(lèi)似項(xiàng)目之大成,構(gòu)建了世界上第一個(gè)獲得全球共識(shí)的電子現(xiàn)金系統(tǒng),其開(kāi)創(chuàng)性的意義配得上所有的贊譽(yù)。關(guān)于比特幣的產(chǎn)生背景和其重要影響相信大家已經(jīng)看過(guò)很多,這里就不再過(guò)多介紹了。
雖然比特幣白皮書(shū)中并沒(méi)有明確給出「區(qū)塊鏈(Blockchain)」這個(gè)現(xiàn)在已經(jīng)風(fēng)靡世界的術(shù)語(yǔ),但它的確是在事實(shí)上定義了「區(qū)塊鏈」技術(shù)的第一個(gè)成功的區(qū)塊鏈應(yīng)用系統(tǒng)。這個(gè)項(xiàng)目所實(shí)現(xiàn)的就是一個(gè)可以無(wú)需依賴(lài)任何第三方而完成的、安全的電子現(xiàn)金歸屬權(quán)轉(zhuǎn)移系統(tǒng)。
在此我必須再安利一下我們?nèi)腴T(mén)區(qū)塊鏈的必讀資料《精通比特幣(Mastering Bitcoin)》。尤其是對(duì)有技術(shù)基礎(chǔ)的朋友來(lái)說(shuō),這本書(shū)你一定要讀懂、讀透。相信我,你一定不會(huì)失望!
以太坊是想解決什么問(wèn)題
讓我們依然先來(lái)看看以太坊項(xiàng)目的白皮書(shū)標(biāo)題:下一代的智能合約和去中心化應(yīng)用程序平臺(tái)(A Next-Generation Smart Contract and Decentralized Application Platform)。這同樣已經(jīng)明確定義了以太坊的設(shè)計(jì)目標(biāo)。但這個(gè)定義中引入了兩個(gè)重要的術(shù)語(yǔ)——智能合約(Smart Contract)和去中心化應(yīng)用程序(Decentralized Application)。下面就讓我引用我自己開(kāi)發(fā)的圖文音頻課程《工程師眼中的比特幣和以太坊》中的部分內(nèi)容來(lái)分別解釋一下這兩個(gè)術(shù)語(yǔ)。因?yàn)樗鼈儗?duì)我后續(xù)想進(jìn)行的討論非常重要。
智能合約(Smart Contract)這個(gè)詞最初是由一位美國(guó)的計(jì)算機(jī)科學(xué)博士尼克薩博(Nick Szabo)在他 1997 年發(fā)表的一篇論文中提出來(lái)的。智能合約指的是一種基于計(jì)算機(jī)技術(shù)實(shí)現(xiàn)的,可以免除人工干預(yù)而自動(dòng)執(zhí)行、自動(dòng)校驗(yàn)、自動(dòng)基于外部指令給出回應(yīng)的具有交互性或者互操作性的合約;其本質(zhì)是一種計(jì)算機(jī)程序。這個(gè)概念本身相對(duì)比較抽象,所以尼克薩博本人在后來(lái)的一些訪談中曾經(jīng)用自動(dòng)取款機(jī)或者自動(dòng)售貨機(jī)來(lái)作為智能合約的物理實(shí)例;它們就是基于某些公開(kāi)的、眾所周知的規(guī)則,能夠根據(jù)用戶的指令和實(shí)際業(yè)務(wù)數(shù)據(jù)的狀態(tài)給出可預(yù)期的回應(yīng)的這樣一種應(yīng)用程序。
......
當(dāng)然,其實(shí)這個(gè)過(guò)程并不「智能」,從某種意義講,也并不是「合約」。所以這個(gè)詞從其誕生開(kāi)始就有一些爭(zhēng)議,尤其是它會(huì)給一些不明所以的用戶某種程度的誤解。從本質(zhì)來(lái)看,所謂「智能合約」實(shí)際上只是一種可以基于某種狀態(tài)數(shù)據(jù)自動(dòng)給出回應(yīng)的應(yīng)用程序而已。不過(guò)出于歷史原因,「智能合約」的叫法還是被業(yè)內(nèi)接受并延用了下來(lái)。
......
目前的絕大多數(shù) Web 應(yīng)用,其用戶數(shù)據(jù)都是保存在由某個(gè)公司、組織或者個(gè)人控制的「服務(wù)器」或者「服務(wù)器組」之中的,這些應(yīng)用中的絕大部分業(yè)務(wù)計(jì)算,也是由這些服務(wù)器或者服務(wù)器組來(lái)提供的;所以這種模式,可以認(rèn)為是一種「中心化(centralized)」的模式。
那么「去中心化應(yīng)用程序(Decentralized Application)」,也就是將數(shù)據(jù)保存到類(lèi)似于「點(diǎn)對(duì)點(diǎn)的時(shí)間戳服務(wù)器(即區(qū)塊鏈)」這樣的,并不是由中心化的公司或組織控制的服務(wù)中,并且由這樣的「去中心化」服務(wù)來(lái)提供具體的業(yè)務(wù)數(shù)據(jù)計(jì)算能力的一種應(yīng)用程序?!溉ブ行幕瘧?yīng)用程序」也可以簡(jiǎn)單地理解為是基于智能合約進(jìn)行狀態(tài)追蹤和計(jì)算的一種應(yīng)用程序。
與比特幣實(shí)現(xiàn)的可以不依賴(lài)于任何第三方就能安全完成的電子現(xiàn)金交易類(lèi)似,智能合約和去中心化應(yīng)用程序也是基于「區(qū)塊鏈」的,也就是說(shuō)它們同樣是可以在不引入任何第三方的情況下就能安全完成的、可以自動(dòng)執(zhí)行的、可定制的計(jì)算機(jī)程序。與電子現(xiàn)金交易相比,智能合約顯然給了我們更大的想象空間,提供了更多的可能性;而去中心化應(yīng)用程序,也被認(rèn)為是有巨大潛力的技術(shù)方向。
這里我不想過(guò)多討論去中心化應(yīng)用程序目前的窘境,相信大家也已經(jīng)看過(guò)了很多這方面的資料或者分析文章。任何生態(tài)的構(gòu)建都是需要時(shí)間和一些特定的、革命性的條件的,所以我們大可靜觀其變,不應(yīng)該過(guò)度吹捧或者過(guò)早唱衰。
我想有心的讀者可能已經(jīng)注意到了我在小標(biāo)題用詞上的區(qū)別:「比特幣解決了什么問(wèn)題」和「以太坊是想解決什么問(wèn)題」這其中表達(dá)的意思顯然是不同的。
比特幣系統(tǒng)作為世界上第一個(gè)點(diǎn)對(duì)點(diǎn)的電子現(xiàn)金系統(tǒng),已經(jīng)穩(wěn)定運(yùn)行了超過(guò) 10 年,其價(jià)值也得到了全球化的認(rèn)同,所以我們可以認(rèn)為它已經(jīng)解決了「如何構(gòu)建一個(gè)全球化的去中心化經(jīng)濟(jì)系統(tǒng)」的問(wèn)題。
而對(duì)于以太坊來(lái)說(shuō),雖然它是世界上第一個(gè)成功的公共智能合約平臺(tái),但從技術(shù)上講,它其實(shí)只是個(gè)「實(shí)驗(yàn)性」的項(xiàng)目。從以太坊項(xiàng)目中暴露出來(lái)的公共智能合約基礎(chǔ)服務(wù)層面的主要問(wèn)題,比如處理性能問(wèn)題、合約升級(jí)問(wèn)題(合約漏洞)、存儲(chǔ)爆炸問(wèn)題、隨機(jī)數(shù)問(wèn)題、與外部世界的交互問(wèn)題等等,至今仍然沒(méi)有被很好地解決。雖然以太坊擁有世界上最大的開(kāi)發(fā)者技術(shù)社區(qū),有最活躍的生態(tài),其 2.0 版本也已經(jīng)進(jìn)入日程,但實(shí)際結(jié)果如何,目前還未可知。從這個(gè)角度講,我認(rèn)為以太坊想解決的問(wèn)題,也就是「如何提供一個(gè)全球化的、安全的公共智能合約平臺(tái)」這個(gè)問(wèn)題,其實(shí)還沒(méi)有真正得到解決;也許,我是說(shuō)也許,它的方向就是錯(cuò)的。
業(yè)內(nèi)有很多人提出過(guò)這樣的疑問(wèn):是不是應(yīng)該把所有用戶(合約)的數(shù)據(jù)、所有合約的計(jì)算都放在一起(一個(gè)鏈或者一個(gè)系統(tǒng)中)呢?計(jì)算機(jī)軟硬件發(fā)展史中屢試不爽的分層思想能否在區(qū)塊鏈領(lǐng)域里發(fā)揮作用呢?
跨鏈又是要解決什么問(wèn)題
所謂「跨鏈(cross chain)」的提法,最早大概是在 2015 到 2016 年間被提出來(lái)的,從 2017 年才開(kāi)始被越來(lái)越多的業(yè)內(nèi)人士所討論。我本人最初聽(tīng)到這個(gè)術(shù)語(yǔ)的時(shí)候也是不明所以,不知道這個(gè)「跨鏈」到底是要跨什么東西。只是要解決不同鏈上的資產(chǎn)如何交易的問(wèn)題么?這已經(jīng)通過(guò)各種中心化、去中心化交易所解決了啊,為什么還要提跨鏈呢?
直到最近我聽(tīng)到 Gavin Wood 博士談?wù)摰年P(guān)于區(qū)塊鏈未來(lái)發(fā)展方向的一些觀點(diǎn)的時(shí)候,結(jié)合我先前對(duì)跨鏈技術(shù)的了解,我才恍然大悟:其實(shí)「跨鏈」技術(shù)要解決的就是如何靈活地支持區(qū)塊鏈的分層擴(kuò)展問(wèn)題。理解了這一點(diǎn),我們就應(yīng)該可以想到,其實(shí)「跨鏈」技術(shù)才是前兩年以太坊高速發(fā)展中所暴露出來(lái)的、區(qū)塊鏈系統(tǒng)的最大挑戰(zhàn)——「擴(kuò)容」問(wèn)題的終極解決方案。
如果我們將以太坊 2.0 的技術(shù)方案與目前的兩大「跨鏈」技術(shù)框架 Cosmos、Polkadot 相對(duì)比的話,我們就會(huì)發(fā)現(xiàn),它們解決的其實(shí)都是區(qū)塊鏈如何分層擴(kuò)展的問(wèn)題。只不過(guò)它們選擇了不同的技術(shù)方向。(因?yàn)槠?,我這里就不對(duì)這三個(gè)項(xiàng)目做進(jìn)一步的比較說(shuō)明了。有興趣的讀者可以去參考劉毅老師的《萬(wàn)字長(zhǎng)文說(shuō)透 Polkadot 架構(gòu)》,其中有詳細(xì)的解讀。)
跨鏈技術(shù)框架最吸引人的地方就在于它們可以支持異構(gòu)的子鏈(也有的項(xiàng)目將之稱(chēng)為其他的名稱(chēng),比如 zone、para-chain 等等),它們本質(zhì)上就是一種可以與主鏈進(jìn)行安全通信(有技術(shù)保證的安全消息交互)的附屬區(qū)塊鏈。而子鏈自己又可以衍生自己的子鏈,子鏈的子鏈同樣可以通過(guò)某種形式的「消息」來(lái)與各自的主鏈進(jìn)行通信,這樣就形成了理論上無(wú)限擴(kuò)展的可能。
這種支持異構(gòu)子鏈的設(shè)計(jì),也就解除了子鏈間的耦和,使子鏈自身可以獨(dú)立演化升級(jí),只要保持與主鏈標(biāo)準(zhǔn)一致的鏈間消息即可;子鏈內(nèi)部的共識(shí)甚至都可以與其他子鏈或主鏈不同。這也就給了區(qū)塊鏈基礎(chǔ)設(shè)施最大的靈活性和可擴(kuò)展性。從這個(gè)意義上講,我認(rèn)為「跨鏈」技術(shù)才是真正將引領(lǐng)區(qū)塊鏈生態(tài)未來(lái)發(fā)展的關(guān)鍵基礎(chǔ)。
有了跨鏈技術(shù),也就使「一子鏈一應(yīng)用」或者「一子鏈一業(yè)務(wù)」的模式成為了可能。(去中心化)應(yīng)用程序之間不再需要互相爭(zhēng)搶昂貴的、有限的公共計(jì)算資源和存儲(chǔ)資源,而可以根據(jù)自身業(yè)務(wù)的需要選擇最合適的數(shù)據(jù)結(jié)構(gòu)、共識(shí)方案以及存儲(chǔ)方案。每個(gè)企業(yè)(組織)都可以定制最適合自己業(yè)務(wù)的區(qū)塊鏈基礎(chǔ)設(shè)施,只需要保證它們能提供與主鏈標(biāo)準(zhǔn)一致的消息即可。這當(dāng)然是極其重要、也極其有價(jià)值的技術(shù)特性;這也就是跨鏈技術(shù)的真正意義所在。
跨鏈技術(shù)——連接大數(shù)據(jù)、AI 們的可信橋梁
在前文中我們已經(jīng)了解了大數(shù)據(jù)、AI、區(qū)塊鏈和跨鏈技術(shù)的基本概念。那么,看似風(fēng)馬牛不相及的它們又是如何聯(lián)系到一起的呢?
我們知道,在區(qū)塊鏈的世界里標(biāo)識(shí)一個(gè)人或者程序,需要用一個(gè)密碼學(xué)中的非對(duì)稱(chēng)公私鑰對(duì)來(lái)完成。顯然,讓絕大多數(shù)普通用戶去理解深?yuàn)W的密碼學(xué)、去理解私鑰的重要性、去接受沒(méi)有「找回密碼功能」的原因,幾乎是個(gè)不可能完成的任務(wù);這也成了現(xiàn)今絕大多數(shù)區(qū)塊鏈應(yīng)用所共同面臨的一個(gè)關(guān)鍵阻力。那么如果把人換成 AI 呢?如果我能用生物識(shí)別技術(shù),比如指紋、faceId 等等獲得 AI 的控制權(quán),再由 AI 替我去管理與區(qū)塊鏈交互必需的數(shù)字身份又如何呢?因?yàn)?AI 本身就是計(jì)算機(jī)程序,本身就是數(shù)字化的,所以對(duì) AI 做數(shù)字身份標(biāo)識(shí)相對(duì)就容易了很多,也更加自然。我們完全可以用一個(gè)被很好地基于大數(shù)據(jù)訓(xùn)練過(guò)的 AI (機(jī)器人)來(lái)代替人去與區(qū)塊鏈進(jìn)行互動(dòng)。
就像我在本文中介紹的,當(dāng)我們談?wù)?AI 時(shí),也就不可避免的會(huì)談到大數(shù)據(jù);因?yàn)閷?shí)際上任何 AI 活動(dòng)其實(shí)都離不開(kāi)大數(shù)據(jù)的支持,無(wú)論是訓(xùn)練、推斷還是對(duì)實(shí)際操作或者計(jì)算過(guò)程進(jìn)行日志記錄。所以 AI 和大數(shù)據(jù)是相輔相成、密不可分的。
而更進(jìn)一步地,在不久將來(lái),隨著 AI 能做的事越來(lái)越多,必然會(huì)產(chǎn)生需要 AI 直接與其他 AI 進(jìn)行交互的場(chǎng)景。那么,如何保證 AI 與 AI 之間的信息交互是安全可信且可審計(jì)的呢?是通過(guò)在不同公司之間建立數(shù)據(jù)網(wǎng)關(guān)?還是簡(jiǎn)單地通過(guò)客戶端轉(zhuǎn)發(fā)?我想真正的答案就是智能合約 + 「跨鏈」技術(shù)。
基于區(qū)塊鏈本身的特性,我們可以給每個(gè) AI (機(jī)器人)都增加身份標(biāo)識(shí),然后通過(guò)智能合約來(lái)規(guī)范、限制和記錄 AI 的行為。在某個(gè)子鏈(業(yè)務(wù)鏈)上,會(huì)存在多個(gè)由 AI 控制的「人」,他們可以在這個(gè)鏈上通過(guò)智能合約進(jìn)行互動(dòng)。而在有了跨鏈技術(shù)的支持之后,各個(gè)業(yè)務(wù)子鏈上的 AI 就可以「對(duì)話」了!也就是 AI 可以知道其他的 AI 做了什么事,并給出必要的響應(yīng)。這將毫無(wú)疑問(wèn)地成為一個(gè)想象空間非常大的新領(lǐng)域,也是一個(gè)真正可以實(shí)現(xiàn)安全、高效、可審計(jì)的數(shù)字化交互方式的技術(shù)方案。所以,跨鏈技術(shù)是完全必要的,其出現(xiàn)和發(fā)展也是必然的!
其實(shí)不只是 AI,其他任何可以方便地用數(shù)字身份(公私鑰對(duì))標(biāo)識(shí)的資源都可以很自然地與區(qū)塊鏈、跨鏈技術(shù)相結(jié)合而獲得相互「溝通」的能力,進(jìn)而產(chǎn)生規(guī)模效應(yīng)。這大概會(huì)是未來(lái)區(qū)塊鏈產(chǎn)業(yè)發(fā)展的源動(dòng)力。
結(jié)語(yǔ)
大數(shù)據(jù)、AI、區(qū)塊鏈和跨鏈技術(shù)無(wú)論哪項(xiàng)都自成體系,都有很多很多的細(xì)節(jié)可以討論;本文只是對(duì)它們的來(lái)歷和現(xiàn)狀做了極其簡(jiǎn)單的介紹,也記錄了我個(gè)人對(duì)它們的一些思考。如果各位能從其中得到些許啟發(fā),我也就心滿意足了。
在我看來(lái),跨鏈技術(shù)和 AI 一樣具有很大的潛力,因?yàn)檫@才是真正解決區(qū)塊鏈擴(kuò)展問(wèn)題的根本方法,也是使區(qū)塊鏈成為通用的互聯(lián)網(wǎng)基礎(chǔ)設(shè)施的必備條件。我也相信區(qū)塊鏈的未來(lái)還有很多的可能性等待著我們?nèi)グl(fā)現(xiàn),讓我們共同努力吧!