主页 > imtoken怎么转bc1地址 > 比特币挖矿(一):1 CPU 1 VOTE

比特币挖矿(一):1 CPU 1 VOTE

imtoken怎么转bc1地址 2023-02-12 05:58:51

比特币量子量微博_808比特币创始人颜万卫 炮制比特币风险大_简述比特币工作量证明过程

工作证明

挖矿是工作量证明(POW)的完成。 POW机制的核心是哈希(HASH)函数。 哈希函数最大的特点是:输入不同,输出随机。

对于特定要求的输出,只能通过大量的枚举和不同的输入来获得。 没有捷径,也没有懒惰。 无论输入尝试多少次或数亿次,验证者只需要对结果执行一次处理。

比如学校里有10000个人,名字各不相同。 设计一个哈希函数,输出范围为:[1, 100]。

要找到一个输出等于 42 的名字(1-100 之间的任何值都相同),理论上需要尝试 100 次。 也意味着:1、尝试100次并不意味着一定要找到名字; 2.尝试100次也可能会找到输出为42的多个名字; 3.不管用什么遍历顺序,效率都是一样的。

808比特币创始人颜万卫 炮制比特币风险大_简述比特币工作量证明过程_比特币量子量微博

比特币的区块(Block)是用来证明工作量的,准确的说是区块头(Block Head)的80字节。 一个完整的块由两部分组成:Head + Body。 Head存放固定的80字节信息,Body部分存放交易数据。

块头构成字段名含义大小(字节)

版本

版本号

4个

hashPrevBlock

简述比特币工作量证明过程_808比特币创始人颜万卫 炮制比特币风险大_比特币量子量微博

前一个区块哈希值

32

hashMerkleRoot

从前一个区块的产生到新区块的产生,

交易数据打包形成的哈希

32

简述比特币工作量证明过程_比特币量子量微博_808比特币创始人颜万卫 炮制比特币风险大

时间

Unix 时间戳

4个

目标值,即难度

4个

比特币量子量微博_简述比特币工作量证明过程_808比特币创始人颜万卫 炮制比特币风险大

随机数

随机数

4个

块哈希算法:对这80个字节进行双sha256计算。 输出的是32字节,平时看到的是64位的字符串,十六进制显示。

DSHA256(block head) = 区块哈希

采矿过程

简述比特币工作量证明过程_比特币量子量微博_808比特币创始人颜万卫 炮制比特币风险大

下面结合区块头的组成简述比特币工作量证明过程,梳理一下挖矿的计算过程。

CPU时代

nonce大小为4字节(2^32),其空间为42亿,即4G。 这在CPU时代完全够用了。 单核Double SHA256计算速度一般在0.1M到4M之间。 核心越多,优势越多。

bitcoind源码中CPU挖矿的代码片段,bitcoin/src/miner.cpp(nonce遍历2个字节后会重建区块):

比特币量子量微博_简述比特币工作量证明过程_808比特币创始人颜万卫 炮制比特币风险大

过程很简单简述比特币工作量证明过程,就是反复构造区块,尝试计算nonce。 N个CPU核心开启N个线程,所以挖矿时CPU一般都是100%。 cpuminer这个软件很快就出现了,可以让一个bitcond节点支持多台电脑挖矿。 许多比特币爱好者纷纷购买高规格电脑开始挖矿,正如中本聪在论文中所预言的理想数字民主:1 cpu 1 vote!

参考