輿論是個很有意思的東西。去年年底到今年年初,我們聽到了那么多關于區(qū)塊鏈技術的贊美,現(xiàn)在,我們又聽到人們對這項技術的各種全盤否定。最近我在不同地方看到了不同文章,獲得了不少點擊數(shù),并被人們大量轉發(fā),這些火熱的文章都是一個主題,強調區(qū)塊鏈技術無用論調,并切列舉了各種與區(qū)塊鏈技術相關的騙局。
其實這也很正常。市場研究公司 Gartner 早在九十年代就總結出一個叫做「技術循環(huán)曲線 The Hype Cycle」的模型,來總結一項全新科技如何在各種熱炒冷貶和人們的希望與失望之中,成熟演變的過程。
Gartner 技術循環(huán)曲線的基本周期,揭示了新技術所經歷的周期:誕生的促動期-過高期望的峰值-泡沫化的底谷期-穩(wěn)步爬升的光明期-實質生產 (Image Credit: https://www.gartner.com/en/research/methodologies/gartner-hype-cycle)
Gartner 在 2018 年更新的技術循環(huán)曲線最新狀態(tài),列出區(qū)塊鏈技術正在從「過高期望的峰值」步入「泡沫化的底谷期」( Image Credit: https://www.gartner.com/smarterwithgartner/5-trends-emerge-in-gartner-hype-cycle-for-emerging-technologies-2018/ )
對于一個非資深技術背景的人,在技術早期發(fā)展階段,要從蕪雜的市場表現(xiàn)中理清技術價值的本質,實屬難上加難。越是基礎層面的技術發(fā)展,越會造成嚴重的信息不對稱,越是容易被人利用來構造騙局,越是需要深入探究,透過現(xiàn)象看清其本質,同樣的局面在互聯(lián)網早期一樣出現(xiàn)過。
作為計算機科學的PhD, 這個過程我花了近十年,才略見端倪。我看到了區(qū)塊鏈技術本質上帶來了什么,有什么是現(xiàn)有技術和基礎設施及其組合無法實現(xiàn)的。正值中本聰發(fā)表關于比特幣的論文十周年之際,我想把自己在區(qū)塊鏈這個領域內的經歷,以及為什么我相信區(qū)塊鏈技術是一項了不起的技術梳理一下,通過這篇文章分享給大家。
第一個十年
記得 2009 年,我還在微軟亞洲研究院(MSRA)趕論文,投ACM SIGGRAPH 年會 (一個計算機圖形學領域的頂會) 的年代,無意看到了中本聰關于比特幣的論文,覺得很有意思,安利了身邊的朋友一起去挖礦。當然,幾周之后也就忘記了。
當時我還沒有開始從事分布式系統(tǒng)方向的研究,沒有意識到這全網發(fā)生的premissionless共識協(xié)議有多么偉大,甩了拜占庭容錯(BFT)算法幾條街,也沒有意識到這個東西在若干年之后會改變了自己的財務軌跡,更沒有意識到這項工作是一個全新世界的開端。
我非常慶幸自己經歷過的這10年,雖然大部分時候,只是作為一個看客。
不少朋友問我,區(qū)塊鏈這個東西是個什么技術,靠譜嗎?這里先給結論。對于問題的前半部分, 我的回答是:區(qū)塊鏈是一個獨特的技術,并且實現(xiàn)了全所未有的能力,這個能力無法用既有技術的組合實現(xiàn)。對于問題的后半部分,在這里我不作任何投資建議,但是我的回答是肯定的:區(qū)塊鏈技術一定有切實落地的場景,可以滿足之前無法滿足的需求,從前所未有的角度帶來效益的提升。但是,我必須指出,在我看來,區(qū)塊鏈技術靠譜的場景,極大概率不是大家眼下看到的這些,也不是對現(xiàn)有解決方案的改進,而是全新的范式下新的業(yè)務模型、新的盈利模式。評估一項技術本身的正確性是相對容易的,而要評估一項技術能產生的社會影響力以及經濟價值,卻是難上加難。越是帶來根本上變化的技術,其發(fā)展軌跡就越是難以琢磨。區(qū)塊鏈就是一個例子。
2013年,那時我在微軟總部主導了一個基于GPU集群的機器學習計算平臺的設計和研發(fā)工作。我用這個架構在自己家里挖了一段時間的萊特幣(LTC)?,F(xiàn)在來看,那是我首次「脫貧」,摘掉了「no-coiner」的帽子。而后,我也入坑交易所,作為一名新韭菜入場了。然后在若干次被割之后,痛定思痛,最后開啟了量化交易的職業(yè)支線。在這個過程中,對技術的認可并沒有幫助我對加密貨幣的幣價有任何有效的認知。一個沒有切實落地的技術,價值何來?只用量化程序去發(fā)掘短線的價格趨勢就好了。當時我沒有看明白,區(qū)塊鏈到底帶來了什么。2017年,我來創(chuàng)新工場做EIR(駐場企業(yè)家)兼投資人,看了無數(shù)區(qū)塊鏈的商業(yè)計劃書,各種花式白皮書,從底層技術到上層應用,各種漏洞百出的技術架構,自說自話的經濟模型,荒誕鬼扯的應用場景,簡直百花齊放。還好這一年里面,我們投了比特大陸,稍微正色履行了一下我這個投資人的角色。礦機業(yè)務確實賺錢,交易所也很賺錢,但這一切都是建立在對數(shù)字貨幣未來期許的基礎上,而不是基于任何當下區(qū)塊鏈的切實業(yè)務。
這一場曠日持久的擊鼓傳花還可以走多遠?如果始終沒有大體量的切實落地的業(yè)務頂上,相信總有落幕的那天。不過誰知道呢,就像2016年的那場以太幣的傳銷始終沒有崩盤,而是被2017年那場更大規(guī)模的ICO續(xù)上命了。不過在這個時期,市場上的DApp給了我一些提示。
核心技術價值
我相信,區(qū)塊鏈技術帶來了一些特別的東西,前所未有的東西。
時間到了2018年,7月份出現(xiàn)了一個游戲,玩家眾多,又一次嚴重阻塞了以太坊網絡。Fomo3D,一個典型的資金盤游戲,玩家以遞增的價格買鑰匙,如果一段時間內無人買鑰匙則游戲停止,最后一個鑰匙買家贏得沉淀資金的一半,另一半資金均價回購所有的鑰匙。
這是一個設計的還不錯的龐氏游戲,首輪結束時瓜分了價值180萬美元等值的以太幣。有意思的倒不是這個游戲本身,而是這個游戲執(zhí)行的方式。這個資金盤沒有任何的價值包裝,只是赤裸裸地描述規(guī)則,項目方也是完全匿名,沒有任何背景可查,分分鐘準備跑路的樣子。但是游戲就在這樣一個完全沒有信任背書的情況下,開盤了,無數(shù)玩家竟然都信了,都沖進去了。然后一切都如期發(fā)生了,之前約定的規(guī)則都被嚴格執(zhí)行了,沒有任何意外。通常龐氏總是和騙局連在一起,不過這個游戲是一場「龐氏」,但卻不是一場「騙局」。
這是我想說的區(qū)塊鏈技術的核心價值(也許是之一),是前所未有的能力,是之前任何信息技術無法實現(xiàn)的:
在業(yè)務全部信息可形式化的范疇內,讓這個計算系統(tǒng)可以自證清白。
回到前面講到的游戲,正是因為運行在以太坊上面,區(qū)塊鏈技術實現(xiàn)了規(guī)則一旦被制定、被部署,就無法被修改,連運營者開發(fā)者都也無法修改。只要以太坊沒有因為被51%攻擊而摧毀,這些預設的規(guī)則就會被嚴格執(zhí)行,不受任何人的干擾和控制。規(guī)則將以開源的方式部署,任何人都可以查看并確信規(guī)則的每一個細節(jié)。即使最初的開發(fā)者突然人間蒸發(fā),也不會影響游戲的正常運行。這樣的一個游戲系統(tǒng),自證清白,一切會按照預設的方式發(fā)生,而不會有任何意外。所有玩家不需要信任游戲的開發(fā)者不會作惡,也不用擔心相信游戲的運營過程會有任何的貓膩。如果信息服務系統(tǒng)可以自證清白,那么其所承載的業(yè)務就可以贏得所有人的信賴。這個情形其實并不是建立了信任,而是業(yè)務的運行不需要信任了(trustless)。同時大家也可以很簡單地認同這樣的業(yè)務所傳遞的價值,不需要各種前置的信任建立過程,省去了大量的時間和精力,這就是共識的價值。
但是區(qū)塊鏈技術不是萬能的,能夠自證清白地運行是有前提的:
1. 相關業(yè)務的信息必須能夠被形式化并體現(xiàn)在系統(tǒng)內部。所以比特幣的儲值、支付、發(fā)行過程是有保障的、不需要信任的,但是比特幣對法幣的價格不在系統(tǒng)內部,系統(tǒng)本身無法保障這個事情,完全依賴外部的信任(或者說信仰。..)
2. 系統(tǒng)的物理計算設備必須是去中心化的,并且參與系統(tǒng)的過程可以有壁壘,但是必須沒有授權控制方(premissionless)。較之傳統(tǒng)的支付接入,比特幣作為支付系統(tǒng),任何接入方無需申請,也不需要和任何方簽訂協(xié)議,也不會被費率歧視或者擔心哪天會被吊銷。
3. 系統(tǒng)承載的業(yè)務邏輯的代碼必須開源,并且可以證明實際系統(tǒng)中運行的代碼就是源碼公開的那一份。結合上一條,這意味著,系統(tǒng)的運營也將不再屬于任何一方。所有人在這個系統(tǒng)中都沒有既定規(guī)則以外凌駕于其他人之上的特殊優(yōu)勢,包括開發(fā)者。
脫離特定物理計算設備的圖靈機
1936年艾倫·圖靈提出了圖靈機這個高度抽象的計算模型,開啟了計算機科學時代篇章。1945年,馮·諾伊曼在圖靈機的基礎上給出了工程上可以實現(xiàn)馮·諾伊曼架構,直到現(xiàn)在,大多數(shù)的計算機從CPU到GPU,從Intel到ARM都是遵從這一架構,并藉由半導體技術將其的規(guī)模、速度以及性能-功耗比提高到了當年不可想象的高度。但是其基本原理始終是下圖的結構。
如果我們用計算機體系結構的視角去看待區(qū)塊鏈,他是一個馮·諾伊曼架構的延伸。
在區(qū)塊鏈中,「輸入」是未定序未確認的交易,「輸出」是有序的經過確認的交易,而「內存」中則是賬簿的狀態(tài)。其中央處理器執(zhí)行的是硬編碼(hardcoded)在區(qū)塊鏈節(jié)點軟件中的交易邏輯,或者是第三方部署的智能合約。
我這里從這個視角展現(xiàn)區(qū)塊鏈,是為了用最簡潔的方式介紹區(qū)塊鏈的工作原理,并不是想說區(qū)塊鏈本身也是一個通用計算機,或者說世界大計算機。
馮·諾伊曼架構最初是在一個完全中心化的設定下給出的,現(xiàn)在的計算機單機、大型機乃至集群和云服務,本質上都是這樣的一個模型。他們關心的是高效地完成計算,是狀態(tài)被正確更新,得出預期的輸出。整個系統(tǒng)的輸入、執(zhí)行邏輯和原始狀態(tài)都被可信的單一方控制。
而區(qū)塊鏈是在一個去中心化的設定下給出的,整個計算系統(tǒng)不被任何一方長期控制。區(qū)塊鏈關心的是這個計算是如何完成的,系統(tǒng)的輸入是否合法,執(zhí)行邏輯是不是被篡改。至于其承載的實際計算量,用一臺單機就可以分分鐘計算完這十年的所有歷史交易?,F(xiàn)有的馮·諾伊曼架構的計算系統(tǒng),其計算過程始終在一個固定的物理計算設備上完成,并且這個計算設備有單一的控制方??赡苁且粋€手機,一臺電腦,甚至一個數(shù)據(jù)中心。對于這個系統(tǒng)的控制者,只要防好黑客,他是可以相信這個計算系統(tǒng)的。而其他人則沒有信任的依據(jù),系統(tǒng)的控制者也無法向第三方證明系統(tǒng)是可信的,即使開源了也不行,即使用上了SGX技術也沒什么幫助。
而這正是區(qū)塊鏈所攻克的問題。區(qū)塊鏈將馮·諾伊曼架構的計算架構進一步拓展,使其同特定的物理計算設備分離,才能從根本上避免計算過程被單一的控制方掌控,讓所有人都可以信賴這個計算系統(tǒng)。無論是工作量證明(PoW)、權益證明(PoS)或者拜占庭容錯(BFT)等共識機制,上述計算過程的實際步驟在全球不同的物理基礎(節(jié)點)上完成。而不同共識算法的本質就是給出一個依次選擇這些物理基礎的方案,保證其公允,保證其安全。同時在數(shù)據(jù)傳遞層面(提交輸入,獲取輸出),藉由既有的點對點網絡技術,使得通訊沒有一個固定的接入點,不依賴于特定的IP地址。從而使得這個計算系統(tǒng)能夠在所有人的監(jiān)督下,可信地完成計算過程,很難被篡改,也很難被阻止。
為了脫離特定的物理計算設備,區(qū)塊鏈在性能上付出了重大的代價。在不同的節(jié)點上間歇完成計算步驟,需要每個節(jié)點都準備好計算所需要的上下文和輸入數(shù)據(jù)。在一個計算步驟完成之后,需要每一個節(jié)點都獲取到最新的輸出數(shù)據(jù),并更新上下文。期間涉及到大量的冗余的信息傳遞和存儲以及相應的計算。當然后續(xù)有非常多的優(yōu)秀團隊,改進這一設計,提升其性能和容量,但無論設計如何優(yōu)化,這些冗余的通訊、存儲和計算是不可能徹底避免的。不過這些代價是值得的,它給馮·諾伊曼架構賦于了全新的計算本質:一個可以脫離特定物理基礎的計算方式,一個可被任一第三方信賴的計算過程。
區(qū)塊鏈的計算本質
通過剝離數(shù)字貨幣這個構建在區(qū)塊鏈技術上的應用,上圖給出了區(qū)塊鏈本質上的計算模型。與常規(guī)的馮·諾伊曼架構最大的區(qū)別,是同特定的物理計算設備分離。一旦代碼被部署,狀態(tài)被初始化,全網開始工作,這個計算系統(tǒng)將以不受任何控制方控制的方式開始運行,永不停止。系統(tǒng)不斷獲取外部提交的企圖改變系統(tǒng)狀態(tài)的操作(OP),依次確認這些操作,以有序的方式輸出這些合法的操作,并同步執(zhí)行這些操作改變系統(tǒng)的狀態(tài)。
所以:
賬簿不是區(qū)塊鏈的本質 這個系統(tǒng)維護的狀態(tài)完全可以是賬簿之外的東西,當然更可以不是數(shù)據(jù)庫。它可以是社交關系圖譜,可是是網頁的相關性及排名,也可以是每個人信用分數(shù)和歷史等等。其規(guī)則所執(zhí)行的也可以不是交易,而是任何可以被形式化、數(shù)字化的信息。交易不可篡改不是區(qū)塊鏈的本質 這個系統(tǒng)不可篡改的是既定的規(guī)則(代碼),以及不可篡改的初始狀態(tài)(例如比特幣的傳世區(qū)塊)。如果上層業(yè)務想要的話,我們完全可以在規(guī)則中包含翻轉或者取消交易的內容。有序鏈式區(qū)塊打包不是區(qū)塊鏈的本質 有序輸出數(shù)據(jù)的方式有好多種,區(qū)塊的批量打包也只是現(xiàn)在的系統(tǒng)對于性能和交易確認延遲的一個折中。理論上一個一個出也沒問題,只要有序。輸出交易的序也可以不是嚴格的全局完整的單一線性的序,例如DAG那樣的結構一樣是區(qū)塊鏈的可能實現(xiàn)方式,只要這個不完整的序不會對狀態(tài)重建造成混淆就行。同樣基于異步共識的分片技術也不具備全局的序,但是也不妨礙它成為高性能區(qū)塊鏈的可能解決方案。當然,我們姑且還是可以叫:區(qū)塊鏈」這個名字。
世界計算機不是區(qū)塊鏈的本質 區(qū)塊鏈的核心訴求在于關注計算過程的可信,而不是為了獲得計算的結果。這一點是與為了高效將計算完成,獲得結果的云計算本質的區(qū)別。云計算無法實現(xiàn)向第三方證明其計算過程是可信的,區(qū)塊鏈對于計算任務本身也無法向云計算那樣的高效和低成本。
總之,區(qū)塊鏈的計算本質是一個可以和特定計算設備分離的馮·諾伊曼架構,是可以向第三方證明的可信計算范式,目的是為了計算過程真實可信,支持上層應用上實現(xiàn)業(yè)務邏輯的自證清白,為世界帶來可以計算的信任。
責任編輯:ct
評論
查看更多