云社区 博客 博客详情
云社区 博客 博客详情

深入比特币原理(八)——比特币区块链

Aaron 发表于 2018-02-28 09:52:48 02-28 09:52
Aaron 发表于 2018-02-28 09:52:48 2018/02/28
0
1

【摘要】 比特币的出现使人们发现了一项具有巨大潜力的前沿技术——区块链,本节将讨论区块链在比特币中的工作原理。

比特币的出现使人们发现了一项具有巨大潜力的前沿技术——区块链,本节将讨论区块链在比特币中的工作原理。

我们先重温一下比特币白皮书中的一张图

1q.png

当时我们说过这张图就是比特币区块链的雏形,比特币的区块一个一个按顺序连接在一起形成一根链条,被形象的称为区块链


区块是如何连接成区块链的?
首先我们看一下区块(Block)的结构

Size

FieldDescription
4 bytesBlock      Size区块大小,单位bytes
80 bytesBlock      Header区块头信息,详见下文
1–9 bytes (VarInt)Transaction      Counter区块中交易的数量
VariableTransactions区块中所有交易记录的数据 

区块的结构其实非常简单,下面我们再打开区块头(Block Header)的结构一看究竟


Size

FieldDescription
4 bytesVersion区块版本号,目前为2
32 bytesPrevious      Block Hash前置区块(父区块)的区块头Hash,Hash算法为double-SHA256
32 bytesMerkle      Root区块中交易Merkle树根
4 bytesTimestamp区块创建UNIX时间戳
4 bytesDifficulty      Target工作量证明算法难度
4 bytesNonce通过变动该计数器来达成工作量证明要求的结果


  • 区块头的结构中包含一个字段Previous Block Hash,该字段包含父区块头Hash值。

  • 由于每一个区块头的Hash值都是唯一的,并且都会被包含在其子区块头中,所以区块的信息会影响其后面所有的区块。

  • 如果某一个区块被改变,区块头的Hash值就会改变,那该区块后面所有的区块都会需要重做,这需要耗费大量的工作量重新计算(工作量证明),从而保证了比特币区块链的稳定性和安全性。

     区块连接示意图:

2q.png

区块的其他说明:

1.标识一个区块

  • 区块头哈希(Block Header Hash):区块头哈希有时也被称为区块哈希,它可以唯一的标识一个区块,该信息可以随时被计算,并存储在子区块的Previous Block Hash中。

  • 区块高度(Block Height):区块高度即区块在区块链中的位置(第几个区块),创世区块高度为0,每个区块对应一个唯一的高度,但同一高度下可能临时存在多个区块(这种分叉的情况我们在后面挖矿章节讨论)。早期区块高度不会存储在区块中,仅由每个节点自己动态维护,在比特币改进方案BIP-34中提出利用软分叉在coinbase的解锁脚本中添加块高度信息,并将块Version变为2,从227,835块之后全部块的Version已经为2,即包含块高度信息。


2.创世区块

  • 区块链的第一个区块被称为创世区块,比特币的创世区块在2009年创建,现在比特币的所有区块都可以反向追溯到创世区块。

  • 创世区块被静态植入比特币核心客户端中,不能被修改,所有比特币节点都将从创世区块开始构建区块链。

  • 创世区块的Hash:000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

  • 中本聪在创世区块中隐藏的植入一段文字:“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”(这是英国泰晤士报当天的头条新闻标题,一方面证明区块的创建真实时间,一方面暗讽中心化金融系统)


555.jpg

登录后可下载附件,请登录或者注册

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:huaweicloud.bbs@huawei.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
评论文章 //点赞 收藏 1
点赞
分享文章到微博
分享文章到朋友圈

评论 (0)


0/1000
评论

登录后可评论,请 登录注册

评论

您没有权限执行当前操作

温馨提示

您确认删除评论吗?

确定
取消
温馨提示

您确认删除评论吗?

删除操作无法恢复,请谨慎操作。

确定
取消
温馨提示

您确认删除博客吗?

确定
取消

确认删除

您确认删除博客吗?

确认删除

您确认删除评论吗?

温馨提示

登录超时或用户已下线,请重新登录!!!

确定
取消