Presentation about the state of smart contract technologies.
These slides where presented at:
- BlockchainUA in Kiev, 14/09/18
- Bitcoin and Blockchain meetup in London, 28/11/18
- BlockchainEdu meetup in Rome, 12/12/18
4. How contracts are usually enforced
● Ethics
● Social pressure / desire of preserving reputation
5. How contracts are usually enforced
● Ethics
● Social pressure / desire of preserving reputation
● Violence / third party enforcement (e.g. call the cops)
6. A smart contract is a trustless computer protocol
designed to enforce of the terms of a contract
8. Blockchain Smart Contracts
● Contract enforcement is guaranteed by code executed
redundantly by a distributed network
● The code describes the spending conditions of unspent funds on
the blockchain
12. When we do NOT need smart contracts
● When we just want automation
13. When we do NOT need smart contracts
● When we just want automation
● When we are just looking for distributed storage/computation
14. When we do NOT need smart contracts
● When we just want automation
● When we are just looking for distributed storage/computation
● When you are OK with trusted third parties or you need them
anyway for other aspects of the contract that the SC cannot
cover
15. Bitcoin vs Ethereum
Non-turing complete
stack based language
Limited expressivity
Formally verifiable
Turing complete
language
High expressivity
Non formally verifiable
16. A complex system that works is invariably found
to have evolved from a simple system that
worked.
A complex system designed from scratch never
works and cannot be patched up to make it
work.
Gall’s Law
18. Desired features of a smart contract
● The behaviour is predictable by all parties involved
19.
20. Desired features of a smart contract
● The behaviour is predictable by all parties involved
● The cost of breaking it is superior to the value of the
contract
21.
22. Desired features of a smart contract
● The behaviour is predictable by all parties involved
● The cost of breaking it is superior to the value of the
contract
● No exploitable vulnerabilities
25. Group wallets
BITCOIN
TRANSACTION
Enforcing that at least
two out of three
members of a group
have to agree to create
a valid transaction
blockchain
Alice
Bob
Carol
2 <pubKeyAlice>
<pubKeyBob>
<pubKeyCarol> 3
CHECKMULTISIG
Script
26. Heritage wallets
BITCOIN
TRANSACTION
Enforcing that a
transaction must be
signed either by Eve OR
by Alice after waiting 4
years
blockchain
Eve Alice
IF
<pubKeyEve>
CHECKISIG
ELSE
<4 y> CLTV DROP
<pubKeyAlice>
CHECKSIG
ENDIF
Script
27. Secure storage
BITCOIN
TRANSACTION
Enforcing that a transaction
must be sign by either three
devices in different
locations OR a recovery key
deposited in the bank after
waiting six months
blockchain
Home Bank
IF
3 <pubKeyHome>
<pubKeyPhone>
<pubKeyOffice> OP_3
CHECKMULTISIG
ELSE
<6 m> CLTV DROP
<pubKeyBank>
CHECKSIG
ENDIF
Script
Office
Phone
28. Off-chain payments
With advanced
smart contracts it is
possible to create
channels for
trustless off-chain
payments, and link
them into a network
(a.k.a. Lightning
Network)
30. PRIVACY
Improving smart contracts
EXPRESSIVITY USABILITY
Smart contracts look
different from normal
transactions
Current Bitcoin
scripting language is
limited
Most wallet providers
do not offer smart
contract capabilities
31. PRIVACY
Improving smart contracts
EXPRESSIVITY USABILITY
Smart contracts look
different from normal
transactions
MAST, Taproot,
Schnoor , etc
Current Bitcoin
scripting language is
limited
Simplicity, new
OP_Codes, etc
Most wallet providers
do not offer smart
contract capabilities
Dev tools, UI/UX
improvements
33. What the future will look like
● Used only for very specific needs (not everywhere)
● Indistinguishable from normal transaction, most SC
performed off-chain
● Seamlessly integrated in services’ UI