比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads

EST:觀點:務實地取消 SELFDESTRUCT_Bitgesell

Author:

Time:1900/1/1 0:00:00

本文將介紹?SELFDESTRUCT?對以太坊生態弊大于利的一些理由,正是因為這些理由,我們應該以某種方式移除?SELFDESTRUCT?。鑒于有些合約已經使用了?SELFDESTRUCT?,我提出了一些只需要付出最小的代價就能消除?SELFDESTRUCT?危害的方法。

一段歷史:?SELFDESTRUCT?已經沒有必要了

SELFDESTRUCT?早在以太坊的極早期便已引入。實際上,它在2013年12月發布的以太坊協議“規范”預告中就已經出現了。那時候,幾乎沒人仔細考慮過狀態規模管理的長遠問題。但是,有個想法我大概還有些印象,為了防止沒用的垃圾狀態不受限制地膨脹,我們需要讓任何創建出來的對象都可以被銷毀。具體的思路是,當外部賬戶的余額為零時觸發自毀,而合約在沒用后可以調用代碼里的一行自毀語句觸發自毀。還有一個gas退款機制用于激勵大家銷毀沒用的狀態。

2014年1月,AndrewMiller指出了一個非常嚴重的問題:在2013年12月的規范設計中,EOA很容易被重放攻擊。如果我有100個幣,我通過一筆交易發給你10個幣,你可以簡單地在鏈上重放這筆交易十次,從而轉走我的全部余額。這個問題很快就修復了,為此我們增加了nonce字段。然而,nonce字段的引入讓刪除EOA的愿望徹底破滅了:nonce是不能被重置為零的一旦該賬戶被再次使用,nonce又要從零開始,就會被重放攻擊)。

觀點:在中國基于公鏈做數字藏品是不行的,底層技術一定是聯盟鏈:3月26日消息,數字藏品的全球趨勢與中國創新的直播中,數藏中國創始人兼CEO王鵬飛在題為《合規是中國數字藏品行業發展的牛鼻子》的分享中稱,所謂的合規有三點。第一,數字藏品要注重版權。第二點是鏈的選擇,在中國做數字藏品基于公鏈是不行的,在中國一定是聯盟鏈,大家不要怕聯盟鏈做不好,它具有成為技術基礎的條件。第三,二級市場流轉的合規,2022年會成為二級市場合規的競爭年。“我認為這個市場的監管一定會來。”他說。(8btc)[2022/3/26 14:19:31]

2015年,有人提出了一些方案試圖繞過這個問題,使余額為零的賬戶可以被安全地刪除。然而,當時很明顯,幾乎沒有合約開發者真正使用自毀功能:因為要弄清楚什么時候自毀太難了,而獎勵也太少了。

到2019-21年,事情已經變得很明顯了,我們需要的是其他形式的狀態管理,比如租金機制或者是長期未動的狀態“到期作廢””)。而如果我們采用這兩個方案中的任何一個,只要它是有效的,那么合約是否有能力主動刪除自己就一點兒也不重要了。

觀點:VanEck有信心申請比特幣ETF表明SEC內部觀點發生變化:過去幾年,美國證交會(SEC)已經扼殺了任何追蹤加密貨幣價格的ETF的想法,但VanEck正試圖在新的一年重振這一想法。根據周三發布的一份文件,VanEck目前正試圖推出自己的比特幣追蹤ETF。

投資咨詢公司ETF Store的總裁Geraci表示:“美國證交會的所有跡象都表明,比特幣ETF仍面臨一場艱苦的戰斗。VanEck有信心申請比特幣ETF,這可能表明美國證交會內部的觀點發生了變化。顯然,隨著事態的發展,一個關鍵問題是拜登將任命誰擔任證交會主席。”Gainesville Coins的金融專家表示:“該ETF可以被視為比特幣看漲,因為它確實擴大了比特幣投資者的視野范圍。”(金十)[2021/1/2 16:14:44]

SELFDESTRUCT?是唯一一個破壞重要恒常性質的操作碼

SELFDESTRUCT?不僅沒什么用,還會產生危害。它破壞了一些重要的恒常性質,這些性質本來是很好的,但是僅僅因為這一個操作碼,我們就失去了這些性質。

觀點:最符合SEC標準的就是那些無IXO(預售)方式的POW幣:微博用戶“BCH愛好者BruceLee”通過微博表示:從SEC起訴XRP這事里面我們可以看出,所有加密幣里面,最符合SEC標準就是那些無IXO(預售)方式的POW幣。所以我們看到灰度和PayPal的F4,都是POW幣: BTC、ETH、BCH和LTC。而星展銀行估計是被XRP的公關給忽悠了(XRP很擅長和銀行打交道),把F4里面的LTC換成了XRP,開局就踩雷,真是悲劇。而ETH初始發行方式其實本質是和IXO是一樣的,都是預售模式。不過ETH生態強大,綁定了太多利益方,光是穩定幣市值就差不多200億刀。SEC要動XRP,大家都上去踩一腳。SEC如果想動ETH,估計會遭到幣圈強烈反對,所以ETH安全的很。

但是其他搞預售的幣(現在大多數幣都是預售模式發行的),都有被SEC起訴的風險,只不過當市值很小的時候,SEC應該注意不上。

如果SEC這次搞完XRP就暫時消停了,大家可以松口氣。如果搞完XRP立馬搞下一個(有傳聞說要搞Link,不知真假),那么對幣圈所有搞預售起家的幣都是重大利空。大家可以檢查一下自己的投資組合里面,有哪些幣當初是IXO方式發行的,提前做好準備。[2020/12/24 16:23:27]

SELFDESTRUCT?是唯一一個能在單個區塊中變更無限個狀態對象的操作碼

觀點:CBDC應在隱私保護方面擊敗Big Tech支付:金色財經報道,紐約聯邦儲備銀行研究員Michael Lee和加州大學圣巴巴拉分校經濟學教授羅德Rod Garratt在周一的博客文章中對其本月初發布的論文作了闡述。他們指出,科技公司對消費者數據的使用令人不安,可能使Visa、Facebook等所有公司都陷入了違反反壟斷法的麻煩中。文章解釋稱,使用數字支付進行的交易使科技公司能夠獲取消費者的個人數據,現金則不能。公司之間不會共享數據。通過獲得對自己客戶數據的專有訪問權,企業可以利用這些信息來獲得競爭優勢。研究人員認為,就數字時代的效率和消費者保護而言,CBDC是現金的最佳繼承者,并表示CBDC應在隱私保護方面擊敗Big Tech(大型科技公司)支付。[2020/11/24 21:51:43]

其他所有的操作碼都只能操作賬戶中的單個值或者存儲樹上的單個key,所以它們能變更多少固定大小的對象是有限制的。但是,SELFDESTRUCT可以刪除整棵存儲樹。

在目前的狀態樹結構中,這是可以容忍的。但是,考慮一種特殊的情況:當調用SELFDESTRUCT刪除許多存儲插槽后,下一個事務又在同一個地址上創建一個合約并訪問同一些存儲槽。為了處理這種情況,需要額外設計復雜的緩存機制。此外,SELFDESTRUCT還阻礙了我們變更狀態存儲格式。

觀點:數字貨幣波動劇增,DeFi期權平臺迎來增長:LongHash發文稱,2020年11月,隨著比特幣價格創2018年以來新高掀起整個數字貨幣板塊劇烈波動,使用期權衍生品可以進行波動率交易,隨著市場進入波動周期,中心化比特幣期權總持倉量不斷突破歷史新高,目前報約38億美金,較年初增長近10倍。衍生品需求的激增代表著市場參與者(機構、散戶)的日漸成熟。

相對于中心化CeFi期權,近日TVL(總鎖倉價值)大增的去中心化DeFi期權生態則更為多樣。根據DeFiPulse數據顯示,衍生品總TVL達近9億美金,目前較為活躍的DeFi類期權產品如Hegic鎖倉5千萬美金、opyn250萬美金,近30日Hegic鎖倉增幅翻了2倍。2020年下半年相繼出現了著名VC投資機構布局DeFi期權類產品,DeFi生態進入下半場。

鏈上借貸、AMM交易及衍生品逐漸成為去中心化金融三大支柱,而期權作為衍生品中的“明珠”,其競爭變得日益激烈。雖然DeFi參與者們使用期權管理風險變得普遍,近日期權平臺TVL也出現了大幅增長,但是智能合約漏洞、頻發的黑客攻擊及晦澀的交互界面卻阻擋了大規模用戶使用。[2020/11/20 21:31:17]

以SELFDESTRUCT會阻礙的兩類狀態存儲格式為例:

任意的“單層”方案

存儲槽可以存儲在一些地址“附近”,而不是存儲在合約里的方案有用,比如在ERC20轉賬或Uniswap交易的場景下)

請注意,這不是在空想,從根本上變更狀態存儲格式的討論已經開始了,如果狀態存儲的數據結構能夠接近單一的的鍵/值存儲結構,并且單個區塊中可以變更的狀態數量有一個較低的上限,那將大大擴展我們的選擇空間。

SELFDESTRUCT?是唯一一個會導致合約代碼變動的操作碼

如果在一個特定的地址上存儲了一段代碼,那么這段代碼就會永遠保留在鏈上。這樣的恒常性質是有用的,因為在構建應用時不需要擔心這些代碼會出現變動。

賬戶抽象化非常依賴該恒常性質用以支持庫調用。因為代碼存在變動的可能,還會導致應用的安全性變得復雜很多:2017年Parity的多簽錢包就曾因為其引用的庫代碼合約被偶然刪除而徹底癱瘓。

而唯一破壞代碼不變性的操作碼就是?SELFDESTRUCT?。

SELFDESTRUCT?是唯一一個可以未經賬戶同意就能修改賬戶余額的操作碼

SELFDESTRUCT?有一個內置的“轉賬”的功能,其并不走正常的轉賬流程,因而可以繞過避免合約地址接收Ether的守護功能,以及對轉賬事件的日志記錄。這為智能合約錢包埋下了隱患,讓一些潛在有用的技巧沒法使用,加重了開發者和審計者的心智負擔。

SELFDESTRUCT?當前的用例

如今?SELFDESTRUCT?有兩類重要的應用:

GasToken:當gas價格低時通過創建合約用掉gas,當gas價格高時通過調用?SELFDESTRUCT?獲得gas退款。

利用SELFDESTRUCT實現代碼的動態變更:這可用于dApp或DAO及其他類似用例的“升級”。

可以被安全地銷毀。GasToken的開發者已經發出了警告“雖然對以太坊網絡的變更會導致GasToken無法使用、不可贖回、不能互換以及/或毫無價值,但是GasToken的開發者極可能會擁護該變更”。移除selfdestruct退款只會導致有些操作的費用變得更貴。

從長遠來看,是沒必要的,還有其他一些被廣泛使用的范式可用于支持動態代碼變更。最容易實現的是?DELEGATECALL?轉發器,合約從一個存儲插槽中獲取一個代碼地址,然后調用對應地址的代碼;修改這個存儲插槽就能更新代碼。不過,從短期來看,有少數應用已經使用了。

提案1:完全移除?SELFDESTRUCT

從某個區塊開始,完全停用?SELFDESTRUCT?。在這個及之后的區塊里,如果EVM在執行時遇到?0xff?操作碼,只要拋出異常直接退出即可,就像EVM執行時遇到不存在的操作碼一樣。

在完全停用前,為了警示用戶避免使用?SELFDESTRUCT?,我們可以漸進式地增加其gas費用:如果?block.number10**6>=FLAG_BLOCK?,則?SELFDESTRUCT?的gas費用增加到?10**10//(FLAG_BLOCK-block.number)?。

提案2:閹割?SELFDESTRUCT

我們也可以保留這個操作碼,但是改變其行為,一方面消除其對狀態樹的破壞,另一方面增加一個新特性,讓合約可以標識為不可自毀,從而確保代碼不可變。

暫時提議新增的行為包括:

當一個合約調用?SELFDESTRUCT?時,并不會刪除合約賬戶,而是清空代碼,并且將nonce值增加?2**40?。沒有退款。

通過調用將合約中的ETH轉移到目標地址。

可以在代碼為空的地址上創建合約。

在合約里調用?SSTORE?和?SLOAD?操作地址?A?時,實際操作的是?A_offset=(AA.nonce//2**40)%2**160?的存儲樹。

注意,從EIP-2929的角度來看,?A_offset?需要“可達”。如果該賬戶不在可達賬戶集合中,則需要額外支付2600gas以加入可達集合。

另一種選擇是調整將storagekey轉換為treekey的哈希函數,用?sha3(storage_keycontract_nonce//2**40)?代替?sha3(storage_key)?。需要注意的是,無論如何都需要做一些類似的調整,以方便合約級別的無狀態key空間擴展。

合約可以在代碼中指定?0xA8?作為第一個字節,EVM會將其識別為無操作,但使用它來開啟一個標志,在執行過程中完全禁用?SELFDESTRUCT?的功能。

這兩種解決方案也可以結合起來:當前立即閹割,將來完全移除。或者,這個操作碼也可以永遠不被完全移除,但是最終只保留一個功能,即向目標地址發送合約當前的全部ETH余額,我們可以將這個操作碼重命名為?CLEAR?。

原文鏈接:

https://hackmd.io/@HWeNw8hNRimMm2m2GH56Cw/selfdestruct

作者:??Vitalik

翻譯&校對:戡亂&?阿劍

Tags:ESTSELSTRUCTritestreamBitgesellASTROAIAUCT價格

SHIB最新價格
USD:X-DAO——賦能傳統金融,實現財富躍升_區塊鏈是什么概念

在2020年的疫情之下,各傳統行業遭受重創,全球各地區經濟發展陷入停滯甚至大幅衰退。傳統金融行業,亦不例外.

1900/1/1 0:00:00
GAT:Gate.io 上線 Render(RNDR) 杠桿交易和幣幣理財服務_HTT

Gate.io一直秉承真實,透明的理念,不造假數據,不干預市場交易,為用戶提供真實自由的市場工具和穩定健康的市場服務。杠桿交易提供做多和做空機制,可以有效穩定市場到合理價值.

1900/1/1 0:00:00
虎符將于3月21日19:00正式上線TARA(Taraxa),10,000 USDT等你來領

尊敬的虎符用戶, 虎符將于2021年03月21日19:00(UTC8)重磅上線TARA/USDT交易對。充值已開啟,提現將于2021年03月22日10:00(UTC8)開啟.

1900/1/1 0:00:00
以太坊:辰逸解幣:3.19比特幣以太坊操作建議及行情解析_瑞波幣漲了3000萬倍

前言: 在幣圈,無論你做的是什么幣種,還是在做數字貨幣的交易,都躲不過交易大盤起起伏伏的風云變幻,看著那些不斷漲漲停停的曲線,讓人眼花繚亂,甚至一些投資者為了盯盤,累人又累心.

1900/1/1 0:00:00
BIT:BitMec部分ETF產品份額合并公告_SDT

尊敬的用戶: 由于當前部分ETF產品的單價均低于0.01USDT,為提高其價格變化的靈敏度,優化交易體驗,BitMec將在2021年3月19日14:00-16:00期間.

1900/1/1 0:00:00
USD:ZD關于對FIL3S等8個ETF產品進行份額合并的公告_VIZSLASWAP

尊敬的用戶: 由于當前部分ETF產品的單價均低于0.01USDT,為提高其價格變化的靈敏度,優化交易體驗,平臺將在2021年3月19日14:00-16:00期間.

1900/1/1 0:00:00
ads