- 只需要支付0.5元就可以撤回交易?这下可坑苦DApp了……
- 来源:区块链大本营
责编 | Carol
出品 | 区块链大本营(blockchain_camp)
在生活中,诈骗防不胜防。
骗子们牢牢抓住受害者的心理活动,假冒公检法的身份来突破受害者的心理防线,再罗织一些罪名就能让受害者乖乖交出自己的钱财,等受害者反应过来,骗子们早已逃之夭夭。
作为一种应对策略,各大银行纷纷给出了转账次日到账,期间可撤回的解决方案,给用户反悔的余地。这种操作对于中心化的银行来说并非难事,而在去中心化的区块链上能做到么?
乍一想,在区块链上反悔撤回交易就像是天方夜谭,但结果却是可以的!就像鲁迅先生所说:世上本没有路,走的人多了,也便成了路。
正是许多用户有着在区块链上撤销交易的需求,所以慢慢地出现了一种通用的撤回方案,但是,这种给用户行的方便却给 DApp 和 DApp 开发者带来了无尽的麻烦。
你开发的 DApp 是否向用户展示了不正确的信息?不要急着否认,因为很可能会出现这样的情况,而且是在你完全不知情的前提下。
自今年年初以来,有技术团队对主流的 DApp 进行了多达 30 余次的交易可用性审计,其中每次审计都涉及 50 多个定制化的量化指标和定性评估。然而出乎意料的是:我们还没有碰到哪个 DApp 可以很好地处理交易被取消的场景。交易本是每个 DApp 的重中之重,可为什么会出现这样的现象呢?
在我们深入研究交易被取消带来的影响以及为什么大多数的 DApp 都没有解决这个问题之前,你需要了解什么是被取消了的交易。
什么是被取消了的交易?
在以太坊上,取消一笔交易的操作就是用一笔新的交易覆盖即将被处理的这笔交易。需要注意的一点是,这种取消交易的机制并不是以太坊的正式标准,而是人们约定俗成的惯例。
新的交易与被取消了的交易相比,通常都具有以下几个特征:
拥有一个相同的随机数( nonce ),
由同一个钱包地址发起,
都被发送到一个外部帐户(不能是智能合约)中,
交易的燃料费用( Gas )至少要高出 10% ,
但是交易的金额为 0 ,
这笔新的交易在原始交易被区块链确认之前由用户签名并提交。
这种机制为什么会奏效呢?由于矿工会优先处理燃料费用更高的交易,因此在这笔新的交易被确认之后,矿工们才会处理那笔将要被取消的交易,即使那笔交易更早进入到矿工们存放未处理交易信息的交易池中。换句话说,取消交易的机制有点像是一种概率的游戏。
如何取消一笔交易?
大多数(但并不是全部)以太坊钱包都可以帮你取消交易。就比如说,在基于浏览器插件的以太坊轻钱包 MetaMask 中,你可以这样来取消一笔交易:首先先找到这笔待处理的交易,点进去显示交易的详细信息,然后单击“取消交易”按钮。整个操作如下所示:
图中的 PENDING(处理中) 表示交易正在处理中,点击交易详情,其中的 Cancel (取消)按钮表示取消交易。弹出的对话框说明:取消这笔交易需要支付 0.08 美元(约合 0.5 元人民币)的燃料费用。在这里点击取消交易并不能保证你原始提交的交易 100 % 取消成功。但如果取消成功了你需要支付上述的燃料费用,要不要试试?
虽然说这个取消交易的功能可能看起来有些废柴,但事实证明它是用户在使用那些功能复杂的 DApp 时必不可少的一个工具,因为这些 DApp 中的用户往往习惯于仔细审查自己的交易并主动管理燃料成本。
【取消交易】就这么简单直接?
并不是这样的!
在取消交易时存在一个致命的问题:你的 DApp 。当用户参与到你开发的 DApp 中并进行交易时,用户的取消交易操作只发生在用户和他的数字钱包之间,也就是说,在这个环节中你的 DApp 完全没有参与。
如何识别一笔被取消了的交易?
在知晓了被取消交易的特征之后,你是否能在下图的第四笔和第五笔交易中发现些什么?
被取消了的交易示例
在理想的情况下,第五笔交易会覆盖第四笔交易,也就是说第四笔交易将会被取消。
第四笔和第五笔交易的随机数是相同的,而且第五笔交易:
缴纳了更多的燃料费用。 交易的金额为 0 。 具有与前一笔交易不同的时间戳。 具有与前一笔交易不同的交易哈希值。
前三项是取消交易机制的核心,而第四项对于 DApp 和 DApp 开发者来说都是一个棘手的问题。
被取消了的交易,将如何影响 DApp 的用户体验?
由于原始的交易(被取消了的交易)和之后覆盖它的新交易具有不同的哈希值,而且你开发的 DApp 也没有参与到这笔新交易的创建过程中,所以你的 DApp 并没有什么方法来与这笔新交易产生联系。
通常情况下,你的 DApp 会认为原始的交易正在被处理,并一直向用户显示处理中的状态,这种说法有一些生硬,接下来我们用一个例子来说明这到底是怎么一回事,下面是我们团队最近在审计 DApp 时发现的一个例子:
图中的第一笔交易已经被取消了
但是 DApp 并不知道,还是将它显示为“处理中”
推荐阅读:
猛戳""有惊喜哟
老铁在看了吗?👇
区块
-
-
- 比原项目周报(2019.08.16更新)
- 点击蓝字关注 比原链公众号 技术开发进展 Bytom: 1. 修复禁止节点失败问题,回滚交易入池问题,孤儿块满删除问题; 2. 设计通知消息推送服务功能; Vapor: 1. 侧链节点状态
- 比原链Bytom
-
-
-
- 物联网不是趋势,而是事实
- 史技 历史借鉴,技术前沿,社会与组织变革趋势。 关注 来源 | 互联网周刊(ciweekly) 作者 | 昊博 2239字 | 5分钟阅读 谷歌公司执行董事长埃里克·施密特曾在一次座谈会上大胆预
- i链说
-
-
-
- 只需要支付0.5元就可以撤回交易?这下可坑苦DApp了……
- 来源 | hackernoon 编译 | Guoxi Carol 出品 | 区块链大本营(blockchain_camp) 在生活中,诈骗防不胜防。 骗子们牢牢抓住受害者的心理活动,假冒公检法的
- 区块链大本营
-
-
-
- V神亲诉Serenity设计原理,带你了解这项宏伟工程背后的独具匠心!
- 点击上方“Unitimes” 可以订阅哦! 作者 | Vitalik Buterin 编译 | Jhonny Eth1.0 链的设计原理文档见: https://github.com/ether
- Unitimes
-
-
-
- 比原链全球开发大赛 | PayPaw.org:让大家看到区块链支付的优势
- 点击蓝字关注 比原链公众号 随着第二届比原链全球开发者大赛决赛的临近,各报名参赛的队伍,已经部分开始提交相对完整的作品。此次比原链全球开发者大赛的决赛暨全球开发者大会将于8月在美国旧金山举行
- 比原链Bytom
-
-
-
- 数字货币购买2019上海区块链国际周门票火热开启!最高可立省¥1500!
- 点击上方“蓝色字”可关注我们! 作者:HashKey Hub社区 2019年处暑将在下周五来到,暑期余额已不足两周。火热夏天的最后两周,你已经充分地燃烧过了吗?如果还没有,在夏天离开之前,火热
- 区块链铅笔Blockchain
-
-
-
- BJS,诞生于9102年的百倍币
- 任何行业的第一,出发点都是要解决用户的痛点,在体验性能上做到极致,才有可能成为行业第一,服务客户也等于服务自己。 特别是在互联网时代,任何巨头都随时可能被颠覆替代,没有永恒不变的格局,只是缺少时间
- 菜鸟区块链
-
-
-
- 全球区块链早讯(8.15)
- 每日行情快讯:BTC早间持续下跌 最低触及10001美元 BTC早间零点起持续下跌,在10200美元附近整理一段时间后快速下跌,最低触及10001美元,主流币普跌。BTC在币安现报10046美元,24
- 全球区块链早讯
-
-
-
- 自降估值打8折 却被资本抢着投:to B创业“豪华团队” 10个月吸金9700万
- 苗峰本人曾任阿里巴巴集团B类大客户部总经理、阿里O2O项目负责人、五阿哥CEO 、用友集团副总裁等职位。 记者 | 五米 编辑 | 刺猬 自降估值,“被动融资” 在资本寒冬中,“商越”经历了一场
- 铅笔道
-
-
-
- NB-IoT:未来5G物联网主流技术
- 史技 历史借鉴,技术前沿,社会与组织变革趋势。 关注 来源 | 飞象网(cctimefxw) 作者 | 马秋月 1859字 | 4分钟 日前,我国完成了IMT-2020(5G)候选技术方案的完整
- i链说
-
-
-
- 阿里买下网易考拉,电商又要开战了?
- 回复“资源”领取30G营销策划方案礼包 回复“社群”进入病毒先生的官方好友群 来源| 病毒先生 来源 | 刘晓悦 电商战场战火连天,终日都在上演着厮杀大戏。近年,电商巨头们频频出手收购,一方面用
- 病毒先生
-
-
-
- 央行数字货币呼之欲出,国内媒体怎么看?
- 关注我们 后台接收最新白皮书及研究报告 关注 这是标志性事件,主权数字货币和传统货币的逆行最小。国家意志、意识和力量迎接区块链这一步非常关键,其未来衍生到数字版权、其他物权产权证券化、高分割颗粒化,
- 区委会
-
-
-
- 巨蟹刘嘉陵:彪悍的人生不只需要花不完的钱,还需要理想的努力变现
- ,区块链行业集结了很多有志之士,有人带着钱来实现梦想,有人带着梦想来赚钱,但关于对金钱和梦想的态度,无论在哪个行业,一旦迷失,就如暴走恭亲王在创业时为保公司传播违规产品,从而导致自己入狱一般,是很容易
- 白话区块链
-
-
-
- 换仓!加仓!辣条的车开起来了
- 同志们好,这里是狗哥的第361篇日记。 上面是昨天在星球里发了一段话,大概说明了一下昨天为啥没更,抱歉抱歉。 ………………………………………… 这两天大饼选择了方向,本来稍微有些许起色的主流币
- 狗哥币圈实盘日记
-
-
-
- 8-15|合约用户的争夺也会愈演愈烈
- 主要内容:昨天火币、ok、gate.io 一线交易所就合约交易密集发声,看来对于合约用户的争夺也会愈演愈烈;多家银行与conbase解除合作关系;PlusToken跑路资金近两天出现异动 5,775个
- 币圈情报社
-
朋友会在“发现-看一看”看到你“在看”的内容