原標題 | Web 3.0漫游指南
在本文中,我們將研究Web 3.0,因為它與分散的點對點(p2p)文件共享有關。去中心化架構相對較新,仍在發展中,相同的詞對不同的群體可能有不同的含義,因此我將首先概述一些一般的概念和定義,以便我們在語義上達成一致,
Web 2.0是互聯網的當前迭代——它是當今絕大多數基于Web的應用程式和服務使用的框架,它是大多數用戶所認為的“互聯網”或“網路”,
Web 2.0這個術語是Tim O ‘Reilly在dot com時代創造的,它松散地定義了Web 1.0在移動、社交和云計算方面的創新。這個想法更加微妙,但可以被兩個主要概念所概括——“服務,而不是打包軟體”和“高于單個設備級別的軟體”,
雖然Web 2.0仍然具有很高的價值創造性,特別是在企業中,但仍有一些成功的項目從潛在的下一個互聯網范式(今天稱為Web 3.0)中涌現出來。它仍處于萌芽階段,但許多人認為它是互聯網的下一個進化,將成為定義下一個軟體時代的框架,
就像Web 2.0一樣,Web 3.0的定義也很微妙(仍在發展中,而且不同的人通常對其進行不同的定義),出于本文的目的,我將簡單地將Web 3.0定義為向依賴于對等網路的去中心化網路的轉變,而不是依賴于中心化基礎設施的客戶端-服務器網路。我們將進一步討論p2p網路的細節,但讓我們首先討論去中心化為什么很有價值。
去中心化網路通常性能更高。讓我們看一個文件共享的用例,用戶A想要向用戶B發送一個視訊文件,在一個中心化的客戶端-服務器網路,用戶的視訊文件上傳下載到服務器,然后用戶B下載文件(服務器然后上傳)。
性能受到用戶A上傳速度、用戶B下載速度、服務器上傳下載速度、雙方距離的限制,在純對等系統中,文件直接從一個對等點傳輸到另一個對等點,只受用戶A上傳速度、用戶B下載速度、用戶與用戶之間距離的限制。
因此,如果用戶和服務器之間距離較近,且服務器上傳/下載容量高于用戶A和用戶B,則性能可能等同于p2p網路。
然而,隨著用戶和服務器之間的距離增加和/或服務器的性能下降(例如,由于高需求),客戶端-服務器網路的性能將比p2p網路差,
去中心化的網路是反脆弱的——它們隨著額外的“壓力”的增加而變得更強大。隨著更多的用戶(對等點)加入到網路中,網路性能和可用性實際上會提高,在Web 2.0社交應用中,這體現在“網路效應”中:網路/產品的價值隨著網路規模的增加而增加。
不幸的是,底層基礎設施并非如此,隨著基于客戶端-服務器模型的應用程式越來越流行,應用程式提供者必須增加服務器容量/中央計算,以維護性能和可用性,
去中心化的網路是無需信任的——相關的參與者不需要知道或信任彼此或系統的第三方。由于客戶端-服務器關系,Web 2.0應用程式依賴于中心化的服務器/服務,這意味著用戶必須內在地信任這個中央權威機構(擁有/操作服務器的個人或實體)。
這個中央權威機構有單方面定義規則的能力,在實踐中,這通常表現為圍繞數據所有權的沖突,例如,流行的存儲和文件共享服務dropbox采用的是一種客戶端-服務器模式:用戶將數據上傳到dropbox擁有和運營的中心化服務器上,然后從這些服務器上下載數據,
因此,所有數據通過dropbox, dropbox有技術能力讀取和復制這些數據。因此,唯一能保護dropbox用戶數據的就是他們相信dropbox會遵守(不會更改)的用戶協議,在去中心化的p2p網路中,沒有中央權威機構。用戶是其數據的所有者和運營者,信任在于軟體本身(而不是運營者)。
去中心化網路更安全。它的名稱是:點對點,數據直接從一個對等點上傳,由另一個對等點下載,而無需使用中間人(中央服務器),
這意味著您的數據沒有中央管理機構或保管人(除非您選擇這樣做),此外,當存在一個中央權威機構時,由于數據/價值被合并(即攻擊者從一次成功中獲得大量價值),攻擊就會有更高的動機,
相反,當數據/值高度分布時,攻擊者必須有更多的成功嘗試來獲得相同大小的值。去中心化減少了攻擊者的動機/獎勵,
現在我們已經有了一些共享的上下文,讓我們具體討論去中心化的p2p文件共享。此時,您可能會想,“去中心化聽起來很棒,但這有什么新鮮的呢?”像p2p文件共享這樣的服務不是已經存在了十多年了嗎?”
在某種程度上,您是正確的,但是在Web 2.0的p2p服務和我們今天在Web 3.0上構建的p2p服務之間有一些本質的區別,讓我們以BitTorrent為例,它最初發布于2001年,BitTorrent有三個主要問題(現在可以解決):它不是完全去中心化的,它缺乏激勵模式,代碼不可用或不可擴展,
BitTorrent(和其他類似的服務)在兩個重要方面沒有去中心化:它使用中心化的服務器來跟蹤對等點和存儲內容元數據。雖然已經建立了點對點連接(以提高性能,即通過增加“播種者”的數量),但是這些連接的實例化需要一個稱為跟蹤器的特殊服務器,它幫助節點之間的通信。
跟蹤服務器還跟蹤駐留在對等機器上的文件副本的位置,在客戶端請求時哪些副本可用,并幫助協調被復制文件的高效傳輸和重新組裝,使用跟蹤器增加了服務提供商的成本,并限制了用戶的隱私/安全。
BitTorrent并沒有一個合適的激勵模式,當用戶開始使用該服務下載文件時,他們被稱為“下載者”,一旦他們擁有了文件的片段(或者如果他們已經存儲了其他用戶想要的文件),他們就可以成為“種子用戶”,也可以向其他用戶上傳文件,
BitTorrent會為種子用戶提供下載優先級(以更快的上傳速度播種的用戶會得到進一步的優先級)。然而,除此之外,沒有什么真正的動機來播種或存儲文件,由于BitTorrent依賴于種子和文件可用性,如果沒有激勵模式,它是脆弱的。
BitTorrent(和類似的服務)存在典型的軟體可用性問題,這使得它很難利用以前的工作。一些例子包括:缺乏良好的文檔(或根本沒有)、限制性的許可(或沒有許可)、不容易到達接觸點、封閉的源代碼(或源代碼不再存在)、實現沒有公開友好的API、這些項目與特定的用例緊密結合,
最終,這意味著該服務適應和改變用戶需求的能力受到了嚴重限制。在許多情況下,這使得不可能處理新的用例。具體來說,BitTorrent已經做了一些改進(它對追蹤器的依賴比過去少了),但本質上它還是20年前的服務,
現在讓我們繼續以文件共享為例來研究Web 3.0功能。今天,您可以構建完全去中心化的p2p應用程式,開發了Libp2p(用于去中心化傳輸)和IPFS(用于去中心化存儲)的Protocol Labs,是這一領域的領導者。
具體來說,Libp2p的傳輸協議(通過電路中繼和NAT穿越)解決了連接兩個對等點,而不需要一個特殊的跟蹤服務器,此外,IPFS(一種使用內容尋址的去中心化存儲服務)允許完全去中心化的存儲,并且不依賴于內容服務器或非常多的活動/可用的對等點來實現文件可用性,
加密/代幣的Web 3.0概念解決了激勵問題。具體來說,Filecoin是一個去中心化的存儲網路,它將云存儲變成了一個算法市場,
該市場運行在帶有本地協議代幣(FIL)的區塊鏈上,礦工通過向客戶端提供存儲來賺取,相反,客戶花費FIL(雇傭礦工)來存儲或分發數據。應用于像BitTorrent這樣的服務,這意味著播種者將在Filecoin中存儲文件并提供下載,而竊取者將花費Filecoin來訪問這些文件,
這種激勵結構將增加對播種和存儲文件的激勵,從而提高對用戶的可用性和性能,金錢激勵也創造了一個途徑來實例化合法的商業模式,假設文件存儲器能夠賺錢,
在這種情況下,文件的合法所有者(媒體公司)可能愿意參與網路,正如Spotify所證明的那樣,用戶實際上并不關心種子文件的“免費”方面,他們關心的是發現和傳播的便利性,
最重要的是,像Protocol Labs這樣的實體正在解決軟體可用性問題,他們是Libp2p、IPFS和Filecoin的創建者。這三個項目都是開源的,有最新的文檔,并且(由一個可聯系的團隊)支持。
此外,像Libp2p這樣的協議是高度模塊化的,專為通用用途而構建的,這意味著用Libp2p構建的產品是高度可擴展的,可以快速變化以滿足不斷發展的用戶需求和新的用例,
總之,去中心化的p2p應用程式具有許多原生優勢(特別是在性能和安全性方面),現在已經有了構建強大的p2p應用程式的工具和基礎設施。