為什么「合并」是我們刪掉一些東西的最后機會?
原文標題:《引介|值得考慮刪除的EVM功能》撰文:VitalikButerin翻譯&校對:戡亂&阿劍來源:以太坊愛好者
到2020年,我們對如何設計智能合約和區塊鏈協議的理解已經遠超2013-15年。因此,如果我們在2021年從頭開始搭建以太坊,我們就不會引入很多早期添加的功能了。然而從一條正在運行的、擁有活躍生態的區塊鏈中移除功能,遠比在一個新系統中不添加它們要難得多。
有些「缺陷功能」是無害的。有些可以安全而緩慢地移除或改進。還有些已經深深地嵌入到了太多的應用中,以至于根本改不動。另一方面,也有一些功能要么已經被移除,要么已經被改進,要么即將被移除。
但是還有一些中間情況:有些功能過于復雜,對生態的發展造成了中等程度的傷害,我們可以移除它們,但是需要冒一點風險。如果我們移除這些功能,可能會有少量的應用被破壞。但是不移除的話,它們會繼續拖累生態。
就跟別的「長痛短痛」抉擇情形一樣,人們很容易低估短痛帶來的長期收益。特別是在我們的情況中,由于解決復雜情況的代碼已經寫好了,所以感覺保留它們不需要付出任何成本。但實際上有兩個重要的成本要考慮:
為協議開發新實現的成本若要改變功能B,但B會跟沒必要存在的復雜功能A交互,可能會產生「交互bug」以重新設計狀態樹為例:若以太坊的狀態越是遵循一些簡單的恒常性質,那么替換更高效的雙層十六進制Patricia樹就會越容易。然而在現實情況中,因為SELFDESTRUCT操作碼可以在單筆事務中不受限制地刪除大量存儲插槽,這給改良狀態樹帶來了很大的困難。另一個例子是2300gas津貼機制使gas重新定價變得更復雜。
Aave通過Avalanche上DAO資金向V3遷移提案,旨在提升存款利率:9月1日消息,據Aave治理頁面顯示,Aave社區已通過Avalanche上DAO資金向V3遷移提案,該提案建議贖回Aave V2 Avalanche上的所有Aave DAO資金,約458萬美元,并將其存入Aave V3 Avalanche之中,因為V3利率高于V2且有wAVAX獎勵。[2023/9/1 13:12:25]
「合并」可能是我們扯掉一些痛苦繃帶的最后機會,這篇文章就是解釋這樣做的理由。
合并是進行最后一輪不兼容更新的一個非常自然的時間節點,有以下幾個理由:
合并后構建的客戶端很可能不處理PoW鏈,而是專門驗證PoS信標鏈。因此,如果在合并時或合并前去除不必要的復雜功能,客戶端最容易從中受益,因為它們根本不需要實現這些功能。(從技術上講,即使是在合并前建立的客戶端也可以設計成只處理最近1-2個硬分叉之后的數據,但是「PoS信標鏈作為一條獨立的鏈而不需要處理PoW鏈上過于久遠的數據」的說法更容易讓人接受)以太坊已經發生了很大的改變,社區對這將是「以太坊的一次重大升級」達成了共識。特別是「在分片和合并完成之前會出現快速的進化,但合并之后就會趨于穩定」的觀點也得到了社區的一致認可。必要的向后不兼容的改變已經發生了。這篇文章將介紹一些可以考慮刪除的功能的例子。
數據:Algorand 7日平均活躍地址增長了60%:金色財經報道,根據加密市場分析公司CoinMetrics收集并于10月18日發布的數據,Algorand活躍地址增長了60%,數據顯示,Algorand的7天平均活躍地址為104,000個。僅次于萊特幣(LTC),其鏈上活動量增加了75%,日均活躍地址為378,000個。[2022/10/20 16:31:02]
功能列表
2300gas津貼
這是什么?當一個合約調用另一個合約時,被調用的合約會得到2300gas用于執行非常有限的操作*為何引入?最初是為了讓智能合約錢包在收錢時能自動生成一條日志。后來還被用于實現「守衛」功能以防止合約收到ETH。*有何問題?*
*由于它設置的是固定的gas數量,因此只要gas價格可以調整,人們就沒有辦法確定這些gas到底能支持什么類型的計算。*它并沒有很好地滿足設計意圖,有兩個原因。首先,很多用戶仍然在使用外部賬戶,而外部賬戶并不會生成日志。其次,`SELFDESTRUCT`操作碼繞過了津貼機制。從長遠來看,通過賬戶抽象化,外部賬戶的作用將被弱化,并且`SELFDESTRUCT`操作碼可能將被移除,但是在這兩件事完成之前,它都只是一個不充分的解決方式。
*如何移除?**有兩種可能——要么將2300改成0)要么不限制數量
灰度 CFO:公司會定期評估Staking業務的發展,作為探索Staking的一部分:金色財經報道,Grayscale首席財務官Edward McGee在接受采訪時表示,截至2022年8月,公司目前沒有的任何投資進行質押,盡管我們目前沒有在我們的任何投資工具中質押資產,但我們一直在積極探索質押適用的灰度產品的可能性。PoS 協議等創新技術可能具有變革性,但也存在必須仔細評估的風險。作為我們探索的一部分,我們的團隊已經確定了在灰度產品結構中質押數字資產的一些關鍵風險和不確定性領域。
最重大的風險之一是稅務處理和責任。被認為通過像我們的一種產品這樣的投資工具從數字資產的質押中獲得任何收益的投資者可能面臨重大的稅收影響。
還有一些技術和運營風險可能導致資產損失。目前,支持灰度產品的數字資產保存在一流的離線“冷”存儲中。為了在我們的產品中安全可靠地質押數字資產,我們可能會聘請機構級組織來幫助監控和減輕新的或正在出現的風險。因此,我們會定期評估 Staking 業務的發展,作為我們探索產品 Staking 的一部分。[2022/8/15 12:26:29]
*移除有何副作用?**
*如果我們移除子執行,那么這將需要在合約調用中添加一個笨拙的二分處置,即0gas解釋為0,任何其他數字解釋為「發送所有的gas」。它還會破壞反接收守衛功能和日志記錄。*如果我們在執行中允許子執行獲得全部的gas,那么通過調用發送ETH會變成一個需要信任的操作,惡意合約可能會借此擾亂一些應用。不過,Solidity文檔已經建議大家用withdrawal模式代替`transfer`,這樣就不會有任何風險了。
羅馬尼亞當局正在追查未能報告加密交易收入和納稅的投資者:7月3日消息,羅馬尼亞國家財政管理局(ANAF)本周宣布,其負責防止逃稅和欺詐的部門的官員已開始檢查,以確定在Binance、Kucoin、FTX等各種平臺上進行數字代幣交易獲得的收入。這些檢查被視為稅務局新戰略中的一項舉措,以“適應技術和金融市場趨勢的演變”。他們的目標是63名羅馬尼亞公民,根據ANAF的信息,他們在2016至2021期間的加密收入為1.31億歐元。稅務檢查員發現其納稅申報單中缺少價值4867萬歐元的數字資產。該機構迄今已下令追回約210萬歐元未履行的稅收義務。
羅馬尼亞稅務機關還打算檢查其他各種與加密相關的業務的收入,例如挖礦或NFT交易。ANAF的反欺詐部門已建議所有開展此類活動或計劃參與的羅馬尼亞人確保他們報告收入并承擔對國家的財政義務。(Bitcoin.com)[2022/7/3 1:48:10]
*如何消除顧慮?**
*讓所有的ETH轉賬,無論是來自調用還是`SELFDESTRUCT`,都生成一條日志,這樣錢包就不需要生成日志了*增加一條規則,對于提供0gas的調用,可看做是一個「可以生成日志的`STATICCALL`」。這樣就復制了在gas津貼的執行環境里實際做到的功能。
剩余Gas額度可見性
*這是什么?**GAS操作碼允許合約查看當前的執行環境中還剩多少gas可用。CALL允許調用者為子上下文提供固定數量的gas。
報告:區塊鏈將對企業產生重大影響:金色財經報道,Ripple近期發布了一份報告,該報告匯集了來自全球各地的思想領袖,展示了區塊鏈技術的全球影響力。此外,該報告強調了能夠滲透金融業的重要性,因為其性質更為保守。
報告稱,在全球金融機構的調查中,75% 的受訪者認為區塊鏈將在未來五年內對業務產生巨大或重大的影響。來自拉丁美洲和亞太地區的領導人帶頭沖鋒,每個地區超過 80% 的受訪者表達了這種觀點。
此外,鑒于金融業傳統上的保守性質以及區塊鏈技術仍然是一項相當新的技術,這是一個了不起的共識。這種熱情在很大程度上植根于技術改變我們思考和轉移價值的方式的能力,高效、可靠且具有成本效益。[2022/7/3 1:47:12]
*為何引入?**反對讓CALL將父環境中剩余的全部gas都交給子環境的最主要原因是避免「不可信任的調用」:即發送者不信任接受者的調用。一個簡單的例子是發送ETH給參與方的金融機制。另一個例子是M-of-N外部價格信息的輸入機制,通過調用一些合約,在獲得所有合約回復后取中位數作為輸出。
*有何問題?**
*其實絕大多數不可信任調用的用例都可以通過其他方式繞過去。對于轉賬,Solidity文檔已經建議大家用withdrawal模式代替`transfer`。M-of-N外部價格信息的輸入機制可以很容易地通過為每一個外部輸入單獨創建一筆交易實現。*這會讓gas重定價變得很難做,當操作碼的gas消耗量發生變化,固定gas數量的調用可能會不夠用。
*如何移除?**
*讓`CALL`可以自動將父環境的所有可用gas額度都交給子環境。`GAS`操作碼只需簡單地返回交易的初始gas數量。
*移除有何副作用?**
*我們知道的「不可信任調用的合法用例」主要是第三方贊助調用。第三方發布一筆事務,事務中包含你希望的調用,當調用發生后,可以自動地向你扣費。這對用戶沒有任何ETH的智能合約錢包、混幣者的隱私保護以及其他一些用例都很有用。我們需要一個有限gas數量的調用以確保最終的支付語句真正被調用,而不會因為gas不足而被回退。
*如何消除顧慮?**
*礦工可以直接充當中介,如果交易最終沒有付錢給他們,他們就可以直接丟棄事務。參見PhilDaian的工作,他創建了一個由第三方機器人構成的生態,礦工可以自動產生「安全」的批量交易。*在協議內增加一個明確的「第三方付款人」的交易類型。參見EIP2711的例子。
還請注意,如果我們想要走得更遠,我們還需要調整63/64規則使得如果子調用失敗,父調用也徹底失敗。這可能會破壞更多的用例,但它將確保當gas消耗量發生變化時只會引起一種類型的行為變化。
SELFDESTRUCT
請看這篇文章。
Gas退款
*這是什么?**調用SELFDESTRUCT銷毀一個合約,或者將一個存儲槽設置為零,會退回15000-25000gas。退款會在事務執行的最后觸發,并抵扣發送者需要支付的費用。
*為何引入?**激勵應用開發者踐行「良好的狀態衛生」,清除不再需要的存儲插槽和合約。
*有何問題?**
*在實踐中,幾乎沒有人真正踐行良好的狀態衛生。這是因為激勵不夠高,不值得為此增加代碼的復雜度甚至帶來安全風險。*退費機制使得GasToken興起。GasToken有利于將低費率時期的gas調配到高費率時期使用,但是它不利于網絡,特別是加重了狀態規模的膨脹,并使低效的gas使用方法阻塞了區塊鏈。*它加劇了區塊大小的波動,使一個區塊實際上的理論最大gas消耗量幾乎是字面意義上區塊Gas上限的兩倍。這并不致命,但仍然不可取,特別是考慮到,在EIP-1559實施后,退款機制可以使網絡的實際Gas使用量長期維持高水平,阻礙1559機制的運行。
*如何移除?**只要把退款功能從協議中完全刪除。
*移除有何副作用?**
*我們可以相當確信,沒有任何應用會因此無法使用,因為退款只在執行結束后觸發,所以取消退款并不會改變任何執行的可用gas數量。*GasToken將變得毫無用處*在gas價格反常時,應用失去了降低費用的能力。好在這個功能目前最主要的用戶是defi的套利機器人,而套利機器人之間的gas價格競爭是一種零和活動,不過還不清楚移除這個它們用于競爭的武器會造成什么全局性的不利影響。
*如何消除顧慮?**
*Gastoken在他們的網站上已經警告過,未來的協議變更可能會使GasToken無效,所以用戶不會覺得驚訝*我們可以提前公布變更時間
其他候選功能
相比上面列舉的,我對移除以下功能會帶來多少價值缺乏信心,不過還是值得列出一個清單。
*RIPEMD160預編譯**:這是一個非標準的哈希函數,很少有項目使用。我們可以用鏈上部署的合約進行替換,對于真正需要高效驗證的項目,可以直接使用ZK-SNARK。
*動態跳轉**:使用變量作為跳轉目標會使代碼的分析和操作變得更加困難。去掉動態跳轉,只允許相對偏移的靜態跳轉,并且為子程序提供一些專用的指針方案可以解決這個問題。然而,這將是一個底層的改變,可能會破壞許多自定義的合約,所以其收益/成本比似乎不如這個列表中的其他項目。
*MODEXP預編譯**:對于大整數計算來說,這顯然是一個錯誤的「基本元件」,并且其gas消耗的計算方案也相當復雜。更好的選擇是:(i)用預編譯的ADD、MUL和MOD作為替代的基本原語,并用這些預編譯的指令編寫用于替代MODEXP的實現,或者(ii)將EVM384擴展到更多的長度
特別感謝MicahZoltu提出的一些建議
來源鏈接:hackmd.io
免責聲明:作為區塊鏈信息平臺,本站所發布文章僅代表作者個人觀點,與鏈聞ChainNews立場無關。文章內的信息、意見等均僅供參考,并非作為或被視為實際投資建議。
以太坊
以太坊
開放的分布式區塊鏈應用平臺,通過其專屬加密貨幣Ether以太幣提供去中心化的虛擬機,處理點對點合約。允許任何人建立和使用通過區塊鏈技術運行的去中心化應用,沒有任何欺詐、審查、第三方監管。以太坊的概念首次在2013至2014年由維塔利克·布特林VitalikButerin受比特幣啟發后提出,旨在共同構建一個更全球化、更自由、更可靠的互聯網。以太坊EthereumETHERC20ERC-20ERC20ERC721ERC-721以太坊2.0查看更多
Tags:GAS區塊鏈以太坊ETHuGAS-JUN21 Token Expiring 30 Jun 2021區塊鏈工程專業學什么女生比較好以太坊最新價格人民幣beth幣怎么挖
昨日給出的簡評,建議反彈高空為主。建議1830-1840附近分批空,目標1780-1750,止損1870,小時級別來看,昨日上午以太觸底1758一線反彈,一路震蕩上升,午夜遇阻1868一線回調,
1900/1/1 0:00:00周彥靈:3.9回調繼續多比特幣BTC以太ETH今日最新走勢預測分析解套操作建議比特幣昨日在試探下方49500一線支撐后多頭開始漸漸回暖,價格在不斷向上試探回調的幅度也不是很大.
1900/1/1 0:00:00吳說作者|談叔 本期編輯|ColinWu2月23日,bitfinex/tether與紐約州檢察院達成了和解.
1900/1/1 0:00:00據Bitcoinwin交易所平臺行情顯示:受外圍利好等諸多因素影響,BTC在24h內持續攀升,由最低的49258上升至最高的54097.
1900/1/1 0:00:00作為2021的重大事件,波卡平行鏈拍賣的進展已經進入熱身階段。截至目前,已有包括系統平行鏈在內的11個平行鏈項目成功接入RococoV1測試網,Zenlink、Bifrost、ChainX等項目.
1900/1/1 0:00:00假設我們有兩種rollup解決方案A和B,Alice想要用rollupA上一定數量的代幣來換取rollupB上同樣的代幣.
1900/1/1 0:00:00