
Mike Hearn.
Emailed Satoshi, wrote bitcoinj, launched Bitcoin XT
Mike Hearn swapped emails and test coins with Satoshi Nakamoto in 2009, and in 2015 split from Bitcoin Core’s developers over how big blocks should be. In 2016 he quit Bitcoin, writing that it had failed.
Emails with Satoshi
Mike Hearn first emailed Satoshi Nakamoto, Bitcoin’s creator, in April 2009, a few months after the software came out. He was a British programmer working on mapping software at Google, and a web search had led him to Bitcoin’s website. “I read your paper on BitCoin with great interest,” he wrote, before asking how a single chain of blocks could record “the story of the economy” for a whole planet. He signed off: “So many questions :) But it’s rare that I encounter truly revolutionary ideas.”[1][2]
Satoshi replied the same day. “There is only one global chain,” he wrote. Visa, he noted, handled about 15 million internet purchases a day, and Bitcoin “can already scale much larger than that with existing hardware for a fraction of the cost. It never really hits a scale ceiling.” Faster computers would keep up: “By Moore’s Law, we can expect hardware speed to be 10 times faster in 5 years and 100 times faster in 10.” Hearn quoted the “scale ceiling” line again in 2016, in the essay announcing that he was leaving Bitcoin.[1][3]
Six days later the two tried the system with real coins. Hearn sent Satoshi 32.51 bitcoins, and Satoshi “sent back 32.51 and 50.00”. Hearn returned the extra 50: “I sent you back 50, so now we’re even.”[1]
See Satoshi’s payment to HearnHearn has since published the emails on his website, saying they hold no clue to Satoshi’s identity. What they do record is Satoshi explaining his choices at a time when, as Hearn put it, “asking Satoshi directly was the only way to get clear answers.” Satoshi called the limit of 21 millionSupply cap (21 million)Bitcoin's rules halve the new supply every 210,000 blocks, so issuance slows towards zero. The total approaches 21 million without quite reaching it. coins an “educated guess”: he had considered 42 million but wanted typical amounts in a familiar range, because “If you’re tossing around 100000 units, it doesn’t feel scarce.” Of the elliptic curveElliptic curve (secp256k1)The curve y² = x³ + 7, whose maths turns a private key into a public key that ordinary computers cannot reverse efficiently. behind Bitcoin’s signatures he wrote: “I didn’t find anything to recommend a curve type so I just... picked one.”[4][1][5]
What is secp256k1, Bitcoin’s curve?Bitcoin for phones
By late 2010 Hearn was contributing to Bitcoin’s code. On 27 December he wrote to Satoshi (“Happy Christmas Satoshi, assuming you celebrate it wherever you are in the world”) that he was building a Java version of simplified payment verification (SPVLight client (SPV)A wallet that checks payments using block headers and proofs instead of the whole chain. It trusts miners more than a full node does.) for Android phones. The idea comes from Bitcoin’s white paper: a wallet keeps only each block’s header, a short summary, rather than every transaction, and can still send and receive payments.[2][5][19]
Thinking about storage, Hearn also asked about “the 500kb limit on block sizes”: was it temporary? At the time, 500 KB was the most Bitcoin’s software would put in a block it built, half the 1 MB its rules allowed. Satoshi replied: “A higher limit can be phased in once we have actual use closer to the limit and make sure it’s working OK.” At very high volume, he added, “network nodes would consolidate and there would be more pooled mining and GPU farms, and users would run client-only.” Five years later, the 1 MB limit split Bitcoin’s developers.[5][13][2]
Google released the code on 7 March 2011 as BitCoinJ (now written bitcoinj), open-source software under the company’s name. Hearn told Satoshi he had “finally got all the lawyers happy enough”. “That’s great news!” Satoshi replied. “Much complexity can be left behind in a clean rewrite with only client requirements, and it opens it to Java developers too.” Hearn later wrote that he and another developer, Andreas Schildbach, built “the first and still most popular Android wallet”.[6][5][12][7]
In April 2011 Hearn asked whether Satoshi planned to rejoin the community or “permanently step back from the limelight”. One reason for his questions, he wrote, was a worry that “if one day you leave entirely, parts of the protocol might fall into disuse, which would be a shame.” Satoshi answered on 23 April: “I’ve moved on to other things. It’s in good hands with Gavin and everyone.” He meant Gavin Andresen, who led Bitcoin’s developers after Satoshi left. “I do hope your BitcoinJ continues to be developed into an alternative client,” Satoshi added.[8][2]
The block size debate
By 2015 Hearn was working on Bitcoin full time, having left Google in 2014 after about eight years, and he expected Bitcoin’s blocks to fill up within a year. The rules still capped each block at one megabyte, a limit he called “a temporary kludge” that Satoshi had added “to keep the block chain small in the early days”. He and Andresen wanted it raised. But three of the five developers who could merge changes into Bitcoin Core, the software most of Bitcoin’s nodes run, would not raise it, he wrote.[4][7][3]
On 15 August 2015 Hearn announced a full release of Bitcoin XT, a version of Bitcoin Core that he and Andresen had put together. “So this is it. Here we are. The community is divided and Bitcoin is forking,” he wrote. XT carried BIP 101, a proposal for bigger blocks that would take effect once 75% of new blocks voted for it. That made it a hard forkHard forkA change that loosens Bitcoin's rules, so nodes running old software reject the new blocks. Without near-universal agreement it splits the chain.: a rule change that older software rejects. No one had tried so divisive a fork before, Nathaniel Popper of The New York Times later wrote, largely because it risked leaving two incompatible Bitcoin networks.[7][3][2]
Read BIP-101 on UTXOHubHearn made his case in the same post. The dispute was “about growth”, he wrote: Satoshi had planned for Bitcoin to become popular from the start, and the limit was never meant to be permanent. At the “hard core of this debate” was one question: “Should Bitcoin grow, even if the network changes its structure as a result?” Satoshi had answered yes, Hearn wrote, quoting him from July 2010: “The current system where every user is a network node is not the intended configuration for large scale.” The split had come because “the decision making process in Bitcoin Core has broken.”[7]
Two Bitcoin Core developers saw XT as a betrayal, Popper reported: Mara van der Laan, then known as Wladimir, who had taken over from Andresen as lead maintainer in 2014, and Gregory Maxwell. Decisions about Bitcoin’s software, they said, should be made by technical experts, not by populist campaigns. “No one ‘owns’ Bitcoin,” van der Laan said. “No one can decide over Bitcoin as if it’s some kind of company.”[2]
Both also had technical objections to bigger blocks. In May 2015 van der Laan had told the developers’ mailing list: “I’m weakly against a block size increase in the near future.” Bigger blocks would “push people at the lower end away from running their own full nodes”, the computers that check every payment against the rules, and “Bitcoin’s security model is based on being able to verify the shared consensus on one’s own.” As for the hope that faster computers would keep up: “I prefer not to rely on faith that ‘Moore’s law’ – which isn’t a physical law but a trend – will save us.”[9]
What is a Bitcoin node?True scaling, van der Laan argued, would have to come from systems built on top of Bitcoin, such as the Lightning NetworkLightning NetworkA network built on Bitcoin for payments through channels, without recording every payment as its own blockchain transaction.: “The whole idea of everyone verifying the whole world’s bus tickets and coffee purchases seems ludicrous to me.” Maxwell wrote in December 2015 of a trade-off between scale and decentralisation: if running the system cost too much, “people will be forced to trust third parties rather than independently enforcing the system’s rules.”[9][10]
Instead of a hard fork, Maxwell proposed SegWitSegWitSegregated Witness: a 2017 upgrade that moved signatures into a separate part of each payment, making room for more payments., a design another developer, Pieter Wuille, had just presented. It was a soft forkSoft forkA change that tightens Bitcoin's rules, so nodes that haven't upgraded still accept the new blocks., meaning a tightening of the rules that older software still accepts, and it would make room by moving signatures outside the block size limit.[10]
What is SegWit?Money was involved on both sides. Maxwell and several of his allies worked for Blockstream, a start-up backed by venture capitalists that aimed to move some transactions off Bitcoin’s main network; Hearn was paid for his Bitcoin work by the venture capital firm Andreessen Horowitz.[2]
XT struggled to win support. Supporters of Maxwell and van der Laan, Popper wrote, kept XT’s announcement, and any discussion of it, off bitcoin.orgbitcoin.orgThe website Satoshi Nakamoto registered in August 2008. It published the Bitcoin white paper and still hosts it. Volunteers run it today. and several forums. Attack software called Bitkiller flooded computers running XT with traffic; one internet provider on Long Island said the attacks “brought down service for part of southern Long Island for several hours”. Coinbase, the biggest American Bitcoin company, was briefly knocked offline after backing XT. And one of the commonest reasons miners and start-ups gave for not running it, Hearn wrote, was “we are waiting for Core to raise the limit in December”.[2][3]
Leaving Bitcoin
On 14 January 2016 Hearn published an essay, “The resolution of the Bitcoin experiment”. He had always said Bitcoin was an experiment that could fail, he wrote, but “the now inescapable conclusion that it has failed still saddens me greatly.” His explanation: “It has failed because the community has failed.” Bitcoin had become “a system completely controlled by just a handful of people”, and “the network is on the brink of technical collapse.” He would no longer take part in Bitcoin development, and had sold all his coins.[3]
He listed his reasons. Blocks were full and fees were rising. Mining was controlled from China, where “just two” miners held more than half the computing power. Dissent was being censored. And a Bitcoin Core change by the developer Peter Todd, meant to let people raise the fee on a payment still waiting to confirm, would, he warned, also let buyers redirect a payment back to themselves. His last line echoed Satoshi’s email to him of 2011: “I’m afraid I’ve moved on to other things.”[3][18]
What is replace-by-fee?He had already taken a job at R3, a New York start-up building Bitcoin-like networks for banks. He had never imagined, he told Popper, that Bitcoin could “just fall apart because of people getting crazy and having fundamental political disagreements over the goals of the project”. “It’s really shaken my faith in humanity.”[2]
Andresen, his close collaborator, said at the time that the dispute was likely to cause disruption in the short term but disagreed that it would damage Bitcoin’s long-term prospects. Bram Cohen, the creator of the file-sharing program BitTorrent, called the essay a “whiny ragequit”: Hearn had “attempted a hostile takeover of Bitcoin with Bitcoin-XT”, Cohen wrote. SegWit, which Hearn had called an “accounting trick”, was in Cohen’s view “primarily about addressing the problem of transaction malleability”, a long-standing flaw that let a payment’s ID be changed before it confirmed.[2][11][3]
The fight went on without him. On 1 August 2017 supporters of bigger blocks, among them the investor Roger Ver, split off to create a competing version of Bitcoin, Bitcoin Cash, whose rules allowed blocks larger than 1 MB. Three weeks later, on 24 August, SegWit took effect on Bitcoin itself, in block 481,824.[14][15][16][17]
See the block where SegWit took effectAt R3 Hearn became lead platform engineer and led the development of Corda, which the technical paper he co-wrote calls “a decentralised global database”. It uses Bitcoin’s UTXOUTXOAn unspent transaction output: an amount of bitcoin left by a transaction, with rules for spending it. model, in which each transaction spends earlier outputs and creates new ones, but unlike Bitcoin it “does not use miners or proof-of-workProof of workA puzzle that takes a computer real effort to solve, so the answer proves the effort was spent. Bitcoin’s miners use it to add each block..” Hearn now leads Hydraulic Software, which he describes as a developer tools company.[4][12]
What is a UTXO?Reviewed . To report a mistake, email hello@utxohub.com.
Picture: Mike Hearn, from his own website. Mike Hearn, toned by UTXOHub.
BIPs by Mike Hearn
4 proposalsMore people
The first years
Satoshi NakamotoPseudonymous creator of Bitcoin
Hal FinneyCryptographer who received the first bitcoin transaction
Laszlo HanyeczEarly developer who paid 10,000 BTC for two pizzas
Gavin AndresenLead Bitcoin developer after Satoshi, 2010–2014
Marek PalatinusFounder of Slush Pool and co-founder of SatoshiLabs
Jed McCalebFounder of Mt. Gox; later co-founded Ripple and Stellar
Charlie ShremCo-founder of BitInstant; Bitcoin Foundation vice chairman
References
- Mike Hearn’s website, “Questions about BitCoin (emails with Satoshi Nakamoto)”, 12 April 2009.
- The New York Times (Nathaniel Popper), “A Bitcoin Believer’s Crisis of Faith”, 14 January 2016.
- Mike Hearn on Medium (archived), “The resolution of the Bitcoin experiment”, 14 January 2016.
- Mike Hearn’s website, “Mike Hearn”.
- Mike Hearn’s website, “More BitCoin questions (emails with Satoshi Nakamoto)”, 27 December 2010.
- Mike Hearn’s website, “Open sourced my Java SPV impl (emails with Satoshi Nakamoto)”, 7 March 2011.
- Mike Hearn on Medium (archived), “Why is Bitcoin forking?”, 15 August 2015.
- Mike Hearn’s website, “Holding coins in an unspendable state for a rolling time window (emails with Satoshi Nakamoto)”, 23 April 2011.
- Bitcoin development mailing list (Wladimir J. van der Laan), “Re: Block Size Increase”, 7 May 2015.
- Bitcoin development mailing list (Gregory Maxwell), “Capacity increases for the Bitcoin system”, 7 December 2015.
- Bram Cohen on Medium (archived), “Whiny Ragequitting”, 16 January 2016.
- R3 (Mike Hearn and Richard Gendal Brown), “Corda: A distributed ledger, version 1.0”, 20 August 2019.
- Bitcoin source code on GitHub (version 0.3.19), “main.h: MAX_BLOCK_SIZE = 1000000, MAX_BLOCK_SIZE_GEN = MAX_BLOCK_SIZE/2”, December 2010.
- The New York Times (Nathaniel Popper), “Some Bitcoin Backers Are Defecting to Create a Rival Currency”, 25 July 2017.
- Bitcoin Cash on GitHub, “UAHF Technical Specification (a block size hard fork, activating 1 August 2017)”, 24 July 2017.
- Bitcoin Core source code on GitHub, “chainparams.cpp: SegwitHeight = 481824”.
- mempool.space, “Bitcoin block 481,824”, 24 August 2017.
- Bitcoin Core on GitHub, “Bitcoin Core 0.12.0 release notes: “#6871 nSequence-based Full-RBF opt-in (Peter Todd)””.
- Satoshi Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System (section 8, Simplified Payment Verification)”, 31 October 2008.