区块链的数据结构和数据存储

一 区块链是什么

区块链主要分三种,本质上是一种块状存储的链,与寻常的链表不同,链条的每一个节点是根据场景衍生的区块,一般用分布式存储数据,防篡改可溯源:

  • 公链
  • 联盟链
  • 私链
    上述三种区块链是基于不同场景诞生的不同业务结构,因此其核心的数据结构和数据存储方式略有不同

1.1 公链

  • 无准入限制(节点可以随意进出)
  • 去中心化
  • 单链结构

1.2 联盟链

  • 严格准入限制(节点进出需要严格审查)
  • 弱中心化
  • 多链结构

1.3 私链

  • 无出入概念
  • 完全中心化
  • 链式结构
  • 除链式结构外和现在传统的互联网业务系统没什么区别

二 公链BTC和联盟链长什么样

2.1 共性

公链和联盟链的基本结构类似,每一个区块都是由区块头和区块体组成,如下图:
在这里插入图片描述区块头的结构:

  • 交易markle root
  • 前一区块的hash值
  • 时间戳
  • 版本号

区块体都是交易列表

如果不考虑多链情况,那么公链和联盟链的链式结构也是一样的,如下图:
在这里插入图片描述

2.2 特性

  • Bitcoin在区块头中额外加入nNonce和nBits两个属性
    • Bitcoin使用的共识算法是POW(Proof of work)共识算法。
    • Pow是一种工作量证明算法 ,本质上是用大量算力计算一个hash值,并要求目标难度值小于一个目标值-nBits,循环计算直到hash值符合要求,并用自增随机数nNonce起到信息变更的效果
  • 联盟链
    • 结构不需多赘述,为了业务场景增加了一些其他的属性
    • 除了参与hash计算的属性,还有一些memory only的属性

三 区块链为什么安全

区块链的安全主要归功于“链式hash+智能合约+共识算法”决定的不可篡改特性

防篡改

  • 首先,链式结构决定其篡改成本将无限大:
    • 区块的链接是由每一块区块的“父区块hash”链接上的,父区块hash值是由整个父区块的区块头计算而来,因此,当改变链中某区块的交易信息,那么当前区块头的hash值就会发生变化,其子区块将无法链接到本区块。那如果子区块配合父区块进行修改呢?那么子区块的子区块也要修改,与此同时,新的区块还在不断产生,子子孙孙无穷尽也,篡改成本也将无限大。
  • 其次,智能合约决定了交易进行时规则是由代码控制而不是人为控制,因此在公平和信任层面的能力大大提升
  • 最后,即使在新区块产生时进行篡改也是行不通的,归结于其共识算法:
    • A节点进行对账本数据进行篡改,将小甲的账户余额从2000改成20000,假定A节点修改的区块恰好是最后一个区块,从A节点看小甲的余额确实变了,但是当客户端进行对小甲的账户进行转账操作时,A节点操作后余额和B、C、D节点不符合,因此A节点因不合法而落后,也就是不能与其他几个节点达成共识,A节点的篡改也会被修正。

四 区块链可以做什么

区块链可以做什么主要取决于它的“防篡改”和“可信溯源”特性,第三节已经介绍了其“防篡改”特性,“可信溯源”其实很好理解,因为每一个节点都存储全量数据,且区块链的链式结构决定了其可以从最新区块追溯到创世区块,也就是所有的交易信息都可以看到,且因为智能合约,产生数据的过程也是由程序或者规则本身完成的,非人为修改,也就自然实现了“可信溯源”。基于这两种特性,区块链自然可以应用诸如但不限于以下几个场景:

4.1 货币发行(比特币)

当前的货币发行是一种中心化的模式,由各国家背书,当然也容易出现像美国这样收割全球的情况,实际上这是一种信任问题,货币本身没有价值。那么利用区块链的去中心化和防篡改特性,我们可以解决信任问题,发行的货币也没有办法随意更改,比特币就是基于这种原理发行的。

4.2 证明

最近出现的很多证明“你是你”,证明“你是你爸的儿子”等奇葩需求都可以得到解决,另外诸如毕业证书,驾驶证书等证书,以及专利发明,论文出书都可以借此保护独创权益。

4.3 中介形式的商业体

所有的中介形式的商业体,类似房产中介,卖车中介等等,都可以在既定的智能合约之下,去中心化,不再需要中介的担保,降本增效

扫描二维码关注公众号,回复: 14632919 查看本文章

猜你喜欢

转载自blog.csdn.net/weixin_44062399/article/details/124960127