前言:版本、读者与证据合同
第二版以PoS后的以太坊为基线,明确读者、示例、真实地址风险、排版约定、授权与勘误渠道。前言不是礼仪性材料,而是全书实验的版本和安全合同。
为什么从可验证状态开始
本页按官方第二版在线目录重建 Preface,覆盖该正式单元的 15 个二至五级标题。教学顺序保留原目录的依赖关系,但正文全部独立撰写:每个标题都转成对象、前状态、输入、规则、后状态和失败证据,避免只给术语摘要。
第二版以PoS后的以太坊为基线,明确读者、示例、真实地址风险、排版约定、授权与勘误渠道。前言不是礼仪性材料,而是全书实验的版本和安全合同。 阅读时把“客户端或网页显示了什么”和“协议能验证什么”分开:钱包、浏览器、RPC与索引器是观察面,规范编码、签名、交易、收据、区块、状态根、证明和最终化检查点才是可复核对象。任何结论都要绑定链ID、客户端版本、区块坐标与原始输入。
实验统一在本地开发链或公开测试网完成,私钥只使用一次性测试向量。先写预期,再运行;先保存原始对象,再看格式化界面。正常样本证明主路径,边界样本选择零值、最大值、恰好阈值或时序边缘,单故障样本只改变链ID、nonce、一个字节、一个签名、一个价格或一个证明条件。
每个实验都要绑定第二版来源、网络、客户端版本、输入和前状态;真实密钥与真实资产永不进入教学环境。 若执行失败,证据必须说明首个拒绝规则、错误数据、消耗的资源以及状态是否回滚;若执行成功,还要区分交易池接纳、区块包含、执行状态与PoS最终性,不能把交易哈希当成最终结算。
通过标准是:能解释第二版为何替换PoW时代第一版,并从官方在线版定位全部18个正式单元与516个标题节点。 独立复核者应能从空目录和相同测试向量重建结果;缺失来源、版本、输入、前状态、后状态或失败证据任一项,结论都不能进入下一页。
版次、对象与验收合同
、、、、共同构成本页的复核坐标。第二版以PoS后的以太坊为基线,明确读者、示例、真实地址风险、排版约定、授权与勘误渠道。前言不是礼仪性材料,而是全书实验的版本和安全合同。
核心约束与推导
状态转移只接受针对当前前状态有效的输入;Gas约束把资源消耗纳入确定性执行;状态根把大量账户与存储压缩为区块可承诺对象。证据门禁采用乘法语义,任一因子缺失都不能用其他截图或口头解释补偿。
三段可运行骨架
type EthereumEvidence = {
chainId: number;
block: string;
beforeRoot: string;
inputHash: string;
afterRoot?: string;
error?: string;
};
export function evidenceGate(run: EthereumEvidence) {
return {
page: "met2-preface",
accepted: Boolean(run.afterRoot || run.error),
immutableInput: run.inputHash,
};
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
contract InvariantProbe {
uint256 public value;
event Applied(uint256 beforeValue, uint256 afterValue);
function apply(uint256 next) external {
uint256 beforeValue = value;
require(next >= beforeValue, "non-monotonic");
value = next;
emit Applied(beforeValue, next);
}
}function applyCandidate(
state: bigint,
next: bigint,
gasUsed: bigint,
gasLimit: bigint,
) {
if (gasUsed > gasLimit)
return { accepted: false, state, reason: "out-of-gas" };
if (next < state)
return { accepted: false, state, reason: "invalid-transition" };
return { accepted: true, state: next, reason: null };
}第一段把成功与失败放进同一证据合同;第二段给出可观察事件和显式不变量;第三段证明拒绝路径保持原状态。真实系统应使用成熟客户端、ABI、密码与证明库,并补齐并发、重组、超时、持久化、隐私和密钥隔离。
正式标题逐项讲解
How to Use This Book
“How to Use This Book”是本单元正式标题 1/15,原目录层级 h2。第二版以PoS后的以太坊为基线,明确读者、示例、真实地址风险、排版约定、授权与勘误渠道。前言不是礼仪性材料,而是全书实验的版本和安全合同。 本标题要求把术语落到明确对象和状态转换:给出输入、前置条件、算法或协议规则、可观察输出以及至少一个拒绝样本。
复核时固定第二版来源、链ID、客户端、前状态与原始输入,保存编码、解析、签名、执行、收据、状态或证明的中间对象。每个实验都要绑定第二版来源、网络、客户端版本、输入和前状态;真实密钥与真实资产永不进入教学环境。 本标题通过后还要能说明它与上级标题及下一标题的依赖,避免把相邻机制合并成一句概述。
Intended Audience
“Intended Audience”是本单元正式标题 2/15,原目录层级 h2。第二版以PoS后的以太坊为基线,明确读者、示例、真实地址风险、排版约定、授权与勘误渠道。前言不是礼仪性材料,而是全书实验的版本和安全合同。 本标题要求把术语落到明确对象和状态转换:给出输入、前置条件、算法或协议规则、可观察输出以及至少一个拒绝样本。
复核时固定第二版来源、链ID、客户端、前状态与原始输入,保存编码、解析、签名、执行、收据、状态或证明的中间对象。每个实验都要绑定第二版来源、网络、客户端版本、输入和前状态;真实密钥与真实资产永不进入教学环境。 本标题通过后还要能说明它与上级标题及下一标题的依赖,避免把相邻机制合并成一句概述。
Code Examples
“Code Examples”是本单元正式标题 3/15,原目录层级 h2。这是可复现实作坐标。先固定工具版本、网络、账户与原始输入,写出预期对象,再执行命令或合约;保存配置、交易哈希、收据、日志、状态首差与回退点,不能只截取成功界面。
复核时固定第二版来源、链ID、客户端、前状态与原始输入,保存编码、解析、签名、执行、收据、状态或证明的中间对象。每个实验都要绑定第二版来源、网络、客户端版本、输入和前状态;真实密钥与真实资产永不进入教学环境。 本标题通过后还要能说明它与上级标题及下一标题的依赖,避免把相邻机制合并成一句概述。
Ethereum Addresses and Transactions in this Book
“Ethereum Addresses and Transactions in this Book”是本单元正式标题 4/15,原目录层级 h2。这是密码与证明边界。必须区分秘密输入、公开输入、编码、域分离、算法输出和验证命题;使用成熟库与公开测试向量,篡改一个字节时验证应在首个不满足的规则处失败。
复核时固定第二版来源、链ID、客户端、前状态与原始输入,保存编码、解析、签名、执行、收据、状态或证明的中间对象。每个实验都要绑定第二版来源、网络、客户端版本、输入和前状态;真实密钥与真实资产永不进入教学环境。 本标题通过后还要能说明它与上级标题及下一标题的依赖,避免把相邻机制合并成一句概述。
Conventions Used in This Book
“Conventions Used in This Book”是本单元正式标题 5/15,原目录层级 h2。第二版以PoS后的以太坊为基线,明确读者、示例、真实地址风险、排版约定、授权与勘误渠道。前言不是礼仪性材料,而是全书实验的版本和安全合同。 本标题要求把术语落到明确对象和状态转换:给出输入、前置条件、算法或协议规则、可观察输出以及至少一个拒绝样本。
复核时固定第二版来源、链ID、客户端、前状态与原始输入,保存编码、解析、签名、执行、收据、状态或证明的中间对象。每个实验都要绑定第二版来源、网络、客户端版本、输入和前状态;真实密钥与真实资产永不进入教学环境。 本标题通过后还要能说明它与上级标题及下一标题的依赖,避免把相邻机制合并成一句概述。
Using Code Examples
“Using Code Examples”是本单元正式标题 6/15,原目录层级 h2。这是可复现实作坐标。先固定工具版本、网络、账户与原始输入,写出预期对象,再执行命令或合约;保存配置、交易哈希、收据、日志、状态首差与回退点,不能只截取成功界面。
复核时固定第二版来源、链ID、客户端、前状态与原始输入,保存编码、解析、签名、执行、收据、状态或证明的中间对象。每个实验都要绑定第二版来源、网络、客户端版本、输入和前状态;真实密钥与真实资产永不进入教学环境。 本标题通过后还要能说明它与上级标题及下一标题的依赖,避免把相邻机制合并成一句概述。
O'Reilly Online Learning
“O'Reilly Online Learning”是本单元正式标题 7/15,原目录层级 h2。第二版以PoS后的以太坊为基线,明确读者、示例、真实地址风险、排版约定、授权与勘误渠道。前言不是礼仪性材料,而是全书实验的版本和安全合同。 本标题要求把术语落到明确对象和状态转换:给出输入、前置条件、算法或协议规则、可观察输出以及至少一个拒绝样本。
复核时固定第二版来源、链ID、客户端、前状态与原始输入,保存编码、解析、签名、执行、收据、状态或证明的中间对象。每个实验都要绑定第二版来源、网络、客户端版本、输入和前状态;真实密钥与真实资产永不进入教学环境。 本标题通过后还要能说明它与上级标题及下一标题的依赖,避免把相邻机制合并成一句概述。
How to Contact Us
“How to Contact Us”是本单元正式标题 8/15,原目录层级 h2。第二版以PoS后的以太坊为基线,明确读者、示例、真实地址风险、排版约定、授权与勘误渠道。前言不是礼仪性材料,而是全书实验的版本和安全合同。 本标题要求把术语落到明确对象和状态转换:给出输入、前置条件、算法或协议规则、可观察输出以及至少一个拒绝样本。
复核时固定第二版来源、链ID、客户端、前状态与原始输入,保存编码、解析、签名、执行、收据、状态或证明的中间对象。每个实验都要绑定第二版来源、网络、客户端版本、输入和前状态;真实密钥与真实资产永不进入教学环境。 本标题通过后还要能说明它与上级标题及下一标题的依赖,避免把相邻机制合并成一句概述。
Contacting Carlo
“Contacting Carlo”是本单元正式标题 9/15,原目录层级 h2。第二版以PoS后的以太坊为基线,明确读者、示例、真实地址风险、排版约定、授权与勘误渠道。前言不是礼仪性材料,而是全书实验的版本和安全合同。 本标题要求把术语落到明确对象和状态转换:给出输入、前置条件、算法或协议规则、可观察输出以及至少一个拒绝样本。
复核时固定第二版来源、链ID、客户端、前状态与原始输入,保存编码、解析、签名、执行、收据、状态或证明的中间对象。每个实验都要绑定第二版来源、网络、客户端版本、输入和前状态;真实密钥与真实资产永不进入教学环境。 本标题通过后还要能说明它与上级标题及下一标题的依赖,避免把相邻机制合并成一句概述。
Contacting Alessandro
“Contacting Alessandro”是本单元正式标题 10/15,原目录层级 h2。第二版以PoS后的以太坊为基线,明确读者、示例、真实地址风险、排版约定、授权与勘误渠道。前言不是礼仪性材料,而是全书实验的版本和安全合同。 本标题要求把术语落到明确对象和状态转换:给出输入、前置条件、算法或协议规则、可观察输出以及至少一个拒绝样本。
复核时固定第二版来源、链ID、客户端、前状态与原始输入,保存编码、解析、签名、执行、收据、状态或证明的中间对象。每个实验都要绑定第二版来源、网络、客户端版本、输入和前状态;真实密钥与真实资产永不进入教学环境。 本标题通过后还要能说明它与上级标题及下一标题的依赖,避免把相邻机制合并成一句概述。
Contacting Niccolò
“Contacting Niccolò”是本单元正式标题 11/15,原目录层级 h2。第二版以PoS后的以太坊为基线,明确读者、示例、真实地址风险、排版约定、授权与勘误渠道。前言不是礼仪性材料,而是全书实验的版本和安全合同。 本标题要求把术语落到明确对象和状态转换:给出输入、前置条件、算法或协议规则、可观察输出以及至少一个拒绝样本。
复核时固定第二版来源、链ID、客户端、前状态与原始输入,保存编码、解析、签名、执行、收据、状态或证明的中间对象。每个实验都要绑定第二版来源、网络、客户端版本、输入和前状态;真实密钥与真实资产永不进入教学环境。 本标题通过后还要能说明它与上级标题及下一标题的依赖,避免把相邻机制合并成一句概述。
Acknowledgments by Carlo
“Acknowledgments by Carlo”是本单元正式标题 12/15,原目录层级 h2。第二版以PoS后的以太坊为基线,明确读者、示例、真实地址风险、排版约定、授权与勘误渠道。前言不是礼仪性材料,而是全书实验的版本和安全合同。 本标题要求把术语落到明确对象和状态转换:给出输入、前置条件、算法或协议规则、可观察输出以及至少一个拒绝样本。
复核时固定第二版来源、链ID、客户端、前状态与原始输入,保存编码、解析、签名、执行、收据、状态或证明的中间对象。每个实验都要绑定第二版来源、网络、客户端版本、输入和前状态;真实密钥与真实资产永不进入教学环境。 本标题通过后还要能说明它与上级标题及下一标题的依赖,避免把相邻机制合并成一句概述。
Acknowledgments by Alessandro
“Acknowledgments by Alessandro”是本单元正式标题 13/15,原目录层级 h2。第二版以PoS后的以太坊为基线,明确读者、示例、真实地址风险、排版约定、授权与勘误渠道。前言不是礼仪性材料,而是全书实验的版本和安全合同。 本标题要求把术语落到明确对象和状态转换:给出输入、前置条件、算法或协议规则、可观察输出以及至少一个拒绝样本。
复核时固定第二版来源、链ID、客户端、前状态与原始输入,保存编码、解析、签名、执行、收据、状态或证明的中间对象。每个实验都要绑定第二版来源、网络、客户端版本、输入和前状态;真实密钥与真实资产永不进入教学环境。 本标题通过后还要能说明它与上级标题及下一标题的依赖,避免把相邻机制合并成一句概述。
Acknowledgments by Niccolò
“Acknowledgments by Niccolò”是本单元正式标题 14/15,原目录层级 h2。第二版以PoS后的以太坊为基线,明确读者、示例、真实地址风险、排版约定、授权与勘误渠道。前言不是礼仪性材料,而是全书实验的版本和安全合同。 本标题要求把术语落到明确对象和状态转换:给出输入、前置条件、算法或协议规则、可观察输出以及至少一个拒绝样本。
复核时固定第二版来源、链ID、客户端、前状态与原始输入,保存编码、解析、签名、执行、收据、状态或证明的中间对象。每个实验都要绑定第二版来源、网络、客户端版本、输入和前状态;真实密钥与真实资产永不进入教学环境。 本标题通过后还要能说明它与上级标题及下一标题的依赖,避免把相邻机制合并成一句概述。
Contributions
“Contributions”是本单元正式标题 15/15,原目录层级 h2。第二版以PoS后的以太坊为基线,明确读者、示例、真实地址风险、排版约定、授权与勘误渠道。前言不是礼仪性材料,而是全书实验的版本和安全合同。 本标题要求把术语落到明确对象和状态转换:给出输入、前置条件、算法或协议规则、可观察输出以及至少一个拒绝样本。
复核时固定第二版来源、链ID、客户端、前状态与原始输入,保存编码、解析、签名、执行、收据、状态或证明的中间对象。每个实验都要绑定第二版来源、网络、客户端版本、输入和前状态;真实密钥与真实资产永不进入教学环境。 本标题通过后还要能说明它与上级标题及下一标题的依赖,避免把相邻机制合并成一句概述。
正常、边界与故障矩阵
| 样本 | 只改变的变量 | 预期结果 | 必存证据 |
|---|---|---|---|
| 正常 | 有效链ID、输入、签名、Gas与前状态 | 接受并得到预期后状态 | 原始交易、收据、前后状态根 |
| 边界 | 零值、最大值、恰好阈值或时序边缘 | 按明确规则接受或拒绝 | 边界值、判断分支、资源成本 |
| 单故障 | 链ID、nonce、签名、价格、证明或数据一项 | 首个无效规则处拒绝 | 错误数据、首差、原状态 |
先预测每个样本的状态根、返回值和错误,再操作滑块;若两个变量同时变化,实验失去归因能力,必须重置。
常见失败与回退
本章回顾
第二版以PoS后的以太坊为基线,明确读者、示例、真实地址风险、排版约定、授权与勘误渠道。前言不是礼仪性材料,而是全书实验的版本和安全合同。 核心不是记住工具名称,而是能从官方标题定位对象、规则与证据。每个实验都要绑定第二版来源、网络、客户端版本、输入和前状态;真实密钥与真实资产永不进入教学环境。 完成后应删除临时密钥和测试状态,保留不含秘密的版本、输入哈希、收据、状态根、错误与复核结论。