到底什么是区块链,怎么解释才能让老百姓都能明白?( 五 )


遇到这种情况区块链 , 比特币系统怎么处理呢?
在这种情况下 , 相当于网络上的其他节点收到了两个合法的新区块 , 因为网络节点的地域分布不同 , 所以 , 不同的节点收到这两个新区块的先后次序就会不同区块链 。 此时 , 所有的节点会暂时保留两个新区块 , 并且把区块链做一个临时的分叉 , 如下图所示:

到底什么是区块链,怎么解释才能让老百姓都能明白?



(图片来源:自绘)
接下去区块链 , 比特币网络中必然又会有其中一个节点(矿机)抢到了记账权 , 这时该节点就会将生成的最新区块接到其中的一个分支上 , 那到底是接到新区块 1 上还是 2 上呢?系统规则是:这个节点先收到哪个区块 , 就接到哪个区块上 , 同时放弃另一个区块 , 然后全网广播 , 如下图所示:
到底什么是区块链,怎么解释才能让老百姓都能明白?



(图片来源:自绘)
比特币网络上的所有节点在收到最新的区块链后 , 只要发现其中一个分支比另外一个分支多 2 个区块了 , 就立即也放弃那个短的分支 , 总之 , 比特币网络永远只承认更长的那条分支区块链 。 你可能会想 , 那如果小概率事件再次发生 , 在区块链第一次分叉后 , 又同时产生了两个新区块 , 而恰好两个新区块产生在两个不同的分支上 , 这时候 , 其他节点收到的区块链还是两个一样长的分支 , 那怎么办?很好办 。 还是同样的规则 , 只要分支一样长就暂时保留 , 直到出现两个分支不一样长时 , 就放弃短于 2 个区块的 , 保留长的 。 那个被放弃的分支中所有交易和比特币奖励都会被判定为无效 。
因为有了这个临时分叉的规则 , 所以 , 比特币玩家在完成一笔交易后 , 不能立即认为这笔交易是成功的 , 有可能会被取消 , 必须要等到一定数量的新区块生成后 , 如果交易依然没有被取消 , 这才能放心地认为交易成功了区块链 。 那到底要等到多少个新区块产生才能放心呢?按照概率来说的话 , 小额交易有这么三个新区块产生就够了 , 但是大额交易的话 , 为了更保险 , 一般认为是等到 6 个新区块产生 , 就足以放心了 。 前面说过 , 每个区块产生的平均时间是 10 分钟 , 也就意味着 , 一笔大额交易需要 1 个小时左右才能确认交易成功 。
但是小额交易确认的时间往往会更长 , 甚至长达好几天区块链 。 听到这个你可能会有点儿糊涂 , 刚才不是还说小额交易一般只要三个新区块产生就够了吗?怎么确认时间反而会更长呢?比特币网络刚刚诞生的头几年 , 确实不会出现这样的怪事 , 但是这几年随着交易量的猛增 , 就会出现这种怪事了 。
为什么区块链?先回忆一下每个区块的规则:
到底什么是区块链,怎么解释才能让老百姓都能明白?



区块规则
你的交易记录要被写到区块链上 , 有一个前提:矿工将你的这笔交易记录打包到这个区块上区块链 。 你可能想问:为什么会不打包?难道系统规则还允许不打包吗?打包成功了不是还要给矿工交税吗?矿工好不容易抢到一次记账权 , 怎么会有钱不赚呢?
是的 , 允许不打包区块链 。 原因不是矿工不想赚钱 , 而是“不可抗力” , 关键问题是每一个区块允许存储的数据量有限 。 中本聪当初设计比特币系统时 , 规定了每一个区块最大只能是 1MB , 一条交易记录大概是 0.25K , 那么一个区块最多可以储存 4000 多条交易记录 , 如果在一个新区块产生的时段中 , 发生的交易请求超过了 4000 条 , 那就肯定存不下了 。 我们可以算算 , 这个量大概是一个怎样的交易频率 。 每个区块的平均产生时间是 10 分钟 , 也就意味着 , 平均每秒钟的交易量如果超过 7 条 , 那么就一定会出现排队等待打包的交易记录了 。 这个交易频率实在很低 , 要知道支付宝一秒钟大约要处理上万笔交易 。 这一秒钟七笔交易对于全球来说 , 实在是太不够用了 。

猜你喜欢