宇宙链 宇宙链
Ctrl+D收藏宇宙链

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

作者:

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

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

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

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

Spark Protocol的DAI借款在24小时内激增248%:金色财经报道,Maker发布推文称,Spark Protocol的增长非常出色。短短24小时内,用户借入超过4900万枚DAI,这意味着DAI借款激增了 248%。Spark Protocol的D3M已突破之前2000万枚的限制,增加了约7800万枚 DAI,达到约9800万枚 DAI。新的债务上限设定为2亿 DAI,所有这些债务都可以以3.19%的预期利率从Spark借入。[2023/8/8 21:31:03]

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

NFT项目The Plague of Frogs将于3月24日迁移新合约并强制执行版税:金色财经报道,NFT项目The Plague of Frogs在官推宣布将于3月24日迁移新合约并强制执行版税,新的NFT将会被空投到持有旧The Plague of Frogs NFT的钱包中,且同样可以取消质押、转移和重新质押以获得相同的奖励,据悉强制执行的版税比例将不会高于10%。[2023/3/23 13:21:01]

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

Celsius债权人面临美国破产披露程序的影响:金色财经报道,Celsius本周提交了大量包含用户姓名和某些交易信息的文件,引发了一些债权人的担忧,尽管披露这些信息是第 11 章破产程序的预期部分,有些人担心他们可能容易受到网络威胁。Celsius和债权人委员会最近几周都试图掩盖这一信息,在法官面前多次提出论据。法官最终将允许修改客户地址,但不允许修改他们的姓名。[2022/10/9 12:49:58]

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

CoinFLEX的债权人在重组后拥有公司65%的股份:金色财经报道,加密期货交易所 CoinFlex 表示,它已与利益相关者就其重组过程达成协议,并将转向正式投票。在重组中,债权人将拥有CoinFLEX 65% 的股份。与此同时,包括 CoinFLEX 创始人在内的现有普通 A 系列股东将失去其股权。B 系列投资者将继续保持股东身份,如果他们为业务带来价值,他们可以随着时间的推移获得未来股权的激励。CoinFLEX 的团队将通过员工股票期权计划分配公司 15% 的股份,该计划将随着时间的推移而归属。该计划的投票定于世界标准时间 9 月 27 日凌晨 4 点结束。迄今为止,CoinFLEX 的计划已获得约 9600 万个 CoinFlEX 投票代币,865,000 个反对。(coindesk)[2022/9/27 22:32:06]

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

标签:

欧易okex官网热门资讯
a16z创始人万字长文:为什么AI会拯救世界

人工智能时代已经来临,人们对此感到恐慌不已。幸运的是,我在这里带来好消息:人工智能不会摧毁世界,事实上可能会拯救世界.

1900/1/1 0:00:00
今日加密货币价格:BTC上涨 3.45%,SHIB 上涨 2.08%

今天的加密货币价格:市场以绿色交易,因为在过去24小时内大量加密货币上涨。自进入新的一年以来,市场一直很乐观。截至撰写本文时,比特币在过去24小时内上涨了3.45%。柴犬增加2.08%.

1900/1/1 0:00:00
比特币跌至 2.75 万美元,而 BTC 地址飙升至新的 ATH

尽管持有者数量不断增加,但市值最大的加密货币比特币(BTC)连续第三天下跌。比特币的价格下跌始于5月6日,当时该资产的交易价格约为29,700美元.

1900/1/1 0:00:00
今晚CPI或将打破比特币震荡走势,SOL砥砺前行

比特币最近的走势让市场实在过于发痒,跌不下去,给市场一种信心要进行突破的错觉。在这个过程当中,越是着急越应该做理性的选择.

1900/1/1 0:00:00
元宇宙购物的兴起

近半数消费者接受元宇宙购物根据UserTesting最近的一项调查,42%的消费者打算在今年的节日季中进行元宇宙购物,其中88%的消费者计划购买属于自己的虚拟形象.

1900/1/1 0:00:00
卡尔达诺准备完全去中心化,进入伏尔泰时代

卡尔达诺正在为完全去中心化做准备,因为它准备在今年晚些时候进入伏尔泰时代。在伏尔泰时代,用户可以利用他们的股份和投票权通过引入投票和财务系统来塑造网络的未来发展.

1900/1/1 0:00:00