1. S
Bitcoin explained
Benjamin Fuentes – March 2016
The opinions and views expressed at or through this slide are the opinions
of the designated authors and do not reflect the opinions or views of any of
their clients or law firms or the opinions or views of any other individual.
2. Challenges
S 50% honesty threshold
attack
S Keep anonymity
S Negative balances
S End of block ambiguity
S Remove the trusted 3rd
party
S Avoid double spending
problem
S Owner authenticity proof
attack
S Cannot rewrite the past
3. Remove the trusted 3rd party
S There are owners
S Owners do transactions
S Owners have private key (like a
password) to sign
S Owners have public key for
others to verify their signature
S A block can contain multiple
transactions
4. Network flow
1.Broadcast new
new transactions
2.Build a block
and try to find
proof-of-work
3.First to find
proof-of-work
broadcast the
block to the others
4.Test acceptance
and double
spending.
If ok => keep the
block using its
hash
If ko => reject
block
6. Solution
S Be aware of ALL transactions
S Consensus agreement of voters to validate transaction
order
UNIQUE HISTORY OF ORDERING
CAN DETECT DOUBLE SPENDING NOW
8. Cannot rewrite the past
Hack this
block !!!
Honest blockchain
Hacker blockchain
9. 50% honesty threshold attack
S Do not trust IP as voters ! Anyone can duplicate IPs
S Voters are CPU based
S If > 50% voters agree on a chain, is it the official one
S To modify a past block, an attacker would have to redo
the proof-of-work of the block and all blocks after it and
then catch up with and surpass the work of the honest
nodes
12. Negative balances
S We have to check all the chain from the origin to
calculate the last balances
S We cannot have negative balances
S Balance = sum(inputs) – sum(outputs)
13. End of block ambiguity
S Everyone has its own version of the blockchain
S A block could be resolved at the same time by 2 different peers
A blockchain could have several branches at the same time before
it gets stabilized / ordered
Mathematical race ensures that the oldest block are more
trustable than newest. So wait a little bit before considering last
blocks trustable
Last best performance done by BTC guild is about resolving 6
blocks in a row. So wait at least 6 blocks ?