科普 | 比特币挖矿用的SHA256算法是什么?
视频来源:Matthew Endures Teaching
翻译:Cobo钱包
世界上最流行的计算机算法大概就是SHA 256哈希算法了。首先看下它的定义——一种具有确定性的单向哈希函数。我们逐词解释一下:
「算法」就是执行操作的一系列步骤/过程;
「哈希函数」是一种数学函数,输入的长度可以是任意的,但输出的长度是固定的,可以把它理解为文件的数字指纹;
具有「确定性」的特征,意思是同一个输入值,总能得到相同的输出值。
SHA 256函数是一种单向散列算法,输入值可以是任意类型和长度,输出值位数均为256位,可能是256个1和0——这是一个很长的数,所以通常会写成一段64位十六进制数。
这个公式有两个有趣又实用的特点:
首先,如果你得到了同样的哈希值,或者说是数字指纹,就是因为你输入了完全相同的输入值,两个不同的输入值不会得出同一个输出值(数字指纹)。
那哈希值数量有多少呢——2的256次方。
另一个有趣的特点是蝴蝶效应,只要输入值改变一点点输出值就会变。举个例子,我现在拍一张照片,像素:1000x1000,文件长度:2400万位,用SHA 256算法来运行一下,得出一个哈希值。现在来改变输入值中的某一个小单位,放大这个电线杆的像素,把绿色值的0改为1,重新用SHA 256算法运行一遍,就得到一个完全不同的输出值,这还只是改变了2400万单位中的一个。
以上两个特点帮助SHA 256适用于各种场景:密码学、数字签名、认证,以及比特币。
SHA 256在比特币协议中发挥着关键的作用,任何人都可以在自己的计算机上运行这个数学函数,但没有人能逆推它。如果你可以逆推这个算法,你就可以比其他人挖矿挖得更快,然后赚很多钱。
比特币挖矿的过程,就是找到输入值的过程,这个输入值通过SHA 256算法产生了一串开头带有约70个零的输出值。但是,因为没有已知的公式,每个人能做的也只是通过蛮力一个数一个数去试,直到找到正确的输入值。不过比特币挖矿只需要找到一个接近的哈希值就好,不需要完全匹配。实际上,挖矿难度可以调整,保证大概每十分钟能有矿工找到匹配的输入值,然后赚取12.5比特币的出块奖励,这就是为什么我认为它是地球上最流行的算法,或者应该说是地球上最常用的算法。
为了跑赢比特币挖矿的竞赛,人们专门使用了可以很快运行SHA 256算法的计算机,有多快呢?
如果把全世界所有比特币矿工加起来,目前他们每秒正在运算6千亿亿个哈希值,分秒不休,日复一日。
所以我说SHA 256是最流行的算法,这个结论还是很公道的。我觉得可能会有其它的字符处理算法和它竞争,比如傅里叶变换函数,但是每秒能运算超过6千亿亿次吗?
我不知道...
Anyway,我说这些就是想表明:没有人能找到比特币挖矿的捷径,虽然找捷径有巨大的经济动力,或许有人能找到,但他们不会那样做,只会选择遵循规则...
Bitcoin Price Prediction: How Much Will 1 BTC Be Worth in May 2025?
The post Bitcoin Price Prediction: How Much Will 1 BTC Be Worth in May 2025? appeared first on Coinp...
Bull Market Reignited? Analyst Says Bitcoin Rally Mirrors June 2020 Setup
Bitcoin’s recent surge has kept its price firmly above the $100,000 price level, reflecting ongoing ...
Chainlink Unveils 3 Major Products to Transform Web3 Economic Infrastructure
Chainlink launches Rewards, SVR, and Payment Abstraction, elevating robust Web3 growth, DeFi revenue...