Ethereum project
-
Upload
roman-mandeleil -
Category
Documents
-
view
208 -
download
9
description
Transcript of Ethereum project
Ξthereum Project
Satoshi Experiment
Transparency matters
Independence matters
Anonymity matters
Crypto Economy
?
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
Blocks
0 1 2 3 4
Tra
nsactions
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.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.
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
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 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
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
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
code: 3360005460005356602054600 …
sha3 (state)= 8da764e33cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6
storage: cd2a3d9f...= 9999100
b9c01591...= 900
One minute, what about a coin ?
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
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 publicationThink 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