主页 > imtoken市场打不开 > 区块链系列:区块链中的区块,卖的是什么“药”

区块链系列:区块链中的区块,卖的是什么“药”

imtoken市场打不开 2023-10-25 05:10:31

区块链=区块+链。 2008年10月,在中本聪的原始论文中,将“区块”和“链”这两个词分开使用。 后来,随着比特币的广泛使用,直到2016年,区块和链才合二为一:“区块链”。

比特币中使用的哈希算法是什么_比特币算法源代码_比特币挖矿算法

区块链是由区块组成的,区块由链条依次连接起来形成区块链。

说到积木,大多数人很容易想到盒子。

1. 把方块比作盒子,里面装的是什么

比特币算法源代码_比特币中使用的哈希算法是什么_比特币挖矿算法

一个区块由区块头和区块体组成。 如上图所示,蓝色部分为区块头,红色部分为区块体。

比特币挖矿算法_比特币算法源代码_比特币中使用的哈希算法是什么

区块头的组成:本区块的哈希值(汇总值)、前一个区块的哈希值、默克​​尔根、时间戳、难度系数、随机数(本区块的填充数)。

区块体的组成:交易信息。

块与数据库记录非常相似。 每次写入数据时,都会创建一个块。

2.要理解区块,必须理解什么是HASH

比特币挖矿算法_比特币中使用的哈希算法是什么_比特币算法源代码

比特币算法源代码_比特币挖矿算法_比特币中使用的哈希算法是什么

听起来很吓人比特币中使用的哈希算法是什么,其实很简单。 哈希是一种算法,可以将任意长度的内容(无论是数字,还是文章、图片、视频,总之是任何数字信息)转换成一串看似不规则的定长数字(哈希值),并确保结果是唯一的,几乎没有办法从这个结果中推导出原始数据。

例如:

“1”的 SHA256 散列为:

0x6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b

“2”的 SHA256 散列为:

比特币算法源代码_比特币挖矿算法_比特币中使用的哈希算法是什么

0xd4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35

我们把这个hash值当成乱码,因为唯一的规律就是没有规律。 同时,即使原始数据的微小变化也会对结果哈希产生巨大变化。

比特币算法源代码_比特币中使用的哈希算法是什么_比特币挖矿算法

有人将“照菜谱”比作哈希过程:完全按照菜谱很容易,但从菜肴中推断出菜谱就难多了。 给定两个数,计算两个数的平方和比较容易,但是给定一个数,求两个数的平方和就难多了。 这就是哈希算法的意思。

比特币采用哈希算法,即256位的加密函数/加密密钥,因此比特币也被称为加密数字货币。

比特币中使用的哈希算法是什么_比特币挖矿算法_比特币算法源代码

3.区块是如何产生的?

比特币中使用的哈希算法是什么_比特币挖矿算法_比特币算法源代码

区块的产生,又称挖矿,本质上是交易发生后对记账权的竞争。 比赛规则是什么? 共识机制主要是计算数学题。 谁先计算出来,谁就会得到奖励。

这个数学问题会是什么样子?

区块头中有两个哈希值,一个用于前一个区块,一个用于本区块。

比特币挖矿算法_比特币中使用的哈希算法是什么_比特币算法源代码

计算的是这个区块的哈希值。

这个哈希值有什么要求? 哈希值以 18 个以上的 0 开头。

hash处理的数据对象是这个block中的所有数据,而这个block中的所有数据中,只有一个数据是可变的,是哪个数据? Nonce,通常翻译成一个随机数(或者这个区块的填充数),这个随机数没有其他巧妙的计算方法,就一个一个的试试看hash结果是否符合要求,如果不符合就试试下一个,直到找到。

为了找到这个金色的Nonce,一般需要进行十亿次以上的尝试。 虽然计算散列的工作没有那么耗时比特币中使用的哈希算法是什么,但重复十亿次以上,仍然消耗巨大的计算机资源和电力资源。 因此,计算能力强的节点获胜的概率相对较高。

一旦你找到了黄金 Nonce,你就有权创建一个区块。 为了激励你的行为,区块中为你准备了一定数量的货币。

比特币挖矿算法_比特币算法源代码_比特币中使用的哈希算法是什么

下次你不会不知道为什么就跟别人挖矿,也可以把“哈希值”告诉别人。