Decentralised Transactions and Accounts with Blockchain
Jun. 10, 2016•0 likes
3 likes
Be the first to like this
Show More
•2,168 views
views
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download to read offline
Report
Internet
Explains the technological underpinnings of Blockchain, and asks whether Blockchains can work without a cryptocurrency (Bitcoin, Ethereum). My Habilitation talk at KIT at 2016-05-25.
Decentralised Transactions and Accounts with Blockchain
KIT – The Research University in the Helmholtz Association
INSTITUTE AIFB - WEB SCIENCE AND KNOWLEDGE MANAGEMENT
www.kit.edu
Decentralised Transactions and Accounts with
Blockchain
Andreas Harth
25.05.2016
Institute AIFB3 10.06.2016
Centralised Transactions
Centralisation creates power structures and single points of failures
(can enable fraud, manipulation, censorship)
Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
Alice Bob
Bob sells Alice a Raspberry
Pi computer
Alice transfers
money into Bob‘s
account
Bob can spend
the money from
his account
Central trusted instance processes
transactions and maintains account balances
Institute AIFB4 10.06.2016
Decentralised Transactions
Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
A centralised
ledger tracks
asset
movements
between
institutions
A distributed
ledger
eliminates the
centralised
authority and
puts the ledger
into the hands
of many
institutions
Idea: can technology provide the functionality to process transactions,
but in a distributed and decentralised fashion?
Bitcoin [Nakamoto 2008]
provides a blockchain with a
cryptocurrency
Ethereum (ca. 2014) provides a
blockchain platform with
cryptocurrency and scripting
“Blockchain without bitcoin”
(2016) from IBM, Hitachi,
Fujitsu, Deutsche Börse,
CME, ABN Amro, Wells
Fargo…
Institute AIFB6 10.06.2016 Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
Hash Functions
Takes a string as input
Produces fixed-sized output
Efficiently computable (moderately
hard to generate, easy to check)
Security properties
Collision-free: different inputs create different outputs, as few collisions as
possible
Hiding: input should not be visible in output
Puzzle-friendly
Secure Hash Algorithm (SHA)
is widely used
SHA-256 Hash Function
SHA-256(„hello world“) =
b94d27b9934d3e08a52e52d7da7dabfa
c484efe37a5380ee9088f7ace2efcde9
SHA-256(„hello world.“) =
7ddb227315f423250fc67f3be69c5446
28dffe41752af91c50ae0a9c49faeb87
Institute AIFB7 10.06.2016
Trusted Timestamps
Take a hash of a block of items and a time ti
The hash can be published, e.g., in newspapers or Usenet
hash(block) includes the previous hash, forming a chain
The hash proves that an item must have existed at time ti
Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
[Nakamoto 2008]
Institute AIFB8 10.06.2016
Alice generates a keypair,
consisting of private/secret key
(sk):
and public key (pk):
1Ez69SnzzmePmZX3WpEzMKT
rcBF2gpNQ55
Digital Signatures
1) (sk, pk) := generateKey(keySize)
2) sig := sign(sk, message)
3) isvalid := verify(pk, message, sig)
Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
Alice generates signature of
message with her private key
Bob can verify that the message
has been signed by Alice using
Alice‘s public key
Institute AIFB10 10.06.2016
Blockchain Core Idea
Requires addresses/accounts for people (identities)
Requires a transaction log that is tamper-proof
Requires incentives for someone to maintain the transaction log
Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
Idea: can technology provide the functionality to process transactions,
but in a distributed and decentralised fashion?
Institute AIFB11 10.06.2016
Identity and Wallets
Public keys (or hash of public key) can be used as addresses
Public key == identity; private key is in „wallet“
Any message signed that can be verified with the public key is from an
actor that controls the associated private key
Anybody can create a keypair (decentralised identity management,
anybody can make new identities)
Nobody needs to know who you are (but your transactions, pattern of
behaviour might point to you)
Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
Public key:
1EBHA1ckUWzNKN7BMfDwG
Tx6GKEbADUozX
Public key:
1Ez69SnzzmePmZX3WpEzMK
TrcBF2gpNQ55
Private key:
Private key:
Institute AIFB12 10.06.2016
Decentralised Transactions
Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
Transaction is put into a public transaction log (the
blockchain)
Transaction (Tx): Pay-to-Pubkey-Hash, Value 1
From: 1Ez69SnzzmePmZX3WpEzMKTrcBF2gpNQ55
To: 1EBHA1ckUWzNKN7BMfDwGTx6GKEbADUozX
Alice’s signature: 48 30 45 02 21 00 F3 58 1E 19 72 ..
Alice Bob
Bob sells Alice a good or
service
Alice transfers a
token representing
the desired value to
Bob‘s address
1EBHA1ckUWzNKN7
BMfDwGTx6GKEbAD
UozX, signing the
transaction with her
private key
Bob can spend
the token from his
account using his
private key
Institute AIFB13 10.06.2016
Public Transaction Log (Blockchain)
Transactions are put in a public transaction log that is shared via a
peer-to-peer network
Sharing the blockchain is required to avoid double spending
Transfer can go to
a public key (Pay-to-Pubkey-Hash) or to
a script (Pay-to-Script-Hash)
Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
[Nakamoto 2008]
Institute AIFB14 10.06.2016
Scripting and Smart Contracts
A script specifies how the next person who wants to transfer an item
can gain access
Bitcoin‘s language is simple, no loops, not Turing-complete
Ethereum‘s language is Turing-complete
Hyperledger‘s language is to be defined
“Smart Contracts” are applications for scripting
Multiparty signatures
Escrow transactions
Gambling (e.g., bet on the hash value of blocks)
Insurance/derivatives (e.g., crop insurance: pay at specified time if
precipitation is below a given target value)
…
Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
Institute AIFB18 10.06.2016
Incentives
Who maintains the blockchain?
Who provides computational resources to run the scripts?
Requires incentives for maintaining the blockchain
Requires incentives to provide computational power to run scripts
A cryptocurrency can be use to create incentives and pay for
computational resources
Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
Public key:
1EBHA1ckUWzNKN7BMfDwG
Tx6GKEbADUozX
Public key:
1Ez69SnzzmePmZX3WpEzMK
TrcBF2gpNQ55
Institute AIFB19 10.06.2016
Mining
How to create (fiat) money?
The hash of a new block is generated roughly every ten minutes
Requires distributed consensus on who creates a new block
Consensus is based on proof-of-work puzzle:
hash(block) < target value (adjusted every two weeks)
If hash(block) >= target value, increment the „nonce“ and try again
Node that solves the puzzle gets a reward and can keep transaction fees
Reward for mining a block halves every 210k blocks (~4 years),
currently at 25 BTC
Issue rate decreases over time; around 2140 all ~21m BTC have been
issued
Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
Institute AIFB21 10.06.2016
Summary and Conclusion
Blockchain technology can be used to maintain a decentralised
transaction ledger
Scripts add the capabilities for „smart contracts“
Many new application areas possible, both in finance and outside
Whether blockchains work in practice without cryptocurrencies remains
to be seen
Blockchain fits well with the decentralised architecture of the internet
Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
Institute AIFB22 10.06.2016
References
Greg Irving and John Holden. How blockchain-timestamped protocols could
improve the trustworthiness of medical science. F1000Research 2016, 5:222,
http://f1000research.com/articles/5-222/v1
Satoshi Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System”, May
2008, https://bitcoin.org/bitcoin.pdf
Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven
Goldfeder, “Bitcoin and Cryptocurrency Technologies”, textbook draft 2016-02-
09,
https://d28rh4a8wq0iu5.cloudfront.net/bitcointech/readings/princeton_bitcoin_b
ook.pdf
Yonatan Sompolinsky, Aviv Zohar, “Accelerating Bitcoin’s Transaction
Processing - Fast Money Grows on Trees, Not Chains”, Cryptology ePrint
Archive, Report 2013/881, 2013.
Nick Szabo, “Formalizing and Securing Relationships on Public Networks”,
First Monday, Volume 2, Number 9, September 1997,
http://firstmonday.org/ojs/index.php/fm/article/view/548
Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
Institute AIFB23 10.06.2016
Image Credits
Title page: Google for “Vintage Men Working”, Economist (John
Berkeley)
Clearing house: Wall Street Journal
SHA-256: [Narayanan et al.]
Bitcoin logo: http://bitcoin.org/
Ethereum logo: http://ethereum.org/
Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
Institute AIFB26 10.06.2016
Block Propagation Times
The relation between the block size and the time it took to reach 25 % (red), 50 %
(green), and 75 % (blue) of monitored nodes. [Sompolinsky and Zohar, 2013]
Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
Who maintains the infrastructure?
How does the community agree on what is the correct blockchain?
Who maintains the infrastructure?
How does the community agree on what is the correct blockchain?
transactions/sec; PayPal: 50 – 100 transactions/sec; Twitter: 5000 – 15000 transactions/sec; Advertisting networks > 100000 transactions/sec)
Current rate: 7 transactions/sec (compare to: VISA: 2000 – 10000 transactions/sec), could be addressed by increasing block size
Bitcoin block chain is now "secured" (via proof-of-work) by about four centralised mining pools many of which are in China; proof-of-stake could address the issue
Community-wide updates to the protocol/software are difficult