比特币中的密码学:哈希函数的五大特性和挖矿原理_比特币:HASH

比特币是世界上第一种成功的加密货币,之前的尝试都没有像比特币这样有效解决有关货币的各种问题。

比特币本身是密码学发展的产物,利用了密码学中的很重要的“单向散列函数”以及数字签名两大技术来构建,今天我们来集中精力讲解单向散列函数的5种重要的特性,以及比特币挖矿相关的技术原理。

下面我们先讲哈希函数的特性:

单向散列函数,也就是通俗叫的哈希函数。

第一个特点:输入可以任意长度,输出是固定长度

哈希函数不用知道输入信息代表的是什么意思,也无所谓信息的长度有多长,只要输入hash函数出来的都是固定长度的比特值。比如非常有名的SHA256?哈希函数,输入任何值出来的都是256比特的0和1.?输入一本《三国演义》或者仅仅输入一个字母a,出来的都是256位比特长度的数据。

第二个特点:计算hash值的速度比较快?

比特币挖矿难度下降后生产单个区块平均时间已增加至近12分钟:5月30日,比特币的挖矿难度下降了16%至21.05 T,创下自2021年以来的最大跌幅。据BTC.com数据显示,这次比特币挖矿难度调整还将生产一个区块的平均时间增加到 11 分 55 秒,比5 月 13 日的平均区块生产时间长了近 4 分钟,当时区块生产的平均时间为 8 分 14 秒。

在5月13日的上一次调整中,挖矿难度创下历史新高,比5月1日设定的难度水平上涨了21.53%。目前距离下次难度调整还有12天时间,预计下次难度将会再次下降15.73%,达到17.74 T。[2021/5/31 22:59:30]

这一点经常被大家所忽略,似乎是习以为常的东西就不去在意,其实这一点同样重要,因为单向哈希的计算很快,才能保证加密或者验证的速度。

第三个特点,防碰撞特性

X≠y,H=H(y)?输入空间远远大于输出空间,比如256位的哈希值指的就是输出空间是2^256这么多,输入是无限可能的,输出是固定长度。

声音 | ICE首席执行官:Bakkt比特币期货交易避免在区块链上运行 防止可能发送到错误地址:洲际交易所(ICE)首席执行官Jeff Sprecher以及旗下比特币期货平台Bakkt的首席执行官Kelly Loeffler近日接受了《财富》杂志专访。Sprecher表示,就目前而言,资产管理者是否将对比特币浓厚的兴趣转化为实际购买行动尚无定论,这让本次期货上线产生了悬念。由于所有交易都在内部中心化的帐上结算,比特币期货交易避免在区块链上运行,防止发送到错误的地址的可能。在洲际交易所(ICE)的帮助下,Bakkt还为比特币离开托管仓库制定了坚如堡垒的保护措施。Bakkt仓库中的绝大多数比特币都存储在所谓的“冷库”中。要离开仓库,比特币必须从冷库转移到“热库”,然后通过互联网上的电子转账转出。“热库”已连接到互联网,因此可以将比特币从Bakkt信托银行发送到另一家交易所或钱包。冷库将比特币存放在与网络断开连接的最安全的保险库中。[2019/9/23]

但是,目前没有找到没有好的方法去找出一个x能得到H等于右边的值。

声音 | 分析师:比特币真正的价值储存是其不可没收性:交易员、加密货币分析师Tone Vays认为,比特币可能是世界历史上最伟大的价值储存。它是不稳定的,因为它只被使用了大约七年,但是它的“不可没收性”是无与伦比的。这是它真正的价值储存,因为黄金是可以没收的,所有其他资产甚至更容易。(Cointelegraph)[2019/7/29]

遍历所有输入的可能能去找到这个值,叫做brute-force暴力破解吗,也就是现在矿机所谓的“哈希碰撞”这个词的来源。

哈希防碰撞用处是保证上传和下载的数据是一样的,就是改一点点出来的结果差很多。举个例子,你输入的信息是一部《红楼梦》,然后你在红楼梦的第100页的第五句话把一个逗号改成句号,然后输出的hash值就完全不同了。这就是哈希函数一个非常重要的特性。

但是collisionresistance目前没有数学证明这个碰撞不会发生,MD5就是最好的例子,之前是很安全的,但是后来找到了破解方法。

声音 | DataLight:比特币使用量的增长速度超过其价格:据cryptoglobe报道,美国加密货币数据分析公司DataLight的实际使用指标显示,与其不断增长的使用量相比,比特币价格可能被低估了。到目前为止,比特币实际使用量的增长速度超过了其价格。当BTC在2017年飙升至2万美元时,该指数也接近历史最高。虽然目前比特币的价格已经显著上涨,但却未能跟上实际使用指标,这表明比特币价格可能被低估。[2019/6/4]

第四个特点:隐藏性或者叫做单向性

哈希函数的计算过程是单向不可逆的。x推出H,但是反推没有法子,也就是说,哈希值没有泄露输入的x的信息。也就是说x的信息被隐藏了起来,这也就就是隐藏性。

输入空间要足够大,取值是均匀的,这样就很难暴力破解。

利用第三和第四个特性可以做出很有趣的应用场景。

分析 | 比特币流通市值占比创下4月14日以来最高水平:据coindesk分析,CoinMarketCap今天发布的比特币流通市值占比创下了两个半月以来的高点至42.74%,这是自4月14日以来的最高水平。这表明投资者可能会将其资金从其他加密货币转至比特币。流通市值占比是追踪比特币贡献的市场资本总值百分比的指标。因此,该指数的上升本质上意味着对比特币的需求大于对小币种的需求。如果加密货币价格开始与比特币流通市值占比一起上涨,这意味着加密市场已经触底。[2018/6/28]

比如预测一个事情。现实世界中预测和结果很多时候是有微妙的关系的,比如三国时期,曹操专门去找当时的人物品鉴专家许劭,让他看看自己是什么材料,许劭评价曹操是“治世之能臣,乱世之奸雄”,这个很难说他评的准不准,或许因为这个评语,影响了曹操的心理,他就朝这个方向发展了,就成了自我验证的预言了。所以,很难判断预测是否真的准。

更简单例子是,有影响力的股评师,今天预测一下明天的股价是不是增长,那么,他如果公开表明币价,可能会影响币价。

所以如何表明他确实很准确呢?让他把股评信息写到纸上,或者存到电脑里,但是要求是第二天开盘后,不能偷偷修改内容,这样就不用担心预测影响股价了。那么现在需要做的只是一件事儿:保证他没有篡改自己已经写好的内容。

那么,可以用hash算法,预测的结果是x,对x?哈希函数一下,公布hash值,第二天收盘再把x放出来,如果你改了昨天的数据,hash就变了。所有人都可以用hash算一下这个x和昨天公布的hash值进行对比。

实际情况下,实际的输入空间不是很大,输入不够随机,担心有人对上升下跌这样的词汇语句进行组合排列,找到这个x,为了保证安全性,会加入一个nonce随机数,公式表达如下。

H?nonce是一个随机数

意思就是预测的结果信息x后面加个随机数,一起得到hash。

第五点:谜题友好

就是说看x不知道H是什么?这个无法从输入数据,判断到底输出是什么样子。就是说,知道输入的信息,无法一眼看出来输出的hash值是什么,谜题友好性值得就是这一点:你无法通过控制输入值x来获得想要的输出值H

所以,综合隐藏性和谜题友好性两个特点,知道输入信息也不知道哈希值是什么,可以很快算出来,但是无法预先判断;知道哈希值也不能知道输入值是什么,反向计算是非常非常困难的,只能暴力破解。

所以如果你想要输出的值落在某一个范围里,比如小于某个数值,计算机只能一个一个去试去猜答案,看哪个输入算出来的输出值正好是落在你想要的范围内。

你要得到一个hash值前面K位是0。你无法知道怎么得到前面是这么多0的x。

挖矿就是找nonce,就是这个随机数。

H≤target

这就是比特币挖矿的基本原理,就是哈希碰撞去找到这个nonce,让他小于一个target。Blockheader就是区块头包括的信息都是所有矿工都知道的信息,所以大家竞争的是谁先猜出来nonce。

备注:在二进制的世界里,因为每一位比特都是0或者1,所以比大小,就是比前面的0的数量,前面32位是0,自然小于前面31位是0,这个target的所谓比大小也就是限定个范围,因为sha256出来的数字都是256位的二进制数字,比谁前面的0多是很方便的划定结果值的区域的方式。这一点大家忽略的人很多,其实是一个很基础的数学知识,值得注意。

挖矿的基本思想就是来自上述的信息。在比特币中的挖矿的过程里实际上就是去找nonce也就是确定了输出范围后,去找输入的值。H≤target

当输入的值进行hash运算后得到的值符合target的范围,比如说前面35个0就可以了,你猜出来的值输入后得到hash值前面40个都是零,那么肯定符合要求,实际上前面35个0就满足条件了嘛。

然后你把这个信息公布出去,别的矿工看到你的nonce值,也去hash一下,很快就知道你这个nonce是合适的,可以满足target的要求。这里就用到了哈希函数的计算速度快的特性。

本文总结了单数散列函数也就是哈希函数的特性,这就是很多区块链应用的基础以及比特币加密挖矿的基本原理。文章开头说过,比特币运用的密码学除了函数函数,还有一个非常重要的内容是:数字签名。这个我们很快就会讲到。

目前世界上所谓的区块链落地应用,其实有时候用的是比特币的数据结构,有时候用的是UTXO模型来结算。有的时候说是溯源,有的时候说是合约。很多的应用出来,不管是什么样的概念,多数都要用到哈希函数,利用哈希函数5种特性中的一部分。

随着文章讲解的深入,关于比特币,关于行业的信息都在展开,慢慢的大家更能明白,为什么说哈希函数是比特币和区块链行业的基础了。

作者:村头二旧

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:78ms0-7:926ms