Bitcoinbook Versions Save

Mastering Bitcoin 3rd Edition - Programming the Open Blockchain

third_edition_print1

3 months ago

Released to Github under CC BY-NC-ND license.

Mastering Bitcoin: Programming the Open Blockchain (Third Edition) by Andreas M. Antonopoulos, David A. Harding is licensed under Attribution-NonCommercial-NoDerivatives 4.0 International

This license enables reusers to copy and distribute the material in any medium or format in unadapted form only, for noncommercial purposes only, and only so long as attribution is given to the creator. CC BY-NC-ND includes the following elements:

BY: credit must be given to the creator. NC: Only noncommercial uses of the work are permitted. ND: No derivatives or adaptations of the work are permitted.

Published by O'Reilly Media in paperback and ebook in December 2023

The third edition was written by David A. Harding, building on the work of Andreas M. Antonopoulos from the first two editions of the book.

Major Changes

A particular focus in the third edition has been modernizing the 2017 second edition text and the remaining 2014 first edition text. In addition, many concepts that are relevant to contemporary Bitcoin development in 2023 have been added:

Chapter 4 - Keys and Addresses We rearranged the address info so that we work through everything in historical order, adding a new section with P2PK (where "address" was "IP address"), refreshed the previous P2PKH and P2SH sections, and then added new sections for segwit/bech32 and taproot/bech32m.

Old Chapters 6 and 7 Text from previous versions of Chapter 6, "Transactions," and Chapter 7, "Advanced Transactions," has been rearranged and expanded across four new chapters:

  • Transactions (the structure of transactions),
  • Authorization and Authentication
  • Signatures
  • Transaction Fees

Chapter 6 - Transactions We added almost entirely new text describing the structure of a transaction.

Chapter 7 - Authorization and Authentication We added new text about MAST, P2C, scriptless multisignatures, taproot, and tapscript.

Chapter 8 - Signatures We revised the ECDSA text and added new text about schnorr signatures, multisignatures, and threshold signatures.

Chapter 9 - Fees We added almost entirely new text about fees, RBF and CPFP fee bumping, transaction pinning, package relay, and CPFP carve-out.

Chapter 10 - Bitcoin Network
We added text about compact block relay, added a significant update to bloom filters that better describes their privacy problems, and new text about compact block filters.

Chapter 11 - Blockchain We added text about signet.

Chapter 12 - Mining We added text about BIP8 and speedy trial.

Appendixes We removed library-specific appendixes. After the appendix containing the original whitepaper, we added a new appendix describing how the implementation and properties of Bitcoin differ from those proposed in the whitepaper.

second_edition_print3

6 years ago

Major changes:

  • Moved Segwit from Appendix to Chapter 7 (Advanced Transactions)
  • Added a small section on BIP-176 native segwit (Bech32) addresses

Minor Changes:

O'Reilly Editor:

  • Rachel Roumeliotis

Release and Github Editor:

  • Will Binns (wbnns)

Contributors (in alphabetic order):

  • Akira Chiku (achiku)
  • Alex Waters (alexwaters)
  • Andrew Donald Kennedy (grkvlt)
  • bitcoinctf
  • Bryan Gmyrek (physicsdude)
  • Casey Flynn (cflynn07)
  • cclauss
  • Chapman Shoop (belovachap)
  • Christie D'Anna (avocadobreath)
  • Cody Scott (Siecje)
  • coinradar
  • Cragin Godley (cgodley)
  • Craig Dodd (cdodd)
  • dallyshalla
  • Darius Kramer (dkrmr)
  • David Huie (DavidHuie)
  • Diego Viola (diegoviola)
  • Dirk Jäckel (biafra23)
  • Dimitris Tsapakidis (dimitris-t)
  • Dmitry Marakasov (AMDmi3)
  • drstrangeM
  • Ed Eykholt (edeykholt)
  • Ed Leafe (EdLeafe)
  • Edward Posnak (edposnak)
  • Elias Rodrigues (elias19r)
  • Eric Voskuil (evoskuil)
  • Eric Winchell (winchell)
  • Erik Wahlström (erikwam)
  • effectsToCause (vericoin)
  • Esteban Ordano (eordano)
  • ethers
  • fabienhinault
  • Frank Höger (francyi)
  • Gaurav Rana (bitcoinsSG)
  • genjix
  • halseth
  • Holger Schinzel (schinzelh)
  • Ioannis Cherouvim (cherouvim)
  • Ish Ot Jr. (ishotjr)
  • ivangreene
  • James Addison (jayaddison)
  • Jameson Lopp (jlopp)
  • Jason Bisterfeldt (jbisterfeldt)
  • Javier Rojas (fjrojasgarcia)
  • Jeremy Bokobza (bokobza)
  • JerJohn15
  • Joe Bauers (joebauers)
  • joflynn
  • Johnson Lau (jl2012)
  • Jonathan Cross (jonathancross)
  • Jorgeminator
  • Kai Bakker (kaibakker)
  • Lucas Betschart (lclc)
  • Magomed Aliev (30mb1)
  • Mai-Hsuan Chia (mhchia)
  • marcofalke
  • Marzig (marzig76)
  • Matt McGivney (mattmcgiv)
  • Maximilian Reichel (phramz)
  • Michalis Kargakis (kargakis)
  • Michael C. Ippolito (michaelcippolito)
  • Mihail Russu (MihailRussu)
  • Minh T. Nguyen (enderminh)
  • Nagaraj Hubli (nagarajhubli)
  • Nekomata (nekomata-3)
  • Philipp Gille (philippgille)
  • Robert Furse (Rfurse)
  • Richard Kiss (richardkiss)
  • Ruben Alexander (hizzvizz)
  • Sam Ritchie (sritchie)
  • Sebastian Falbesoner (theStack)
  • Sergej Kotliar (ziggamon)
  • Seiichi Uchida (topecongiro)
  • Simon de la Rouviere (simondlr)
  • Stephan Oeste (Emzy)
  • takaya-imai
  • Thiago Arrais (thiagoarrais)
  • Thomas Kerin (afk11)
  • venzen
  • Will Binns (wbnns)
  • wintercooled
  • wjx
  • Wojciech Langiewicz (wlk)
  • Yancy Ribbens (yancyribbens)
  • yurigeorgiev4

second_edition_print3_rc1

6 years ago

Major changes:

  • Moved Segwit from Appendix to Chapter 7 (Advanced Transactions)
  • Added a small section on BIP-176 native segwit (Bech32) addresses

Minor Changes:

O'Reilly Editor:

  • Rachel Roumeliotis

Release and Github Editor:

  • Will Binns (wbnns)

Contributors (in alphabetic order):

  • Akira Chiku (achiku)
  • Alex Waters (alexwaters)
  • Andrew Donald Kennedy (grkvlt)
  • bitcoinctf
  • Bryan Gmyrek (physicsdude)
  • Casey Flynn (cflynn07)
  • cclauss
  • Chapman Shoop (belovachap)
  • Christie D'Anna (avocadobreath)
  • Cody Scott (Siecje)
  • coinradar
  • Cragin Godley (cgodley)
  • Craig Dodd (cdodd)
  • dallyshalla
  • Darius Kramer (dkrmr)
  • David Huie (DavidHuie)
  • Diego Viola (diegoviola)
  • Dirk Jäckel (biafra23)
  • Dimitris Tsapakidis (dimitris-t)
  • Dmitry Marakasov (AMDmi3)
  • drstrangeM
  • Ed Eykholt (edeykholt)
  • Ed Leafe (EdLeafe)
  • Edward Posnak (edposnak)
  • Elias Rodrigues (elias19r)
  • Eric Voskuil (evoskuil)
  • Eric Winchell (winchell)
  • Erik Wahlström (erikwam)
  • effectsToCause (vericoin)
  • Esteban Ordano (eordano)
  • ethers
  • fabienhinault
  • Frank Höger (francyi)
  • Gaurav Rana (bitcoinsSG)
  • genjix
  • halseth
  • Holger Schinzel (schinzelh)
  • Ioannis Cherouvim (cherouvim)
  • Ish Ot Jr. (ishotjr)
  • ivangreene
  • James Addison (jayaddison)
  • Jameson Lopp (jlopp)
  • Jason Bisterfeldt (jbisterfeldt)
  • Javier Rojas (fjrojasgarcia)
  • Jeremy Bokobza (bokobza)
  • JerJohn15
  • Joe Bauers (joebauers)
  • joflynn
  • Johnson Lau (jl2012)
  • Jonathan Cross (jonathancross)
  • Jorgeminator
  • Kai Bakker (kaibakker)
  • Lucas Betschart (lclc)
  • Magomed Aliev (30mb1)
  • Mai-Hsuan Chia (mhchia)
  • marcofalke
  • Marzig (marzig76)
  • Matt McGivney (mattmcgiv)
  • Maximilian Reichel (phramz)
  • Michalis Kargakis (kargakis)
  • Michael C. Ippolito (michaelcippolito)
  • Mihail Russu (MihailRussu)
  • Minh T. Nguyen (enderminh)
  • Nagaraj Hubli (nagarajhubli)
  • Nekomata (nekomata-3)
  • Philipp Gille (philippgille)
  • Robert Furse (Rfurse)
  • Richard Kiss (richardkiss)
  • Ruben Alexander (hizzvizz)
  • Sam Ritchie (sritchie)
  • Sebastian Falbesoner (theStack)
  • Sergej Kotliar (ziggamon)
  • Seiichi Uchida (topecongiro)
  • Simon de la Rouviere (simondlr)
  • Stephan Oeste (Emzy)
  • takaya-imai
  • Thiago Arrais (thiagoarrais)
  • Thomas Kerin (afk11)
  • venzen
  • Will Binns (wbnns)
  • wintercooled
  • wjx
  • Wojciech Langiewicz (wlk)
  • Yancy Ribbens (yancyribbens)
  • yurigeorgiev4

second_edition_print2

6 years ago

Published in paperback and ebook on July 20th 2017 by O'Reilly Media, worldwide. Released under CC-BY-NC-ND Creative Commons license

second_edition_print_1

6 years ago

This release was published as the first print of the second edition of Mastering Bitcoin in June 2017, by O'Reilly Media.