Ethereum Project

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 47

thereum Project

Satoshi Experiment
Transparency matters
Independence matters
Anonymity matters
Crypto Economy
?
Ethereum from Data Base to Turing
complete algorithms
from = msg.sender
fromvalue = 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
Blocks
0 1 2 3
4
T
r
a
n
s
a
c
t
i
o
n
s
Bitcoin model
Blocks
2
thereum model
sha3(state) = 27abd3
value + 300
value+300
27abd3
Blocks
0 1 2 3
4
thereum model
27abd3
27abd3
12ffe3 92c4e3
a0c4e2
76a4f1
12ffe3 92c4e3
a0c4e2
76a4f1
from = msg.sender
fromValue = 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.
init:
contract.storage [0xcd2a3d9f938e13cd947ec05abc7fe734df8dd826] = 10000000
code:
// balance manipulation
from = msg.sender
fromvalue = 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
6298968073cd2a3d9f938e13cd947ec05abc7fe734df8dd82
6576049602660003960496000f233600054600053566020
5460006020023560405460016020023560605460605360
20530a0f0f6300000049596060536020530360005357606
053604053560160405357630000004958
1. P2P Message
init:
contract.storage[0xcd2a3d9f938e13cd947ec05abc7fe734df8dd826] = 10000000
1. P2P Message
code: 3360005460005356602054600
storage: cd2a3d9f...= 10000000
code: 3360005460005356602054600
storage: cd2a3d9f...= 10000000
sha3 (state)= 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6
5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6
code:
// balance manipulation
from = msg.sender
fromvalue = 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
code: 3360005460005356602054600
storage: cd2a3d9f...= 10000000
2. P2P Message
code:
// balance manipulation
from = msg.sender
fromvalue = 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
code: 3360005460005356602054600
storage: cd2a3d9f...= 9999100
2. P2P Message
code:
// balance manipulation
from = msg.sender
fromvalue = 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
msg.data = [ 0 ] b9c01591
msg.data = [ 1 ] 900
b9c01591...= 900
code: 3360005460005356602054600
sha3 (state)= 8da764e33cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6
storage: cd2a3d9f...= 9999100
b9c01591...= 900
One minute, what about a coin ?
code:
// balance manipulation
from = msg.sender
fromvalue = 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
0.0001 ether
0.0001 ether
0.0001 ether
0.0001 ether
: Gas cost
0.0005 ether * N bytes
Into The Future
Act - 2
Web 2.0
How it can be?
Ethereum - Agreements & relationships
Swarm - Publication & distribution
Whisper - Messaging & bulletins
Swarm
More agile - Peer-steering & adaption
More secure - Encryption, possibly
onion routing
Better incentivisation - Zero-trust logging
of contributions
Whisper
Messaging - Think UDP
Transient publication
Think broadcast
Configurable TTL - Not strictly async
or sync
App distributed application
etp://anydappurl
Example: Marketplace
So , what we are
going to get ?
Web 3.0 ?
EthereumJ

You might also like