区块链:详细解析区块链技术中的Hash算法

大家好,这里是链客区块链技术问答社区,今天为大家讲一讲区块链中的hash算法,希望对学习中的小伙伴有所帮助~也希望大家多多关注我们~感谢大家

区块链技术是一系列技术的结合,建立新的技术架构,hash算法是很重要的一块,如果理解不当的地方请指点更正。

Hash算法将任意长度的二进制值映射成为固定长度并且较短的二进制值,这个就成为哈希值。其是一段数据唯一且紧凑的数值表示形式。找到同一值的不同的输入,在计算机上是不可能的,数据的哈希值可以检验数据的完整性,一般用于快速查找和加密算法。

动态 | Bakkt 已上线期权和现金交割合约的详细规格 下周一将同时开放交易:洲际交易所集团(ICE)旗下加密货币衍生品交易所 Bakkt 将于 12 月 9 日推出两款全新衍生品合约,分别是基于 Bakkt 比特币月度期货的期权(商品代码为 BTM),和比特币月度现金交割期货(商品代码为 BMC),并已在官网中公开这两个合约的详细规格。现金交割期货在系统中已生成了之后连续 12 个月为到期日的期货合约,但是目前尚未交易所以没有行情数据。此前,Bakkt 的现金交割比特币期货合约将会通过 ICE 在新加坡的子公司 ICE Futures Singapore 交易,并由清算所 ICE Clear Singapore 进行清算,这两家都是被新加坡金融监管局(MAS)监管的机构。[2019/12/3]

Hash算法是一种单向的加密,一个明文加密称密文,不可推逆,只有加密过程没有解密过程。目前常用的hash算法由MD5。SHA系列算法。

动态 | EOS 42发文详细介绍EOSIO 1.8新特性:昨日,激活“DApp方为用户承担资源消耗”特性的多签提案已获BP投票通过并正式执行,EOS 42发文详细介绍了EOSIO 1.8新特性。此特性意味着:如果一笔交易有两个或者两个以上的账户联合签名,则只会对排在第一位的账户收取资源费用。此外, EOSIO 1.8的新特性不只是“dApp为用户支付资源“,还包括:1.资源的付费方,可以是任意的账号或服务方,该账号不一定是dApp;2.交易所可以为用户承担资源费用,帮助用户充值至交易所;3.任意的EOS账号,都可以为其他的账号支付资源;4.dApp能够为用户支付资源;5.有可能借助于一项特殊的协议,扫描二维码即可完成资源支付。(MEET.ONE)[2019/10/18]

解释到这里,可能会联想到,hash算法中key在计算后如果出现了同一位置,冲突的产生,这里简单说下几种冲突处理。

动态 | 律师事务所在美国欧洲发布加密法规的详细摘要:据cryptoglobe消息,Morgan Lewis & Blockius是一家全球律师事务所,该事务所写道,国际金融稳定委员会(FSB)本月早些时候表示,加密资产对传统金融市场可能还不是“重大风险”。金融稳定委员会还指出,全球加密货币市场和行业正在迅速发展,监管机构必须密切关注其发展。金融稳定委员会(FSB)对全球金融体系提出了建议,称“低流动性”和在加密交易中“使用杠杆”是目前阻止数字货币成为稳定价值储存手段的因素。[2018/10/29]

1.拉链法:这种方法可以完全避免冲突,将所有关键字为同义词的节点连接在同一个单链表中。

2.多哈希法:设计两种以上的hash函数,避免冲突。

3.开放地址法:开放地址法有一个公式:Hi=(H(key)+di)MODmi=1,2,…,k(k<=m-1),其中,m为哈希表的表长。di是产生冲突的时候的增量序列。如果di值可能为1,2,3,…m-1,称线性探测再散列。如果di取1,则每次冲突之后,向后移动1个位置.如果di取值可能为1,-1,4,-4,9,-9,16,-16,…kk,-kk(k<=m/2),称二次探测再散列。如果di取值可能为伪随机数列。称伪随机探测再散列。

结合区块链,在区块链中很多地方都用到了hash函数:

1.区块链中节点的地址、公钥、私钥的计算。以地址为例:公钥经过一次SHA256计算,再进行一次RIPEMD160计算,得到一个公钥哈希,添加版本信息,再来两次SHA256运算、取前4比特字节,放到哈希公钥加版本信息后,再经过base58编码,最终得到地址。

2.merkletree:是数据结构中的一种树结构,可以是二叉树,也可以是多叉树,他和数据结构中树的特点几乎一致,和普通树不同的是:merkletree上的叶节点存放hash计算后的hash值,非叶节点是其对应的子节点串联的字符串的hash值。用于区块头和SPV认证中。

3.比特币中的挖矿,工作量证明,计算的其实就是一个nonce,当这个随机数和其他散列过的数据合并时,产生一个比规定目标小值。挖矿也可以理解一种快速不可逆的计算。SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET。

4.比特币中的bloomfilter布隆过滤器,布隆过滤器基于hash函数的快速查找。解决了客户端检索的问题,原理是Bloomfilter可以快速判断出某检索值一定不存在于某个指定的集合,从而可以过滤掉大量无关数据,减少客户端不必要的下载量。

简单介绍了HASH算法和区块链中用到的HASH算法,区块链是多个技术的结合,会出现一种新的技术结构,Hash算法和加密技术为区块链的自证信用和安全控制提供了基础。

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

地球链

[0:0ms0-0:591ms