因为有人说我不会回文啦,所以还是回一下好了。虽然这些人都是呛一句就落跑了。
首先,orphaned block本来就不是什么天崩地裂的事情,BTC自己也时常发生。
https://www.blockchain.com/btc/orphaned-blocks
最近一次也不过就今年的2月11日,而且BTC已经是所有区块链货币里面最稳的了。
Ethereum uncle block更是恐怖,每几分钟就有一次。
https://etherscan.io/uncles
因此要跟Bitcoin一样在Ethereum接受零确认交易不可行的主要原因就在这边。
而这也是各个交易所也都会要求不只一个确认的主要原因。
就算是BTC这么稳定的加密货币,通常至少也要三个确认,甚至要六个确认。
不然交易一个确认被reorg后丢弃了怎么办??
但是这次BCH orphan block高度高达2个blocksㄝ,超严重ㄝ~~~
那其实BTC历史上有发生过因为新释出的节点软件有bug,
因而发生深度高达24 block的reorg,这才是真的超严重。
https://bitcoin.org/en/alert/2013-03-11-chain-fork
因为交易所的六个确认都还不够安全了,有可能造成交易所资金损失。
而一般交易所对于BCH都要求三个确认以上,所以高度为2的reorg大家根本无感。
而且这次reorg其实也符合中本聪白皮书发生的行为。
https://bitcoin.org/bitcoin.pdf
The system is secure as long as honest nodes collectively control more CPU
power than any cooperating group of attacker nodes.
Nodes always consider the longest chain to be the correct one and will keep
working on extending it. If two nodes broadcast different versions of the next
block simultaneously, some nodes may receive one or the other first.
In that case, they work on the first one they received, but save the other
branch in case it becomes longer.
The tie will be broken when the next proof-of-work is found and one branch
becomes longer; the nodes that were working on the other branch will then
switch to the longer one. (reorg)
也就是说在攻击行为发生的当下,blockchain reorg反而是一种保护机制。
这些攻击矿工或许可以长出深度个位数的攻击链,但是确认数一拉长,
那这些攻击链终究会被诚实的矿工所丢弃,保护整个网络的安全。
白皮书最后面甚至算机率给你看了。
而这次的事件,无论Bitcoin abc还是Bitcoin Unlimited都没有做出任何的"指令"
根本和"中心化"无任何关系,反而体现了中本聪当初白皮书所实现的去中心化安全机制。
我只能说这种白皮书连看都不看,恶意乱定义的行为真的很Blockstream Core。
那为什么会发生这种攻击,问Blockstream Core的伟大发明,软分叉segwit啊。
软分叉为什么是软分叉??
因为segwit交易的验证机制并没有强迫所有节点遵循为consensus rule
当然是"软"的啊,我矿工想验证就验证,不验证也没差,大家凭"良心"啊
XDDD DDD DDD
把segwit交易的签章搬离主链共识,丢到segwit data,大家想验再来验,
甚至该给的矿工手续费还少给一点,真的很有创意呢~~~
这就造成了对于一些懒得验的矿工,segwit地址的比特币是anyone can spend it。
但是因为BTC的算力巨大,在矿工普遍都有验证segwit签章的状况下。
恶意矿工想要搬走所有segwit coin的攻击链要长出来,是非常困难的。
很不幸的是,BCH的开发者决定出来搅这坨屎,虽然BCH的cash address已经实施很久了。
还是有很多人把BCH丢到了BTC的segwit地址,而且数量高达好几千BCH了。
BCH的dev觉得总该要有一些救援机制,可以让所有者把BCH救回去。
所以就新增了BCH segwit的救援交易,可以让本来的所有者将BCH救援回原本的BCH。
并开放六个月让大家来救援。
https://tinyurl.com/y3omab7k
这就是问题的来源了,我BCH的矿工干嘛要去验这个没在共识机制内的segwit交易。
有些矿工就偷懒不验了,而且攻击的利益高达数千BCH,这次的攻击行为就这样产生了。
首先有个未知的矿工要将本来segwit地址的BCH都占为己有。并且产生了区块。
然后ProHashing这个矿池没有验segwit data,也在继续上面挖矿,长到了高度2。
但是后来占算力多数的BTC.com和BTC.POP不承认这些具有窃取交易的攻击链。
当然就是从前两个未包含窃取交易的链继续挖,因为诚实矿工占有的算力较多。
因此攻击链就被整个网络orphan掉,整个网络被诚实矿工所保护。
这本来就是白皮书里写的安全机制正常发挥,完全是跟所谓的51%"攻击"颠倒过来的事件。