Moved glossary to preface

pull/2/head
Andreas M. Antonopoulos 11 years ago
parent 83679c8fc1
commit 0e1609a008

@ -60,93 +60,6 @@ All world currencies today are controlled by sovereign nation states. This contr
////Again, this is good info, but I don't see how it fits into the History of Cryptocurrencies. I might include this in as introductory material in a section on security. - AM////
==== Quick Glossary
////Add text here -AM ////
////A glossary is normally alphabetical. If you keep it as "Quick Glossary" I'd rearrange to alphabetical order. Otherwise, you can keep it as a non-alphabetical list of terms, but change "Quick Glossary" and add text beforehand with something to the effect of "Here are some common terms that will be used in the following chapters..." -AM ////
bitcoin::
((("bitcoin")))
The name of the currency unit (the coin), the network and the software
address (aka public key)::
((("bitcoin address")))
((("address", see="bitcoin address")))
((("public key", see="bitcoin address")))
A bitcoin address looks like +1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV+, they always start with a one. You can have as many as you like, share them so people can send you coins.
wallet::
((("wallet")))
Software that holds all your addresses. Use it to send bitcoin and manage your keys.
secret key (aka private key)::
((("secret key")))
((("private key", see="secret key")))
The secret number that unlocks bitcoins sent to the corresponding address.
transaction::
((("transaction")))
In simple terms, a transfer of bitcoins from one address to another. More precisely, a transaction is a signed data structure expressing a transfer of value. Transactions are transmitted over the bitcoin network, collected by miners and included into blocks, made permanent on the blockchain.
hash::
((("hash")))
A digital fingerprint of some binary input.
block::
((("block")))
A grouping of transactions, marked with a timestamp, and a fingerprint of the previous block. The block header is hashed to find a proof-of-work, thereby validating the transactions. Valid blocks are added to the main blockchain by network consensus.
network::
((("network")))
A peer-to-peer network that propagates transactions and blocks among all nodes.
////Will a reader understand "blocks among all nodes" - AM ////
blockchain::
((("blockchain")))
A list of validated blocks, each linking to its predecessor all the way to the genesis block.
genesis block::
((("genesis block")))
The first block in the blockchain, used to initialize the crypto-currency
proof-of-work::
((("proof-of-work")))
A piece of data that requires significant computation to find. In bitcoin, a hash that is less than a target.
//// Will a reader understand "a hash that is less than a target"? - AM ////
difficulty::
((("difficulty")))
A network-wide setting that controls how much computation is required to find a proof-of-work.
target difficulty::
((("target difficulty")))
A difficulty at which all the computation in the network will find blocks approximately every 10 minutes.
difficulty re-targetting::
((("difficulty re-targetting")))
A network-wide re-calculation of the difficulty which occurs once every 2106 blocks and considers the hashing power of the previous 2106 blocks.
miner::
((("miner")))
A network node that finds valid proof-of-work for new blocks, by repeated hashing
reward::
((("reward")))
An amount included in each new block as a reward by the network to the miner who found the proof-of-work solution. It is currently 25BTC per block.
fees::
((("fees")))
An excess amount included in each transaction as a network fee or additional reward to the miner who finds the proof-of-work for the new block. Currently 0.5 mBTC minimum.
confirmations::
((("confirmations")))
Once a transaction is included in a block, it has "one confirmation". As soon as _another_ block is mined on the same blockchain, the transaction has two confirmations etc. Six or more confirmations is considered final.
//// I would review this list and make sure that these terms and definitions are clear for your lowest common denomiator reader/audience. Some of these are still confusing/unclear after reading. - AM ////
=== Stories

@ -44,6 +44,7 @@ Starting with a private key in the form of a randomly generator number +k+, we m
\end{equation}
++++
[[key_derivation]]
where +k+ is the private key, +G+ is a fixed point on the curve called the _generator point_, ((("generator point"))) and +K+ is the resulting public key, another point on the curve.
Elliptic curve multiplication can be visualized geometrically as drawing a line connecting two points on the curve (G and kG) to produce a third point (K). The third point is the public key.
@ -80,6 +81,8 @@ image::images/ecc-over-F37-math.png["Addition operator on points of an elliptic
==== Generating bitcoin keys
There are many ways to generate keys for use in bitcoin. The simplest is to pick a large random number and turn it into a key pair (See <<key_derivation>>). A random key can generated with very simple hardware or even manually with pen, paper and dice. The disadvantage of random keys is that if you generate many of them you must keep copies of all of them. Another method for making keys is _deterministic key generation_. Here you generate each new key as a function of the previous key, linking them in a sequence. As long as you can re-create that sequence, you only need the first key to generate them all. In this section we will examine the different methods for key generation.
===== Type-0 or non-deterministic (random) keys
The first and most important step in generating keys is to find a secure source of entropy, or randomness. The private key is a 256-bit number, which must be selected at random. Creating a bitcoin key is essentially the same as "Pick a number between 1 and 2^256^". The exact method you use to pick that number does not matter, as long as it is not predictable or repeatable. Bitcoin software will use the underlying operating system's random number generators to produce 256-bits of entropy. Usually, the OS random number generator is initialized by a human source of randomness, which is why you may be asked to wiggle your mouse around for a few seconds. For the trully paranoid, nothing beats dice, pencil and paper.

@ -83,6 +83,85 @@ Watch us on YouTube: link:$$http://www.youtube.com/oreillymedia$$[]
=== Acknowledgments
++++
<remark>Fill in...</remark>
++++
==== Quick Glossary
This quick glossary contains many of the terms used in relation to bitcoin. These terms are used throughout the book, so bookmark this for a quick reference and clarification.
address (aka public key)::
((("bitcoin address")))
((("address", see="bitcoin address")))
((("public key", see="bitcoin address")))
A bitcoin address looks like +1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV+, they always start with a one. You can have as many as you like, share them so people can send you coins.
bitcoin::
((("bitcoin")))
The name of the currency unit (the coin), the network and the software
block::
((("block")))
A grouping of transactions, marked with a timestamp, and a fingerprint of the previous block. The block header is hashed to find a proof-of-work, thereby validating the transactions. Valid blocks are added to the main blockchain by network consensus.
blockchain::
((("blockchain")))
A list of validated blocks, each linking to its predecessor all the way to the genesis block.
confirmations::
((("confirmations")))
Once a transaction is included in a block, it has "one confirmation". As soon as _another_ block is mined on the same blockchain, the transaction has two confirmations etc. Six or more confirmations is considered final.
difficulty::
((("difficulty")))
A network-wide setting that controls how much computation is required to find a proof-of-work.
difficulty target::
((("target difficulty")))
A difficulty at which all the computation in the network will find blocks approximately every 10 minutes.
difficulty re-targetting::
((("difficulty re-targetting")))
A network-wide re-calculation of the difficulty which occurs once every 2106 blocks and considers the hashing power of the previous 2106 blocks.
fees::
((("fees")))
An excess amount included in each transaction as a network fee or additional reward to the miner who finds the proof-of-work for the new block. Currently 0.5 mBTC minimum.
hash::
((("hash")))
A digital fingerprint of some binary input.
genesis block::
((("genesis block")))
The first block in the blockchain, used to initialize the crypto-currency
miner::
((("miner")))
A network node that finds valid proof-of-work for new blocks, by repeated hashing
network::
((("network")))
A peer-to-peer network that propagates transactions and blocks to every bitcoin node on the network.
proof-of-work::
((("proof-of-work")))
A piece of data that requires significant computation to find. In bitcoin, miners must find a numeric solution to the SHA256 algorithm that meets a network wide target, the difficulty target.
reward::
((("reward")))
An amount included in each new block as a reward by the network to the miner who found the proof-of-work solution. It is currently 25BTC per block.
secret key (aka private key)::
((("secret key")))
((("private key", see="secret key")))
The secret number that unlocks bitcoins sent to the corresponding address.
transaction::
((("transaction")))
In simple terms, a transfer of bitcoins from one address to another. More precisely, a transaction is a signed data structure expressing a transfer of value. Transactions are transmitted over the bitcoin network, collected by miners and included into blocks, made permanent on the blockchain.
wallet::
((("wallet")))
Software that holds all your addresses. Use it to send bitcoin and manage your keys.

Loading…
Cancel
Save