加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads
首頁 > NEAR > Info

觀點:務實地取消 SELFDESTRUCT_SELF:LFD

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又要從零開始,就會被重放攻擊)。

觀點:BAYC NFT的地板價跌至近兩年新低,引發了對藏品價值的質疑:金色財經報道,專家表示,本周Bored Ape Yacht Club NFT的地板價跌至近兩年來的最低價格,引發了藏家對該藏品價值的質疑。但地板價只是用于評估NFT的一個指標,評估NFT的價值還有其他重要因素。與此同時,隨著創作者、平臺和收藏家繼續就此事發生爭執,本月NFT版稅支出有所下降。[2023/7/8 22:25:22]

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

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

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

觀點:數字資產革命正在進行,將是互聯網革命的最大組成部分:Real Vision創始人兼首席執行官Raoul Pal發推稱,“是的,是有比特幣革命,但數字資產革命正在進行,這是不可思議的。現在還為時過早,就像2013年的BTC,但它正在發生。一些會發生在BTC區塊鏈上,但絕大多數不會。這是我見過的最激動人心的機會。Metaverse、價值互聯網、SoV、原始抵押品和全新的未來都是巨大的。這是互聯網革命的下一個也是最大的一個部分,它才剛剛開始。它會經歷繁榮和蕭條。很多項目會失敗,有些項目則會價值幾千億。但是一切都變了。保持開放的心態。”[2021/2/21 17:36:17]

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

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

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

觀點:NFT游戲行業面臨的障礙在于并非所有游戲玩家都是加密交易者:區塊鏈娛樂工作室 Virtually Human Studio(VHS)增長主管Mac Ocampo表示,NFT和游戲平臺相得益彰,因為“有很多優秀的NFT產品,比如 Sorare和Dapper Labs的NBA Top Shot,將更多的主流用戶引入NFT的世界。”

Ocampo總結了NFT行業應該采用的概念,即“加密娛樂(cryptotainment)”,加密交易者和游戲玩家都可以在玩(比如賽馬游戲)的同時獲得加密貨幣。這就是他認為該行業面臨挑戰的原因:“在現實世界中,擁有和維護一匹賽馬的成本很高,這在渴求利潤的消費者和擁有賽馬的特權之間造成了明顯的差距。”

Ocampo表示,“不是所有的游戲玩家都是加密交易者,也不是所有的加密交易者都是游戲玩家”,這是NFT游戲行業應該克服的主要障礙之一。他講述了一個高中同學的故事,其收藏的邁克爾·喬丹卡片(幾年前購買,價值1.2萬美元)被白蟻侵蝕。Ocampo稱,這就是NFT的價值所在。如果邁克爾·喬丹的珍貴紀念品被轉換成NFT,那么它很有可能保留其價值。此外,新冠肺炎在某種程度上促進NFT的采用。(Cointelegraph)[2020/9/7]

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

觀點:YFII等去中心化產品的優勢在于沒有準入許可和隱私危機:Primitive Ventures創始合伙人萬卉(Dovey Wan)在微博表示,二姨夫是一個狹義定義上的基于智能合約的去中心化被動投資平臺,二姨夫這類產品的優勢在于:

1. 透明和無第三方資金托管,可以在鏈上清晰看到每一步的錢都是怎么用的,隨時贖回。08年的金融危機和前兩年各種P2P暴雷,就是因為中心化金融產品是一個黑盒。

2. 沒有準入許可,沒有隱私危機。中心化金融的準入許可和手續繁多,并且有極高的隱私維護成本。并且中心化金融就是利用手里的用戶隱私數據做了很多定價上的操作,我們常說的價格歧視,這個價格歧視可能是因為信用差距,也可能是因為其他的差異。去中心化相當于讓每筆錢都在同一個平臺上,每個地址都是平等的 ,每筆錢和每筆錢享受一樣的服務。

3. 現在無法自動化的瓶頸是無法做鏈上的合約審計,保證合約安全是可以去做合約交互的第一步。Formal Verification等常用的合約審計手段暫時還無法上鏈,而且邏輯漏洞很多時候也只能靠人腦,等AI編程成熟,外加基礎鏈的性能大幅度提高,預言機升級多N個版本。可能鏈上合約審計才有可能實現..[2020/8/26]

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

觀點:香港并未出現加密貨幣形式的資本外逃:加密自動柜員機提供商Genesis Block Hong Kong的聯合創始人Clement Ip表示近期他的加密柜員機交易量翻倍,但并未出現以港幣計價的數字貨幣的大量交易,交易量是遠遠低于2017年12月、2018年1月和2019年年中。在香港加密貨幣交易量只占據總資產交易量很小的一部分,這或與香港銀行歷來反加密的立場有關,之前香港銀行凍結了涉嫌加密交易的賬戶。

盡管加密交易所在香港受到反洗錢法困擾,但對加密資產托管服務的監管較松。一名托管機構人員表示,目前機構與家族辦公室對加密資產興趣增加,但加密資產僅僅用來多樣化投資組合以及對沖一定的證券市場風險,還沒有能力將香港的資產向外部轉移。(Decrypt)[2020/7/15]

任意的“單層”方案

存儲槽可以存儲在一些地址“附近”,而不是存儲在合約里的方案有用,比如在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:SELFLFDSELSTRSelfSell CoinSelfdrop Tokenselfkey幣前景視頻講解STRC價格

NEAR
BBKX平臺關于關閉FIL充值和提現業務的公告_BBK:mefi幣交易所

親愛的BBKX用戶 您好,由于受雙花事件的影響,為了您的資產安全,BBKX平臺已關閉FIL的充值和提現,待該事件平息區塊鏈網絡安全恢復后,平臺將會開啟FIL的充值和提現業務,屆時將另行公告通知.

1900/1/1 0:00:00
【獎勵發放】-ZLW凈買入大賽活動結束及獎勵發放的公告_FIN:FINE

親愛的用戶: DigiFinex于2021年3月11日11:00-2021年3月20日11:00(GMT8)舉辦的“ZLW凈買入大賽”活動現已圓滿結束,獎勵已發放至獲獎用戶賬戶.

1900/1/1 0:00:00
Gate.io 理財寶今日高收益精選,USDG、BTC鯊魚鰭等鎖倉理財今日開搶_GATE:gate.io官網APP下載

Gate.io“理財寶”上線至今推出許多款熱門幣種高年化率鎖倉/活期理財產品,始終緊跟市場步伐推出當下熱門的理財產品,深受用戶的喜愛與支持.

1900/1/1 0:00:00
Gate.io投票上幣空投福利第九十九期—Playcent (PCNT),$20,000美元PCNT空投福利開啟_GAT:Gate.io

3月21日12:00—3月28日12:00我們將開啟PCNT(PCNT)Playcent超級空投福利,$20,000美元PCNT等你來拿!新用戶請點擊注冊Gate.io并參與活動.

1900/1/1 0:00:00
下跌是否開啟要看53000 院長說幣行情分析(3/21)_比特幣:BTC

?今天偷個懶,簡更一下。隨著昨天沖擊60000關口再次失敗,最近10天日線級別已經有3次失敗的沖擊60000關口的行動,可見60000關口的壓力不是一般的大.

1900/1/1 0:00:00
DeFi投資難,門檻高?不如試試智能投資顧問Daoventures_EFI:Futurepia

整理|秦曉峰 編輯|郝方舟 出品|Odaily星球日報過去一年中,去中心化金融的火熱,有目共睹。無論是鎖倉價值還是DeFi代幣價值,飆升數十倍,達到百億美元級別.

1900/1/1 0:00:00
ads