6.1. 区块链教程术语表¶
- Bitcoin¶
- blockchain¶
由区块(通常为 交易 的区块)组成的链表,其中链接包含指向区块的哈希值。通过这种方式,区块的内容(进而区块链中的任何先前区块)无法在不使哈希值失效的情况下被修改,从而向社区中的所有方发出信号,表明区块链已被破坏。区块链通常是 公共账本 的基础。
- Byzantine agreement¶
一种 共识算法 。该算法在 区块链 和 加密货币 之前早已存在,之所以如此命名,是因为它旨在解决一个名为“拜占庭将军问题”的故事性问题。在网络中,其目的是在遵循协议的“诚实”结点之间达成共识,即使部分参与结点是“不诚实”的或恶意的。要取得成功,它要求 2/3 的结点必须是“诚实”的。
- Casper¶
- consensus¶
- consensus algorithm¶
在 分布式账本 中,将包含 交易 的新区块添加到 区块链 的过程。算法通常定义以下主要部分:如何提议下一个区块、如何验证该区块上的交易,以及该区块如何在网络中传播并被社区接受。
- cryptocurrency¶
一种依靠各种密码学服务来保障安全的电子货币。通常, 区块链 被用作存储所维护货币之 交易 的 公共账本 的基础。最典型的情况是,区块链在 分布式账本 内以 无许可账本系统 实现,从而不存在控制该加密货币的中心机构。因此,需要一种 共识算法 来允许社区用新交易更新账本。
- distributed ledger¶
- distributed public ledger¶
一个没有中央控制器负责将区块添加到 区块链 的 公共账本 。相反,使用 算法 来确定谁有权提议下一个区块,以及如何将其传播给社区。
- Ether¶
以太坊生态系统中实际加密货币硬币的名称。
- Ethereum¶
- fork¶
在 区块链 系统中,这是指社区成员持有不同版本区块链的状态。这些通常是 软分叉 ,将由 算法 解决。 硬分叉 是对区块链的永久性更改,会修改先前已验证的块。
- full node¶
在 区块链 网络中,通常有许多参与者,称为结点。
- hard fork¶
在 区块链 中,区块链的内容以某种方式被不可撤销地篡改,且无法通过常规共识算法解决。因此,社区的不同成员拥有不同的区块链版本,而这些版本无法通过 算法 解决。这与 软分叉 形成对比。当区块链系统采用新的共识协议或其他实现变更,或从黑客攻击及其他灾难性内容损坏中恢复时,有时会对其进行硬分叉。
- ledger¶
在 区块链 系统的上下文中,账本是关于某些资源(例如 加密货币 )的交易记录。此类账本系统通常是 公共 的,也可能为 分布式 。
- Merkle proof¶
一种高效的方法,用于证明 交易 是合法的,仅需 \(O(log n)\) 个结点即可完成,其中 \(n\) 表示区块中的结点数量。这是通过从交易向上移动到其所在 树 的根路径来实现的。
- Merkle tree¶
类似于 区块链 ,只不过它是一种树结构。具体而言,树包含一组组织成二叉树的 交易 ,其中每个指针都关联一个哈希值。给定树的根结点的正确哈希值,则在不使从该交易到根结点路径上的哈希值失效的情况下,无法修改树中的任何交易。
- miner¶
- mining¶
在一个使用基于 工作量证明 的 算法 的 加密货币 中,矿工是试图获得向加密货币 区块链 添加交易权利的实体。这通常通过消耗计算资源(从而“证明”他们完成了“工作”)来猜测一个成功的 随机数 值。
- NFT¶
- Non-fungible token.¶
独一无二且无法复制的事物。其常见形式是所有权的数字记录,通常针对图像或数据等数字对象。虽然数字对象本身仍可被复制,但所有权记录所体现的所有权事实旨在保持唯一性。NFT 与可替代令牌形成对比,后者是一种可互换的非唯一对象。在 加密货币 上下文中,可替代令牌最常见的是加密货币本身的硬币。
- nonce¶
添加到数据块中的一个值,它会使结果数据(即由 nonce 增强的原始数据)的哈希码具有特定属性(通常是结果哈希码小于某个值)。这通常用于基于 工作量证明 的 算法 中,以控制是否允许给定参与者提议将块添加到 区块链 。 矿工 会猜测 nonce 值,直到找到一个使哈希值满足该属性的值,从而付出努力(即工作量“证明”)。
- permissioned ledger system¶
- permissioned system¶
- permissionless ledger system¶
- permissionless system¶
一个 公共账本 ,其中任何人都可能被允许更新账本(尽管他们可能需要执行特定操作才能这样做,参见 工作量证明 和 权益证明 )。 分布式公共账本 在此意义上通常是无许可的。
- proof of burn¶
一种不常用的 算法 基。
- proof of capacity¶
一种不常用的 算法 基。
- proof of stake¶
在 算法 的 分布式账本 中,权益证明是一种个人或团体可以主张权利以提出下一个要添加到区块链的交易区块的方式。其名称源于提出此主张需要抵押赌注(通常以某种加密货币或由该分布式账本管理的其他资源形式)。例如, 以太坊 加密货币就使用了权益证明。这与使用 工作量证明 作为主张提出下一个区块权利的机制形成对比。
- proof of work¶
在 分布式账本 的 算法 中,工作证明是一种个人或团体声称有权提出下一个要添加到区块链中的 交易 块的方式。这是通过消耗资源(工作,通常以计算周期形式)来解决一个问题(最常见的是,为 随机数 猜测数字,直到偶然发现一个具有正确属性的数字)。例如, 比特币 加密货币就使用了工作证明。这与使用 权益证明 作为声称有权提出下一个块的机制形成对比。
- public ledger¶
一个公开的分类账( 交易 的集合及由此产生的账户余额),意味着特定社区内的任何人都可以查看交易序列。为了保护公共分类账免受恶意篡改,它通常构建在 区块链 之上。一个简单的公共分类账将拥有某个被授权向区块链添加新区块(即将交易添加到分类账)的权威机构。而 分布式账本 虽然是公开的,却没有这样的中央权威机构。相反,交易区块是通过 算法 添加到分类账中的。
- public-key cryptography¶
一种用于识别给定实体是否发送了消息,或能够接收发给他们的消息的身份验证方案。它基于一对匹配的密钥。给定一条消息,其中一个密钥可以加密该消息,以便另一个密钥对其进行解密。通常,实体会发布其“公”钥,并将其“私”钥保密。
- simple payment verification¶
验证声称位于区块链某个区块中的给定交易是否真正合法的过程。该过程的一部分是确保交易通过高效的 默克尔证明 正确地关联到 树 。
- smart contract¶
一种位于 公共账本 上的非静态 交易 。本质上是用专用编程语言为此目的编写的程序。智能合约的示例包括除简单加密货币转账之外的物品所有权转移(特别流行的是 非同质化代币 的所有权转移),或一系列长期交易,例如定期支付租金。
- soft fork¶
在 区块链 中,社区的不同成员拥有不同版本的区块链。理想情况下,这是一种由网络非瞬时性引起的暂时状态,并将通过 算法 得到解决。这与 硬分叉 形成对比,后者中区块链的内容已被以某种方式不可撤销地篡改,且无法通过常规算法解决。
- thin node¶
在 区块链 网络中,通常有许多参与者,称为结点。薄结点存储的信息极少,仅包含结点所有者直接关心的内容,例如当前账户余额和涉及该所有者的交易。薄结点的典型例子是 加密货币 的 钱包 。薄结点与 结点 形成对比,后者包含区块链的完整副本。
- transaction¶
一项转移某物的协议。简单的静态交易 merely 是账户 A 将某种价值转移给账户 B 的形式。 智能合约 是用编程语言实现的一种交易形式,因此可以更为复杂。在基于 区块链 的系统中,为了实现更高效的处理,交易通常符合 未花费交易输出 模型。
- Unspent Transaction Output¶
- UTXO¶
在 公共账本 中定义交易的一种模型。一个简单的静态交易可能是"Alice 支付给 Bob 10 枚硬币”。如果交易看起来是这样,那么计算账户的当前余额就需要在整个 区块链 中查找所有此类交易。在 UTXO 模式下,如果 Alice 有 25 枚硬币,交易将显示为"Alice 支付给 Bob 10 枚硬币。Alice 支付给 Alice 15 枚硬币。”,从而计入账户中当前的所有硬币。通过这种方式,只需查看最近的交易即可知道账户余额。
- wallet¶
在 加密货币 的上下文中,这是一种维护某人账户信息的数字系统。它是 结点 的经典示例,仅维护与相关加密货币有关的最少必要信息(即账户余额和有关关联 交易 的信息)。如果该加密货币构建在没有中央机构管理的 分布式账本 上,那么丢失账本的密码或密钥将使该账户拥有的任何资源永久无法访问。
