|
⽐特币的弱点
⽐特币可能容易受到某些类型的攻击。
目录
潜在问题[编辑 | 编辑源代码]
电⼦钱包很难免受攻击[编辑 | 编辑源代码]
默认情况下,⽐特币钱包未加密。基于这个原因,它成为诈骗的⼀个简单的牺牲品。但是,最新版本的⽐特币客户端已经包含⽤于钱包数据保护的代码,但⽤户必须⼿动输⼊密码。
新的钱包可以通过旧的密码备份进⾏破解[编辑 | 编辑源代码]
旧密码的旧副本可以通过创建恢复程序(例如Apple Time-Machine)轻松恢复:使⽤密码恢复旧钱包可恢复当前钱包和当前密码。因此,频繁更换密码并不能保证完整的安全性。解决问题的⽅法:cryptocurrency创建者必须更改系统,以便钱包的密码更改会⾃动创建⼀个带有新密码的新钱包,累积的储蓄应⾃动转移到新钱包。如果您尝试恢复旧钱包和密码的副本,则会失败。另⼀⽅⾯,不熟悉创建钱包技术复杂性的⽤户将⽆法恢复其储蓄的数据,并且随着钱包也将丢失⽐特币。
跟踪交易历史[编辑 | 编辑源代码]
追踪交易历史可⽤于识别地址。应该记住的是⽐特币并不是完全匿名的⽀付⼿段。
西⽐尔袭击[编辑 | 编辑源代码]
⿊客可以尝试⽤他所控制的节点填充⽹络,其他⽤户只能连接到专门⽤于欺诈的块。发⽣的过程如下: • 攻击者阻⽌来⾃其他⽤户的交易,这将您从公共⽹络上断开。 • 攻击者只会将您连接到他在单独⽹络中创建的块。由于这笔交易将出现,将重新转移 资⾦(双重⽀出)。 • 攻击者可以通过使⽤特殊程序查看您的所有交易。
51%的攻击[编辑 | 编辑源代码]
在其发展的早期阶段,⽐特币就像任何类似的货币⼀样容易受到所谓的“51%攻击”的影响:只要攻击者具有更强的计算能⼒,那么他就可以直接驳斥其他⼈的块,从⽽获得所有100%的新⽐特币,并根据他们的判断阻⽌任何交易。 (但是他们不能转发他们想要的任何交易,因为他们没有其他⼈的私钥来签署这些交易)。⽬前在⽐特币⽹络中进⾏此类攻击所需的计算能⼒要⽐所有TOP-500超级计算机的能⼒强多倍,因为在矿⼯从GPU转向ASIC之后,系统可以更好地免受这些攻击。
拒绝服务攻击(DoS)[编辑 | 编辑源代码]
向处理事务的节点发送⼤量“垃圾”数据可能会阻碍其⼯作。⽐特币已经内置了防⽌“拒绝服务”等攻击的保护,但是今天这种类型的攻击在每次新尝试时都变得更加困难。例如,Bitcoin Satoshi 0.7.0客户端可阻⽌所有可疑节点和交易,不允许交易重复,监控DoS攻击的出现,捕获系统⼊侵者,纠正错误等。在最新的第⼋版⽐特币智能客户端中,捕获⾮标准交易(超过100千字节)并将信息分配分配给内存,并增加HDD。基于此,可以组织⼀次攻击,从第三⽅服务中提取资⾦。原始交易中的标识符被替换,钱到达收件⼈,但他们告诉技术⽀持服务原始交易尚未到达。结果是该服务可以重新发 送资⾦。该功能不被视为⽐特币协议漏洞,因为它⾃2011年就已为⼈所知,并且可以通过检查原始交易来消除。
减少时间[编辑 | 编辑源代码]
⿊客攻击⽹络并在其内部放慢时间,使⽤户之间进⾏数据传输和消息传递,更新⽹络中的信息,阻⽌⽹络成员形成链条,并且难以确认⽹络成员。
事务漏洞[编辑 | 编辑源代码]
尽管⽐特币交易是使⽤个⼈密钥签署的,但此签名并不涵盖处理该信息以创建交易散列的所有信息。实际上是有机会来改变交易以便散列发⽣变化,但签名保持不变。基于此,可以组织⼀次攻击,从第三⽅服务中提取资⾦。原始交易中的标识符被替换,钱到达收件⼈,但他们告诉技术⽀持服务,原始交易尚未到达。结果,该服务可以重新发送资⾦。该功能不被视为⽐特币协议漏洞,因为它⾃2011年就已为⼈所知,并且可以通过检查原始交易来消除。
区块链中存在⾮法数据[编辑 | 编辑源代码]
在某些国家,某些数据的传输被认为是⾮法的。这些数据可以在⽐特币交易中进⾏,反过来可能会导致法律⽅⾯的问题。在每个节点中,都有禁⽌任意(⾮标准)数据的规则,但有少量故障数据会随时进⼊⽹络。
安全问题和错误[编辑 | 编辑源代码]
错误会导致系统保护不稳定。例如,节点中的信息应该在短时间内更新。如果由于没有发⽣错误,必要的信息不会出现在链中,错误的数据开始通过⽹络传播等等。所有这些都可能导致⽹络中断⼏个⼩时。 ⽐特币客户端的现代版本创建时需要及时考虑错误和纠正错误。
近期可能出现的问题[编辑 | 编辑源代码]
哈希函数破解[编辑 | 编辑源代码]
计算SHA-256和ECDSA标准的散列函数的算法被认为不可能⽤当前的计算能⼒破解。⾼性能量⼦计算机的出现将增加违反这些功能的风险。在这种情况下,⽐特币的当前散列函数可以被更复杂的代替。
⽤户数量增加[编辑 | 编辑源代码]
⽐特币⽹络将应付⽤户的涌⼊。但是,如果每个⽤户开始使⽤特殊软件隐藏他们的IP地址(默认情况下其他⽤户可以使⽤),⽹络将⽆法⼯作。
分割和交易丢失的可能问题[编辑 | 编辑源代码]
分割块的困难可能会出现,以及与交易混淆甚⾄损失⼀些。⽐特币开发⼈员尽可能接近地监控出现这种问题的可能性,并以防⽌⽹络运⾏困难的⽅式升级代码。
⿊客捕获⽹络[编辑 | 编辑源代码]
如果⿊客占据了⽹络计算能⼒的⼀半(所谓的“51%攻击”),他们可能会损害业务:引⼊“脏”交易区块,进⾏双重⽀出,将矿⼯与区块分开,阻⽌交易等等。但是,⿊客永远⽆法: • 取消交易 • 阻⽌事务转发 • 改变块关闭的硬币数量 • 重新开始创建硬币 • 从事发送他们不拥有的硬币
交易垃圾邮件和“空⽩”交易[编辑 | 编辑源代码]
⿊客可以发送虚假交易,从⽽阻碍系统运⾏。还有⼀种可能性是发送“空⽩”以产⽣⽹络故障。
不被视为问题[编辑 | 编辑源代码]
产⽣过多的地址[编辑 | 编辑源代码]
地址数量不会影响⽹络的运⾏能⼒。这只能占⽤特定⽤户HDD或其CPU资源的空间。
⽣成复杂度较低的块[编辑 | 编辑源代码]
攻击者可以假设地创建⼀个减少复杂性的虚拟块链。这些块对于⽹络是有效的,但是它们的链将不能与⽹络中的其他链连接,因为其余节点可以验证这些块是虚构的(参见⼯作量证明)。因此,“欺骗性”块将被⽹络拒绝。