前言
Notes and Further Reading
History
Bitcoin As A State Transition System
Mining
Merkle Trees
Alternative Blockchain Applications
Scripting
APPLY(S,TX) -> S' or ERROR
APPLY({ Alice: $50, Bob: $50 },"send $20 from Alice to Bob") = { Alice: $30, Bob: $70 }
APPLY({ Alice: $50, Bob: $50 },"send $70 from Alice to Bob") = ERROR
密碼學貨幣的帳是一個狀態轉移系統
Ethereum Accounts
Messages and Transactions
Ethereum State Transition Function
Code Execution
Blockchain and Mining
In Ethereum, the state is made up of objects called "accounts", with each account having a 20-byte address and state transitions being direct transfers of value and information between accounts. An Ethereum account contains four fields:
The nonce, a counter used to make sure each transaction can only be processed once
The account's current ether balance
The account's contract code, if present
The account's storage (empty by default)
externally owned accounts, controlled by private keys, andcontract accounts, controlled by their contract code.
Note that "contracts" in Ethereum should not be seen as something that should be "fulfilled" or "complied with"; rather, they are more like "autonomous agents" that live inside of the Ethereum execution environment, always executing a specific piece of code when "poked" by a message or transaction, and having direct control over their own ether balance and their own key/value store to keep track of persistent variables.
Token Systems
Financial derivatives
Identity and Reputation Systems
Decentralized File Storage
Decentralized Autonomous Organizations
Further Applications
Financial
和金融有關的
Semi-financial
和金融有點關的
Not Financial
和金融無關的
自動執行的困難計算問題懸賞
Modified GHOST Implementation
Fees
Computation And Turing-Completeness
Currency And Issuance
Mining Centralization
Scalability