《精通比特币》解读 第十二章 - 比特币应用

现在,让我们把比特币看做是一个应用程序平台(application platform),把对比特币的理解建立在这种理解之上。 现在很多人使用“blockchain”这个词来指代任何共享了比特币设计原则的应用平台。 该术语经常被滥用,并被应用于许多不能提供比特币区块链主要特性的东西。

在本章中,我们将介绍比特币区块链作为应用平台所提供的特性。 我们将考虑应用程序构建原语(primitives),它构成了任何区块链应用程序的基石(building blocks)。 我们将研究使用这些原语的几个重要应用程序,例如彩色币(colored coins),支付(状态)渠道( payment (state) channels)和路由支付渠道(Lightning Network,闪电网络)。

12.1介绍(Introduction)

比特币系统被设计为一个去中心化的货币及支付系统。 然而,它的大部分功能源于可用于更广泛应用中的较低级别的结构。 比特币不是由帐户,用户,余额和付款等组件构建的。 相反的,正如我们在第六章中看到,它使用的是具有低级加密功能的交易脚本语言。 就像账户,余额和付款这些更高层次的概念可以从这些基础原语中衍生出来一样,许多其他复杂的应用也是如此。 因此,比特币区块链能够成为一个向应用程序提供信任服务的应用平台(application platform),比如智能合约,远远超出了(far surpassing)作为数字货币和支付的原始目的。

12.2基石(原语)(Building Blocks (Primitives))

当运行正常且长期运行时,比特币系统提供了一定的保证,可以被用于创建应用程序的基石。 这些包括:

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

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

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

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

授权 (Authorization)
被去中心化网络验证过的数字签名可提供授权保证。包含着数字签名的脚本不能在没有私钥(隐含在脚本中)拥有者授权的情况下被执行。

审计能力 (Auditability)
所有交易都是公开的,可以被审查。 所有的交易和区块都可以在未损坏的区块链中回溯到创世区块。

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

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

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

交易原子性 (Transaction Atomicity)
比特币交易是原子的。 它们要么是有效的并且经过确认的,要么不是。 不存在挖矿出交易的一部分,交易也不存在中间状态(interim state)。 在任何时间点,交易要么被挖出,要么没有被挖。

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

法定人数(Quorum of Control)
脚本中的多重签名约束规定了的授权的法定人数,预定义在多重签名方案中。 M-of-N的必要条件由共识规则强制执行的。

时间锁/老龄化 (Timelock/Aging)
任何包含相对或绝对时间锁的脚本语句只能在其年龄超过指定时间后才能被执行。

复制 (Replication)
区块链的去中心化存储确保了在交易在被开采之后,经过足够的确认数,它被复制到整个网络上,并且变得持久的和可恢复的(durable and resilient),可以受得起电力损失,数据丢失等。

伪造保护 (Forgery Protection)
交易只能花费存在的经过验证的输出。不可能创建或伪造(counterfeit)价值。

一致性 (Consistency)
在没有矿工分区的情况下,记录在区块链中的区块,根据记录的深度,被重新组织或者产生分歧的可能性呈指数级下降。一旦被记录在深层,改变所需的计算和能量使得改变是不可行的(practically infeasible)。

记录外部状态 (Recording External State)
交易可以通过操作符OP_RETURN提交一个数据,代表着外部状态机中的状态转换。

可预测的发行量 (Predictable Issuance)
总计不足2100万个比特币将会以可以预测的速度发行。

上述所列的基石并不完整,随着新特性引入到比特币中,列表中会加入更多。

12.3基于基石创建的应用(Applications from Building Blocks)

比特币提供的基石是可信平台的要素,可用于构成各种应用程序。 以下是现今存在的应用程序以及他们使用的基石的一些示例:

Proof-of-Existence(Digital Notary,数字公证)
不可篡改性+时间戳+永久性(Immutability + Timestamp + Durability)。数字指纹可以通过一个交易提交给区块链,以证明文件在存档时是存在的(Timestamp时间戳)。数字指纹不能在事后修改(Immutability不可改变性),证据将被永久存储(Durability永久性)。

Kickstarter(Lighthouse)
一致性+原子性+可信(Consistency + Atomicity + Integrity)。如果您发起众筹活动的一个输入和输出(Integrity公正性),别人可以参与众筹,但在目标(output value)筹集完之前(Consistency一致性),这笔钱不能被花费(Atomicity交易原子性 )。

Payment Channels
控制法定人数+时间锁+杜绝双重支付+永不过期+耐审查+授权(Quorum of Control + Timelock + No Double Spend + Nonexpiration + Censorship Resistance + Authorization)。一个带有时间锁(Timelock时间锁)的2-of-2(Quorum法定人数)多重签名被作为支付渠道的“结算”交易时,可以被持有(Nonexpiration永不过期)并且可以在任何时刻(Censorship Resistance耐审查)由任何一方(Authorization授权)花费。然后双方可以用更短的时间锁(Timelock)创建共同承若的交易以双重花费(No Double-Spend)转让契约(settlement)。

12.4染色币(Colored Coins)

猜你喜欢

转载自blog.csdn.net/yzpbright/article/details/81155058