1. 哈希算法
哈希算法是一种常见的单向加密算法,它将一串数据加密生成一串二进制,但不能由二进制还原为原来的数据。该算法有一下特点:
- 相同的输入得到相同的二进制串
- 不同对输入得到不同的二进制串,即有强对抗性,不同的数据不会产生相同的哈希值
- 输出的二进制长度是一致的
1.1 哈希算法结构
在区块链中很多地方用了哈希算法,比如对区块计算哈希值。在实际区块链中区块包含元数据的区块头和紧跟其后的构成区块主体的一长串交易,结构如下:
| 哈希算法结构 | 大小字段描述 |
|---|---|
| 大小字段描述 | 4字节版本版本号,用于跟踪软件/协议的更新 |
| 4字节区块大小用字节表示的该字段之后的区块大小 | 32字节父区块哈希值引用区块链中父区块的哈希值 |
| 80字节区块头组成区块头的几个字段 | 32字节Merke根该区块中交易的merkde树根的哈希值 |
| 11-9(可变整数)交易计数器交易的数量 | 4字节时间戳该区块产生的近似时间(精确到秒的Unibx时间戳) |
| 可变的交易记录在区块里的交易信息 | 4字节难度目标该区块工作量证明算法的难度目标 |
| 4字节Nonce用于工作量证明算法的计数器 |
2. 默克树
转载自CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/remsqks/article/details/158538806



