分享

从技术角度认识区块链:包括架构及内部结构


区块链架构:

区块链架构.png


区块链数据形式
数据形式.png

区块链底层数据结构

区块链底层数据结构.png



已有(4)人评论

跳转到指定楼层
desehawk 发表于 2018-3-29 14:52:15

1.png



在比特币网络中,数据会以文件的形式被永久记录,我们称这些文件为区块。一个区块是一些或所有最新比特币交易的记录集,且未被其他先前的区块记录。可以将区块想象为一个城市记录者其记录本上单独的一页纸(对房地产产权的变更记录),或者是股票交易所的总账本。在绝大多数情况下,新区块会被加入到记录的最后(在比特币中的名称为区块链),一旦写上,就再也不能改变和删除。每个区块记录了它被创建之前发生的所有事件。

一个区块的区块结构如下所示:


数据项描述长度
Magic no(魔法数)总是0xD9B4BEF94字节
Blocksize(区块大小)到区块结束的字节长度4字节
Blockheader(区块头)包含6个数据项80字节
Transaction counter(交易数量)正整数VI=VarInt1-9字节
Transactions(交易)交易列表(非空)<Transaction counter>-许多交易

每个区块都包括了一个被称为魔法数的常数、区块的大小、区块头、区块所包含的交易数量及部分或所有的近期新交易。在每个区块中,对整个区块链起决定作用的是区块头。

区块头描述:


数据项目的更新时间大小(字节)
Version(版本)区块版本号更新软件后,它指定了一个新的版本号4
hashPrevBlock(前一区块的Hash)前一区块的256位Hash值新的区块进来时32
hashMerkleRoot Merkle(根节点Hash值)基于一个区块中所有交易的256位Hash值接受一个交易时32
Time(时间戳)从1970-01-01 00:00 UTC开始到现在,以秒为单位的当前时间戳每几秒就更新4
Bits(当前目标的Hash值)压缩格式的当前目标Hash值当挖矿难度调整时4
Nonce(随机数)从0开始的32位随机数产生Hash时(每次产生Hash随机数时都要增长)4


1.png

回复

使用道具 举报

desehawk 发表于 2018-3-29 16:04:05
本帖最后由 desehawk 于 2018-3-29 16:06 编辑

区块信息解析


https://webbtc.com 选择一个区块哈希值为000000000003ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506的早期区块进行分析。
1.png
可以看到该区块中包含了三笔交易信息,下面对区块信息字段进行解析。


1.区块头分析
前80个字节是区块头。
[mw_shl_code=bash,true]{
    "hash": "000000000003ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506",
    "ver": 1,
    "prev_block": "000000000002d01c1fccc21636b607dfd930d31d01c3a62104612a1719011250",
    "mrkl_root": "f3e94742aca4b5ef85488dc37c06c3282295ffec960994b2c0d5ac2a25a95766",
    "time": 1293623863,
    "bits": 453281356,
    "nonce": 274148111
}[/mw_shl_code]



字节
字段
说明
4版本区块版本号,表示本区块遵守的验证规则
32父区块头哈希值前一区块的哈希值,使用SHA256(SHA256(父区块头))计算
32Merkle根该区块中交易的Merkle树根的哈希值,同样采用SHA256(SHA256())计算
4时间戳该区块产生的近似时间,精确到秒的UNIX时间戳,必须严格大于前11个区块时间的中值,同时全节点也会拒绝那些超出自己2个小时时间戳的区块
4难度目标该区块工作量证明算法的难度目标,已经使用特定算法编码
4Nonce为了找到满足难度目标所设定的随机数,为了解决32位随机数在算力飞升的情况下不够用的问题,规定时间戳和coinbase交易信息均可更改,以此扩展nonce的位数
说明:
  • 版本、父区块头哈希值和Merkle根采用的是小端格式编码,即低有效位放在前面。
  • 时间戳表示的是自1970年1月1日0时0分0秒以来的秒数

回复

使用道具 举报

hello2018 发表于 2018-3-29 16:20:28
比特币区块链原理图


回复

使用道具 举报

hello2018 发表于 2018-3-29 16:28:01
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条