主页 > 国内怎么下载imtoken > 区块链挖矿原理

区块链挖矿原理

国内怎么下载imtoken 2023-11-07 05:07:53

区块链挖矿原理

目录

* 区块链挖矿原理

* 目录

* 前言

* 1.ICO

* 2. 数字货币的发行方式

* 3.挖矿原理

* 3.1 工作量证明功能

* 3.2 块

* 3.3 难度值

* 3.4 工作量证明过程

前言

比特币区块和比特币的区别_区块链与比特币的联系_比特币的区块头有多少个字节

说到比特币和区块链,很多人觉得很眼熟,但其实知之甚详,不知其所以然。 比特币是区块链的第一个实际应用,区块链是比特币的技术支撑; 如果你第一次接触比特币,当你想和别人交流的时候比特币的区块头有多少个字节,你面对的第一个概念可能就是挖矿。

1. ICO

首先我们想一下,为什么每个区块链系统都要发行自己的数字货币? 也就是前段时间的ICO热潮。

这就涉及到区块链的基础作用,就是实现社会价值在区块链上的自由流通(类比互联网的基础作用:实现信息的自由流通)。

比如我可以开发汽车的车链,房子的房链,母猪的母猪链等等。 如果一个组织或个人足够强大,也可以为整个行业发布一条链,那么汽车、房子、母猪……想在各自的链上自由流通,从A的名字到B的名字,或者从C的名字到D的名字,肯定需要一个措施。

这种规模是通过支付相应的数字货币来实现的。 换言之,各链发行的数字货币作为链上价值流通的一般等价物。

打个现实的比方:就是我们生活中用于交易的人民币、美元、泰铢、英镑等中央货币在我们购物的时候起到了作用。

每个链条都可以比作一个国家。 每个国家都有自己的货币体系吗? 这样一想,大概就明白了,各个链发行数字货币的目的,都是为了促进链上资产的顺畅流通。就数字货币而言,对于那些想做事的人来说,它起到了价值流通的一般等价物; 对于赚钱的人来说,它是一种收钱的工具

2、数字货币的发行模式

在区块链上,数字货币的发行模式是什么?

链上数字货币有两种主要形式。 一是以国内的NEO为例,NEO的分配方式是:在系统创建时,一次性写入1亿个NEO到创世块中。 借助ICO,用户可以直接用人民币认购和持有。 这种模式更类似于央行发行人民币。

另一种类似于淘金,就像比特币一样,通过挖矿节点,不断消耗自己的算力换取比特币。

区块链与比特币的联系_比特币的区块头有多少个字节_比特币区块和比特币的区别

由于比特币系统是完全开源的,所以这套开源代码包含了挖矿的功能。 只要一个人看懂了代码,就可以编译部署这套代码,将其添加到比特币网络中,当我的挖矿功能开启时,你的主机就开始挖矿了。

在比特币系统中,可以通过自身算法动态调整全网节点的挖矿难度,保证每10分钟,比特币网络中就有一个节点成功挖矿; 一旦有人挖矿成功,比特币系统就会奖励给这个人一定数量的比特币,这也是由算法控制的。

具体来说:从2009年开始,前四年的挖矿奖励为50个比特币,之后每四年,每成功挖矿的人将获得25个比特币的奖励,每四年递减一半; 即未来四年挖矿成功的奖励为12.5,接下来四年的奖励为6.25,以此类推。 2140年左右,区块链发行的时候,大约2100万个比特币,这是比特币的总量,所以不会无限增加。

通过上面的讲解,大家应该明白挖矿和比特币的关系了吧。 这种关系是:挖矿是比特币系统发行自己的数字货币的唯一途径,也就是比特币。

3、挖矿原理

挖矿是比特币系统中的一种视觉表现形式。 背后的真名是POW算法,也就是工作量证明算法。 工作证明来自经济学。 1993 年,两位经济学家提出的一个策略是一种有效的阻塞经济策略,以防止滥用服务或资源。

金额证明

工作,简称POW),简单理解就是证明你已经完成了一定工作量的证书。 监控工作的整个过程通常是极其低效的,而通过证明工作结果来证明相应的工作量已经完成是一种非常高效的方式。 比如现实生活中的毕业证、驾照等,也是通过检查结果(通过相关考试)获得的证明。

比特币通过 POW 共识机制确定记账权。 一般来说,谁能证明自己的工作量最大,谁就负责记账。

工作量的大小通过计算符合一定标准的比特币区块头的哈希值来体现。 下面会有详细的介绍。

试图争夺记账权的节点称为挖矿节点。 挖矿过程就是找到一个可以填充区块头的随机值,使得区块头的哈希值满足一定的标准。

挖矿的技术演变:

比特币区块和比特币的区别_比特币的区块头有多少个字节_区块链与比特币的联系

CPU 挖矿 –> GPU 挖矿 –> FPGA 挖矿 –> ASIC 挖矿 –> 大规模集群挖矿

3.1 工作量证明功能

比特币系统中使用的工作量证明信是 SHA256

SHA是一种安全哈希算法(Secure Hash

算法)是一个密码哈希函数族。 这套功能由美国国家安全局(NSA)、美国国家标准与技术研究院(NIST)设计

已出版比特币的区块头有多少个字节,主要适用于数字签名标准。 SHA256 是该函数族之一,它是一种哈希算法,输出值为 256 位。 到目前为止,还没有针对SHA256算法的有效攻击。

3.2块

比特币区块由区块头和区块中包含的交易列表组成。 区块头大小为80字节,由4字节的版本号、32字节的前一个区块哈希值、32字节的Merkle Root组成

哈希、4字节时间扩展(当前时间)、4字节当前难度值、4字节随机数。 块中包含的交易列表附加到块头。 第一笔交易是coinbase交易,是矿工获取奖励和手续费的特殊交易。

固定长度为 80 字节的块头是比特币工作量证明的输入字符串。 因此,为了让区块头能够反映出区块中包含的所有交易,在区块的构建过程中,需要通过Merkle列出要包含在区块中的交易

Tree 算法生成 Merkle Root Hash,作为交易列表的摘要存储在区块头中。

3.3 难度值

比特币区块和比特币的区别_区块链与比特币的联系_比特币的区块头有多少个字节

难度值(difficulty)是矿工挖矿时的一个重要参考指标。 它决定了矿工需要经过多少次哈希运算才能生成一个合法的区块。 大约每 10 分钟生成一个比特币块。 如果要在不同的网络算力条件下都保持这个速率产生新区块,就必须根据网络算力的变化来调整难度值。 简单地说,难度值设置为每 10 分钟出一个新区块的速率,与挖矿能力无关。

难度调整在每个完整节点内独立且自动发生。 每2016个区块,所有节点都会根据统一的公式自动调整难度。 这个公式是根据最近2016个区块花费的时间和预期时间(预期时间为20160分钟或两周,以每10分钟一个区块为准。根据实际时长与预期时长的比值, 做相应的调整(或做难或易),也就是说出块速度快于10分钟,难度就会增加,慢于10分钟,难度就会降低。

这个公式可以总结如下:

新难度 = 旧难度 *(过去 2016 个区块的持续时间 / 20160 分钟)

工作证明需要有一个目标值。 比特币工作量证明的目标值(Target)计算公式如下:

目标值=最大目标值/难度值

其中最大目标值是一个常数值:

0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

目标值的大小与难度值成反比。比特币工作量证明的实现是矿工计算的区块哈希值必须小于目标值

3.4 工作证明过程

我们可以大致总结比特币矿工为解决这个工作量证明难题所采取的步骤如下:

(1) 生成一个Coinbase交易,与所有其他要打包到区块中的交易形成交易列表

比特币的区块头有多少个字节_比特币区块和比特币的区别_区块链与比特币的联系

(2) Merkle Root Hash通过Merkle Tree算法生成。 默克尔根

Hash 等相关字段组装成区块头,区块头的 80 字节数据(Block Header)作为工作量证明的输入。

(3)不断改变区块头中的随机数,即nonce的值,对每一个改变的区块头进行两次SHA256运算(即SHA256(SHA256(Block_Header))),将结果值与与当前网络的目标值进行比较,如果小于目标值,则问题成功解决,工作量证明完成

* 区块链挖矿原理

* 目录

* 前言

* 1.ICO

* 2. 数字货币的发行方式

* 3.挖矿原理

* 3.1 工作量证明功能

* 3.2 块

* 3.3 难度值

* 3.4 工作量证明过程

PS:本文是近期学习区块链技术的总结。 欢迎指正!