主页 > imtoken安卓下载 > 比特币和密码学中的哈希函数

比特币和密码学中的哈希函数

imtoken安卓下载 2023-06-29 14:47:02

哈希值btc_哈希值怎么用_哈希值下载

什么是哈希函数

Hash Function,音译为散列函数,又称散列函数或散列函数。 哈希函数是一个公共函数,它可以将任意长度的消息M映射成一个较短且固定长度的值H(M),称为H(M)作为哈希值、散列值、散列值或消息摘要。 哈希函数满足以下三个属性:

消息M的任何变化都会导致哈希值H(M)的变化; 给定某个散列函数 H 和散列值 H(M),得出 M 的结论在计算上是不可行的; 没有碰撞。 也就是说,对于消息 M1 和哈希值 H(M1)哈希值btc,找到 M2 使得 H(M2) = H(M1)(弱碰撞)在计算上是不可行的; 或者,找到任意两个 M1 和 M2 使得 H(M1) = H(M2) 在计算上不可行(强碰撞)。

根据计算复杂性理论,所谓“计算不可行”是指没有多项式时间算法可以进行运算,例如大数分解和离散对数问题。 上述计算的不可行性是哈希函数安全性的基础,但需要强调的是,包括MD5、SHA系列在内的常见哈希函数的安全性是无法证明的,可证明的安全哈希函数是另外一个概念。 如果把一条消息比作一个人,消息的哈希值就是这个人的指纹,是这个人独一无二的特征。

目前,大多数哈希函数都是基于异或和取模运​​算的多轮迭代结构,其输出即哈希值具有近似伪随机的特性。 伪随机序列是通过正则方法产生的,其伪随机特性表现在统计和相关特性上。 二进制伪随机序列的统计特征包括:0和1的出现次数相差1(元素分布),连续出现n个元素称为一个长度为n的元素游程,则长度为n的元素游程序列中n长于length n+1的元素游程长度加倍(游程分布); 伪随机序列的相关特性包括:自相关函数值为0,互相关函数值的绝对值接近韦尔奇下限(Welch bounds)。 简单来说,哈希值虽然不完全满足上面的伪随机定义,但是其中单个元素和多个元素出现的次数是大致相等的。 例如:

哈希值btc_哈希值怎么用_哈希值下载

SHA256(“The quick brown fox jumps over the lazy dog”)0x d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e5921101011110101000111110111011001100000111110101111000000010010100011010011100101010011010101111001011000000001000001011100100111110001101010101100101000111100100011011010011110011011011011101100010110100000010110100001011111100110111110010011110010110010010

有 125 个 0,131 个 1,长度 6 游程 000000 和 111111 有 3 和 1,长度 5 游程 00000 和 11111 有 8 和 6,等等。

SHA256的输入是任意长度小于2^64位的报文(必须是或扩展为512位的倍数),输出长度是256位的哈希值,使用异或等逻辑运算,和翻译、流通等替代方式。 总共执行了 64 次迭代。 理论上,对SHA256的攻击是从低迭代次数开始尝试的,比如对SHA256迭代52次的原始相位攻击和对SHA256迭代46次的碰撞攻击。 有关 SHA256 算法的详细信息,请参见此处和此处。

哈希函数和工作量证明

哈希值btc_哈希值怎么用_哈希值下载

比特币协议引入哈希函数更重要的作用是解决双花问题。 一个比特币交易代码的输入部分代表交易的提议者对相应数量的比特币的所有权,输出部分的代码代表将比特币发送给接收者的行为。 这里忽略比特币交易的变化机制。 当巴比特熊将他的比特币发送给宋欢时,在交易完成之前,他再次尝试将相同的输入发送给大猫。 这时候我们面临的问题是如何防止大熊把一张钱当成两张。 支出问题,即双花问题。

在比特币协议中,网络节点验证大熊交易是否正常的前提是首先解决一道数学题。 这就是众所周知的工作量证明机制,它基于解决交易区块所携带的数学问题,实现问题的解决换取验证交易中的话语权,有效避免了随机性僵尸节点对不合格交易的确认。 当然,避免双花需要大量节点对区块的检验结果达成共识。 如果区块检查合格,区块中包含的交易也会通过验证签名,最终实现全网大账本的统一更新(更多解释请搜索区块链确认和51%攻击)。 由于大熊交易的违法性,基于工作量证明机制的原理,很难找到足够多的网络节点来让这笔不合格的交易蒙混过关。

工作证明中的数学问题到底是什么? 将网络中的一系列交易和大熊的交易打包成一个区块。 块本身有一个标记 L (block_header)。 令 x 为 32 位随机数。 数学问题就是找到x使得Hash(L ,x)满足一定的要求,例如Hash(L,x)小于等于设定的阈值Target,Target代表问题的难度,即相当于所谓的Blocks Difficulty,类似于SHA256的输出,是一个256位长的0/1序列,相当于一个十进制数。 当前值为11756551917,比特币协议会根据网络算力的发展调整Target的大小,以保证区块确认速度适中。 哈希函数的三个性质和哈希值的伪随机特性决定了求x是一个没有确定算法只能穷尽的问题。

Hash(L,x)=SHA256(SHA256(block_header, nonce_x))block_header=version+Merkel+nbits+ntime+pre_hash

哈希值下载_哈希值btc_哈希值怎么用

版本是当前块的版本号。 区块中包含的多笔交易的哈希值构成了区块的默克尔数据结构。 nbits 是当前比特币协议设定的计算复杂度。 ntime 是区块的时间戳。 pre_hash是距离当前时间最近的区块的哈希值,在《解密比特币》一书中也有提到。 比特币相关文章中提到的Hash,通常指的是Hash(L,x),但实际上Hash(L,x)是两个SHA256运算,需要能够区分。 挖矿是指节点在第一时间找到满足条件的随机数x后,成功获得名为coinbase transaction的区块中的第一个比特币作为奖励,“挖矿”,即生产或发行所谓的比特币。 同上一段,比特币协议每2016个区块调整一次Target的大小,以控制比特币的发行速度,从而实现2140年继续发行2100万枚比特币的设计计划。

假设网络中的一个节点将最新收到的交易添加到自己创建的一个新区块中(从Blockchain中可以看出,每个成功确认的区块中包含的交易数量是不同的),如果该节点的挖矿程序挖矿程序对区块进行大量计算后,没有得到满足要求的随机数x。 程序会通知节点重新创建区块。 此时节点会选择更新上述区块中的交易和时间戳,并发送给挖矿程序计算随机数x。 或者,当挖矿程序还在计算过程中,得知其他节点已经计算出一个新的区块,并且该区块已经确认,那么它也必须立即停止,并更新自己手中的区块以包含前一个区块的哈希值pre_hash,重建一个新的区块,重新开始计算求x。 以上两种情况都描述了挖矿失败,

全网算力

比特币全网的算力以Hash/s计算,是指比特币网络中所有节点每秒进行多少次Hash运算。 一次Hash(L,x)运算包含两次SHA256运算,所以1Hash/s相当于一秒内进行了两次SHA256运算。 有许多网站提供当前哈希率,例如。 Blockchain提供的数据显示,目前算力接近10^5THash/s=100PHash/s,1T=10^12。 据观察,各个公司的估算结果相差在1000THash/s量级。 在bitcoincharts和bitcoinwatch中可以查看当前比特币全网算力分布情况。 不同的矿池各有特点。 高算力矿池和低算力矿池的区别在于,在第二类矿池挖矿时,区块确认速度慢,往往无法与前者竞争,但一旦区块确认完成,获得的奖励比例会更大,两者参与挖矿的收益平分。

哈希值btc_哈希值怎么用_哈希值下载

我们知道SHA256的输出是256位,所以所有的输出有2^256种可能,所以(2^256/Target)是一个区块被确认(求正确解)所需的哈希平均数,因为搜索过程是随机的,出块速度可慢可快。 根据相邻两个区块的时间戳,短则几分钟,慢则20多分钟。 因此,根据区块之间的时间差和当前比特币协议设定的难度,可以估算出当前区块对应的算力。 在设定的难度周期内哈希值btc,根据最新一批区块的生成时间,统计意义上可以计算出当前时间段内的算力。

然而,这种对计算能力的解释仍然不够准确。 比特币代码显示,扩展后的block_header为128字节,分为等长的两段进行SHA256运算。 第二节SHA256运算的前3次迭代不包括随机数x,后2次迭代不影响最终Hash值的前几位,所以这5次迭代类似于找x的预处理,以及它们在检验不同x的计算过程中是相同的。 因此,根据SHA256的迭代次数,Hash/s更可靠。

BTC:19fZ5WVfhrDToC3ioMFY71D1ARXsQJu8MK

全球首个比特币加油站创始人计划支持闪电网络

哈希值怎么用_哈希值btc_哈希值下载

暴走解说:闪电网络是比特币的扩容解决方案之一,支持小额链下支付。 因此,第一台商用加油机的发明者透露了在设计中加入这一功能的计划。 只是目前该方案的协议不支持退款,这对于使用预付费模式的这款应用来说是一个重要的问题。 因此,目前仍沿用比特币升级协议BIP70。 未来需要做一些内部调整才能使用闪电网络,比如在车上安装数字钱包。译文:Annie_Xu的第一个商用油罐车发明

区块链和比特币是什么鬼? 又炸了?

在最近金融界的热点新闻中,比特币是最火的,因为它的价格涨得太厉害了(目前已经到了28000),一飞冲天。 任何投资者只要买入,基本上就可以赚钱。 任何能让人赚钱的事情,总能引起大家的关注。 近期股市中与区块链相关的个股一直没有停过,仿佛明天就会改变支付宝的一生。 这种情况不禁让我想起牛市的疯狂,更让我想起17世纪发生在荷兰的郁金香泡沫。关于比特币的有趣事实

储蓄耗尽:委内瑞拉人使用比特币和其他方式解决经济危机

7月11日,委内瑞拉政局动荡数月,三位数的通货膨胀耗尽了委内瑞拉人的积蓄。 委内瑞拉制宪议会竞选活动9日拉开帷幕,这个南美国家政局进入紧张的关键时期。 委内瑞拉政府近期在内政外交方面采取了一系列调整和应对措施,以改善委内外环境,稳定国家局势。委内瑞拉中美洲和加勒比研究中心秘书长王鹏中国社会科学院拉美研究所指出,虽然会议

本文哈希:a362ee1fa76579445a91abc9fbdeba12332fc80d

免责声明:本文由帕尼尼分享发布,不代表链界赞同其观点。 文章内容仅供参考。 如果本文侵犯了您的合法权益,请联系我们。