web3常见术语
RPC
RPC = Remote Procedure Call,即“远程过程调用”。
简单来说,就是一个程序(或客户端)可以像调用本地函数/方法一样,向远 端服务器节点(或服务)发出请求,让对方执行某个过程(procedure/方法/函 数),并返回结果。客户端自己并不关心这个过程实际运行在哪台机器或在什么 网络之中。
在区块链里的含义与作用:
在区块链生态中,RPC 通常指 区块链节点提供的一种接口,供应用程序 (比如钱包、dApp、区块浏览器等)远程调用。通过这种接口,应用可以:
• 查询区块、交易、账户余额、智能合约状态等数据;
• 提交新的事务到网络;
• 调用智能合约的方法;
• 监测交易确认状态等。
节点(RPC 点)或 RPC 服务商就提供这些接口和 endpoint。应用端只 需要知道这个 endpoint 地址,以及支持的 RPC 方法,就能与区块链交互,而 不需要每个应用都自己运行完整节点。
开发者或机构运行全节点的必要性?这个问题可以直接记成一句话: 谁在给你的 dApp 喂数据,谁就在“半控”你的安全和用户。 自己跑全节 点 = 不求人 + 更安全 + 更隐私 + 更去中心化。
以太坊节点与客户端软件
一、 基础概念
-
节点 (Node): 任何运行以太坊客户端软件并连接到网络的计算机。
-
客户端 (Client): 协议的具体软件实现,负责验证数据、同步区块、维护网络安全。
二、 客户端架构(The Merge 后)
自 The Merge 升级后,以太坊节点架构从单体转变为模块化。一个完整的节点必须同时运行执行层和共识层客户端。
1. 执行客户端 (Execution Client, EL) —— “干活的书记员”
-
旧称: Eth1 客户端
-
核心职责: 处理链上的业务逻辑与状态。
-
监听交易与区块广播。
-
在 EVM 中执行交易和智能合约。
-
维护世界状态(World State):账户余额、合约存储等。
-
对外接口: 提供 JSON-RPC (
eth_*) 供 dApp、钱包调用。
-
-
常用软件: Geth, Nethermind, Besu, Erigon, Reth。
2. 共识客户端 (Consensus Client, CL) —— “裁决的法官”
-
旧称: Eth2 客户端 / 信标链客户端
-
核心职责: 负责 PoS 共识。
-
维护信标链(Beacon Chain)视图。
-
执行 Fork Choice Rule (如 LMD-GHOST) 选择主链。
-
将执行客户端处理好的数据(Payload)打包或验证。
-
类比: 法官根据书记员(EL)的案卷,裁定区块是否合法。
-
-
常用软件: Lighthouse, Prysm, Teku, Nimbus, Lodestar。
3. 验证者客户端 (Validator) —— “陪审团代表”
-
定位: 共识客户端的“插件”或独立进程(可选)。
-
核心职责: 参与出块与质押(Staking)。
-
管理验证者私钥。
-
提议 (Propose): 轮到自己时,提议新区块。
-
投票 (Attest): 对看到的区块进行投票。
-
-
注意: 仅在需要质押 ETH 赚取收益时运行。
三、 节点类型(按数据存储与用途区分)
根据数据保留策略和同步方式的不同,节点分为三类。
1. 全节点 (Full Node)
-
定义: 保存当前状态 + 全部区块数据(但修剪历史状态)。
-
数据策略:
-
从创世块(或可信快照)开始验证。
-
保存所有区块头和区块体(交易记录)。
-
State Pruning (修剪): 只保留最近约 128 个区块的完整状态,旧状态被修剪以节省空间。
-
-
能力:
-
独立验证链的合法性(不求人)。
-
作为 dApp/钱包的自托管入口。
-
-
局限: 无法快速查询很久以前的某个具体状态(如:查询 3 年前某区块高度的
mapping值需重放计算)。
2. 归档节点 (Archive Node)
-
定义: 禁用修剪的全节点(全节点 + 所有历史状态)。
-
数据策略:
-
保存从创世至今每一个区块高度的完整状态树。
-
体量巨大: 需 TB 级存储。
-
-
能力:
- “国家档案馆”:可毫秒级查询历史上任何时刻的合约存储、余额。
-
适用场景:
-
区块浏览器 (Etherscan)。
-
安全分析/溯源: 调试历史攻击交易,复现当时的状态。
-
链上数据分析机构 (Dune, Nansen)。
-
3. 轻节点 (Light Node)
-
定义: 只存区块头 (Block Headers)。
-
数据策略:
-
不存交易体,不存状态树。
-
按需获取: 利用 Merkle Proof 向全节点请求具体数据并验证。
-
同步委员会 (Sync Committee): PoS 特性,通过验证 512 个签名快速追踪链头。
-
-
能力:
-
极低资源消耗(手机、浏览器插件可运行)。
-
最小化信任: 依然具备数学上的可验证性,不需要完全信任数据提供方。
-
-
局限: 不参与共识,严重依赖全节点提供数据服务。

ENS (Ethereum Name Service)
1. 什么是 ENS?
ENS(以太坊域名服务)类似于互联网中的 DNS(域名系统)。
- 核心功能:它将冗长、难以记忆的以太坊地址(如
0xae9459...)映射为人类可读的名称(如sanfordstout.eth),。 - 类比:就像我们访问网站时输入
google.com而不是 IP 地址142.250.190.46一样,ENS 让用户可以通过简单的名称来发送交易或识别身份,而不必复制粘贴复杂的哈希地址,。
2. ENS 的本质与特性
- 它是 NFT (ERC-721):
- 注册的 ENS 域名本质上是一个 NFT(非同质化代币),遵循 ERC-721 标准,,。
- 所有权即控制权:拥有该 NFT 的钱包地址即拥有该域名的控制权。如果你将 ENS NFT 发送给别人,接收者将获得该域名的所有权并能控制其解析指向,。
- 唯一性:每个 ENS 域名都有一个唯一的 Token ID。
- Web3 的跨平台身份:
- ENS 不仅仅是地址的别名,它代表了你在 Web3 世界的 通用身份。
- 身份随行:当你登录不同的去中心化应用(如 OpenSea, Uniswap, Zapper)时,这些应用会自动识别并显示你的 ENS 名称,而不是冷冰冰的地址。你的身份、声誉和库存(Inventory)会跟随你的域名在不同服务间流转,,。
3. 注册机制 (Commit-Reveal 模式)
为了防止恶意抢注(Front-running),ENS 的注册过程设计了独特的 "Commit-Reveal"(提交-揭示) 机制,需要两笔交易,:
- Commit (提交):
- 用户首先向智能合约发送一个“提交”交易。这笔交易包含你想要注册的名字的哈希值(即承诺),但不会公开具体名字,。
- 目的:防止有人在内存池(Mempool)中看到你想注册的名字后,通过提高 Gas 费来抢先打包交易从而窃取该域名。
- 等待期:
- 提交后需要等待大约 1分钟。这是一种防止恶意干扰的博弈机制,。
- Reveal (揭示/注册):
- 等待期结束后,发送第二笔交易“揭示”名字并正式注册。这笔交易会生成 NFT 并完成注册流程,。
4. 反向解析 (Reverse Record)
- 定义:正向解析是“名字 -> 地址”,而反向解析是“地址 -> 名字”。
- 作用:当你连接钱包到 DApp 时,应用只知道你的
0x...地址。为了让应用显示你的 ENS 名称(例如在右上角显示sanfordstout.eth),你必须设置反向记录。 - 操作:这需要从该地址发起一笔单独的交易,声明“这个地址对应的主要名称是这个 ENS”。只有地址的拥有者才能设置其反向记录,这保证了身份的真实性。
5. 高级功能与应用
- 子域名 (Subdomains):
- 拥有一个主域名后,你可以创建子域名(例如
game.eda.eth或punk.austingriffith.eth)。这类似于传统的 DNS 子域名结构。 - 这对于组织或多钱包管理非常有用(例如用子域名区分不同的钱包用途)。
- 拥有一个主域名后,你可以创建子域名(例如
- 简化转账体验:
- 用户在转账时只需输入对方的 ENS 名称,钱包会自动解析出对应的以太坊地址,极大地降低了转错账的风险并提升了用户体验。
6. 局限性与注意事项
- 女巫攻击 (Sybil Resistance):虽然有数十万个 ENS 持有者,但这并不代表有数十万个真实人类用户。一个人可以创建无数个地址并注册无数个 ENS,因此 ENS 数量不等于用户数量,。
- 审查与索引:虽然 ENS 是去中心化的标准,但部分 Web2 或 Web3 平台(如某些 NFT 市场)可能因为索引问题或主观选择,不一定能完美支持或显示 ENS 名称,。
NFT (Non-Fungible Token)
、

1. 本质与定义:ERC-20 vs. ERC-721
NFT 代表非同质化代币,理解它的最好方式是与同质化代币(Fungible Token)进行对比:
- 同质化代币 (ERC-20):类似于货币、黄金或石油。
- 记录方式:智能合约通过一个巨大的数组来追踪余额(Balance)。
- 特性:所有的代币都是一样的。如果我有 100 个币,转给你 50 个,剩下的 50 个与转走的 50 个没有任何区别,它们混在一起。
- 非同质化代币 (ERC-721):类似于棒球卡或独特的收藏品。
- 记录方式:智能合约追踪的是“谁拥有哪一个特定的 ID”。例如,合约记录“Token #1 属于 Alice”。
- 特性:每个代币都有唯一的元数据(Metadata)和属性,无法互换。
2. 核心特性 (Key Characteristics)
A. 链上来源与真实性 (On-Chain Provenance)
- 数字所有权:NFT 提供了数字资产的所有权证明。
- 防伪:艺术家铸造(Mint)一个系列后,所有人都能在链上看到该系列是由特定艺术家的合约创建的。即使有人复制了图片并重新铸造(“Knockoff”),市场和区块链也能轻易识别出它并非来自原始合约,因此没有价值。
- 数字稀缺性 (Digital Scarcity):艺术家在合约中设定供应上限(如 10,000 个 Punk)。一旦达到上限,代码层面保证了无法再增发,从而创造了稀缺性。
B. 元数据与存储 (Metadata & Storage)
NFT 的核心是 Token URI,它指向描述该 NFT 的元数据(通常是一个 JSON 文件,包含名称、图像链接、属性等)。存储方式主要有两种:
- IPFS (去中心化存储):
- 内容寻址 (Content Addressable):IPFS 通过内容的哈希值来生成地址。如果图像或元数据发生任何变化(例如从 Buffalo 变成 Bison),其哈希地址也会改变。
- 不可篡改性:这保证了你购买的 NFT 元数据是不可变的。如果链接指向 IPFS,你可以确信内容不会被偷偷替换。
- 链上渲染 (On-Chain SVG):
- 少数 NFT(如 Loogies)不依赖外部存储,而是直接将图像数据(SVG代码)和颜色逻辑写在智能合约里。
- 特性:虽然 Gas 费昂贵,但它是最持久的存在形式,只要以太坊存在,图像就存在。这也被视为一种技术上的“炫耀(Flex)”。
- Web服务器 (风险提示):
- 如果 NFT 指向的是中心化的 Web 服务器,控制者可以随时更换图片或关闭服务器(“Rug Pull”),导致你拥有的 NFT 变成空白或毫无价值的东西。
C. 可组合性与效用 (Composability & Utility)
NFT 不仅仅是图片,它们可以拥有丰富的功能:
- 属性 (Properties):NFT 可以包含稀有度不同的属性(如“圆顶”、“撕裂”等),这些属性可以被市场过滤和定价。
- 门控与权限 (Token Gating):拥有特定的 NFT 可以作为进入聊天室、参与投票或参加现实世界会议的“门票”。
- 游戏道具:NFT 可以是游戏中的马、鸡或武器。由于所有权在链上,游戏开发者无法随意拿走你的道具,你甚至可以在不同的游戏或应用中使用同一个 NFT。
3. 创作者经济 (Creator Economy)
- 去中介化:NFT 允许创作者直接与粉丝连接,无需经过 Spotify 或画廊等中间商,直接变现“超级粉丝”的支持。
- 版税 (Royalties):创作者可以在智能合约中编写逻辑(如荷兰式拍卖或转账逻辑),确保在二级市场交易时,每一笔销售的一定比例(如 10%)自动发送给原艺术家。
4. 跨平台身份 (Interoperability)
- 身份随行:你的 NFT 是你 Web3 身份和库存(Inventory)的一部分。无论你登录 OpenSea、Zapper 还是 Rarible,这些应用都会识别出你钱包中持有的 NFT。
- ENS 也是 NFT:以太坊域名(ENS)本质上也是一个符合 ERC-721 标准的 NFT,它既是你的名字,也是可以交易的资产。
IPFS (InterPlanetary File System)
1. 什么是 IPFS?
IPFS 是一个点对点(Peer-to-Peer)的分布式文件存储网络。
- 核心定义:它不是区块链,而是一个存储层(Storage Layer)。
- 网络结构:数据不存储在单一的中心化服务器上,而是分布在网络中连接的用户计算机(节点)上。这利用了去中心化的激励机制,鼓励人们在网络中存储和共享信息。
2. 核心机制:内容寻址 (Content Addressing)
这是 IPFS 最本质的特性,区别于 Web2 的“位置寻址”。
- 位置 vs. 内容:
- Web2 (HTTP):基于位置寻找文件(“数据在哪里?” 例如
google.com/image.jpg)。如果服务器关闭或文件被替换,链接就会失效或指向错误内容,。 - Web3 (IPFS):基于内容寻找文件(“数据是什么?”)。系统根据文件内容生成唯一的哈希值(Hash)作为地址。
- Web2 (HTTP):基于位置寻找文件(“数据在哪里?” 例如
- 哈希即地址:
- 唯一性:任何两个相同的文件都会生成完全相同的哈希(去重)。
- 敏感性:如果你修改了文件中的任何一点内容(例如将元数据中的 "Buffalo" 改为 "Bison"),哪怕只是一个字母,生成的哈希地址也会完全改变(例如从
h91d变为xcxq)。
3. IPFS 与 区块链 (NFT) 的关系
为了形象理解两者的分工,我们可以使用“购物小票与仓库”的比喻:
A. 形象比喻
- 区块链 (智能合约) = 购物小票/所有权证书,
- 作用:昂贵的、不可篡改的记账本。它记录“谁拥有什么”(例如:“Alice 拥有 Token #1”)。
- 特点:存储数据非常昂贵,只存最关键的“指针”或“收据”。
- IPFS = 去中心化仓库
- 作用:便宜的、防篡改的存储柜。它保存“那个东西具体是什么”(图像文件、元数据 JSON)。
- 特点:通过“内容寻址”保证货物没被调包。如果有人修改了图片,哈希地址就变了,与区块链小票上的地址就不匹配了。
B. 技术流程 (Token URI)
在 NFT 项目中,数据流通常如下,,:
- 智能合约:存储 Token ID 和
tokenURI函数。 - tokenURI:返回一个指向 IPFS 的哈希链接(如
ipfs://Qm...)。 - 元数据 (Metadata):该链接指向 IPFS 上的一份 JSON 文件,里面描述了 NFT 的名称、属性(Attributes)。
- 图像数据:JSON 文件中包含另一个 IPFS 链接,指向实际的图片文件。
4. 为什么 NFT 需要 IPFS?(防止 Rug Pull)
- Web2 服务器的风险:如果 NFT 的元数据存储在中心化服务器上,管理员可以在后台悄悄替换图片,或者因为不想维护服务器而关闭它。这被称为 "Rug Pull"(卷地毯/跑路),导致你手里的 NFT 变成空白或毫无价值的东西,。
- IPFS 的不可篡改性 (Immutability):由于内容寻址的特性,只要合约指向特定的 IPFS 哈希,你就可以确信该链接指向的内容永远不会改变。这是 Web3 数字资产真实性的重要保障,。
5. 局限性:Pinning (数据持久化)
虽然 IPFS 是去中心化的,但数据不会自动永久保存。
- 存储原理:数据实际上是存储在节点的硬盘上的。如果没有节点(人或服务器)愿意“托管”(Host)特定的数据,它可能会从网络中消失。
- Pinning 服务:为了防止数据丢失,必须进行 "Pinning"(固定) 操作,即明确告诉节点“请永久保留这个文件”。
- 解决方案:开发者通常使用 Pinata 或 Arweave 等服务来确保 IPFS 内容被持久化存储。
总结:IPFS 是 Web3 的硬盘。它通过内容寻址解决了信任问题(你确定你下载的就是你想要的),通过分布式存储解决了单点故障问题。它与作为“结算层”的区块链完美互补,共同构成了去中心化应用的基础设施。

浙公网安备 33010602011771号