以太坊創辦人V神提出以太坊在執行層替換「RISC-V」,以取代過往的EVM,而引起部分的開發人員疑慮,而2016年曾在以太坊開發者OG認為,這會使得以太坊生態面臨重新分配、並且對於小資本的項目非常不友善。
(前情提要:以太坊手續費創五年新低,社群掀「L2毒藥論」:路上都沒車了,V神還在笑著蓋高速公路)
(背景補充:拆解 Vitalik 想用「RISC-V 取代 EVM」重構以太坊執行層的戰略野心 )
以太坊創辦人 V 神近期發起「RISC-V」提案引起加密社群關注,也引起核心生態開發者辯論,而對於大多數的用戶來說,多半看不懂 RISC-V 如何在以太坊上進行改革,V神的提案又能為以太坊帶來什麼樣的進展?
為了解答這個疑問,動區訪談了一位自2016年就在以太坊開發核心生態的老OG「逆鱗之龍」由他來為我們解答「RISC-V」改版的詳細流程,以及未來可能導致的短期負面效應,提醒所有以太坊的投資者都應該要密切注意這個提案後續。
如何改版 RISC-V 情況
以太坊與其他 PoS 鏈不同的是,以太坊客戶端由「共識層」與「執行層」兩部分所組成,而共識層負責進行打包權益投票,執行層負責處理交易,因此執行智能合約的程式碼,實際上是由節點電腦運行的執行層客戶端,透過抓取交易廣播來運行程式碼,並且將其結果透過「共識層」投票的結果寫在公用帳本上。
要將當前的 EVM 環境升級為 RISC-V 的唯一辦法,就是透過更新節點客戶端的「執行層客戶端」來進行升級,這與過去通常用硬分叉的方式來改變以太坊出塊與對應節點的改版不同,這只是一種軟體層級的分叉。
根據 V 神的論文內容描述,理想的情況下,若所有的節點客戶端都有 RISC-V 執行程式,那麼針對新版本的協議與針對 zk 證明的運行,可以達到接近100倍的理論效能,但必須要知道的是,這個是在智能合約為 RISC-V 版本與 RISC-V 客戶端上所計算出來,相對於 EVM 智能合約格式 在 EVM 客戶端上執行的成果。
RISC-V 這次提案特別的是,他是在執行層客戶端上直接做改版,不會動用到硬分叉的部分,這點我沒有很喜歡,但可以看出來以太坊正在往一種新方向前進,這可能是一種雙面刃,這種等級的變動在過去的以太坊來說,或許會選擇與硬分叉一起實施,因為這可能是更保險的做法。
現行狀況與舊有合約的對應
了解理論的性能後,我們來看現況是什麼,現況是以太坊全部的生態與所有的 EIP 實踐,都是透過 EVM 智能合約與 EVM 客戶端成功執行的,若如同 V 神說 RISC-V 將會有 EVM 轉譯器的情況下,那麼實際未來的狀況可能可以分為下面幾種狀況
- EVM 智能合約在 EVM 客戶端上運行(舊的EIP全相容,但新的EIP需要對應兩個版本)
- EVM 智能合約透過 RISC-V 的 EVM 轉譯器,在 RISC-V 客戶端上面運行(新舊的 EIP 需要經過大量的測試與 DEBUG 來解決)
- RISC-V 智能合約在 RISC-V 客戶端上面運行(舊的 EIP 要全部重新測試,但新的 EIP 應該能完美相容)
綜上面來說,考慮到未來智能合約運行效率為 100 倍的理論性能,僅為第三種狀態才適用,而對第二種情況來說,又特別依賴以太坊核心團隊對於轉譯器,以及過往所有EIP升級與智能合約的優化,這代表以太坊為了達到理論的性能提升,需要付出非常大的優化代價,而且不確定舊的 EVM 代碼在 RISC-V 上透過轉譯執行的效率優化,是否效率絕對大於原生 EVM 的環境。
其實V神這樣一講,我猜一定有不少核心開發者覺得很絕望的,過去在 EVM 上面開發,解決每次的 EIP 施行與測試,工作量就已經很大了,因為以太坊是喜歡在很開放的環境下,測試出開放答案的社群。
但現在變成 RISC-V 環境時,我光想轉型的測試期,就是非常頭痛的一點了,核心問題你在測試的期間,還不一定能跑出大於原本環境1~5倍以上的效率,因此我猜這個測試期會不斷延期很多次,就像過去以太坊Merge那樣,這樣早期缺乏具體的成果,也很難吸引外部的生態在測試網上部屬,並提交反饋。
我只能說 V 神有很大的野心,但執行面上我覺得不是很樂觀,至少我覺得有一半以上的核心開發者可能不是很開心,如果堅決要改成 RISC-V,V神與以太坊基金會需要花很大的力氣去鼓舞核心開發者團隊與生態。
生態對應 RISC-V 的問題
逆鱗之龍提及,RISC-V 提案的最大問題,可能來自於民間項目生態的支援與對應,在現有的開源生態中,能使用的元件非常有限,因此 V 神提出的EVM to RISC-V 轉譯的口號,在短期內可能有諸多疑慮與問題。
例如以太坊的現有生態,像是原本沒有問題的 EVM 項目與合約,在EVM to RISC-V 轉譯前提下,可能在執行層執行合約的過程中,出現狀態缺失或者運算終止的情況,這代表了即使是在過去沒有發生過任何問題的舊有 EVM 項目,在使用 EVM to RISC-V 轉譯的情況下,也可能出現代幣無法提出,或者誤燒毀、鎖死的狀態。
這樣的例子,非常有可能使得生態項目團隊,可能在某些情況下,不會願意開放用戶使用 EVM to RISC-V 轉譯器賴運行舊有 EVM 智能合約;另外項目生態為了避免相關風險,以及跟進以太坊的新技術,最好的方式就是為全部智能合約撰寫新的 RISC-V 版本合約,而舊有的合約與新的合約的銜接,則透過資產橋接來解決。
其實搞相容的方式,非常容易出包,但如果基金會願意大撒幣搞定 General 的方案,那麼可能可解決99%的相容問題,但問題就在於這剩下的1%以及生態開發者的安全信任。
現在你去問以太坊的項目開發者,對於 EVM 轉譯 RISC-V 的部分我猜不會是那麼有信心,大資本的技術公司若要從頭到尾部屬自己的客製系統或晶片,都不見得會選 RISC-V ,因為這架構雖然開源,相對於 ARM、X86 等主流架構,RISC-V 生態支援非常有限,更沒有對區塊鏈的相關發展,這代表以太坊要赤手空拳自己開闢一片天。
若在考慮資安與生態支援的情況下,有錢的項目如果要安全,自己的蓋一個新舊合約的橋,成本動輒數十萬到數百萬美元,而重寫協議app的所有EVM智能合約至 RISC-V 版本,更是大工程,若不是有相當資本的公司,可能無法負擔起這些額外成本。
我不太清楚V神有沒有想過小規模的生態項目,可能看到 RISC-V 提案就在觀望要不要離開以太坊生態了,如果估值在五百萬美元以下的小項目,我覺得就直接搬到 Solana 就好,不需要花成本等待以太坊慢慢搞,還不一定能搞成功。
以太坊現在是在用技術名詞,搞定工程師與技術控的期待,但與現實之間的取捨,我認為以太坊需要在 RISC-V 提案中給社群與開發者生態一個平衡的答案。
客戶端分散效應、停止更新疑慮
要執行「RISC-V」提案的話,以太坊客戶端品牌是至關重要的關鍵,但與過去不同的是,客戶端過去只負責維護EVM版本,而當前「RISC-V」提案下的工作量直接變成兩倍,這勢必影響每次 EIP 以及客戶端改版的時間,將使以太坊的整體改版成本變為更高、更笨重。
而早期 EVM 與 RISC-V 格式在鏈上的智能合約數量不對等,也可能會引各個客戶端對於一方開發「偏心」,形同在客戶端可能出現對於 EVM 友善、to RISC-V 轉譯部分擺爛或是相反的狀態,這可能使得在面對不同客戶與不同實體需求時,客戶端可能會採取不同的政策來使用戶重新分配。
這樣市場可能發生的「偏食」問題,當然不一定與以太坊基金會期望是相同的,以太坊基金會勢必得在 RISC-V 客戶端上進行更多資助與介入,來制定既有的規範,然而在現今客戶端的資助早就以轉向主要商業使用者為來源(如Coinbase等),以太坊基金會的砸錢介入與參與可能沒有像以往那麼粗暴有效。
最後就是維護期限問題,就跟手機系統停止更新一樣,「RISC-V」提案若進行下去,所有人都應該能想到可見的期間內, EVM 客戶端或許就會在 RISC-V 客戶端完善的情況下逐漸退場,在那之前,是否能盡力讓所有智能合約都能相容 RISC-V ,還是會發生因為期間沒有參與區塊鏈活動,因此客戶資產就會遺失在舊的無法執行的 EVM 智能合約的情況上,這點可能會影響用戶對於以太坊的信心。
其實你看到口號喊說 EVM 與 RISC-V 雙軌運行這樣的口號,你會相信就可能這樣一直走下去,我會覺得你應該是很傻的。因為所有的軟體都有維護週期,當新的版本出來後,舊的就是遲早有一天會淘汰,這就是科技的定律,所以我認為 RISC-V 改版推出就代表有一天,必定會有人在 EVM 合約上的資產無法取出。
但相同的情況我不認為會在比特幣上面發生,到現在最早期的 p2pk 格式的比特幣還是能領取,區塊鏈要給安全與對用戶的承諾是甚麼,我覺得很重要。
過去我以為,你資產放在智能合約上面,只要你持有 IOU 代幣,即使是舊的合約沒人維護了,Uniswap 都出到 V4 了,你還是能在 V1、V2上取回你當年的資產,這是我認為應該要做到的區塊鏈承諾,也是這個社會需要有區塊鏈的功能與價值所在,但如果說以太坊真的推出RISC-V 改版,並且在有生之年內宣布放棄對 EVM 合約的原生客戶端支援,我會對這個公鏈與社群感到失望,但我可以理解他們(以太坊基金會)的確是想改變些什麼。
📍相關報導📍
以太坊面臨世代交替呼聲!V神:應用層成長更需「良好社會哲學」,點名優劣應用