广告

「不授权」到底安全吗:Move背后的设计思想

最近关于用户和 Move 智能合约交互,不需要授权 (Approve) 是更安全还是更不安全的争论很多,这里尝试用通俗的方式来解释一下二者背后的区别以及 Move 这样设计背后的思想。

我们先理解一下用户和智能合约交互的方式。当我们签了一个交易,去调用一个链上的智能合约,就好比从物理世界进入了一个智能合约的数字世界,我们在这个数字世界有一个分身,而这个分身做什么,是智能合约定义的。

在 EVM 中,每个合约都相当于一个独立的小世界,分身进入这个世界后,只能操作用户在当前合约世界中的状态(资产)。

比如进入 swap 世界,想用自己的 usdt 交换其他资产,而 usdt 存在定义 usdt 的那个合约世界,没办法直接在 swap 中以自己的身份从 usdt 合约里提取资产。于是用户只能先去 usdt 的合约世界执行 approve,告诉 usdt 的合约,swap 可以代自己提取自己的资产,然后再进入 swap 世界进行操作。



操作完成之后,再去 usdt 那边取消授权(revoke)。但这里的 approve 和 revoke 操作都需要独立的交易,用户往往为了节省 gas 费用,不进行 revoke,结果如果 swap 合约出安全问题,用户的资产就可能在不知情的情况下被盗取。

而在 Move 中,所有的合约都在一个大的数字世界运行。用户的数字分身可以自由的在合约间移动,执行任何操作,同时用户的状态(资产)存在用户自己的存储空间。

用户从 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. 如果做不到上面两点,可以等别人先趟一下坑。

24小时热点

探索LST、LRT与重押机制的核心原则

在当前的以太坊生态系统中,重押和Layer2技术占据了核心地 ...

268

波场区块链浏览器

以太坊nft日销售额超713万SOlana排名第三

4月25日以太坊在nft市场中处于领先地位,日销售额超过71 ...

3749

波场区块链浏览器

蚂蚁冤不冤?一文全看懂

蚂蚁集团暂缓上市,举座皆惊。 大部分突发消 ...

19843

虹宇宙

比特币完成第四次“减半”对挖矿带来的挑战引人深思

比特币已经于4月20日完成第4次减半,比特币减半事件对于比特 ...

3586

波场区块链浏览器

农民好惨,七天被骗光一条村,曝光44个农业骗局

刷单返利、网恋“杀猪盘”、网络贷款、冒充电商物流客服等几大类 ...

80628

雪崩科技

“存储挖矿”一起了解下

去中心化存储的故事自Filecoin诞生就获得了大量中国用户 ...

186013

白帽汇

虚拟币骗局为什么没人管

近年来,虚拟币骗局正在猖獗,但为什么没人控制呢?这是一个触及 ...

12443

椰子

直播间卖画骗局

你在直播间里见过这样的“书画大师”吗?他们一面顶着“中国书画 ...

243923

Magic Eden

Digg 是什么?

算法稳定,可谓起起落落,跌宕起伏,一波高潮,一波哀嚎。 既见 ...

163445

阿瓦隆矿机

BZZ匠星科技涉嫌诈骗,已圈钱跑路

BZZ匠星科技在国内外都有着较高的知名度,宣称自己是个尊贵的 ...

7059

UTK Miners 云挖矿
广告

热点专题

专门忽悠企业家的中国十大骗子大师

区块链网创立于2015年初,为国内第一批有资质的区块链媒体, ...

2766866

希壤

2023年打假总结:Pi Network项目的传销性质Pi币

曾经,号称“走路就能赚钱”拥有大量用户和广泛影响的国内APP ...

2433929

文昌链

国内460种传销币套路和骗子币名单大曝光

打着区块链旗号,以聚集性传销、网络传销为手段,以每枚3元的价 ...

2111248

Coin Metrics

诈骗披露:成功学周文强

又一个“成功学”大师周文强翻车 你想一夜暴富吗?你想年薪百 ...

1954660

Lazy Lions

原力元宇宙佛萨奇骗局

原力元宇宙佛萨奇骗局是一种不可思议的幻想计划,它由一群英勇可 ...

1911102

聚币网

中国十大骗局之pi network(π币、pi币、派币、兀币)

中国十大骗局之pi network(π币、pi币、派币、兀币 ...

1534199

Gemini 交易所

2024年美元兑人民币汇率预测:会涨到8元吗?市场密切关注

2024年美元兑人民币汇率吸引了许多投资者的关注,涨到8元的 ...

1449634

波场区块链浏览器

柴犬币SHIB来了

因其可爱形象和马斯克代言,近段时间最耀眼的加密货币非狗狗币莫 ...

1277850

Luart

链圈打诈:3000名解放军去缅甸真的假的?

3000名解放军去缅甸这个是假新闻,出兵这是个大问题,如果我 ...

1184026

a16z

非常硬核的LP流动性挖矿的核算

MDX不同挖矿方法的真实收益率 如何挖取高APY?2021年 ...

1162953

RMRK