这是Dreamer的第74篇原创
往期回顾
区块链系列-001:《区块链:西门庆与潘金莲的爱恨情仇》
区块链系列-002:《区块链:西门庆戏耍武大郎》
区块链系列-003:《区块链:智能合约之潘金莲的痛点》
区块链系列-004:《区块链词典,你想知道的都在这里(上)》
近期看了一些区块链的知识,简单做了个总结。接下来的文章会介绍区块链行业中的“术语”,你想了解的区块链知识,这里都将讲述到。所谓是:此文在手,区块链归你所有。
2.1区块数据
区块/Block
区块是在区块链上承载交易数据的数据包,是被标记上时间戳和之前一个区块哈希值的数据结构,区块经过网络的共识机制验证并确认区块中的交易。
父块/ Parent Block
父块是区块的前一个区块,区块链通过在区块头记录区块以及父块的哈希值来在时间上排序。
区块头/ Parent Header
记录当前区块的元信息,包含当前版本号、上一区块的哈希值、时间戳、随机数、Merkle Root的哈希值等数据。此外,区块体的数据记录通过Merkle Tree 的哈希过程生成唯一的Merkle Root 记录于区块头。
区块体/Black Body
记录一定时间内所生成的详细数据,包括当前区块经过验证的、区块创建过程中生成的所交易记录或其他信息,可以理解为账本的一种表现形式。
哈希值/散列值
哈希值通常是一个短的随机字母和数字组成的字符串来代表,是一组任意长度的输入信息通过哈希算法得到的“数据指纹”。因为计算机在底层机器码是采用二进制的模式,因此通过哈希算法得到的任意长度二进制值映射为较短的固定长度的二进制值,即哈希值。此外,哈希值是一段数据唯一且极其紧凑的数值表示形式,如果通过哈希一段明文得到哈希值,哪怕只更改该段明文中的任意一个字母,随后得到的哈希值都将不同。
时间戳
时间戳从区块生成的那一刻起就存在于区块之中,是用于标识交易时间的字符序列,具备唯一性,时间戳用以记录并表明存在的、完整的、可验证的数据,是每一次交易记录的认证。
随机数/一次性的随机数/Nonce
Nonce是指“只是用一次的随机数”,在挖矿中是一种用于挖掘加密货币的自动生成的、毫无意义的随机数,在解决数学难题的问题中被使用一次后,如果不能解决该难题则该随机数就会被拒绝,而一个新的Nonce也会被测试出来并且直到问题解决,当问题解决时旷工就会得到加密货币作为奖励。在区块结构中,Nonce是基于工作量证明所设计的随机数字,通过难度调整来增加或减少其计算时间。在信息安全中,Nonce是一个在加密通信只能使用一次的数字。在认证协议中,Nonce是一个随机或伪随机数,以避免重放攻击。
梅克尔树/Merkle Tree
梅克尔树别名哈希树,是一种二叉树,是一种高效和安全的组织数据的方法,被用来快速查询验证特定交易是否存在,由一个根节点、一组中间节点和一组叶节点组成。它使用哈希算法将大量的书面信息转换成一串独立的字母或数字。最底层的叶节点包含存储数据或其哈希值,每个中间节点是它的两个子节点内容的哈希值。根节点也是由它的两个子节点内容的哈希值组成。
区块容量/Block Size
区块链的每个区块,都是用来承载某个时间段内的数据的,每个区块通过时间的先后顺序,使用密码学技术将其串联起来,形成一个完整的分布式数据库,区块容量代表了一个区块能容纳多少数据的能力。
未花费的交易输出
未花费的交易输出是一个包含交易数据和执行代码的数据结构,可以理解为收到的但尚未花费的加密货币清单。比特币和其他加密货币在其区块链技术中使用UTXO,以验证一个人是否拥有未使用的加密货币可用于支出。
2.2链式结构
链/Chain
链是由区块按照时间的先后顺序,通过区块的哈希值串联而成,是区块交易记录及状态变化的日志记录。
链下/Off-chain
区块链系统从功能的角度讲,是一个价值交换网络,链下是指不存储于区块链上的数据。
无代币区块链/token-less blockchain
即区块链不通过代币进行价值交换,一般出现在不需要在节点之间转移价值并且仅在不同的已被信任放之间共享数据的情况下,如私有链。
创世区块/Genesis Block
区块链中的第一个区块被称为“创世”区块。
区块高度/Block Height
一个区块的高度,是指他与创世区块之间的块数。
分叉/Fork
在区块链中,由旷工挖出区块链接到主链上,一般来讲同一时间只产生一个区块,如果发生在同一时间内有两个区块同时被生成的情况,就会在全网中出现两个长度相同、区块里的数据相同但旷工签名不同或者交易排序不同的区块链,这样的情况叫做分叉。
软分叉/soft Fork
指在区块链或去中心化网络中向前兼容的分叉。向前兼容意味着,当新共识规则发布后,在去中心化架构中节点不一定要升级到新的共识规则,因为软分叉的新规则仍旧符合老的规则,所以未升级的节点仍旧能接受新的规则。
硬分叉/Hard Fork
指在区块链或去中心化网络中不向前兼容的分叉,硬分叉对加密货币使用的技术进行永久更改,这种变化使得所有的新数据块与原来的块不同,旧版本不会接受新版本创建的区块,要实现硬分叉所有用户都需要切换到新版本协议上。如果新的硬分叉失败,所有的用户将回到原始数据块。
孤块/orphan Block
孤块是被遗弃的数据块。因为很多节点都在维护区块链并同时创建多个块,但是一次只能有一个被继续继承,其他被遗弃的数据块就是孤块。
陈腐区块/Stale Block
是父块的父块的“其他”子块,或更一般的说是祖先的其他子块,但不是自己的祖先,如果A是B的一个叔块,那B是A的侄块。
幽灵协议/GHOST Protocol
通过幽灵协议,区块可以包含不只是他们父块的哈希值,也包含其父块的父块的其他子块的陈腐区块的哈希值,这确保了陈腐区块仍然有助于区块链的安全性,并能够获得一定比例的区块奖励,减少了大型旷工在区块链上的中心化倾向问题。
2.3非对称加密
密码学/Cryptography
密码学是数学和计算机学的分支,同时其原理大量涉及信息论。密码学不只关注信息保密问题,还同时涉及信息完整验证、信息发布的不可抵赖性、以及在分布式计算中产生的来源于内部和外部的攻击的所有信息安全问题。
加密/Cipher
加密是一系列使信息不可读的过程,他能使信息加密也能使信息加密后能够再次可读,在加密货币中使用的密码也使用由字母和数字组成的秘钥,该秘钥必须用于解密密码。
加密算法
加密算法是一个函数,也可以视为是一把钥匙,通过使用一个加密钥匙,将原来明文文或数据转化成一串不可读的密文代码。加密流程是不可逆的,只有持有对应的解密钥匙才能将加密信息解密成可阅读的明文。加密使得私密数据可以在风险的情况下,通过公共网络进行传输,并保护数据不被第三方窃取、阅读。
非对称加密
非对称加密是一种保证区块链安全的基础技术。该技术含有两个秘钥:公钥和私钥,首先,系统按照某种秘钥生成算法,将输入经过计算得出私钥,然后,采用一个算法根据私钥生成公钥,公钥的生成过程不可逆。由于在现有的计算能力条件下难以通过公钥来穷举出私钥,因此可以认为数据是安全的,从而能够保证区块链的数据安全。
同态加密
同态加密是一种特殊的加密方法,允许对密文根据特定的代数运算方式进行处理后得到仍然是加密的结果。将其解密所得到的结果与对明文进行同样的运算结果是一样的。即“对密文直接进行处理”与“对明文进行处理后并加密”其结果是一样的,这项技术可以在加密的数据中进行诸如检索、比较等操作而无需对数据先进行解密,从根本上解决数据委托给第三方时的保密问题。
公钥加密
公钥加密是一种特殊的加密手段,具有同一时间生成两个密钥的处理,每一个私钥都有一个相对应的公钥,从公钥不能推算出私钥,并且被用其中一个密钥加密了的数据,可以被另外一个相对应的密钥解密。这套系统使得节点可以现在网络中广播一个公钥给所有节点,然后所有节点就可以发送加密后的信息给该节点,而不需要预先交换密钥。
RSA加密算法
RSA公开密钥密码体制是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推倒出解密密钥在计算上是不可行的”密码体制。他通常是先生存一对RSA密钥其中之一是保密密钥,由用户保存:另一个为公开密钥,可对外公开,甚至在网络服务器中注册。
椭圆加密算法
椭圆加密算法是一种公钥加密体制,最初在1985年提出的,其数学基础是利用椭圆曲线上的有理点构成Abel假发群上椭圆离散型对数的计算困难性。
明文
在密码学中,明文是指传送方想要接收方获得的可读信息。明文经过加密所产生的信息被称为密文,而密文经过解密而还原得来的信息被称为明文。
密文
在密码学中,密文是明文经过加密算法所产生的。因为密文是一种除非使用恰当的算法进行加密,否则人类或计算机是不可以直接阅读理解的加密形态,可以理解为被加密的信息。
未完待,下篇文章近期发布,附上目录如下:
领取专属 10元无门槛券
私享最新 技术干货