LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 拆分区块链 详解区块与链的构成组件

拆分区块链 详解区块与链的构成组件

2019-11-12 量化踢马河 来源:区块链网络

70zeOSu2p2ldaHcD7BqYpm0uC48QoRk2KzJO3IMN.jpeg

最近,自从我国官方明确表示要加快推动区块链技术和产业的创新和发展之后,区块链的概念一路火到了圈外,越来越多的人开始了解区块链、学习区块链。从结构上来说,区块链是由区块和链组成的,可区块链中的块到底是什么?链又究竟是什么?包括哪些要素,各个要素分别代表着什么含义?大多无人知晓,本文就来对这些问题进行详细解析。

区块链是一连串的数据块,每个块都可以视为分类账中的一页,每个块都由几个部件组成。这些部件可以大体上分为块的头部(块标题)和身体(块主体)。

块标题

区块中的头,也就是块标题分为六个部分:

1.该软件的版本号;

2.上一个区块的哈希;

3.默克尔树(Merkle tree)的根哈希;

4.自1970-01-01 T00:00UTC以来的时间(时间以秒为单位);

5.当前的难度目标;

6.随机数。

软件的版本号

大多数情况下,软件的版本号并不重要。但是,矿工可以用特定版本号进行签名,并以此证明他支持的是哪种协议决策。

上一个区块的哈希

在区块链中,上一个区块的哈希即可被认为是“链”。由于上一个区块的哈希会继续被包含在新区块的哈希中,因此,区块链中的各个区块全部都是基于彼此而建立的。如果没有这个组成部分,每个区块之间将不能建立连接也不再有时间顺序。

默克尔树的根哈希

区块中包含的所有交易都可以汇总为哈希,而这些就正是默克尔树的根哈希。

自1970-01-01 T00:00UTC以来的时间

众所周知区块链中包含有时间戳,什么是时间戳?就是一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据。通常是一个字符序列,唯一的标识某一刻的时间。

密码朋克斯图尔特·哈伯斯(Stuart Haber)和斯科特·斯托奈塔(Scott Stornetta)在1997年的时候提出了一个用时间戳保证数字文件安全的协议。二人的解释是,用时间戳的方式表达文件创建的先后顺序,协议要求文件在创建后,其时间戳不可改动,这也使得文件被篡改的可能性为零。这就是现在区块链时间戳协议的原型。

区块链里的时间戳采用的是Unix时间戳,1970-01-01 T00:00UTC的定义为格林威治时间1970年1月1日00时00分00秒(北京时间的1970年1月1日08时整)。以秒为单位,记录着从该时间至今为止的总秒数。通过时间戳可以验证数据存在或者发生的具体时间点。

当前的难度目标

都听过比特币的挖矿,难度目标就是比特币系统中调控挖出区块所用平均时间的参数。挖矿时,对挖矿困难程度的度量被称为挖矿难度,难度越大,就越难挖出区块,目标值就越小。而难度目标通过转化目标值得出,比特币系统通过调整难度目标来控制挖出区块所需的平均时间。直观点来看的话,开头有很多零的区块更难得到。

随机数

随机数是通过工作证明递增的变量。通过这种方法,矿工猜测有效哈希,此哈希小于目标。此随机数不能被操控也不能被预测。

以上六个部件构成了区块链中的块标题,也就是头的部分。头部在区块链中起着重要的基本作用,它将所有的区块连接在一起。

块主体

当矿工在构造一个区块的时候,它会验证交易。即,他会检查发送人是否实际上真的拥有足够的“货币”。这些信息可以轻松的被从区块链中读取到,例如,如果发送者想要发送10个比特币,他是否在之前已经获得了10个且尚存于钱包中。

默克尔树(Merkle Tree)

默克尔树的名字源自于数学家拉尔夫·默克尔(Ralph Merkle)。被发现可以在单个哈希中表示许多信息。为此,首先需要对数据本身进行哈希处理;之后,哈希再次被哈希合并;最终,默克尔树合并为单个哈希。最后的哈希也被称为根哈希,也就是树的根。它用相对较短的字符串表示“叶子”(个体交易)和“分支”(叶子的哈希)的所有信息。

只要知道所有的叶子和分支,创建根哈希就非常快速简便。哈希函数在一个方向上清晰快捷的工作,并且在另一个方向上无法分解。如果根哈希已知,但事务未知,则不可能猜测事务。由此可见,仅凭根哈希是不够的,必须同时保存块的其他部分。因此,矿工可以随时通过新哈希中包含在块中的信息来验证根哈希。只要哈希函数相同,对于给定的数据输入总是会得到相同的哈希。

搜索特殊哈希

在挖矿时,通过逐步更改区块中头的部分以获取特殊的哈希。头部由五个常数和一个变量组成。常量是软件的版本号,上一个区块的哈希,默克尔树的根哈希,时间戳和搜索到的哈希目标大小(以字节为单位)。

挖矿是一个高度重复的过程,目标是找到特殊的哈希,找到特殊哈希的概率取决于难度。比特币平均每十分钟会发现一个新的区块。此过程只能通过猜测找到特殊的哈希,该速率消耗计算能力,因此消耗能量。特殊哈希十分容易认出,因为它以零为开头。例如:000000000000000000094bfa4edb1245c347e42452e4418e9fe5a1d24e335b16。

本文部分内容编译自Marko Vidrih的《What Is a Block in the Blockcain?》,原版版权归原作者所有,编译版权归量化踢马河所有。

1573533845773487.jpg

踢马河:RaTiO Fintech合伙人,曾任某券商自营操盘手,十余年海外对冲基金和国内大型投资机构基金经理,资深交易建模专家,币圈大咖。

请尊重原创!转载请注明出处。

—-

编译者/作者:量化踢马河

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...