注:本文最初於2014 年4 月17 日發佈在Gavin Wood 的博客「Insights into a Modern World」上,那時Gavin 還在擔任以太坊的聯合創始人和CTO,也還沒有創立Polkadot。在這篇博客中,Gavin 全面地解釋了他心中的Web3.0 時代應該是什麼樣的,以及構成Web3.0 的四個組件。
吳說區塊鏈、平兄翻譯
隨著我們踏入未來,我們發現越來越需要一個零信任的交互系統。
即使在斯諾登之前,我們已經意識到,將我們的信息授信給互聯網上的任意實體是充滿危險的。然而,在斯諾登事件之後,這種意識主要落在那些認為大型組織和政府經常試圖越權的人身上。因此,我們意識到,將我們的信息授信給企業機構基本上是一個本質性的錯誤模式。一個企業機構不插手我們的數據的機會只是所需努力的成本減去其預期收益。鑑於公司的收入模式往往要求他們盡可能多地了解用戶的情況,現實主義者會意識到,暗中濫用的可能性不太可能被高估。
網絡上的協議和技術,甚至整個互聯網,都是一個很好的技術預覽。 SMTP、FTP、HTTP(S)、PHP、HTML 和Javascript 這幾個主要的工具,都為我們今天看到的基於雲的應用做出了貢獻,比如穀歌的Drive、Facebook 和Twitter,更不用說其他無數的應用了,比如游戲、購物、銀行和約會。然而,在未來,這些協議和技術將不得不根據我們對社會和技術之間交互的新理解進行重新設計。
Web 3.0,或者可以被稱為”後斯諾登“網絡,是對我們已經使用網絡的那些東西的重新想像,但對各方之間的交互有著根本不同的模式。我們認為是公開的信息,我們就會發布。我們假設信息是一致的,我們將其放在一個共識帳本上。那些我們認為是隱私的信息,我們會保守秘密,從不透露。通信總是在加密的通道上進行,並且只以匿名身份作為端點;從不使用任何可追踪的東西(如IP 地址)。
簡而言之,我們設計的系統在數學上強制執行我們先前的假設,因為沒有政府或組織可以合理地被信任。
後斯諾登時代的網絡有四個組成部分:靜態內容髮布、動態信息、免信任交易和集成的用戶界面。
發布
首先,去中心化的、加密的信息發布系統我們已經有很多了。這些系統所做的就是獲取一些信息的簡短的內在地址(即哈希值),並未來有需要可以根據哈希值獲得信息本身。可以向它提交新的信息。一旦下載,我們可以保證它是正確的信息,因為哈希值是它固有的。這個靜態發布系統承擔了HTTP(S)的大部分工作和FTP 的所有工作。這種技術已經有很多實現,但最容易引用的是BitTorrent。每次你點擊BitTorrent 的磁鏈接,你所做的就是告訴你的客戶下載該哈希值對應的數據。
在Web 3.0 中,這部分技術用於發布和下載我們願意共享的任何(可能很大的)靜態信息。我們能夠,就像BitTorrent 一樣,激勵其他人維護和分享這些信息;然而,結合Web 3.0 的其他部分,我們可以使其更加高效和精確。因為激勵框架是協議固有的,所以在設計成上是防DDoS 的。這個獎金怎麼樣?
通信
Web 3.0 的第二部分是一個基於身份的匿名低級信息傳遞系統。這用於網絡上人們之間的交流。它使用強大的密碼學,以便對信息做出一些保證;它們可以用身份的公鑰進行加密,以保證只有該身份可以解碼它。它們可以由發送者的私鑰簽署,以保證它確實來自發送者,並為接收者提供一個安全的通信接收。一個共享的秘密可以提供安全通信的機會,包括在群體之間,而不需要收據證明。
由於其中每一個都提供了最終的消息物流,使用傳輸協議級別的地址就變得沒有必要了;曾經由用戶或端口和IP 地址組成的地址,現在僅僅成為一個哈希值。
消息將有一個生存時間,能夠區分發布消息和即時信號消息,前者可能希望留存盡可能長的時間,以保證盡可能多的身份看到它,後者希望盡可能快地在網絡上傳輸。因此,延遲和壽命的二元對立是可以交換的。
實際的物理路由將通過博弈論自適應網絡系統進行。每個節點都試圖最大化他們對其他節點的價值,斷言其他節點對他們的傳入信息是有價值的。一個信息沒有價值的節點將被斷開連接,他們的位置將被連接到其他一些可能是未知的(或可能是二級的)節點。為了使節點更有用,將要求具有一些特定屬性的信息(例如,發件人地址或主題,都是未加密的,以一個特定的位串開始)。
在Web 3.0 中,通信這部分允許節點實時通信、更新和自我組織,發布不需要內部信任或稍後引用的優先級的信息。在傳統web 中,這是在AJAX 風格實現中通過HTTP 傳遞的大部分信息。
共識
Web 3.0 的第三部分是共識引擎。比特幣給我們許多人帶來了基於共識的應用程序的想法。然而,這僅僅是試探性的第一步。共識引擎是一種對某些交互規則達成一致的方法,因為它知道未來的交互(或不交互)將自動地、不可逆轉地完全按照規定執行。它實際上是一個包羅萬象的社會契約,並從共識的網絡效應中汲取力量。
一項協議的違約可能會影響到其他所有協議,這一事實是創造一個強有力的社會契約的關鍵,從而減少違約或故意忽視的機會。例如,聲譽系統與個人社交交互系統的隔離程度越高,其效果就越差。與Facebook 或twitter 類似功能相結合的聲譽系統會比沒有功能的系統更有效,因為用戶的內在價值取決於朋友、合作夥伴或同事對自己的看法。一個特別尖銳的例子是,在Facebook 上是否以及何時與雇主或約會對象成為好友這一難題。
共識引擎將被用於所有可信的信息發布和修改。這將通過一個完全通用的全球交易處理系統發生。這方面的第一個可行的例子是以太坊項目。
傳統的網絡並沒有從根本上解決共識問題,而是退回到對權威機構的中心化信任,如ICANN、Verisign 和Facebook。
前端
Web 3.0 體驗的第四個也是最後一個組成部分是將這一切結合起來的技術;"瀏覽器"和用戶界面。有趣的是,這看起來與我們已經知道並喜愛的瀏覽器界面相當相似。將會有URI 欄、後退按鈕,當然,大部分的份額將被用於顯示Dapp(即網頁/網站)。
使用這種基於共識的名稱解析系統(與應用中的Namecoin 不同),URI 可以被簡化為該應用的前端的唯一地址(即哈希值)。通過信息發布系統,這可以擴展為前端所需的文件集合(例如,一個包含.html、.js、.css 和.jpg 文件的檔案)。這是dapp(-let)的靜態部分。
它不包含動態內容,而是通過其他通信渠道提供服務。為了收集和提交動態但公開的內容,這些內容的來源必須是絕對確定的,並且必須永遠保持不變(“固定不變”),比如聲譽、平衡等等,有一個基於javascript 的API 用於與共識引擎交互。為了收集和提交動態的、潛在的私有內容(這些內容必然是不穩定的,可能會被銷毀或缺乏可用性),可以使用P2P 消息傳遞引擎。
會有一些表面上的差異,我們將會看到像“https://address/path”這樣的傳統的客戶端-服務器URL 模式的轉變,取而代之的是“goldcoin”和“uk.gov”這樣的新形式的地址。名稱解析將通過基於共識引擎的合同來實現,用戶可以輕鬆地重定向或擴充。句點將允許多級名稱解析,例如,“uk.gov”可能會將“gov”子名傳遞到“uk”給出的名稱解析器中。
由於信息通過共識後端的更新和點對點網絡的維護自動或偶然地提供給瀏覽器的永久瞬態特性,我們將看到後台DApp 或dapplets 在我們的Web 3.0 體驗中扮演重要角色。
在初始同步過程之後,頁面加載時間將減少到零,因為靜態數據被預先下載並保證是最新的,而動態數據(通過共識引擎P2P 消息傳遞引擎交付)也被維護為最新的。在同步的同時,用戶體驗將是非常可靠的,儘管顯示的實際信息可能會過時。
對於Web 3.0 的用戶來說,所有的交互都將以匿名、安全的方式進行,對於許多服務來說,是不可信任的。對於那些需要第三方的服務,這些工具將使用戶和應用程序開發者有能力將信任分散到多個不同的、可能是相互競爭的實體中,從而大量減少人們必須放在任何特定的單一實體手中的信任量。
隨著前端和後端API 的分離,我們將看到利用不同的前端解決方案的額外能力,能夠提供卓越的用戶體驗。例如,Qt 的QtQuick 和QML 技術可以替代傳統網絡技術的HTML/CSS 組合,並以最小的語法開銷和高效的反應式編程範式提供本地界面和豐富的加速圖形。
向Web3.0 遷移
這種轉變將是漸進的。
在Web 2.0 上,我們將越來越多地看到後端利用類似Web 3.0 組件的網站,如比特幣、BitTorrent 和Namecoin。這一趨勢將繼續下去,而真正的Web 3.0 平台以太坊將可能被那些希望為其內容提供交易證據的網站所使用,如投票網站和交易所。當然,系統的安全性取決於最薄弱的環節,因此這些站點最終會將自己轉移到Web 3.0 瀏覽器上,後者可以提供端到端的安全性和免信任交互。
向Web 3.0 問好,這將是一個安全的社交操作系統。
原文:https://gavwood.com/dappsweb3.html