区块链是一道打开新世界的大门,它仿佛让我们看到了一个透明、公平的世界,但是殊不知这道门也面临着各种攻击,有些什么样的攻击呢?今天大白就来和大家聊聊区块链中的攻击。 1. 交易延展性攻击 交易延展性攻击,也叫交易可塑性攻击。在现实生活中,我们把一块金子敲变形之后,虽然形状有所改变,但质量却没有发生变化,也就是说金子外观发生了变化但是仍然被认可,这种特性呢被称为“可锻性”。 在比特币系统中,也有一个类似的名词,“ Transaction Malleability ”。这个词通常翻译为“交易延展性”,也叫做“交易可锻性”,而利用交易延展性而造成的攻击就叫交易延展性攻击。 具体指的是比特币交易 A 发出之后,在还没有被确认之前,攻击者通过修改某些交易数据,使得一笔交易的唯一标识——交易哈希发生了改变,就形成了新的交易 B ,假如交易 B 先被记录到比特币账本中,那么交易 A 会因为双重支付问题,被验证为不合法,从而拒绝。 一个现实的例子就是:小黑从交易所发起提币,然后他提币这个交易就被广播出去了,在他这笔交易还没有被节点验证之前,小黑进行了延展性攻击,恰好攻击产生的新交易先被确认,而新交易照样会让他获得币(就像金子外观变了一样被认可),但是贪心的小黑却向交易所申诉自己并没有收到币,交易所一看之前给小黑转币的那笔交易确实被拒绝了,因此又给小黑汇了一笔币,小黑心里就美滋滋了,贪心的小黑还不满足,他又以同样的攻击方式继续多次攻击,这样就导致了交易所的资金大量流失。 所以当遇到交易无法确认时,需要立即停止,应当根据区块链上的交易报错信息以及查看是否在短时间内已经发起了这样的交易,再进行手动处理。 2. 粉尘攻击 “粉尘”的意思是少量的币(比如 1 聪就是“粉尘”,它只有 0.00000001 比特币)。通常情况下,很少人的交易金额会那么少,因为交易手续费就已经超过交易金额。 正是由于“粉尘”很小所以容易被用户忽视,这一现象被小黑(诈骗者)注意到了,因此小黑就像向用户的钱包地址转入“粉尘”,而收到这些“粉尘”的用户大白并没有引起注意,这些粉尘是大白收到的,但是还没有花费出去的,所以这些“粉尘”就和大白原来钱包地址里那些收到但还没有花费的币( UTXO )混在了一起。
不过现在的问题不大,只是混在了一起而已,真正的问题是大白使用这笔未花费的费用,当傻乎乎的大白把这笔钱用来向别的地址转账或其他交易的时候,就可能会用到这些“粉尘”,这个时候“粉尘”就悄悄地随着大白的交易跑到了别的用户地址里,一直跟踪。 —- 编译者/作者:不详 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
只有了解攻击,才能更有效地防御攻击
2019-08-12 不详 来源:网络
- 上一篇:谷歌隐私交集和技术解析2—技术概览
- 下一篇:去中心化的治理
LOADING...