原文作者:@jolestar
最近关于用户和Move智能合约交互,不需要授权(Approve)是更安全还是更不安全的争论很多,这里尝试用通俗的方式来解释一下二者背后的区别以及Move这样设计背后的思想。??
我们先理解一下用户和智能合约交互的方式。当我们签了一个交易,去调用一个链上的智能合约,就好比从物理世界进入了一个智能合约的数字世界,我们在这个数字世界有一个分身,而这个分身做什么,是智能合约定义的。??
在EVM中,每个合约都相当于一个独立的小世界,分身进入这个世界后,只能操作用户在当前合约世界中的状态。??
日本问答网站OKWAVE将于今日发布区块链投票系统“ BCvote”:日本问答网站OKWAVE官方宣布,将于今日发布由其海外集团公司OK BLOCKCHAIN CENTRE开发的基于区块链的电子投票系统“ BCvote”。建立在以太坊区块链上的BCvote使能够跟踪投票内容并对冲篡改,确定选民是否有权投票,以及防止欺诈和双重投票。(Crypto.watch)[2020/3/2]
比如进入swap世界,想用自己的usdt交换其他资产,而usdt存在定义usdt的那个合约世界,没办法直接在swap中以自己的身份从usdt合约里提取资产。于是用户只能先去usdt的合约世界执行approve,告诉usdt的合约,swap可以代自己提取自己的资产,然后再进入swap世界进行操作。??
动态 | 推特用户添加“ .eth”纪念以太坊身份可能会泄露其交易记录:今日推特上许多加密货币领域重要个人在其名称中添加了“ .eth”,以纪念其在以太坊名称服务(ENS)中的地位。以太坊联合创始人V神最近也这样做了。但是,ENS服务带有一些不可忽视的隐私问题。首先,与地址“ .eth”相关的所有东西都永远存储在区块链上,这意味着有效链接到“ .eth”的任何电子邮件或个人网站都无法删除。此外,因为每个“ .eth”帐户都链接到一个以太坊地址,所以这意味着用户即使只知道某人的“ .eth”帐户也可以看到整个交易记录 。(Beincrypto)[2019/11/20]
操作完成之后,再去usdt那边取消授权。但这里的approve和revoke操作都需要独立的交易,用户往往为了节省gas费用,不进行revoke,结果如果swap合约出安全问题,用户的资产就可能在不知情的情况下被盗取。??
动态 | 以太坊开发公司CasperLabs宣布推出以太坊PoS协议“ Highway”:金色财经报道,以太坊开发公司CasperLabs宣布推出“ Highway”,据称这是第一个实现可被证明是安全可靠的Casper权益证明机制。(cointelegraph)[2019/11/3]
而在Move中,所有的合约都在一个大的数字世界运行。用户的数字分身可以自由的在合约间移动,执行任何操作,同时用户的状态存在用户自己的存储空间。??
用户从swap入口进入,从自己的余额提取usdt,交换,存储可以在同一个交易里原子化完成。这种模式给合约带来更自由的组合模式,可以玩出很多EVM上很难实现的组合玩法,这也是EVM上的账户抽象方案想实现的模式。当然,这也带来了新的安全挑战。??
动态 | 百事可乐新推出的“ PEPCOIN”不是加密货币:据Bitcoinist消息,快消品巨头百事可乐公司最近与PayPal和Venmo一起宣布了一项新的奖励计划,名为Pepcoin。Pepcoin的名字误导了很多人,尤其是在区块链领域。但事实上,该公司似乎只是通过在名称中添加“ coin”一词来带动流行的加密货币现象,以期吸引那些精通技术的年轻人口。[2019/10/18]
那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》系列的安全篇里详述,想了解的朋友可以关注一下。??
据Cointelegraph报道称,Twitter近日添加了一项新的加密功能,使Twitter用户在搜索选项卡中输入“Bitcoin”或“Etherum”等关键词即可查看BTC和ETH的实时价格.
作者:AdaverseAsiaUTXO和帐户模型的比较在UTXO模型中,资产的移动是以由交易输出构成的有向无环图的形式记录的,每个额外的块都会添加新的输出.
作者:@dantwany,TheBlock研究员 编译:PengSUN 1/上周发生在加密行业的事件让我开始自我反思。在过去的四年里,我一直在跟踪和分析这个行业的资本分配.
作者:BlessGlobal导读:《BlessGlobal》限量推出的“WhisperingBarren”系列游戏盲盒,上线后短时售罄并引发市场的关注.
整理:饼干,ChainCatcher常言道,熊市是建设的最佳时机。对于普通用户而言,参与建设的最佳方式就是体验各种项目,为项目的发展提出反馈与建议.
作者:?R3PO 加密不缺故事,而Aptos贡献了一次事故。Move生态的威力不应被轻视,跟随Aptos主网上线的,已经有域名服务AptosNames、钱包Pontem、多签钱包Momentum.