Bitcoin
Bitcoin and The Blockchain will be game changers
in the financial sector.
The purpose of this presentation is to explain some
of the technical aspects in a way that is rigorous
enough to give confidence in the system and
simple enough to find the widest audience.
This is not a description of how most interact with
Bitcoin. Rather it is an explanation of its
fundamentals.
Part 1: Brief Overview
Bitcoin is a currency that operates entirely digitally.
Instead of physical tokens, its value is held as
balances associated with addresses.
Transactions, balances, and addresses are recorded
on a publicly distributed, append-only ledger
known as the “Blockchain”.
The Blockchain is a ledger recording
accounts and their associated balances. A
copy of this ledger can be viewed by
anyone on the Bitcoin network.
The balances on the ledger don’t
represent anything in the real world. They
only have value because people are willing
to trade real goods or services for a higher
balance in their account, and we have
faith that they will continue to do so. In
this regard bitcoin is a fiat currency like
the US dollar.
To send money, a participant broadcasts
a message to the network that their
account should decrease by some
amount and a recipients account should
increase by the same amount.
Special nodes that maintain the ledger
and secure the network (aka miners)
verify and apply that transaction to their
copy of the ledger before forwarding the
message to other miners so they can do
the same. Anyone can be a miner.
This network communication in addition to some cryptographic security is the
essence of Bitcoin.
It is a system that allows users to keep a shared ledger and agree on its accuracy.
All this is done without the need for a trusted 3rd party (i.e. Bank).
It is important to note that the real innovation value of
Bitcoin is this shared ledger system.
The best investment opportunities will come from
companies that find ways to harness this innovation.
An understanding of the system is imperative for those who
wish to distinguish between good and bad implementations.
When Alice wants to send Bob 5 BTC, she broadcasts a message that her
account should decrease by 5 and Bobs increase by the same amount.
But…
How do the Miners on the network know that the broadcast is authentic
and comes from the current owner of the coins?
Part 2: Details
The verification miners perform on the network is based on digital
signatures. These depend on two techniques,
Hashing and Asymmetric Cryptography.
Hash Functions take a data set
(input) of any size and map it to
data of a fixed size (digest).
Input
SHA-256
20c1892df4e665666558289367ae1682
d1f93bc5be4049627492cdb5a42635e4
HASH Digest
Input
SHA-256
7d38b5cd25a2baf85ad3bb5b9311383e
671a8a142eb302b324d4a5fba8748c69
HASH Digest
The hash function spits out a
“digest” that looks random.
It is impossible to recreate the input
from the digest.
Even if there is a minor difference in
the input (capitalized letter/extra
period) the digest will look
completely different.
The digest is a sort of fingerprint
and is much smaller in size than its
input.
minor
difference
Asymmetric Cryptography
is a system that uses pairs of
simultaneously generated
keys:
Public / Verification keys:
that may be disseminated
widely
Private / Signing keys:
which are kept secret by the
owner
Private
Public
Hello
Alice!
Anyone
Hello
Alice!
jcu3474h
r89
Alice
Messages encrypted with one key cannot be
decrypted by the same key. They can only be
decrypted with the other key
Private
Private
Public
Hello
Alice!
Anyone
Hello
Alice!
jcu3474
hr89
Alice
Hello
Public!
Alice
Hello
Public!
27d6h3
5dhud
Anyone
Private
Public
Alice creates a set of 2 keys and releases one publicly (perhaps in the signature on all her emails)
In the first case, the public sends
messages to Alice that only she
can read
Conversely, messages encrypted
with the private key can be
decrypted by anyone with the
public key.
Digital Signatures
Message
SHA-256
20c1892df4e665666558289367ae1682
d1f93bc5be4049627492cdb5a42635e4
HASH Digest
Private
Signature
Public
SHA-256
20c1892df4e665666558289367ae1682
d1f93bc5be4049627492cdb5a42635e4
20c1892df4e665666558289367ae1682
d1f93bc5be4049627492cdb5a42635e4
Miner
Verifying
Alice
Signing
Message
Signed Message
A signature consisting of a hash of the message, encrypted with Alice’s private key, can be used to
verify both the author of the message and the authenticity of its content.
Unlike physical signatures, the digital equivalent is dependent on, and thus unique to each message.
In reality balances are not kept track of in the
Blockchain. Instead ownership of funds is verified
through reference to past transactions (txn’s).
Thus, for Alice to send 5 BTC to Bob, she must
send a signed message referencing other txn’s
(inputs) in which she has received 5 or more BTC.
Miners will Authenticate the txn message and
verify that Alice was on the receiving end of the
input txn’s, that they add up to more than the
amount she wants to transfer now, and that
these same inputs have not been referenced
before in another txn already on the ledger. What do these messages look like?
Transaction Message
VK1---2--->VKAlice
VK2---2--->VKAlice
VK3---2--->VKAlice
SHA-256
SHA-256
SHA-256
D1 (2)
D2 (2)
D3 (2)
VKBob , 5
VKAlice , 1
Inputs Outputs
Previous txn’s to
Alice
(Alice’s funds)
References to
Alice’s funds
Alice’s txn message consists of hashes of previous transactions she has received (inputs) and destination addresses
with amounts for the outputs. In this example Alice receives 1 BTC in change because her reference txn’s totaled 6
BTC. The message also includes a digital signature.
In bitcoin, public/verification keys are
used as addresses.
Instead of a list of accounts and balances,
miners keep an up to date record of all the
transactions ever processed on the system.
Owning Bitcoin means that there are
transactions on this ledger that point to an
address (public key) you own (have the
matching private key for) and have not yet
been used as inputs in other transactions
(or spent).
The ledger is made up of linked blocks that
resemble a chain.
TXN
TXN TXN
TXN TXN
TXN TXN
TXN
Blockchain
Miners make blocks with sets of txn’s awaiting
confirmation and add them to the chain
Hash of prev.
Block
TXN
TXN TXN
TXN
“Nonce”
Hash of prev.
Block
TXN
TXN TXN
TXN
“Nonce”
Each block is linked by a hash to the previous block. This
creates a chain all the way back to the “genesis” block. It
also guarantees the chronological order of the blocks
because a hash cannot exist without the block existing.
Finally, it means no
single part of the
chain can be altered
without invalidating
all subsequent blocks.
Hash of prev.
Block
TXN
TXN TXN
TXN
“Nonce”
Hash of prev.
Block
TXN
TXN TXN
TXN
“Nonce”
To add a block to the chain, miners must compute a nonce. This
number, when added to an input in a hash, results in a digest
starting with a certain number of 0’s. The computational difficulty
of guessing and checking random numbers until the right one is
found determines the rate at which blocks are added.
This Proof of Work
mechanism also reduces the
probability of two blocks
being added simultaneously,
producing divergent chains.
Proof of Work and the “Nonce”
Input
SHA-256
20c1892df4e665666558289367ae1682
d1f93bc5be4049627492cdb5a42635e4
HASH Digest
Input
SHA-256
000000000000000005a42635e42d1f93
bc5be458289367ae168049627492cdb7
HASH Digest
nonce
Because these hashes are almost random,
the only way to get a digest with a multiple
“0” prefix is to guess random numbers to
add to the end of the input. This is known
as a nonce.
The difficulty of this task can be adjusted by
increasing or decreasing the length of the
desired 0 prefix.
The Bitcoin Blockchain calibrates the
difficulty to keep a block being added to the
chain every 10 minutes on average.
If multiple blocks are added simultaneously
(and miners temporarily work on slightly
different versions of the ledger) the true chain
will emerge when the next block is added.
Honest miners are always bound to work on
the longest chain. Txn’s in chains that are
discontinued return to the transaction pool to
be processed into the longer chain.
The longest chain rule
and proof of work
system pit potential
bad actors against the
computing power of
the entire network
An implication of this is that txn’s
are more confirmed the further
back they get in the chain
The primary goal of mining is to allow the network to reach a tamper-resistant consensus. However
it is also the process by which new bitcoins are brought into existence.
When a miner finds the right nonce and adds a block to the chain, a transaction is included that
generates a reward paid to the miner. The reward for adding a block to the chain is halved every
210,000 blocks which means the total possible supply of bitcoins is limited.
As that limit approaches, miners will be ever more incentivized by txn fees (to be paid as rewards to
the miner who adds the block) included in txn messages at the discretion of the sender. Senders who
want their txn’s processed fastest will include higher fees.
The protocol disseminates the new coins in a random decentralized way and provides motivation for
the miners who secure the system.
All of this adds up to a group of users who need not trust each other agreeing on and
adding to a list of all past transactions.
open to everyone.

Bitcoin

  • 1.
  • 2.
    Bitcoin and TheBlockchain will be game changers in the financial sector. The purpose of this presentation is to explain some of the technical aspects in a way that is rigorous enough to give confidence in the system and simple enough to find the widest audience. This is not a description of how most interact with Bitcoin. Rather it is an explanation of its fundamentals.
  • 3.
    Part 1: BriefOverview
  • 4.
    Bitcoin is acurrency that operates entirely digitally. Instead of physical tokens, its value is held as balances associated with addresses. Transactions, balances, and addresses are recorded on a publicly distributed, append-only ledger known as the “Blockchain”.
  • 5.
    The Blockchain isa ledger recording accounts and their associated balances. A copy of this ledger can be viewed by anyone on the Bitcoin network. The balances on the ledger don’t represent anything in the real world. They only have value because people are willing to trade real goods or services for a higher balance in their account, and we have faith that they will continue to do so. In this regard bitcoin is a fiat currency like the US dollar.
  • 6.
    To send money,a participant broadcasts a message to the network that their account should decrease by some amount and a recipients account should increase by the same amount. Special nodes that maintain the ledger and secure the network (aka miners) verify and apply that transaction to their copy of the ledger before forwarding the message to other miners so they can do the same. Anyone can be a miner.
  • 7.
    This network communicationin addition to some cryptographic security is the essence of Bitcoin. It is a system that allows users to keep a shared ledger and agree on its accuracy. All this is done without the need for a trusted 3rd party (i.e. Bank).
  • 8.
    It is importantto note that the real innovation value of Bitcoin is this shared ledger system. The best investment opportunities will come from companies that find ways to harness this innovation. An understanding of the system is imperative for those who wish to distinguish between good and bad implementations.
  • 9.
    When Alice wantsto send Bob 5 BTC, she broadcasts a message that her account should decrease by 5 and Bobs increase by the same amount. But… How do the Miners on the network know that the broadcast is authentic and comes from the current owner of the coins? Part 2: Details
  • 10.
    The verification minersperform on the network is based on digital signatures. These depend on two techniques, Hashing and Asymmetric Cryptography.
  • 11.
    Hash Functions takea data set (input) of any size and map it to data of a fixed size (digest). Input SHA-256 20c1892df4e665666558289367ae1682 d1f93bc5be4049627492cdb5a42635e4 HASH Digest Input SHA-256 7d38b5cd25a2baf85ad3bb5b9311383e 671a8a142eb302b324d4a5fba8748c69 HASH Digest The hash function spits out a “digest” that looks random. It is impossible to recreate the input from the digest. Even if there is a minor difference in the input (capitalized letter/extra period) the digest will look completely different. The digest is a sort of fingerprint and is much smaller in size than its input. minor difference
  • 12.
    Asymmetric Cryptography is asystem that uses pairs of simultaneously generated keys: Public / Verification keys: that may be disseminated widely Private / Signing keys: which are kept secret by the owner Private Public Hello Alice! Anyone Hello Alice! jcu3474h r89 Alice Messages encrypted with one key cannot be decrypted by the same key. They can only be decrypted with the other key Private
  • 13.
    Private Public Hello Alice! Anyone Hello Alice! jcu3474 hr89 Alice Hello Public! Alice Hello Public! 27d6h3 5dhud Anyone Private Public Alice creates aset of 2 keys and releases one publicly (perhaps in the signature on all her emails) In the first case, the public sends messages to Alice that only she can read Conversely, messages encrypted with the private key can be decrypted by anyone with the public key.
  • 14.
    Digital Signatures Message SHA-256 20c1892df4e665666558289367ae1682 d1f93bc5be4049627492cdb5a42635e4 HASH Digest Private Signature Public SHA-256 20c1892df4e665666558289367ae1682 d1f93bc5be4049627492cdb5a42635e4 20c1892df4e665666558289367ae1682 d1f93bc5be4049627492cdb5a42635e4 Miner Verifying Alice Signing Message SignedMessage A signature consisting of a hash of the message, encrypted with Alice’s private key, can be used to verify both the author of the message and the authenticity of its content. Unlike physical signatures, the digital equivalent is dependent on, and thus unique to each message.
  • 15.
    In reality balancesare not kept track of in the Blockchain. Instead ownership of funds is verified through reference to past transactions (txn’s). Thus, for Alice to send 5 BTC to Bob, she must send a signed message referencing other txn’s (inputs) in which she has received 5 or more BTC. Miners will Authenticate the txn message and verify that Alice was on the receiving end of the input txn’s, that they add up to more than the amount she wants to transfer now, and that these same inputs have not been referenced before in another txn already on the ledger. What do these messages look like?
  • 16.
    Transaction Message VK1---2--->VKAlice VK2---2--->VKAlice VK3---2--->VKAlice SHA-256 SHA-256 SHA-256 D1 (2) D2(2) D3 (2) VKBob , 5 VKAlice , 1 Inputs Outputs Previous txn’s to Alice (Alice’s funds) References to Alice’s funds Alice’s txn message consists of hashes of previous transactions she has received (inputs) and destination addresses with amounts for the outputs. In this example Alice receives 1 BTC in change because her reference txn’s totaled 6 BTC. The message also includes a digital signature. In bitcoin, public/verification keys are used as addresses.
  • 17.
    Instead of alist of accounts and balances, miners keep an up to date record of all the transactions ever processed on the system. Owning Bitcoin means that there are transactions on this ledger that point to an address (public key) you own (have the matching private key for) and have not yet been used as inputs in other transactions (or spent). The ledger is made up of linked blocks that resemble a chain.
  • 18.
    TXN TXN TXN TXN TXN TXNTXN TXN Blockchain Miners make blocks with sets of txn’s awaiting confirmation and add them to the chain
  • 19.
    Hash of prev. Block TXN TXNTXN TXN “Nonce” Hash of prev. Block TXN TXN TXN TXN “Nonce” Each block is linked by a hash to the previous block. This creates a chain all the way back to the “genesis” block. It also guarantees the chronological order of the blocks because a hash cannot exist without the block existing. Finally, it means no single part of the chain can be altered without invalidating all subsequent blocks.
  • 20.
    Hash of prev. Block TXN TXNTXN TXN “Nonce” Hash of prev. Block TXN TXN TXN TXN “Nonce” To add a block to the chain, miners must compute a nonce. This number, when added to an input in a hash, results in a digest starting with a certain number of 0’s. The computational difficulty of guessing and checking random numbers until the right one is found determines the rate at which blocks are added. This Proof of Work mechanism also reduces the probability of two blocks being added simultaneously, producing divergent chains.
  • 21.
    Proof of Workand the “Nonce” Input SHA-256 20c1892df4e665666558289367ae1682 d1f93bc5be4049627492cdb5a42635e4 HASH Digest Input SHA-256 000000000000000005a42635e42d1f93 bc5be458289367ae168049627492cdb7 HASH Digest nonce Because these hashes are almost random, the only way to get a digest with a multiple “0” prefix is to guess random numbers to add to the end of the input. This is known as a nonce. The difficulty of this task can be adjusted by increasing or decreasing the length of the desired 0 prefix. The Bitcoin Blockchain calibrates the difficulty to keep a block being added to the chain every 10 minutes on average.
  • 22.
    If multiple blocksare added simultaneously (and miners temporarily work on slightly different versions of the ledger) the true chain will emerge when the next block is added. Honest miners are always bound to work on the longest chain. Txn’s in chains that are discontinued return to the transaction pool to be processed into the longer chain. The longest chain rule and proof of work system pit potential bad actors against the computing power of the entire network An implication of this is that txn’s are more confirmed the further back they get in the chain
  • 23.
    The primary goalof mining is to allow the network to reach a tamper-resistant consensus. However it is also the process by which new bitcoins are brought into existence. When a miner finds the right nonce and adds a block to the chain, a transaction is included that generates a reward paid to the miner. The reward for adding a block to the chain is halved every 210,000 blocks which means the total possible supply of bitcoins is limited. As that limit approaches, miners will be ever more incentivized by txn fees (to be paid as rewards to the miner who adds the block) included in txn messages at the discretion of the sender. Senders who want their txn’s processed fastest will include higher fees. The protocol disseminates the new coins in a random decentralized way and provides motivation for the miners who secure the system.
  • 24.
    All of thisadds up to a group of users who need not trust each other agreeing on and adding to a list of all past transactions. open to everyone.