你在这里。看看这个问题与其他知识怎样相连。
选择节点前往页面 · 展开后可留在地图中阅读
一个问题
Bitcoin 怎样防止同一输出被重复花费?
认识 UTXO、独立验证与累计工作量。
- 未花费输出消耗→
- 交易产生→
- 新输出
Bitcoin 交易消耗已有的未花费输出,并产生新输出。一个输出在有效链中只能被花费一次;全节点独立检查规则。出现有效分支时,累计工作量参与决定接受哪条链。
用票券作类比:交出旧票并领取新票,与修改一个账户余额是不同的数据模型。类比帮助理解输出如何衔接,并不意味着 Bitcoin 输出就是现实票券。
从广播到确认
钱包广播签名交易后,节点可能先将它放在待处理交易中。它被接受的区块收录后,得到第一次确认;后续区块继续延伸这段历史,确认数随之增加。
节点遵循累计工作量最多的有效历史。如果接受的分支改变,原来包含某笔交易的区块可能退出这段历史,这就是重组。更多确认意味着替换相关历史需要更多工作,并非无条件保证。因此收款方需要确定何时接受付款,以及结果变化时如何处理。
来源与延伸阅读
继续深入
- Bitcoin UTXO:找零从哪里来: 沿着一笔付款,理解输入、输出与找零。
- Bitcoin Script:谁能花这笔钱: 区分输出的花费条件与应用运行环境。
Bitcoin 与 ArcBlock
Bitcoin 用带有花费条件的输出来表示可花费价值;ArcBlock Chain 的文档则描述账户记录和类型化资产操作。可以先比较一次资产转移如何被授权,再比较应用工具。继续查看链设计比较与 ArcBlock 交易。这种比较并不表示已有可用的 Bitcoin–ArcBlock 桥。
本页涉及
术语
- Bitcoin
第一条被广泛使用的链,也是它证明了一份只追加的账本可以由互不认识的各方共同保存。它的设计选择(其中包括工作量证明)是后来大多数链用来定位自己的基准线。