文章

Web 3 学习笔记 2 | 以太坊学习

什么是以太坊

以太坊是一个去中心化的区块链平台,允许开发者创建智能合约和去中心化应用(DApps)。与比特币不同,以太坊不仅处理交易,还支持复杂的应用。以太坊由 Vitalik Buterin 提出,并于2015年启动。

以太坊通过智能合约使得去中心化应用的开发成为可能,涵盖从金融到游戏等多个领域。以太坊的原生加密货币是以太币(ETH),用于支付交易费用(Gas)。

以太坊与比特币的比较

  • 比特币:主要用于点对点支付。

  • 以太坊:支持智能合约和去中心化应用,提供更广泛的功能。

以太坊架构

账户模型

以太坊中有两种账户类型:

  1. 外部拥有账户(EOAs):由私钥控制,用户可以发送交易、转移ETH或与智能合约互动。

  2. 合约账户:由智能合约代码控制,接收消息时自动执行合约代码。

账户有以下字段:

  • Nonce:交易计数器。

  • Balance:账户中的ETH数量。

  • CodeHash:合约账户的代码哈希。

  • StorageRoot:账户存储的根哈希。

状态与数据存储

以太坊被视为一个分布式“状态机”,每笔交易都会改变网络状态。数据存储通过三棵Merkle Patricia Trie(MPT)树:

  1. 世界状态树:存储所有账户信息。

  2. 交易树:记录交易信息。

  3. 回执树:记录交易执行结果。

交易

什么是交易?

交易是以太坊网络中执行操作的基本单位,包括:

  • from:发送者地址。

  • to:接收地址。

  • nonce:交易计数器。

  • value:转移的ETH数量。

  • gasLimit:最大可消耗的Gas。

  • input data:任意附加数据。

交易生命周期

  1. 创建与签名:用户创建并签署交易。

  2. 广播:交易被广播到网络。

  3. 打包与验证:矿工选择并验证交易,打包进区块。

  4. 执行:交易被执行,如转账或智能合约调用。

  5. 确认:随着区块链扩展,交易变得不可更改。

燃料(Gas)

交易执行需要消耗 Gas,用户通过设置 Gas Limit 和 Gas Price 来控制交易费用。

Ether

定义

Ether(ETH)是以太坊的原生资产,用于支付交易费用和执行智能合约。它的最小单位是Wei(1 ETH = 1e+18 Wei)。

产生方式

  1. 初始分配:通过ICO分配给投资者。

  2. 区块奖励:通过矿工验证交易获得(在PoW机制下)。

  3. 质押奖励:在PoS机制下,验证者通过质押ETH获得奖励。

  4. 交易费用和燃烧:EIP-1559提案实施后,部分交易费用被销毁。

Ether的意义

  • 经济意义:支持DeFi和其他金融服务。

  • 技术意义:激励矿工和验证者,确保网络安全。

智能合约与EVM

智能合约

智能合约是自动执行、控制或文档化法律或逻辑行为的代码。它像自动售货机一样工作,用户通过支付 Gas 执行合约。

EVM(以太坊虚拟机)

EVM 是以太坊的执行环境,确保智能合约在全球任何地方的节点上执行一致。合约被编译成EVM字节码并在以太坊网络中执行。

智能合约的运行机制

  1. 编写与编译:开发者用Solidity编写合约,并将其编译为字节码。

  2. 部署:字节码通过交易发送到以太坊网络。

  3. 执行:用户或合约调用触发执行。

  4. 状态变更:合约执行后会修改全球状态。

示例代码(Solidity)

pragma solidity ^0.8.0;

contract HelloWorld {

    string public greeting = "Hello, World!";

    function setGreeting(string memory _greeting) public {

        greeting = _greeting;

    }

    function getGreeting() public view returns (string memory) {

        return greeting;

    }

}

共识机制

以太坊使用共识机制来决定区块的生成和验证。

工作量证明(PoW)

PoW依赖矿工通过解决数学难题来验证交易,并获得ETH奖励。

权益证明(PoS)

PoS选择验证者基于他们所质押的ETH来生成区块,并获得奖励。验证者质押的ETH若有失信行为会被销毁。

总结

以太坊不仅仅是一个区块链平台,它为去中心化应用的开发提供了强大的支持。通过智能合约,开发者能够创建各种自动执行的应用场景,从金融到治理等领域都可以得到广泛的应用。以太坊的核心组件包括交易机制、Gas费、Ether的产生与应用以及智能合约的执行环境(EVM)。随着以太坊从工作量证明(PoW)向权益证明(PoS)的过渡,其网络的效率和安全性将进一步得到提升。

以太坊的去中心化特性,使其成为实现区块链应用的基础设施,并引领着去中心化金融(DeFi)、NFT、DAO等创新领域的发展。通过深入了解以太坊的工作原理和技术架构,能够帮助开发者和学习者更好地理解和应用这一平台的潜力。

希望这篇分享能为你带来启发!如果你有任何问题或建议,欢迎在评论区留言,与我共同交流探讨。

License:  CC BY 4.0