主页 > imtoken钱包官网苹果版 > 区块链的定义和原理

区块链的定义和原理

imtoken钱包官网苹果版 2023-09-23 05:09:04

随着以比特币为代表的虚拟货币不断受到市场关注,虚拟货币的核心技术——区块链也逐渐受到社会各界的关注。 以汇丰、高盛为代表的银行机构已经看到了区块链在内部结算中的应用; 以德勤为代表的审计机构将区块链应用于财务审计; 以纳斯达克为代表的交易平台看中了区块链的去中心化特性; 以IBM为代表的科技公司着手将区块链技术应用于物联网; 以微软为代表的软件技术公司将重点建立区块链开发标准。 总而言之,区块链已经成为全球各大机构的发展重点和关注点。 把握区块链的发展,顺势而为,将会有很大的发展空间。 下面以比特币为例介绍区块链的定义和原理。

一、区块链的定义

国际上已经建立了多个区块链联盟,每个区块链联盟都会根据自己的研究重点来定义区块链。 维基百科将区块链定义为分布式数据库,可用于按时间顺序管理数据,并确保数据不可篡改。 其数据结构由按时间顺序排列的数据块组成,每个数据块包含一段时间的交易信息,并带有时间戳和指向前一个块的指针。

为了便于理解,本文将区块链概括为由多个节点共同维护和信任的分布式数据库。 数据库将一定时间内系统中的所有数据转换成关联的字符串,并指向上一个数据库块,形成一条完整的链。 数据库还通过密码学中非对称加密的公私钥校验对内部数据进行加密,确保数据安全。

中本聪论文中的介绍如图:

比特币主连比特币连续的区别_外国的比特币便宜中国的比特币贵为什么?_比特币定义

比特币定义_外国的比特币便宜中国的比特币贵为什么?_比特币主连比特币连续的区别

图 1 区块链运行机制图 [1]

区块链是一种数据结构,由若干个具有时间顺序的区块从后向前依次链接起来,包含交易信息。 每个区块包含了当前区块形成时间的所有信息,由一个哈希值封装并指向上一个区块。 数据结构可以看作是一个垂直的栈,可以形象地理解为每个块就像一个盒子,每一个新的块都堆叠在前一个块之上,形成一个盒子的栈,所以“高度”可以表示区块与第一个区块之间的距离;“top”指的是最新的区块;区块头像是盒子的表面,封装了内部交易信息并指示父区块链的位置。每个区块头都可以找到它的父区块块,最后追溯到创世块。

比特币定义_外国的比特币便宜中国的比特币贵为什么?_比特币主连比特币连续的区别

以比特币为例。 比特币开发了自己的区块链,客户端使用谷歌的LevelDB数据库存储区块链元数据。 每个区块头都经过SHA256加密,生成一个Hash值,用于标识区块链对应的区块,其中包含了父区块的Hash字段。 虽然每个块只有一个父块,但是一个父块可以临时有多个子块。 这种出现多个子区块的情况称为“分叉”。 临时情况被认为是软分叉。 随着区块链的延续,短叉将被移除,只保留长叉; 的分叉称为硬分叉,起源于程序大幅度修改导致的版本不一致。 比特币区块链区块存储限制的调整属于硬分叉。

区块链上的不变性是显而易见的。 由于区块头应该包含“父块Hash”字段,父块的任何修改都会引起子块的变化,子块的变化又会引起孙子块的变化,这种变化会一直传递到最新的区块,而这种变化是无规律的,受制于“雪崩效应”,这意味着任何人想要改变前一个区块的内容,都会花费大量的算力去计算一条更长的链,也就是 Realize “51% 攻击”。 这对于修改器来说太昂贵了。 另外,即使实现了51%攻击,也只能抹掉自己的交易信息,不能修改整个程序和参数。 这也是比特币安全性的一个关键特征。 在比特币的区块链中,当计算出六个区块(1小时)时,基本可以确认该区块不会再被篡改。 超过六个区块后,位置越深,被篡改的可能性就越小。 区块产生后,已经保证区块足够稳定(可以观察期间的算力分布,不会出现51%算力长期集中的情况),使得交易(包括交易新开采的比特币)确认。 而在几千个区块(一个月)之后,区块链将成为确定的历史,永远不会改变。

2. 区块链原理

比特币主连比特币连续的区别_外国的比特币便宜中国的比特币贵为什么?_比特币定义

主流的区块链记录都是采用比特币的记录方式,以比特币为代表介绍区块链的原理。 一个区块主要由两部分组成:区块头和区块内容数据。 区块内容数据是一长串交易,构成紧跟在区块头之后的区块主体。 区块头有80字节,每笔比特币交易至少使用250字节,每个区块至少包含500多笔交易比特币定义,但每个区块的存储限制为1M。 也就是说,在每笔交易保证最少交易内容并保持250字节记录量的情况下,每十分钟产生的一个区块总共可以记录4000笔交易,换算成每秒约4000笔交易。 7倍,但通常比特币的区块链时间都在十几分钟以上,每笔交易记录字节在250字节以上,导致实际记录较少。 在比特币交易量大的今天,交易记录的低频率一直饱受诟病,因此比特币有扩容的需求。 在 2017 年 5 月举行的 Consensus 2017 大会上,一些比特币公司与 80% 的矿工签署了 SegWit2x,并通过 BIP91 激活了隔离验证。 Segregated Witness启动后,2017年末或2018年初会有一次硬分叉,将区块大小限制从目前的1MB增加到2MB。但无论是否扩容,区块结构都保持不变。 表 1 描述了块结构。

表 1 块结构

比特币定义_外国的比特币便宜中国的比特币贵为什么?_比特币主连比特币连续的区别

外国的比特币便宜中国的比特币贵为什么?_比特币主连比特币连续的区别_比特币定义

80 字节的块头由三部分组成。 第一组是指父块的Hash值,用于指向父块,保证区块链的连通性; 第二组是元数据,即计算难度、时间戳和Nonce,与挖矿竞争直接相关; 第三组是默克尔树根,用于高效汇总区块中所有交易的数据结构。 下表详述了区块头的数据内容。

表2 区块头结构

比特币主连比特币连续的区别_比特币定义_外国的比特币便宜中国的比特币贵为什么?

外国的比特币便宜中国的比特币贵为什么?_比特币定义_比特币主连比特币连续的区别

区块的主要标识是其加密后的Hash值,通过SHA256算法对区块头进行二次哈希得到的数字指纹不包含在区块的数据结构中。 主标识符可以唯一清晰地标识一个区块,任何节点都可以通过对区块头的简单操作来验证区块的哈希值。 需要注意的是,由于块标识符不包含在块的结构中,因此块的哈希值可以作为块元数据的一部分存储在单独的数据库表中,以用作索引的目录更快地从磁盘中检索块。

当然,找到指定区块不仅要通过Hash值目录来索引,还要通过区块的“高度”来确认。 例如:比特币创世块的哈希值为:

000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f对应的区块为第一个区块,区块高度为0,但与Hash值确认不同的是,区块高度不能作为确定区块的唯一标识。 原因是一个父块可以临时有多个子块,只有子块完全稳定才能实现唯一确认。 也就是说,找到一个区块有两种方法比特币定义,一种是使用区块哈希值,另一种是使用区块高度。 但是区块Hash值可以直接找到唯一对应的区块,而搜索区块高度可能会找到多个区块。

参考:

[1]Nakamoto S. 比特币:一种点对点的电子现金系统[J]。 咨询,2008 年。