1 点对点同步区块链的流程
流程图如下:
流程讲解:
(1)连接节点
(2)向该节点请求最新区块
(3)请求到区块以后,根据返回的最新区块前置hash是否和我本身的区块hash相等,分为两种情况:
- 第一种情况:最新区块前置hash和我本身的区块hash相等并合法有效,则最新区块是新区块,同时添加到我的链中。然后广播到我这个节点连接的其他节点。
- 第二种情况:不相等,判断是否更长(最长链机制:较长的有效链优先于较短的链)
如果不更长,区块链长度相等,什么也不做,流程如下图:
如果更长,同步更长的链到本地,在收到最长的有效连锁后,它将向其他节点广播最新的区块。
最终,网络上的所有同行将拥有最长的有效链
2 区块链的IMMUTABILITY不可更改性
如果区块链中的某个块发生了变化,则块和后续块变为无效,无效块被网络上的其他节点拒绝,越靠前的区块修改后,其后失效的区块越多。他们需要重新设置才能生效。
之前的区块将更难以破解,因为会有更多的后续无效区块被重新引导,由于网络上的节点是添加新的有效数据块,因此黑客想摧毁网络,这需要大部分处理能力也就是俗称算力。
由于其他节点的区块链中的区块不断更新,所以黑客要想攻击比特币网络,必须花费大量的(处理能力)算力去修改区块链中的区块数据(重新挖矿)。
3 区块链的算力攻击
修改区块链需要的是处理能力【算力】,如果一个参与者拥有超过51%的网络算力,他可以摧毁网络并破解区块链。
当网络中有更多的矿工时,处理能力【算力】变得更加分散,没有人拥有多数网络能源。这导致更安全的区块链,因为没有人会有51%的区块链。
全球比特币网络节点查看