『学概念找员外』比特币区块为什么是1M大小?

了解比特币的人都知道,比特币区块大小只有 1M,但是有没有人想过,为什么当初只设定了 1M,而不是 512K,也不是 2M 或者 8M 呢?

初始

其实一开始中本聪就把区块设计成最大可支持 32M 容量,为的就是防止以后单个区块容量不能满足使用,可见其远见!

那为什么后来只当初的上限只设了 1M 呢?

在 2009 年,比特币在刚被创造出来的时候,并没有大功率的矿机来计算挖矿,只能通过普通电脑的 CPU 进行打包,而且当初计算机的 CPU 算力也极其有限。加上使用的用户非常少,所以当时被打包好的区块平均大小在 1~2K 左右。

安全

  1. 保证全网节点足够多

比特币网络为什么安全且不可篡改呢?

除了有极其多的算力相互制衡之外,那就是比特币的全网节点了,也就是每一个区块。这些区块除了保存每一条交易信息和验证交易之外,还能保障比特币网络的安全。

当时的开发团队就有人认为如果区块设定太大的话,在进行数据打包的过程中,会导致普通计算机 CPU 超负荷计算,加之当时的比特币价格很低,长此以往,不利于更多矿工的加入。

如果区块太大的话,就可能导致普通计算机无法运行全节点,这样的话,全节点就会变得只有少数 CPU 较高的计算机或者专业的矿机才能运行,最后就只会导致算力的中心化,降低矿工的作恶成本,反而会对比特币不利!

加上如果区块过大的话,如果出现 DDoS 攻击,会消耗掉大量的算力,让真正的交易订单无法进行打包处理,造成网络的严重拥堵!

  1. 电脑验证交易的速度

如果用现在普通的电脑来打包记录一个大小为 1M 的区块,那么从开始验证到结束大约需要 30 秒,但是如果是需要验证一个 2M 的区块,可能就需要高达 10 分钟,这个时间是极其漫长的,因为在这段时间内,黑客可以做很多事情!

理论上来说,黑客可以根据这个延时,对比特币网络进行攻击。为了避免这种攻击,所以在当时最佳的选择就是让每个区块都在 1M 大小左右!

    原文作者:刘员外__
    原文地址: https://www.jianshu.com/p/dddb08dfd74b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞