跳到主要内容
知识地图Bitcoin 怎样防止同一输出被重复花费?外部项目

你在这里。看看这个问题与其他知识怎样相连。

选择节点前往页面 · 展开后可留在地图中阅读

知识地图沿着连接,读懂一个问题
← 区块链与共享状态

一个问题

Bitcoin 怎样防止同一输出被重复花费?

认识 UTXO、独立验证与累计工作量。

  1. 未花费输出消耗
  2. 交易产生
  3. 新输出
关系示意 · 箭头说明职责与连接,不代表完整协议时序。

Bitcoin 交易消耗已有的未花费输出,并产生新输出。一个输出在有效链中只能被花费一次;全节点独立检查规则。出现有效分支时,累计工作量参与决定接受哪条链。

用票券作类比:交出旧票并领取新票,与修改一个账户余额是不同的数据模型。类比帮助理解输出如何衔接,并不意味着 Bitcoin 输出就是现实票券。

从广播到确认

钱包广播签名交易后,节点可能先将它放在待处理交易中。它被接受的区块收录后,得到第一次确认;后续区块继续延伸这段历史,确认数随之增加。

节点遵循累计工作量最多的有效历史。如果接受的分支改变,原来包含某笔交易的区块可能退出这段历史,这就是重组。更多确认意味着替换相关历史需要更多工作,并非无条件保证。因此收款方需要确定何时接受付款,以及结果变化时如何处理。

来源与延伸阅读

继续深入

Bitcoin 与 ArcBlock

Bitcoin 用带有花费条件的输出来表示可花费价值;ArcBlock Chain 的文档则描述账户记录和类型化资产操作。可以先比较一次资产转移如何被授权,再比较应用工具。继续查看链设计比较与 ArcBlock 交易。这种比较并不表示已有可用的 Bitcoin–ArcBlock 桥。

本页涉及

术语

  • Bitcoin

    第一条被广泛使用的链,也是它证明了一份只追加的账本可以由互不认识的各方共同保存。它的设计选择(其中包括工作量证明)是后来大多数链用来定位自己的基准线。