比特币整套运行体系依靠密码学哈希运算、动态难度调节、区块奖励递减规则与UTXO记账规则共同完成计算,挖矿本质是重复进行双重SHA-256哈希暴力试算,发行量由固化的减半数学模型约束,交易金额依靠未花费交易输出模型统计,全网出块速度通过算法自动校准,所有计算逻辑全部写入底层代码,全网节点统一执行,不存在人为修改空间。

挖矿环节是大众最关心的计算逻辑,矿工不需要破解复杂数学方程,只需要持续组装80字节的区块头数据,反复更换随机数Nonce,不断执行SHA-256(SHA-256)双重哈希运算,生成256位哈希字符串。协议规定,只有最终输出的哈希数值小于网络实时更新的难度目标值,对应的区块才算合法。哈希运算不存在逆向推导捷径,只能依靠设备不断重复运算尝试。网络每挖出2016个区块,大约两周时间,系统自动重新计算难度目标;如果实际出块速度快于10分钟,难度上调,出块速度偏慢则降低难度,以此长期维持平均10分钟产出一个新区块。为防止算力剧烈波动造成难度失控,单次难度调整幅度被限制在四倍以内,保证网络平稳运行。

比特币总量、区块奖励的计算依托固定的等比数列模型。创世区块上线初期,每成功挖出一个区块,矿工可以获得50枚比特币区块补贴,协议设定每产出210000个区块,区块补贴直接减半。按照周期推算,补贴依次变为25枚、12.5枚、6.25枚、3.125枚持续递减。持续无限次减半叠加形成收敛数列,理论最大供给总量锁定2100万枚。区块奖励不等于区块补贴,完整奖励等于新发行的区块补贴叠加区块内全部交易手续费,交易手续费计算方式为一笔交易输入比特币总额减去输出总额,余额部分作为手续费归打包交易的矿工所有。随着补贴持续降低,未来手续费会逐步成为矿工主要收益来源。比特币最小单位为聪,1比特币等于1亿聪,底层所有金额计算全部使用聪作为单位,规避小数运算误差问题。
比特币账户余额的计算和传统银行账户完全不同,采用UTXO未花费交易输出模型,不存在单独记录账户余额的字段。系统不会直接记录某个地址持有多少比特币,节点需要遍历区块链历史,统计该地址所有收到且尚未花费的交易输出总和。用户发起转账时,必须选择一笔或者多笔UTXO作为交易输入,拆分组合金额完成转账,转账之后原有UTXO直接失效,同时生成新的UTXO。这种计算模式决定比特币无法出现部分花费,只能完整消耗旧输出、生成新输出,也是比特币交易结构、找零机制形成的根本原因,所有余额校验由全网全节点同步运算验证,杜绝双重支付问题。

很多投资者容易混淆算力、难度与挖矿收益三者的换算关系。全网算力代表全网设备每秒能够完成的哈希运算次数,单位包含TH/s、EH/s;挖矿收益不存在固定结果,单个矿工预期收益约等于自身算力占全网总算力的比例乘以单区块总奖励。矿池模式出现,就是为了解决单人挖矿收益波动极大的问题,众多矿工合并算力共同竞争区块,成功出块后按照每个人贡献算力比例分配收益。收益测算同时需要计入电力、硬件损耗、运维成本,结合实时币价、网络难度动态变动,这也是挖矿收益无法长期恒定的核心原因。