
In the readme.txt he shipped with the source of Bitcoin v0.1.3, Satoshi named the compilers he supported: MinGW GCC 3.4.5 and Microsoft Visual C++ 6.0 SP6, a compiler Microsoft had sold since 1998. A few lines further down he recorded what that loyalty cost: “You may need Boost version 1.35 to build with MSVC 6.0. I couldn’t get version 1.37 to compile with MSVC 6.0.”
By then the current Microsoft compiler was free, and it wanted to know who was using it. The free Visual C++ 2008 Express Edition had to be registered within 30 days, through a Passport sign-in and an online form that asked for personal information. A pseudonymous developer holding on to a ten-year-old compiler invites an easy reading: he stayed where nobody asked his name. The record lets that reading be checked, against what the software of those years asked of its users, what this circle had said about it, where Satoshi did put a name down, and what he built.
1. Software starts asking who you are
Microsoft’s Product Activation tied a copy of the software to the machine it was installed on and would not keep running until it had been unlocked through Microsoft. After trials in single markets with Office 97 and Office 2000, it was extended worldwide with Office XP, on sale from May 2001, and Windows XP, from October 2001; Microsoft’s own 2002 page names those two products. Microsoft assured users that activation was an entirely anonymous transaction. Not everyone took that on trust. Writing in The Register in April 2001, John Lettice judged that “vast swathes of the user community are poised to believe the slightest suggestion that the company is up to no good.”
The developer tools went one step further and asked for a name. Visual Studio Express, launched on November 7, 2005, was a free download for its first year, and a registration key unlocked it “for unlimited, ongoing use”; registering meant Microsoft would “collect standard information about you and your preferences.” By 2008 the terms were plain. Microsoft’s Visual Studio 2008 documentation reads: “You must register your Express Edition to receive a key to unlock the product for long-term use,” after you “Sign in to Passport and then fill out the online registration form.” The FAQ allowed “30 days from when you install,” and the registration page conceded that the form “requires you to enter personal information” and “may include an e-mail to you to confirm your e-mail address.”
| Year | Software | What it asked of the user |
|---|---|---|
| 1998 | Visual C++ 6.0 | Sold before Product Activation went worldwide |
| 2001 | Office XP, Windows XP | Unlock the copy through Microsoft (Product Activation) |
| 2005 | Visual Studio 2005 Express (free) | A registration key for “unlimited, ongoing use”; standard information about you |
| 2006 | MinGW GCC 3.4.5 | Free software; no key to unlock |
| 2008 | Visual Studio 2008 Express (free) | Register within 30 days: Passport sign-in, personal information, e-mail confirmation |
2. A circle that had already said what it thought
The cryptography mailing list, where Satoshi announced the paper in 2008, had heard a first-hand account of registration failing at the worst moment. In May 2002 a list member, Jeffrey Altman, described building a missing-persons database in downtown Manhattan after 9/11 on copies of Office XP that Microsoft’s New York office had donated. “During the crisis there was no method by which the copies could be registered,” he wrote, so the software stopped after a few runs. “I grabbed an old copy of Office 97 and used that instead since it didn’t have the limits.”
In August 2002 John Gilmore, who had founded the Cypherpunks with Timothy May and Eric Hughes, wrote to both the cypherpunks and the cryptography lists that Windows XP and Office XP “lock up and won’t let you access your locally stored data, until you put the computer on the Internet and ‘register’ it with Microsoft.” His message was part of the argument over Trusted Computing, the industry plan to have the machine itself vouch for what software was running.
That plan drew the same reaction from people close to Bitcoin. On his RPOW site, Hal Finney proposed to use Trusted-Computing-style attestation the other way round, so that users could check the server, and described the result as a technology that would become, “rather than a threat to individual privacy,” a boon to it (the rpow.net home page). Ray Dillinger, who reviewed Bitcoin’s code with Finney in November 2008, wrote in 2017 that “security professionals are aghast when people talk about ‘Trusted Computing Modules’ becoming a standard part of computers” (his LinkedIn essay). Going back to an older product to get away from registration was a move this circle had already described in writing.
3. What Satoshi built with
Satoshi’s own toolchain, laid out period by period in the Windows development environment analysis, is old Microsoft plus free software. The v0.1.3 readme lists Visual C++ 6.0 SP6, the final service pack of the 1998 compiler, beside MinGW GCC 3.4.5, the Windows port of GCC. Of the two, MinGW was the one he built with: “That’s the better compiler, I only used VC for debugging,” he told Martti Malmi in August 2009. When the newer Boost 1.37 would not compile under Visual C++ 6.0, he stepped Boost back to 1.35 rather than move the compiler forward. Two years later, on February 22, 2011, the PGP blocks he sent to Gavin Andresen and Martti Malmi still carried the header GnuPG v1.4.7 (MingW32) - WinPT 1.2.0, the free Windows build of GnuPG with its tray front end.
Nothing in that stack asked him to sign in. Visual C++ 6.0 predates the worldwide rollout of activation, and MinGW and GnuPG are free software with no key to unlock.
4. Where Satoshi did put a name down
Satoshi was not someone who avoided forms. Between August 2008 and June 2009 the record shows him signing up again and again, each time under the pseudonym or an address made for it.
| Date | Where he signed up | Under what |
|---|---|---|
| August 18, 2008 | bitcoin.org, through AnonymousSpeech, a paid anonymous-registration service | The service’s own name as registrant |
| August–October 2008 | E-mail accounts for the first contacts and the paper | satoshi@anonymousspeech.com, satoshi@vistomail.com |
| November 9, 2008 | The bitcoin project on SourceForge | A SourceForge user account |
| February 11, 2009 | P2P Foundation | satoshin@gmx.com |
| June 14, 2009 | The bitcoin.org site | The username “satoshi” |
He also knew a sign-up from the other side of the form. With bitcoin.org’s mail server on a spam blocklist, he turned on e-mail verification for new members of the Bitcoin forum and explained the trade-off:
Satoshi Nakamoto (email to Martti Malmi, July 29, 2010, 2:18:56 AM UTC)I’m more inclined to disallow notifications or anything where the forum sends you e-mail. I kinda like not requiring e-mail verification. But if that’s the only way to make sure we don’t send e-mails to un-verified addresses, then we could do that.
The full message shows the order of his preferences: no verification if possible, verification when abuse left no other way.
5. Did registration keep him on Visual C++ 6.0?
The reading that ties the old compiler to pseudonymity has real support. The free route to a current Microsoft compiler ran through Passport and a personal-information form; his circle had written about leaving newer Microsoft products behind because of registration; and the compiler he kept had none.
The record cuts the other way on every point that matters. The same readme names a second compiler, MinGW, that was free and had nothing to register; if Microsoft’s form had been the obstacle, a compiler without one was already in his build, and it was the one he built his releases with. In November 2009 he even wrote that he “should see if I can upgrade MinGW to 4.3.x”; the compiler he meant to bring up to date was the free one. A Passport account under a throwaway address would have cost him less than any line in the table above, and he filled in every one of those.
Support for a newer Microsoft compiler came in Satoshi’s own commit. On February 12, 2010, he made Boost 1.35 or higher a requirement for the new command line and JSON-RPC, and in the same commit (98500d70a8 in the SVN history) Bitcoin “now compiles with MSVC 8.0.” His Windows build notes added that “MSVC 8.0 (2005) SP1 has been tested.” Which edition of the 2005 compiler is not recorded; the free Express edition would have needed the registration key from §1.
A registration form did not keep Satoshi on Visual C++ 6.0. In this archive, his posts and e-mails never mention Product Activation, Passport or Microsoft’s registration at all. The only reason in this archive that he gave for keeping VC6 is one sentence from July 2010: “I wanted to keep compatibility with MSVC6 at that time.” The same post gives the reason he stopped: “We don’t support MSVC6 anymore because we use something in Boost that doesn’t. We lost support for it after 0.2.0.”
6. What he built instead
The sign-up era matters to Bitcoin in a different place: not in the tools Satoshi used, but in what he made with them. The v0.1 announcement describes a system that is “completely decentralized with no server or central authority.” There is no one to register with. Section 10 of the white paper puts privacy in the same place:
Satoshi Nakamoto (whitepaper, October 31, 2008, 6:10:00 PM UTC)The necessity to announce all transactions publicly precludes this method, but privacy can still be maintained by breaking the flow of information in another place: by keeping public keys anonymous.
The paper goes on to advise “a new key pair” for each transaction. A user’s identity in Bitcoin is a key pair the user generates; nobody issues it, and no form stands between the user and the network.
| Visual Studio 2008 Express | Bitcoin v0.1 | |
|---|---|---|
| Who lets you in | Microsoft, after a Passport sign-in | Nobody; the client joins the network |
| What you hand over | Personal information, a confirmed e-mail address | Nothing |
| What identifies you | A registration key tied to your account | Key pairs you make yourself, as many as you like |
Satoshi did not need to flee registration; he signed up for whatever he needed under a name that led nowhere. What he did instead was build a money that has no place for the form at all. In the years when software started asking every user who they were, Bitcoin was the clearest answer anyone gave: not a refusal to fill in the field, but a system in which the field does not exist.













