擁抱區塊鏈技術,為什麼首先需要摒棄“名詞之爭”

買賣虛擬貨幣
“名詞之爭”

第一次瞭解“名詞之爭”這個概念,我是在 2018 年初參加甲子光年主辦的區塊鏈大會上。甲子光年創始人甲小姐在開場演講中引用了胡適先生的這段文字作為開場——要真正理解和擁抱區塊鏈技術,需要首先摒棄“名詞之爭”,透過現象看本質。

胡適先生在 1935 年 5 月 12 日《獨立評論》第 150 號上發表過一篇文章《 充分世界化和全盤西化》,開頭就說到:

二十年前,美國《展望週報》(The Outlook)總編輯阿博特(Lyman Abbott)發表了一部自傳,其第一篇裡記他的父親的談話,說:"自古以來,凡哲學上和神學上的爭論,十分之九都只是名詞上的爭論。"阿博特在這句話的後面加上了一句評論,他說:"我父親的話是不錯的。但我年紀越大,越感覺到他老人家的算術還有點小錯。其實剩下的那十分之一,也還只是名詞上的爭論。"

算下來,1935 年,也就是 85 年前胡適先生寫了這篇文章,而其中引用了距那時 20 年前的觀點,也就是這是 100 多年前的觀點了。直到今天,每每出現新的技術、新鮮事物, “名詞之爭”還是常常會出現。由於區塊鏈技術仍處於早期,整個行業和大眾在一些觀點上尚未達成共識,經常會產生“名詞之爭”。

破除迷思,深入瞭解區塊鏈的能力與侷限

我和陳俊寫了這本《區塊鏈實戰:從技術創新到商業模式》專門開闢了四章的篇幅,來分析區塊鏈技術的能力和侷限,對很多技術、概念進行了辨析,就是希望能幫助讀者更多透過現象看本質,從“名詞之爭”中走出來。

第 6 章:對區塊鏈的常見誤解(摘)

作為區塊鏈技術先行者,我和我的團隊過去兩年多在全世界各地進行演講佈道,參加了為數眾多的學術、技術和商業會議,加入了多個技術和行業組織。在我們的分享溝通中,發現對區塊鏈的各種誤解普遍存在,那些身處區塊鏈行業的個人和機構,也難以避免。這些誤解有的是對區塊鏈概念望文生義,有的可能是受一些早期文章過時觀點的誤導,也有受業內少數原教旨主義者刻舟求劍般的觀點影響,還有某些區塊鏈專案炒作誇大甚至不實宣傳也遮蔽了對區塊鏈的正確認知。

誤解一:區塊鏈上的資料是不可篡改的。區塊鏈上的資料有很強的防篡改能力,但並非絕對不可能被篡改。很多公鏈會明確聲稱自己的賬本是不可篡改的,然而嚴格意義上來說,這種說法不完全正確。一個去中心化程度高的公鏈,的確具有非常強的防資料篡改能力,可以用在不少需要資料防篡改的場景下。

一些區塊鏈,如比特幣、以太坊都可能在鏈的最“尾部”的區塊偶爾出現被系統撤回的情況,這是它們的共識演算法導致的正常現象。只有在區塊到達“最終確定狀態”時,才能認為這些資料已經相當難以被篡改,而在到達最終確定狀態之前,都存在資料修改的可能性。

誤解二:資料上鍊後,資料永遠不會丟失。和誤解一相同,有人認為資料上了鏈就再也不會丟失而獲得“永生”了,這也是片面理解。因其分散式設計,區塊鏈網路建立許多備份,所有備份都點對點更新並同步相同的資料。區塊鏈技術的一個好處是每個使用者都可以維護自己的資料副本。每當新的完整節點加入網路時,它們會接觸發現其他完整節點並請求區塊鏈網路資料的完整副本,這使得資料的丟失或破壞變得困難。

然而,區塊鏈本身不能被認為是完全不可變的。The DAO 事件的結果是以太坊資料回滾,即回滾到丟失 ETH 之前的資料,所以區塊鏈專案並不存在絕對的資料永不丟失。另外,還可能區塊鏈網路被攻擊,在 PoW 共識系統中,攻擊者只需獲得足夠的資源來超過區塊鏈網路其餘部分的區塊建立速度(持有超過 50%的資源用於生成新區塊),即可發起攻擊,只不過代價可能非常高昂。

誤解三:區塊鏈是去中心化的,因此不可能被關閉或審查。類似前面一些誤解,尤其那些持有無政府主義觀點的人們在誇大區塊鏈能力的說辭中會認為由於區塊鏈的去中心化特性,讓區塊鏈不可能被封鎖、關閉,甚至認為這是可以用來抗衡政府及執法部門的技術,其實這也是一種片面的理解。

首先,對於處於小規模測試階段的公鏈或聯盟鏈,只要其執行的全部節點被關閉,無論出於什麼原因,那麼這些區塊鏈就消失了;其次,區塊鏈是一種網路應用,如果某個地區的網路被完全切斷,或者透過技術手段阻攔某些網路通訊,即使整個區塊鏈網路沒有被關閉,但對這個地區而言其實已經被關閉了。因此,如果出現極端情況,即使是去中心化程度很高的公鏈也不能排除區域性甚至整體被關閉的可能性。

誤解四:只要採用區塊鏈技術,系統必然會安全程度更高。事實上,這些年來區塊鏈網路系統被攻擊、數字資產被盜等安全事故層出不窮。僅 2019 年,幾乎每個月都有較大的安全事件爆發,價值超數百億元的鏈上資產被駭客或作惡者以不同的方式竊取,主要型別包括公鏈底層程式碼缺陷、智慧合約程式碼缺陷、私鑰被竊、攜款跑路等。僅智慧合約漏洞事件,據媒體報道,2019 年就發生超百起,總損失超 1000 萬美元。

作為去中心化系統,區塊鏈有許多天生的優勢,但區塊鏈系統始終是需要網路執行的系統,因此傳統的網路安全策略和防攻擊手段在區塊鏈系統中同樣必不可少。計算機系統的安全性其實取決於系統本身的安全性設計,和具體使用某種技術並無必然聯絡。因此,當你聽到“因為採用了區塊鏈技術,因此我們的方案更安全”這樣的說法的時候,需要格外警惕。

誤解五:區塊鏈必須要挖礦,礦工越多區塊鏈越安全。“挖礦”概念是從比特幣使用的工作量證明(PoW)共識機制演變而來的。挖礦的抽象意義其實就是節點對區塊鏈網路的貢獻,如果使用者並沒有為系統做出任何貢獻的話,挖礦只是製造虛假參與感的噱頭。

事實上,區塊鏈技術的使用並沒有消除固有的網路安全風險,仍然需要深思熟慮和積極主動的風險管理。其中許多固有風險涉及人為因素,比如如果使用者丟失私鑰,則與該金鑰相關聯的任何數字資產都將丟失,因為重新生成相同的私鑰在計算上是不可行的。如果私鑰被盜,攻擊者將可以完全訪問由該私鑰控制的所有數字資產。因此,強大的網路安全計劃對於保護網路和參與組織免受網路威脅至關重要,特別是當駭客擁有更多關於區塊鏈網路及其漏洞的知識的時候。

誤解六:區塊鏈讓使用者自己保管私鑰,因此更安全。現在的區塊鏈系統建基於加密演算法和簽名演算法,已經使用區塊鏈的使用者都知道“私鑰”的重要性。由使用者自己控制私鑰的方式和傳統網際網路的使用者賬戶密碼的方式有很大不同,由於近年來網際網路賬戶被盜的事件頻發,有人認為使用者自己控制私鑰方式的系統會更安全,實際上這也是一種誤解。

從安全形度而言,兩種方式各有利弊。使用者自己控制私鑰方式的明顯好處就是系統被攻擊或者從系統內部來攻擊的難度加大了,但問題是使用者從此多了很多私鑰要自己管理的煩惱,而且私鑰一旦洩漏是無法修改的,甚至明知已經洩漏也無法阻止攻擊、挽回損失。另外,如果私鑰丟失,系統運營者也無法為使用者找回資產。相比之下,傳統 IT 系統在這方面有更好的使用者體驗,使用者保管私鑰沒有這麼大的心理壓力。還有很多密碼管理的實踐,例如定期滾動管理使用者密碼(每過一段時間時間系統要求使用者必須修改密碼防止洩漏),使用者擔心密碼有洩漏可能可以主動更換密碼轉移賬戶等。這些安全實踐在今天大部分割槽塊鏈系統上目前都還沒有辦法實現。

誤解七:區塊鏈上的智慧合約是不受操控的,因此更安全、公平、可靠。“智慧”合約的“智慧”之處在於由計算機程式碼評估和執行,無需第三方介入,實現了去信任化的合同自動執行。智慧合約會執行及時和客觀發生的事情,而不是指望另一方兌現承諾,但真正的智慧合約卻很難形成。因為真正智慧的合同需要考慮到所有情況。換言之,要求合約無需信任,意味著合約完全不能有任何模稜兩可的空間。

The DAO 的資金安全事件導致了人們對以太坊智慧合約以及其宣傳的“程式碼即法律”的質疑,有人認為這個從 The DAO 錢包持續提取 ETH 的人是攻擊者,而這個行為屬於盜竊,而另有人認為,這從某種意義來說,只不過是找到了一種以違背編寫者意圖但完全合法使用程式碼獲益的方式,如果“程式碼即法律”則無可厚非。此事發生之後,以太坊開發者對以太坊進行了回滾產生了硬分叉,引發了更大的爭議並直接導致以太坊社羣分裂為兩大群體。

誤解八:採用區塊鏈,使用者的隱私問題就得到解決。除了少數專注於隱私需求的區塊鏈技術,包括比特幣在內的大部分割槽塊鏈並不實現真正的匿名。區塊鏈上的資料基本完全公開,也就是每筆交易都能清晰地瞭解相關的賬戶及其資金往來,即使不知道某個賬戶背後對應的是誰,但這個賬戶在區塊鏈上的一舉一動,都是透明公開,而且難以篡改。相比之下,傳統網際網路的業務資料往往不是全公開的,出現隱私問題常常常是因為某些網際網路企業出售或洩露了含有使用者隱私的資料。

區塊鏈存在”隱私“的地方是區塊鏈的賬戶和它背後的真實使用者身份在區塊鏈上不存在對應關係。由於區塊鏈的“自主賬戶”不需要向任何人或機構申請,因此沒有任何資訊能將這些賬戶與個人資訊關聯起來。另外,很難從採用 P2P 通訊方式的區塊鏈本身的記錄裡發現使用者的網路 IP 地址等傳統網際網路使用者定位方法。從這個角度來看,區塊鏈的匿名性的確比網際網路應用要更好,因為區塊鏈上雖然交易資訊全公開,但畢竟沒有任何敏感的個人資訊,自然不存在洩露的問題。

誤解九:區塊鏈能控制使用者的資料,不被非授權使用。區塊鏈技術可用於更好地控制使用者資料的訪問範圍和記錄產生可審計的資料訪問報告,但是區塊鏈本身並不能控制被授權方濫用這些已授權資料。徹底解決使用者隱私和資料濫用問題,仍然需要法律法規的支援配合。

誤解十:量子計算實現後,區塊鏈就不再有意義了。量子計算機並非遙不可及,一般認為在 10 到 20 年內,量子計算就能投入實用。量子計算機的計算並行這一特性意味著,隨著量子位元數的增加,其計算能力以指數級別增加。量子計算機可能會改變目前區塊鏈挖礦行業,擁有量子計算能力的挖礦速度會高於現在的礦機,更利於解決雜湊函式的運算。

需要說明的是,目前量子計算技術還處於非常早期的階段,據一篇標題頗為聳人聽聞的文章 《量子計算機能在 8 小時內破解 2048 位 RSA 加密》指出,據有關專家估算,使用量子計算破解 2048 位的 RSA,考慮到必要的糾錯等因素,量子計算機需要的量子位元約需要 10 億個量子位。IBM 在 2020 年公開展出的量子計算機 IBM Q System One 僅僅有 20 個量子位,而目前報道的最大量子位 Google 量子計算機也就是 57 個量子位。也就是說量子計算技術還需要很長時間的發展才有可能撼動現代加密演算法的基礎。

因此,面對仍處於技術早期階段的區塊鏈,我們應該以“區塊鏈技術如何使我們受益”的思維方式來思考和應用,而不是一味糾結於“如何才能使應用融入區塊鏈技術正規化”。應該像對待其他任何新技術一樣,來準確深入地理解區塊鏈技術的能力和侷限,並在適當的情況下采用它。在下面其他章節,我們選擇了幾個對區塊鏈技術的常見且重要的誤解和迷思,請讀者和我們一起撥雲見日,逐步揭開區塊鏈技術的本質。

第 7 章:關於加密貨幣、加密資產和通證的誤解(摘)

毋庸諱言,這幾年來以比特幣為主的各種加密資產及其帶來的財富效應,才是吸引全世界的普通大眾關注瞭解區塊鏈技術的最大動力,在此之前可能還從未有任何一種計算機技術讓如此多的行外人士如此著迷。

誤解一:區塊鏈就是比特幣或數字貨幣。這是一種對區塊鏈技術缺乏基本認識的典型誤解。比特幣、各種加密數字貨幣只是區塊鏈的一種應用,而區塊鏈支援很多種其他的應用。

誤解二:區塊鏈的作用就是用來“發幣”。與誤解一類似,區塊鏈除了用於“發幣”、發通證之外有很多種用途。“發幣”的說法常來自炒作加密貨幣時代的產物。

誤解三:“幣”或“通證”除了用於炒作沒有別的作用。“通證” 有相當多的用途,非常廣範的應用場景,絕大部分割槽塊鏈應用的設計都離不開使用某種形式的通證,即使這些應用不需要使用虛擬貨幣。加密貨幣交易雖然在過去可能是加密貨幣的主要用途,但已經有越來越多的實用專案採用區塊鏈和通證技術。

誤解四:政府要發國家數字貨幣就必須使用區塊鏈。這也是一種誤解,設計和實現一個 Token 並不是非需要區塊鏈不可,完全可以不採用區塊鏈技術。不過在技術發展的今天,採用區塊鏈是一個比較有利的選擇。

誤解五:企業政府必須使用“無幣區塊鏈”。“無幣區塊鏈” 是一種“名詞之爭”,是一些人用於把“區塊鏈技術” 和“幣”劃清界限而炮製的一種不科學的說法,誤導性較強。某種角度而言,幾乎不太存在無幣(通證)的區塊鏈應用場景。“無幣區塊鏈”就好比是“無資料的資料庫”一樣荒唐可笑。

第 8 章:對智慧合約和虛擬機器的誤解(摘)

對很多具有計算機技術背景的人來說,“智慧合約”可能是區塊鏈技術裡最感興趣的部分。顧名思義,“智慧合約”給人以無限的應用遐想。過去幾年,可以說“智慧合約”是我接觸到的區塊鏈領域裡最容易打動客戶的理念,然而不幸的是,這往往也是客戶最容易誤解的概念。“智慧合約”有著無限的可能性,但在今天的實現程度上還有著很多侷限,正確認識智慧合約的能與不能、現狀和未來,有助於我們思考和決策在自己的業務系統中應該如何定位和使用智慧合約。

“智慧合約”的聲名鵲起主要得益於以太坊的成功,而以太坊是用虛擬機器的方式來實現其智慧合約的,這同時也導致了很多人認為以太坊的實現方式是唯一方式,從而引發了對區塊鏈虛擬機器的各種誤解。

誤解一:區塊鏈必須支援智慧合約。區塊鏈技術和智慧合約的結合是非常好的形式,區塊鏈具有去中心化、難以篡改、透明可追蹤等優點,天然適合於智慧合約。智慧合約的確是一個令人激動的特性,也因為區塊鏈的普及而名聲大噪。然而,智慧合約與區塊鏈是兩個相互獨立的概念,並不互相依存,區塊鏈本身未必需要支援智慧合約,也並非所有的應用場合都需要智慧合約。

誤解二:區塊鏈應用就是智慧合約自身。這一誤解可能來自以太坊“下一代智慧合約與去中心化應用的平臺”這一定位宣傳過於成功,讓很多人在智慧合約和應用之間劃上了等號。如果真正瞭解智慧合約,就會發現智慧合約其實只是一個區塊鏈應用中的一小部分 ,要構建一個讓終端使用者能夠完整體驗的應用,光靠智慧合約本身通常是不夠的,還需要其他業務邏輯、介面邏輯等的支援。

誤解三:智慧合約必須就是程式程式碼。以太坊的智慧合約概念成功讓很多人以為智慧合約就必須是程式程式碼,但實際上這是一種誤解。以太坊的智慧合約引入過程性程式碼的設計方式,有很強的靈活性,但導致這種智慧合約在使用起來只能由軟體工程師來完成。其實智慧合約的實現可以有多種方式,把智慧合約用程式程式碼來定義,只是一種方式。未來一定會出現更多種智慧合約的形態,例如表格方式、規則描述方式、視覺化方式。

誤解四:智慧合約實現必須實現專用的語言。很多區塊鏈專案都為自己的智慧合約設計了新語言,例如以太坊使用的 Solidity,Facebook 的 Libra 設計了 Move 這種專門的智慧合約語言。那麼是否實現專用的新智慧合約語言就更好呢?我覺得這很可能是一種不好的風氣,大部分新的程式設計語言並無必要,而且在今天的電腦科學基礎上設計實現一門新語言本身並非難事,但要設計一個優秀的新語言則難上加難。很多區塊鏈專案可能只是出於市場宣傳或炫技而設計新語言。

未經時間考驗的語言,可能存在不完善,例如以太坊智慧合約暴露的安全問題,也反映出以 Solidity 作為新語言設計上的不夠完善。某些新語言並不能帶來功能實現上的超越,反倒不如經歷過很長時間很多最佳化的經典語言更加安全有效。

目前有不少區塊鏈採用基於 WebAssembly(縮寫 WASM)的虛擬機器來實現智慧合約。在 WASM 生態裡,結合 LLVM 這樣的可以把實現語言和目標編譯程式碼解耦合的成熟技術,理論上未來可以用任何語言來進行開發。

誤解五:智慧合約必須“圖靈完備”。以太坊的智慧合約是圖靈完備的,這一直是以太坊宣傳的一個重要賣點,但並非所有的區塊鏈智慧合約都需要是圖靈完備的。但智慧合約完全可以多樣,例如比特幣指令碼特意設計成非圖靈完備。圖靈完備與否只是一種設計需要,並不代表其優劣。我相信會有越來越多的區塊鏈會考慮實現非圖靈完備的面向領域的語言(Domain Specific Language,縮寫 DSL)來實現高效率、安全的智慧合約開發。

誤解六:支援智慧合約必須使用虛擬機器。認為支援智慧合約的區塊鏈必須要有虛擬機器,這也是以太坊風靡之後產生的誤解。區塊鏈的共識機制要求所有參與者計算結果保持一致,但是各節點可能會因為各種原因輸出不同的結果。以太坊為了讓所有節點保持一致寫了一個虛擬機器,就是為了實現智慧合約程式碼的一致性,並讓以太坊的智慧合約在這個容器裡面執行。然而,理論上虛擬機器並不是支援區塊鏈執行智慧合約的必要條件。

區塊鏈的智慧合約需要在一個資源隔離的環境執行,但是這個環境不侷限於虛擬機器。只要達到一個沙盒執行環境標準(可以透過名稱空間的隔離),保證合約和合約之間、合約和宿主系統之間進行了有效的資源隔離就可以實現。而智慧合約是使用者編寫的,需要防備惡意或故障智慧合約的不良影響。

第 9 章:對雲端計算和區塊鏈關係的誤解(摘)

在過去幾年裡,我經常會遇到一些自稱“比特幣經驗深厚”的人聲稱區塊鏈與雲端計算是截然對立的;認為區塊鏈使用了雲端計算會變成中心化應用;甚至由於比特幣的礦機、礦場無法基於雲端計算服務來部署,就認為雲端計算不適用於區塊鏈。然而,最近幾年,雲端計算廠商開始積極擁抱區塊鏈,它們大部分所支援的區塊鏈多為適用於企業的聯盟鏈或私鏈,因此,常會聽到來自“公鏈”們的批評。各種交錯的不同聲音有時會讓人困惑,到底區塊鏈和雲端計算技術是什麼樣的關係?是矛盾對立還是相輔相成?

誤解一:用雲端計算搭建的就不是真正的區塊鏈。這一錯誤認知最初來自於例如比特幣等 PoW 挖礦無法利用雲端計算的情況,但是在本章我們介紹了雲端計算服務對區塊鏈部署提供的價值,而且事實上目前有數以千萬計的區塊鏈節點和應用都部署在雲端計算之上。

過往的區塊鏈專案,因為雲端計算的技術和產品發展尚未達到現有的發達和豐富,往往是專案設計之初,並沒有考慮到與雲端計算的結合,又可能是共識演算法的侷限,也無法利用雲端計算服務的便利與高效。新一代的區塊鏈專案設計者,已經意識到雲端計算對區塊鏈專案大有裨益,無論從底層設計和共識演算法角度出發,無論是從安全性還是穩定性來說,都會更多考量利用雲端計算服務,目前有越來越多的區塊鏈專案支援雲端計算部署,我們相信這是一種趨勢。

誤解二:使用了雲端計算的區塊鏈更為“中心化”。區塊鏈該不該使用雲端計算,其實這一考量與是否中心化並無關係。對於區塊鏈使用雲端計算會變得中心化的誤解,主要是來自於認為部署在雲端計算的區塊鏈專案就受制於中心化的雲端計算廠商這種看法,但這種看法顯然十分偏頗。因為事實上任何一個專案就算不部署在雲端計算平臺上,也需要部署並受制於其他廠商的平臺,而根據一般經驗,普通機房比大型雲端計算服務企業的風險顯然要大得多。

誤解三:雲端計算廠商出於商業目的能讓區塊鏈服務變得更中心化。這種擔心有一定的道理,雲端計算廠商作為商業機構當然希望把客戶更牢地“鎖定”在自己平臺上,但恰恰區塊鏈本身的去中心特點使得雲端計算廠商更難把區塊鏈佔為己有。

去中心化應用往往更多是一種“協議”, 也就是要求應用可能會被多方部署在多個不同環境,只是因為採用相同的“協議”,或者基於相同的區塊鏈才能一起協作。在這種思路下,應用的開發者會更不容易被“雲鎖定”。

目前,雲端計算服務商被人詬病的問題集中於“雲鎖定”,如應用一旦使用了某個雲平臺上很多“高階效能”,就產生了“依賴性”,難以切換到別的雲上。區塊鏈在軟體架構設計角度來看,有時候像一種軟體聯結器(Software Connector)或者軟體匯流排(Software Bus)的位置,能提供一種跨越雲的高層協議,因此更難被“雲鎖定”。

免責聲明:

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

推荐阅读

;