Bitcoin Double Spend: A Highly Unlikely yet Interesting Bug
Original Article Title: "Bitcoin's Duplicate Transactions"
Original Source: BitMEX Research
In the Bitcoin blockchain, there exist two sets of completely identical transactions, with one set of transactions "sandwiching" the other set, all occurring in mid-November 2010. Duplicate transactions can lead to confusion, and Bitcoin developers have been battling it in various ways over the years. This issue remains unresolved 100%, and the next potential duplicate transaction may occur in 2046. Although the risk associated with duplicate transactions is now very small, it remains an interesting and quirky bug worth pondering.

Overview
A regular Bitcoin transaction spends at least one previous transaction's output by referencing the transaction ID (TXID) of the prior transaction. These unspent outputs can only be spent once, and if they could be spent twice, you could double-spend Bitcoin, rendering it worthless. However, in Bitcoin, there exist exactly two sets of completely identical transactions. This anomaly is possible because the coinbase transaction has no transaction inputs but newly minted coins. Thus, two different coinbase transactions could potentially send the same amount to the same address and be constructed in an entirely identical manner, making them completely identical. Because these transactions are the same, their TXIDs also match as the TXID is a hash digest of the transaction data. The only other way TXIDs could be duplicated is through a hash collision, which is considered highly improbable and practically infeasible for a cryptographically secure hash function. Hash collisions like SHA256 have never occurred in Bitcoin or anywhere else.
These two sets of duplicate transactions occurred in close proximity, from 08:37 UTC on November 14, 2010, to 00:38 UTC on November 15, 2010, spanning approximately 16 hours. The first set of duplicate transactions was sandwiched between the second set. We classify d5d2…8599 as the first duplicate transaction because it became the duplicate first, although oddly, it first appeared on the blockchain after another duplicate transaction e3bf…b468.
Duplicate Transaction Details
In the images below, you can see two screenshots from the mempool.space block explorer, displaying the occurrence of the first duplicate transaction in two different blocks.


Interestingly, when entering the relevant URL in a web browser, the mempool.space block explorer defaults to showing an earlier block for the case of d5d2…8599 and a later block for the case of e3bf…b468. Blockstream.info and Btcscan.org exhibit the same behavior as mempool.space. On the other hand, based on our basic testing, Blockchain.com and Blockchair.com behave differently, always displaying the latest version of a conflicting transaction when entering the URL in the browser.
Out of the four relevant blocks, only one block (Block 91,812) includes a conflicting transaction. This transaction merged outputs of 1 BTC and 19 BTC into a single 20 BTC output.
Can these outputs be spent?
Due to the presence of two sets of identical TXIDs, this creates a referencing issue for subsequent transactions. The value of each conflicting transaction is 50 BTC. Therefore, these conflicting transactions involve a total of 4 x 50 BTC = 200 BTC, or depending on the interpretation, could involve 2 x 50 BTC = 100 BTC. To some extent, 100 BTC effectively do not exist.
As of today, all 200 BTC remain unspent. From our understanding (which could be wrong here), if someone possesses the private keys associated with these outputs, they could spend these bitcoins. However, once spent, the UTXOs will be removed from the database, rendering the duplicate 50 BTC unspendable and lost, hence only 100 BTC potentially retrievable. As for which block these coins would spend from, whether it would be an earlier or recent one, that may be undefined or indeterminate.
This individual could have spent all bitcoins before creating the conflicting transactions, then created duplicate outputs, creating new entries in the unspent outputs database. This would mean not only duplicate transactions but potentially duplicate spent outputs' duplicate transactions. If this were to happen, more conflicting transactions could be generated when these outputs are spent, creating a chain of conflicts. Care must be taken in the sequence of events, always spending before creating conflicts, or bitcoins may be lost forever. These new conflicting transactions would not be coinbase transactions but "regular" transactions. Fortunately, this scenario has never occurred.
Double-Spending Issue
Double-spending is obviously a bad thing. It can cause confusion in wallets and block explorers, as well as obfuscate the origin of Bitcoin. It also opens up many attacks and vulnerabilities. For example, you could double-spend to pay someone twice. Then, when the recipient tries to spend that money, they might find that only half of it is spendable. This could be an attack on an exchange, attempting to bankrupt it, while the attacker incurs no loss as they can withdraw funds immediately upon deposit.
Prohibiting Transactions with Duplicate TXIDs
To address the issue of double-spending, in February 2012, Bitcoin developer Pieter Wuille proposed the BIP30 soft fork, which prohibited transactions using duplicate TXIDs unless the previous TXID had already been spent. This soft fork applied to all blocks after March 15, 2012.
In September 2012, Bitcoin developer Greg Maxwell modified this rule to make the BIP30 check apply to all blocks, not just those after March 15, 2012, with the exception of the two double-spending incidents mentioned earlier. This fixed some Denial-of-Service (DOS) vulnerabilities. Technically, this was another soft fork, although the rule change only applied to blocks older than 6 months, so there was no risk associated with normal protocol rule changes.
The computational cost of this BIP30 check is high. Nodes need to check all transaction outputs in new blocks and verify if these output points already exist in the UTXO set. This might be why Wuille only checked unused outputs, as checking all outputs would be more expensive and pruning would not be possible.
BIP34
In July 2012, Bitcoin developer Gavin Andresen proposed the BIP34 soft fork, which was activated in March 2013. This protocol change required coinbase transactions to include the block height, enabling block versioning. The block height was added as the first item in the coinbase transaction scriptSig. The first byte of the coinbase scriptSig is the number of bytes the block height number uses, followed by the block height number itself. For the first 210,000 blocks (223 / (144 blocks per day * 365 days per year)), the first byte should be 0x03. That's why modern coinbase ScriptSigs (HEX) always start with 03. This soft fork appeared to definitively solve the double-spending problem, as all transactions should now be unique.
Due to the adoption of BIP34, in November 2015, Bitcoin developer Alex Morcos added a pull request to the Bitcoin Core software repository, which meant that nodes would stop performing the BIP30 check. After all, since BIP34 fixed this issue, this expensive check was no longer necessary. Although it was not known at the time, technically, this was a hard fork for some very rare blocks in the future. In hindsight, the potential hard fork turned out to be insignificant because almost no one was running node software before November 2015. At forkmonitor.info, we are running Bitcoin Core 0.10.3 released in October 2015. Therefore, this is a rule before the hard fork, with clients still performing the expensive BIP30 check.
Block 983,702 Issue
It turns out that there were some coinbase transactions in blocks before the activation of BIP34, where the first byte of the scriptSig used at the time happened to match the future valid block height. Therefore, while BIP34 did indeed fix this issue in almost all cases, it was not a complete 100% fix. In 2018, Bitcoin developer John Newbery printed out the complete list of these potentially duplicate blocks, as shown in the table below.


*Note: These blocks had coinbase transactions in 2012 and 2017 and are not duplicates. 209,921 blocks (only 79 blocks away from the first halving) cannot be duplicates because BIP30 was enforced during this period.
Source: https://gist.github.com/jnewbery/df0a98f3d2fea52e487001bf2b9ef1fd
Number of potentially duplicate Coinbase transactions listed by year

Source: https://gist.github.com/jnewbery/df0a98f3d2fea52e487001bf2b9ef1fd
Therefore, the next block where a duplicate transaction could potentially occur is Block 1,983,702, expected around January 2046. In Block 164,384 mined in January 2012, the Coinbase transaction sent 170 BTC to seven different output addresses. So, if a miner in 2046 wanted to carry out this attack, they would not only need to be lucky enough to find this block but also would need to spend less than 170 BTC to burn, with a total cost slightly above 170 BTC, including the opportunity cost of 0.09765625 BTC from the block subsidy.
Based on the current Bitcoin price of $88,500, this would cost over $15 million. As for the ownership of the seven addresses from the 2012 Coinbase transaction, it is currently unknown, and the keys are likely lost. All seven output addresses of that Coinbase transaction have now been spent, with three of them spent in a single transaction. We suspect these funds may be related to the Pirate40 Ponzi scheme, but this is just speculation on our part. Therefore, this attack seems not only costly but also practically useless for the attacker. Removing the node from November 2015, a 31-year-old node, in a hard fork would be a significant expense.
The next vulnerable block that could potentially be duplicated is Block 169,985 from March 2012. This Coinbase transaction only spent just over 50 BTC, much lower than 170 BTC. Of course, 50 BTC was the subsidy at that time, and when this Coinbase transaction becomes easily duplicable in 2078, the subsidy will be much lower. To take advantage of this, miners would need to spend around 50 BTC in a way that they cannot recover because these funds have to go into the old outputs from 2012. Nobody knows what the price of Bitcoin will be in 2078, but the cost of such an attack could be staggering. Therefore, while this issue may not be a primary risk for Bitcoin, it is still a cause for concern.
Since the SegWit upgrade in 2017, Coinbase transactions can also include a commitment to all transactions in a block. These pre-BIP34 blocks do not include a witness commitment. Hence, to create a duplicate Coinbase transaction, a miner would need to exclude any SegWit output redemptions from the block, further increasing the opportunity cost of the attack as the block may not be able to include many other fee-paying transactions.
Conclusion
Considering the difficulty and cost of duplicating transactions and how rare the opportunity to exploit them is, this transaction duplication vulnerability does not appear to be a major security concern for Bitcoin. Nevertheless, given the time scale involved and the novelty of duplicate transactions, it's an interesting thought experiment. Nonetheless, developers have spent a considerable amount of time on this issue over the years, and the date 2046 may be considered by some developers as the final deadline to address this problem. There are many potential methods to fix this issue, likely requiring a soft fork. One possible fix could be the enforced SegWit commitment.
You may also like

2% user contribution, 90% trading volume: The real picture of Polymarket

Trump Can't Take It Anymore, 5 Signals of the US-Iran Ceasefire

Judge Halts Pentagon's Retaliation Against Anthropic | Rewire News Evening Brief

Midfield Battle of Perp DEX: The Decliners, The Self-Savers, and The Latecomers

Iran War Stalemate: What Signal Should the Market Follow?

Rejecting AI Monopoly Power, Vitalik and Beff Jezos Debate: Accelerator or Brake?

Insider Trading Alert! Will Trump Call a Truce by End of April?

After establishing itself as the top tokenized stock, does Ondo have any new highlights?

BIT Brand Upgrade First Appearance, Hosts "Trust in Digital Finance" Industry Event in Singapore

OpenClaw Founder Interview: Why the US Should Learn from China on AI Implementation
WEEX AI Wars II: Enlist as an AI Agent Arsenal and Lead the Battle
Where the thunder of legions falls into a hallowed hush, the true kings of arena are crowned in gold and etched into eternity. Season 1 of WEEX AI Wars has ended, leaving a battlefield of glory. Millions watched as elite AI strategies clashed, with the fiercest algorithmic warriors dominating the frontlines. The echoes of victory still reverberate. Now, the call to arms sounds once more!
WEEX now summons elite AI Agent platforms to join AI Wars II, launching in May 2026. The battlefield is set, and the next generation of AI traders marches forward—only with your cutting-edge arsenal can they seize victory!
Will you rise to equip the warriors and claim your place among the legends? Can your AI Agent technology dominate the battlefield? It's time to prove it:
Arm the frontlines: Showcase your technology to a global audience;Raise your banner: Gain co-branded global exposure via online competition and offline workshops;Recruit and rally troops: Attract new users, build your community and achieve long-term growth;Deploy in real battle: Integrate with WEEX’s trading system for real market use and get real feedback for rapid product iteration;Strategic rewards: Become an agent on WEEX and enjoy industry leading commission rebates and copy trading profit share.Join WEEX AI Wars II now to sound the charge!
Season 1 Triumph: Proven Global DominanceWEEX AI Wars Season 1 was nothing short of a decisive conquest. Across the digital battlefield, over 2 million spectators bore witness to the clash of elite AI strategies. Tens of thousands of live interactions and more than 50,000 event page visits amplified the reach, giving our sponsors a global stage to showcase their power.
Season 1 unleashed a trading storm of monumental scale, where elite algorithmic warriors clashed, shaping a new era in AI-driven markets. $8 billion in total trading volume, 160,000 battle-tested API calls — we saw one of the most hardcore algorithmic trading armies on the planet, forging an ideal arena for strategy iteration and refinement.
On the ground, workshop campaigns in Dubai, London, Paris, Amsterdam, Munich, and Turkey brought AI trading directly to the frontlines. Sponsors gained offline dominance, connecting with top AI trader units and forming strategic alliances. Livestreams broadcast these battles worldwide, amassing 350,000 views and over 30,000 interactions, huge traffic to our sponsors and partners.
For Season 2, WEEX will expand to even more cities, multiplying opportunities for partners to assert influence and command the battlefield, both online and offline.
Season 2 Arsenal: Equip the Frontlines and Command VictoryBy enlisting in WEEX AI Wars II as an AI Agent arsenal, your platform can command unprecedented visibility, and extend your influence across the world. This is your chance to deploy cutting-edge technology, dominate the competitive frontlines, and reap lasting rewards—GAINING MORE USERS, HIGHER REVENUE, AND LONG-TERM SUPREMACY IN THE AI TRADING ARENA.
Reach WEEX’s 8 million userbase and global crypto community. Unleash your potential on a global stage! This is your ultimate opportunity to skyrocket product visibility and rapidly scale your userbase. Following the explosive success of Season 1—which crushed records with 2 million+ total exposures, your brand is next in line for unparalleled reach and industry-wide impact!Test and showcase your AI Agent in real markets. Throw your AI Agents into the ultimate arena! Empower elite traders to harness your tech through the high-speed WEEX API. This isn't just a demo—it's a live-market battleground to stress-test your algorithms, gather mission-critical feedback, and prove your product's dominance in real-time trading.Gain extensive co-branded exposure and traffic support. Command the spotlight! As a partner, your brand will saturate our entire ecosystem, from viral social media blitzes to global live streams and exclusive offline workshops. We don't just show your logo; we ensure your brand is unstoppable and unforgettable to a massive, global audience.Enjoy industry leading rebates. Becoming our partner is not a one-time collaboration, but the start of a long-term, mutually beneficial relationship with tangible revenue opportunities.Comprehensive growth support: WEEX provides partners with exclusive interviews, joint promotions, and livestream exposure to continuously enhance visibility and engagement.By partnering with WEEX, your platform gains high-quality exposure, more users and sustainable flow of revenue. The Hackathon is more than a competition. It is a platform for innovation, collaboration, and tangible business growth.
Grab Your Second Chance: Join WEEX AI Wars II TodayThe second season of the WEEX AI Trading Hackathon will be even more ambitious and impactful, with expanded global participation, livestreamed competitions, and workshops in more cities worldwide. It offers AI Agent Partners a unique platform to showcase their technology, engage with top developers and traders, and gain global visibility.
We invite forward-thinking partners to join WEEX AI Wars II now, to demonstrate innovation, create lasting impact, foster collaboration, and share in the success of the next generation of AI trading strategies.
About WEEXFounded in 2018, WEEX has developed into a global crypto exchange with over 6.2 million users across more than 150 countries. The platform emphasizes security, liquidity, and usability, providing over 1,200 spot trading pairs and offering up to 400x leverage in crypto futures trading. In addition to the traditional spot and derivatives markets, WEEX is expanding rapidly in the AI era — delivering real-time AI news, empowering users with AI trading tools, and exploring innovative trade-to-earn models that make intelligent trading more accessible to everyone. Its 1,000 BTC Protection Fund further strengthens asset safety and transparency, while features such as copy trading and advanced trading tools allow users to follow professional traders and experience a more efficient, intelligent trading journey.
Follow WEEX on social mediaX: @WEEX_Official
Instagram: @WEEX Exchange
Tiktok: @weex_global
Youtube: @WEEX_Official
Discord: WEEX Community
Telegram: WeexGlobal Group

Nasdaq Enters Correction Territory | Rewire News Morning Brief

OpenAI loses to Thousnad-Question, unable to grow a checkout counter in the chatbox

One-Year Valuation Surged 140%, Who Is Signing the Check for Defense AI?

Bittensor vs. Virtuals: Two Distinct AI Flywheel Mechanisms

Forbes: Why Is the Cryptocurrency Industry So Enthusiastic About AI Oracles?

Ethereum Foundation publishes: Restructuring the division of labor between L1 and L2, jointly building the ultimate Ethereum ecosystem

