首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

玖的VBOX带你了解核心技术之区块+链的数据结构

区块链就是依据这个数据结构来命名的,由此可见区块+链的数据结构是区块链很重要的一环,同时也是一大亮点。从技术上来看:区块是一种记录交易的数据结构,反映了一笔交易的资金流向。系统中已经达成的交易的区块连接在一起形成了一条主链,所有参与计算的节点都记录了主链或主链的一部分。

1. 区块

区块作为区块链的基本结构单元,由包含了三组元数据的区块头和包含交易数据区块主体(也叫区块体)两部分组成。

1.1. 区块头

区块头主要包含的三组元数据分别是:(1)用于连接前面的区块、索引自父区块哈希值的数据;(2)挖矿难度、时间戳、Nonce(随机数,用于工作量证明算法的计数器,也可理解为记录解密该区块相关数学题的答案的值);(3)能够总结并快速归纳校验区块中所有交易数据的Merkle(默克尔)树根数据。当然区块头不仅仅包含这些元数据,还有其他比如:版本号、难度值等(以上这些生涩的名称不懂没关系,后面几篇文章都会分析这些技术)。

从这个结构来看,区块链的大部分功能都由区块头实现。

1.2 区块主体

区块主体所记录的交易信息是区块所承载的任务数据,具体包括交易双方的私钥、交易的数量、电子货币的数字签名等。

2. 链

比特币系统大约每10分钟会创建一个区块,这个区块包含了这段时间里全网范围内发生的所有交易。每一个区块都保存了上一个区块的哈希值,使得每个区块都能找到其前一个区块,这样就将这些区块连接起来,形成了一个链式的结构。

3. 区块的形成过程

在当前区块加入区块链后,所有矿工就立即开始下一个区块的生成工作:(1)把在本地内存中的交易信息记录到区块主体中;(2)在区块主体中生成此区块中所有交易信息的Merkle树,把Merkle树根的值保存在区块头中;(3)把上一个刚刚生成的区块的区块头的数据通过SHA256算法生成一个哈希值填入到当前区块的父哈希值中;(4)把当前时间保存在时间戳字段中;(5)难度值字段会根据之前一段时间区块的平均生成时间进行调整,以应对整个网络不断变化的整体计算总量,如果计算总量增长了,则系统会调高数学题的难度值,使得预期完成下一个区块的时间依然在一定时间内。

玖的数码为给用户提供更多元化的VR体验,玖的VBOX【5G VR 矿黑版】里面有受欢迎的优质VR应用,在百度搜索“玖的VBOX”即可了解VBOX更多资讯。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200414A09PUF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券