《精通比特币》读书笔记之区块链上

精通比特币 - 图片来自简书App

今天的越写越快乐系列文章为大家带来比特币核心也就是区块链在比特币系统中的应用逻辑,即比特币的底层是如何设计区块结构和进一步把区块连接起来构成区块链这样的数据结构(也就是比特币底层存储数据的规则)。

简介

区块链的数据结构是由包含交易信息的区块按照由远及近的顺序链接起来。它的表现为一个平面文件,或者存储在一个简单的数据库中。比特币核心客户端是由Google的LevelDB数据库存储区块链元数据。区块链经常被视为一个垂直的,第一个区块作为栈底的首区块,随后每一个区块都放置在之前的区块之上。用栈来形象化表示区块依次堆叠这一概念后,我们便可以使用一些术语,比如:“高度”来表示区块与首区块直接的距离,“顶部或者顶端”来表示最新添加的区块。
对每个区块头进行SHA256加密哈希,可生成一个哈希值,通过这个哈希值可以识别出区块链中的对应区块。同时,每个区块都可以通过其区块头的“父区块哈希值”字段引用前一区块(父区块)。也就是说,每一个区块头都包含它的父区块哈希值。这样把每个区块链接到各自父区块的哈希值序列就创建了一条一直可以追溯到第一个区块(创世区块)的链条

区块结构

区块是一种被包含在公开账簿里的聚合了交易信息的容器数据结构。它由一个包含元数据的区块头和紧跟其后的构成区块主体的一长串交易列表组成。区块头长度是80字节,平均每个交易至少250字节,而且平均每个区块至少包含超过500个交易,因此一个包含所有交易的完整区块链比区块头大1000倍。下图描述了一个区块结构。

Size Field
4 bytes Block Size
80 bytes Block Header
1-9 bytes(VarInt) Transaction Counter
Variable Transactions

区块头

Size Field
4 bytes Version
32 bytes Previous Block Hash
32 bytes Merkle Root
4 bytes Timestamp
4 bytes Difficulty Target
4 bytes Nonce

区块标识符 - 区块头哈希值和区块高度

区块标识符可以通过两种方式进行获取,第一种是通过区块头哈希值,区块头哈希值可以唯一、明确地标识一个区块,并且任何节点通过简单地对区块头进行哈希计算都可以独立地获取该区块哈希值。第二种是通过该区块在区块链中的位置,即区块高度,也就是当前区块到首区块的距离(以垂直的栈为类比),这是因为每个区块都会在区块头中存储父区块的哈希值,那么使用区块高度或者区块头哈希值都可以获取一个区块信息。

创世区块

区块链里的第一个区块创建于2009年,被称为创世区块。它是区块链里面所有区块的共同祖先,这意味着你从任一区块,循链向后回溯,最终都将到达创世区块。

区块链接成为区块链

比特币的全节点在本地保存了区块链从创世区块起的完整副本。随着最新区块的产生,该区块的本地副本会不断更新用于扩展这个链条。当一个节点从网络接收传入的区块时,它会验证这些区块,然后链接到现有的区块链上,为建立一个连接,一个节点将检查传入的区块头并寻找该区块的“父区块哈希值”。

个人感想

作为比特币系统中承载交易的数据核心,区块链这种数据机构配合默克树可以快速归纳和校验大规模数据完整性。那么对于验证交易并写入区块数据而言则非常重要,正是因为区块链这种数据结构,比特币当中使用的技术《区块链》才慢慢流行起来,也正是这种数据结构的应用后来的以太坊、EOS等公有链才逐渐进入大众的视野,才被大家所熟知,慢慢地才有更多的人去投资、学习区块链技术。以便在将来的日子里看懂区块链项目,当成韭菜就不好了。当然要深入理解区块链技术也不是一朝一夕的事情,我有耐心和时间去研究和学习这方面的知识并通过理论和实战的方式去深刻体会技术的真谛和本质,以便于对自己的工作、生活有一定的帮助。那么接下来我会继续为大家带来《精通比特币》的读书笔记,希望大家可以通过本书的学习对比特币系统有一个更加深刻的认识。要是我的文章对你有所启发,那将是我莫大的荣幸。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容

  • 一、快速术语检索 比特币地址:(例如:1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV)由一串...
    不如假如阅读 15,912评论 4 88
  • 1 货币的演变——从贝壳到比特币 当社会分工产生之后,人类就产生了商品交换的需求。在货币被发明之前,人类是以以物换...
    longlee阅读 7,624评论 1 23
  • 《自控力》这书是本课程必读的第一本,这本书我很早以前就买了纸书,但是一直放书架上,看了几页又放下,看了几页又放下,...
    Juzid055阅读 198评论 4 2
  • 【日精进打卡第36天】 姓名:缪秋香 公司:蔚蓝时代杭州分公司 【知~学习】 【经典名句分享】 没有实力,愤怒毫无...
    香香521阅读 93评论 0 0
  • 一个人成功,一定有他做得对的地方;失败了,一定有他做错的原因。你不要总是纠结已经发生的结果,还不如心平气和去分析一...
    故事学者阅读 163评论 0 0