最近关于用户和 Move 智能合约交互,不需要授权 (Approve) 是更安全还是更不安全的争论很多,这里尝试用通俗的方式来解释一下二者背后的区别以及 Move 这样设计背后的思想。
我们先理解一下用户和智能合约交互的方式。当我们签了一个交易,去调用一个链上的智能合约,就好比从物理世界进入了一个智能合约的数字世界,我们在这个数字世界有一个分身,而这个分身做什么,是智能合约定义的。
在 EVM 中,每个合约都相当于一个独立的小世界,分身进入这个世界后,只能操作用户在当前合约世界中的状态(资产)。
比如进入 swap 世界,想用自己的 usdt 交换其他资产,而 usdt 存在定义 usdt 的那个合约世界,没办法直接在 swap 中以自己的身份从 usdt 合约里提取资产。于是用户只能先去 usdt 的合约世界执行 approve,告诉 usdt 的合约,swap 可以代自己提取自己的资产,然后再进入 swap 世界进行操作。
英国税务局提议对DeFi借贷、质押征税进行立法修改:金色财经报道,根据周四的公告,英国税务局正在征求公众对DeFi借贷和押注的税收处理的拟议变化的意见。根据现有规则,即使在资产所有权没有改变的情况下,DeFi交易也可以被视为出售,由贷款机构或流动性提供者作为礼物或销售注销。
拟议的修改将确保DeFi交易不会被视为出于税收目的的资产处置。只有当加密资产“在非DeFi交易中进行经济处置”时,才会发生这种情况。该文件称,尽管拟议的框架针对的是DeFi贷款和入股,但它也打算适用于中心化融资(CeFi),即通过中介机构进行加密货币贷款或入股。
英国税务海关总署此前已将现有的税收规则扩展到加密货币,包括对通过当地代理商购买加密货币的外国投资者的税收减免。咨询将持续8周,于6月22日结束。[2023/4/27 14:31:25]
操作完成之后,再去 usdt 那边取消授权(revoke)。但这里的 approve 和 revoke 操作都需要独立的交易,用户往往为了节省 gas 费用,不进行 revoke,结果如果 swap 合约出安全问题,用户的资产就可能在不知情的情况下被盗取。
以太坊Layer2总锁仓量上升至45.1亿美元,7日涨幅2.17%:金色财经报道,12月14日,据L2BEAT数据显示,当前以太坊Layer2总锁仓量回升至45.1亿美元,7日涨幅2.17%。其中,锁仓量前五分别为:ArbitrumOne(23.9亿美元,7日涨幅2.90%);Optimism(12.3亿美元,7日涨幅1.48%);dYdX(4.36亿美元,7日涨幅1.24%);Loopring(0.939亿美元,7日跌幅0.85%);MetisAndromeda(0.9186亿美元,7日跌幅0.19%)。[2022/12/14 21:44:02]
而在 Move 中,所有的合约都在一个大的数字世界运行。用户的数字分身可以自由的在合约间移动,执行任何操作,同时用户的状态(资产)存在用户自己的存储空间。
以太坊Layer2总锁仓量回升至44.9亿美元,7日涨幅4.85%:金色财经报道,12月5日,据L2BEAT数据显示,当前以太坊Layer2总锁仓量回升至44.9亿美元,7日涨幅4.85%。其中,锁仓量前五分别为:ArbitrumOne(23.9亿美元,7日涨幅3.87%);Optimism(12.2亿美元,7日涨幅4.37%);dYdX(4.25亿美元,7日涨幅6.62%);Loopring(0.9552亿美元,7日涨幅11.47%);MetisAndromeda(0.9407亿美元,7日涨幅3.73%)。[2022/12/6 21:24:38]
用户从 swap 入口进入,从自己的余额提取 usdt,交换,存储可以在同一个交易里原子化完成。这种模式给合约带来更自由的组合模式,可以玩出很多 EVM 上很难实现的组合玩法,这也是 EVM 上的账户抽象方案想实现的模式。当然,这也带来了新的安全挑战。
Celsius要求Prime Trust返还1700万美元的加密资产:金色财经报道,Celsius周二起诉加密托管公司Prime Trust,试图夺回后者持有的1700万美元的加密货币。这一起诉源于与Celsius收益产品相关的纠纷。Celsius表示,在2021年6月双方解除协议时,Prime Trust返还给Celsius价值1.19亿美元的加密资产。
但Celsius称,Prime Trust拒绝履行其转让398 BTC、196,268 CEL代币、3,740 ETH和220万USDC的义务,这些加密货币估值为1700万美元。(CoinDesk)[2022/8/24 12:44:10]
那 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》系列的安全篇里详述,想了解的朋友可以关注一下。
区块律动BlockBeats
媒体专栏
阅读更多
金色早8点
金色财经
1435Crypto
吴说区块链
blockin
比推 Bitpush News
Block unicorn
Foresight News
Odaily星球日报
Bankless
DeFi之道
OPCraft是一个像素沙盒游戏,该游戏建立在 OP Stack 上,这是 Optimism L2 的创建者在 2022 年 10 月首次推出的模块化系统,旨在“建立自己的区块链”.
1900/1/1 0:00:00作者:木沐数月前,号称为年内最大事件的以太坊POS合并被当作是以太坊的一次"大考验".
1900/1/1 0:00:00撰文:Babywhale,Foresight NewsTwitter:/img/2022111200724/0.jpg" />sudoswap下一次迭代更新将包括链上版税、ERC-1155支持等.
1900/1/1 0:00:00撰文:追风Lab10 月 19 日,Aptos 向激励测试网用户发放约 2000 万枚 APT 代币,由此也激发了加密市场对于 Layer1 的兴趣.
1900/1/1 0:00:00StarkNet代币发布在即。11月16日StarkNet开发公司StarkWare在推特上表示,StarkNet的ERC-20代币合约已部署至以太坊,但StarkNet基金会仍需要时间来确定代.
1900/1/1 0:00:00▌FTX US可能禁止被定义为证券的代币上市金色财经报道,加密货币交易所FTX美国分公司打算开始分析代币,以确定它们是否有资格作为证券.
1900/1/1 0:00:00