主页 > imtoken钱包正版 > 3.攻击比特币/软分叉/硬分叉
3.攻击比特币/软分叉/硬分叉
伪造交易(通过哈希保证不可能)拒绝服务攻击(我拒绝,其他人可以不拒绝)双花交易攻击(一钱,两次)
如果 2 笔交易,由同一个矿工收到。第一次验证OK硬分叉之前的币怎么办,收集交易池;第二次验证:没有余额,没有。
如果两个矿工收到 2 笔交易,矿工 1 会将他上链,成为正式交易。矿工 2 看到链并排除交易。
否则,POW 花了很长时间才找到 Nonce,但交易池出现了问题。别人验证了之后,如果他们不认识我的块,那就浪费了。
分叉
如果两个矿工AB同时发现Nonce,一组在A之后开始挖矿,另一组开始挖矿。然后B人开始挖矿。
随着时间的推移,大家都知道两个街区是可以的。这时候继续挖,直到出现最长的链。
如果我花了 10 BTC 买车,汽车经销商看到交易记录在最新的区块 A 中并释放了汽车。
如果我想篡改交易,我需要找到一个矿工朋友,然后挖到father(A),开发block B(与A平行),并超越A。
其实这是不可能的。
分叉攻击(51% 攻击)
如果我有超过51%的算力,我想让主链上最新的5个蓝块无效,
我可以沿着区块[-6]而不是最后一个区块开始挖矿,因为我的计算能力占优势,所以我可以更快地出块,一直超过主链,然后我成为主链。
其他优秀的矿工会继续沿着我的链挖矿,认为我是最长的。
在这种情况下,我花了 10 比特币买了一辆车。就算我进了主链,车商也不放心,因为会被其他链赶超。
中本聪
练习,编写代码,然后给出理论。
化学量化,先不要深入理论,再谈!
软分叉/硬分叉软分叉
BTC程序更新,大部分节点更新,少数节点保持原版。
如果新区域是新版本节点生成的,大家都会接受,老版本节点会沿着这个继续往下挖。
如果新区块是由旧版本节点生成的,新版本将不被接受!挖出的旧版本无效。
老版本发现挖出来的块都是废块硬分叉之前的币怎么办,所以更新了。
硬分叉
新旧版本互不接受!
主链分为两部分,老+新版本节点继续挖矿;老+老版本节点继续挖矿;
BTC核心团队分歧,产生BCH。