比特币被双花了吗?
7号比特币在高度788686发生了一次2个区块的临时分叉。竞争发生在Foundry USA和AntPool两个矿池之间。根据ForkMonitor的监测[1],Foundry USA在AntPool之后报告了分叉的区块。
在讨论比特币出块问题时,我们要格外注意“时间”概念。比如,上面的话里,所谓的“之后”就是一个时间概念。说Foundry USA在AntPool之后报告,只是ForkMonitor收到他们双方发出的区块数据的时间先后。收到来自Foundry USA的区块的时间是20:47:33,收到来自AntPool的区块的时间是20:45:24。
但是这并不意味着,全世界其他地方的节点,都是先收到AntPool的数据,后收到Foundry USA的数据。这可能受到互联网联网环境的诸多影响。因此,我们并不能根据接收到区块数据的先后来决定采用谁的区块。因为,这个“先后”是没有共识的。有人看到Foundry USA在先,有人看到AntPool在先。
那怎么办呢?有读者可能会说,那我们看一下他们各自报告的区块里记录的出块时间戳呢?让我们来看看。有趣的事情来了。虽然Foundry USA后报告了区块,但是它报告的区块时间戳却比AntPool的早。Foundry USA的区块时间戳是20:45:10,而AntPool的是20:45:13。
甚至我们用主动语态来描述这个事情也扭曲了客观事实,因为“Foundry USA报告的区块”(the block Foundry USA reported)这样一种表达暗含了Foundry USA有意为之的意思,而这一层意思属于主观观点,并非客观事实。思考难免要借助于语言,而语言会反过来让思考陷入误区。能够始终准确分辨主观观点和客观事实,是很重要的,有时候也是困难的。此处,用被动语态表达可能会更准确,即表述为“从Foundry USA收到的区块”(the block received from Foundry USA)。
好了,来自Foundry USA的区块时间戳比AntPool的早3秒钟,但是到达的时间却晚了2分多钟!
那么我们是否可以按照它们各自报告的区块时间戳的早晚来决定采用谁的区块呢?显然也不能。因为区块时间戳是出块的矿池可以在代码约定的范围内随意设置的,那么也就是不完全可信的。这也不是共识。我们的意思并不是谁在故意篡改时间戳,我们只是说这是很容易做到的。比如Foundry USA在20:47:00产生了区块,但是却把区块时间戳写成20:45:10,这是可以做到的事情,没有谁能够阻止。
所以,我们并不能尽信产生区块的矿工记录的区块时间戳。
中本聪告诉我们,在去中心化的情况下,我们唯一可以相信的,是投入算力计算出来的工作量证明(Proof-of-Work)。这就是比特币所采用的最大工作量证明链共识原则,或者简称为最长链原则。
在上面的案例中,最终AntPool的分叉打败了Foundry USA的分叉,获得了全网算力的支持,快速超越Foundry USA分叉的长度,淘汰了后者产出的2个区块。
图:分叉
当然,被Foundry USA打包在这两个区块中而未被AntPool分叉所包含的交易,就会被退回到待打包交易池中,重新等待打包。只需要再等待一段时间,总会有矿工将其打包到区块链中的。
整个过程没有任何问题,完全符合比特币的工作原理。唯一有问题的,可能是不懂这个工作原理,而把交易出现在两个临时分叉中误称为“双花”(双重花费,double-spending)。这实在是对于这个概念的误解。
真正的“双花”,是付款方发出两个交易,花费同一笔比特币(同一个UTXO)。一个交易把比特币UTXO付给收款方,另一笔交易把同一个UTXO付给自己。让第一笔交易进入Foundry USA的分叉,另一笔交易进入AntPool的分叉。待Foundry USA的分叉出现了一个区块确认后,告诉收款方,“嘿老兄,币已付”。然后坐等Foundry USA的分叉被淘汰,AntPool的分叉胜出,从而实现撤销掉给付款方的支付,而把币回收到自己的口袋里的效果。
一看便知,这是很不容易做到的。
至于有交易所采用极少区块确认就给充值用户上账,而且也不检查UTXO,看到一次链上充值交易就上一次账,从而导致多给用户记了余额,那纯粹是自己找抽,怪不得比特币。
参考资料:
- [1] https://forkmonitor.info/stale/788686
(公众号:刘教链。知识星球:公众号回复“星球”)
(免责声明:本文内容均不构成任何投资建议。加密货币为极高风险品种,有随时归零的风险,请谨慎参与,自我负责。)
比推快讯
更多 >>- RWA及证券型代币服务提供商Cspro完成战略轮融资,Taisu Ventures参投
- SolanaAI项目gm.ai发布gmID
- ETH跌破2900美元
- BTC跌破60000美元
- 美联储Bostic重申预计今年将进行一次降息
- 美联储Kashkari:可能要等到2025年才能降息
- 隐私优先移动运营商Cape完成6100 万美元融资,A-Star 和 a16z 共同领投
- 10x Research联创:比特币在未来几周内可能会跌至 50,000 美元
- Kraken收购TradeStation Crypto,以扩大在美国的监管许可范围
- Avail公布空投资格查询网站,空投总量为 6 亿枚 AVAIL
- BTC跌破63,000美元,日内涨幅收窄至1.83%
- 前迪士尼高管旗下公司Galactic Group推出Web3游戏工作室
- Mango Markets 开发者因操纵协议窃取1.1亿美元而被判有罪
- 数据:87.4%的Solana网络验证者已更新至V1.17.31
- 消息人士:Coinbase纽约新办公室面积翻倍,租约 11 年
- Tether CEO:正在努力建立关系以获得四大会计师事务所的审计
- Uniswap 基金会:v4核心合约将进入审计,预计将于今年晚些时候部署
- 美联储Bostic:在年底之前我们不会降低利率
- Coinbase国际交易所和 Coinbase Advanced 将上线WIF永续合约
- Optimism:第四轮Retro Funding将拨出1000万枚OP奖励Superchain开发者
- 德意志银行:比特币减半利好已被部分消化,预计随后不会出现大幅反弹
- 赵长鹏:教育游戏项目Giggle Academy的目标年龄将从2-3岁开始,持续 18 年或更长
- CryptoQuant研究主管:目前比特币交易者的未实现利润率基本为零,抛压可能正在下降
- 币安Web3钱包推出zkLink Nova空投活动,100万枚ZKL代币可供领取
- Peter Thiel 支持的Layer N 推出流动性计划,并获Amber Group 2000 万美元赠款
- 以太坊协议Heroglyphs发布白皮书V0,拟用新代币激励 ETH 独立质押者
- Arbitrum社区提议更改扩展计划以允许在任何区块链上部署新的Orbit链
- Blast生态SocialFi交易卡游戏fantasy.top完成Pre-Seed轮融资
- 比特币突破64000美元,日内涨超5%
- Nexo联创:BTC价格或在8个月内翻倍
- Tether 宣布成立四个新部门,以扩展除稳定币之外的业务
- MerlinSwap推出esMP代币,将于4月22日开启esMP质押活动
- 美联储威廉姆斯:如果数据支持,美联储将会加息
- 灰度向Coinbase Prime地址转移1928枚BTC
- DEX项目Thruster完成750万美元种子轮融资
- LabHost网络钓鱼服务被国际联合执法
- 美国至4月13日当周初请失业金人数 21.2万人
- Circle of Games完成100万美元融资
- Runes DEX完成200万美元种子轮融资
- 贝莱德IBIT持仓超27.2万枚比特币
- MerlinStarter完成种子轮融资
比推专栏
更多 >>观点
项目
比推热门文章
- RWA及证券型代币服务提供商Cspro完成战略轮融资,Taisu Ventures参投
- SolanaAI项目gm.ai发布gmID
- ETH跌破2900美元
- BTC跌破60000美元
- 【比推每日新闻精选】Avail公布空投资格查询网站,空投总量为 6 亿枚 AVAIL;Coinbase国际交易所将上线WIF永续合约;美联储Kashkari:可能要等到2025年才能降息
- 美联储Bostic重申预计今年将进行一次降息
- 【比推每日市场动态】分析师:回调未结束,BTC或于明年9-10月达到新高
- 美联储Kashkari:可能要等到2025年才能降息
- 隐私优先移动运营商Cape完成6100 万美元融资,A-Star 和 a16z 共同领投
- 10x Research联创:比特币在未来几周内可能会跌至 50,000 美元