作者:Moxie Marlinspike,知名加密通訊應用Signal 創始人
原標題:《 My first impressions of web3 》
編譯:龔荃宇,鏈捕手
儘管我認為自己是一名密碼學家,但我並沒有發現自己特別喜歡“Crypto”。此外我並沒有像同代人那樣對將生活的方方面面都轉移到工具化經濟中而感到興奮。
然而,即使嚴格地在技術層面上,我還沒有成功地成為一個信徒。因此,鑑於最近對現在稱為web3 的所有關注,我決定更徹底地探索該領域中發生的一些事情,以了解我可能遺漏的內容。
我如何看待web 1 和web 2
web3 是一個有點模糊的術語,很難嚴格評估web3 的野心應該是什麼,但總體論點似乎是web1 是去中心化的,web2 將一切都集中到平台上,而web3 將再次將一切去中心化。 web3 應該給我們web2 的豐富性,但去中心化。
對中心化平台出現的原因有一定的了解可能會很好,在我看來,解釋很簡單:
- 人們不想運行自己的服務器,而且永遠也不會。 web1 的前提是互聯網上的每個人都是內容的發布者和消費者,以及基礎設施的發布者和消費者。我們都有自己的web 服務器和自己的網站,我們自己的郵件服務器用於我們自己的電子郵件,我們自己的狀態服務器用於我們自己的角色生成。然而——我認為這一點再怎麼強調都不過分——這不是人們想要的。人們不想運行自己的服務器。即使是書呆子也不想在這一點上運行自己的服務器。即使是全職構建軟件的組織,此時也不想運行自己的服務器。如果我希望我們了解這個世界有一件事,那就是人們不想運行自己的服務器。那些為你提供這些服務的公司是成功的,而那些根據這些網絡的可能性迭代新功能的公司則更加成功。
- 協議的運行速度比平台慢得多。 30 多年後,電子郵件仍未加密;與此同時,WhatsApp 在一年內從沒有加密到完全e2ee(端到端加密)。人們仍在試圖通過IRC標準化可靠地共享視頻;同時,Slack允許你根據自己的臉創建自定義反應表情符號。這不是資金問題。如果某件事是真正去中心化的,那麼它就會變得非常難以改變,並且經常會被時間卡住。這對技術來說是個問題,因為生態系統的其他部分正在快速發展,如果你不跟上,你就會失敗。
但是web3打算不一樣,我們來看看。為了快速了解這個空間並更好地了解未來可能會發生什麼,我決定構建幾個dApp 並創建一個NFT。
製作一些去中心化應用程序
為了感受web3 世界,我製作了一個名為Autonomous Art的dApp,它可以讓任何人通過對NFT 做出視覺貢獻來鑄造一個代幣。進行視覺貢獻的成本會隨著時間的推移而增加,並且貢獻者的鑄造資金會分配給所有以前的藝術家(將這種財務結構可視化類似於金字塔形狀)。在撰寫本文時,已經有超過38,000 美元用於創作這件集體藝術作品。
我還製作了一個名為First Derivative的dApp,它允許你創建、發現和交換追踪基礎NFT 的NFT 衍生品,類似於追踪基礎資產的金融衍生品。
兩者都讓我對空間的運作方式有所了解。需要明確的是,應用程序本身並沒有什麼特別“去中心化”的:它們只是普通的網站。 “去中心化”是指狀態和更新狀態的邏輯/權限所在的位置:在區塊鏈上而不是在“中心化”數據庫中。
關於加密貨幣世界,我一直覺得奇怪的一件事是缺乏對客戶端/服務器接口的關注。當人們談論區塊鏈時,他們談論的是去中心化信任、無領導共識以及其運作的所有機制,但往往掩蓋了客戶最終無法參與這些機制的現實。所有的網絡圖都是服務器的,信任模型是服務器之間的,一切都是關於服務器的。區塊鏈被設計成一個點對點網絡,但並不是為了讓你的移動設備或瀏覽器真正有可能成為這些節點之一。
隨著向移動端的轉變,我們現在牢牢地生活在一個客戶端和服務器的世界中——前者完全無法充當後者——而這些問題對我來說似乎比以往任何時候都更加重要。同時,以太坊實際上將服務器稱為“客戶端”,因此甚至沒有一個詞來表示必須在某個地方存在的實際不受信任的客戶端/服務器接口,也沒有人承認如果成功,最終會有比服務器多出數十億的客戶端。
例如,無論是在移動設備上還是在Web 上運行,像Autonomous Art或First Derivative這樣的dApp 都需要以某種方式與區塊鏈交互——為了修改或渲染狀態(集體生產的藝術品、它的編輯歷史、 NFT 衍生品等)。但是,這實際上是不可能從客戶端實現的,因為區塊鏈不能存在於你的移動設備上(或者實際上不能存在於你的桌面瀏覽器中)。因此,唯一的選擇是通過在某處服務器上遠程運行的節點與區塊鏈進行交互。
一個服務器!但是,眾所周知,人們不想運行自己的服務器。碰巧的是,已經出現了一些公司,它們出售對作為服務運行的以太坊節點的API 訪問權限,同時提供分析、他們在默認以太坊API 之上構建的增強API 以及對歷史交易的訪問權限。聽起來……很熟悉。在這一點上,基本上有兩家公司。幾乎所有dApp 都使用Infura或Alchemy來與區塊鏈交互。事實上,即使你將MetaMask 之類的錢包連接到dApp,並且dApp 通過你的錢包與區塊鏈交互,MetaMask 也只是在調用Infura!
這些客戶端API 沒有使用任何東西來驗證區塊鏈狀態或響應的真實性。結果甚至沒有簽名。像Autonomous Art 這樣的應用程序說“嘿,這個智能合約上的這個視圖函數的輸出是什麼”,Alchemy 或Infura 用一個JSON blob 響應,上面寫著“這是輸出”,然後應用程序渲染它。
這讓我很驚訝。創建一個去信任的分佈式共識機制已經投入了大量的工作、精力和時間,但幾乎所有希望訪問它的客戶都是通過簡單地信任這兩家公司的輸出來實現的,而無需任何進一步的驗證。這似乎也不是最好的隱私情況。想像一下,如果每次你在Chrome 中與網站交互時,你的請求首先發送到Google,然後再路由到目的地並返回。這就是今天以太坊的情況。所有寫入流量顯然已經在區塊鏈上公開,但這些公司還可以查看幾乎所有dApp 中幾乎所有用戶的幾乎所有讀取請求。
區塊鏈的支持者可能會說,如果出現這些類型的中心化平台也沒關係,因為狀態本身在區塊鏈上是可用的,所以如果這些平台行為不端,客戶可以簡單地轉移到其他地方。但是,我建議這是對使平台成為現實的動態的一種非常簡單的觀點。
讓我給你舉個例子。
製作NFT
我還想創建一個更傳統的NFT。大多數人在想到NFT 時會想到圖像和數字藝術,但NFT 通常不會將這些數據存儲在鏈上。對於大多數圖像的大多數NFT,這太昂貴了。
NFT 不是將數據存儲在鏈上,而是包含一個指向數據的URL。這些標準讓我感到驚訝的是,位於URL 的數據沒有哈希承諾。看看流行市場上以數十、數百或數百萬美元出售的許多NFT,該URL 通常只是指向某個運行Apache 的VPS。
任何有權訪問該機器的人、將來購買該域名的任何人或任何破壞該機器的人都可以隨時將NFT 的圖像、標題、描述等更改為他們想要的任何內容(無論是否不是他們“擁有”代幣)。 NFT 規範中沒有任何內容告訴你圖像“應該”是什麼,甚至不允許你確認某物是否是“正確”圖像。
所以作為一個實驗,我做了一個NFT,它會根據誰在看它,因為提供圖像的Web 服務器可以根據請求者的IP 或用戶代理選擇提供不同的圖像。例如,它在OpenSea 上看起來是一種方式,在Rarible 上看起來是另一種方式,但是當你購買它並從你的加密錢包中查看它時,它總是會顯示為一個大的?表情符號。你出價購買的NFT不是你得到的。這個NFT 沒有什麼不尋常的,這就是NFT 規範的構建方式。許多價格最高的NFT 隨時可能變成?表情符號;我只是說清楚了。
幾天后,在沒有任何警告或解釋的情況下,我製作的NFT 被從OpenSea中刪除:
刪除表明我違反了某些服務條款,但在閱讀條款後,我沒有看到任何禁止NFT 的內容。 ,該NFT 會根據查看它的位置而改變,我是這樣公開描述的。
不過,我發現最有趣的是,在OpenSea 刪除了我的NFT 後,它也不再出現在我設備上的任何加密錢包中。這是web3,但是,這怎麼可能?
MetaMask、Rainbow 等加密錢包是“非託管”的(私鑰保存在客戶端),但它與我上面的dApp 存在相同的問題:錢包必須在移動設備或瀏覽器中運行。與此同時,以太坊和其他區塊鏈的設計理念是它是一個點對點網絡,但並不是這樣設計的,即你的移動設備或瀏覽器真的有可能成為這些節點之一。
像MetaMask 這樣的錢包需要做一些基本的事情,比如顯示你的餘額、你最近的交易和你的NFT,以及更複雜的事情,比如構建交易、與智能合約交互等。簡而言之,MetaMask 需要與區塊鏈交互,但是區塊鏈的構建使得像MetaMask 這樣的客戶端無法與之交互。因此,就像我的dApp 一樣,MetaMask 通過對在該領域整合的三家公司進行API 調用來實現這一點。
同樣,就像我的dApp 一樣,這些響應沒有以某種方式進行身份驗證。他們甚至沒有簽名,以便你以後可以證明他們在撒謊。它為你錢包中的所有帳戶重用相同的連接、TLS 會話票證等,因此如果你管理錢包中的多個帳戶以保持某種身份分離,這些公司知道它們是鏈接的。
MetaMask 實際上並沒有做太多,它只是對這些集中式API 提供的數據的一個視圖。這不是MetaMask 特有的問題——他們還有什麼其他選擇? Rainbow等平台的設置方式完全相同。
這一切意味著,如果你的NFT 從OpenSea 中移除,它也會從你的錢包中消失。我的NFT 在某處的區塊鏈上是不可磨滅的,這在功能上並不重要,因為錢包只是使用OpenSea API 來顯示NFT,它開始返回304 No Content 用於查詢擁有的NFT按我的地址!
重新創造這個世界
鑑於web1 成為web2 的歷史,我對web3 感到奇怪的是,像以太坊這樣的技術已經構建了許多與web1 相同的隱含陷阱。為了使這些技術可用,空間正在圍繞……平台進行整合。再次。將為你運行服務器並迭代出現的新功能的人員。 Infura、OpenSea、Coinbase、Etherscan。
同樣,web3 協議發展緩慢。在構建衍生品時,最好將鑄造衍生品定價為基礎價值的百分比。這些數據不在鏈上,而是在OpenSea 提供給你的API 中。人們對NFT 版稅可以使創作者受益的方式感到興奮,但是ERC-721 中沒有指定版稅,現在改變它為時已晚,因此OpenSea 有自己的方式來配置web2 空間中存在的版稅。在中心化平台上快速迭代已經超過了去中心化協議並將控制整合到平台中。
考慮到這些動態,我認為我們已經處在一個地方,你的加密錢包對你的NFT 的看法就是OpenSea 對你的NFT 的看法,這並不奇怪。我不認為我們應該對OpenSea 不是一個可以被替換的純粹“視圖”感到驚訝,因為它一直在忙於迭代平台,超出了嚴格意義上的不可能/難以改變的標準。
我認為這與電子郵件的情況非常相似。我可以運行自己的郵件服務器,但在功能上對隱私、審查阻力或控制無關緊要——因為無論如何,GMail 都將位於我發送或接收的每封電子郵件的另一端。一旦去中心化生態系統為了方便而集中在一個平台周圍,它就變成了兩個世界中最糟糕的:集中控制,但仍然足夠去中心化,以至於陷入了時間的泥潭。我可以建立自己的NFT 市場,但如果OpenSea 調解人們使用的錢包(以及生態系統中的所有其他應用程序)中所有NFT 的視圖,它不會提供任何額外的控制。
這不是對OpenSea 的抱怨,也不是對他們所構建的東西的控訴。恰恰相反,他們正在嘗試構建一些有效的東西。我認為我們應該期待這種平台整合的發生,並且考慮到不可避免的設計系統,當事情是這樣組織的時候,我們可以給我們想要的東西。不過,我的感覺和擔憂是,web3 社區期待的結果與我們已經看到的不同。
現在還早
“現在還處於早期階段”是我在web3 領域的人們討論此類問題時看到的最常見的副詞。在某些方面,加密貨幣未能超越相對新生的工程,這使得人們可以認為“早期”的日子已經過去了,因為客觀上它已經有十年或更長時間了。
然而,即使這只是一個開始(而且很可能是!),我不確定我們是否應該考慮任何安慰。我認為相反的情況可能是正確的;似乎我們應該從一開始就注意到,這些技術傾向於通過平台集中化,以便實現它們,這對生態系統的速度產生的負面影響為零,並且大多數參與者甚至不知道或關心它正在發生。
這可能表明,權力下放本身對下游的大多數人實際上並沒有直接的實際或緊迫的重要性,人們想要的唯一權力下放量是某物存在所需的最低限度,如果不是非常有意識地考慮到,這些隨著日子變得不那麼早,力量將把我們推得離理想結果更遠,而不是更接近。
但你無法阻止淘金熱
仔細想想,如果所有web3 部分都消失了,OpenSea 實際上會在直接意義上“更好”得多。它會更快,對每個人來說更便宜,並且更容易使用。例如,要接受對我的NFT 的出價,我將不得不支付超過80 至150 美元以上的以太坊交易費用。這為所有出價設置了一個人為的底線,否則你會因為接受低於gas費的出價而賠錢。與信用卡相比,信用卡支付費用通常讓人覺得是敲詐勒索的,但看起來便宜。如果人們想要交易、報價、出價等的公共記錄來驗證他們的賬目,OpenSea 甚至可以發布一個簡單的透明度日誌。
但是,如果他們建立了一個平台來買賣名義上不基於加密的圖像,我認為它不會起飛。不是因為它沒有去中心化,因為正如我們已經看到的那樣,使它工作所需的很多東西都沒有去中心化。我認為它不會起飛,因為這是一場淘金熱。人們通過加密貨幣投機賺錢,這些人有興趣以支持他們投資的方式使用加密貨幣,同時提供額外的回報,從而定義了財富轉移市場的環境。
那些正在炒作NFT 的人從根本上不關心去中心化信任模型或支付機制,但他們關心的是錢在哪裡。因此,資金將人們吸引到OpenSea,他們通過構建一個在web2 空間中迭代底層web3 協議的平台來改善體驗,他們最終提供了通過OpenSea 本身而不是通過你自己的智能合約“鑄造”NFT 的能力,最終這一切都為Coinbase 打開了大門,讓他們可以通過你的借記卡在自己的平台上訪問經過驗證的NFT 市場。
這為Coinbase 通過Coinbase 持有的暗池自行管理代幣打開了大門,這有助於消除交易費用,並可以完全避免與智能合約進行交互。最終,所有的web3 部分都消失了,你有了一個用借記卡購買和出售JPEGS網站。由於市場動態,該項目不可能一開始就是Web2平台,但同樣的市場動態和中心化的基本力量很可能會推動它最終成為Web2平台。
在堆棧的最後,NFT 藝術家對這種進展感到興奮,因為這意味著對他們的藝術進行更多的投機/投資,但如果web3 的目的是避免web2 的陷阱,我們應該擔心的是,這已經是這些應該提供不同未來的新協議的自然趨勢。
我認為這些市場力量可能會持續下去,在我看來,持續多久的問題是,大量積累的加密貨幣最終是在引擎中還是在漏斗中。如果流經NFT 的資金最終流回加密空間,它可能會繼續永遠加速(不管它是否只是web2x2)。如果它大量出現,那麼這將是一個曇花一現。就個人而言,我認為在這一點上已經賺到了足夠的錢,有足夠的水龍頭讓它繼續運轉,而這不僅僅是曇花一現。如果是這樣的話,似乎值得考慮一下如何緊急避免web3 成為web2x2(web2 但隱私更少)。
創意可能還不夠
我只是在web3 的水域摸索了會。不過,從這些小項目的角度來看,我可以很容易地看出為什麼這麼多人認為web3 生態系統如此整潔。我不認為它將我們從中心化平台中解放出來,我認為這不會從根本上改變我們與技術的關係,而且我認為隱私故事已經低於互聯網的標準(這是一個相當低的標準!) ,但我也理解為什麼像我這樣的書呆子會為它而興奮。它至少是書呆子級別的新事物——它為創造力/探索創造了一個空間,有點讓人想起早期的互聯網時代。具有諷刺意味的是,這種創造力的一部分可能源於使web3 如此笨拙的限制。
如果我們確實想改變我們與技術的關係,我認為我們必須有意識地這樣做。我的基本想法大致是:
第一,我們應該接受這樣一個前提,即人們不會通過設計可以去中心化信任而無需去中心化基礎設施的系統來運行自己的服務器。這意味著架構可以預期並接受相對集中的客戶端/服務器關係的必然結果,但使用密碼學(而不是基礎設施)來分配信任。儘管web3 是基於“加密”構建的,但令我驚訝的事情之一是似乎涉及的密碼學很少!
第二,我們應該盡量減輕構建軟件的負擔。在這一點上,軟件項目需要大量的人力。即使是相對簡單的應用程序,也需要一群人每天、每天、永遠地坐在電腦前八小時。情況並非總是如此,有一段時間,從事軟件項目的50 人不被視為“小團隊”。
只要軟件需要如此協調一致的能量和如此高度專業化的人類關注點,我認為它就會傾向於為每天坐在那個房間裡的人們的利益服務,而不是我們可能認為的更廣泛目標。我認為改變我們與技術的關係可能需要讓軟件更容易創建,但在我的一生中,我看到相反的情況發生了。很遺憾。