比特币由什么计算生成
比特币依靠SHA‑256双重哈希运算、工作量证明PoW机制计算生成,整个发行过程就是大众常说的挖矿,由全网矿工使用算力设备不断试算密码学难题,成功打包新区块之后获得比特币代币奖励。很多新手会误以为挖矿是求解一道高深的数学方程式,事实上这项计算没有逆向推导捷径,矿工只能依靠海量重复运算,不断更换随机数去碰撞出符合网络规则的哈希结果,算力越高,单位时间内尝试的次数越多,抢到区块奖励的概率也就越大。新比特币不会凭空生成,每一枚新发代币都对应着一次新区块打包成功,货币发行节奏完全写在比特币底层代码当中,不受任何机构人为调控。

矿工实际运算的对象并不是区块内部海量的交易明细,而是仅有80字节大小的区块头,区块头由上一区块哈希值、默克尔根、时间戳、难度目标以及Nonce随机数五个核心字段组成。其中默克尔根就是当前区块所有交易经过哈希汇总生成的指纹,只要区块内任意一笔交易被篡改,默克尔根就会完全改变。在这五项数据里面,只有Nonce随机数可以自由修改,矿工每秒数万次甚至上亿次的运算,本质就是不停递增这个随机数字,每改动一次,就把完整区块头送入SHA‑256函数进行两次哈希计算,产出一个256位的哈希数值,随后和全网公布的难度目标进行比对。

判定计算结果是否合格的标准,就是生成出来的哈希值必须小于当前网络的目标数值,直观表现为哈希字符串开头需要出现一定数量连续的零,前缀零的位数越多,挖矿难度也就越高。为了稳定维持大约十分钟产出一个区块的速度,比特币网络每挖出2016个区块就会自动调整一次难度,周期大概为14天,如果全网算力上涨、出块速度变快,难度就会上调,反之难度降低,以此实现算力和难度之间的动态平衡。当一名矿工率先算出符合条件的结果,就立刻向全网广播新区块,其余节点只需要很短时间就能够校验结果真伪,验证无误后区块正式上链,打包区块的矿工便可领取区块奖励与区块内所有交易的手续费。

这种算力竞争计算模式同时承担着两项核心任务,一是产出全新的比特币,二是完成全网交易记账,保障整条区块链的数据安全去中心化运行。区块奖励并非永久恒定,比特币代码设定每产出210000个区块奖励就会减半一次,随着奖励不断减半,新币产出速度持续放缓,最终比特币的流通总量将会封顶在2100万枚。等到区块奖励彻底归零之后,比特币就不会再有新币通过计算生成,矿工收益将完全依靠用户转账产生的手续费,挖矿计算也依旧会持续运行,负责维护比特币网络交易的正常流转。