请选择 进入手机版 | 继续访问电脑版
设为首页 收藏本站
开启辅助访问 切换到宽版 快捷导航
菜单

编辑推荐

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

区块链鼻祖比特币之6:详解比特币的密码攻击与分布式双花攻击

0
回复
165
查看
[复制链接]
发表于 2020-2-8 18:07:25 | 显示全部楼层 |阅读模式

比特币的地址理论上有2^160,也就是:

1461501637330902918203684832716283019655932542976

世界上全部的沙粒估计为:

20180427095346735.png


这就让比特币更安全,因为防止了黑客用密码来验证地址的方式破解。我们知道以前很多黑客用这种方式来用密码库破解qq密码。


分布式带来的的双花攻击

       在前面的交易中,我们已经知道了通过数字签名来表示交易人,也验证了是否有钱支付。但是由于时间顺序的原因。系统任然存在严重的漏洞。由于交易是由节点一个一个传下去。那就是先交易的数据可能会。所以你不能保证交易的数据收到的顺序和产生的数据一样。你也不该信任时间戳,因为很容易在其上做文章。所以你无法得知某交易是不是比另一个交易早。


如下图中绿色节点先交易却比蓝色节点后到达某一个节点。

20180427095715744.png

20180427095722872.png


考虑一个恶意的攻击者尹成,其传送付款交易给小郑如下图:

20180427095746969.png


等小郑把货物送出之后,攻击者尹成立即又进行一笔交易,但是这笔交易是送会给自己。

    因为交易传递的时间差,部分网络内的节点会先收到后一个交易。接着才收到前一个交易。这样,前一个节点就因为后一个节点已经使用了支付(正如前面提到的对交易进行验证),而被标记为无效的交易。或者是整个网络出现分歧,无法判断这笔钱是属于谁的。所以小郑很有可能不仅没得到钱,还失去了货物,这真是赔了夫人又折兵啊。所以必须要有办法使得整个网络达成交易的顺序共识。这对于去中心化的系统来说是非常困难的任务。





您需要登录后才可以回帖 登录 | 立即注册

本版积分规则