Document provenance · reproducible · neutral

The Bitcoin whitepaper: which version is which

There is not one Bitcoin whitepaper. At least four are known, and they differ in ways you can check yourself in seconds. Two are held, one is lost, and one is known only through a court record. This page records what each is, how to identify any copy from its contents alone, and — the part that matters most — exactly where proof ends and inference begins.

Every claim here names its public source.

The four known versions

Dates are the files' own where we hold them; the evidence below does not depend on them.

versionstatusidentity
August 2008
“Electronic Cash Without a Trusted Third Party”
lost Sent as a link to Adam Back on 20 Aug 2008 and Wei Dai on 22 Aug 2008. The filehost died; no archive captured it. Its contents are known from Satoshi's own emails — see the ladder below.
3 October 2008
183,697 bytes
427c63b3…982faa
held The paper as announced. Its abstract matches the 31 October announcement word for word. Served byte-identically by gwern.net and archive.org. Used as a control copy in the expert evidence in COPA v Wright (¶320).
January 2009 download
in the court record
no public hash
not held The judgment in COPA v Wright records (¶271.9) that Nicholas Bohm, a retired solicitor who corresponded with Satoshi shortly after the January 2009 release, provided a version of the whitepaper he had downloaded in January 2009, which an expert witness (Mr Madden, ¶271.9) authenticated and which was used in the evidence as a control copy. That is what the public record states, and it is what this page states. Its creation date, hashes, size and text are in evidence that is not published, and this page does not reproduce them.
24 March 2009
184,292 bytes
b1674191…f4f553
held · chain-anchored The canonical file — what bitcoin.org/bitcoin.pdf serves today. Embedded in the block chain at block 230009. The court's own control copy (ID_000865) is the same file: the judgment records it as created 24 March 2009 and hash-identical to a SourceForge web-archive capture of 28 November 2009 (¶320), and that capture hashes to b1674191…f4f553, the bytes recovered from the chain. This is the design as its author last stated it; it is not a witness to October 2008.

Check before you hash: a 2024 re-save carries the 2008 creation date

A file named for the October 2008 draft is published on GitHub for technical comparison, and it is not that draft: it is the same document re-saved on 30 March 2024. This is easy to miss because re-saving preserves the original creation date, and it is an ordinary by-product of opening a PDF in an analysis tool — nothing here suggests the publisher intended to mislead anyone, and their 2009 file is byte-identical to the canonical. It is noted because the artifact is easy to mistake for an original, not because anything is wrong with the work it belongs to.

                        bytes     sha256          /CreationDate            /ModDate
the re-save           188,867   f5aa8f4b…   D:20081003134958-07'00'  D:20240330175340+10'00'
the genuine draft     183,697   427c63b3…   D:20081003134958-07'00'  (none)

Three independent tells: an added /ModDate at a +10:00 offset; a size closer to the canonical's 184,292 than the real draft's, so a size check can pass it; and the structural giveaway — a PDF writer sets the two halves of /ID equal on first save and not on any later save. They are equal in the genuine draft and unequal in the re-save. Its text is the October text (no fee paragraph), so only the file differs — but anyone publishing its hash as “the 3 October 2008 whitepaper” is publishing the fingerprint of a 2024 file.

This is the second such near-miss we have caught, and the reason verify/audit_published_hashes.py exists.

Identify any copy in ten seconds

Seven tests, all plain-text searches. Four of them come from Satoshi's own words in dated records — the 20 August 2008 email the judgment quotes (¶661) and the 22 August email Wei Dai published — rather than from any file, which is why they can identify even the lost draft. The court-record column is blank on purpose: the file is in no public hands, and what is in evidence about it is not published; its cells are what a surfacing copy would fill in.

testAug 2008 (lost)3 Oct 2008Jan 2009 download (court record)24 Mar 2009
titleElectronic Cash Without a Trusted Third PartyBitcoin: A Peer-to-Peer…unknownBitcoin: A Peer-to-Peer…
“Digital signatures …”offer part of the solutionprovide partunknownprovide part
Hashcash reference no.[5][6]unknown[6]
b-money citationabsent entirely[1] … 1998unknown[1] … 1998
“the burdens of”yesyesunknownno
Section 6 transaction feesunknownabsentunknownpresent, reworded
contact addresssatoshi@vistomail.comunknownsatoshin@gmx.com

Where the reference numbers come from

On 20 August 2008 Satoshi emailed Adam Back to check a citation, quoting their own draft: [5] A. Back, "Hashcash — a denial of service counter-measure". They had not heard of b-money. Back replied the next day pointing them to it, and Satoshi answered: “I wasn't aware of the b-money page… I'll e-mail him to confirm the year of publication so I can credit him.”

If b-money then went in as [1], every later reference must shift down by one. Both surviving files were checked: Hashcash is [6] in both. A prediction taken from the judgment's quotation of the email (¶661), confirmed against files from an unrelated source.

So a candidate for the lost August draft is settled quickly: title “Electronic Cash Without a Trusted Third Party”, Hashcash at [5], no b-money citation — the title from the email Wei Dai published, the citations from the judgment (¶661, ¶663). The file circulating under that name fails this — and also fails on structure, being PDF 1.6 and linearized, which OpenOffice 2.4 does not produce.

Verify it yourself

Python 3, standard library. No API key, no login, no node required.

1 · Carve the canonical paper out of the block chain

It was embedded in a transaction on the 2009 Bitcoin chain, 54e48e5f… across 946 bare-multisig outputs (945 carrying three 65-byte pushes, one carrying the 33-byte tail) whose “public keys” are file bytes.

python verify/whitepaper_from_chain.py out.pdf

block   230009        2013-04-06 20:28:10 UTC
carved  184,292 bytes  %PDF-1.4 … %%EOF
sha256  b1674191a88ec5cdd733e4240a81803105dc412d6c6708d53ab94fc248f4f553   matches

Proof-of-work cannot be backdated. This pins the canonical text to April 2013 independently of bitcoin.org, of the Internet Archive, and of us. It says nothing about 2008 and is not offered as if it did.

2 · Compare the two surviving files structurally

python verify/pdf_structure.py canonical.pdf draft.pdf

                        canonical      draft
PDF version              %PDF-1.4    %PDF-1.4
linearized                     no          no
/ObjStm  (PDF 1.5+)             0           0
/XRef    (PDF 1.5+)             0           0
/ID[0] == /ID[1]     not re-saved    not re-saved
embedded subset fonts           7           7
pages                           9           8

3 · Compare the embedded font programs — the deepest test

OpenOffice embeds a subset of each font containing only the glyphs the document uses. Two exports of the same document from the same machine share byte-identical subsets wherever the text did not change.

python verify/pdf_fonts.py canonical.pdf draft.pdf

BAAAAA+CenturySchoolbook-Bold     29,212   29,212   IDENTICAL
CAAAAA+TimesNewRomanPSMT          60,572   60,572   differ
DAAAAA+TimesNewRomanPS-BoldMT     25,632   25,632   IDENTICAL
EAAAAA+ArialMT                    38,580   38,580   IDENTICAL
FAAAAA+TimesNewRomanPS-ItalicMT   37,812   37,812   IDENTICAL
GAAAAA+OpenSymbol                  2,232    2,232   IDENTICAL
HAAAAA+CourierNewPSMT             36,020   36,020   IDENTICAL

byte-identical: 6 of 7

The one that differs is the body text font, and it differs only in glyf, hmtx and loca — which glyphs are in the subset — not in cmap, cvt, fpgm, maxp, name, post or prep. Both carry the same source-font creation stamp of 1990-08-06 13:14:42.

That is the same font files, on the same machine, subsetted by the same software — with different glyphs in the body because the body text changed. To fake it you would need not merely OpenOffice 2.4 but the same physical font files, and six of your subsets would have to hash identically to the file you were imitating.

How the October draft is dated — without trusting the file

A backdated clock can write any creation date. The dating below does not use one.

The early bound — a citation its author did not yet have

On 22 August 2008 Satoshi asked Wei Dai for b-money's publication year and guessed: [1] W. Dai, "b-money," … (2006?). Dai replied: 1998. The draft reads [1] W. Dai, "b-money," … 1998. — so it postdates Dai's reply.

The late bound — a paragraph they had not yet written

The draft has no Section 6 transaction-fee paragraph. Satoshi proposed transaction fees on the mailing list on 9 November 2008“it's easy to tweak it for transaction fees instead” — and referred to them the next day as “the transaction fee based incentive system I recently posted.”

after    Wei Dai's reply to the 22 Aug 2008 email   — holds a fact Satoshi lacked
before   9 Nov 2008                                 — lacks a paragraph they hadn't written
         the file's own date, 3 Oct 2008, sits inside and does none of the work

A forger cannot put a citation into a document before its author learned it, nor remove a paragraph they had not yet written. Neither is reachable with a backdated clock.

Where the October draft came from

It did not appear from nowhere in 2020. Its history is on the same mailing list that carried the announcement.

daterecord
2015-01-24Asked on the cryptography list whether anyone saved the original, a list member replies: “Looks like I have it… the local date of the file I have is 2008 Nov 2183,697 bytes
2015-01-25Posts the hash 427c63b3…982faa. Another member replies that “the one everyone else has” is b1674191… — the community had only the canonical file
2015-01-30A named recipient receives it by anonymous remailer in ~26 parts, reassembles and republishes it — same hash
2015-02-14The Internet Archive captures that page, hash and all
2017-08-17Ray Dillinger — who took part in the original November 2008 thread — confirms: “Yes. The hash matches. That's definitely it.”

So the hash sits in two independent third-party records from early 2015, five years before the archive.org copy existed, and is confirmed by a participant from 2008. And the content dating agrees with the custody claim without either knowing about the other: he said early November 2008; the absent fee paragraph independently says before 9 November 2008.

Recorded for completeness: in 2015 he gives the file's local date as 2 November 2008; in 2017 he writes “received here 2008 November 8”. Six days apart. Both precede the fee proposal, so the dating is unaffected — but the two statements are not identical.

What a court found

COPA v Wright, [2024] EWHC 1198 (Ch), Mr Justice Mellor, 20 May 2024 — 1,698 paragraphs, on expert evidence tested by cross-examination.

“After significant scrutiny and verification via third party sources, he identified {ID_000226} and {ID_000865} as suitable ‘control’ copies of versions of the Bitcoin White Paper. {ID_000226} has a creation date of 3 October 2008.the 3 October draft, used as a control copy
“The White Paper was not written in LaTeX but in OpenOffice 2.4 (a finding consistent with the metadata of the public Bitcoin White Paper versions).” ¶303.1 — the Joint Statement of both parties' experts
“{ID_000865} bears a creation date of 24 March 2009 and is hash identical to a file ‘Bitcoin.pdf’ from a web archive capture dating to 28 November 2009 from the sourceforge.net project.” ¶320 — and that capture hashes to b1674191…f4f553, the file recovered from the block chain

So the canonical file's identity is attested by three independent classes at once, agreeing to the second and to the byte: the PDF's own /CreationDate; bitcoin.org's own filesystem, recovered as X-Archive-Orig-Last-Modified: Tue, 24 Mar 2009 17:33:15 GMT; and a judgment's own record of the copy the court used as its control (¶320). A self-claim, a web server the author did not run, and a finding in a public judgment — all naming the same instant and the same bytes.

The judgment also records that OpenOffice 2.4.0 was released on 26 March 2008 (¶271.1) — a floor on any document claiming that toolchain — and the expert's summary, quoted in the judgment at ¶193, states that a document could be made “by downloading and running that software on a computer (or virtual computer) with a backdated clock.” Which is precisely why the dating above uses content rather than metadata.

The fourth version: in the court record, not in public hands

The judgment in COPA v Wright records (¶271.9) that Nicholas Bohm, a retired solicitor who corresponded with Satoshi shortly after the January 2009 release, provided a version of the whitepaper he had downloaded in January 2009, which an expert witness (Mr Madden, ¶271.9) authenticated and which was used in the evidence as a control copy. That is what the public record states, and it is what this page states.

What this page does not reproduce, and why

The file's creation date, its hashes, its size and its text are in evidence that is not published by the court or the parties. This page cites the judgment by paragraph and nothing else from the proceedings: it does not reproduce, re-host or rely on copies of expert appendices or witness statements in circulation. So whether that version carries the Section 6 transaction-fee paragraph — which would date the fee mechanism's arrival against Satoshi's 9 November 2008 proposal on the mailing list — stays an open question here:

 3 Oct 2008   no transaction fees in the paper
 9 Nov 2008   Satoshi proposes transaction fees on the mailing list
 Jan 2009     a version in the court record — its text is not published
24 Mar 2009   the fee text in the form everyone knows

Until 14 September 2026 this section reported the file's hashes, creation time and three sentences of its text from an expert appendix in circulation. That material was removed; the correction is recorded here rather than made silently.

The chronology, with its proofs

Every line carries the record that dates it, and the class of that record. Nothing here rests on repetition or on conventional account.

dateeventwhat dates it
2008-08-18bitcoin.org registeredRDAP, still live. Registrant not recorded; the attribution to Satoshi is the court's agreed background (¶23.1), not a registry fact
2008-08-20Satoshi emails Adam Back — the earliest known Satoshi communicationquoted in the judgment at ¶661
2008-08-21Back replies, pointing them to b-moneyquoted in the judgment at ¶663
2008-08-22Satoshi emails Wei Dai for the b-money yearpublished by Wei Dai; quoted in The Sunday Times, 2014
2008-10-03the surviving draft's creation datethe file's own metadata — corroborative only
2008-10-05nakamoto2 SourceForge account createdarchived user page (server-set) and ¶23.3
2008-10-31the paper announced, abstract quoted inlinemetzdowd archive, in server-recorded arrival order
2008-11-08Satoshi quotes their own Section 4 on the listmsg 014831 — 41 words, identical to the shipped PDF
2008-11-09transaction fees proposed — the draft's late boundmsg 014842
2008-11-17the list moderator ends the discussion, 4h 19m after Satoshi's last postmetzdowd archive“ADMIN: end of bitcoin discussion for now.” The 52-day silence that follows is consistent with a moderated list being moderated; it need not be read as a withdrawal
2008-12-08/09the paper uploaded to SourceForge¶23.5. That file is not preserved and its size was not captured
2009-01-03the genesis blockproof-of-work — the only unforgeable class here
2009-01a member of the public downloads the paper — a fourth version, in the court record¶271.9: Nicholas Bohm's January 2009 download, authenticated in evidence (¶271.9) and used as a control copy. Its date, hashes and text are in evidence that is not published
2009 (early)Satoshi transfers bitcoin to Bohm¶771, from Bohm's evidence. Which transactions they were is in correspondence given in evidence and not published; not identified here
2009-03-24the canonical file created, and released to SourceForge the same daythe file's metadata and SourceForge's own activity feed (“176 days ago”, captured 2009-09-16) and ¶23.9
2009-11-28earliest archived bytes of the canonicalSourceForge mirror — an actual archived PDF. Download it; it hashes to b1674191…. This is the capture the judgment records as hash-identical to the control copy (¶320).
2013-04-06the canonical embedded in block 230009proof-of-work

The announcement's own receipt, and a clock that was blamed wrongly

The paper was announced by an email. That email's arrival was recorded by a server that belonged to neither the sender nor the recipient — and that record is public, though it took a while to find.

What this does not do. A list fans one message out and copies the existing relay lines verbatim into every envelope, so extra copies are tamper-evidence, not extra witnesses — the arrival time rests on the list operator's clock. And none of these clocks belongs to a person: 124.217.253.42 is a remailer's relay used by every customer of that service, so its +0800 offset is a server setting and is not evidence of anybody's timezone. This dates a document. It identifies nobody.

What was searched, and is not there

The part that makes the rest usable. These are searched negatives, not untried routes — recorded so nobody repeats them.

How these archives actually behave

Every negative on this page depends on an instrument doing what it is assumed to do. Three of them do not, in ways that silently manufacture wrong answers. Recorded because anyone re-running this work will hit them.

A 404 is not necessarily an absence. On Common Crawl's index a 404 means “no rows for that URL”, not “no index” — the 2008–2009 collection answers normally for google.com and wikipedia.org while returning 404 for bitcoin.org. Before reading a 404 as evidence of absence, prove the endpoint can return anything at all.

How many people downloaded it

SourceForge still publishes its own download statistics, month by month, back to the project's registration. No key, no login.

https://sourceforge.net/projects/bitcoin/files/stats/json?start_date=2008-11-09&end_date=2009-06-30

   2008-11         0
   2008-12         1     <- the whitepaper was the ONLY file in the project that month
   2009-01       141     <- v0.1 released 8 Jan 2009
   2009-02        49
   2009-03        59

Satoshi uploaded the paper to SourceForge on 8/9 December 2008 and the software on 8 January 2009 (COPA v Wright, agreed chronology ¶23.5 and ¶23.7). So in December 2008 the project held exactly one file — and it was downloaded once.

Checked across four independent query windows; all return 1, and an isolated December query returns total: 1. Reproduce with verify/sourceforge_download_stats.py.

What this figure is not

It is a project total, not a per-file one — the API exposes no per-file breakdown for that period, and the step to “the whitepaper” comes from the chronology, not from the API. Whether an uploader's own fetch is counted is undocumented, as is how bots were filtered in 2008. Counts are monthly buckets.

And the December figure is the only clean one. The software went up on 8 January 2009, so from January the project total mixes paper and software and cannot be attributed to either. The December file lived until 24 March 2009; over its whole life it was taken somewhere between 1 and 83 times — 83 being the cumulative count the 2009-11-29 listing shows for the Research Paper package, which also includes the March replacement's downloads.

So the defensible statement is narrow: in December 2008, when it was the only file in the project, it was downloaded once. That is worth knowing because it is the opposite of what one would assume — and because it means “ask the people who downloaded it from SourceForge” was not a search strategy.

Which version was on offer is known to the court, not to the public

The December file was replaced on 24 March 2009, so whatever it was, it was not the canonical. The judgment records (¶271.9) that Nicholas Bohm downloaded a version in January 2009 that was authenticated in evidence (¶271.9) and used as a control copy; its date is not in the public record.

The limit, stated: the judgment does not say where he downloaded it from, so this does not identify the SourceForge file; it establishes only that a version other than the two held ones was obtainable in that window. Its size and MD5 would still be recoverable from SourceForge's own frs_file table, whose schema is archived and does carry both fields — but that route is now confirmed closed: every SRDA host is dead (no DNS, or 503), no copy survives on archive.org, Zenodo or Notre Dame's own repository, and the successor collection (FLOSSmole) was enumerated file-by-file for four monthly dumps — it carries no file-release table at all, in any month. What remains is a holder coming forward, which no search can force.

Can any of this prove Satoshi wrote it?

No. And that is a fact about the evidence, not a gap in the searching — so it is worth stating precisely rather than leaving as an impression.

Two questions get run together constantly, and they behave completely differently:

the questioncan it be settled?
which filewhich bytes did the author publish, and when? Yes, in principle. It is a search problem, and most of this page is its answer
who wrote itis this text that person’s composition? No — and not for want of evidence; see below

Why the second one is closed

To establish authorship by machine you would need a digital signature over the document, made with a key established as the author’s independently of the claim. Three things stand in the way, and the third is the one usually missed.

The standards available, and where the canonical file stands against each — near the top of what is achievable rather than short of something that was available:

standardstatus
a signature by a known-Satoshi keyimpossible — see above
an on-chain commitment by the authornone found — five channels scanned with passing controls, two of them to block 150,000
independent custodians holding identical bytesyes — SourceForge, the Internet Archive, Arquivo.pt, Vefsafn.is, and the block chain
examined in the expert evidence in COPA v Wright, tested at trial (¶320)yes — used as a control copy in COPA v Wright
internal evidence bracketing the dateyes — the b-money citation, on both sides

The canonical whitepaper is among the best-attested documents of its era. It is not a verified-authored one, and the three points above are why no signature would make it so. Cryptographic proof that Satoshi wrote a particular file is not something the mathematics can supply.

So — is this “the real whitepaper”?

You have to say which one, and then the answer is exact.

As “the paper as it stood when it was announced in October 2008” — the 3 October draft is about as established as a document gets: byte-identical from two unrelated hosts, its hash in two independent 2015 records, confirmed by a participant from the 2008 thread, a control copy in the High Court, sharing six byte-identical font programs and its entire toolchain with the canonical, and bracketed on both sides by evidence that is not its own metadata.

As “the canonical paper, the one bitcoin.org serves” — that question is now closed. Its bytes are in the block chain; its creation instant is confirmed to the second by a web server the author did not run; and a High Court expert publishes its MD5 and SHA256, both matching the file recovered from the chain. Self-claim, server record and adjudicated finding agree completely. There is nothing left to establish about it.

What is not established: no 2008 cryptographic timestamp exists for any version. The earliest recorded hash is January 2015. The early-November download rests on a pseudonymous party's word — corroborated by content, but not anchored. And it is not demonstrated to be the exact bytes behind the 31 October link, only the simplest explanation of every observation.

That residual doubt is not a gap in this research. It is a property of the 2008 record: nobody hashed the file at the time, and no one can retroactively. Anyone claiming cryptographic certainty about an October 2008 document is overstating. What can be done is to state exactly where the line falls — which is what this page is for.