主页 > imtoken最新官网客服 > 说说我对比特币和区块链的理解,挖不难,但挖难

说说我对比特币和区块链的理解,挖不难,但挖难

imtoken最新官网客服 2023-04-04 06:48:03

签名过程:

1、对原始交易记录进行哈希运算得到汇总信息7a7b34c5d

2、使用摘要信息7a7b34c5d和私钥a6d77a88e0进行签名操作,得到签名信息5c3c5d2d6a

在这里插入图片描述

获取签名信息后,会循环向所有账号广播通知。广播通知的信息包括:

p>

交易原始信息:支付地址、支付地址、交易金额

签名信息:5c3c5d2d6a

这个广播操作就相当于对大家说,我是收款地址,我交易了多少到收款地址,签名信息是5c3c5d2d6a,请帮我验证一下

收到广播的节点开始验证过程:

在这里插入图片描述

很容易理解:

签名是一个非对称加密过程,即对支付信息的哈希值和私钥进行加密,得到签名信息

验证是非对称解密过程,即使用签名信息和支付地址进行解密,得到支付信息的哈希值。

这个问题解决了,账户交易所有权由私钥控制,私钥由私钥控制。密钥也没有泄露。

什么是挖矿

听说过挖矿的人大概都知道,挖矿是非常耗电的,也就是连续计算。那为什么还要数数呢?

上面提到的验证,也就是记账,其实是非常耗费资源的,因为在不知道每天有多少交易的情况下,没有一个节点愿意免费验证。

所以比特币系统提供了一种奖励机制:记账有奖励。

有了这个奖励机制,每个人都会争先恐后地记账,所以有以下规则:

规则1:只有一个人在一段时间内(一般为10分钟)才能成功入账。

规则2:你可以通过解决密码问题,即增加工作量来竞争获得唯一记账权。

规则3:其他节点只复制记账结果。

所以,谁能够解决密码学问题,谁就更有可能保留账户,从而获得奖励

这是什么密码问题?

我们之前说过,一个验证就是哈希(最后一个哈希值,交易记录)得到新的哈希值

这个有点简单,几乎每个人都能很快完成。

为了保证在一定时间内更容易选择一个人,需要增加记账的难度。

所以,hash方法变了,加上一个随机数比特币挖矿有什么用,就变成了:

hash(最后一个hash值,交易记录,随机数)得到一个新的hash值

这样对新的hash值会有要求,新的hash值需要在开头满足几个0,比如0000a6h7jj85。

我们知道哈希数,只要稍微修改一下,就会引起值的大范围变化,所以在哈希的时候,我们可以不断的修改随机数,得到一个新的哈希值。

理论上,只要我们不断用随机数进行散列,总会得到满足条件的散列值。

现在基本是普通电脑,如果要得到四个以0开头的hash值,基本1~2分钟左右。

现在,因为参加比赛的人太多,比特币的难度会增加。已经达到了从0开始的18个hash值的需求,谁先找到这个hash值,谁就可以获得唯一的记账权。

找到这个哈希值的过程是非常随机的,这就是挖矿。如果你得到唯一的会计权,你可以说你挖了一个矿。

挖矿步骤

1、在广播中收集尚未记录在账本中的交易

2、交易有效性验证

3、添加交易给自己转账(即挖矿奖励)

估计获得簿记权的难度

例如,现在需要获取一个新的hash值,需要以18个0开头。

哈希是十六进制的,

如果第一位要取0,平均需要16次计算。

如果前两个都为0,则平均需要16*16次计算,即16的2次方。

以此类推比特币挖矿有什么用,如果要得到前18个0,则需要计算16的18次方。

所以现在都是多人联合挖矿,分矿后独狼很少。

简单分析下,比如你能从挖矿中得到10万,那么只要挖矿成本低于10万,就会有人去挖矿。挖的人越多,计算就越困难。挖矿成本也会增加,所以最终会达到一个平衡的状态,即平均挖10万个矿需要10万左右。

共识机制

虽然计算难度增加,但可能会出现多个节点同时完成工作量的情况。在这种情况下,应该使用谁的块? ?

首先,每个计算节点都必须遵守规则,即一个节点的工作量只有在其他节点同意的情况下才有效。这条规则就是共识机制。

共识机制:每个节点只识别累积工作量最大的区块链,即每个人都会找到最长的链

例如:

现在有一个链#1213