“以太坊是一个具备确定性但实际上却没有边际的状态机。它有两个特点:具有一个全球范围可访问的单体状态;还有一个执行状态更改的虚拟机”
“以太坊是一个开源的、全球去中心化的计算基础架构,可以执行称为智能合约的程序”
即一个通用的去中心化的计算框架。
以太坊的诞生背景
“比特币对数据存储的类型和规模有特殊的要求,这些要求限制了在比特币之上作为第二层解决方案可以运行的应用的类型”
“以太坊背后的思想:一个图灵完备的通用目的的区块链”
通用目的的区块链
“可以把比特币看作一个分布式的共识状态机,交易导致一次全局范围的状态转换,改变了比特币的所有权。状态转换受共识规则所限,在若干个区块被挖矿之后,允许所有的参与方(最终)对系统的状态达成一致的共识。”
“以太坊跟踪的是一个通用目的的数据存储的状态转变。通用目的的意思是任何可以表示为键值元组的数据”
组件
- P2P 网络
- 共识规则
- 交易
- 状态机 : “以太坊的状态转换由以太坊虚拟机(EVM)处理,这是一个基于栈的虚拟机,执行 bytecode(字节码指令)。被称为“智能合约”的EVM程序采用高级语言(例如Solidity)编写,并编译为通过EVM执行的字节码。”
- 数据结构
- 共识算法:“以太坊的状态转换由以太坊虚拟机(EVM)处理,这是一个基于栈的虚拟机,执行bytecode(字节码指令)。被称为“智能合约”的EVM程序采用高级语言(例如Solidity)编写,并编译为通过EVM执行的字节码。”
- 经济安全性
- 客户端
图灵完备
“以太坊能够执行存储在区块链之上的程序的能力,是由被称为EVM的状态机完成的。能够从存储中读取和写入数据让这个状态机成为图灵完备的系统,也就是满足通用图灵机的定义”
“在公共区块链等开放式访问系统中,图灵完备是非常危险的”
“以太坊是图灵完备的事实意味着任何复杂程序都可以由以太坊计算。但这种灵活性带来了一些棘手的安全和资源管理问题。陷入死循环的打印机可以关闭并再次打开,但是这对于公共区块链却是不可能的”
“为了应对这个挑战,以太坊引入了名为gas的计量机制”
DAPP
以太坊开启了通用目的区块链用于构建多种应用的道路。很快,以太坊的愿景扩展为用于去中心化应用(DApp)的编程平台。DApp代表了更为广泛的“智能合约”。一个DApp只需要包括一个智能合约和一个Web用户界面。
更广泛地说,DApp是一个构建于开放的、去中心化的、点对点的基础设施之上的Web应用程序。