1️⃣ 参考
- 北京大学肖臻老师《区块链技术与应用》 - P14 - ETH概述篇
- P15 - ETH账户篇
 
1️⃣4️⃣ETH概述
① 比特币与以太坊的对比
| 比特币(区块链 1.0) | 以太坊(区块链 2.0) | |
|---|---|---|
| 出块时间 | 大约10 min | 十几秒 | 
| mining puzzle | 计算密集型 | Memory Hard,对内存要求高(ASIC Resistance) | 
| 最小单位 | Satoshi,一聪(中本聪) | Wei(Vitalik Buterin) | 
| 去中心化 | decentralised currency | decentralised contract智能合约(smart contract) | 
| 设计目的 | 通过技术手段来实现取代政府对于货币的职能 | 通过技术手段来实现取代政府对于合约的职能 | 
| 好处 | 区中心化货币( fiat currency)好处:跨国转账 | 区中心的合同有哪些好处? 1) 若合同签署方并非仅来自一个国家,没有统一的司法部门(如:众筹)。保证了每个人都只能按照规则来执行 2)其次就算这个合同的参与方都是在同一个司法管辖权之下的,打官司也很费神 3)使用技术手段保证合同的参与方从一开始就不可能违约 | 
-  未来,以太坊还将会用权益证明( POS,poorf of stake)替代工作量证明(POW,proof of work)
-  此外,并不是所有的合约都可以量化,简单的可以 
② 补充:以太坊坎昆升级后对比
以太坊于2024 年 3 月 13 日完成坎昆升级(一系列旨在提高以太坊可扩展性和降低交易费用的更新),一下是对比
| 特性 | 比特币 | 以太坊 | 以太坊坎昆升级后 | 
|---|---|---|---|
| 主要用途 | 存储价值、支付 | 智能合约平台、去中心化应用 | 智能合约平台、去中心化应用 | 
| 共识机制 | 工作量证明 (PoW) | 工作量证明 (PoW) / 权益证明 (PoS) | 权益证明 (PoS) | 
| 可扩展性 | 每秒约 7 笔交易 | 每秒约 15-30 笔交易 | 每秒数百至数千笔交易 | 
| 交易费用 | 相对较高 | 相对较高 | 相对较低 | 
| 总供应量 | 2100 万枚 | 无限(取决于网络状况) | 无限(取决于网络状况) | 
| 智能合约 | 不支持 | 支持 | 支持 | 
| 可编程性 | 有限 | 高 | 高 | 
| 应用领域 | 主要用于存储价值和支付 | 金融、游戏、供应链管理等 | 金融、游戏、供应链管理等 | 
| 坎昆升级亮点 | 无 | 降低交易费用、提高吞吐量 | 降低交易费用、提高吞吐量、改善用户体验 | 
1️⃣5️⃣ ETH账户
① 与比特币的转账对比

| 比特币系统 | 以太坊系统 | |
|---|---|---|
| 特点 | 基于交易的账本,系统中并未显示记录账户有多少钱,只能通过UTXO进行推算 | 基于账户的账本( account-based ledger) | 
| 优点 | 隐私保护 | 天然的防御了双花问题(double spending attack)(你花两次就扣两次) 【花钱的人不诚实,以前花的又想再花一遍】 | 
| 缺点 | A转给B钱的时候,需要说明币的来源。实际中(在银行)存钱需要说明来源,花钱不用 | 重放攻击(reply attack)(A向B转账,过一段时间,B将A的交易重新发布,从而导致A账户被扣钱两次) 【收钱的人不诚实,收过想再收一次】 | 
- 怎么解决重放攻击 ?
- 账户:为了防范重放攻击,给账户交易添加计数器(
nonce)记录该账户交易过多少次,转账时候将转账次数计入交易的内容中。- 系统中全节点: 维护账户余额和该计数器的交易数,从而防止本地篡改余额或进行重放攻击。
② 以太坊账户分类
| 外部账户( externally owned account) | 合约账户( smart contract account) | |
|---|---|---|
| 属性 | 1. 账户余额 balance2. 计数器 nonce | 1. 账户余额 balance2. 计数器 nonce(调用另外合约的次数)3. 代码 code4. 相关状态-存储 storage | 
| 特点 | 1. 通过公私钥对控制 2. 所以交易只能由外部账户发起 | 1. 不通过公私钥对控制 2. 不能主动发起交易,只能接收到外部账户调用后才能发起交易或调用其他合约账户 | 
- 为什么要设计基于账户的模型?
- 以太坊是为了支持智能合约,对于合约账户来说,需要保持稳定状态。