必须掌握的区块链术语

小白入门 SBCo
  • 时间:
  • 浏览:
必须掌握的区块链术语

本文是我收藏整理的一些区块链术语。感兴趣的可以收藏之:

地址

比特币地址(例如:1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV)由一串字符和数字组成。它其实是通过对160位二进制公钥哈希值进行base58check编码后的信息。就像别人向你的email地址发送电子邮件一样,他可以通过你的比特币地址向你发送比特币。

bip

比特币改进提议(Bitcoin Improvement Proposals的缩写),指比特币社区成员所提交的一系列改进比特币的提议。比特币改进提案是向比特币社区提供信息的设计文档,或用于描述比特币的新功能,流程或环境。

根据BIP-01也就是BIP目的和指南(BIP Purpose and Guidelines)的规定,有三种BIP:

标准类BIP:描述影响大多数或所有比特币实现的任何更改,例如网络协议的更改,区块或交易有效性规则的更改,或影响使用比特币的应用程序的互操作性的任何更改或附加。信息类BIP:描述比特币设计问题,或向比特币社区提供一般准则或信息,但不提出新功能。信息类BIP不一定代表比特币社区的共识或建议,因此用户和实施者可以忽略信息类BIP或遵循他们的建议。过程类BIP:描述一个比特币过程,或者提出一个过程的更改(或一个事件)。过程类BIP类似于标准类BIP,但适用于比特币协议本身以外的其他领域。他们可能会提出一个实现,但不是比特币的代码库;他们经常需要社区的共识;与信息类BIP不同,它们不仅仅是建议,用户通常也不能随意忽略它们。例如包括程序,指南,决策过程的变化以及对比特币开发中使用的工具或环境的更改。任何元BIP也被视为一个过程BIP。

BIP记录在GitHub上的版本化存储库中:https://github.com/bitcoin/bips。

比特币

“比特币”既可以指这种虚拟货币单位,也指比特币网络或者网络节点使用的比特币软件。

区块

一个区块就是若干交易数据的集合,它会被标记上时间戳和之前一个区块的独特标记。区块头经过哈希运算后会生成一份工作量证明,从而验证区块中的交易。有效的区块经过全网络的共识后会被追加到主区块链中。

区块链

区块链是一串通过验证的区块,当中的每一个区块都与上一个相连,一直连到创世区块。

拜占庭将军问题

一个可靠的计算机系统必须能够处理一个或多个组件产生的失败。一个失败的组件可能表现出通常被忽略的行为类型,即发送矛盾的信息到系统的不同部分。处理这类失败类型的问题抽象地被表达为拜占庭将军问题。

coinbase

一个用于为创币交易提供专门输入的特殊字段。coinbase允许声明区块奖励,并为任意数据提供多大100字节。不要与创币交易混淆。

Coinbase交易

区块中的第一个交易。该交易是由矿工创建的,它包含单个coinbase。不要与Coinbase混淆

冷存储

该术语指的是离线保存比特币。当比特币的私钥被创建,同时将该私钥存储在安全的离线环境时,就实现了冷存储。冷存储对于任何比特币持有者来说是重要的。在线计算机在黑客面前是脆弱的,不应该被用于存储大量的比特币。

染色币

比特币2.0开源协议允许开发者在比特币区块链之上,利用它的超越货币的功能创建数字资产。

确认

当一项交易被区块收录时,我们可以说它有一次确认。矿工们在此区块之后每再产生一个区块,此项交易的确认数就再加一。当确认数达到6及以上时,通常认为这笔交易比较安全并难以逆转。

共识

当网络中的许多节点,通常是大部分节点,都拥有相同的本地验证的最长区块时,称为共识。不要与共识规则混淆。

共识规则

全节点与其他节点保持共识的区块验证规则。不要与共识混淆。

难度

整个网络会通过调整“难度”这个变量来控制生成工作量证明所需要的计算力。

难度重定

全网中每新增2016个区块,全网难度将重新计算,该新难度值将依据前2016个区块的哈希算力而定。

难度目标

使整个网络的计算力大致每10分钟产生一个区块所需要的难度数值即为难度目标。

双重支付

双重支付是成功支付了1次以上的情况。比特币通过对添加到区块中的每笔交易进行验证来防止双重支付,确保交易的输入没有被支付过。

ECDSA

椭圆曲线数字签名算法(ECDSA)是比特币使用的加密算法,以确保资金只能被其正确拥有者支付。

超额随机数

随着难度增加,矿工通常在循环便利4亿次随机数值后仍未找到区块。因为coinbase脚本可以存储2到100字节的数据,矿工开始使用这个存储空间作为超额nonce空间,允许他们利用一个更大范围的区块头哈希值来寻找有效的区块。

矿工费

交易的发起者通常会向网络缴纳一笔矿工费,用以处理这笔交易。大多数的交易需要0.5毫比特币的矿工费。

分叉

分叉也被称为意外分叉,是在两个或多个区块拥有同一区块高度时发生的,此时使区块链产生了分叉。典型情况是两个或多个区块矿工几乎在同一时刻发现了区块。共识攻击的情况下也会出现分叉。

创世块

创世区块指区块链上的第一个区块,用来初始化相应的加密货币。

硬分叉

硬分叉,也叫硬分叉改变,是区块链中一个永久分歧。通常在已按照新的共识规则进行了版本升级的节点产生了新区块时,那些未升级节点无法验证这些新区块时产生硬分叉。不要与分叉、软分叉或者Git分叉混淆。

硬件钱包:

硬件钱包是一种特殊的比特币钱包,硬件钱包可以将用户的私钥存储在安全的硬件设备中。

哈希:

二进制输入数据的一种数字指纹。

哈希锁:

哈希锁是限制一个输出花费的限制对象,其作用一直持续到指定数据片段公开透露。哈希锁有一个有用的属性,那就是一旦任意一个哈希锁被公开打开,其他任何安全使用相同密钥的哈希锁也可以被打开。这使得可能创建多个被同意哈希锁限制的输出,这些支出将在同一时间被花费。

HD协议:

层级确定性(HD)密钥创建和传输协议(BIP32),该协议允许按层级方式从父密钥创建子密钥。

HD钱包:

使用创建层次确定的钥匙和BIP32传输协议的钱包。.

HD钱包种子:

HD钱包种子或根种子是一个用于为HD钱包生成主私钥和主链码所需种子的潜在简短数值。

哈希时间锁定合约:

哈希时间锁定合约(HTLC)是一类支付方式,其使用哈希锁和时间锁来锁定交易。解锁需要接收方提供通过加密支付证明承认在截止日期之前收到了支付,或者接收方丧失了认领支付的能力,此时支付金额将返回给支付方。

KYC:

充分了解你的账户(KYC,Know yourcustomer)是一个商业过程,用于认证和验证顾客的身份信息。也指银行对这些活动的监管。

LevelDB:

LevelDB是一个开源的硬盘键值对数据库。LevelDB是一个用于持久性绑定多个平台的轻量级、单用途的库。

闪电网络:

闪电网络是哈希时间锁定合约(HTLCs)的一种建议实现方式。闪电网络通过双向支付通道方式允许支付方通过多个点对点支付通道安全地完成支付。这将允许一种支付网络的构建,该网络中的一方可以支付给其他任何一方,即使在他们双方没有直接建立支付通道的情况。

锁定时间:

锁定时间(技术上来说是nLockTime)是交易的一部分,其表明该交易被添加至区块链中的最早时间或区块。

交易池:

比特币内存池是区块中所有交易数据的集合,这些交易已经被比特币节点验证,但未被确认。

默克尔根:

默克尔树的根是树的根节点,该节点为树中所有节点对的多次哈希计算结果。区块头必须包括区块中所有交易哈希计算得到的有效默克尔根。

默克尔树:

生成一棵完整的Merkle树需要递归地对哈希节点对进行哈希,并将新生成的哈希节点插入到Merkle 树中,直到只剩一个哈希节点,该节点就是Merkle 树的根。在比特币中,叶子节点来自于单个区块中的交易。

矿工:

一个为新区块通过重复哈希计算来寻找有效工作量证明的网络节点。

多重签名:

多重签名指的是需要多于一个密钥来验证一个比特币交易。

网络:

传播交易和区块至网络中每个比特币节点的点对点网络。

随机数:

随机数是比特币区块中一个32位(4字节)的字段,在设定了该值后,才能计算区块的哈希值,其哈希值是以多个0开头的。区块中的其他字段值是不变的,因为他们有确定的含义。

离线交易:

离线交易是区块链外的价值转移。当在链交易(通常简单来说就是一个交易)修改区块链并依赖区块来决定它的有效性时,离线交易则依赖其他方法来来记录和验证该交易。

操作码:

操作码来源于比特币脚本语言,通过操作码可以在公钥脚本或签名脚本中实现压入数据或执行函数的操作。

开放资产协议:

开放资产协议是一个建立在比特币区块链纸上简单有效的协议。它允许用户创建资产的发行和传输。开放资产协议是颜色币概念的一个进化。

OP_RETURN:

一个用在OP_RETURN交易中的一种输出操作码。不要与OP_RETURN交易混淆。

OP_RETURN交易:

OP_RETURN在比特币核心0.9.0中默认的一种被传播和挖出的交易类型,在随后的版本中添加任意数据至可证明的未花费公钥脚本中,全节点中无需将该脚本存储至他们的UTXO数据库中。不要与OP_RETURN操作码混淆。

孤块:

孤块由于父区块未被本地节点处理的区块,所以他们还不能被完全验证。

孤立交易:

孤立交易是指那些因为缺少一个或多个输入交易而无法进入交易池的交易。

交易输出:

交易输出(TxOut)是交易中的输出,交易输出中包含两个字段:1.输出值字段:用于传输0或更多聪;2.公钥脚本:用于确定这些聪需在满足什么条件的情况下才可花费。

P2PKH:

支付到比特币地址的交易包含支付公钥哈希脚本(P2PKH)。由P2PKH脚本锁定的交易输出可以通过给出由相应私钥创建的公钥和数字签名来解锁(消费)。

P2SH:

P2SH是一种强大的、新型的、且能大大简化复杂交易脚本的交易类型而引入。通过使用P2SH,详细描述花费输出条件的复杂脚本(赎回脚本)将不会出现在锁定脚本中。相反,只有赎回脚本哈希包含在锁定脚本中。

P2SH地址:

P2SH地址是基于Base58 编码的一个含有20 个字节哈希的脚本。P2SH地址采用“5”前缀。这导致基于Base58 编码的地址以“3”开头。P2SH 地址隐藏了所有的复杂性,因此,运用其进行支付的人将不会看到脚本。

P2WPKH:

P2WPKH签名包含了与P2PKH花费相同的信息。但是签名信息放置于见证字段,而不是签名脚本字段中。公钥脚本也被修改了。

P2WSH:

P2WSH与P2SH的不同之处在于加密证据存放位置从脚本签名字段转变至见证字段,公钥脚本字段也被改变。

纸钱包:

在大多数特定含义下,纸钱包是一个包含所有必要数据的文件,这些数据用于生成比特币私钥,形成密钥钱包。然而,人们通常使用该术语来表达以物理文件形式离线存储比特币的方式。第二个定义也包括纸密钥和可赎回编码。

支付通道:

微支付通道和支付通道是 设计用于允许用户生成多个比特币交易,且无需提交所有交易至比特币区块链中。在一个典型的支付通道中,只有两个交易被添加至区块链中,但参与双方可以生成无限制或接近无限制数量的支付。

矿池:

矿池一种挖矿方式,在矿池中多个客户端共同贡献算力来产生区块,然后根据贡献算力大小来分配区块奖励。

权益证明:

权益证明(POS)是一种方法,加密货币区块链网络获得分发共识。POS会让用户证明其拥有的资产总量(他们在数字货币中的权益)。

工作量证明:

工作量证明指通过有效计算得到的一小块数据。具体到比特币,矿工必须要在满足全网目标难度的情况下求解SHA256算法。

奖励:

每一个新区块中都有一定量新创造的比特币用来奖励算出工作量证明的矿工。现阶段每一区块有12.5比特币的奖励。

RIPEMD-160:

RIPEMD-160是一个160位的加密哈希函数。RIPEMD-160是RIPEMD的加强版,其哈希计算后的结果是160位哈希值。通过RIPEMD-160加密期望能实现在未来的10年或更长时间都是安全的。

中本聪:

中本聪有可能是一个人或一群人的名字。中本聪是比特币的设计者,同时也创建了比特币的最初实现,比特币核心。作为实现的一部分,他们还发明了第一个区块链数据库。在这个过程中,他们是第一个为数字货币解决了双花问题的人或组织。但他们的真实身份仍然未知。

脚本:

比特币使用脚本系统来处理交易。脚本有着类Forth语言、简单、基于堆栈以及从左向右处理的特点。脚本故意限定为非图灵完备的,没有循环计算功能。

ScriptPubKey (公钥脚本):

脚本公钥或者公钥脚本是包含在交易输出中的脚本。该脚本设置了比特币花费需满足的条件。满足条件的数据可以由签名脚本提供。

ScriptSig (签名脚本):

签名脚本是有支付端生成的数据,该数据几乎总是被用作满足公钥脚本的变量。

秘钥 (私钥):

用来解锁对应(钱包)地址的一串字符,例如5J76sF8L5jTtzE96r66Sf8cka9y44wdpJjMwCxR3tzLh3ibVPxh+。

隔离见证:

隔离见证是比特币协议的一个升级建议,该建议技术创新性地将签名数据从比特币交易中分离出来。隔离见证是一个推荐的软分叉方案;该变化将从技术上使得比特币协议规则更严谨。

SHA:

安全哈希是有NIST(国家标准技术研究所)发布的加密哈希函数族。

软分叉:

软分叉是区块链中的一个短暂分叉,通常是由于矿工在不知道新共识规则的情况下,未对其使用节点进行升级而产生的。不要与分叉、硬分叉、软分叉或者Git分叉混淆。

SPV (简化支付验证):

简化支付验证是在无需下载所有区块的情况对特定交易进行验证的方法。该方法被用在一些比特币轻量级客户端中。

旧块:

旧块是那些被成功挖出,但是没有包含在当前主链上的区块,很有可能是同一高度的其他区块优先扩展了区块链长度导致的。

时间锁:

时间锁是一种阻碍类型,用于严格控制一些比特币只能在将来某个特定时间和区块才能被支出。时间锁在很多比特币合约中起到了显著的作用,包括支付通道和哈希时间锁合约。

交易:

简单地说,交易指把比特币从一个地址转到另一个地址。更准确地说,一笔“交易”指一个经过签名运算的,表达价值转移的数据结构。每一笔“交易”都经过比特币网络传输,由矿工节点收集并打包至区块中,永久保存在区块链某处。

交易池:

一个无序的交易集合,该集合未在主链的区块中,但其有输入交易。

图灵完备:

在给定足够时间与内存的情况下,如果一个编程语言开发的程序能运行在图灵机上,该编程语言就被称为“图灵完备”的编程语言,

UTXO (未花费交易输出):

UTXO是未花费交易输出,UTXO可以作为新交易的输入。

钱包:

钱包指保存比特币地址和私钥的软件,可以用它来接受、发送、储存你的比特币。

WIF (钱包导入格式):

钱包导入格式是一个数据交换格式,设计用于允许导出和导入单个私钥,该私钥通过标志标明是否使用压缩公钥。

延伸概念分散化应用程序

为了某些特定目的(如:在某些市场上连接买家和卖家,共享文件,网络文件存储,维持货币),无论是使用还是创建一个分散的网络,由许多人来运行的程序。基于以太坊的分散式的应用程序(也称为Đapps,其中Đ为北欧字母“eth”)通常包括一个HTML/ JavaScript的网页,并且如果在以太浏览器内部查看的话,可识别特殊的Javascript的API,用于发送交易数据到区块链,从区块链读取数据,和耳语,蜂群交互数据。一个Đapp通常在区块链上有特定的相关合约,但有利于创造许多合约的Đapps是完全可能的。

分散化组织(GDO)

一个没有中央领导,而是使用正式民主投票进程和共识主动性自我组织的结合来作为其基本操作原则。一个不太令人印象深刻,但有时混淆的概念是“地理上的分散化组织”(GDO),组织里人在相距甚远的地方工作,甚至可能都没有办公室; GDOs可能会有正式的中央领导。

忒修斯标准

用于查明一个组织的分散化程度的测试。测试如下:假设组织有N个人,然后外星人一次从组织中(比如每周一次)挑选K个人出来,摧毁他们存在,在每个群里以K个对组织不了解的新人来代替。现在为了让组织起作用,K可以高达多少人呢?在独裁政权里,当K=1即独裁者被摧毁后就会失败。美国政府稍微好一点,但如果参议院和国会的所有638成员突然消失了的话,仍然会有很大的问题。但像比特币或BitTorrent即便对极高的K值也具有复原性,因为新的代理人可以简单地根据自己的经济动机来填补缺失的角色。还有一个更严格的测试,拜占庭忒修斯标准,它包含同一时间内随机的用恶意行为者取代K个用户一段时间,之后再替换成新用户。

委任式民主(或流动式民主)

一个对于DOs(分散式组织)和DAO(分散式自治组织)的治理机制,在默认情况下每个人对每件事情都投票,但在某些特定的问题上个人可以选择特定的他人为他们投票。这个想法概括了以下2种民主的权衡,完全直接民主(每个人都有相同的权力)和专家意见/有某些特定人提供的快速决策能力(允许人们自己顺从朋友,政治家,领域专家或者自己选择的任何人)。

部分被投机市场控制的理论上的政府:最初是由Robin Hanson提出的,为了管理政治组织治理机制。但它实际上是非常适用DOs和DAO的:通过预测市场来管理。从根本上,一些易于衡量成功的标准被选择,还有发行由成功标准的值来决定的代币,这些代币将在未来的某个时间(例如,1年后)被支付,对于每个可能要采取的行动都用一个这样的代币。这些代币都被兑换为相应的美元代币,如果相应的措施被执行,正好1美元会被支付 (如果相应的措施没有被执行,这两种类型的代币支付0美元,所以正在被执行的行动的概率不会影响价格)。市场预计的行动将有最好的结果,当其代币在市场上有高价格时会被执行。这提供了另一种自治的,选择机制,同时奖励专家的意见。

代币制度:本质上是可以交易的虚拟代替物。更正式地说,代币制度是一个数据库,它映射地址到数字,并具有以下属性,基本允许的操作是把N个代币从A转给B,条件是N是非负,且N不小于A的当前余额,授权该转账的证件由A进行数字签名。二次“发行”和“消费”的操作也可以存在,交易费用也可以被收集,许多当事人同时进行转账也是可能的。典型应用案例,包括货币,网络加密代币,公司的股份和数字礼品卡。

激励相容

如果每个人都更好的“遵守规则”而不是试图欺骗,除非至少要大量的人都同意同时一起欺骗,那么协议是激励相容的。

基本收入

每隔一段时间(比如几个月)就给每一个唯一的身份发送一定量的代币的想法。其最终目的是为了让不愿意工作或者不能工作的人能够依靠这份津贴活下来。这些代币可以简单的凭空制作出来,或者来自收益流(比如来自创收实体或政府)。为了单靠基本收入使人能够生活,可能会用到多个收益流的组合。

公益

一个为非常多的人提供了一个非常小的好处的服务。这样就没有任何个体对是否进行生产有影响力,因此也没有人有动力来支付。

声誉

身份的一个属性,其他实体认为这个身份可以(1)胜任一些特定的任务,或(2)在一些情况下是值得信赖。比如说不太可能因为短期的获利而出卖别人。

信任网络

如下的想法,如果A高度信任B,B高度信任C,则A可能是信任C的。为决定特定个体在特定概念下的可靠性的复杂而有力的机制,理论上可以由这个原则推断出来。

第三方托管:如果两个低信誉的实体所从事的贸易时,付款人可能希望把钱留在具有高信誉的第三方,并指示只有在产品交付后,才让第三方把钱发给收款人。这减少了付款人或收款人欺诈的风险。

保证金

放入合约里的涉及另外一方的数字资产,如果某些条件不满足时,该资产会自动被对方没收。

抵押

放入合约里的涉及另外一方的数字资产,如果某些条件不满足时,该资产会自动被销毁或据献给慈善或者基本收入基金。也许可以让利益广泛分配,但必须让特定的个人不能显著的受益。