Download - Ethereum project

Transcript
Page 1: Ethereum project

Ξthereum Project

Page 2: Ethereum project

Satoshi Experiment

Page 3: Ethereum project

Transparency matters

Page 4: Ethereum project

Independence matters

Page 5: Ethereum project

Anonymity matters

Page 6: Ethereum project

Crypto Economy

Page 7: Ethereum project
Page 8: Ethereum project
Page 9: Ethereum project

?

Page 10: Ethereum project

Ethereum – from Data Base to Turing complete algorithms

from = msg.senderfromvalue = contract.storage[from]to = msg.data [0]

value = msg.data [1]

if fromvalue >= value:

contract.storage[from]

= fromvalue - valuecontract.storage[to]

= contract.storage[to] + value

Page 11: Ethereum project

Blocks

0 1 2 3 4

Tra

nsactions

Bitcoin model

Page 12: Ethereum project

Blocks

2

Ξthereum model

sha3(state) = 27abd3…

value + 300

value+300

27abd3…

Page 13: Ethereum project

Blocks

0 1 2 3 4

Ξthereum model

27abd3…

27abd3…

12ffe3… 92c4e3… a0c4e2… 76a4f1…

12ffe3… 92c4e3… a0c4e2… 76a4f1…

Page 14: Ethereum project

from = msg.senderfromValue = contract.storage[from]to = msg.data [0]

value = msg.data [1]

if fromValue >= value:

contract.storage[from] = fromValue - value

contract.storage[to] = contract.storage[to] + value

1.

2.

3.

4.

5.

6.7.

Page 15: Ethereum project

init:

contract.storage [0xcd2a3d9f938e13cd947ec05abc7fe734df8dd826] = 10000000

code:

// balance manipulationfrom = msg.senderfromvalue = contract.storage[from]to = msg.data [0]

value = msg.data [1]

if fromvalue >= value:

contract.storage[from] = fromvalue - valuecontract.storage[to] = contract.storage[to] + value

Page 16: Ethereum project

6298968073cd2a3d9f938e13cd947ec05abc7fe734df8dd82

6576049602660003960496000f233600054600053566020

5460006020023560405460016020023560605460605360

20530a0f0f6300000049596060536020530360005357606

053604053560160405357630000004958

1. P2P Message

Page 17: Ethereum project

init:

contract.storage[0xcd2a3d9f938e13cd947ec05abc7fe734df8dd826] = 10000000

1. P2P Message

code: 3360005460005356602054600 …

storage: cd2a3d9f...= 10000000

Page 18: Ethereum project

code: 3360005460005356602054600 …

storage: cd2a3d9f...= 10000000

sha3 (state)= 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6

Page 19: Ethereum project

5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6

code:

// balance manipulationfrom = msg.senderfromvalue = contract.storage[from]to = msg.data [0]

value = msg.data [1]

if fromvalue >= value:

contract.storage[from] = fromvalue - valuecontract.storage[to] = contract.storage[to] + value

Page 20: Ethereum project

code: 3360005460005356602054600 …

storage: cd2a3d9f...= 10000000

2. P2P Message

code:

// balance manipulationfrom = msg.senderfromvalue = contract.storage[from]to = msg.data [0]

value = msg.data [1]

if fromvalue >= value:

contract.storage[from] = fromvalue - valuecontract.storage[to] = contract.storage[to] + value

Page 21: Ethereum project

code: 3360005460005356602054600 …

storage: cd2a3d9f...= 9999100

2. P2P Message

code:

// balance manipulationfrom = msg.senderfromvalue = contract.storage[from]to = msg.data [0]

value = msg.data [1]

if fromvalue >= value:

contract.storage[from] = fromvalue - valuecontract.storage[to] = contract.storage[to] + value

msg.data =[0] b9c01591…

msg.data =[1] 900

b9c01591...= 900

Page 22: Ethereum project

code: 3360005460005356602054600 …

sha3 (state)= 8da764e33cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6

storage: cd2a3d9f...= 9999100

b9c01591...= 900

Page 23: Ethereum project

One minute, what about a coin ?

Page 24: Ethereum project

code:

// balance manipulationfrom = msg.senderfromvalue = contract.storage[from]to = msg.data [0]

value = msg.data [1]

if fromvalue >= value:

contract.storage[from] = fromvalue - valuecontract.storage[to] = contract.storage[to] + value

0.0001 ether

0.0001 ether

0.0001 ether

0.0001 ether

:Gas cost

0.0005 ether * N bytes

Page 25: Ethereum project

Into The Future

Act - 2

Page 26: Ethereum project

Web 2.0

Page 27: Ethereum project
Page 28: Ethereum project

How it can be?

Page 29: Ethereum project

Ethereum - Agreements & relationships

Swarm - Publication & distribution

Whisper - Messaging & bulletins

Page 30: Ethereum project

Swarm More agile - Peer-steering & adaption More secure - Encryption, possibly

onion routing Better incentivisation - Zero-trust logging

of contributions

Page 31: Ethereum project

Whisper• Messaging - Think UDP• Transient publicationThink broadcast

• Configurable TTL - Not strictly async or sync

Page 32: Ethereum project
Page 33: Ethereum project

ÐApp – distributed application

Page 34: Ethereum project

etp://anydappurl

Page 35: Ethereum project
Page 36: Ethereum project

Example: Marketplace

Page 37: Ethereum project
Page 38: Ethereum project
Page 39: Ethereum project
Page 40: Ethereum project
Page 41: Ethereum project

So , what we are going to get ?

Page 42: Ethereum project
Page 43: Ethereum project
Page 44: Ethereum project
Page 45: Ethereum project
Page 46: Ethereum project

Web 3.0 ?

Page 47: Ethereum project

EthereumJ