Ethereum project

47
Ξthereum Project

description

Is it possible to make internet to be more open place to provide people with more independence over their own data, Ethereum is doing exactly that, and open the window to future of the internet.

Transcript of Ethereum project

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