主页 > imtoken官方最新版 > 比特币的产生----挖矿原理
比特币的产生----挖矿原理
比特币的出现----挖矿原理
2008年,美国次贷危机引发的金融危机开始席卷全球,世界经济开始全面下滑。
2008 年 11 月 1 日,在这个历史性时刻,自称中本聪的中本聪在互联网上发表了《比特币:一种点对点的电子现金系统》白皮书,描述了一种全新的数字货币系统:比特币.
中本聪发布“比特币:点对点电子现金系统”
白皮书如下:
比特币是如何产生的
我们对此达成一致:每个区块的第一笔交易是专门化的,它会生成区块创建者拥有的新电子货币。
价值背书
这种在货币体系中不断增加一定数量新货币的方法,与花费资源开采金矿、注入黄金进入流通非常相似。此时,CPU时间和功耗都是消耗资源。
挖矿原理
工作证明 (PoW)
我们在区块中添加一个随机数(Nonce),这个随机数有多少个0出现在给定区块的随机哈希值中。
如果比特币网络中的任何节点想要生成一个新的区块并将其写入区块链,就必须解决工作量证明的难题,即俗称的比特币挖矿。这个问题的三个关键要素是工作量证明函数、区块和难度值。
工作证明 (sha256())
哈希函数,也称为哈希函数,给定一个输入x,它会计算出对应的输出H(x)。
比特币系统中使用的工作证明信正是 SHA256。它是由美国国家安全局设计的。到目前为止,还没有针对 SHA256 算法的有效攻击。
难度(难度)
比特币区块大约每 10 分钟产生一次,难度每 2016 个区块调整一次。调整公式为:
新难度 = 旧难度 *(最后 2016 个区块花费 / 20160 分钟)
目标
最大目标:
0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
比特币工作量证明目标值的计算公式如下:
目标值=最大目标值/难度值
Coinbase 交易
每个区块的第一笔交易称为 Coinbase 交易。 Coinbase 交易是一项特殊交易,因为它包括采矿奖励。与普通交易不同比特币怎么产生的原理,coinbase交易的输入不包含UTXO,而是输入一个coinbase值,凭空创造比特币。 Coinbase 交易的输出以比特币支付矿工的比特币地址。
工作量证明的过程
比特币矿工解决这个工作量证明难题的步骤大致可以总结如下:
1.生成Coinbase交易,并与所有其他准备打包成块的交易形成交易列表,通过Merkle Tree算法生成Merkle Root Hash
2. 将Merkle Root Hash等相关字段组装成区块Block header,使用区块头的80字节数据(Block Header)作为工作量证明的输入
3.不断改变块头中的随机数,即nonce的值,并对改变的块头进行每一次Double SHA256操作(即SHA256(SHA256(Block_Header))),并将结果值与当前网络的目标值进行比较。如果小于目标值,则问题成功解决,工作量证明完成。
Pow的计算公式如下:
注意:
挖矿的本质
工作量证明方案解决了一个比拜占庭将军问题更困难、更具挑战性的问题,即在参与者集合未知的情况下,实现共识一致性并支持比特币安全的去中心化自发共识机制。比特币只是完成工作量证明节点的一种奖励形式。
中本聪的主要发明就是这种去中心化的自发共识机制。
注:本文虽然在其他论坛发过比特币怎么产生的原理,但属于原作者,作者是同一位喜欢数学的妹子。