Kristof V. explained the basics of blockchain and smart contracts. Starting with the mechanics of bitcoin (introduced by the 2009 paper of Satoshi Nakamoto) he explains concepts of pseudonymisation, encryption, blockchain, mining, and distribution. After skimming high-level through some use cases he moves to "(smart) contracts", using the example of an auction.
Link to examples of "smart contracts": https://dapps.ethercasts.com
Link to the event follow-up page: https://www.meetup.com/Brussels-Legal-Hackers/messages/boards/thread/50920056
Legal hackers: https://www.meetup.com/Brussels-Legal-Hackers
5. Traditionele Internationale Transactie
5
Bob Alice
Can this be done without trusted party?
1e Distributed cryptocurrency (2009)
Shock trough financial world
Much attention by financial world for Bitcoin/Blockchain
6. Blockchain is about Distributed Trust
6
Blockchain Network
Storage
Integrity, timestamp, non-removable
Enforcing rules
More flexible with smart contracts
7. Idea
7
Transactions
5,1 BTC →
0,7 BTC →
Transactions
5,1 BTC →
0,7 BTC →
Transactions
5,1 BTC →
0,7 BTC →
Transactions
5,1 BTC →
0,7 BTC →
I transfer
0,4 BTC to .
Ok!
Ok!
Ok!
0,4 BTC →
Bob
Alice
Charlie
Dave
0,4 BTC →
0,4 BTC →
0,4 BTC →
8. Idea
8
Transactions
5,1 BTC →
0,7 BTC →
Transactions
5,1 BTC →
0,7 BTC →
Transactions
5,1 BTC →
0,7 BTC →
Transactions
5,1 BTC →
0,7 BTC →
I transfer
0,4 BTC to .
Ok!
Ok!
Ok!
0,4 BTC →
Bob
Alice
Charlie
Dave
0,4 BTC →
0,4 BTC →
0,4 BTC →
Blockchain
Atomic
Everyone writes transaction in his/her append-only spreadsheet or no
one → Consensus mechanism
Valid
Only valid transactions accepted by the network
E.g. bob owns the money & did not yet spent it previously
Secure & robust
Systems functions, even if part of members offline or malicious
Relatively fast
Distributed
9. Blockchain
9
At predetermined frequency new block
appended with most recent transactions
blockchain contains
ALL transactions
Transaction in blockchain
cannot be removed
Blockchain = concatenation of
blocks, which contain transactions
Many entities possess the same
copy of the blockchain
Block 51
Header
Block 52
Header
Block 53
Header Header
Block 54
5,10 BTC →
0,70 BTC →
Blockchain specific: 10 minutes in
Bitcoin, 10 seconds in Ethereum,…
0,40 BTC →
13. Network
13
Miner
Validating (full) node
Light node
Once accepted by the network, it is impossible to remove block or transaction from
the blockchain. (51% attack theoretically possible)
14. Bitcoin & Privacy
14Fleder, Michael, Michael S. Kester, and Sudeep Pillai. MIT. "Bitcoin transaction graph analysis." arXiv preprint arXiv:1502.01657 (2015).
Bitcoin’s privacy properties
are not perfect
‘Identified’ persons linked to
16. Blockchain.info
16
Schaalprobleem
- Alle transacties op blockchain
- 3 transacties / sec. ↔ Visa: 10 000 / sec.
- En blockchain toch al 120GB groot
Scaling problem
- All transactions on blockchain
- 3 transactions / sec. ↔ Visa: 10 000 / sec.
- And already 120GB
Bitcoin Blockchain Size
blockchain.info/charts/blocks-size
18. 18
Blockchain Properties
Inefficient / competition
Bitcoin properties
Open for everyone
Append-only Keys & PseudonymsRobust Consensus mechanism
General blockchain properties
19. Bitcoin – Some Thoughts
19
Eliminating the trusted authority is a
tremendous achievement
• Despite limitations & use of simple crypto
Bitcoin is a first blockchain experiment
• But it got a bit out of hand
• Blockchain challenges & progress ahead
Idea of distributing trust with
technology now widespread
• Applicable in many domains
21. Data in the Blockchain
21
Transaction
0,01 BTC →
Trusted entity
Transaction
Data
Unmodifiable
(integrity)
Unremovable Timestamped
Some properties of data in the blockchain
TransparentAuthentic
→ Applications other than crypto-currencies
22. 22
Applications: Record Keeping
Properties, certificates, rights, …
Vaccination
IdentityDiplomaMarriage
Medical
records
TaxesSupply chain
Tracking
Driving license
Political
mandates
Official
documents
History /
traces
Not all data necesarily on blockchain → Fingerprint (hash) might suffice
24. 24
Transfer Assets
Transaction 23F
→
Transaction XP0
→ 9BG
Transaction 9BG
→ 23F
Authority
(hypotheekbewaarder)
The lawful
owner
is .
The lawful
owner
is .
Owner 1 (Bob) Owner 2 (Charlie)
The lawful
owner
is .
Authority required for initial registration Full history on the blockchain
26. Enforced rules
Smart Contracts (aka chaincode)
26
Money
transfer
Rules are:
- Hard-coded in client
- Application specific
Blockchain network enforces rules without need to trust individual nodes
Can a blockchain network also
enforce flexibly other sets of rules
for other applications?
27. Enforced rules
Smart Contracts (aka chaincode)
27
Enforced rules
Money
transfer
Prescripion
processing
Elections Insurance
Rules are:
- Hard-coded in client
- Application specific
- Smart contract = set of application
specific rules
- Blockchain network enforces rules in
contract
- We can add/destroy contracts
Blockchain network enforces rules without need to trust individual nodes
Hugely Increases the potential of blockchain technology
29. Smart Contracts
29
Contract Auction{
function bid()
function pay ()
HighestBid: €
HighestBidder:
Beneficiary: Charlie
}
bid(), 20€
pay()
bid(), 10€
20€
02010
Bob
Alice
Charlie
Alice
10€
Bob
Money can be temporarily blocked by contract
Contract executed by full nodes of the blockchain network
30. Smart Contract Blockchain
30
contract c
Header
Block 51
c.bid(), 10€
Header
Block 52
Header
Block 53
c.bid(), 20€
Header
c.pay()
Block 54
Transaction type 1
Publish contract
Transactie type 2
Call function
32. Smart Contract Challenges
32
Confidentiality & Privacy
Blockchain & contracts usually fully transparent
=> Extra crypto might help
Bugs
The DAO hack (*)
* https://www.smalsresearch.be/smart-contracts-autonome-code-op-een-blockchain/
Interpretation
Code for most people harder to understand than
human written language
34. 34
(Un)permissioned blockchain
Unpermissioned Permissioned
Examples Bitcoin, Ethereum Multichain, Hyperledger
Efficiency (Now) mostly horrible Good
Who has access Everyone Flexible, controled
Confidentialitity & privacy Fully transpararent More control
Trust Distributed Decentralised
Crypto-currency Required for proper
incentives
Not always required
E.g. Processing medical prescriptions
- Only RIZIV/INAMI can publish smart contracts
- Cooperation of 5/7 mutualities for creation valid block
- Only accredited doctors can ask the contract to issue a new prescription
35. Conclusions
It’s about trust
• Great technology for application that traditionally require
trust in one or some central entities
• That’s why it’s considerd as disruptive
No solutions for everything
• It is possible with blockchain ≠ Blockchain is the best
solution
Challenges
• Scalability, key management, privacy, confidentiality, …
• A lot of research (MIT, KU Leuven, TU Delft, IBM, …)
35
Eerste toepassing van blockchain was Bitcoin
De blauwe cirkel duidt aan waar ons vertrouwen ligt. Links is dat een centrale autoriteit, rechts is dit het netwerk (of, meer correct, vertrouwen we dat de meerderheid van het netwerk eerlijk is)
ASICS: hardware specifiek voor 1 applicatie
Met een gewone PC kan je niet op tegen de gespecialiseerde hardware
Zou meer zijn dan electriciteitsverbruik Ierland. Meeste miners in china, waar er al wat meer vervuild mag worden
Anderzijds kun je stellen dat ook fysiek geld een ecologische footprint heeft die niet te verwaarlozen is (drukken, verspreiden, ATMs, …)
Vaccinatie: verschi!llende mensen plaatsen vaccinaties, verschillende entiteiten toegang nodig
Gegevens die relevant zijn voor het berekenen van uw belastingsaangifte kunnen op de blockchain geregistreerd worden
Auteursrechten. registering a copyright, of transferring ownerships, of licensing from person A to B, things like consignment or loaning."
Notary in case two parties do not trust each other sufficiently (e.g. buying house from strianger)
Eforcement no longer by law but by technology
Reality: legislation & notaries cannot be that easily eliminated. But can play another role that requires less trust
identity: kan gelinkt worden vb. aan rijbewijs. De persoon kan zelf attributen teovoegen die dan door een of meerdere autoriteiten bevestigd kunnen worden
We zullen te maken krijgen met een terughoudendheid, wat niet geheel onterexht is aangezien de technologie zich nog niet echt bewezen heeft.
Aanpassingspijnen aangezien het misschien moeilijker in te passen is in bestaande processen en infrastructuren.