跳到主要內容

多數人只知道去中心化,卻不真正理解 DApps

冒志鸿
ArcBlockDapps

作者: 冒志鴻

編輯 潘宇波

「去中心化應用」(亦稱 DApps)已成為當前區塊鏈產業的熱門話題,但深入研究後會發現,目前許多 DApps 都是博彩或資金盤。更令人擔憂的是,DApps 或許會成為繼「區塊鏈」之後,又一個定義模糊、令人費解的詞彙,市場上對它存在各種誤解。

本文應鏈捕手(ID:iqklbs)邀稿,由 ArcBlock 創辦人兼執行長冒志鴻撰寫。他從中心化與去中心化的發展歷史出發,解析 DApps 的現況、破局關鍵與方法。相信這篇精彩分享能為你帶來啟發。

ArcBlock-DApps

01 「中心化」與「去中心化」的此消彼長

電腦軟體應用經歷了「中心化-去中心化-再中心化-再去中心化」的演變。Internet 源自美國國防部的 ARPANET 研究計畫。設計之初,人們考量若只有一個集中式軍事指揮中心,一旦遭蘇聯核武摧毀,全國軍事指揮便會癱瘓,因此必須設計分散且共享資料的網路系統。去中心化思想因而根植於 Internet 的設計理念,許多早期網際網路協定,包括 TCP/IP,都以此為基礎。

之後逐漸出現字元終端機。顧名思義,它只能輸入輸出字元,沒有處理器或硬碟,透過序列介面連接主機,所有工作都由主機處理。隨後又有分時作業系統,讓多名使用者共享主機資源。字元終端機與分時系統一旦離開主機便無法運作,軟體完全在中央電腦上執行,我們因此進入中心化時期。

直到個人電腦(PC)時代來臨,第一批真正意義上的去中心化應用才出現。沒錯,不必驚訝,我們熟悉的各種 PC「單機版」軟體,某種程度上全都是去中心化應用。因為個人電腦時代最重要的協定是「檔案」;有了「檔案」這種協定,分散在無數個人電腦上的應用便有共同溝通的「語言」。新應用可透過「檔案」安裝,應用產生的結果也必須透過「檔案」傳給其他應用。我們於是再次進入無須依賴中央主機才能運作的去中心化時期。

當「檔案」交換逐漸顯露限制、難以滿足需求時,一種稱為「用戶端-伺服器架構(C/S 架構)」的網路應用模式開始流行。它出現在前網際網路時代,以企業應用為主,至今仍未過時。C/S 是從去中心化往更中心化方向演進,但每套 C/S 系統的用戶端與伺服器,基本上都使用不同的「語言」(協定)。

瀏覽器普及後,人們開始意識到,瀏覽器就是一種能理解更普遍標準「語言」(HTML)的通用用戶端。這讓應用可以更加中心化,也更容易開發、部署與維護,因此「瀏覽器/伺服器架構(B/S 架構)」這種更傾向中心化的模式也開始盛行。

較近期來看,2005 年興起的「Web 2.0」運動,是桌面網際網路時代最接近去中心化的一次。Blog 是去中心化的出版與媒體,採用 RSS 這種簡單開放的協定。當時,以個人為節點的社群網路蓬勃發展,FOAF 協定、Microformat、OpenID、OAuth 等開發標準也在那個年代興起。

因此,「協定」是去中心化應用的關鍵。網際網路時代最重要的是 TCP/IP 協定族,以及建構於其上的眾多應用協定;正是這些開放協定,讓全世界的開發者共同打造出今日的網際網路。

然而遺憾的是,當時與後來的產業巨頭 Google、Facebook 策略性地撲滅了這場「Web 2.0」去中心化運動,反而把網際網路的中心化推向極致。中國的巨頭也建立封閉壟斷勢力,助長中心化。如果說瀏覽器大戰時微軟運用壟斷地位擊敗 Netscape,是人盡皆知的陽謀,那麼日後 Google 與 Facebook 帶頭扼殺「Web 2.0」,就是被耀眼光環完美掩蓋的陰謀。資料可攜性、去中心化內容與社交葬送於它們手中,如今我們卻一直認為它們創新、開放且有所貢獻。

當然,我們必須承認 Google、Facebook 貢獻了不少開源產品,其中許多在區塊鏈時代成為好用工具。例如 Bitcoin 使用的 Level DB 出自 Google,以太坊與 ArcBlock 採用的 RockDB 則出自 Facebook。科技的命運有時就是如此反覆輪迴迭代。

中心化與去中心化若是此消彼長,也同時是相對的。以比特幣為例,從網路拓撲來看,其節點數量龐大且分散;PoW 挖礦機制使攻擊者必須掌握全網超過 50% 的算力才能攻擊比特幣。少數節點崩潰、關閉或受攻擊,都不影響整個比特幣網路的安全與正常運作——這說明比特幣網路是去中心化的。

然而,從比特幣軟體的開發與發行角度來看,只有 Bitcoin Core 團隊能發布新版程式碼。雖然他們近期公開了確保發布流程安全可靠的一系列措施,並以開源方式讓人人皆可參與貢獻、分叉修改,但從軟體發布升級的角度來看,仍然相當中心化。

把比特幣視為一項應用,它被設計為點對點電子現金。比特幣錢包位址由使用者自行產生,不必由任何人發放或核准;沒有私鑰,任何人或組織都無法奪走使用者的比特幣。比特幣轉帳也不需第三方介入,任何人或組織都無法禁止或篡改交易。交易紀錄永久保存在比特幣區塊鏈上,沒有人能竄改、刪除或隱藏。這些特性足以說明,比特幣是真正的去中心化應用。

另一個耐人尋味的事實是:正因大眾認同比特幣網路與應用本身高度去中心化,最終也都認同「比特幣」這項網路服務——全世界只有一個比特幣。從這個角度看,比特幣又高度中心化。這十分有趣:當系統從某個角度高度去中心化,換個角度看,或許正是其單一表現使它更加中心化。因此,任何中心化與去中心化的劃分與定義都不是絕對,而是相對的,甚至持續演變、錯綜交織。

02 當前「中心化」與「去中心化」的角力

如今網際網路的中心化似乎已發展到極致。究竟是哪些原因將它推到這一步?

我認為有以下幾點:

  1. 封閉的中心化帳號系統。前幾年「網際網路思維」盛行,許多公司受到啟發,設法先大量取得使用者、蒐集各種資料,再透過廣告或推廣獲利。這也讓許多公司排他性地搶奪使用者,想方設法將使用者鎖在自家平台;
  2. 大量重複「造輪子」,並以互不相容的「輪子」形成所謂「競爭壁壘」。這嚴重背離 Internet(網際網路)與 Web(全球資訊網)的初衷,如今卻成為最常見的競爭手段。結果是手機裡有 10 個不同的訊息 App、10 個銀行 App、10 個電影 App……功能其實幾乎相同,只有服務商不同;
  3. 免費或以極低成本占有原本應屬於使用者的資料,不允許使用者移轉資料,或設置各種障礙造成不便;同時盡可能占用使用者的時間、注意力與頻寬,以持續獲取資料;
  4. 不遵守協定、不開放協定,或只開放一部分來營造「開放」假象。利用「開放」吸引使用者,再以「不開放」的實作增加移轉難度與成本,把使用者鎖在自家平台。

然而,天下大勢,分久必合,合久必分。如今,去中心化的代表力量——區塊鏈——正帶動應用再次朝去中心化發展。當然,如前所述,中心化與去中心化是相對的;區塊鏈也是在網際網路及電腦技術逐漸成熟後才演化而成。若沒有近年網路頻寬與電腦效能的飛速提升,區塊鏈不可能發展壯大。

除了技術發展,還有其他因素與事件:使用者隱私資料一次次大規模外洩並造成鉅額損失、Facebook 等大公司漠視隱私問題、歐洲 GDPR 法規實施等,都讓愈來愈多人重新認識去中心化的價值。

DApps 與區塊鏈的成長,正好能從根本解決網際網路中心化壟斷的四大痛點:

  1. 統一、自主、去中心化的 ID;
  2. 大量重用「輪子」,而非不斷重造;
  3. 資料完全屬於使用者,由使用者自主掌控;
  4. 完整、全面的開放協定,並盡可能保持向前相容(避免無謂分叉)。

因此,DApps 發展的首要前提是自主的個人身分:你的身分、關係、資料、資產……都由自己而非他人控制。其次是點對點的數位資產流動(數位貨幣及其他資產),不需要中介者,也不需他人核准。還要具備資料可攜性:你的資料由你作主,只有你允許的對象才能使用。這些重要基礎在區塊鏈出現前其實無解,但突破它們已成為電腦技術下一階段發展的關鍵。

03 理解 DApps 的發展

遺憾的是,今天大多數自稱 DApps 的應用,根本沒有任何去中心化屬性;多數只是運用了區塊鏈智慧合約的部分特性。

以 CryptoKitty 這類遊戲為例,它只是採用了以太坊 ERC721 特性,整個遊戲的前端與設計和傳統 Web 遊戲差異不大。最大的特色,是使用以太坊智慧合約確保每隻貓的唯一性與獨特性。

博彩遊戲同樣利用智慧合約,讓使用者誤以為遊戲公開透明、無人能在幕後操控,因而參與其中。殊不知,許多此類遊戲因程式設計或區塊鏈技術尚未成熟,反而更容易遭受攻擊或被騙取資產。它們其實比傳統遊戲更不合理、不公平,甚至更不安全。不過我相信,未來一定會出現真正成功、可玩性極高,且充分發揮區塊鏈優勢的去中心化遊戲;但絕不是今天這些安全性與使用體驗都糟糕透頂的產品。

那麼,DApps 為何還沒有爆發?任何新事物引爆前,都免不了經歷漫長黑暗的前夜。許多人只看到爆炸性成長階段,卻往往忽略引爆所需勢能緩慢累積的過程。

iPhone 問世前,智慧型手機概念已存在超過 10 年。知名投資人 Peter Thiel 在《從 0 到 1》中指出,新產品若要高速成長,必須比既有方案好上 10 倍以上。因此,應用絕不能為了去中心化而去中心化。去中心化應用的關鍵,是找到一個需要解決的問題,而去中心化方法比其他方案好上 N 倍,或能藉由打破規則取得「不公平」的競爭優勢。如果能回答這個問題,恭喜你,這款去中心化應用想不紅都很難。

例如,比特幣作為點對點加密貨幣,打破無數規則,也解決了一些人的真實痛點。因此相較 Paypal 等傳統數位貨幣或支付方式,比特幣擁有近乎不公平的競爭優勢。雖然它速度很慢、使用麻煩,過去 10 年仍快速成長。

因此,去中心化應用的開發者與產品經理,應先把注意力集中在發現及解決問題,之後才處理使用者體驗等其他課題。尤其當前更要思考,如何讓大眾使用者輕鬆進入這個世界,以新產品解決原有痛點。

區塊鏈發展至今只有 10 年,DApps 所依賴的區塊鏈環境仍相當原始。EOS 確實比以太坊更快,但它究竟是更好還是更壞的方案,尚無定論;其他複製模仿以太坊的公鏈,更需要時間與成果證明它們是否真正可行。

儘管今日區塊鏈技術仍在嬰幼兒期,尚未形成非常成熟的技術,但 ArcBlock 與其他有實力、有信念、願意踏實做事的團隊,正日以繼夜地努力,盡快讓當前的技術困境成為歷史。

本頁涉及

術語

  • Dapp

    一種應用,它的關鍵狀態不只存在某一個營運方的資料庫裡。各個專案對「去中心」的標準差別很大,所以有用的問題是:哪一部分能被外部的人核實。