采寫:cynic,極客web3貢獻者
受訪者:響馬,fibjs創始人
編輯:Faust,極客web3聯創
導語:響馬,FIBJS項目創始人,92年從事軟件開發至今,已有30年經驗。響馬在1994年接觸互聯網相關技術,1998年創辦華語圈首個大型綜合社區網站——西祠胡同,2012年創辦孢子社區,2018年涉足EOS生態,目前專注於fibjs和EOS相關的底層設施開發。
本次訪談從響馬對EOS的回憶開始,引申到區塊鏈背後的政治哲學。他認為:
- 追求極端TPS的是偽區塊鏈,高性能其實是最不重要的一環;
- POS的核心是如何選出長老,本質趨於聯盟鏈。而EOS通過治理來分配出塊權,涉及到公共治理權的來源;
- POS鏈的股權制存在剝削,原生Token持有者有治理權,持有其它資產的人卻沒有。這是引入智能合約所引發的問題,以太坊為首的智能合約區塊鏈,從保護私權,變成管理公共資產,引申出了一系列複雜模糊、不好解決的問題。比如頭重腳輕,上層資產太重。
- 支持智能合約和Defi的以太坊管轄了公共資產,但相關權力分配不明晰合理,比如借貸協議憑什麼採用並相信某些預言機。 Permissionless的合約部署及採用,授予了許多個體以沒有被充分監督的權力,這連鎖反應產生了一系列問題。
- 用戶並不關心底層技術,他們想要的往往是簡單、得心應手的產品,而不必是最完美的。
- 以太坊現在其實是通過去中心化技術形成的一個中心化的信任中心。
- DID+可驗證憑證也許是一個未來方向,它可以連接分散的網絡,無需信任與邊界。
- 只要有鏈就有共識,有共識就有邊界,有邊界,就無法做到互通。 我們要做的就是一個沒有邊界的,沒有信任的協議,這才是下一代互聯網的屬性。
訪談全文
1.Cynic:我們從一個問題引入本次對EOS乃至新公鏈的討論吧。我們都知道,EOS在2018年曾無比瘋狂,其IC0募資規模達到42億美元,一度震驚區塊鏈乃至傳統金融圈,讓無數上市公司都黯然失色。但時至4年後的今天,EOS生態已然勢微,市值縮水98%,甚至逐漸被世人遺忘。
在此,您能否靠著對“2018之夏”的記憶,簡單講述下您對EOS的回憶與其跌宕起伏?
響馬:我的經歷代表了很多從傳統技術圈進入區塊鏈的人的經歷——當時總是被“教育”到,BTC很慢,使用成本很高,但它的價格卻漲得很高。這個時候,我們想讓區塊鏈能夠承載更廣泛的業務和更大規模的市場,顯然就要讓區塊鏈的吞吐量變得更高。
EOS在這樣的時代背景下,提出了每秒100萬TPS的驚人指標,雖然現在大家知道,僅就單鏈而言EOS遠做不到這一點,但在那個時代,它卻給了大家以幻想的餘地。 EOS是不是真的解決了區塊鏈的效率問題?區塊鏈可以變得很快,可以重新容納更多業務,可以創造更大的市場?
在單鏈生態上,EOS在一段時間內的表現其實不錯。單從性能來看,經過我們的優化後,可以達到3萬TPS。 EOS無論是從性能還是在生態上,其實都曾是一個不錯的項目。 但我認為區塊鏈的核心不是性能,而EOS過於注重交易處理速度和吞吐量問題。 對高性能區塊鏈的敘事,我的觀點大概是在2019年前後開始轉變的。
2.Cynic:我記得您之前曾說,“EOS用了半年時間,堵死了高性能公鏈這條路”, 這個應該就是您提到的思想轉變?
響馬:這個轉變的過程是什麼? EOS的發展,讓我們在技術實踐中發現了問題。我們可以和其他鏈進行對比,比如說BTC,到現在為止,BTC的數據量規模是比較穩定的,我們甚至可以在幾小時內驗證完歷史數據。但對於EOS,哪怕只同步18年到19年底這部分的歷史數據,我們跑一個全節點都會感覺到同步時間的漫長。這其實違背了區塊鍊和密碼學的宗旨: Don’t trust,verify.也即自己去驗證數據,不必信任其他人。 但過長的歷史數據同步時間,抬高了運行全節點的門檻,意味著你無法快速完成驗證交易的過程,大多數用戶最後只能長 期信任第三方節點的數據驗證結果。
(gavin wood在solana首次宕機後發表的評論,指出用戶能低門檻運行全節點才是區塊鏈的真諦)
我們發現,在越來越多的區塊鏈項目中,用戶只有依賴雲服務商,才能驗證區塊鏈賬本數據。
這個時候我們就會反思——區塊鏈的第一性到底是什麼? 什麼樣的業務應該用區塊鏈,什麼樣的業務不該用區塊鏈?要不要為了TPS去犧牲安全?要不要為了高性能去犧牲可驗證性? 當我們失去了數據的可驗證性、資產的可驗證性,區塊鏈跟支付寶還有什麼區別? 我為什麼不用支付寶而去用區塊鏈?
後來我意識到,追求極端TPS的是偽區塊鏈。 區塊鏈應在效率和安全之間找到平衡,高性能實際上是區塊鏈中最不重要的一點。
3.Cynic:EOS創始人BM之前還做過兩條鏈,和EOS一樣用的都是DPOS共識。 您怎麼看DPOS及其背後的哲學? 因為DPOS中的D:Delegate委託機制,似乎讓EOS天然具備了鏈上治理能力。
響馬:共識機制在我的定義裡只有兩種,要么POS,要么POW。 POW來源於計算能力,而POS來源於股權。 POW更Permissionless,而POS的核心是如何選出長老,本質上會向聯盟鏈靠攏。
同為POS體系的公鏈,以太坊簡單的通過質押,通過隨機選拔共識節點,然後去盡量避免人為主觀介入的比重;EOS考慮更多的則是通過公開治理來分配出塊權。
但POS總會產生一個問題:公共治理權的來源是什麼? 在POS中,Token是這個權力的來源,大家通過Token質押量來決定個人的治理權,也就是股權制。這不像國家治理,國家政府的權力來自於人權的讓渡,採用的是人權制。
股權制存在剝削問題,原生Token持有者有治理權,持有其它鏈上資產的人卻沒有。 這是引入智能合約本身帶來的巨大難題。 以太坊為首的智能合約區塊鏈,從保護私權,變成管理公共資產,必將遇到更多問題。
4.Cynic:您提到的“引入智能合約帶來了巨大問題”,是指?
響馬:可以這麼打比方,比特幣只是個賬本,沒有智能合約,使得比特幣只是個記賬工具,只記錄私有財產的轉移,只涉及私權,這比較簡潔,權力模型是合理的;但以太坊引入智能合約後,本質成了去中心化的雲服務。
支持智能合約的以太坊實際管轄了公共資產,不再是比特幣那樣單純管轄私有財產,這引申出了一系列極其複雜和模糊、不好解決的問題。
首先,以太坊鏈上有原生資產ETH和流通的其他資產(或稱為寄生資產),“寄生資產”只有使用權沒有底層鏈的治理權,隨著這類流通在鏈上的“寄生資產”越來越多,以太坊難免出現“頭重腳輕”的現象,即底層安全和上層承載的巨量資產不匹配。 pow轉pos後,這個頭重腳輕的問題更明顯了,整個體系的治理權更集中;
更重要的是,智能合約賦予了以太坊公共資產管理屬性,Defi相關的各種交易,涉及到公共資產相關的權力再分配,可以延伸到治理權。舉個例子:
某個Defi借貸協議採用了一組預言機節點聯盟來提供餵價服務,確定哪些用戶的抵押率不足需要清算,這其實就賦予了預言機節點以公共資產管理權;但我們憑什麼相信這些預言機是可信和安全可靠的,憑什麼把公權賦予他們,很多時候都沒有用戶參與的空間,稀里糊塗就把權力賦予給了一些沒有被充分監督和充分披露的個體。考慮到過去頻繁出現的預言機餵價操縱攻擊,這個問題其實比較嚴肅。 不被監督、沒有被許可的權力往往是不可信的。
但凡涉及到公共資產管理權,其實需要充分監督,需要充分披露,但目前沒有充分監管各種智能合約項目的機制。
歸根結底我認為,Permissionless只應該針對私權,不應該針對公權,Permissionless的合約部署及採用,授予了許多個體以沒有被充分監督的權力,這連鎖反應產生了一系列問題。 Multichain跨鏈橋的例子或許是更直觀的。
EOS相關的治理權分配思路和來源其實比較明晰,但Defi協議等智能合約項目的權力分配來源不明晰,甚至消失了;如果像EOS那樣搞明確的公開治理,把公權力進行明晰合理的分配,又會使得項目本身開發難度變大,變得很重。這是個難點。
所以,只要涉及公共資產的管理權,就涉及權力邊界的問題,比如德國人的事情不可能讓法國人去管理。引入智能合約使得以太坊實際管轄了公共資產,不再是比特幣那樣單純管轄私有財產,這引申出了一系列極其複雜和模糊、不好解決的問題。
5.Cynic:EOS提出獨特的資源模型,模仿計算機分配網絡帶寬NET、算力CPU、內存RAM等資源。您認為這個設計對EOS有何影響?
響馬:BTC、以太坊所使用的銀行賬本式的模型,運行機制相對簡單,更受歡迎,同時也會面臨狀態膨脹(狀態爆炸)問題。而在EOS的設計裡,佔用存儲空間的話,會持續消耗資源(類似於gas),這種設計能夠避免狀態膨脹,模擬計算機資源收費的設計讓它更貼近雲服務的體驗。
儘管資源模型可能對服務提供者而言更合理,但複雜的設計超出了大多數用戶的理解能力,不容易被接受。 用戶並不關心底層技術,他們想要的往往是簡單、得心應手的產品,而不必是最完美的。
6.Cynic:EOS計劃改用HotStuff共識,您認為這個改動的目的是什麼? (注:Hotsuff是PBFT的一種流水線式實現,每個區塊完成一輪2/3比例的出塊節點確認,再出下一個塊)
響馬:EOS之前的設計不追求交易的即時確定性,需要3分鐘時間才能完成交易的最終確定Finalize(注:EOS為了加速出塊+ 降低節點間信息傳遞的複雜度,新區塊不必等2/3的人確認完,就可以出下一個塊;接收者也不會立刻廣播自己的確認結果。這些延長了區塊的最終確認時間。一個新區塊產生後,要再過355個區塊才被敲定)。
EOS修改共識算法是為了改善交易確定性,這項改動對整個項目的影響有限,因為基本架構是不變的,對出塊沒有產生本質影響,還是原先DPOS的大致流程。只是利用HotStuff以更快達成共識,可以看作在DPOS基礎上擴展了交易確定性Finality的相關功能。
7.Cynic:能為我們介紹一下您目前進行的與EOS相關的技術工作嗎?
響馬:我們在EOS上實現了EVM智能合約,修改了跨鏈功能。 EOS官方的EVM實現,是在WASM虛擬機上實現EVM,除了速度慢,還無法復用原先的基礎設施。
EOS的RPC(遠程過程調用)設計也存在缺陷,寫RPC是通過封裝,將以太坊交易提交到EOS上;讀RPC為了實現方便,直接將EOS.evm的數據同步到一個獨立的以太坊節點上,架構過於復雜,基本沒有多少人能夠提供API服務,只有項目方自己在支持。
我們的EVM是原生實現的,節點可以直接調用EOS資產,並且兼容web3.js, ethers.js等開發工具,使用體驗接近以太坊。 我們修改後的項目會逐步開源。
8.Cynic:您也算是經歷過一套主流敘事從萌芽到爆發再到歸於沉寂的全過程,從您的角度出發,整個行業的未來將何去何從?
響馬:我一直說web3.0和web3不是一個東西,web3.0是下一代互聯網想要解決的一些問題的總和,web3是一群人希望能夠用區塊鏈解決所有互聯網出現問題的一種嘗試。
但是互聯網現在真正遇到的問題,其實是一個原有的舊互聯網的信任機制的問題。因為在原有的互聯網中,大家不能夠擺脫對中央服務器的信任假設,導致所有的用戶被被中央機構綁架。
我們有沒有辦法去把互聯網重新變成一個去信任化的分佈式的網絡?這才是關鍵,而不是說我們重新信任一個由去中心化技術形成的中心化網絡。 以太坊現在其實是通過去中心化技術形成的一個中心化的信任中心。
IPFS也是個同樣的例子,以前我們說數據存在中央機構,我們的數據被綁架,為了解決這個問題,我們要把數據存儲變得去中心化。但我們現在看IPFS並不是一個去中化存儲,它只是一個用去中化技術形成的中心化存儲,它還是服務,只要是服務它就是中心化的。
我們需要回歸互聯網的本質,而不是信任新的(通過去中心化技術構建的)中心化網絡。 DID+可驗證憑證也許是一個未來方向,它可以連接分散的網絡,無需信任與邊界。
DID本身它並不是一個身份,而是身份協議。 在DID中並沒有存在一個大家都必須認可的機制,我自己生成一個公鑰,那DID就已經有了,並不需要別人的認可。我們怎麼樣去用DID去解決實際問題,通過可驗證憑證。
一個最重要的一個突破點,就是它不再是兩個機構之間進行數據共享,而是由信息主體來主導信息共享。這時你會發現,雖然它沒有共識,沒有所謂的去中心化的概念,沒有區塊鏈,但是你會發現它很去中心化,中間只有三個人參與:信息的控制者、信息的接收方和信息主體。
我們最初設計這套協議的時候,也是有鏈的。後來我們反复的被問到:鍊是誰建的?你說誰建這條鍊是能夠被大家都認可? 只要有鏈就有共識,有共識就有邊界,有邊界,就無法做到互通。 我們要做的就是一個沒有邊界的,沒有信任的協議,這才是下一代互聯網的屬性。