12.2构建区块(原语)

当运行正常且长期运行时,比特币系统提供了一定的保证,可以作为构建区块来创建应用程序。 这些包括:

杜绝双重支出 比特币分布式共识算法的最根本保证是确保UTXO不会花费两次。

不可改变性 一旦交易被记录在区块中,并且随后的区块中添加了足够的工作,交易数据就变得不可篡改。 不可改变性是由能源进行承保的,因为重写区块链需要消耗能源才能产生工作证明。 所需的能源以及由此带来的不可变性的程度随着在包含交易的区块之后被提交的工作量而增加。

中立 去中心化的比特币网络传播有效的交易,而不管这些交易的来源或内容如何。 这意味着任何人都可以支付足够的费用来创建有效的交易,并相信他们可以随时传输该交易并使其包含在区块链中。

安全时间戳

共识规则拒绝任何时间戳距离现在太远(过去和将来)的块。 这可以确保块上的时间戳可以被信任。 块上的时间戳意味着对所有其包含的交易的输入之前从未被花过的保证。

授权 被去中心化网络中验证过的数字签名可提供授权保证。没有脚本中指定的私钥的持有人的授权,包含数字签名要求的脚本就不能被执行。

审计能力 所有交易都是公开的,可以被审计。 所有的交易和交易所属的区块都可以以一个不间断的区块链链接起来并最终链接到创始区块。

会计 在任何交易中(coinbase交易除外),输入的金额等于输出的金额加上交易费用。 在交易中不可能创建或销毁比特币价值数值。 输出不能超过输入。

永不过期 有效的交易永远不会过期。 如果今天有效,它将在不久的将来仍然有效,只要输入仍然没有被花费,共识规则没有改变。

公正性 使用SIGHASH_ALL签名的比特币交易或由另一个部分由SIGHASH类型签署的交易,不能在签名还有效的情况下被修改,从而导致交易本身无效。

交易原子性 比特币交易是原子的(译者注:原子性是指交易要么全部执行,要么完全不执行,不存在中间状态)。 它们要么是有效的并且经过确认的(挖矿),要么不是。 不存在挖矿出交易的一部分,交易也不存在中间状态。 在任何时间点,交易要么被挖出,要么没有被挖,不存在中间状态。

离散(不可分割)价值单位 交易输出是离散和不可分割的价值单位。 他们要么整体被花费要么整体没有花费。 他们不能被分割或者部分被花费。

法定人数(注:让任何预定事物有效的最低参与人数) 脚本中的多重签名限制规定了多重签名方案中的预定义的法定权限。 M-of-N要求由共识规则执行。

时间锁/老化 包含相对或绝对时间锁的任何脚本语句只能在其时间超过指定时间后执行。

复制 区块链的去中心化存储确保了在交易在被开采之后,经过充分的确认,它被复制到整个网络上,并且变得可以耐受得起电力损失,数据丢失等的影响。

伪造保护 每笔交易只能花费现有的经过验证的输出。不可能创建或伪造价值。

一致性 在没有矿工分区的情况下,根据记录的深度,记录在区块链中的块可能会被从新组织或者被不认可的可能性将呈指数级下降。一旦被记录在深层,改变所需的计算和能量将大到不可行的程度。

记录外部状态 每个交易可以通过OP_RETURN提交一个值,表示外部状态机中的状态转换。

可预测发行量 总计不到2100万比特币将会以可以预测的速度发行。

上述构建块区的列表并不完整,还会有新功能都被介绍添加到比特币中。