introduction to blockchain and smart contracts
TRANSCRIPT
Knowledge provider for blockchain and smart contract technology
OUR TEAM
André Wolke Meher Roy Sebastian Bürgel
Train a generation of developers to leverage blockchain technology in
order to improve how we handle
financial assets, build organizations and structure
societies.
OUR MISSION
The blockchain will be to banking, law and
accountancy what the Internet was to media,
commerce and advertising.
Joichi Ito, Director of the MIT Media Lab
YOUR INDUSTRYSchedule a free 1 hour technology
evaluation session with us. We understand your industry
and business need and tailor a blockchain-driven course for you.
Decentralized Autonomous Organizations
Sebastian Bürgel
From To Amount1 2 153 1 102 3 203 2 2002 1 101 3 502 4 20
LET‘S BUILD A BLOCKCHAIN
Use-case: logging of financial transactions
From To Amount1 2 153 1 102 3 203 2 2002 1 101 3 502 4 20
PROBLEM: MUTABILITYNo inherent security against:
Hacked databaseRogue admin
5000
From To Amount1 2 153 1 102 3 203 2 2002 1 101 3 502 4 20
From To Amount1 2 153 1 102 3 203 2 2002 1 101 3 502 4 20
BATCH TRANSACTIONS IN BLOCKS
From To Amount3 2 2002 1 10
BATCH TRANSACTIONS IN BLOCKSFrom To Amount
1 2 153 1 102 3 20
From To Amount1 3 502 4 20
CHAIN THE BLOCKSBlock Number - 1
From To Amount1 2 153 1 102 3 20
Digital root of block:1 + 2 + 1 + 5 +3 + 1 + 1 + 0 +2 + 3 + 2 + 0= 212 + 1= 3
Block number – 2 / digital root of previous block - 3From To Amount
3 2 2002 1 10
CHAIN THE BLOCKSBlock Number - 1
From To Amount1 2 153 1 102 3 20
Digital root of block:3 + 3 + 2 + 2 + 0 + 0 +2 + 1 + 1 + 0 = 141 + 4= 5
Block number – 2 / digital root of previous block - 3From To Amount
3 2 2002 1 10
CHAIN THE BLOCKSBlock Number - 1
From To Amount1 2 153 1 102 3 20
Block number – 3 / digital root of previous block - 5From To Amount
1 3 502 4 20
Block number – 2 / digital root of previous block - 3 ( actually 7! )From To Amount
3 2 2002 1 10
LET’S CHEAT AGAINBlock Number - 1
From To Amount1 2 153 1 102 3 20
Block number – 3 / digital root of previous block - 5 ( actually 9! )From To Amount
1 3 502 4 20
5000
INHERENT VALIDITY
Changes in a block invalidate all following blocks.
LedgerJon → Alice Bill → JonAlice → Bob
20
3010
LedgerJon → Alice Bill → JonAlice → Bob
20
3010
LedgerJon → Alice Bill → JonAlice → Bob
20
3010
LedgerJon → Alice Bill → JonAlice → Bob
20
3010
LedgerJon → Alice Bill → JonAlice → Bob
20
3010
LedgerJon → Alice Bill → JonAlice → Bob
20
3010
10 ETH to Bob
BLOCKCHAIN + P2P NETWORK
}{
IMMUTABILITY
Nobody else will accept a transaction which is based on a
modified version of the blockchain.
“It is very possible that... one machine would suffice to solve all the problems... of the whole [world]”
- Sir Charles Galton Darwin 1946 -
BLOCKCHAIN PLUS SMART CONTRACTS
Ethereum blockchain with smart contractsBitcoin blockchain
Block number – 2 / previous block hash - 3eb571a…From To Amount
3 2 2002 1 10
ADDING CONTRACT TO OUR BLOCKCHAIN
Block Number - 1From To Amount
1 2 153 1 102 3 20
Block number – 3 / previous block hash - a97b130…From To Amount
1 3 502 4 20
Block number – 2 / previous block hash - 61b49d1……From To Amount Payload
3 2 200 “Hello World!”2 1 10
ADDING CONTRACT TO OUR BLOCKCHAIN
Block Number - 1From To Amount Payload
1 2 15 b1a12b4564…3 1 102 3 20
Block number – 3 / previous block hash - 97bc510…From To Amount Payload
1 3 502 4 20 054e120380…
Contract deployment
Send data to contract
id 2 is a contract
Contract sends money to its creator!
Contract deploys another contract!
SMART CONTRACT
PROGRAM ON A BLOCKCHAIN,
WHICH CAN CONTROL FINANCIAL
ASSETS
=
A NEW DIMENSION FOR PAYMENTS
Since ~ 10.000 years
Transaction of financial assets from and to:
- People- Organizations
Since 07/30/2015 3:26 UTC (Ethereum genesis block):
Transaction of financial assets from and to:
- People- Organizations- Programs
A NEW DIMENSION FOR PAYMENTS
SMART CONTRACT – Example (Timelock)
SMART CONTRACT – Example (Timelock)
https://github.com/SCBuergel/timeLock-smartContract
SMART CONTRACT – Example (Timelock)
SMART CONTRACT – Example (Timelock)
contract DAO_Creator { function createDAO( address _curator, uint _proposalDeposit, uint _minTokensToCreate, uint _closingTime, string _tokenName, string _tokenSymbol, uint8 _decimalPlaces ) returns (DAO _newDAO) {
Decentralized Autonomous Organizations
Smart contracts can be arbitrarily complex…Like by-laws in corporations or investment funds.
Living on the Ethereum blockchain
Aimed at investing in sharing economy / IoT
Controlled by investors (“DAO token holders”)
Currently in possession of over $150 M (in Ether)
THE DAO (Experiment!)
Funding period: give Ether, get DAO tokens
Submission of funding proposals: have to be whitelisted by curators
Voting period: votes according to investment
Receiving Ether: ROI
Splitting: spawning of child-DAO
CORE PROCESSES IN THE DAO
A range of security / market mechanism endanger assets in the current version of The DAO
E.g., the “Stalker attack”:User A does not trust The DAO and initiates a “split”User B has a lot of tokens and follows AA cannot get their funds out since B can veto everythingB extorts funds from A: “give me 90% and I leave you alone”
CURRENT ISSUES OF THE DAO
Liability?
Link to the real world?
Incentive for paying back anything to DAO?
How can it protect physical assets (e.g. copyright)?
THE DAO: High Level Open Questions
THANK YOU!http://[email protected]@validitylabs