序言

        在现阶段及后10年都是发展主流的数字化经济的催动下,区块链技术越来越火爆。那么比特币的区块数据结构是如何构成的,区块链有什么特性,我们用区块链能用来做什么?我们一起来探讨下。

区块链诞生背景

        2008年11月1日,“中本聪”在一个隐秘的密码学讨论邮件组上贴出一篇研究报告《比特币:一种点对点的电子现金系统》,论文中阐述了希望可以创建一套“基于密码学原理而不基于信用,使得任何达成一致的双方能够直接进行支付,不需要第三方中介参与”的电子支付系统。
        2009年1月,以区块链技术为基础的比特币发行交易系统正式开始运行,随着比特币区块链中第一个区块生成,比特币诞生。

区块链是什么?

        从科技层面来看,区块链涉及数学、密码学、互联网和计算机编程等很多科学技术问题。从应用视角来看,区块链是一个分布式的共享账本和数据库
        区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链它本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批交易的信息,用于验证其信息的有效性(防伪)和关联前一区块 。

区块链的数据结构

        区块链(blockchain),顾名思义,由区块形成的链。那“区块”是什么?形成的链又是怎样的呢?
首先,我们来一起分析分析“区块”。“区块”是一种记录交易的数据结构,每个区块由区块头和区块主体组成,区块主体负责记录前一段时间内的所有交易信息,区块链的大部分功能则都由区块头实现。区块结构如下所示
都2021年了,还不知道什么是区块链就out了 | 从区块链数据结构到应用_区块链

什么是创世区块

        区块链里的第一个区块由中本聪创建于2009年,被称为创世区块。它是区块链里面所有区块的共同祖先,这意味着你从任一区块,循链进行回溯,最终都将到达创世区块。创世区块被中本聪内置到了区块链里,所以每一个节点都始于至少包含一个区块的区块链,这能确保创世区块不会被改变。每一个节点都知道创世区块的哈希值、结构、创建时间和区块交易。因此,每个节点都把该区块作为区块链的首区块,从而构建了一个安全的、可信的区块链的根。

区块的header和body
header

        区块中区块头大小是80个字节,包含以下6部分数据:,包括:4个字节的version、32个字节的PrevBlockHash、32个字节的Merkle Root Hash、4个字节的timestamp、4个字节的Bits、4个字节的Nonce

Version:是区块链的版本号,用于记录区块版本,判断出块是否有效

PrevBlockHash:是前一个区块的哈希值,依据该信息区块之间形成链结构

Timestamp:区块创建的是时间戳,仅供参考意义,每个节点上的时间无法100%的确保一致

Bits:当前出块难度值,它决定了大概需要经过多少次哈希运算才能产生一个合法的区块。出块之前,区块链网络设置了一个target值,target值越低,生成有效hash的集合就越小,生成有效hash就越困难。
target值 = 最大目标值 / 难度值,其中最大目标值是固定的。

Nonce 区块工作证明的参数。由于给定的一组数据只能生成一个hash,矿工如何确保他们生成的hash小于target?它们通过添加一个称为nonce的整数(number only used once )来改变输入的数据,一旦找到一个有效的hash,它就被广播到网络中,同时区块被添加到区块链中,找到这个nonce整数的矿工就能获得数字货币奖励。

Merkle Root Hash:是区块中所有交易的markle数root节点的hash值,交易数据的验证主要依赖markle进行,通过Merkle Root Hash,区块能以很小的代价保存交易信息
都2021年了,还不知道什么是区块链就out了 | 从区块链数据结构到应用_区块链_02
上述图表述了Merkle Root Hash的计算过程,由于Merkle树涉及的内容比较多,我们后续单独在文章进行分析。

body

        区块body主要负责记录区块内的交易信息,包含以下3部分信息:区块大小、交易计数、交易信息(hash列表)。

区块链的特点

去中心化

        由于使用分布式计算和存储,不存在中心化的硬件或管理机构,任意节点的权利和义务都是均等的,系统中的数据块由整个系统中具有维护功能的节点来共同维护。

开放性

        系统是开放的,除了交易各方的私有信息被加密外,区块链的数据对所有人公开,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明。

自治性

        区块链采用基于协商一致的规范和协议(比如一套公开透明的算法)使得整个系统中的所有节点能够在去信任的环境自由安全的交换数据,使得对“人”的信任改成了对机器的信任,任何人为的干预不起作用。

信息不可篡改

        一旦信息经过验证并添加至区块链,就会永久的存储起来,除非能够同时控制住系统中超过51%的节点,否则单个节点上对数据库的修改是无效的,因此区块链的数据稳定性和可靠性极高。

匿名性

        由于节点之间的交换遵循固定的算法,其数据交互是无需信任的(区块链中的程序规则会自行判断活动是否有效),因此交易对手无须通过公开身份的方式让对方自己产生信任,对信用的累积非常有帮助。有兴趣的可以研究研究零知识证明

区块链的应用场景

        区块链主要的优势是无需中介参与、过程高效透明且成本很低、数据高度安全。所以,在这三个方面有任意一个需求的行业都有机会使用区块链技术。
电子存证:应用区块链技术将电子材料、业务数据、用户行为等信息进行固定,实现防篡改、可验真、可追溯。
跨境支付:在时间方面,传统跨境汇款需要10分钟或数日不等,而区块链跨境汇款可实现汇款秒到账。在便捷性方面,传统跨境汇款在19时以后需要等到次日才能转账,而区块链跨境汇款只需一台手机即可实现全天候汇款。
一键溯源:通过区块链技术将商品信息上链,包括原产地,施肥周期,打药周期等等,消费者一键扫码,查看商品生命周期信息,实现了商品信息的防篡改、可验真、可追溯。

区块链就介绍到这里啦,喜欢的朋友们帮忙动动手指点个赞吧!