From 6c2b6de9938f96a1ee5acd2a0dca0dbc7ead9167 Mon Sep 17 00:00:00 2001 From: "Andreas M. Antonopoulos" Date: Thu, 15 Dec 2016 15:19:20 +0200 Subject: [PATCH] ch06 final edits --- ch06.asciidoc | 39 +++++++++++++++++++++++++++++++++++++++ images/bobs_address.png | Bin 0 -> 652069 bytes 2 files changed, 39 insertions(+) create mode 100644 images/bobs_address.png diff --git a/ch06.asciidoc b/ch06.asciidoc index 1273aaf3..7635e98a 100644 --- a/ch06.asciidoc +++ b/ch06.asciidoc @@ -661,6 +661,7 @@ Note that in verifying the signature, the private key is neither known nor revea The math of ECDSA is complex and difficult to understand. There are a number of great guides online which might help. Search for "ECDSA explained" or try this one: http://www.instructables.com/id/Understanding-how-ECDSA-protects-your-data/?ALLSTEPS +==== ==== The Importance of Randomness in Signatures @@ -676,3 +677,41 @@ This is not just a theoretical possibility. We have seen this issue lead to expo To avoid this vulnerability, the industry best practice is to not generate +k+ with a random-number generator seeded with entropy, but instead to use a deterministic-random process seeded with the transaction data itself. That ensures that each transaction produces a different +k+. The industry-standard algorithm for deterministic initialization of +k+ is defined in https://tools.ietf.org/html/rfc6979[RFC 6979] published by the Internet Engineering Task Force. If you are implementing an algorithm to sign transactions in bitcoin, you *must* use RFC6979 or a similarly deterministic-random algorithm to ensure you generate a different +k+ for each transaction. + +=== Bitcoin Addresses, Balances and other abstractions + +We began this chapter with the discovery that transactions look very different "behind the scenes" than how they are presented in wallets, blockchain explorers and other user-facing applications. Many of the simplistic and familiar concepts from the earlier chapters, such as bitcoin addresses and balances seem to be absent from the transaction structure. We saw that transactions don't contain bitcoin addresses, per se, but instead operate through scripts that lock and unlock discreet values of bitcoin. Balances are not present anywhere in this system and yet every wallet application prominently displays the balance of the user's wallet. + +Now that we have explored what is actually included in a bitcoin transaction, we can examine how the higher-level abstractions are derived from the seemingly primitive components of the transaction. + +Let's look again at how Alice's transaction was presented on a popular block explorer: + +.Alice's transaction to Bob's Cafe +image::images/msbt_0208.png["Alice Coffee Transaction"] + +On the left side of the transaction, the blockchain explorer shows Alice's bitcoin address as the "sender". In fact, this information is not in the transaction itself. When the blockchain explorer retrieved the transaction it also retrieved the previous transaction referenced in the input and extracted the first output from that older transaction. Within that output is a locking script that locks the UTXO to Alice's public key hash (a P2PKH script). The blockchain explorer extracted the public key hash and encoded it using Base58Check encoding to produce and display the bitcoin address that represents that public key. + +Similarly, on the right side, the blockchain explorer shows the two outputs, the first to Bob's bitcoin address and the second to Alice's bitcoin address (as change). Once again, to create these bitcoin addresses, the blockchain explorer extracted the locking script from each output, recognized it as a P2PKH script, and extracted the public-key-hash from within. Finally, the blockchain explorer re-encoded that public-key-hash with Base58Check to produce and display the bitcoin addresses. + +If you were to click on Bob's bitcoin address, the blockchain explorer would show you this view: + +.The balance of Bob's bitcoin address +image::images/bobs_address.png["The balance of Bob's bitcoin address"] + +The blockchain explorer displays the balance of Bob's bitcoin address. But nowhere in the bitcoin system is there a concept of a "balance". Rather, the values displayed here are constructed by the blockchain explorer as follows: + +To construct the "Total Received" amount, the blockchain explorer first will decode the Base58Check encoding of the bitcoin address, to retrieve the 160-bit hash of Bob's public key that is encoded within the address. Then, the blockchain explorer will search through the database of transactions, looking for outputs with Pay-to-Public-Key-Hash locking scripts that contain Bob's public-key-hash. By summing up the value of all the outputs, the blockchain explorer can produce the total value received. + +Constructing the current balance (displayed as "Final Balance") requires a bit more work. The blockchain explorer keeps a separate database of the outputs that are currently unspent, the UTXO set. To maintain this database, the blockchain explorer must monitor the bitcoin network, add newly created UTXO and remove spent UTXO, in real time, as they appear in unconfirmed transactions. This is a complicated process which depends on keeping track of transactions as they propagate, as well as maintaining consensus with the bitcoin network to ensure that the correct chain is followed. Sometimes, the blockchain explorer goes out of sync and its perspective of the UTXO set is incomplete or incorrect. + +From the UTXO set, the blockchain explorer sums up the value of all unspent outputs referencing Bob's public-key-hash and produces the "Final Balance" number shown to the user. + +In order to produce this one image, with these two "balances", the blockchain explorer has to index and search through dozens, hundreds or even hundreds of thousands of transactions. + +In summary, the information presented to users through wallet applications, blockchain explorers and other bitcoin user interfaces is often composed of higher-level abstractions that are derived by searching many different transactions, inspecting their content, and manipulating the data contained within them. By presenting this simplistic view of bitcoin transactions that resemble bank checks from one sender to one recipient, these applications have to abstract a lot of underlying detail. They mostly focus on the common types of transactions: Pay-to-Public-Key-Hash with SIGHASH_ALL signatures on every input. Thus, while bitcoin applications can present more than 80% of all transactions in an easy-to-read manner, they are sometimes stumped by transactions that deviate from the norm. Transactions that contain more complex locking scripts, or different SIGHASH flags, or many inputs and outputs demonstrate the simplicity and weakness of these abstractions. + +Every day, hundreds of transactions which do not contain Pay-to-Public-Key-Hash outputs are confirmed on the blockchain. The blockchain explorers often present these with red warning messages saying they cannot decode an address. The link below contains the most recent "strange transactions" that were not fully decoded: + +https://blockchain.info/strange-transactions + +As we will see in the next chapter, these are not necessarily strange transactions. They are transactions which contain more complex locking scripts than the common Pay-to-Public-Key-Hash. We will learn how to decode and understand more complex scripts and the applications they support, next. diff --git a/images/bobs_address.png b/images/bobs_address.png new file mode 100644 index 0000000000000000000000000000000000000000..c13467e8dcde8bcadded623b13c3f8f21a994ae5 GIT binary patch literal 652069 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 literal 0 HcmV?d00001