3.攻击比特币/软分叉/硬分叉

篡改交易(由hash保证不可能的)

拒绝服务攻击(我拒绝,别人不一定拒绝啊)

双花交易攻击(一笔钱,花两次)

如果2笔交易,同一个矿工收到。 第一次验证OK,收入交易池;第二次验证:没余额,不要。

如果2笔交易,被两个矿工收到,矿工1把他上链了,成为正式的交易。矿工2看到链上,会排除交易。

否则POW半天,辛苦找出Nonce,结果交易池里面有问题,别人验证后,不承认我的区块,就白费了。

分叉

如果两个矿工AB,同时发现Nonce,一堆人接着A开始挖矿,另一堆人接着B开始挖矿。

随着时间推移,大家都知道两个区块可以的,这时候继续挖,直到最长链出现。

如果我付了10个BTC拿车,车行的人看了 交易记录进了最新的区块A,放车。

如果我想篡改交易,需要找矿工朋友,在father(A)接着挖,开发出B区块(与A并列),并且超过A。

实际上,这样达不到。

分叉攻击(51%攻击)

如果我拥有51%以上算力,我想让主链上最新5个蓝色区块作废,

我可以不沿着最后一个块,而是沿着区块[-6]开始挖,因为我算力占优,所以我出块速度快,一直超越主链,则我变成主链。

其他好的矿工,也会沿着我的链条继续挖,以为我最长。

这种情况,我付了10个BTC买车,即使进入了主链,车行也不放心,因为会被别的链条超越。

中本聪

实干派,写代码后再给出理论。

学量化,先别研究深入理论,搞了再说!

软分叉/硬分叉

软分叉

BTC程序更新,大部分节点更新了,小部分节点保留原来的版本。

如果新区看是新版本结点产生的,大家都接收,老版本结点沿着这个继续往下挖。

如果新区块是老版本结点产生的,新版本的不接收!老版本挖出来的作废。

老版本发现挖出来的都是废区块,就更新了。

硬分叉

新老版本 互相不接受!

主链分成两条,old + 新版本结点继续挖的 ; old + 旧版本结点继续挖的 ;

BTC核心团队分歧,产生了BCH。

发布了126 篇原创文章 · 获赞 2 · 访问量 6324

猜你喜欢

转载自blog.csdn.net/bijingrui/article/details/105378090