Clicky

“Our initial product was developed in part by our summer intern Jack Dorsey, who later went on to co-found Twitter,” said Jim McKelvey, founder of Mira Digital Publishing in a summary of his first major software comapny. That product was a document imaging system for the earliest generation of Windows® based microcomputers in 1992. Jack joined as an intern in 1991 as a 15-year-old. “He was still at school and worked for us for three summers,” McKelvey said. “His mother owned a coffee shop. He was smart, did as he was told; he had a very good manner. My nickname for him was Jack the Genius. You would give him a task and he would be able to do it. […] During his second year working for me, I hired some other guys to work under him. One was in his 30s, and Jack was 16.”

Jack was coding even before that. “In 1984, when he was eight, his father bought him an I.B.M. PC Jr.; three years later, he was given a Macintosh,” according to New Yorker Magazine. “St. Louis was a technologically advanced city then, home to McDonnell Douglas and Southwestern Bell. Phrack, an online magazine for hackers, was based there. Washington University let locals use its computer network, and Dorsey tapped in so that he could gain access to the Internet. He particularly loved Internet Relay Chat, which allowed him to watch programmers trading code. ‘It was like a big Internet CB radio,’ he says. He remembers using it to teach himself to code in C, and he wrote a program that graphically simulated the movements of the vehicles on the police scanner.”

By 2003, Jack shared that he considered himself proficient enough in C, Python, OCaml, JoCaml, Lisp, and Objective-C to teach them. Though he’d later become a self-professed fanatic of Apple and Steve Jobs and release freeware for MacOS using Objective-C, Jack’s coding experience at Mira was primarily on Windows, and when he later joined Dnet in 1998, the company’s first public software release (mainly coded by his colleague Erik Westra), was for Windows only.

Jack was also a fan of OpenBSD and coded the first prototype for Twitter using C for RIM’s BlackBerry OS in 2000. He opined on Java and Linux going back to 1999. He talked cyberpunk and cryptography and appeared on the cypherpunk mailing list in 2000.

All of this is to simply present a background that Jack Dorsey was a legitimate cross-platform programmer borne out of the 1990s era of computing, which if he is to really be Satoshi Nakamoto, would be a necessary component to the possibility.

“Whenever anyone says X is Satoshi, my first response is always ‘show me the code.’ This should be our default position,” said Amir Taaki in response to HBO’s Money Electric documentary on Bitcoin. Money Electric named Bitcoin developer Peter Todd as Satoshi Nakamoto (which received near unanimous criticism).

“Satoshi Nakamoto wrote code that was not usual,” said Taaki. “He had many quirks. We can find him by comparing his code with others, but no one did that yet.”

Taaki continued by saying that “he made big use of locks when it was out of fashion. He used Hungarian notation which was no longer used. He made spaghetti function recursion and never used objects to encapsulate processes. He also targeted Windows.”

Others have pointed out that Satoshi used spaces instead of tabs, that he used camelCase instead of snake_case, and that he preferred to create many single-line comments with double slashes.

By way of coincidence, the Bitcoin White Paper represented its math in C, Jack’s main programming language, even though the actual product was written in C++. Jack did not not openly proclaim that C++ was one of his primary languages but Taaki’s critique of Satoshi’s C++, the fact that he didn’t use objects, could suggest that Satoshi had preferred C as a language.

“The code was highly idiosyncratic and personal including the style itself,” said Taaki. “Analysis of the code will tell us everything.”

90s era code authored by Jack are hard to come by and if it becomes available, this will be revisited, but very short snippets of code he wrote between 2001-2004 in Objective-C for simple MacOS utilities can provide some insight into his style.

For instance, Jack used spaces just like Satoshi. But Jack also mixed camelcase with snake_case and relied heavily on double slashes for comments, though a block style multi-line comment is evident in at least one example examined. If Jack had been accustomed to using Hungarian notation, these very short scripts and language used would not have really provided the opportunity to see it. However, in main.m of his Gmailto utility, he uses a comment line to question how something is done.

// !!! is there a better way to do this?

Satoshi did similar in his November 2008 pre-release version of the code. (here and here):

//// is this all we want to do if there’s a file error like this?

////// should the one on the receiving end do this too?

It is not uncommon for a programmer to pose such questions to themselves, however. One could also begin to suggest that Jack’s coding style and Satoshi’s is already not an exact match (See source code files for Jack at the bottom of this page). However, writing opensource code for a little freeware utility for retail mac users is quite a bit different than writing revolutionary source code for a cypherpunk audience and no doubt one would adjust their style accordingly.

Satoshi’s self-consciousness of the audience is evident in an email he wrote to Martti Malmi on May 4, 2009.

“The site at bitcoin.org was designed in a more professorial style when I was presenting the design paper on the Cryptography list, but we’re moving on from that phase,” Satoshi wrote.

Satoshi, therefore, had been performative in trying to come across like a professor. One could surmise then that he had done the same with the code. Jack, who was doing commercial windows programming as early as 1991 would’ve been capable and experienced in writing code consistent with an older era if he wanted to convey that impression and do it fluently.

Amir Taaki, for example, said that Satoshi’s style indicated “an older person, possibly not a software dev but from a close domain like engineering or physics.”

Jack Dorsey’s father, of course, was an engineer, mainly working in the field of spectrometry, which fits the profile. And Jack worked at his father’s company, MA Tech Services, for a number of years. All of this is to say that with the present code available (which I hope to obtain more of), one can’t say that Jack’s style of coding can positively identify him as Satoshi. It also can’t rule him out. Unlike analyses of other candidates possibly being Satoshi (which dwell almost entirely on having the requisite skills for it to be possible and compelling interest and expertise in the area, my analysis of Jack Dorsey being Satoshi attempts to capture every possible angle.)

In any case, in a debate waged on the ycombinator forum in 2023 over whether or not Hal Finney’s code aligned with Satoshi’s, one user pointed out that the debate was irrelevant. “Someone of Hal’s intelligence and skill who was a decades long cypherpunk would understand the importance of obfuscating ones own styles.”

Assuming Satoshi was just as intelligent as he appeared to be, the code itself could be the ultimate clue or in the end just another layer of stealth and mystery.