introduction to blockchain and smart contracts

Post on 21-Jan-2017

203 Views

Category:

Education

6 Downloads

Preview:

Click to see full reader

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://validitylabs.orghello@validitylabs.org@validitylabs

top related