以太坊账户是什么?

2025 年 4 月 9 日 | 9 分钟阅读

作为客户之间的电子身份以及智能合约,比特币钱包是以太坊网络的基本组成部分。合约账户和外部拥有账户 (EOA) 构成了以太坊平台的主要两大类别。

以太坊账户:它们是什么?

合约身份和私有控制账户 (EOA) 是与分布式账本通信所需的两种主要以太坊钱包类型。

协议账户由电子协议管理,同时利用代码简化操作,而 EOA 则由秘密密钥监管,用于支付和通信。

讨论了以太坊环境中的特定操作,值是两种账户类型共享的独特属性之一。

以太坊账户类型

以太坊钱包的两种类别如下:

1. 外部拥有账户 (EOA)

EOA 通常由个人或公司持有,并通过私钥进行管理。对于常规的以太坊网络交互,这些资金是必不可少的。

特点

  • 地址:账户在分布式账本中的 42 个字符的十六进制标识符,例如 0x1234567890abcdef。
  • 私钥:用于验证活动和确定账户管理的加密密钥。需要防止未经授权的访问。
  • 余额:持有以太币 (ETH),用于去中心化应用程序 (dApps)、进行操作以及与智能合约通信。
  • Nonce:一个称为 nonce 的计数器记录通过该账户的支付数量。它有助于防止重放攻击,并确保交易以正确的顺序处理。
  • 功能:支持部署新的电子合约、与智能合约通信以及向不同地址发送 ETH。
  • 用例:用于存储和发送以太币的个人钱包。可用于与独立应用程序和组织通信的配置文件。参与以太坊的去中心化银行 (DeFi) 环境。

2. 合约账户

智能合约脚本负责合约账户,而不是使用私钥。它们用于以太坊区块链上以简化复杂的流程和交换。

特点

  • 地址:一个独特的 42 个字符的十六进制整数,作为协议的网络标识符。它类似于 EOA。
  • 智能合约代码:区块链存储决定协议行为的逻辑。协议的功能以及它如何与附加账户通信由该代码设置。
  • 余额:能够存储包括 ETH 在内的代币。协议功能和外部交易可以改变余额。
  • 函数执行:当满足特定要求时,预定函数会自动执行。电子合约的代码定义了这些责任。
  • 状态管理:根据其逻辑,它可以通过存储和管理内部状态数据与不同的合约或 EOA 进行通信。

用例

去中心化应用程序 (dApps) 提供基于以太坊的应用程序的后端功能。

  • 去中心化金融 (DeFi):提供金融服务,如贷款和交易,无需中间人。
  • 代币合约:管理代币操作,并监督可替代(如 ERC-20)或不可替代(如 ERC-721)代币。

基于合约的实体与公共控制账户

以下列出了自由职业账户和持有账户之间的区别。

外部控制账户

1. 控制

由个人的私钥控制。

地址类型

通过 EOA 公钥生成。

2. 交易:立即启动与智能合约或不同账户的支付。

3. 状态管理:它拥有 ETH,可以通过交易改变平衡。

生产

由用户创建新钱包时自动生成。

随机数

使用随机数跟踪交易数量,以避免重复支付。

安全性

受私钥保护;如果密钥丢失或被盗,则会出现漏洞。

例如:

个人钱包(Trust Wallet、MetaMask 等)。

公共控制账户

  1. 控制:受智能协议代码的监管。
  2. 地址类型:在部署智能合约时生成。
  3. 交易:执行由附加协议或 EOA 引起的动作。
    状态管理使用协议存储用于以太坊并保留其内部状态。
  4. 生产:在智能合约的网络部署时生成。
  5. 随机数:无随机数;通过函数语句和合约语义运行。
  6. 安全:安全性取决于协议执行的可靠性以及代码。
  7. 示例:这包括货币协议(如 ERC-20 代币)和 DeFi 协议(如 Compound)。

账户组织

以下是以太坊钱包账户架构的概述:

  1. 地址:以太坊系统内账户的特定识别号。以 0x 开头,42 个字符序列中有 40 个十六进制字母(例如 0x1234567890abcdef)。它用于与智能协议通信以及传输和接收以太坊 (ETH)。
  2. 公钥:用于确定以太坊地址的数字证书对包括通用密钥。一个扩展的十六进制短语是使用秘密密钥创建的。虽然它没有立即保存在账户中,但它用于验证伪造。它有助于账户识别和交易验证。
  3. 私钥:账户的秘密密码,其所有者使用它来签署支付并维护对账户内容的权限。它是一个包含 64 个字符的十六进制字符串。为了阻止未经授权的账户访问,需要对其进行安全维护。使用它来访问账户和签署交易。它不保留在分布式账本上,而是必须由账户所有者正确管理。
  4. 余额:账户中以太币 (ETH) 的数量。以太币的最低单位 Wei(1 ETH = 10^18 Wei)用于表示。一个保存在账户当前状态中的数字代表余额。它确定了有多少 ETH 可用于交易或用于智能合约交易。
  5. 随机数:一个称为随机数的计数设备跟踪发送到该账户的交易数量。该整数是非负的。它防止重放攻击并确保所有交易都以正确的顺序处理。每次后续交易都会增加随机数金额。定义协议账户的逻辑和行为的代码称为协议代码(对于合约账户)。它在服务被调用时运行,并以字节码形式保存在区块链上。它根据智能协议的指定规则自动执行程序和操作。
  6. 存储:一个键值数据库,用于保持高级合约的内部结构完整(对于合约账户)。它排列在一个数据结构中,可以由协议代码访问和写入。保存合约操作所需的永久信息。
  7. 代码哈希(用于合约账户):与智能合约的字节码对应的哈希。哈希为 32 字节。它用于定位和确认区块链的智能合约代码。

在以太坊上建立账户

外部拥有账户 (EOA)

  • 选择钱包:选择具有硬件软件(例如 Ledger 或 MetaMask)的钱包。
  • 配置:设置钱包,创建一个全新的账户,并将恢复短语或机密密钥保存在安全的地方。

协议账户

  • 起草合约:编写您正在创建的智能合约的 Solidity 代码。
  • 部署:使用 Remixes 或 Truffles 等程序将合约引入以太坊网络,确保安装密钥安全。

管理以太坊上的外部控制账户 (EOA)

  • 交易:使用钱包转移或接收 ETH 或代币。
  • 监控:使用区块链浏览器跟踪活动并验证您的当前余额。
  • 安全:如果提供双因素授权,请将其打开以保护您的秘密密钥。

协议账户

  • 互动:要与合约操作通信,请使用 Web3 框架或服务。
  • 监控:使用浏览器或定制仪表板跟踪协议活动和状态。
  • 安全:为修复漏洞,持续审查和升级协议代码。

账户联系人和交易

外部拥有账户 (EOA) 交易

转移 ETH:输入接收方地址和 ETH 金额以启动交易。

方法

  • 创建:指定交易的受益人、数量和任何可选信息。
  • 签署:要验证购买,请使用您的机密密钥。通过广播将授权交易发送到以太坊系统。
  • 确认:在网络确认期间,矿工将其纳入区块。
  • 费用:交易需要 Gas 费用,计算方式为 Gas 成本 x Gas 使用量。请确保您有足够的 ETH 用于此。

使用合约账户进行交易

  • 调用函数:启动包含必要参数的交易以触发智能合约操作的执行。
  • 方法:定义函数:提供相关函数的参数值。
  • 发送:要启动该过程,请提交协议并确认。
  • 事件日志:协议通过发出可查看和跟踪的事件来记录重要操作。

账户隐私和安全

  1. 保护您的私钥:您对使用秘密密钥创建的账户拥有完全控制权。它应该异地安全存放,例如在电子钱包或加密的硬盘备份中。
  2. 避免共享:不要将您的登录信息泄露给任何人。以隐私和保密的方式处理它。
  3. 使用强密码:确保所有电子钱包和服务都使用强大、独一无二的密码进行保护。
  4. 硬件钱包:为提高安全性,请使用硬件钱包(例如 Ledger 或 Trezor)。由于它们离线保存机密信息,因此不易受到在线攻击。
  5. 软件钱包:确保您使用的软件钱包保持最新并来自可靠来源。
  6. 检查地址:在提交订单前仔细检查客户地址,以防止盗窃和错误。
  7. 审查合约:为防止漏洞,在使用或实施智能合约之前,请仔细检查源代码或确认其已彻底审查。

以太坊钱包生命周期

以下是以太坊用户生命周期的摘要:

  1. 生产
    • 外部拥有账户 (EOA):使用命令行工具、硬件钱包和钱包应用程序建立,这些被称为外部拥有账户 (EOA)。该过程的步骤是创建地址以及一对私钥和公钥。
    • 合约账户:这些是在以太坊网络上通过部署分布式智能合约代码创建的。编译后,协议代码作为部署事件传输。
  2. 活跃使用
    • 活跃使用的 EOS:这些用于去中心化应用程序 (dApps)、基于合约的交互以及用于数据传输的以太币 (ETH)。
    • 合约账户:根据双方协议的逻辑执行任务。连接有能力改变其内部条件并触发事件。
  3. 修改
    • EOA:这些可以通过与智能合约链接或改变其当前状态的支付进行更改。为了保持顺序,每次交易都会增加随机数。
    • 合约账户:通过引起变化或改变相关协议状态的动作进行修改。可能需要推出新版本才能升级合约。
  4. 停用
    • EOA:账户如果未使用可能会变为非活跃状态,但不会“停用”。登录信息可能不会被使用,但它仍然存储在区块链上。
    • 合约账户:虽然合约不会被删除,但如果它们被更新版本取代,它们可能会过时。除非明确删除(例如,通过自毁方法),否则协议的代码和状态会保留在分布式账本上。

示例和用例

  1. 个人钱包:人们通过 EOA 归档、发送和接收他们的代币,包括以太币 (ETH)。
  2. 与去中心化应用程序 (dApps) 的交互:EOA 与 dApps 交互以进行一系列活动,包括社交媒体、游戏和交易。
  3. 代币管理:ICO 和其他项目经常使用 ERC-20 代币,其 EOA 保留和管理。
  4. 去中心化金融 (DeFi):通过智能合约自动化金融服务,包括收益农业、融资和银行。
  5. 代币创建和管理:在以太坊网络上,智能合约生成和监督代币。
  6. 供应链管理:为确保效率和透明度,智能合约监控和控制供应链信息。

以太坊账户管理工具

1. 钱包应用程序

软件钱包:MetaMask、Trusted Wallet 和 Exodus 常用于 ETH 和代币管理以及 dApp 交互。

硬件钱包:Ledger 的 Trezor 和 Nano 提供安全的异地私钥存储,并帮助用户处理 ETH 和其他资产。

2. 以太坊客户端

  • 全节点客户端:Geth 和 OpenEthereum 允许用户运行整个节点以进行互联网连接和处理。
  • 轻节点客户端:通过提供以太坊节点独特的API可用性,Infura 和 Alchemy 能够在不要求运行整个节点的情况下在网络之间进行通信。

3. 区块链浏览器

  • Etherscan:使用 Etherscan 查看账户余额、交易数据和智能合约交互。
  • Etherchain:检查区块链数据,例如区块和交易历史记录。

4. 开发接口和交互工具

  • IDE:IDE Remix 和 Truffle Suites 提供智能合约应用程序的开发、评估和部署基础设施。
  • Web3 库:Web3.js 和 Ethers.js 允许网站与运行以太坊和智能合约的节点通信。

总结

总而言之,以太坊账户管理功能对于加密管理投资、使用分布式账本通信和创建应用程序是必要的。虽然 Infura 等客户端简化了网络访问,但 MetaMask 和 Ledger 等钱包管理和保护您的以太币 (ETH) 和货币。投资组合监控器实现财务监控,区块链探索应用程序提供交易知识,以及 Remix IDE 编程工具促进智能合约的创建和实施。正确使用这些工具可以安全、成功和富有洞察力地与以太坊生态系统进行交互。