构建块(原语)

当比特币系统在长期运行并且正常操作时,它提供了一些保证,这些可以作为构建应用程序的基础。这些保证包括:

  1. 无双重支付

比特币的去中心化共识算法的最基本保证确保在同一有效的区块链中,任何未花费交易输出(UTXO)不会被两次花费。

  1. 不可变性

一旦交易记录在区块链中,并且随后的区块添加了足够的工作量,该交易的数据就变得几乎不可改变。不可变性是由能量支持的,因为重写区块链需要耗费能量来进行工作量证明(PoW)。所需的能量和因此不可变性的程度会随着在包含交易的区块之上进行的工作量的增加而增加。

  1. 中立性

去中心化的比特币网络传播有效的交易,无论这些交易的来源是什么。这意味着任何人都可以创建一个有效的交易,并相信他们可以随时传输该交易并使其包含在区块链中。

  1. 安全时间戳

共识规则拒绝任何时间戳过于未来的区块,并试图防止时间戳过于过去的区块。这确保了区块的时间戳在一定程度上是可信的。区块上的时间戳意味着所有包含交易的输入在未花费之前的参考。

  1. 授权

在去中心化网络中验证的数字签名提供了授权保证。包含对数字签名的要求的脚本在没有脚本中隐含的私钥持有者的授权的情况下无法执行。

  1. 可审计性

所有交易都是公开的,并且可以进行审计。所有交易和区块都可以追溯到创世区块,形成一个完整的链。

  1. 会计

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

  1. 不会过期

有效的交易不会过期。如果它今天有效,只要输入保持未花费且共识规则不变,它将在不久的将来仍然有效。

  1. 完整性

使用SIGHASH_ALL签名的比特币交易的输出或由其他SIGHASH类型签名的交易的部分不能修改,否则将使签名无效,从而使交易本身无效。

  1. 交易原子性

比特币交易是原子性的。它们要么有效和确认(已被挖掘),要么无效。部分交易不能被挖掘,并且没有交易的中间状态。在任何时间点,交易要么已被挖掘,要么未被挖掘。

  1. 不可分割的价值单位

交易输出是离散且不可分割的价值单位。它们可以完全花费或未花费。它们不能被分割或部分花费。

  1. 控制的法定人数

脚本中的多签名约束要求在多签名方案中预先定义的法定人数进行授权。该要求由共识规则执行。

  1. 时锁/老化

任何包含相对或绝对时锁的脚本子句只能在其年龄超过指定时间后执行。

  1. 复制

区块链的去中心化存储确保一旦交易被挖掘,在足够的确认之后,它将在网络中复制,并且变得耐用且对电源损失、数据损失等具有抵抗能力。

  1. 防伪保护

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

  1. 一致性

在没有矿工分区的情况下,记录在区块链中的区块会根据它们记录的深度以指数递减的可能性进行重组或不一致。一旦深度记录,改变所需的计算和能量使得改变实际上是不可行的。

  1. 记录外部状态

交易可以通过OP_RETURN或支付给合约来提交数据值,表示外部状态机中的状态转换。

  1. 可预测的发行

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

构建块的列表并不完整,每次引入新功能时都会添加更多的构建块。

Last updated