以太坊
以太坊通过建立终极的抽象的基础层,内置有图灵完备编程语言的区块链,使得任何人都能够创建合约和去中心化应用,并在其中设立他们自由定义的所有权规则、交易方式和状态转换函数。
以太坊虚拟机(EVM)是以太坊中智能合约的运行环境。它不仅被沙箱封装起来,事实上它被完全隔离,也就是说运行在 EVM 内部的代码,不能接触到网络、文件系统或者其他进程。甚至智能合约与其他智能合约只有有限的接触。EVM, Ethereum Virtual Machine.
智能合约
智能合约是通过去中心化的方式来执行的一系列指令,在这些指令执行中,并不需要中心化或者第三方的中介。智能合约也是约定多个参与方的一系列指令。不同的是,传统的合同是写通过笔写在纸上,或者通过 word 把内容打进去。而智能合约是代码编写的。并且嵌入到一个去中心化的区块链平台。当这个合约或者这组指令被部署之后,就不能改变。它会自动执行,每个人都能看到合约的条款。去中心化的方式运行,就像一群人运行了某个软件。
以太坊和比特币最大的不同点就是智能合约。从技术上讲,比特币是有智能合约的,但是比特币不是图灵完备的,也就是比特币不能执行一个编程预言的所有指令。
比特币开发者想把比特币作为价值存储,而以太坊的开发者,除了把以太坊看作价值存储以外,还把它当成一个运行去中心化合约的平台。
以太坊账户
- 随机数,用于确定每笔交易只能被处理一次的计数器,参与生成交易的 id
- 账户目前的以太币余额,以太币(Ether)是以太坊内部的主要加密燃料,用于支付交易费用。以太币的最小单位为 Wei,最大单位为以太。1 Ether = 10^18 Wei
- 账户的合约代码,如果有的话
- 账户的存储(默认为空)
交易
交易包含的以下内容
- 消息的接收者地址
- 用于确认发送者的签名
- 要发送的以太币的数量
- 可选的数据(合约的参数)
- GasLimit:用来限制合约最多执行多少次运算
- GasPrice:每次计算需要支付的费用