主页 > imtoken苹果测试版 > 比特币和区块链:矿工实际解决了哪些数学问题?

比特币和区块链:矿工实际解决了哪些数学问题?

imtoken苹果测试版 2024-01-04 05:14:12

区块链兄弟——技术专业答疑先锋,区块链爱好者聚集地

作者; 加密投资

原帖:@cryptovest/bitcoin-and-blockchain-what-math-puzzle-do-miners-actually-solve

在这篇文章中,我们将尝试用简单的术语分解区块链和比特币的机制。 假设读者熟悉一些基本的密码学和区块链相关术语。 今天,我将特别关注交易验证和挖矿奖励。 矿工通过解决复杂的数学难题来验证交易,第一个解决这个难题的矿工将获得全新的硬币,也就是原始硬币。 这种新硬币的创造在某种程度上相当于政府印钞票比特币来源于什么技术,或者用经济学家的话说,量化宽松。 政府可以随意印钞,造成通货膨胀和货币贬值。 但是比特币经济中的货币创造是预先定义的,到 2140 年总供应量接近 2140 万(准确地说是 2099999998)。之后将没有硬币。 控制供应和价格是不可能的。 在下图中,绿线表示随时间变化的 BTC 供应量。

比特币技术风险_比特币交易技术_比特币来源于什么技术

可分割性、便携性、可替代性、稀缺性、对供应操纵的抵抗力和分布式权限等比特币来源于什么技术,使比特币成为政府发行的纸币(或数字)货币的一种高级形式。

那么,比特币经济是如何赚钱的呢? 我得到的最常见的答案是,矿工因解决数学难题而获得奖励,这些难题为比特币区块链添加了新区块。 这个数学难题到底是什么意思? 我们将在本文末尾看到。

比特币概述

比特币来源于什么技术_比特币技术风险_比特币交易技术

下面是比特币网络中连接参与者的扩展图:

比特币技术风险_比特币来源于什么技术_比特币交易技术

假设 Alice 将 1 BTC 转给 Bob 以换取高端游戏笔记本电脑,Pete 将 0.001 BTC 转给比萨饼,以及更多此类交易。 目前一个区块包含大约 1000-2500 笔交易。 现在让我们看看矿工如何验证交易。 换句话说,矿工检查发行者是否是相关比特币地址的合法所有者(私钥持有者)。 矿工验证所有这些交易并将它们包含在一个区块中。 如果矿工可以将这个区块添加到现有区块(称为区块链),它会根据其计算获得奖励。 矿工基本上:

收集所有待处理的交易以验证它们捆绑到一个块中 猜测一个随机数(aka nonce)使得 sha256(sha256(data + nonce))小于难度,其中 SHA256 是一个加密哈希函数。 SHA-256 算法旨在获取任意数量的输入数据并生成 256 位输出,同时还保持有效加密哈希的某些属性。 随机数是一个随机整数。 矿工试图“猜测”随机数; 只有矿工可以通过蛮力找到这个数字,即通过尝试数百万个随机数。数据是块(交易)和前一个块的散列内容。散列难度是衡量找到一个散列下面的散列的难度。特定目标

由爱丽丝(或任何其他人)的钱包应用程序创建的交易有 258 字节长,包含确认资金所有权和指定新所有者所需的一切。 现在,交易必须传输到比特币网络,在那里它将成为分布式账本(区块链)的一部分。

我们现在详细讨论散列。 截至目前,#472391 区块链中最新区块的哈希值是:

00000000000000000142288235538​​52a90563fe84da5f0a5aa4832e85f68b1b5

注意开头的一串零。简而言之,矿工需要选择一个随机数,使得sha256(sha256(数据+随机数))生成的哈希值以0开头

(13) 开始。 这个难度级别根据找到一个块平均需要多长时间而变化。 随着网络联合挖矿算力的增加,难度也随之增加,反之亦然。下图说明了块的形成

现在让我们看看待处理交易的哈希值:

2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824-交易1

91e9240f415223982edc345532630710e94a7f52cd5f48f5ee1afc555078f0ab -交易2

87298cc2f31fba73181ea2a9e6ef10dce21ed95e98bdac9c4e1504ea16f486e4 -交易3

…………

现在,矿工创建了一个交易根(又名 Merkle 根),它本质上是所有交易组合的哈希值。 过程如下:

比特币交易技术_比特币技术风险_比特币来源于什么技术

区块 472391 的 Merkle 根是:

d29b40ec75fe295493398f4675b60633a9d5a6a20e2914df9a0b353e2a742a2a

假设我们要找到下一个区块(区块 472392)。 因此,我们采用区块 472391 的哈希值、交易根(等待区块 472392 中包含的所有交易、时间戳(我们将在图中忽略)),并且我们有(向右滚动以查看整行):

00000000000000000142288235538​​52a90563fe84da5f0a5aa4832e85f68b1b5--e361a57a7406adee653f1dcff660d84f0ca302907747af2a387f67821acfce33

现在将 1 连接到上面的字符串(为了便于阅读而缩短):

00000000000000000142288--e361a57a7406adee653f1-1

通过 SA256 运行它,看它是否满足以一堆 0 开头的难度要求。 尝试 2、3、4 等,直到找到满足难度标准的数字。 我不是计算机(矿工)如何猜测这个随机数。 这个区块472391中的随机数是1900492548,由F2Pool找到。

猜数字 1900492548 正在解决复杂的数学问题

这个随机数不是唯一的,即可以找到多个满足难度条件的数(随机数)。 该区块被添加到区块链中,矿工获得 12.5 BTC。

比特币交易技术_比特币来源于什么技术_比特币技术风险