Cointime

Download App
iOS & Android

The Untold Story of ditto-b

From Jameson Lopp

The fourth Bitcoin halving just triggered a few hours ago, ushering in the 5th mining epoch. As such, this seems like a good time to tell the tale of a little-known Bitcoin contributor who had a massive effect upon the halving algorithm.

The story takes place 10 years ago when an anonymous developer with no reputation managed to make a significant change to the Bitcoin consensus rules.

The Timeline

A user by the handle "ditto-b" joined GitHub on April 8, 2011.

In 2013 they forked OpenTransactions but didn't seem to do anything with it.

Ditto-b was a fan of Runescape as we can see from this table of Experience Point Levels. https://gist.github.com/ditto-b/933800

Ditto-b also built a basic funds sending script for interacting witih Bitcoin compatible RPC nodes. https://gist.github.com/ditto-b/9360868

On March 10, 2014 they created a pull request to change 4 lines of code in the Bitcoin repository.

These four lines of code are consensus critical and are not to be trifled with!

Long story short: ditto-b discovered a common type of software flaw known as a value overflow bug. No one in Bitcoin's first 5 years of existence had thought through how this function would operate when the blockchain was at a height of 13,440,000 after 64 halvings.

A few weeks later, Pieter Wuille used the timing of the pull request to publish BIP-42 as an April Fool's Day joke that was simultaneously satirical and dead serious.

Ditto Who?

Does "ditto-b" mean anything? The first hit I could come up with is a particular Windows virus dating back to 2007 called Ditto.B.

Then I discovered that "Ditto" is a Pokemon character, and Ditto's attributes are... interesting.

Ditto - Pokedex Guide - IGNDitto is the most flexible Pokémon in the entire universe. It's mainly used for breeding, seeing as how it can mate with almost any Pokémon.

IGNJSnakeC, das6486, Jim McQ, +787 moreupdatedFeb 13, 2013

To use Ditto you have to know a weakness when you see a Pokémon, so you can choose the best possible move at all times. Ditto can only run one set usefully.

It's just interesting, and perhaps coincidental, that this character is related to knowing / exploiting weaknesses. Who knows if the username was chosen with the intention of conveying any meaning; it seems unlikely since the account was created 3 years before the pull request was made.

My Speculative Take

The history on ditto-b's account is suspiciously sparse. It's uncharacteristic, to say the least, for a developer with practically no real contribution activity to simply appear and propose a patch for such a niche edge case in an extremely complex software project.

It's incredibly unlikely that ditto-b was just a random person with no history of contributing to Bitcoin who happened to run across these crazy edge case. Ditto-b is most like a well-known "Bitcoin wizard" who, upon noticing this edge case, decided that it was too sensitive an issue to want to have their reputation linked to the proposed change. As such, they chose to report the issue via an alternate pseudonymous account.

We only ever got 2 sentences out of ditto-b, so there's no point attempting any sort of stylometric analysis, but this snarky comment certainly lends credence to my claim that it was a seasoned Bitcoin developer who was very familiar with the wider ecosystem.

Lessons Learned

In one respect, it's interesting that there were no activation parameters suggested for this consensus change. A soft fork will be executed at block height 13,440,000 without any signaling whatsoever. This leads me to conclude that:

  • Consensus changes that are considered "bug fixes" are assumed to have such strong consensus that the effort to write and test signaling activation logic is considered wasteful.
  • Uncontroversial consensus changes that don't activate for an extremely long period of time are similarly considered not worth the effort for activation logic, as it's assumed that everyone will have updated their code long before the soft fork activates.

Pieter phrased it a bit more humorously in BIP-42:

Given the moderate time frame over which this change is to be implemented, we expect all miners to choose to screw themselves and deploy this change before 2214.If they don't, and a minority remains on the old code base, a fork may occur. Essentially, they'll be mining fool's gold after that time.

This has some tie-ins to my previous analysis of non-backwards compatible changes to Bitcoin client code:

Comments

All Comments

Recommended for you

  • BTC Falls Below $82,000

    Market data shows that BTC has fallen below $82,000, currently priced at $81,984.48, with a 24-hour decline of 2.01%. The market is experiencing significant volatility, so please ensure proper risk management.

  • BTC Drops Below $83,000

    Market data shows that BTC has fallen below $83,000, currently priced at $83,015.81, with a 24-hour decline of 0.46%. The market is experiencing significant volatility, so please ensure proper risk management.

  • ETH Surpasses $2500

    Market data shows that ETH has surpassed $2500, currently priced at $2500.4, with a 24-hour decline of 0.23%. The market is experiencing significant volatility, so please ensure proper risk management.

  • Standard Chartered Launches Cryptocurrency Trading Service in UAE for High-Net-Worth Clients

    On October 14, Standard Chartered announced the launch of a cryptocurrency trading service in the UAE aimed at high-net-worth clients, having obtained the relevant license from the Dubai Virtual Assets Regulatory Authority (VARA). Eligible clients can buy and sell BTC and ETH directly through their existing Standard Chartered accounts without the need for independent wallets or third-party trading platforms, with the bank responsible for asset custody and transaction settlement. This service is launched in partnership with Zodia Markets and is initially available only to professional investors in the UAE, with plans to expand to other markets in the future. Standard Chartered stated that this is the first direct cryptocurrency trading service offered to wealth management clients and the first of its kind by an international bank in the UAE.

  • US Spot Bitcoin ETF Sees Net Inflow of $175.7 Million Yesterday

    On October 14, according to monitoring data from Farside Investors, the US spot Bitcoin ETF saw a net inflow of $175.7 million yesterday.

  • US Spot Ethereum ETF Sees Net Inflow of $24.8 Million Yesterday

    On October 14, according to monitoring data from Farside Investors, the US spot Ethereum ETF experienced a net inflow of $24.8 million yesterday.

  • Solana to Launch Alpenglow Upgrade on October 21, Aiming for 150 Milliseconds Transaction Finality

    On October 14, Solana announced that the Alpenglow upgrade will officially activate on October 21 at approximately 14:50 UTC. This upgrade will replace the existing TowerBFT consensus with the Votor consensus. After the upgrade, the median transaction finality time is expected to be around 150 milliseconds, compared to the current value of approximately 12.8 seconds. The upgrade supports single-slot migration without the need for node restarts; it will also remove validator voting information from blocks, reducing operational costs. Even if the actual on-chain usage remains unchanged, statistics indicate that the total number of transactions reported is likely to decrease significantly. The current price of SOL is around $107, and there has not been a noticeable market reaction yet. From a narrative perspective, this upgrade is beneficial for Solana's speed and scalability story; however, Solana has experienced multiple network outages in the past, and this upgrade carries execution risks, serving as a potential warning signal.

  • South Korea Plans to Release Cryptocurrency Tax Guidelines Next Month

    On October 14, according to Yonhap News Agency, South Korea plans to release cryptocurrency tax guidelines next month in preparation for the cryptocurrency taxation policy set to be implemented in January 2027. Local traders in South Korea have been petitioning for a delay in the implementation of the tax policy, citing that the current regulations are not clear enough and the supporting infrastructure is still not fully developed.

  • Michael Saylor: New Bull Market Has Started, Bitcoin Expected to Surpass $100,000 Again

    On October 14, Michael Saylor, co-founder and Executive Chairman of Strategy, stated in an interview that Bitcoin has rebounded from its bottom and is expected to break through $100,000 again. He believes that Bitcoin previously bottomed out just below $60,000 and has now risen to the $80,000 range, with further increases anticipated. Saylor noted that improvements in the regulatory environment and banks accelerating their adoption of Bitcoin are driving the market into a new bull phase. He expects that in the coming years, Bitcoin's long-term annualized growth rate will reach 20% to 30%, and Strategy may increase its Bitcoin purchases during the bull market and issue more securities to fund these acquisitions. Additionally, regarding MSCI's consideration to adjust index rules and potentially exclude companies primarily engaged in accumulating assets from global stock indices, Saylor expressed opposition, arguing that such a move could set a negative precedent for the digital asset industry. MSCI is expected to announce its decision this Friday. Last November, JPMorgan estimated that if Strategy were excluded, it could face a risk of up to $2.8 billion in capital outflows.

  • Fed's Williams: One More Rate Hike This Year is Appropriate, No Need for Hikes in 2027

    On October 14, Federal Reserve's Williams stated that one more rate hike this year is appropriate; currently, he believes there is no need for rate hikes in 2027. There are no signs that the labor market is driving inflation, and apart from the AI and energy sectors, no widespread price pressures are observed in other areas.