introduction to blockchain and smart contracts

34
Knowledge provider for blockchain and smart contract technology

Upload: validity-labs

Post on 21-Jan-2017

197 views

Category:

Education


6 download

TRANSCRIPT

Page 1: Introduction to blockchain and smart contracts

Knowledge provider for blockchain and smart contract technology

Page 2: Introduction to blockchain and smart contracts

OUR TEAM

André Wolke Meher Roy Sebastian Bürgel

Page 3: Introduction to blockchain and smart contracts

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

Page 4: Introduction to blockchain and smart contracts

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

Page 5: Introduction to blockchain and smart contracts

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.

Page 6: Introduction to blockchain and smart contracts

Decentralized Autonomous Organizations

Sebastian Bürgel

Page 7: Introduction to blockchain and smart contracts

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

Page 8: Introduction to blockchain and smart contracts

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

Page 9: Introduction to blockchain and smart contracts

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

Page 10: Introduction to blockchain and smart contracts

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

Page 11: Introduction to blockchain and smart contracts

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

Page 12: Introduction to blockchain and smart contracts

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

Page 13: Introduction to blockchain and smart contracts

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

Page 14: Introduction to blockchain and smart contracts

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

Page 15: Introduction to blockchain and smart contracts

INHERENT VALIDITY

Changes in a block invalidate all following blocks.

Page 16: Introduction to blockchain and smart contracts

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

Page 17: Introduction to blockchain and smart contracts

}{

IMMUTABILITY

Nobody else will accept a transaction which is based on a

modified version of the blockchain.

Page 18: Introduction to blockchain and smart contracts

“It is very possible that... one machine would suffice to solve all the problems... of the whole [world]”

- Sir Charles Galton Darwin 1946 -

Page 19: Introduction to blockchain and smart contracts

BLOCKCHAIN PLUS SMART CONTRACTS

Ethereum blockchain with smart contractsBitcoin blockchain

Page 20: Introduction to blockchain and smart contracts

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

Page 21: Introduction to blockchain and smart contracts

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!

Page 22: Introduction to blockchain and smart contracts

SMART CONTRACT

PROGRAM ON A BLOCKCHAIN,

WHICH CAN CONTROL FINANCIAL

ASSETS

=

Page 23: Introduction to blockchain and smart contracts

A NEW DIMENSION FOR PAYMENTS

Since ~ 10.000 years

Transaction of financial assets from and to:

- People- Organizations

Page 24: Introduction to blockchain and smart contracts

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

Page 25: Introduction to blockchain and smart contracts

SMART CONTRACT – Example (Timelock)

Page 26: Introduction to blockchain and smart contracts

SMART CONTRACT – Example (Timelock)

https://github.com/SCBuergel/timeLock-smartContract

Page 27: Introduction to blockchain and smart contracts

SMART CONTRACT – Example (Timelock)

Page 28: Introduction to blockchain and smart contracts

SMART CONTRACT – Example (Timelock)

Page 29: Introduction to blockchain and smart contracts

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.

Page 30: Introduction to blockchain and smart contracts

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!)

Page 31: Introduction to blockchain and smart contracts

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

Page 32: Introduction to blockchain and smart contracts

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

Page 33: Introduction to blockchain and smart contracts

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