S 区块链 数据结构 ✉ 区块链 区块 区块链以区块为单位组织数据。全网所有的交易记录都以交易单的形式存储 区块是一种记录交易的数据结构。每个区块由区块头和区块主体组成,区块 在全网唯一的区块链中。 主体只负责记录前一段时间内的所有交易信息,区块链的大部分功能都由区 块头实现。 这块连,全球线一的,公开的效据华,可用于记 区块 区块 创世区执 上一境的 上一区快的 哈5列 机 哈滑数列 地悦国 用来实现区 用来实现挖 用来实现区 用来实现挖 块的连接 矿机制」 块的连接 矿机俐 交易信鸟 文易信息 除页曰区块 区块形成过程 区块头 在当前区块加入区块链后,所有矿工就立即开始下一个区块的生成工作。 1. 版本号,标示软件及协议的相关版本信息 5刀11 49 1.把在本地内存中的交易信息记录到区块主体中 2.父区块哈希值,引用的区块链中父区块头的哈希值, 2.在区块主体中生成此区块中所有交易信息的Merkle树,把Merkle树 通过这个值每个区块才首尾相连组成了区块链,并 最斟算交号g 目这个值对区块链的安全性起到了至关重要的作用 根的值保存在区块头中 3. Merkle根,这个值是由区块主体中所有交易的哈希 3.把上一个刚刚生成的区块的区块头的数据通过SHA256算法生成一个 值再逐级两两哈希计算出来的一个数值,主要用于 哈希值填入到当前区块的父哈希值中 检验一笔交易是否在这个区块中存在 4. 把当前时间保存在时间戳字段中 4. 时间戳,记录该区块产生的时间,精确到秒 5.难度值字段会根据之前一段时间区块的平均生成时间进行调整以应对整 5. 难度值,该区块相关数学题的难度目标 个网络不断变化的整体计算总量,如果计算总量增长了,则系统会调高 6. 随机数(Nonce),记录解密该区块相关数学题的答案 2510%11 数学题的难度值,使得预期完成下一个区块的时间依然在一定时间内 的值 学以致用 DATABASE@UESTC 用以促学学以致用 DATABASE@UESTC 用以促学