来源:个人博客:https://dreamerjonson.com/
比特币暴力破解
比特币的地址理论上有2^160,也就是:
1461501637330902918203684832716283019655932542976
世界上全部的沙粒估计为:
这就让比特币更安全,因为防止了黑客用密码来验证地址的方式破解。我们知道以前很多黑客用这种方式来用密码库破解qq密码。
在前面的交易中,我们已经知道了通过数字签名来表示交易人,也验证了是否有钱支付。但是由于时间顺序的原因。系统任然存在严重的漏洞。由于交易是由节点一个一个传下去。那就是先交易的数据可能会。所以你不能保证交易的数据收到的顺序和产生的数据一样。你也不该信任时间戳,因为很容易在其上做文章。所以你无法得知某交易是不是比另一个交易早。
如下图中绿色节点先交易却比蓝色节点后到达某一个节点。
考虑一个恶意的攻击者尹成,其传送付款交易给小郑如下图:
等小郑把货物送出之后,攻击者尹成立即又进行一笔交易,但是这笔交易是送会给自己。
因为交易传递的时间差,部分网络内的节点会先收到后一个交易。接着才收到前一个交易。这样,前一个节点就因为后一个节点已经使用了支付(正如前面提到的对交易进行验证),而被标记为无效的交易。或者是整个网络出现分歧,无法判断这笔钱是属于谁的。所以小郑很有可能不仅没得到钱,还失去了货物,这真是赔了夫人又折兵啊。所以必须要有办法使得整个网络达成交易的顺序共识。这对于去中心化的系统来说是非常困难的任务。
网址:个人博客:https://dreamerjonson.com/