最近关于用户和Move智能合约交互,不需要授权(Approve)是更安全还是更不安全的争论很多,这里尝试用通俗的方式来解释一下二者背后的区别以及Move这样设计背后的思想。
我们先理解一下用户和智能合约交互的方式。当我们签了一个交易,去调用一个链上的智能合约,就好比从物理世界进入了一个智能合约的数字世界,我们在这个数字世界有一个分身,而这个分身做什么,是智能合约定义的。
在EVM中,每个合约都相当于一个独立的小世界,分身进入这个世界后,只能操作用户在当前合约世界中的状态。
比如进入swap世界,想用自己的usdt交换其他资产,而usdt存在定义usdt的那个合约世界,没办法直接在swap中以自己的身份从usdt合约里提取资产。于是用户只能先去usdt的合约世界执行approve,告诉usdt的合约,swap可以代自己提取自己的资产,然后再进入swap世界进行操作。
分析师:目前的势头或将比特币推至历史新高:加密货币分析师Tone Vays表示,比特币势将飙升至历史新高。在YouTube的一个新视频中,Vays确定了一个关键的价格区域,这可能会决定BTC在未来一周的价格走势:“(BTC)周末保持1.5万美元是我判断是否看好下周,或是否相信回调已经开始的中间立场。”随着看涨者和看跌者在1.5万美元左右拉锯,Vays认为,目前的势头可能会将比特币推升至历史新高。但在短期内,Vays认为BTC的调整时机已经成熟。(The Daily Hodl)[2020/11/7 11:56:06]
操作完成之后,再去usdt那边取消授权。但这里的approve和revoke操作都需要独立的交易,用户往往为了节省gas费用,不进行revoke,结果如果swap合约出安全问题,用户的资产就可能在不知情的情况下被盗取。
分析 | 加密货币项目在推出主网后的回报率基本上为负:加密货币项目往往把启动主网作为一个重要的里程碑。但在交易方面,主网上线前的几天或几周通常会推高价格,随后则会迎来价格暴跌。一份博客分析显示:“加密货币项目在推出主网后的回报率基本上为负。在跟踪的14个项目中,有10个项目的7天回报率为负,平均回报率为-7.5%,与BTC基准相比则为-8.9%。” 这一发现或支持了一种理论,即由发布事件引起的炒作很快就会消散。再加上山寨币的高风险和波动性,这可能会加剧损失。在主网推出时,山寨币的流动性也会下降。(cryptovest)[2019/8/13]
而在Move中,所有的合约都在一个大的数字世界运行。用户的数字分身可以自由的在合约间移动,执行任何操作,同时用户的状态存在用户自己的存储空间。
分析 | BTC新增流量再创近一月新低,短期或将延续探底:据TokenInsight数据显示,反映区块链行业整体表现的TI指数北京时间06月12日8时报696.27点,较昨日同期下跌5.12点,跌幅为0.73%。此外,在TokenInsight密切关注的28个细分行业中,24小时内涨幅最高的为娱乐与游戏平台行业,涨幅为7.11%;24小时内跌幅最高的为其它技术或协议行业,跌幅为3.83%。
据监测显示,BTC 24h交易量为$168亿,活跃地址数较前日上升0.77%,转账数下降1.98%。BCtrend分析师Jeffrey认为,BTC新增流量再创近一月新低,短期或将延续探底。
另据Bituniverse量化分析,今日行情震荡,可开启EOS/USDT网格交易,区间5.1526-7.6632 USDT,高抛低吸赚取收益。[2019/6/12]
用户从swap入口进入,从自己的余额提取usdt,交换,存储可以在同一个交易里原子化完成。这种模式给合约带来更自由的组合模式,可以玩出很多EVM上很难实现的组合玩法,这也是EVM上的账户抽象方案想实现的模式。当然,这也带来了新的安全挑战。
分析 | 金色盘面:BCH/USD过去2小时反弹超过2%:金色盘面综合分析: BCH/USD在过去24小时持续反弹,形态走出底部区域,有进一步上升的空间。日前Roger ver表示他个人看好BCH未来走势。但他也建议投资者不要把鸡蛋放在一个篮子里,要注意风险。[2018/8/28]
那EVM中能否直接增加一个特性,让合约间的调用可以把用户身份直接带过去?这个技术上是可以实现的,但EVM中支持动态调用,可以调用任意地址的合约,让这种操作的风险变的很难度量,同时EVM的状态变更对用户和钱包都不友好,钱包很难通过状态变化对用户进行提示。
而Move中解决这个安全挑战有两个方法:
1.在预执行合约的时候把合约执行后的状态变更提示给用户,让用户可以知道这个交易操作了自己的哪些重要资产,以及执行后的结果。这个方法StarMask中已经实现,参看链接以及附图https://starcoin.medium.com/starmask-v4-6-0-display-the-token-changes-that-caused-by-a-transaction-from-any-dapps-9d4930825d2b…
2.可能有部分合约可以通过设置条件,让一部分用户预执行的时候无法发现状态变更。@0xmetazen的分析https://twitter.com/0xmetazen/status/1582581013972414465…但Move中没有动态调用,合约在部署时,它的执行逻辑就是确定的。可以通过静态分析字节码,得到合约所有可能路径上操作的状态,在区块浏览器或钱包里提示给用户。
1当区块号为偶数则偷,否则不偷,那就有一半的概率绕过钱包检测;2从钱包检测完交易,到交易执行上链,有一个时间窗口,黑客可以在这个时间窗口内插入执行的更快的交易来临时改变合约状态,让合约变的可以盗取用户资产,钱包当初的检测是没问题的EVM和Move的两种方案,带来的安全风险是不一样的。Approve方案的安全风险是把一个即时的授权变为长期授权,它的风险不是立刻发生的,比如合约漏洞未被发现或者恶意合约放长线钓大鱼。而一旦发生,用户往往很被动,很多用户可能都忘记授权过哪些合约了。
而Move的方案给了合约更大的自由权,遇到恶意合约会有较大风险,但这种风险是即刻发生的,是可以通过技术手段来检测的。最坏的情况,至少前面冲的快到人趟坑了,可以给后面的人警示,恶意合约会快速暴露出来
最后,世上没有银弹,不可能靠用了某种技术就解决了所有安全问题,需要链,工具,用户一起努力。对Move用户的安全建议:
1.选用状态变更提示更完备的钱包,并尝试理解钱包的提示。
2.不要随意和来源未知或未开源的DApp交互。
3.如果做不到上面两点,可以等别人先趟一下坑
责任编辑:MK
10月31日,香港政府发表有关虚拟资产在港发展的政策宣言,引发Web3.0人士广泛讨论。港府新政是否为重大利好?当晚22:00,由香港立法会议员吴杰庄、NanoLabs创始人Jack孔共同发起《.
MarsBitCryptoDaily2022年10月19日 一、今日要闻 公链Sui品牌将升级为Suinami据官方消息,公链Sui宣布品牌将升级为Suinami.
区块链开始扩展时会发生什么?你会遇到数据可用性的问题。我们来分析一下它是什么,以及@CelestiaOrg是如何在可扩展数据层架构上进行创新的.
这是一个正在进行中的文件,我试图记下我所遵循的一些原则。并不是所有的原则都有对错之分,大多数只是我做或者看待事物的方式.
尽管熊市中很多事情看起来非常平静,但DeFi生态系统中发生了很多事情。蓝筹DeFi市场的现状可能会让你大吃一惊.
MarsBit编辑时刻 《Aptos主网上线,这里有你关心的所有重要内容》北京时间10月18日,备受市场期待的Aptos正式上线主网Autumn.