舟山体彩飞鱼开奖结果:舟山飞鱼近期开奖结果

舟山飞鱼近期开奖结果 www.y2zzb.cn 本站遵守国家法律法规,如违反国家法律请联系我们底部客服删除

区块链为什么不可篡改?区块链技术原理图解

来源:摩登先生原创 |发布时间:2018-01-08 11:09:21

区块链技术被认为是这几年可能再次颠覆世界的一项技术,区块链让信任变的更有基础,区块链是一种去中心化的记账本,因为去中心化,每一个节点都是一个分布式的中心,做到了牵一发而动全身,由区块链衍生出来的技术服务更加安全可靠,比如现在我们都非常熟悉的数字货币比特币就是区块链技术的一个成功的典范,当然区块链技术部仅仅在数字货币领域发挥影响力,未来区块链会方方面面的影响人类社会,而她被人类青睐的最大原因就是安全可靠!不可修改性!



区块链为什么不可篡改?

在谈应用之前,最重要的是先理解它的技术本质是什么, 所有介绍区块链的答案里, 都最先提到了区块链不可篡改的特性, 所以第一个要理解的是它到底是怎么实现不可篡改性的。

先修知识;

密码学Hash()函数的单向性: Hash(x) =y , 通过y很难找到x

哈希链: 假如现在有顺序产生的数据块 A, B , C 。 那么我们可以这样计算一个hash 。 注意 “||” 表示拼接
h0= Hash(A)
h1 = Hash(B || h0) 
h2 = Hash(C || h1)  
(摘自摩登先生网:www.y2zzb.cn)
h2是我们计算的hash头部,现在来看, 为什么我们管这个东西叫Hash链, 因为h2 的值依赖于之前一系列数据的内容和计算顺序。 假如说现在你知道了h2 , 别人拿着A,B, C, 他不管是修改A,B, C的任一点内容还是A,B, C的出现顺序,你都无法再次计算出正确的h2
好的, 其实到这里区块链的概念就有点感觉了不是吗。"区块链"这个词是英文 Block Chain 的翻译, 如果从字面上理解, "数据块组成的链条" 就足以阐释它的基本内涵了。比特币区块链其实就是哈希链的一个变种(注意, 下文描述的这种添加随机数以及对随机数有特殊要求的规则是比特币为了实现工作量证明 Proof of Work 的共识机制而添加的, 并不是区块链的一个必要特征)。 怎么变? 添加一个随机数(Nonce)
假如现在有顺序产生的数据块 A, B , C 。 我们来这样计算hash头。 注意 “||” 表示拼接
h0= Hash(A|| Nonce0) 
h1 = Hash(B || h0 || Nonce1) 
h2 = Hash(C || h1 || Nonce2)  
摩登男士:舟山飞鱼近期开奖结果 www.y2zzb.cn
这里我们还添加一个额外的要求, 就是 h0, h1, h2 必须都得是以指定数目的0 bit开头的,例如要求每个哈希值都必须以5个0开头,则h0,h1,h2都应该是这样的形式(00000*****************)

添加了这个要求以后, h0, h1, h2就都不是那么容易计算的了, 因为你不能根据输出的形式来反推输入是什么, 而A, B, C又是给定的, 那只能不断更改Nonce来穷举计算, 然后找到一个可以满足要求的Nonce值 ,使得h0, h1, h2符合要求

到这里大家就知道所谓的矿工是在干什么了, 就是接受广播出来的数据块,然后计算当前最新的哈希链的头部, 当成功计算出了一个符合要求的Hash后, 就告诉所有人,自己找到了, 让别人再去计算下一个哈希头部。

其实到这里, 区块链的本质就已经差不多了, 假如网络中大家都默认遵守协议, 只在最长的哈希链后计算新的头部,那么一切都很好, 但是如果有人想搞不一样,那他就得拥有更强的计算能力, 在诚实者都遵守规则的情况下, 自己能够计算出一个链条分叉甚至说直接计算出一个新的链条,让大家都承认。

(原文链接://www.y2zzb.cn/keji/26527.html,转载请注明)