JavaScript required
We’re sorry, but Coda doesn’t work properly without JavaScript enabled.
Skip to content
Gallery
Readings
Book Readings
Writings
个人成长
Tech Learning
Web3 Industry Report
Startup Ideas
Useful Link Cache
More
Share
Explore
以太坊学习
Ethereum Whitepaper
Proof of Work solves two things:
provided a consensus algorithm allowing node to update bitcoin ledger
free(自由的) entry into the consensus process
Bitcoin
Mining
is the only mechanism for bitcoin to be issued, no coins are in the genesis state
to prevent the network from sybil attack (fork the chain and have over 51% of computation resources)
Multi-level data structure
Hash of a block
hash of the block header
timestamp
nonce (random number)
previous block hash
root hash of a merkle tree
Simplified payment verification → light node - download block header and relevant branches
Bitcoin Application
Name coin - first-to-file paradigm - first registerer succeeds and second fails
colored coins - allow users to issue new currencies
metacoins - different state transition functions
Two approaches towards building a consensus protocol
building an independent network → difficult to implement, too small to protect themselves followed the power rule
building a protocol on top of bitcoin → does not inherit the simplified payment verification features of bitcoin
Scripting
facilitate a weak version of a concept of smart contracts
important limitations
lack of turing-completeness → no while loop
value-blindness → UTXO all or nothing
lack of state
blockchain blindness → valuable source of randomness
Ethereum
Ethereum Accounts:
states: nonce, ether balance, contract code, storage
externally owned accounts vs. contract accounts
Transaction
the recipient of the message
a signature identifying the sender
the amount of ether transferred
data field [optional]
STARTGAS - maximum number of steps that transaction execution allowed to take
GASPRICE - unit fee sender pays per computational step
Messages
the sender of the message (implicit)
the recipient of the message
the amount of ether transferred
data field [optional]
STARTGAS - maximum number of steps that transaction execution allowed to take
State Transition Function
validate transaction form
calculate transaction fee
initialize GAS = STARTGAS
transfer the transaction value
revert state changes except payment of fee when execution failed or run out of gas, send the fee to miner
otherwise, refund the fees for remaining gas to the sender, and send consumed gas to miner
Validating block - preserve both state and transaction lists
Application type:
financial, semi-financial, non-financial
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
Ctrl
P
) instead.