Skip to content

Latest commit

 

History

History
257 lines (174 loc) · 16.3 KB

术语.asciidoc

File metadata and controls

257 lines (174 loc) · 16.3 KB

快速术语表

这个术语表包含了许多与比特币相关的术语。这些术语在整本书中都有使用,所以把它作为一个快速参考。

地址(address)

比特币的地址看起来是这样的: 1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV。它由一串字母和数字组成。它实际上是一个公共密钥160位哈希的base58check编码版本。就像你让别人给你发电子邮件一样,你也会让别人把比特币发给你的一个比特币地址。

比特币改进建议(bip)

比特币改进建议,比特币社区的成员们提交了一套改进比特币的提议。例如,BIP-21提议改进比特币统一资源标识(URI)方案。

比特币(bitcoin)

货币单位(coin)的名称、网络和软件。

区块(block)

以时间戳为标记的一组交易,以及上一个区块的指纹。区块的头被进行哈希运算以产生工作证明,从而验证交易。有效的区块在网络上达成共识后被到主区块链中。

区块链(blockchain)

一系列经过验证的区块组成的列表,每个区块都链接到它的前一个区块,一直到创世区块。

拜占庭将军问题(Byzantine Generals Problem)

一个可靠的计算机系统必须能够处理它的一个或多个组件的故障情况。失败的组件可能表现出一种经常被忽略的行为,即向系统的不同部分发送冲突信息。 处理这类失败的问题抽象地表述为拜占庭将军问题。

币基(coinbase)

一种特殊的字段,用作币基交易的的唯一输入。coinbase允许声明区块奖励,并可提供最多100字节的任意数据。 不要与币基交易(coinbase transaction)混淆。

币基交易(coinbase transaction)

区块中的第一笔交易。通常由矿工创建,包含一个币基。 不要与币基交易(coinbase)混淆。

冷存储(cold storage)

指的是保持比特币的离线储备。当比特币私钥被创建并存储在安全的脱机环境中时,就可以实现冷存储。对持有比特币的人来说,冷存储很重要。网络计算机容易受到黑客攻击,不应该用来储存大量比特币。

彩色币(colored coins)

一个开源的比特币2.0协议,允许开发者利用比特币区块链的功能创建数字资产。

确认(confirmations)

一旦交易包含在一个区块中,它就有一个确认。只要有另一个区块在同一个区块链上开采,交易就会有两个确认信息,依此类推。六个或更多的确认被认为足以证明交易无法撤销。

共识(consensus)

当几个节点(通常是网络上的大多数节点)在其本地验证的最佳块链中都具有相同的块时,即达成共识。 不要与共识规则(consensus rules)混淆。

共识规则(consensus rules)

完整节点遵循的块验证规则,为了与其他节点达成共识。 不要与共识(consensus)混淆。

挖矿难度(difficulty)

一个全网范围的配置,控制需要多少计算来产生工作证明。

难度重新计算(difficulty retargeting)

每产生2,016个块,全网重新计算一次挖矿难度,并考虑先前的2016个块的哈希计算能力。

难度目标(difficulty target)

使网络中平均10分钟生产一个区块的难度。

双重支付(double-spending)

双重支付是将某笔前成功花费一次以上的结果。通过验证每个添加到区块链的交易来确保交易的输入先前没有花费,比特币可以防止双重支出。

椭圆曲线数字签名算法(ECDSA)

ECDSA (Elliptic Curve Digital Signature Algorithm)是比特币使用的一种加密算法,以确保资金只能由其合法所有者使用。

额外的随机数(extra nonce)

随着困难的增加,矿工经常循环遍历所有40亿个临时值,仍没有产生区块。因为币基(coinbase)脚本可以存储2到100个字节的数据,所以矿工开始使用这个空间作为额外的随机数空间,允许他们探索更大范围的区块头数据以找到有效的区块。

交易费(fees)

交易的发起人通常会向网络提供交易处理的费用。大多数交易需要0.5mBTC的最低费用。

分叉(fork)

分叉,或意外分叉,当两个或两个以上的块具有相同的块高度时发生,导致区块链分叉。通常发生在两个或更多矿工几乎同时发现矿块时,也可能作为一种攻击方式发生。

创世区块(genesis block)

区块链中的第一个区块,用来初始化加密货币。

硬分叉(hard fork)

硬分叉(Hard fork),也叫做硬分叉更改(Hard-Forking Change),是区块链中的一种永久分歧,通常发生于未升级的节点无法验证升级节点创建的区块时。 不要与分叉(fork),软分叉(soft fork),软件分叉(software fork)或Git分叉(git fork)混淆。

硬件钱包(hardware wallet)

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

哈希(hash)

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

哈希锁(hashlocks)

哈希锁是一种限制一笔输出在指定的数据公开前不能被消费的财产留置权。哈希锁非常有用,一旦一把哈希锁被打开,任何其他使用相同密钥保护的哈希锁也会被打开。这使得我们可以创建多个输出,这些输出都被同一个哈希锁留置,并且可以在同一时间变成可消费的。

分层确定性协议(HD protocol)

分层确定性(HD)密钥创建和传输协议(BIP32),允许从层次结构中的父密钥创建子密钥。

分层确定性钱包(HD wallet)

使用分层确定性(HD Protocol)密钥创建和传输协议(BIP32)的钱包。

分层确定性钱包种子(HD wallet seed)

HD钱包种子或根种子是一种可能很短的值,用于生成HD钱包的主私钥和主链代码的种子。

哈希时间锁定合约(HTLC)

哈希时间合约(Hashed TimeLock Contract)或HTLC是一种支付类型,它使用哈希锁和时间锁来要求一笔支付的收款方要么在指定日期之前通过生成加密收款证明,要么放弃接受支付的权力,将其返还给支付方。

了解你的客户(KYC)

了解你的客户(Know your customer,KYC)是一项企业活动,表示识别并验证它的客户。该术语也用于指代管理这些活动的银行法规。

LevelDB

LevelDB是一个开源的基于磁盘的键值存储引擎。LevelDB是一个用于持久化存储的,轻量级的,单用途库,与许多平台绑定。

闪电网络(Lightning Networks)

闪电网络是带有双向支付渠道的哈希时间锁合约(HTLC)的建议实现,其允许多笔支付在多个点对点支付渠道上安全路由。这样就可以形成一个网络,网络中的任何一点都可以向任何其他点发起支付,即使他们之间没有直接通道。

锁定时间(Locktime)

Locktime, 或者更专业地叫做nLockTime, 是交易的一部分,它表明该交易可能被添加到区块链时最早的时间或最早的区块。

内存池(mempool)

比特币内存池(memory poll)是经过比特币节点验证但尚未确认的所有交易数据的集合。

默克尔根(merkle root)

Merkle树的根节点,区块头必须包含一个有效的merkle根,根据该块中的所有交易生成。

默克尔树(merkle tree)

通过计算每对儿数据(树叶)的哈希值构建的树,然后再对结果进行配对和哈希,直到只剩一个哈希值,即merkle根。在比特币中,叶子几乎总是来自单个块的交易。

矿工(miner)

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

多重签名(multisignature)

多重签名(multisigature)是指要求多个密钥授权比特币交易。

网络(network)

一个点对点网络,用于将交易和数据块传播到网络上的每个比特币节点。

随机数(nonce)

比特币区块中的“nonce”是一个32位(4字节)的字段,通过设置它的值可以使得区块的哈希值包含若干个前导零。其余的字段可能不会改变,因为它们具有定义的含义。

脱链交易(off-chain transactions)

脱链交易是区块链之外的价值转移,链上交易(通常简称为交易)修改区块链并依靠区块链来确定其有效性,脱链交易依赖于其他方法来记录和验证交易。

opcode

比特币脚本语言的操作代码,用于在公钥脚本或签名脚本中推送数据或执行功能。

开放资产协议(Open Assets protocol)

开放资产协议(Open Assets Protocol)是一个建立在比特币区块链之上的简单而强大的协议。它允许发布和传输用户创建的资产。开放资产协议是彩色币概念的演变。

OP_RETURN

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

OP_RETURN 交易

一种交易类型,它将任意数据添加到可证明不可消费的pubkey脚本中,完整节点不需要存储在其UTXO数据库中。不要与OP_RETURN操作码混淆。

孤块(orphan block)

其父区块还未被本地节点验证的块,所以它们也不能被完全验证。不要和陈腐区块(stale block)混淆

孤儿交易(orphan transactions)

由于缺少一个或多个输入交易,而无法进入交易池的交易。

输出(output)

输出,交易输出,或者TxOut,是交易中的输出,其包含两个字段:一个用于传递零个或多个聪(satoshis,比特币最小单位)的值域和一个用于指示为了进一步花费这些聪必须满足什么条件的pubkey脚本。

P2PKH

向比特币地址支付的交易包含P2PKH(Pay To PubKey Hash)脚本,由P2PKH锁定的输出可以通过公钥和由对应的私钥创建的数字签名来解锁(消费)。

P2SH

P2SH(Pay-to-Script-Hash)是一种功能强大的新型交易,大大简化了复杂交易脚本的使用。通过P2SH,详细说明消费输出(赎回脚本)的复杂脚本不会显示在锁定脚本中,只有它的哈希值在锁定脚本中。

P2SH地址

P2SH地址是一个脚本的20比特哈希值的Base58Check编码, P2SH地址使用版本前缀“5”,导致Base58Check编码后的地址以“3”开头。P2SH地址隐藏了所有的复杂性,因此付款人看不到脚本。

P2WPKH

P2WPKH(Pay-to-Witness-Public-Key-Hash)的签名包含与P2PKH支出相同的信息,但位于witness字段而不是scriptSig字段。scriptPubKey也被修改了。

P2WSH

P2SH和P2WSH(Pay-to-Witness-Script-Hash)之间的差异是加密证明信息的位置从scriptSig字段变为witness字段,scriptPubKey字段也被修改了。

纸钱包(paper wallet)

具体来讲,纸质钱包是一个文件,其中包含生成任意数量的比特币私钥所需的所有数据,形成了密钥的钱包。但是,人们经常使用这个术语来表示任何将比特币作为物理文档离线存储的方式。第二个定义还包括纸密钥和可兑换代码。

支付通道(payment channels)

小额支付通道或支付通道是一类技术,旨在允许用户进行多个比特币交易,而无需将所有交易交给比特币区块链。在典型的支付通道中,只有两笔交易被添加到区块链中,但参与者之间可以进行无限次或几乎无限次数的付款。

矿池挖矿(pooled mining)

矿池采矿是一种采矿方式,其中多个客户端合力产生一个区块,然后根据它们提供的处理能力分割区块奖励。

权益证明(Proof-of-Stake)

权益证明(Proof-of-Stake,PoS)是一种加密货币区块链网络实现分布式共识的方法。权益证明要求用户证明一定数量的货币(它们在货币中的“股份”)的所有权。

工作量证明(Proof-of-Work)

需要大量计算才能找到特定数据。在比特币中,矿工必须找到SHA256算法的数字解决方案,以满足整个网络的目标,即难度目标。

奖励(reward)

包含在每个新区块中的一定数量的比特币,作为对网络中发现工作证明解决方案的矿工的奖励。目前它是每个区块12.5比特币。

RIPEMD-160

RIPEMD-160是一个160位的加密哈希方法。RIPEMD-160是RIPEMD的一个加强版本,具有160位散列结果,预计在未来十年或更长时间内可以保证安全。

中本聪(satoshi)

聪(satoshi)是可以记录在区块链上的最小比特币单位。它相当于0.00000001比特币,以比特币的创造者中本聪(Satoshi Nakamoto)命名

中本聪(Satoshi Nakamoto)

中本聪(Satoshi Nakamoto)是设计比特币并开发原始参考实现代码的一个人或几个人的用名,作为实施的一部分,他们还设计了第一个区块链数据库。在这个过程中,他们率先解决了数字货币的双重支付问题,但他们的真实身份仍然未知。

脚本(Script)

比特币使用脚本系统进行交易。脚本很简单,基于堆栈,并且从左到右进行处理。它故意设计成不是图灵完备的,不支持循环。

公钥脚本(ScriptPubKey,pubkey script)

ScriptPubKey或pubkey script, 是一个包含在输出中的脚本,它为消费那些satoshis设定了必须满足的条件。满足条件的数据可以在签名脚本中提供。

签名脚本(ScriptSig,signature script)

ScriptSig或signature script, 是由付款人生成的,作为满足公钥脚本(PubKey Script)的变量

私钥(secret key,private key)

解锁特定地址上的比特币的私密数字,看起来如下:

5J76sF8L5jTtzE96r66Sf8cka9y44wdpJjMwCxR3tzLh3ibVPxh
隔离见证(Segregated Witness)

隔离见证是对比特币协议的升级建议,技术上创新地将签名数据与比特币交易分开。隔离见证是一种建议的软分叉,技术上的变化使得比特币的协议规则更具限制性。

SHA

安全散列算法或SHA是美国国家标准与技术研究院(NIST)发布的一系列加密散列函数。

简单支付验证(Simplified Payment Verification,SPV)

简单支付验证(SPV)或是一种验证特定交易是否包含在一个区块中的方法,不需要下载整个块。该方法被一些轻量级比特币客户使用。

软分叉(soft fork)

软分叉是区块链中的临时分叉,通常当矿工使用不遵从新共识方法的未升级的节点时发生。不要和分叉、硬分叉、软件分叉或Git分叉混淆。

陈腐区块(stale block)

已成功开采但未包括在当前最佳区块链中的区块,可能是因为同一高度的其他区块首先扩展了其链条。不要与孤儿块混淆。

时间锁(timelocks)

时间锁是一种限制某些比特币直到指定的未来时间或区块高度才能支出的留置权。时间锁在许多比特币合约中有重要作用,包括支付通道,和哈希时间锁定合约。

交易(transaction)

简单来说,是指从一个地址向另一个地址传输比特币。具体而言,交易是表示价值转移的签名数据结构。交易通过比特币网络进行传输,由矿工收集并包含在区块链中,永久保存在区块链中。

交易池(transaction pool)

一个无序的交易集合,它不在主链中的区块中,但是我们可以拿到输入交易。

图灵完备(Turing completeness)

如果程序语言能够运行图灵机可以运行的任何程序,并给予足够的时间和内存,那么它就称为“图灵完备”的。

未花费交易输出(unspent transaction output,UTXO)

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

钱包(wallet)

拥有你的所有比特币的地址和密钥的软件,用它来发送,接收和存储你的比特币。

钱包导入格式(Wallet Import Format,WIF)

WIF或电子钱包导入格式是一种数据交换格式,允许导出和导入带有标志的单个私钥,该标志表示它是否使用压缩的公钥。

赞赏译者