币优网区块链原理浅析

区块链是一种使用哈希链形式数据结构的分布式系统,通过共识协议保证数据一致性。比特币是其典型应用,其不可篡改性源于哈希链和工作量证明机制。区块链解决了网络中的信任问题,但也面临效率、宏观金融适应性、匿名安全性及用户易用性等挑战。区块链技术在解决信任问题方面展现出潜力,尽管存在缺点,但仍被金融机构广泛研究。
摘要由CSDN通过智能技术生成

区块链的定义业界并没有一个特别明确和唯一的回答, 这里先给出个人根据所读论文而总结出的“区块链”应有特质:

使用了具有 “哈希链” (下文有解释) 形式的数据结构保存基础数据

有多个结点参与系统运行(分布式)

通过一定的协议或算法对于基础数据的一致性达成共识(共识协议/算法)。

介于比特币目前是区块链最典型且最有影响力的应用之一, 理解比特币如何使用区块链后, 再去理解其他形式各样的区块链应用就会容易很多。


以下引自我在知乎中另外一个区块链问题的答案

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

先修知识;

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

哈希链: 假如现在有顺序产生的数据块 A, B , C 。 那么我们可以这样计算一个hash 。 注意 “||” 表示拼接

h0= Hash(A)

h1 = Hash(B || h0)

h2 = Hash(C || h1)

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)

这里我们还添加一个额外的要求, 就是 h0, h1, h2 必须都得是以指定数目的0 bit开头的,例如要求每个哈希值都必须以5个0开头,则h0,h1,h2都应该是这样的形式(00000*****************)

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

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

其实到这里, 区块链的本质就已经差不多了, 假如网络中大家都默认遵守协议, 只在最长的哈希链后计算新的头部,那么一切都很好,

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值