核心概念
基于比特币网络的核心思想,以太坊项目提出了许多创新的技术概念,包括智能合约、基于账户的交易、以太币和燃料等。
一、智能合约
以太坊支持通过图灵完备的高级语言(包括 Solidity、Serpent、Viper)等来开发智能合约。智能合约作为运行在以太坊虚拟机(Ethereum Virtual Machine,EVM)中的应用,可以接受来自外部的交易请求和事件,通过触发运行提前编写好的代码逻辑,进一步生成新的交易和事件,可以进一步调用其它智能合约。
智能合约的执行结果可能对以太坊网络上的账本状态进行更新。这些修改由于经过了以太坊网络中的共识,一旦确认后无法被伪造和篡改。
智能合约
账户
比特币在设计中并没有账户(Account)的概念,而是采用了 UTXO 模型记录整个系统的状态。任何人都可以通过交易历史来推算出用户的余额信息。而以太坊则采用了不同的做法,直接用账户来记录系统状态。每个账户存储余额信息、智能合约代码和内部数据存储等。以太坊支持在不同的账户之间转移数据,以实现更为复杂的逻辑。
具体来看,以太坊账户分为两种类型:合约账户(Contracts Accounts)和外部账户(Externally Owned Accounts,或 EOA)。
合约账户:存储执行的智能合约代码,只能被外部账户来调用激活;
外部账户:以太币拥有者账户,对应到某公钥。账户包括 nonce、balance、storageRoot、codeHash 等字段,由个人来控制。
当合约账户被调用时,存储其中的智能合约会在矿工处的虚拟机中自动执行,并消耗一定的燃料。燃料通过外部账户中的以太币进行购买。
交易
交易(Transaction),在以太坊中是指从一个账户到另一个账户的消息数据。消息数据可以是以太币或者合约执行参数。
类似比特币网络,在发送交易时,用户需要缴纳一定的交易费用,通过以太币方式进行支付和消耗。目前,以太坊网络可以支持超过比特币网络的交易速率(可以达到每秒几十笔)。
以太坊的交易包括:
发送 ETH(普通转账)。
调用智能合约。
部署智能合约。
以太币
以太币(Ether)是以太坊网络中的货币。
以太币主要用于购买燃料,支付给矿工,以维护以太坊网络运行智能合约的费用。以太币最小单位是 wei,一个以太币等于 10^18 个 wei。
以太币同样可以通过挖矿来生成。成功生成新区块的以太坊矿工可以获得 2 个以太币的奖励,以及包含在区块内的燃料费用和发现叔块(Uncle block)获得的奖励。用户也可以通过交易市场来直接购买以太币。
目前每年大约可以通过挖矿生成超过一千万个以太币,单个以太币的市场价格目前超过 300 美金。
燃料
燃料(Gas),控制某次交易执行指令的上限。每执行一条合约指令会消耗固定的燃料。当某个交易还未执行结束,而燃料消耗完时,合约执行终止并回滚状态。
Gas 可以跟以太币进行兑换。需要注意的是,以太币的价格是波动的,但运行某段智能合约的燃料费用可以是固定的,通过设定 Gas 价格等进行调节。
共识
以太坊已在 2022 年 9 月 完成 The Merge(合并),从 PoW 过渡到 PoS(Proof of Stake):
验证者(Validator)通过质押 ETH 参与出块,而不是依赖计算能力。
提高能效,降低 99.9% 的能源消耗。
更快的交易确认,减少区块出块时间。
挖矿
以太坊的挖矿(Mining)主要指的是在 以太坊 1.0(PoW 时代) 通过计算哈希值来竞争区块的记账权。不过,在 2022 年 9 月 15 日,以太坊完成了 The Merge(合并)升级,全面转向 PoS(权益证明),不再使用 PoW 进行挖矿。2022 年 9 月 15 日,以太坊完成 The Merge(合并),正式从 PoW 过渡到 PoS(Proof of Stake,权益证明):
停止挖矿,矿工无法再通过计算哈希值获得 ETH。
改用质押 ETH 参与验证,以太坊验证者需要 质押 32 ETH 以成为验证者,并获得区块奖励。
网络
- 以太坊的主要网络 以太坊由多个网络组成,主要分为:
2.1 主网(Ethereum Mainnet) 作用:以太坊的正式生产环境,所有交易和智能合约都在主网上真实运行。
特点:
真实资产(ETH)流通,交易需要 Gas 费。
智能合约在主网上部署后不可更改。
适用于正式的去中心化应用(DApps)。
2.2 测试网络(Testnets) 测试网络用于智能合约开发和DApp测试,不会涉及真实资金。常见的测试网络有:
网络名称 共识机制 特点 Goerli PoS 主要的 PoS 测试网,推荐使用 Sepolia PoS 轻量级测试网,适合新项目 Holesky PoS 2023 年推出,取代 Goerli Rinkeby(废弃) PoA 已弃用,曾用于 DApp 开发 Ropsten(废弃) PoW 最早的 PoW 测试网,已停用 📌 测试网 vs 主网
测试网的 ETH 可通过**水龙头(Faucet)**获取,开发者可以免费测试。
主网的 ETH 需要通过交易所购买,具有真实价值。
Layer 2(L2)扩展
以太坊主网的交易处理能力有限(TPS ≈ 15~30),Gas 费较高,因此发展出多种扩展方 - Layer 2 网络通过 Rollups 技术扩展以太坊,减少主网拥堵:
Layer 2 方案 类型 特点 Arbitrum Optimistic Rollup 低 Gas 费,兼容以太坊 Optimism Optimistic Rollup 速度快,支持 EVM zkSync ZK-Rollup 使用零知识证明,提高安全性 StarkNet ZK-Rollup 高吞吐量,独立开发环境 📌 Rollups 原理:
Optimistic Rollup:默认交易有效,只有在争议时才进行计算验证。
ZK-Rollup(零知识证明):所有交易都提前计算并提交证明,提高安全性。