宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > FIL币 > 正文

区块链深度学习系列|密码学基础之哈希算法的应用

作者:

时间:1900/1/1 0:00:00

本系列内容包含:基本概念及原理、密码学、共识算法、钱包及节点原理、挖矿原理及实现。

挖矿

以比特币网络为例,比特币挖矿主要使用到的算法是SHA-256,其具体流程参见下图。

我们从上往下进行分析:

第一层是:nVersion;

第二层是:hashPrebBlock;

第三层是:hashMerkleRoot,

CoinDesk发布对区块链影响最大的 50 所大学排名:香港理工大学第一,清华第六:金色财经报道,CoinDesk发布对区块链影响最大的 50 所大学排名:香港理工大学第一、新加坡国立大学第二、苏黎世大学第三。清华大学位列第六,香港大学第11、上海交通大学位列12,北京大学排名第13位,香港城市大学第17,香港中文大学第20,浙江大学第24,哈佛大学第31,耶鲁大学34,南京大学46。[2022/9/26 22:31:04]

第四层是:nTime;

第五层是:nBits;

第六层是:nNonce;

第七层是:Hash。

里面的n代表连续0的个数,该值要小于当前区块难度目标值m,挖到块的条件是前n个比特位全部为0,n越大,难度越大。假设最低难度对应最大目标值为M,则区块难度为:M/m

火币研究院研究员陈圣桦:区块链有望在医疗领域发挥更大作用:4月8日,火币研究院推出“区块链百家讲坛”第五季课程,对于“区块链+产业”进行了深入解析。

“2019年可以说是产业区块链真正步入正轨的元年,2020年有望迎来产业区块链的全速前进。”火币研究院高级研究员肖晓表示,随着区块链技术的广泛应用会引发新一轮产业格局升级。火币研究院研究员陈圣桦结合“区块链+医疗”对产业区块链的应用进行了详细阐述。他认为,区块链可以助力医疗健康行业实现质的飞跃,未来区块链有望在医疗领域发挥更大作用,使得医疗领域成为“区块链+”的一个标杆性应用。[2020/4/8]

看过前面课程的朋友应该会有印象,这些全部是区块头中的数据字段。

再来看左边,我们分析一下为什么其中有些是固定而有些是可变的。

1.版本号和前一个区块哈希是固定的,以比特币为例,假设当前比特币区块高度为N,如果某人想挖接下来N+1区块的话,那么这个时候版本号必须是固定的,前一个区块的哈希必须也是固定的。因为在不存在分叉的情况下,当前区块包含上一个区块的哈希值;

实力派 | 海创链创始人CEO张弢:区块链无边界融合的时代将到来:在今日“金色实力派”中,海创链创始人CEO张弢指出:大企业的优势就是用户资源丰富,尤其是品牌企业,更容易吸引用户。从共识的角度讲,品牌就是公链。

此外,张弢总结指出:区块链无边界融合的时代到来了,+产业、+其他信息技术才会有未来。只有区块链在人们的各种工作生活场景中出现,才会让大众了解和认识区块链,我们多研制落地解决方案会加速行业成长,希望从业者一起共勉。[2019/12/6]

也就是N-1区块的哈希值加上N区块数据算出N区块哈希值,然后將N区块哈希值当成N+1区块的的前一区块哈希值。这里有点绕,希望大家多理解一下;

2.交易Merkle根是可变的,为什么说可变呢?因为在挖矿的时候,肯定会准备一个打包区块,打包区块形成的时候,矿工会根据自己的需求或根据利益算法,将交易打包进去,最后整理成一个Merkle根;

动态 | R3就“Coda区块链”名称起诉竞争对手:据The Block消息,10月24日,区块链巨头R3在特拉华州联邦法院提起商标诉讼。R3表示,另一家区块链公司的“Coda商标”与Corda商标令人混淆。[2019/10/27]

3.时间戳是可变的,挖矿有个时间范围,在这个时间范围内挖出的矿都为有效,所以在有效时间内的时间是可以任意调节的;

4.难度值在一定周期内是固定的,会随着周期的改变而变化;

5.Nonce是可变的,这里就不展开讲了,忘记的朋友可以翻阅前面的讲解。

在挖矿的时候,到Nonce的时候,由于时间戳和Merkle根都已经经过计算固定了,这时只需要改变Nonce就可以了。此时可以把这7个数据看成一个整体,前面6个数据是X,把X放在哈希函数里面,会出来一个值,比如说Y值。

动态 | 联合国教科文组织与AGI向儿童传授区块链等技术知识:据BTCmanager消息,联合国教科文组织国际教育局(IBE)宣布和SingularityNET(AGI)合作,建立从幼儿园到12年级的新课程形式,重点将向青年传授新兴技术发展等知识,包括区块链技术和机器学习。[2018/9/28]

由于比特币网络里使用的哈希算法是SHA-256,当Y值出来之后,就会得到一个256个由0和1组成的字符串。这个字符串出来之后,它会和X里面的难度值比较大小。

每计算一次,也就是通过了一个Nonce,就会产生一个Y值,Y值会和难度值比较大小,如果Y值小于难度值,此时就找到了一个有效的Nonce,矿也就挖出来了。

生成地址

地址的生成中也用到了哈希算法。从下图可以看到从公钥到比特币地址生成的流程。

第一层:生成公钥;

第二层:两层哈希算法,SHA-265和RIPMD-160;

第三层:然后双层哈希计算,会产生公钥哈希;

第四层:Base58Check编码;

第五层:经过编码,得到一个编码串,这个编码串就是公钥哈希即比特币地址。

形成Merkletree和交易Hash

在默克树树结构和形成交易哈希里面也使用到了哈希算法。

上图的默克树中,最底层有4个叶子节点,最左边HA下面有个Hash,意思是:Tx表示交易,A表示交易编号。

假设现在使用的哈希算法是SHA-256,那么交易产生时,会对HA、HB分别进行哈希计算,会分别得到2个由256个0和1组成的字符串。同理,HC、HD也会得到相应的字符串,这样四个交易会形成总的默克尔根。

区块链

大家都知道在区块链中,每个区块都是一环套一环衔接上去的,就像一个链条一样。我们通过下面的图片,具体分析一下。

从图中可以看出链的顺序是从下往上增长的,最下面块的高度是277314,这个区块里面包含上一个区块的哈希值:0000…0bdf,这里的0000…0bdf是上一个区块区块头的哈希值。

同理,277315区块里面包含的上一区块头哈希值:0000…2249,也是区块277314的区块头哈希值,即:0000…2249。同理277316区块也是这样的情况,这也是我们第一节希望大家多理解的问题。

这样的情况就保证了任何人可以从某一个区块中,找到这个区块里面包含的上一区块的哈希值,也就是其父区块。

现在我们讨论的问题都是针对于区块链没有分叉的一个情况,到后面我们详细分析区块链分叉之后情况又是怎样的。

通过这三个区块我们能发现,从某种程度上来说区块链就是一个哈希链。最新产生的区块通过哈希值指向上一个区块,上一个区块在指向上上一个区块……一直指向创世区块。通过这个关系,这些区块形成了链条,也就是我们常说的区块链。

这是哈希算法在区块链中常用到的具体应用,大家可以预先想一下,为什么区块链中会使用哈希算法,而不是其他算法呢?后面的课程我们会给大家进行解答。

下节预告:什么是哈希

标签:区块链比特币NCEONC区块链存证怎么弄比特币今日价格行情分析Vesper FinanceCryptoVerificationCoin

FIL币热门资讯
V神演讲干货全送上!关于以太坊2.0,你想知道的都在这里

来源:CSDN 8月8日,「2020以太坊技术及应用大会·中国」顺利举行。CSDN创始人&董事长、极客邦创投创始人蒋涛、以太坊创始人VitalikButerin、Unitimes、独角时代创始人姜英英、CSDN副总裁、通证经济.

1900/1/1 0:00:00
ETH上锚定BTC量超3.8万枚,1周增长73%,成BTC最强侧链

最近一周,DeFi带来的市场热度,可谓不减,反而更加疯狂。从YAM挖矿,在CRV挖矿,且一个玩笑的memes项目都能有日成交量达75万美金.

1900/1/1 0:00:00
案情披露:成都“大佬”用3万个比特币 花费3亿现价值25亿 还购买矿机挖矿

根据银保监会等五部门发布的《关于防范以“虚拟货币”“区块链”名义进行非法集资的风险提示》,请大家树立正确的投资理念,本文内容报道不对任何经营与投资活动推广进行背书,请投资者提高风险防范意识.

1900/1/1 0:00:00
巴比特 X 徐坤 | 从被遗忘到牛市龙头,一文梳理ETH 2020爆发逻辑

以太坊铁定是这一轮上涨的领头羊。过去两周,以太坊暴涨75%,不仅突破了360美金压力位,更是一路狂奔,触及400美金高位。即便,8月2日比特币迎来千刀大回调,以太坊依然强势,领涨一众主流加密货币.

1900/1/1 0:00:00
CFTC主席讲比特币:权力的游戏与暗度陈仓

今天的题目有点大,今天的主题思想却很小,就是对一个人的言论挖一下背后的逻辑和目的,秉承“大处着眼,小处下手”的理念.

1900/1/1 0:00:00
行情分析:比特币再次跌入调整区间,大盘开始休整

作者|哈希派分析团队 金色财经合约行情分析 | BTC持仓量处于近期低位,观望情绪较浓:据火币BTC永续合约行情显示,截至今日18:00(GMT+8),BTC价格暂报11784美元(-0.10%).

1900/1/1 0:00:00