27
ethereum ethereum ethereum

Academic Ethereum

Embed Size (px)

Citation preview

ethereumethereum

ethereum

ethereumethereum

Quick Overview

ethereumethereum

Universal transaction ledger

Protocol determines:

order

meaningin terms of state change

ethereumethereum

Arbitrary state stored between transactions

Arbitrary state changes due to transactions

thus

Provides arbitration & enforcement for agreements with arbitrary mechanics

ethereumethereum

Transaction state-transition function

σ' = (σ, T, H)ϒ

Block reward function

σ' = Ω(σ, B)

Block state transition funtion

σ' = Π(σ, B)

where

B = (H, (T[0], T[1], …), U)

Π(σ, B) = Ω( ( (σ, T[0], H), T[1], H), B)ϒ ϒ

ethereumethereum

What?

ethereumethereum

Address: public key (-ish)

System stores an account per address:

value

transaction count

state

code

ethereumethereum

Accounts

Create with codeNo private key (arbitrary public deterministically) chosen;

Thus no external access.

Create through sending fundsPossibility of private key (public assumed to be derived);

Full external access; no code possible.

ethereumethereum

Transaction state-transition (σ, T, H)ϒ

Resultant state depends on T type;

Creation or Message

ethereumethereum

Creation used to create account with associated code.

Message transfers value & invokes associated code.

ethereumethereum

Code execution:

Turing-complete instruction set machine;

stack-based architecture, with memory.

Code in separate ROM; and...

arbitrary-sized storage.

ethereumethereum

No I/O, but...

Instructions to make messages or create

ethereumethereum

Message Invokation

Runs code in fresh instance of machine

Runs with contract's existing state

Passed byte-array input & can return output.

ethereumethereum

Creation

Creates a new contract

Runs initialisation code which returns the machine's code ROM

ethereumethereum

VM Execution fully deterministic

Only I/O is invokation & creation

ethereumethereum

How?

ethereumethereum

Peer-network that shares:

Blocks

Transactions

ethereumethereum

Transactions:

Cryptographically signed

Either create (includes init code);or message (includes destination & input data)

ethereumethereum

Blocks:

Includes parent block's hash

Series of transactions

Includes cryptographic proof-of-work

Author takes a reward

ethereumethereum

Block-tree forms from blocks

“GHOST” protocol:

Reduced to block-chain as the root-leaf that required greatest computation (sum of

proof-of-work, including immediate relatives)

ethereumethereum

Consensus state is the final state of the canonical block chain

ethereumethereum

Why?

ethereumethereum

Decentralised zero-trust or distributed-trust systems.

In short

Crypto-Law.

ethereumethereum

Useful abstraction platform for:

Virtual currencies (Bitcoin)

Digital proxy currencies (CFD, 'Goldcoin')

Financial instruments (Cons. Tape, Mastercoin)

Registrars (ICANN, Namecoin)

ethereumethereum

Reputation systems (Facebook, eBay)

Voting systems

DAOs

ethereumethereum

Limitations

Scalability all nodes evaluate all transactions, store all state

Public impossible to work with secrets

ethereumethereum

Future

Add:

decentralised publication & distribution,

diffuse, secure messaging:

Post-Snowden Web;Web 3.0