区块链密码学专用术语解析
扫描二维码
随时随地手机看文章
密钥:分为加密密钥和解密密钥。
明文:没有进行加密,能够直接代表原文含义的信息。
密文:经过加密处理之后,隐藏原文含义的信息。
加密:将明文转换成密文的实施过程
解密:将密文转换成明文的实施过程。
密码算法:密码系统采用的加密方法和解密方法,随着基于数学的密码技术的发展,加密方法一般称为加密算法,解密方法一般称为解密算法。
密码通讯系统的模型:
对于给定的明文 m 和密钥 k,加密变换 Ek 将明文变为密文 c=f(m,k)=Ek(m),在接收端,利用解密密钥 k(有时 k=k,)完成解密操作,将密文 c恢复成原来的明文 m=Dk,(c)。一个安全的密码体制应该满足:①非法截收者很难从密文 C 中推断出明文 m;②加密和解密算法应该相当简便,而且适用于所有密钥空间;③密码的保密强度只依赖于密钥;④合法接收者能够检验和证实消息的完整性和真实性;⑤消息的发送者无法否认其所发出的消息,同时也不能伪造别人的合法消息;⑥必要时可由仲裁机构进行公断。
哈希算法:哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。一般用于快速查找和加密算法。
哈希表是根据设定的哈希函数 H(key)和处理冲突方法将一组关键字映射到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地址或散列地址。作为线性数据结构与表格和队列等相比,哈希表无疑是查找速度比较快的一种。
通过将单向数学函数(有时称为“哈希算法”)应用到任意数量的数据所得到的固定大小的结果。如果输入数据中有变化,则哈希也会发生变化。哈希可用于许多操作,包括身份验证和数字签名。也称为“消息摘要”。
简单解释:哈希(Hash)算法,即散列函数。它是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。哈希函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
给定表 M,存在函数 f(key),对任意给定的关键字值 key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表 M 为哈希(Hash)表,函数 f(key)为哈希(Hash) 函数。
2 数字货币专有名词
比特币:是一种加密数字货币,在 2009 年由化名的开发者中本聪(SatoshiNakamoto)以开源软件形式推出。
以太坊:是一个有智能合约功能的公共区块链平台。
智能合约:是由时间驱动的、具有状态的、运行在一个复制的、分享的账本上的、且能够保管账本上资产的程序。
公有链:是任何人在任何地方都能发送交易且交易能获得有效确认的、任何人都能参与其中共识过程的区块链。
以太坊虚拟机:设计运行在点对点网络中所有参与者节点上的一个虚拟机,它可以读写一个区块链中可执行的代码和数据,校验数据签名,并且能够以半图灵完备的方式来运行代码。它仅在接收到经数据签名校验的消息时才执行代码,并且区块链上存储的信息会区分所做的适当行为。
激励权益证明共识:在权益证明共识中加入了激励措施,估计节点在线,激励网络中的节点可以保持在线以维护网络的稳定性和安全性。
硬分叉:区块链发生永久性分歧,在新公式规则发布后,部分没有升级的节点无法验证已经升级的节点生产的区块,通常硬分叉就会产生。
图灵完备:一个能计算出每个图灵可计算函数的计算系统被称为图灵完备。一个语言是图灵完备的,意味着该语言的计算能力与一个通用图灵机相当,这也是现代计算机语言所能拥有的最高能力。
Oracle:根据预先设定的判断条件,对输入数据进行筛选,选择最适合的数据作为输入数据。
Data feeds:数据馈送,为区块链提供数据链下数据来源。
POS:权益证明共识机制。根据每个节点所占代币的比例和时间,等比例地降低挖矿难度,从而加快找随机数的速度。
UTXO:未花费交易输出。比特币网络中使用的交易模型。
POW:工作量证明共识机制。一方(通常称为证明人)提交已知难以计算但易于验证的计算结果,而其他任何人都能够通过验证这个答案就确信证明者为了求得结果已经完成了大量的计算工作。
DAO:分布式自治组织。通过一系列公正公开的规则,可以在无人干预的和管理的情况下自主运行的组织结构。