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 exists only in 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 links to a public source. Nothing asks you to trust us.

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 ever 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 forensic control copy in the High Court.
11 November 2008
≈184,300 bytes
e6cc7c95…48e50a9
not held A control copy in COPA v Wright, appearing under three names for one file: Rosendahl's Exhibit AR3, Bohm's Exhibit NB1, Madden's BWP-NB1. Two days after Satoshi proposed transaction fees on the mailing list — and it carries them. This was the version the public could download in January 2009 — the retired solicitor Nicholas Bohm, a mailing-list reader rather than a private correspondent, downloaded it 18 January 2009 at 13:27 GMT and still had it fifteen years later; his statement gives its creation stamp to the second. Madden judged it “very likely to be an authentic intermediate draft” between the October 2008 and March 2009 versions. Its hashes are now known — published in Appendix PM3 §42 — so any candidate copy can be verified instantly, even though the file itself is still in no public hands.
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 High Court's own control copy (ID_000865) is byte-identical: Madden's First Report §180 publishes its MD5 d56d71ec…c042 and SHA256 b1674191…f4f553, both matching 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 an Australian 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 never again. 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

Six tests, all plain text searches. Four of them come from Satoshi's own words in dated records rather than from any file — which is why they can identify even the versions nobody has. The August 2008 column is empty on purpose — that version is lost, and those cells are what a surfacing copy would have to fill in. The 11 November column was empty until its analysis became available; the entries below now come from Appendix PM3, not from the file, which is still in no public hands.

testAug 2008 (lost)3 Oct 200811 Nov 2008 (not held)24 Mar 2009
titleElectronic Cash Without a Trusted Third PartyBitcoin: A Peer-to-Peer…Bitcoin: A Peer-to-Peer…Bitcoin: 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 feesabsentabsentPRESENT — first wordingpresent, 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 his own draft: [5] A. Back, "Hashcash — a denial of service counter-measure". He had never heard of b-money. Back replied the next day pointing him 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 a court exhibit, confirmed against files from an unrelated source.

So a candidate for the lost August draft is settled instantly: title “Electronic Cash Without a Trusted Third Party”, Hashcash at [5], no b-money. 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 mainnet transaction 54e48e5f… across 945 bare-multisig outputs 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]     never re-saved  never 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 never uses 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 he 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 he 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 he 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 argued with Satoshi 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 forensic baseline
“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
“To illustrate, the hashes of the Bitcoin White Paper (ID_000865) are as follows: MD5: d56d71ecadf2137be09d8b1d35c6c042 · SHA256: b1674191a88ec5cdd733e4240a81803105dc412d6c6708d53ab94fc248f4f553Madden, First Expert Report §180 — and both match 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 High Court expert's report on the copy the court itself used as its control. A self-claim, a web server the author did not run, and an expert cross-examined on his work — 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 states the forgery method plainly (¶123): a file 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, and when transaction fees entered the paper

The 11 November 2008 version is in no public hands. But Appendix PM3 to Patrick Madden's First Expert Report analyses it in detail, and that analysis settles two things this page could not previously answer.

Its fingerprint — so any candidate copy can be checked

BWP-NB1   MD5    3e5e11e1e3208d2829e887fb1c86bd05
          SHA256 e6cc7c952c688b234f9872c3e2f50060ae6556fd27925cba503c6460048e50a9
          created  11 Nov 2008 08:00:34 at UTC−08:00     Writer / OpenOffice.org 2.4 / PDF 1.4
          trailer  /ID <693BFE527899A65C197B4CD42561A6C4> <693BFE527899A65C197B4CD42561A6C4>
                   startxref 182801  →  roughly 184,300 bytes

Note the /ID halves are equal — the mark of a file written once and never re-saved, the same test that exposes the modern re-typesets described above. Madden reports that the first few kilobytes are an identical match to the October draft, that all three versions embed the same fonts in the same order, and that he found no indication of manipulation.

It carries the transaction-fee text — two days after fees were proposed

Madden reports three strings unique to this version among the three:

“The incentive is also funded with transaction fees”
“The output value of every transaction is equal to the input value minus a transaction fee”
“and the incentive is increased by the total transaction fees in the block”

We checked all three against the two files we hold: absent from both. The canonical says something close but not the same — “The incentive can also be funded with transaction fees. If the output value of a transaction is less than its input value, the difference is a transaction fee…” — so the block was written once for November and edited again for March. The October draft has no fee text at all.

Which dates the arrival of the fee mechanism precisely:

 3 Oct 2008   no transaction fees in the paper
 9 Nov 2008   Satoshi proposes transaction fees on the mailing list
11 Nov 2008   the fee text is in the paper — first wording        ← two days later
24 Mar 2009   the same block reworded to the form everyone knows

This page previously called that the most interesting open question about the paper's text. It is now answered — not from the file, which nobody public holds, but from a forensic analysis of it filed in court.

Provenance and limits. These figures come from Appendix PM3 §§41–58, obtained as extracted text from a publicly published dataset of the trial bundle. Before relying on it we ran a control: PM3 quotes internal /ID and /CreationDate values for the two versions we already hold, and both matched our own files exactly — byte-level values the extraction could not have guessed. Madden also records that he could find no other copy of this file anywhere: not in Dr Wright's disclosure, not on archive.org, not on the Wayback Machine's captures of bitcoin.org, and no hit for either hash on the open web. We still do not have the file. What changed is that anyone who finds a candidate can now settle it in one command.

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 communicationtrial exhibit {L3/190}, quoted at ¶661
2008-08-21Back replies, pointing him to b-money{L3/194}, ¶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 his 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-11a fourth version is created, 08:00:34 at UTC−08:00 — carrying the new transaction-fee textBohm §19 for the file; Appendix PM3 §§42–52 for its hashes and its unique text. Still not public; we do not hold it, but it can now be identified on sight
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 a moderated list being moderated, not a withdrawal
2008-12-08/09the paper uploaded to SourceForge¶23.5. That file is not preserved and its size was never captured
2009-01-03the genesis blockproof-of-work — the only unforgeable class here
2009-01-18a member of the public downloads the paper, 13:27 GMT — and it is the 11 November versionBohm §19. He read the cryptography list, downloaded it, and still had the file in 2023. This is what was on offer to the public in January 2009
2009-02-01Satoshi sends Bohm 100 BTC, unpromptedBohm §15, under a statement of truth. On-chain, in principle — blocks ≈2406–2600; we have not yet located it
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 court's expert verified.
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 has never been 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 always 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 never a search strategy.

But we now know which version was on offer

The December file was replaced on 24 March 2009, so whatever it was, it was not the canonical. Nicholas Bohm downloaded the paper on 18 January 2009 at 13:27 GMT and his copy carries a creation date of 11 November 2008. So the version the public could obtain in that window was the fourth version — not the October draft, and not the canonical.

The limit, stated: Bohm does not say where he downloaded the PDF from — he names SourceForge or GitHub only for the software. So this does not prove the SourceForge file was the 11 November version; it establishes what was publicly available, which is the question that actually matters. 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 not a search but a person.

Can any of this ever 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. Not now, and not by any future discovery

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.

So the honest ladder looks like this, and the canonical paper sits near the top of what is achievable rather than short of something that was ever available:

standardstatus
a signature by a known-Satoshi keyimpossible — see above
an on-chain commitment by the authornone exists — five channels, all scanned, all controlled
a hash published by a 2009 serveryes — SourceForge’s own file API published d56d71ec…c042 for bitcoin.pdf, and it matches
independent custodians holding identical bytesyes — SourceForge, the Internet Archive, Arquivo.pt, Vefsafn.is, and the block chain
forensic examination in a contested courtyes — 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, and cannot become, a verified-authored one. Anyone offering you cryptographic proof that Satoshi wrote a particular file is selling something the mathematics does not contain.

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 forensic 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 true, and we will not pretend otherwise: 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.