2. 2 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
3. 3 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
Smart contracts in Bitcoin
• Contains a deliberately simple scripting language
• A transaction = locking Bitcoin and describing how it can be unlocked
• Examples:
− Multisig: multiple signatures are needed to unlock
− CheckLocktimeVerify: Bitcoin only spendable at some point in future
− ….
4. 4 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
Smart contracts in Bitcoin
• Contains a relatively simple scripting language
• A transaction = locking Bitcoin and describing how it can be unlocked
• Examples:
− Multisig: multiple signatures are needed to unlock
− CheckLocktimeVerify: Bitcoin only spendable at some point in future
− ….
Altcoin/Metacoin X
More ”opcodes”,
more functionality
5. 5 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
6. 6 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
Ethereum: anything is programmable
“Classic “ blockchains
• Addresses
• Balance with “native” coin
• Transactions
• Blocks: transactions bundled
Ethereum:
• Addresses
• + data storage
• + code
• Balance with Ether
• + application-specific tokens
with specific behaviour
• Transactions
• + creation of contract code
• + calling contract code
• Blocks: “transactions”
• + ”new state” of entire system
7. 7 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
8. 8 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
9. 9 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
10. tomorrow’s transactions today
Red sends 1.1 to green
Blue sends 3 to green
Grey sends 1 to red
Blue sends 3 to red
Red sends 1.1 to grey
Red gets 50 for the
puzzle!
11. 11 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
12. 12 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
13. 13 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
Slow and primitive, but…
Promise:
A 15-year old can deploy business
logic that is:
• Verifiable
• Immutable
• Untamperable
• Untouchable
14. 14 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
15. 15 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
16. 16 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
17. 17 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
18. 18 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
19. 19 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
20. 20 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
21. 21 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
22. 22 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
23. 23 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
24. 24 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
Smart contract pattern
1 Lock thing of value in contract
2 Contract code determines
redistribution
3 Based on information that is not
yet known
25. 25 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
Smart contract pattern
1 Lock thing of value in contract
• Native crypto
• Tokens representing value… or
abilities
2 Contract code determines
redistribution
3 Based on information that is not
yet known
26. 26 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
Smart contract pattern
1 Lock thing of value in contract
• Native crypto
• Tokens representing value… or
abilities
2 Contract code determines
redistribution
3 Based on information that is not
yet known
• Randomness
• Actor
• “Oracle”
27. 27 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
28. 28 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
29. 29 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
30. 30 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
31. 31 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
32. 32 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
33. 33 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
34. 34 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
35. 35 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
36. 36 Ethereum & The DAO, Crypt070 meetup, May 26th 2016
DAO questions
1 Governance with 12000 ppl?
2 Regulatory uncertainty
3 Limitations of Biz Model
Editor's Notes
Veronderstelling: jullie weten wat van Bitcoin, nog niet van Ethereum.
The DAO is a smart contract.
Explaining to Bitcoiners should be the easiest part: appeal to their sense of history
If you have an audience that knows Bitcoin, you can remind them that scripting was built in from the start.
In fact, Satoshi was far more ambitious to begin with, needed to throw out a lot to keep it simple.
The basic building block is an unlocking script and a locking script
Andere toepassingen: name registries, asset registries of existing things, creating your own tokens, decentralised exchange
Zowel altcoins als dingen bovenop Bitcoin by abusing fields
December 2013 whitepaper,
Midden 2014 gecrowdfund
Midden 2015 life gegaan.
Motivatie: alles kunnen maken in een ding.
Addresses controlled by a public/private key
Or addresses that contain code AND can hold money: little robots
Remember the output script
(acutally it’s ones and zero’s, a blockchain explorer will disassemble it for you.
Stands for operations on data
Higher languages: solidity
Let op: keyword contract
You can try to explain the shared ledger, I have a workshop on this
Shared ledger
Bitcoin: step back: shared legder: ik geef soms wel eens langere presentaties.
In twee zinnen:
Briefje aan Jaap
Briefje aan Jaap via tussenpersoon die excel bijhoudt
Ik laat het aan iedereen weten
Resultaat is een STATISTISCH verschijnsel
Hoe die meerderheid tot stand komt: wat iedereen drijft om het netjes te doen: consensus mechanisme: rollenspel
Belangrijkste: shared ledger staat boven het niveua van de eigen machine
So, most important
It exists in the network
Not in individual machines
Also here: sending messages.
Statistisch effect: een gedeelde, imaginaire computer.
It cannot be tampered with
It cannot be turned off
It cannot be changed!
It will always be there!
You can count on it
You can trust your money to code.
Dan laat de fantasie op hol: AI, Skynet, Big data.
Pokketraag.
Weinig geheugen.
Expensive.
64 KB!
That’s pretty crazy!!
Googling doesn’t really help
The term Smart contract comes from someone called Nick Szabo.
If that name sounds familiar, this man too has been mentioned as the possible author of the Bitcoin Whitepaper.
”Computerized transaction protocol that executes the terms of the contract”
Pretty vague: applies to any business process automation.
That’s also the trouble with the current disucussion when applied in the cryptocurrency world: anyone uses the word for anything
Let’s look at Wikipedia (more recent)
Computer protocol that…
Enforce
It makes a contractual clause unnecessary
Computers are more reliable than humans: code!
Is it a good name?
It’s code: not smart!
It’s not a contract.
In the context of blockchain!
Als je het precies wil weten moet je kijken naar de technische context waarin het gebruikt wordt
We are far from the legal concept of contract here
Wat voor busines logica: I am going to try to help you see the pattern
abilities:
ownership, permissions (Jasper van Gelder), voting rights (talk!)
Trhy to give some examples.
These are the examples I always use.
Predetermined flow of events, like a clockwork
Deterministic ponzi scheme
Like in Bitcoin, the first applications are ponzi schemes and gambleing
Actor can be an beslissing van een groep mensen zijn:DAO: fascinating concept
Actor can be an beslissing van een groep mensen zijn:DAO: fascinating concept: shareholders that cannot be betrayed
12000 accounts
De code houdt de ether vast
The DAO cannot do anything. It can just vote to have people do somehting on its behalff
Inkomsten DAO: moet ingebakken zijn in het functioneren van de projecten!
For now. Maar ik kan me niet voorstellen dat het ooit anders zou functionerene
Minderheidsaandeelhoudersbescherming zit in contract code
Kunnen tokens verkopen
Kunnen splitten
Rollen
Token holders:
Stemmen
Aandeelhouders
Curators
Technische rol
Multisig van bekende mensen
Niet verantwoordelijke voor proposals
Twee rollen
Bytecode matches source code
Voegen adres van proposals toe aan whitelist
Contractors
Submit proposals
KRIJGEN geld/ETH
Maandelijkse betalingen om de wortel om verder te doen groter te houden dan de incentive om met het geld weg te lopen
Bedenkingen
Investeren met 12000 mensen??
Waarschijnlijk heel goed voor investeringen die netwerk-effect vereisen