作者:@jolestar
來源:《「不授權」到底安全嗎:Move背后的設計思想》
最近關于用戶和 Move 智能合約交互,不需要授權 (Approve) 是更安全還是更不安全的爭論很多,這里嘗試用通俗的方式來解釋一下二者背后的區別以及 Move 這樣設計背后的思想。
我們先理解一下用戶和智能合約交互的方式。當我們簽了一個交易,去調用一個鏈上的智能合約,就好比從物理世界進入了一個智能合約的數字世界,我們在這個數字世界有一個分身,而這個分身做什么,是智能合約定義的。
在 EVM 中,每個合約都相當于一個獨立的小世界,分身進入這個世界后,只能操作用戶在當前合約世界中的狀態(資產)。
Justin Sun地址從BNB Chain提取超1000萬穩定幣轉入CEX:金色財經報道,據鏈上分析師余燼監測,孫宇晨地址在BSC上贖回部分穩定幣流動性,然后將贖回的507萬枚BUSD 、17萬枚TUSD、7萬枚USDT轉入Binance,將500萬枚USDD轉入Huobi。[2023/6/21 21:52:12]
比如進入 swap 世界,想用自己的 usdt 交換其他資產,而 usdt 存在定義 usdt 的那個合約世界,沒辦法直接在 swap 中以自己的身份從 usdt 合約里提取資產。于是用戶只能先去 usdt 的合約世界執行 approve,告訴 usdt 的合約,swap 可以代自己提取自己的資產,然后再進入 swap 世界進行操作。
Magic Eden已完成1685萬美元新一輪融資:金色財經報道,據SEC文件顯示,Solana生態NFT市場Magic Eden首席執行官Tan Lu已于1月24日向SEC備案該項目完成新一輪融資,本輪融資共籌集金額16,859,571美元。
此前報道,去年6月,Magic Eden以16億美元估值完成1.3億美元B輪融資,Electric Capital和Greylock領投,資金用于擴大其一級和二級市場,并探索多鏈機會。[2023/2/2 11:41:57]
操作完成之后,再去 usdt 那邊取消授權(revoke)。但這里的 approve 和 revoke 操作都需要獨立的交易,用戶往往為了節省 gas 費用,不進行 revoke,結果如果 swap 合約出安全問題,用戶的資產就可能在不知情的情況下被盜取。
GameStop NFT與Kiraverse NFT合作推出Web3游戲場所:金色財經報道,GameStop NFT宣布正在與 Kiraverse NFT 合作推出基于 Web3 的游戲場所,讓游戲玩家在玩游戲的同時賺取收益,Kiraverse 玩家將其基于 GameStop NFT 的錢包連接到 Kiraverse NFT 即可購買以及導入GameStop市場上現有的錢包。此外,雙方還將為他們的玩家提供數字所有權,但現階段兩家公司還沒有提供足夠的細節。盡管如此,考慮到其他類似的項目,GameStop NFT與Kiraverse NFT的Web3 游戲場所可能后續會推出一些針對 NFT 愛好者和 Web3 游戲的計劃。(blockchainreporter)[2022/10/3 18:38:11]
而在 Move 中,所有的合約都在一個大的數字世界運行。用戶的數字分身可以自由的在合約間移動,執行任何操作,同時用戶的狀態(資產)存在用戶自己的存儲空間。
安全團隊:某質押挖礦項目遭受攻擊,損失約為11萬美元:7月12日消息,據成都鏈安安全社區成員提供的情報顯示,質押挖礦項目(0xa792B90067bd73b048AF12bC2a6E1978FE34BBdb)遭受黑客攻擊。經成都鏈安技術團隊分析,攻擊者利用合約中updateBalance函數的加法溢出漏洞,修改攻擊賬戶的質押量,最終利用超高的質押量領取出了該合約幾乎全部的資產。最終,攻擊者總計獲利約為11萬美元,目前獲利資金一半已進入Tornado.Cash,另一半被轉至0xbfa16fB56B50ac3A69922447BBfC89A59b8B350A地址。成都鏈安“鏈必追”將會對涉案地址進行持續監控。[2022/7/12 2:07:05]
用戶從 swap 入口進入,從自己的余額提取 usdt,交換,存儲可以在同一個交易里原子化完成。這種模式給合約帶來更自由的組合模式,可以玩出很多 EVM 上很難實現的組合玩法,這也是 EVM 上的賬戶抽象方案想實現的模式。當然,這也帶來了新的安全挑戰。
那 EVM 中能否直接增加一個特性,讓合約間的調用可以把用戶身份直接帶過去?這個技術上是可以實現的,但 EVM 中支持動態調用,可以調用任意地址的合約,讓這種操作的風險變的很難度量,同時 EVM 的狀態變更對用戶和錢包都不友好,錢包很難通過狀態變化對用戶進行提示。
而 Move 中解決這個安全挑戰有兩個方法:
1. 在預執行合約的時候把合約執行后的狀態變更提示給用戶,讓用戶可以知道這個交易操作了自己的哪些重要資產,以及執行后的結果。這個方法 StarMask 中已經實現,參看鏈接以及附圖 https://starcoin.medium.com/starmask-v4-6-
2. 可能有部分合約可以通過設置條件,讓一部分用戶預執行的時候無法發現狀態變更。@0xmetazen 的分析 https://twitter.com/0xmetazen/status/1582581013972414465 ,但 Move 中沒有動態調用,合約在部署時,它的執行邏輯就是確定的。可以通過靜態分析字節碼,得到合約所有可能路徑上操作的狀態,在區塊瀏覽器或錢包里提示給用戶。
EVM 和 Move 的兩種方案,帶來的安全風險是不一樣的。Approve 方案的安全風險是把一個即時的授權變為長期授權,它的風險不是立刻發生的,比如合約漏洞未被發現或者惡意合約放長線釣大魚。而一旦發生,用戶往往很被動,很多用戶可能都忘記授權過哪些合約了。
而 Move 的方案給了合約更大的自由權,遇到惡意合約會有較大風險,但這種風險是即刻發生的,是可以通過技術手段來檢測的。最壞的情況,至少前面沖的快到人趟坑了,可以給后面的人警示,惡意合約會快速暴露出來。
最后,世上沒有銀彈,不可能靠用了某種技術就解決了所有安全問題,需要鏈,工具,用戶一起努力。
對 Move 用戶的安全建議:
1. 選用狀態變更提示更完備的錢包,并嘗試理解錢包的提示。
2. 不要隨意和來源未知或未開源的 DApp 交互。
3. 如果做不到上面兩點,可以等別人先趟一下坑。
Move 在安全方面的挑戰以及改進方案不僅僅是這些,我會在《為什么是 Move》系列的安全篇里詳述,想了解的朋友可以關注一下。
PANews
媒體專欄
閱讀更多
金色早8點
區塊律動BlockBeats
金色財經
1435Crypto
吳說區塊鏈
blockin
比推 Bitpush News
Block unicorn
Foresight News
Odaily星球日報
Bankless
DeFi之道
10月18日,Aptos宣布「上線主網、發行Token」當日, Sui區塊鏈網絡仿佛按下了加速鍵,將官方賬號更名為SuiNetwork并以此作為新品牌亮相。此后,一系列動作出現.
1900/1/1 0:00:00撰文:Sal Qadir、Gabe Parker,分別為 Galaxy 研究合伙人和研究員編譯:派蒙,Foresight NewsNFT 不斷發展,版稅的未來卻依然懸而未決.
1900/1/1 0:00:00DeFi數據 1、DeFi代幣總市值:465.1億美元 DeFi總市值及前十代幣 數據來源:coingecko2、過去24小時去中心化交易所的交易量29.
1900/1/1 0:00:00注意:為避免風險!所有鏈接用沒有資產的測試錢包鏈接!用沒有資產的錢包領鏈接!用沒有資產的錢包領鏈接!Shardeum 是基于EVM的分片技術的Layer1網絡.
1900/1/1 0:00:00撰文:Miles Deutscher如果你想買入某種幣,而且已經做了研究,發現基本面不錯。但問題是,你不知道該在什么時候買入?那么,不如看看我在熊市中購幣的終極指南.
1900/1/1 0:00:00原文標題:《OP Research:Web3.0 打開去中心應用大門》原文作者:OP Research嘗試改變現狀是人類的天性,當這一動力與科技、資本、信息、數據結合時.
1900/1/1 0:00:00