木星链 木星链
Ctrl+D收藏木星链

MOVE:浅析Move语言背后的设计思想:“不授权”到底安不安全?

作者:

时间:1900/1/1 0:00:00

作者:@jolestar

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

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

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

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

彭博ETF分析师:目前已收到11只以太坊期货ETF申请:金色财经报道,彭博ETF分析师James Seyffart发布推文称,目前已收到11只以太坊期货ETF申请,Proshares申请了第4个以太坊期货ETF。这个ETF是等权重的比特币和以太坊ETF,就像Bitwise一小时前提交的申请一样。[2023/8/4 16:18:04]

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

瑞士金融机构PostFinance将为客户提供加密货币服务:金色财经报道,瑞士第五大零售金融机构PostFinance表示,由于与受监管的数字资产服务提供商Sygnum Bank建立合作伙伴关系,将开始为其用户提供使用加密货币的途径。

PostFinance将首先为其250万客户提供购买、存储和销售BTC、ETH等加密货币的渠道,并将在适当的时候添加更多加密货币。(CoinDesk)[2023/4/5 13:45:43]

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

Jump Trading正在出售HFT:金色财经报道,据Lookonchain监测数据显示,Jump Trading正在出售HFT,在11月10日至12月16日期间,Jump Trading积累了1090万枚HFT(312万美元)。昨天,Jump开始将HFT转移到交易所。而Jump Trading现在仍然持有2060万枚HFT(价值约590万美元)。[2022/12/29 22:15:10]

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

Amber Group:法律团队将针对不实指控发布声明,或采取法律行动:12月9日消息,Amber Group官方发布推特称:“对于今日针对Amber的某些不实指控,我们的法律顾问将于近期发表正式声明,并采取可能的法律行动。”

此前报道,消息人士称Amber Group对已暂停提款的加密货币借贷机构Vauld有1.3亿美元欠款。[2022/12/10 21:34:51]

用户从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》系列的安全篇里详述,想了解的朋友可以关注一下。

标签:MOVEMOVSDTUSDMoveCashMoviTokenUSDT币usdc币价格

fil币价格今日行情热门资讯
NFT:金色Web3.0日报 | 新加坡高等法院:NFT可被视为财产

DeFi数据1、DeFi代币总市值:435.8亿美元 DeFi总市值及前十代币数据来源:coingecko2、过去24小时去中心化交易所的交易量22.

1900/1/1 0:00:00
LAYER:Layerzero:常被误认为跨链桥的协议层产品

在刚刚过去的这轮长达两年的牛市中,市场不但见证了多链生态的迅速崛起,更直接目睹了众多跨链桥产品的迅速爆发.

1900/1/1 0:00:00
GAS:一文梳理Devcon大会热议「账户抽象」背后相关知识点

原文标题:《名词解释:Web3账户相关概念大梳理》原文作者:zhixian.eth刚刚结束的Devcon上,账户抽象算是是最热的几个话题之一.

1900/1/1 0:00:00
加密货币:金色早报 | Circle与Axelar合作开展USDC跨链计划

头条▌Circle与Axelar合作开展USDC跨链计划金色财经报道,Circle宣布与Axelar建立合作伙伴关系,专注于使用USDC和跨链应用程序.

1900/1/1 0:00:00
加密货币:金色早报 | 马斯克可能为推特带来更多的加密货币

头条▌彭博社:马斯克可能为推特带来更多的加密货币金色财经报道,彭博社今天提出几个看法,马斯克与加密货币的关系一直很复杂,他可能会将更多的加密货币引入推特,包括使用区块链来减少机器人的存在.

1900/1/1 0:00:00
观点: 我所理解的Layer0、1、2层到底是什么?

作者:Jason这是我第一篇宏观分析类型的文章,之前的文章都是分析某一个具体的项目,这次想试着讲讲更宏大也是我更不擅长的领域,同时也把之前零散发在Twitter上的内容结构化整理成一篇文章.

1900/1/1 0:00:00