认识以太坊

· 4574 字 · 10 分钟 · 黄国政
今日思绪

或许是因为早上将最后一份课程论文完成,我好像多出了不少干劲,中午睡了个午觉,下午全程学习 Web3。我的进度应该算是比较慢了,实习手册的阅读进度还停留在「入门导读」部分,今天一个下午的时间都用于理解「以太坊」,包括以太坊的具体含义、内容、结构、核心机制、发展演变以及价值观。但我感受到了一些专注和享受的感觉,可能有一点像是慢慢吸取知识的感觉,至少我真的开始对以太坊有了感性的认识。可能知识的积累真的需要一个过程,这才第二天。

群里的小伙伴们都很活跃,求币、提问题、相互答疑、分享自己整理的资料和输出创作的内容,这些似乎在慢慢影响我——我也想多一些参与到大家的互动之中,但无奈于自己还有很多知识不懂,但昨晚给一个忘记保存笔记的小伙伴分享了用 Typora 记录和迁移笔记的建议,今天下午为一个小伙伴解答了如何查看测试币交易记录的问题。

不过,给我触动最大的是今晚群里大家对共学积分的讨论。有的小伙伴惊叹于第二天已经有人达到了 300 分以上,一位小伙伴说好些任务时间期限是二十多天,应当在后期写才有意义——刷分便失去了学习的意义。来 Web3 不适合带着学生思维,主要还是强调主动贡献优质项目,遇到喜欢的主动研究,即使找不到工作也有收益。前面这些我都能理解,也十分认同,但他还说了一段我听不懂的:「太多十倍的机会了。百倍不好遇到,十倍真的几乎每天都有」。

以太坊是? #

以太坊的内容 #

  • 开源的去中心化区块链平台
  • 基于区块链的去中心化计算平台
  • 原生代币是以太币
  • 构建去中心化应用(Dapps)、去中心化金融(DeFi)、非同质化代币(NFT)等生态系统的基础设施
  • 比特币之后最重要的区块链项目之一:比特币-区块链 1.0 的象征(专注货币属性);以太坊-区块链 2.0 的代表
  • 基于智能合约——存储在区块链的可执行代码,能在满足预设条件时自动执行操作

以太坊的结构 #

生态架构 #

Layer 1(主网)+Layer 2(二层扩展解决方案)+侧链(Sidechains)

  • Layer 1(L1)
    • 以太坊主网:核心区块链,负责最终安全性与共识
    • EVM:以太坊虚拟机,执行智能合约代码
    • 账户系统:外部账户(EOA)与合约账户(CA)共同构成网路基础
  • Layer 2(L2)
    • Rollup:通过将交易批量处理后提交到 L1,以降低 Gas 费
      • Optimistic Rollup:假设交易合法,仅在争议时验证。
      • ZK Rollup:通过零知识证明验证交易,无需链上争议。
  • 侧链:独立运行的链,通过桥梁与主网交互

生态层次 #

  • 扩展层
    • 提升性能和降低成本的解决方案:
      • Layer 2 Rollups:Arbitrum、Optimism、Polygon zkEVM、zkSync Era
      • 侧链:Polygon PoS、xDAI(Gnosis Chain)
      • 状态通道:Lightning Network for Ethereum 应用层
  • 应用层
    • 用户直接交互的应用和界面
      • DeFi 应用:Uniswap(去中心化交易所)、Aave(借贷协议)、Compound(借贷协议)
      • NFT 平台:OpenSea、Foundation、SuperRare
      • 钱包应用:MetaMask、Coinbase Wallet、Rainbow
      • DAO 工具:Snapshot、Aragon、Colony
  • 协议层
    • 以太坊的核心基础设施
      • 共识层客户端:Prysm、Lighthouse、Nimbus、Teku
      • 执行层客户端:Geth、Nethermind、Erigon、Besu
      • 核心协议:EVM、状态管理、Gas 机制

以太坊的核心机制 #

账户系统 + Gas 模型 + 以太坊虚拟机(EVM)

  • 账户系统:数字身份
    • 私钥控制的外部账户(EOA)+ 智能合约代码控制的合约账户(CA)
    • 用户使用外部账户(EOA)与区块链中的其他用户的外部账户(EOA),或者与合约账户(CA)进行交互
    • 外部账户由一对密钥生成,这对密钥包括私钥和公钥
      • 私钥:我们控制账户的钥匙,必须严格保密
      • 公钥:通过加密算法生成一个唯一的地址,可拿来分享给朋友接收转账
    • 合约账户不由私钥控制,而由代码驱动
      • 部署智能合约(如 NTF 市场)后,区块链自动生成一个 CA 地址
      • 合约账户无法主动发起交易,只能通过外部账户触发
    • 账户关键词
      • Nonce:防止重复交易的计数器(EOA 记录发送次数,CA 记录创建合约次数)。
      • 余额:账户持有的 ETH 数量(单位为 Wei)。
      • CodeHash:EOA 为空哈希,CA 存储合约字节码的哈希值。
      • StorageRoot:记录账户数据的 Merkle 树根哈希(如 NFT 归属关系)。
  • Gas 模型
    • 使用 EOA 发起交易,都需要支付 Gas 「燃料费」 [1]

      [1] 我们在第一天的学习中知道,所谓的 Gas 燃料费就是网络服务商(矿工)挖矿后的奖励/工资。 

    • Gas Fee = Gas Limit × Gas Price
      • Gas Limit 是我们最多愿意「烧」的燃料
      • Gas Price 是每单位燃料的钱,用 Gwei 表示,1 Gwei = 0.000000001 ETH。如果网络越拥堵,Gas Price 越高。
    • Gas 存在的目的
      • 激励矿工/验证者,给的 Gas Price 越多,越愿意优先处理
      • 防止资源滥用,如果有人想让合约死循环,Gas 会用光,交易失败,系统不会被拖垮
    • 现在 Gas Price 随着 EIP-1559 的升级分成了两部分,包括基础费用和小费
  • 以太坊虚拟机
    • 代码的执行引擎
    • 用于运行智能合约的虚拟计算机,是以太坊的大脑
    • 运行在每一个节点中,确保整个网络在处理代码时结果都一致,可信任
    • 特点
      • 如真正的电脑一眼,可以执行各种逻辑(如 if 判断、循环)
      • 全球同步,每个节点/矿工都会自己执行一遍合约代码,保证结果一致
      • 隔离安全,合约在特定空间运行,不会被允许随意访问用户的数据和网络

流程:通过 EOA 发起交易 → 交易附带 GAS 参数,矿工/验证者选择打包 → EVM 执行合约代码 → Gas 费用按照 Gas Limit × Gas Price 扣除

以太坊的发展 #

共识机制:以太坊 1.0(PoW 阶段) → 以太坊 2.0 (PoS 阶段) #

我对共识机制的理解是如何决定由谁来打包交易

  1. PoW:工作量证明
  2. 运行原理:区块链是去中心化的,交易信息广播道各节点并被验证后,节点上的网络服务提供商(矿工)一般还要通过计算机算力来获得打包交易权利,成功打包区块的矿工会获得相应的代币奖励(比特币或以太币等)。
  3. 特点:算力能耗大,每秒只能处理 30 笔交易(TPS),速度慢

  1. PoS:权益证明
  2. 运行原理:质押 32 个以太币成为验证者,之后系统随机选择验证者来提议和验证区块,验证者将获得新发行的以太币和交易费用,作恶者质押的 32 个以太币会被销毁——这不正是基于人性的设置吗?从 PoW 到 PoS,代表挖矿者成为持有经济体系的利益,一旦作恶个人的利益首当其冲受到影响。
  3. 特点:能耗降低 99.95%,无需大量算力和硬件,安全度高(PoS 机制决定要篡改账本则需要付出全网 67% 的质押以太币成本)
  4. 背景:以太坊团队创建信标链以运行 PoS,初期,以太坊主网仍是以 PoW 挖矿,两链独立并行,后来进行 The Merge,共识机制插接到信标链的 PoS 系统。以太坊的实际结构也分为两层:1、执行层(相当于原主网,处理交易、智能合约)2、共识层(相当于信标链,管理验证者、确定区块顺序)

Layer 2 → EIP-4844

Layer 2 一般在链下批量处理大量交易,然后定期将交易数据打包到以太坊主网。但 L2 提交数据使用常规交易,成本高昂,引入了专门的 Blob 交易类型,数据存储成本大大降低。

EIP-4844 → ZK-Rollup

ZK-Rollup 在线下一次性处理数百笔交易,生成一个简洁「正确性证明」,以太坊只需验证该证明,无需重新执行所有交易。

数据分片 + Layer 2

以太坊价值观 #

  • 去中心化治理
    • 没有单一的控制者或权威机构
    • 社区通过公开讨论和 EIP(以太坊改进提案)机制共同决策
    • 验证者遍布全球,防止权力集中
  • 无需许可与开放性
    • 任何人都可以使用、开发、部署智能合约
    • 开源代码,透明可审计
    • 无身份、地域、财富限制的参与门槛
  • 抗审查性
    • 交易和智能合约不受政府或机构干预
    • 通过分布式验证确保网络弹性
    • 支持言论自由和经济自由
  • 密码朋克精神
    • 代码即法律:用算法和数学构建信任
    • 密码学保护隐私和自主权
    • 技术驱动的社会变革,而非政治手段
  • 公共物品导向
    • 优先考虑生态系统整体利益
    • 支持开源项目和基础设施建设
    • 通过各种资助计划推动创新
  • 可持续发展理念
    • The Merge 体现了对环境责任的承诺
    • 长期主义思维,注重技术的可持续演进
    • 平衡创新速度与网络稳定性

以太坊与比特币的比较 #

如前所述,比特币是区块链 1.0 的象征,而以太坊被定位为区块链 2.0 的代表,如果要比较区块链 1.0 和 区块链 2.0,可以具体从比特币和以太坊之间的比较开始。

比特币 以太坊
性质、目标、定位 区块链 1.0,去中心化数字货币,强调作为「数字黄金」的存储价值,总量 2100 万 区块链 2.0,去中心化平台,支持智能合约
共识机制 PoW,工作量证明,算力成本 PoS,权益证明
交易速度 每 10 分钟生成一个区块,交易确认慢 区块时间 12 秒,交易确认更快
技术栈 脚本语言有限,仅支持简单的交易验证逻辑 有完备的编程语言,如 Solidity,可开发复杂智能合约
经济模型 总量固定,强调抗通胀属性 供应灵活,通过 EIP-1559 等机制可能呈现通缩趋势

Bruce 讲解 Web3 运行原理 #

Bruce 今晚对 Web3 做了全面的基本介绍,信息量很大,但感觉挺多信息可以和这两天在实习手册上阅读到的信息对应上,有一定的熟悉度。但我想我可能还是需要观看回放来做一个系统和全面的重新梳理,今晚就先写下自己印象最为深刻的——主要是「私钥的重要性」和「Web3 的价值」

不过在此之前,可以从技术的层面来一句话概括:Web3 就是用私钥签名证明你是谁,用共识网络保证账本可信,用智能合约让规则自动执行。对了,Bruce 还分享了一个很有意思的网站,里面以动画的形式来呈现区块链去中心化分布式的运行过程。

私钥很安全,是不可重置的密码,丢了就永远丢了,只能换钱包。区块链不认识我们是谁,只认识谁能签名。大部分资产被盗取,不是链被攻破,而是私钥、助记词泄露。一般来说,私钥都很长也很复杂,因此往往会借助助记词来帮助记忆。

wachi 补充了一段信息:

助记词是钱包,私钥是钱包里个夹层
助记词可以推出很多私钥
私钥推不出助记词

借由 Web3 中私钥的特性,可以联系到 Web3 中的社会学视角 [2]

[2] 经济学视角:激励设计保证安全与可持续(Gas、质押、惩罚);密码学视角:签名、哈希、ZK提供可信基础 

——私钥象征一种个人主权,无需第三方许可即可拥有自己的账户、账号,Web3 追求的是一种去中心化治理和共识的形成,探讨权力的重新分配,关乎于数字资产与权利自我控制、无许可、抗审查、公开可信。关于这一点,有一位同学向 Bruce 老师提问,问的问题也可以说是我这个纯粹小白好奇的,即 Web3 到底想做些什么呢,好像听起来难免有噱头的感觉,要颠覆 Web2.0 吗?或者说就是在金融那一领域比较火,是要炒币?

针对这一问题,Bruce 的回答是 Web3 并不追求颠覆 Web2.0,它更想追求的是提供一个构建未来数字世界的重要基础,比如带来一些以严苛的审查机制和权力垄断特点出名 Web2.0 所缺乏的新机制,解决相关信任问题。比如在亚非拉一些地区的人们无法使用某些货币完成支付,如何让他们可以用到 Web3 的技术完成支付?还有我们的群聊之前由于进行技术讨论也会被封禁,Web3 也是想探索一种可以不被完全控制的方式。

不过需要指出的是,当下 Web3 领域确实分出不同的人,一拨人被称为 Degen,他们投机、炒币、搞噱头发币,而另一拨人则被称为 Regen,他们考虑的是 Web3 的可持续性,到底可以让 Web3 的理念和技术如何落地,做出实际的事情——「选择做什么样的人,选择和什么样的人待在一起」。

Tips:

  • 开源的 Web3 一般不被认为是作恶的。
  • 关于钱包的安全建议:
    • 热钱包:日常高频使用的存放少量资产,不同钱包使用不同的助记词创建
    • 冷钱包:用于储蓄和转账,减少交互和使用
    • 周期性第创建新钱包进行资产转移
    • 很多资深人士的做法是将资产放入硬件钱包,每次需要对外交互的时候,都重新创建一个新钱包,用完即废