学习
实践
活动
工具
TVP
写文章

CCB区块链知识连载二

1 区块数据

区块/ Block区块是在区块链网络上承载交易数据的数据包,是一种被标记上时间戳和之前一个区块的哈希值的数据结构,区块经过网络的共识机制验证并确认区块中的交易。

父块/ Parent Block父块是指区块的前一个区块,区块链通过在区块头记录区块以及父块的哈希值来在时间上排序。

区块头/ Block Header记录当前区块的元信息,包含当前版本号、上一区块的哈希值、时间戳、随机数、Merkle Root 的哈希值等数据。此外,区块体的数据记录通过 Merkle Tree 的哈希过程生成唯一的 Merkle Root 记录于区块头。

区块体/ Block Body记录一定时间内所生成的详细数据,包括当前区块经过验证的、区块创建过程中生成的所有交易记录或是其他信息,可以理解为账本的一种表现形式。

哈希值/ 散列值/ Hash Values / Hash Codes / Hash Sums / Hashes哈希值通常用一个短的随机字母和数字组成的字符串来代表,是一组任意长度的输入信 息通过哈希算法得到的“数据指纹”。因为计算机在底层机器码是采用二进制的模式,因此通过哈希算法得到的任意长度的二进制值映射为较短的固定长度的二进制值,即哈希值。此外,哈希值是一段数据唯一且极其紧凑的数值表示形式,如果通过哈希一段明文得到哈希值,哪怕只更改该段明文中的任意一个字母,随后得到的哈希值都将不同。

时间戳/ Timestamp时间戳从区块生成的那一刻起就存在于区块之中,是用于标识交易时间的字符序列,具备唯一性,时间戳用以记录并表明存在的、完整的、可验证的数据,是每一次交易记录的认证。

随机数/ 一次性的随机数/ Nonce Nonce是指“只使用一次的随机数”,在挖矿中是一种用于挖掘加密货币的自动生成的、 毫无意义的随机数,在解决数学难题的问题中被使用一次之后,如果不能解决该难题则该随机数就会被拒绝,而一个新的 Nonce 也会被测试出来并且直到问题解决,当问题解决时矿工就会得到加密货币作为奖励。在区块结构中,Nonce 是基于工作量证明所设计的随机数字,通过难度调整来增加或减少其计算时间;在信息安全中,Nonce 是一个 在加密通信只能使用一次的数字;在认证协议中,Nonce 是一个随机或伪随机数,以避免重放攻击。

梅克尔树/ Merkle Tree梅克尔树(又叫哈希树)是一种二叉树,是一种高效和安全的组织数据的方法,被用来快速查询验证特定交易是否存在,由一个根节点、一组中间节点和一组叶节点组成。它使用哈希算法将大量的书面信息转换成一串独立的字母或数字。最底层的叶节点包含存储数据或其哈希值,每个中间节点是它的两个子节点内容的哈希值,根节点也是由它的两个子节点内容的哈希值组成。

区块容量/ Block Size区块链的每个区块,都是用来承载某个时间段内的数据的,每个区块通过时间的先后顺序,使用密码学技术将其串联起来,形成一个完整的分布式数据库,区块容量代表了一个区块能容纳多少数据的能力。

未花费的交易输出/ Unspent Transaction Output / UTXO未花费的交易输出是一个包含交易数据和执行代码的数据结构,可以理解为收到的但尚未花费的加密货币清单。比特币和其他加密货币在其区块链技术中使用 UTXO,以验证一个人是否拥有未使用的加密货币可用于支出。

2 链式结构

链/ Chain链是由区块按照发生的时间顺序,通过区块的哈希值串联而成,是区块交易记录及状态变化的日志记录。

链下/ Off-chain区块链系统从功能角度讲,是一个价值交换网络,链下是指不存储于区块链上的数据。

无代币区块链/ Token-Less Blockchain即区块链并不通过代币进行价值交换,一般出现在不需要在节点之间转移价值并且仅在不同的已被信任方之间共享数据的情况下,如私有链。

创世区块/ Genesis Block区块链中的第一个区块被称为“创世”区块。创世区块一般用于初始化,不带有交易信息。

区块高度/ Block Height一个区块的高度是指在区块链中它和创世区块之间的块数。

分叉/ Fork在区块链中,由矿工挖出区块并将其链接到主链上,一般来讲同一时间内只产生一个区块,如果发生同一时间内有两个区块同时被生成的情况,就会在全网中出现两个长度相同、区块里的交易信息相同但矿工签名不同或者交易排序不同的区块链,这样的情况叫做分叉。

软分叉/ Soft Fork指在区块链或去中心化网络中向前兼容的分叉。向前兼容意味着,当新共识规则发布后,在去中心化架构中节点不一定要升级到新的共识规则,因为软分叉的新规则仍旧符合老的规则,所以未升级的节点仍旧能接受新的规则。

硬分叉/ Hard Fork指在区块链或去中心化网络中不向前兼容的分叉,硬分叉对加密货币使用的技术进行永久更改,这种变化使得所有的新数据块与原来的块不同,旧版本不会接受新版本创建的区块,要实现硬分叉所有用户都需要切换到新版本协议上。如果新的硬分叉失败,所有的用户将回到原始数据块。

幽灵协议/ GHOST Protocol通过幽灵协议,区块可以包含不只是他们父块的哈希值,也包含其父块的父块的其他子块(被称为叔块)的陈腐区块的哈希值,这确保了陈腐区块仍然有助于区块链的安全性,并能够获得一定比例的区块奖励,减少了大型矿工在区块链上的中心化倾向问题。

孤块/ Orphan Block孤块是一个被遗弃的数据块。因为很多节点都在维护区块链并同时创建多个区块,但是一次只能有一个被继续继承,而其它被遗弃的数据块就是孤块。

陈腐区块/ Stale Block是父块的父块的“其他”子块,或更一般的说是祖先的其他子块,但不是自己的祖先,如果 A 是 B 的一个叔块,那 B 是 A 的侄块。

CCB商务合作

共识是区块链的基础,CCB区块链俱乐部愿意和众多区块链爱好者、资本机构、项目方、自媒体、教育机构等达成共识,共同促进区块链行业良性发展,有合作意向请添加以下二维码,我们一直在等你!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180326G0PFF800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券