
比特币被双花了吗?
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
(公众号:刘教链。知识星球:公众号回复“星球”)
(免责声明:本文内容均不构成任何投资建议。加密货币为极高风险品种,有随时归零的风险,请谨慎参与,自我负责。)
比推快讯
更多 >>- 美国基金经理增持标普 500 指数净多头头寸至 887,310 手合约
- 美俄总统在阿拉斯加会面
- 美国考虑对俄罗斯石油公司实施制裁
- 普京抵达安克雷奇,将与特朗普举行会晤
- 数据:过去 1 小时 Binance 净流出 3,683.91 万 USDT
- 美联储逆回购操作接纳 337.57 亿美元
- ARK Invest 向 Coinbase 存入 1268 枚 BTC,约 1.4888 亿美元
- 数据:ETH 当前全网 8 小时平均资金费率为 0.005%
- BitMine 再度斥资 1.3 亿美元增持 28,650 枚 ETH
- 美联储宣布将终止针对银行加密货币业务的监管计划
- 数据:Machi Big Brother 持仓浮亏 540 万美元
- Longling Capital 关联地址抛售 7000 枚 ETH,约 3182 万美元
- Manta Network 与 Wintermute 达成 750 万枚 MANTA 代币流动性协议
- 俄新社:普京与特朗普会谈前的气氛剑拔弩张
- 麻吉大哥黄立成 25 倍杠杆 ETH 多单已浮亏超 400 万美元
- 阿联酋多家航空公司支持加密货币支付购票
- 过去 24 小时全网爆仓 3.84 亿美元,主爆多单
- DCG 起诉子公司 Genesis 索赔超 1.05 亿美元
- Plasma 宣布主网测试版将在 Aave 上线
- 对冲基金 Brevan Howard 披露持有超 23.2 亿美元贝莱德比特币现货 ETF
- META 总市值首次升破 2 万亿美元
- 某鲸鱼从 Binance 提出 25,600 枚 SOL,约 494 万美元
- 中国台湾比特币财库公司 Top Win 完成 1000 万美元融资,将用于购买比特币
- 纽约州立法者提议征收加密货币税以资助学校项目
- 美国 8 月五至十年期通胀率预期初值升至 3.9%
- Deribit 将推出以 USDC 结算的线性比特币和以太坊期权
- 麻吉大哥黄立成加仓 BTC 与 ETH 多单,总头寸规模超 1 亿美元
- 美国 30 年期国债收益率比 5 年期收益率高出 109 个基点,为 2021 年以来最阔水平
- 道琼斯指数开盘上涨 211.9 点,纳斯达克下跌 23.89 点
- Hyperbeat 完成 520 万美元种子轮融资,ether.fi Ventures 与 Electric Capital 共同领投
- Qubic 发布 51%攻击实验报告:期间导致 6 个区块被重组、60 个区块孤立
- 上市公司 Know Labs 宣布更名为 USBC,并实施比特币财库战略
- 一新地址从 Binance 提出 1020 万美元 LINK
- 美 SEC 主席:正动员所有部门将美国打造成全球加密货币中心
- 美联储官员表示若通胀未陷入螺旋可考虑降息
- 美国德州查获 280 万美元加密货币,涉勒索软件案件
- 外媒:若美国政府迫使谷歌出售 Chrome,OpenAI 创始人有兴趣收购
- DeFi Development 斥资约 2200 万美元增持 11 万枚 SOL
- 美联储古尔斯比强调需区分价格涨幅应对策略
- 美联储古尔斯比表示无需维持当前利率水平
- 美联储古尔斯比称需另一份通胀报告判断经济状况
- 美联储古尔斯比:关注 PPI、CPI 和进口价格数据
- BTC 跌破 119000 美元
- 美元指数 DXY 短线上扬超 10 点,现报 97.96
- 交易员预计美联储 9 月降息,2025 年再降息一次
- 《GENIUS 法案》引发监管争议,银行业警告稳定币利息漏洞
- 美国 7 月零售销售月率 0.5%,预期 0.5%
- SharpLink 公布 Q2 业绩报告:现持有 728,804 枚 ETH
- SharpLink 二季度净亏损超 1 亿美元,ETH 持仓达 72.88 万枚
- 巴克莱:鲍威尔鹰派立场不会被就业数据改变