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.
๐ฑDehradun Call Girls Service ๐ฑโ๏ธ +91'905,3900,678 โ๏ธ๐ฑ Call Girls In Dehradun ๐ฑ
ย
Decentralised Transactions and Accounts with Blockchain
1. 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
3. 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
4. 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โฆ
6. 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
7. 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]
8. 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
10. 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?
11. 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:
12. 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
๏
13. 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]
14. 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
18. 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
19. 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
21. 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
22. 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
23. 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
26. 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