From 2725deed9ccfdd1b214791ef6adc42631f5cb2c9 Mon Sep 17 00:00:00 2001
From: GitHub Action 在以太坊过渡到权益证明之前,“Eth2”(以太坊 2)一词通常用于描述以太坊的未来,但它已被逐步淘汰,取而代之的是更准确的术语。该术语最初被用于区分过渡到权益证明之前和之后的以太坊网络,有时也用于指代不同的以太坊客户端(执行客户端有时称为以太坊 1 客户端,而共识客户端有时称为以太坊 2 客户端)。
+
+
+现在,想象这个时钟不再是 1 至 12,而是从 0 到 N(在共识层上注册的验证者帐户的总数,截至 2023 年 1 月已超过 500,000 个)。
+时钟的指针指向需要检查是否符合提款条件的下一个验证者。 它从 0 开始,不跳过任何帐户,一直前进。 当达到最后一个验证者时,循环从头开始继续。
+
了解如何使用它。
+
+
+
+
+
+
+
+5. 许多资产,如 DAI 或 USDC 稳定币,存在于多个网络上。 在传输加密代币时,请确保收款方和你使用相同的网络,因为不同网络之间并不是互通的。
+6. 请确保你的钱包有足够的以太币来支付交易费,交易费因网络状况而异。 大多数钱包都会自动将建议的交易费用在交易中列出,然后你可以进行确认。
+7. 一旦你的交易被处理,相应的加密货币金额将显示在收款方的帐户中。 这可能需要几秒钟到几分钟不等,具体取决于当前网络使用情况。
+
+## 连接到项目
+
+你的地址在所有以太坊项目中都是相同的。 你不需要逐一注册每个项目。 只要你有钱包,就能够连接到任何以太坊项目,而不再需要你的任何额外信息。 不需要电子邮箱,或其它任何个人信息。
+
+1. 访问任一项目的网站。
+2. 如果该项目的登陆页面只是项目的静态描述,你可点击菜单中的“Open the App”(打开应用程序)按钮,进入到实际的网页应用程序。
+3. 进入应用程序后,请点击“Connect”。
+
+![允许用户使用钱包连接到网站的按钮](./connect1.png)
+
+4. 从可用选项列表中,选择你的钱包。 如果看不到你的钱包,它可能隐藏在“WalletConnect”(连接钱包)选项下。
+
+![从要连接的钱包列表中选择](./connect2.png)
+
+5. 请在钱包中,确认签名请求以建立连接。 **签署此信息不应花费任何以太币**。
+6. 这样就完成了! 开始使用这个应用程序吧。 你可以在我们的[去中心化应用程序页面](/dapps/#explore)找到一些有趣的项目。
+
+ETH2 是什么?
+
+
+
+
+有关详细信息,请查看 Tim Beiko 的博客文章“合并对以太坊的应用程序层有何影响”。
+
+
+大约 88.7% 的发行量会给执行层上的矿工 (4.09 / 4.61 * 100)
+大约 11.3% 的发行量会给共识层上的质押人 (0.52 / 4.61 * 100)
+
+每年以太币发行量净减少:大约 88.7% ((4.61% - 0.52%) / 4.61% * 100)
+
+
+UserOperation
的新对象构建,它将用户的操作与相关的签名打包在一起。 这些 UserOperation
对象随后被广播到一个专用的内存池中,验证者在那里可以将它们收集到一个"捆绑交易"中。 捆绑交易代表了很多一系列单独的 UserOperations
,并且可以像普通交易那样被添加到以太坊区块中。验证者会使用类似的最大化费用选择模型来选择捆绑交易。
+
+在 EIP-4337 下,钱包的工作方式也会改变。 它不会让每个钱包重新实现常见但复杂的安全逻辑,而是会将这些功能外包给一个名为“入口点”的全局钱包合约。 该合约将处理支付费用和执行以太坊虚拟机代码等操作,以便钱包开发者可以专注于提供卓越的用户体验。
+
+注意 EIP 4337 入口点合约于 2023 年 3 月 1 日部署到以太坊主网上。 你可以在 Etherscan 上查看该合约。
+
+AA_TX_TYPE
来更新以太坊协议,该交易类型包括三个字段:nonce
、target
和 data
,其中 nonce
是交易计数器,target
是入口点合约地址,data
是以太坊虚拟机字节码。 为了执行这些交易,需要向以太坊虚拟机添加两条新指令(也称为操作码):NONCE
和 PAYGAS
。 NONCE
操作码用于跟踪交易序列,而 PAYGAS
操作码用于计算并从合约余额中提取执行交易所需的燃料费用。 这些新功能使得以太坊能够为智能合约钱包提供本地支持,因为必要的基础设施已经内置在以太坊的协议中。
+
+请注意,EIP-2938 目前尚未激活。 目前社区更倾向于 EIP-4337,因为它不需要对协议进行更改。
+
+AUTH
和 AUTHCALL
。 通过 EIP-3074,不需要合约就可以获得智能合约钱包的好处,取而代之的是一种特定类型的无状态、去信任、不可升级的合约(被称为“调用者”),用于处理交易。
+
+请注意,EIP-3074 目前尚未激活。 目前社区更倾向于 EIP-4337,因为它不需要对协议进行更改。
+
+gas, addr, val, argOst, argLen, retOst, retLen
| `success` | mem[retOst:retOst+retLen-1] := returndata | |
+| F2 | CALLCODE | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | `gas, addr, val, argOst, argLen, retOst, retLen` | `success` | mem[retOst:retOst+retLen-1] = returndata | same as DELEGATECALL, but does not propagate original msg.sender and msg.value |
+| F3 | 返回 | 0[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, len` | `.` | | return mem[ost:ost+len-1] |
+| F4 | DELEGATECALL | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | `gas, addr, argOst, argLen, retOst, retLen` | `success` | mem[retOst:retOst+retLen-1] := returndata | |
+| F5 | CREATE2 | [A9](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a9-create-operations) | `val, ost, len, salt` | `addr` | | addr = keccak256(0xff ++ address(this) ++ salt ++ keccak256(mem[ost:ost+len-1]))[12:] |
+| F6-F9 | _invalid_ | | | | | |
+| FA | STATICCALL | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | `gas, addr, argOst, argLen, retOst, retLen` | `success` | mem[retOst:retOst+retLen-1] := returndata | |
+| FB-FC | _invalid_ | | | | | |
+| FD | 撤销 | 0[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, len` | `.` | | revert(mem[ost:ost+len-1]) |
+| FE | INVALID | [AF](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#af-invalid) | | | designated invalid opcode - [EIP-141](https://eips.ethereum.org/EIPS/eip-141) | |
+| FF | SELFDESTRUCT | [AB](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#ab-selfdestruct) | `addr` | `.` | | 将所有以太币发送到 `addr`;如果在创建合约的同一交易中执行,它会销毁该合约 |
diff --git a/public/content/translations/zh/13) Foundational Docs/developers/docs/gas/index.md b/public/content/translations/zh/13) Foundational Docs/developers/docs/gas/index.md
new file mode 100644
index 00000000000..1751c2f7d7e
--- /dev/null
+++ b/public/content/translations/zh/13) Foundational Docs/developers/docs/gas/index.md
@@ -0,0 +1,139 @@
+---
+title: 燃料和费用
+description:
+lang: zh
+---
+
+Gas 对以太坊网络至关重要。 正是这种燃料使它能够运行,正如车辆需要汽油一样。
+
+## 前提条件 {#prerequisites}
+
+为了更好地理解此页面,推荐先阅读[交易](/developers/docs/transactions/)和 [EVM](/developers/docs/evm/)。
+
+## 什么是燃料? {#what-is-gas}
+
+燃料是指在以太坊网络上执行特定操作所需的计算工作量。
+
+由于每笔以太坊交易都需要使用计算资源来执行,因此必须为这些资源付费,以确保以太坊不容易受到垃圾信息的攻击,并且不会陷入无限的计算循环。 计算费用以燃料费的形式支付。
+
+燃料费是**用于执行某些操作的燃料数量,乘以每单位燃料的成本**。 无论交易成功与否,都要支付燃料费。
+
+![显示以太坊虚拟机操作所需燃料的图表](./gas.png) _示意图节选自[以太坊虚拟机图解](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
+
+燃料费必须用以太坊的本币支付,即以太币 (ETH)。 燃料通常以 gwei 计价,gwei 是以太币的一种计量单位。 一个 gwei 等于一个以太币的十亿分之一(0.000000001 个以太币,或 10-9 个以太币)。
+
+比如,你可以说你的燃料费是 1 gwei,而不说 0.000000001 个以太币。
+
+"Gwei" 是 "giga-wei" 的缩写,意思是 “十亿个 wei”。 一个 gwei 等于十亿个 wei。 Wei 本身(以 [b-money](https://www.investopedia.com/terms/b/bmoney.asp) 的发明者 [Wei Dai](https://wikipedia.org/wiki/Wei_Dai) 的名字命名)是以太币的最小单位。
+
+## 如何计算燃料费? {#how-are-gas-fees-calculated}
+
+当提交交易时,你可以设置你愿意支付的燃料数量。 通过提供一定数量的燃料,你出价将你的交易添加到下一个区块中。 如果你提供的燃料太少,验证者就不太可能选择添加你的交易,这意味着你的交易可能会延迟执行或不会被执行。 如果提供太多,你可能浪费一些以太币。 那么,怎么知道你应该支付多少燃料费呢?
+
+你支付的总燃料费分为两部分:`base fee` 和 `priority fee`(小费)。
+
+`Base fee` 由协议设定——你必须至少支付这些金额,然后你的交易才会被视为有效。 `Priority fee` 是基础费以外的小费,它可以吸引验证者选择将你的交易添加到下一个区块。
+
+只支付 `base fee` 的交易从技术上讲是有效的,但不太可能被添加到区块,因为它没有激励验证者优先选择它而不是其他交易。 “合适的” `priority` 费由发送交易时的网络使用情况决定——如果有大量需求,那么你可能不得不将你的 `priority` 费设置得更高;但当需求较少时,你也可以减少该费用。
+
+例如,假设 Jordan 要向 Taylor 支付 1 个以太币。 一笔以太币转账需要 21,000 单位的燃料,基础费是10 gwei。 Jordan 支付了 2 gwei 作为小费。
+
+总费用等于:
+
+`使用的燃料单位数 *(基础费 + 优先费)`
+
+其中 `base fee` 由协议设置,`priority fee` 是用户设置的支付给验证者的小费。
+
+即 `21,000 * (10 + 2) = 252,000 gwei`(0.000252 个以太币)。
+
+当 Jordan 转账时,将从 Jordan 帐户中扣除 1.000252 个以太币。 Taylor 的帐户增加 1.0000 个以太币。 验证者收到价值 0.000042 个以太币的小费。 0.00021 个以太币的 `base fee` 被销毁。
+
+### 基础费 {#base-fee}
+
+每个区块都有一个基础费作为底价。 要想有资格添加到区块中,燃料费出价必须至少等于基础费。 基础费独立于当前区块计算,是由当前区块之前的区块决定的,这使得用户更容易预测交易费。 在创建区块时,它的**基础费将被“销毁”**并退出流通。
+
+基础费由一个公式计算得出,该公式将上一个区块的大小(所有交易中使用的燃料数量)与目标大小进行比较。 如果超过目标区块大小,每个区块的基础费将最多增加 12.5%。 这种指数级增长使得区块大小无限期保持高位在经济上不可行。
+
+| 区块编号 | 已包含燃料 | 费用增加 | 当前基本费用 |
+| ---- | -----:| -----:| ----------:|
+| 1 | 15M | 0% | 100 gwei |
+| 2 | 30M | 0% | 100 gwei |
+| 3 | 30M | 12.5% | 112.5 gwei |
+| 4 | 30M | 12.5% | 126.6 gwei |
+| 5 | 30M | 12.5% | 142.4 gwei |
+| 6 | 30M | 12.5% | 160.2 gwei |
+| 7 | 30M | 12.5% | 180.2 gwei |
+| 8 | 30M | 12.5% | 202.7 gwei |
+
+根据以上表格,要在 9 号区块创建交易,钱包会让用户明确知晓:要将交易添加到下一个区块的**最高基础费**等于 `current base fee * 112.5%` 或 `202.7 gwei * 112.5% = 228.1 gwei`。
+
+还请注意,考虑到完整区块前的基础费增加速度很快,我们不大可能看到它长时间处于峰值状态。
+
+| 区块编号 | 已包含燃料 | 费用增加 | 当前基本费用 |
+| ---- | -----:| -----:| ---------------:|
+| 30 | 30M | 12.5% | 2705.6 gwei |
+| ... | ... | 12.5% | ... |
+| 50 | 30M | 12.5% | 28531.3 gwei |
+| ... | ... | 12.5% | ... |
+| 100 | 30M | 12.5% | 10302608.6 gwei |
+
+### 优先费(小费) {#priority-fee}
+
+优先费(小费)激励验证者将交易添加到区块中。 如果没有小费,验证者会发现开采空区块在经济上可行,因为它们会获得相同的区块奖励。 小额小费是对验证者将交易添加到区块的最小激励。 在相同区块中,对于要优先于其他交易执行的交易,可以添加更高的小费来尝试使出价高于竞争性交易。
+
+### 最高费用 {#maxfee}
+
+要在网络上执行交易,用户可以为他们愿意支付的交易执行费用指定最高限额。 此可选参数称为 `maxFeePerGas`。 为了执行交易,最高费用必须超过基础费和小费的总和。 交易完成后,会将最高费用与基础费和小费总和之间的差额退还给交易发送人。
+
+### 区块大小 {#block-size}
+
+每个区块的目标大小为 1500 万单位燃料,但区块的大小将根据网络需求增减,最大不得超过 3000 万单位燃料的区块大小上限(目标区块大小的 2 倍)。 协议通过 _tâtonnement_ 过程使均衡区块大小平均达到 1,500 万单位燃料。 这意味着如果区块大小超出目标区块大小,协议将增加下一个区块的基础费。 同样,如果区块大小小于目标区块大小,协议将减少基础费。 基础费的调整金额与当前区块大小和目标区块大小的差距成比例。 [关于区块的更多信息](/developers/docs/blocks/)。
+
+### 实践中的燃料费计算 {#calculating-fees-in-practice}
+
+你可以明确说明自己愿意支付多少交易执行费。 然而,大多数钱包提供商会自动设置推荐的交易费(基础费 + 推荐的优先费)来降低用户操作的复杂程度。
+
+## 为什么存在燃料费? {#why-do-gas-fees-exist}
+
+简而言之,燃料费有助于确保以太坊网络的安全。 在网络上执行的每次计算都需要收费,这样可以防止不良行为者给网络带来垃圾信息。 为了防止代码中出现无意或恶意的无限循环或其他计算浪费,要求每笔交易对可以采用的代码执行计算步骤设置一个限制。 基本计算单位是“燃料”。
+
+尽管交易中包含费用限制,但交易中未使用的所有燃料将退还给用户(即退还 `max fee - (base fee + tip)`)。
+
+![未使用燃料退还示意图](../transactions/gas-tx.png) _示意图节选自[以太坊虚拟机图解](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
+
+## 什么是燃料限额? {#what-is-gas-limit}
+
+燃料限额是指你愿意在交易中消耗的最大燃料数量。 涉及[智能合约](/developers/docs/smart-contracts/)的更复杂交易需要进行更多的计算工作,因此相比简单的支付,它们需要更高的燃料限额。 标准以太币转账要求燃料限额为 21,000 单位燃料。
+
+例如,如果你对简单的以太币转账设置 50,000 单位燃料限额,以太坊虚拟机将消耗 21,000 单位,你将收到剩余的 29,000 单位。 然而,如果你设置的燃料太少,比如说,对于简单的以太币转账,设置燃料限额为 20,000 单位,以太坊虚拟机将消耗 20,000 单位燃料并尝试执行交易,但最后不会完成。 然后,以太坊虚拟机回滚所有变化,但由于验证者已经完成了价值 20k 单位燃料的工作,这些燃料就被消耗了。
+
+## 为什么燃料费会变得如此高? {#why-can-gas-fees-get-so-high}
+
+燃料费高是由于以太坊广受欢迎。 如果需求量太大,用户必须提供更高的小费,力争使出价高于其他用户的交易。 小费越高,交易进入下一个区块的可能性就越大。 此外,更复杂的智能合约应用可能会执行许多操作来支持其功能,使它们消耗大量的燃料。
+
+## 减少燃料成本的举措 {#initiatives-to-reduce-gas-costs}
+
+以太坊[可扩展性升级](/roadmap/)最终应该可以解决部分燃料费问题,并让以太坊平台有能力每秒处理数千笔交易,从而实现全面扩容。
+
+二层网络扩容是一项主要举措,可大大优化燃料成本、用户体验和可扩展性。 [关于二层网络扩容的更多信息](/developers/docs/scaling/#layer-2-scaling)。
+
+## 监控燃料费 {#monitoring-gas-fees}
+
+如果想要监控燃料价格,用较少的费用发送以太币,你可以使用多种不同的工具,例如:
+
+- [Etherscan 区块浏览器](https://etherscan.io/gastracker)_交易燃料价格估算器。_
+- [Blocknative ETH Gas Estimator](https://chrome.google.com/webstore/detail/blocknative-eth-gas-estim/ablbagjepecncofimgjmdpnhnfjiecfm) _支持类型 0 传统交易和类型 2 EIP-1559 交易的燃料估算 Chrome 插件。_
+- [Cryptoneur Gas Fees Calculator](https://www.cryptoneur.xyz/gas-fees-calculator) _按照你的当地货币计算主网、Arbitrum 和 Polygon 上进行的各类交易的燃料费。_
+
+## 相关工具 {#related-tools}
+
+- [Blocknative 的燃料平台](https://www.blocknative.com/gas)_由 Blocknative 的全局内存池数据平台提供支持的燃料估算应用程序接口_
+
+## 延伸阅读 {#further-reading}
+
+- [以太坊 Gas 详解](https://defiprime.com/gas)
+- [减少智能合约的燃料消耗](https://medium.com/coinmonks/8-ways-of-reducing-the-gas-consumption-of-your-smart-contracts-9a506b339c0a)
+- [权益证明与工作量证明](https://blockgeeks.com/guides/proof-of-work-vs-proof-of-stake/)
+- [面向开发者的燃料优化策略](https://www.alchemy.com/overviews/solidity-gas-optimization)
+- [EIP-1559 文档](https://eips.ethereum.org/EIPS/eip-1559)
+- [Tim Beiko 的 EIP-1559 资源](https://hackmd.io/@timbeiko/1559-resources)。
diff --git a/public/content/translations/zh/13) Foundational Docs/developers/docs/index.md b/public/content/translations/zh/13) Foundational Docs/developers/docs/index.md
new file mode 100644
index 00000000000..47c7c2e0023
--- /dev/null
+++ b/public/content/translations/zh/13) Foundational Docs/developers/docs/index.md
@@ -0,0 +1,25 @@
+---
+title: 以太坊开发文档
+description: ethereum.org 开发者相关文档简介。
+lang: zh
+---
+
+本文档旨在帮助你构建以太坊。 它介绍了以太坊概念,解释了以太坊技术栈,并记录了以太坊更复杂的应用和使用案例的高级主题。
+
+基于开源社区的努力,你可以随时提出新的主题,添加新内容,并在认为可能有用的地方提供示例。 所有文档都可以通过 GitHub 编辑 — 如果不确定如何操作,[请遵循这些说明](https://github.com/ethereum/ethereum-org-website/blob/dev/docs/editing-markdown.md)。
+
+## 开发单元 {#development-modules}
+
+如果这是你首次尝试以太坊开发,我们建议从头开始,有始有终,从头到尾。
+
+### 基础主题 {#foundational-topics}
+
+xᵐ mod P ≡ 1
+鉴于这些定义,我们得到:
+
+> 观察 1。 令 `x` 成为乘法组 `ℤ/Pℤ` 的一员,以获得安全素数 `P`。 如果 `x mod P ≠ 1 mod P` 和 `x mod P ≠ P-1 mod P`,那么 `x` 的顺序是 ` P-1` 或 `(P-1)/2`。
+
+_证明_。 由于 `P` 是一个安全素数,那么根据 \[Lagrange's Theorem\]\[lagrange\],我们得到 `x` 的顺序为 `1`、`2`、`(P-1)/2` 或 `P-1`。
+
+`x` 的顺序不能是 `1`,因为根据费马小定理,我们得出:
+
+xP-1 mod P ≡ 1
+
+因此,`x` 必须是 `ℤ/nℤ` 的乘法单位,并且是唯一的乘法单位。 由于我们假设 `x ≠ 1`,所以这是不可能的。
+
+`x` 的顺序不能是 `2`,除非 `x = P-1`,因为这将违反 `P` 是素数的事实。
+
+从以上命题中,我们可以知道,迭代 `(picker * init) % P` 的循环长度至少为 `(P-1)/2`。 这是因为我们选择 `P` 作为安全素数,强度几乎翻倍,且 `init` 处于 `[2,2**256+1]` 区间内。 考虑到 `P` 的量级,我们不应期待模幂运算具有周期性。
+
+在有向无环图中分配第一个单元时(变量标签为 `init`),我们会计算 `pow(sha3(seed) + 2, 3, P)`。 初看起来,这并不能保证结果既不是 `1` 也不是 `P-1`。 然而,既然 `P-1` 是一个安全素数,我们还提供以下额外保证,这是观察 1 的必然结果:
+
+> 观察 2。 令 `x` 成为乘法组 `ℤ/Pℤ` 的一员,以获得安全素数 `P`,并让 `w` 成为自然数。 如果 `x mod P ≠ 1 mod P`、`x mod P ≠ P-1 mod P`,且 `w mod P ≠ P-1 mod P`、`w mod P ≠ 0 mod P`,那么 `xʷ mod P ≠ 1 mod P` 且 `xʷ mod P ≠ P-1 mod P`
+
+### 模幂运算用作散列函数 {#modular-exponentiation}
+
+对于特定的 `P` 值和 `w` 值,函数 `pow(x, w, P)` 可能存在许多冲突。 例如,`pow(x,9,19)` 的值只能接受 `{1,18}`。
+
+鉴于 `P` 为素数,可以使用以下结果,选择一个用于模幂运算哈希函数的适当 `w` 值:
+
+> 观察 3。 令 `P` 为素数;当且仅当用于 `ℤ/Pℤ` 中所有 `a` 和 `b` 满足以下条件时,`w` 和 `P-1` 才能为互素。
+>
+>
+
+
+
+
+
+
+
+
+
+
+
+REVERT
操作码。STATICCALL
操作码,允许对其他合约进行非状态改变调用。
+
+
+第一步的第一部分防止交易发送者花费不存在的比特币,第二部分防止交易发送者花费其他人的比特币,第二步确保价值守恒。 为了用于支付,比特币协议如下。 假设Alice想给Bob发送11.7 BTC。 首先,Alice将寻找她拥有的一组总数至少为11.7 BTC的可用UTXO。 事实上,Alice不太可能正好有11.7 BTC;假设她能得到的最小数额是6+4+2=12。 所以,她可以创建一笔有三个输入和两个输出的交易。 第一个输出为11.7 BTC,所有者是Bob的地址,第二个输出为剩下的0.3 BTC找零,所有者是Alice自己。
+
+### 挖矿 {#mining}
+
+![以太坊区块](./ethereum-blocks.png)
+
+如果我们拥有可信任的中心化服务机构,状态转换系统可以很容易地实现;可以简单地将上述功能准确编码,使用中心化服务器的硬盘来记录状态。 然而,我们想把比特币构建成去中心化货币系统,为了确保每个人都同意交易的顺序,我们需要将状态转换系统与一个共识系统结合起来。 比特币的去中心化共识进程要求网络中的节点不断尝试将交易打包成“区块”。 网络计划大约每十分钟产生一个区块,每个区块包含一个时间戳、一个随机数、一个对上一个区块的引用(即哈希)和上一区块生成以来发生的所有交易列表。 随着时间推移就创建出了一个持续增长的区块链,它不断地更新,从而能够代表比特币账本的最新状态。
+
+检查一个区块是否有效的算法,如以下范式所示:
+
+1. 检查该区块引用的上一个区块是否存在且有效。
+2. 检查该区块的时间戳是否大于上一个区块 [fn2](注释编号)的时间戳并且在将来 2 小时以内
+3. 检查区块上的工作量证明是否有效。
+4. 令前一个区块末尾的态为 `S[0]`。
+5. 假设 `TX` 是该区块的交易列表,其中包含 `n` 个交易。 对于 `0...n-1` 中的所有 `i`,如果有任何应用程序返回错误,退出并返回 false,请设置 `S[i+1] = APPLY(S[i],TX[i])`。
+6. 返回 true,并将 `S[n]` 登记为该区块末尾的状态。
+
+本质上,区块中的每笔交易都必须提供一个有效的状态转换,从交易执行前的规范状态转换到某个新状态。 注意,状态并未编码到区块。它纯粹只是校验节点记住的抽象概念,只能被任意区块从创世状态开始,按顺序加上每一个区块的每一笔交易,(安全地)计算出当前状态。 另外,需要注意矿工将交易收录进区块的顺序。如果一个区块中有A、B两笔交易,B花费的是A创建的UTXO,如果A在B之前,这个区块是有效的,否则,这个区块无效。
+
+“工作量证明”是出现在上表而其他系统没有的验证条件。 具体验证方法为,对每个区块进行两次SHA256哈希处理,得到一个256位的数值,该数值必须小于不断动态调整的目标数值,本文写作时目标数值大约是2187。 工作量证明的目的是使创建区块有算力困难,从而阻止女巫攻击者恶意重新生成区块链。 因为SHA256是完全不可预测的伪随机函数,创建有效区块的唯一方法就是简单地不断试错,不断地增加随机数的数值,查看新的哈希数是否小于目标值。
+
+当前的目标数值是\~2187,网络必须平均尝试 \~269次才能生成有效的区块。一般而言,比特币网络每隔2016个区块重新设定目标数值,从而保证网络中的节点平均每十分钟生成一个区块。 为了对矿工的计算工作进行激励,每一个成功生成区块的矿工有权在区块中包含一笔凭空发给他们自己12.5 BTC的交易。 另外,如果交易的输入额大于输出,差额部分就作为“交易费”付给矿工。 顺便提一下,这也是比特币发行的唯一机制,创世状态中并没有比特币。
+
+为了更好地理解挖矿的目的,让我们分析比特币网络出现恶意攻击者时会发生什么。 因为比特币的密码学基础是非常安全的,所以攻击者会选择攻击没有被密码学直接保护的部分:交易顺序。 攻击者的策略非常简单:
+
+1. 向商家发送 100 个比特币以换取某种产品(最好是快速交付的数字商品)
+2. 等待商品交付
+3. 创建另一笔交易,将这 100 个比特币发送给自己
+4. 试图让网络相信他对自己的交易是先发生的。
+
+一旦步骤 (1) 发生,几分钟后矿工将这笔交易收录到区块中,假设是编号为 270000 的区块。 大约一小时后,此区块后面将会有五个区块,每个区块间接地指向这笔交易,从而确认这笔交易。 这时卖家收到货款,并向买家发货。因为我们假设这是数字商品,交付将瞬间完成。 现在,攻击者创建另一笔交易,将相同的100BTC发送到自己的帐户。 如果攻击者只是单纯地向全网广播这一消息,该笔交易不会被处理;矿工将运行状态转换函数 `APPLY(S,TX)` ,发现 `TX` 要花费已经不在状态中的UTXO。 所以,攻击者会对区块链进行分叉,将第269个区块作为父区块重新生成第270个区块,在此区块中用新交易取代旧的。 因为区块数据是不同的,这要求重新进行工作量证明。 另外,攻击者的新版270区块有不同的哈希,原来的271到275的区块不指向它,所以原链和攻击者的新链是完全分离的。 规定,在发生区块链分叉时,最长链被认为是诚实的区块链,合法的矿工将会沿着原有的275区块挖矿,只有攻击者一人在新的270区块后挖矿。 攻击者为了使其区块链最长,他需要拥有比除了他以外的全网更多的算力来追赶(即“51%攻击”)。
+
+### 默克尔树 {#merkle-trees}
+
+![比特币简化支付确认](./spv-bitcoin.png)
+
+_左:仅提供默克尔树上的少量节点已经足够给出分支的合法证明。_
+
+_右:对默克尔树任意部分进行改变的尝试最终都会导致链上某处不一致。_
+
+比特币一个重要的可扩展特性是:它的区块存储在多层次数据结构中。 一个区块的哈希实际上只是区块头的哈希,区块头是一段约200字节的数据,包含时间戳、随机数、上个区块的哈希和默克尔树根的哈希,而默克尔树是一个存储了该区块所有交易的数据结构。 默克尔树是一种二叉树,由一组叶节点、一组中间节点和一个根节点构成。最下面是大量包含基础数据的叶节点,每个中间节点是其两个子节点的哈希,顶部的根节点也是其两个子节点的哈希。 默克尔树的目的是允许区块数据可以零散地传送:节点可以从一个源下载区块头,从其它源下载相关树的一小部分,而依然能够确认所有的数据都是正确的。 之所以如此是因为哈希向上传播:如果一个恶意用户尝试替换一个伪造的交易到树的底部,此改动将导致树的上层节点的改动,以及更上层节点的改动,最终导致根节点的改动以及区块哈希的改动,这样协议就会将其记录为一个完全不同的区块(几乎可以肯定是带着无效的工作量证明)。
+
+默克尔树协议可以说是比特币长期持续性的基础。 比特币网络中的一个全节点——存储和处理所有区块全部数据的节点,在2014年4月需要占用15GB的磁盘空间,而且还以每个月超过1GB的速度增长。 目前,对台式计算机来说尚可接受,但是手机已经负载不了如此巨大的数据了,未来只有商业机构和爱好者才会充当完整节点。 简化支付确认协议(SPV)允许另一种节点存在,这样的节点被称为“轻节点”,它下载区块头,使用区块头确认工作量证明,然后只下载与其交易相关的默克尔树分支。 这使得轻节点只要下载整个区块链的一小部分,就可以安全地确定任何一笔比特币交易的状态和帐户的当前余额。
+
+### 其它的区块链应用 {#alternative-blockchain-applications}
+
+将区块链思想应用到其它领域的想法早就出现了。 2005 年,Nick Szabo 提出了“[利用所有者权限确保财产权](https://nakamotoinstitute.org/secure-property-titles/)”这一概念,该文件描述了“复制数据库技术的新进展”将如何允许基于区块链的系统存储谁拥有哪些土地的登记表,创建了一个包括宅基地、违法占有和佐治亚州土地税等概念的复杂框架。 然而,不幸的是在那时还没有实用的复制数据库系统,所以这个协议没有被付诸实践。 不过,自2009年比特币的去中心化共识开发成功以来,大量区块链的其它应用开始快速出现。
+
+- **域名币** - 创建于 2010 年,[域名币](https://namecoin.org/)描述成去中心化的名称注册数据库最为恰当。 在 Tor、比特币和比特信等去中心化协议中,需要某种方式来识别帐户,以便其他人可以与帐户交互,但在所有现有解决方案中,唯一可用的标识符是伪随机哈希,如 `1LW79wp5ZBqaHW1jL5TCiBCrhQYtHagUWy`。 理想情况下,人们希望能够拥有名称的帐户,比如“george”。 但是,问题在于如果一个人可以创建名为“george”的帐户,那么其他人也可以按相同流程为自己注册“george”来冒充。 唯一的解决方案是“成果优先原则”范式,即第一个注册者成功后第二个注册者将失败,这个问题非常适合比特币共识协议。 域名币是应用这种想法的最早、最成功的名称注册系统实现。
+- **彩色币** - [彩色币](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit)的作用是充当一种协议,让人们在比特币区块链上创建自己的数字货币,或者在货币只有一个单位的这种重要但琐碎情况下,创建数字代币。 在彩色币协议中,通过公开为特定的比特币 UTXO 分配一种颜色来“发行”新货币,并且该协议以递归方式将其他 UTXO 的颜色定义为与创建它们的交易所花费的输入的颜色相同(一些特殊规则适用于混合颜色输入的情况)。 这样,用户可以维护仅包含特定颜色 UTXO 的钱包,像发送普通比特币一样发送它们,并通过区块链回溯以确定他们收到的任何 UTXO 的颜色。
+- **元币** - 元币是想要拥有一个基于比特币的协议,使用比特币交易来存储元币交易,但具有不同的状态转换函数 `APPLY'`。 因为元币协议无法阻止无效元币交易出现在比特币区块链中,所以增加了一条规则,如果 `APPLY'(S,TX)` 返回错误,该协议默认为 `APPLY'( S,TX) = S`。 这为创建任意加密货币协议提供了一种简单的机制,可能有无法在比特币内部实现的高级功能,但开发成本非常低,因为比特币协议已经处理了挖矿和网络的复杂性。 元币已被用于实现某些类别的金融合约、名称注册和去中心化交易所。
+
+因此,一般而言,建立共识协议有两种方法:建立一个独立网络或把协议建立在比特币网络上。 前一种方法在域名币这样的应用中相当成功,但是该方法的实施非常困难,每个应用都要创建独立的区块链,建立并测试所有必须的状态转换函数和网络代码。 另外,我们预测去中心化共识技术应用将会服从幂律分布,大多数的应用太小不足以保证自身的安全,我们还注意到大量的去中心化应用程序,尤其是去中心化自治组织,需要进行应用之间的交互。
+
+另一方面,基于比特币的方法存在缺点,它没有继承比特币简化确认支付 (SPV) 的特性。 比特币可以实现简化确认支付,因为比特币可以用区块链深度代表有效性;某种程度上,当一笔交易的祖先们距离现在足够远时,就可以安全地认为它们是合法状态的一部分。 与之相反,基于比特币区块链的元币协议不能强迫区块链剔除违反元币协议的交易。 因此,完全安全的元币协议的简化支付确认需要后向扫描所有的区块,直到比特币区块链的初始点,以确认某一交易是否有效。 目前,所有基于比特币的元币协议的“轻”实施都依赖可信任的服务器提供数据,这对主要目的之一是消除信任需要的加密货币而言,可能是一个相当次优的结果。
+
+### 脚本 {#scripting}
+
+即使不对比特币协议进行扩展,它也能在一定程度上实现“智能合约”。 比特币的UTXO并非只能被公钥拥有,也可以被用基于堆栈的编程语言所编写的更加复杂的脚本所拥有。 在这一模式下,花费这样的UTXO,必须提供满足脚本的数据。 事实上,甚至基本的公钥所有权机制也是通过脚本实现的:脚本将椭圆曲线签名作为输入,验证该交易和拥有此UTXO的地址,如果验证成功则返回1,否则返回0。 其它更复杂的脚本用于各种不同的应用情况。 例如,人们可以创建要求集齐三个私钥签名中的两个才能进行交易确认的脚本(多重签名),对公司帐户、安全储蓄帐户和某些商业代理来说,这种脚本是非常有用的。 脚本也能用来支付解决计算问题的奖励,人们甚至可以创建这样的脚本“如果你能够提供你已经发送一定数额的狗币给我的简化确认支付证明,该比特币UTXO就是你的了”,本质上,比特币系统允许不同的加密货币进行去中心化交易。
+
+然而,比特币系统的脚本语言存在一些严重的限制:
+
+- **缺乏图灵完备性** - 也就是说,虽然比特币脚本语言支持一个很大的计算子集,但它基本上不支持所有计算。 缺少的主要类别是循环。 这样做是为了避免交易验证期间出现无限循环;理论上,对脚本程序员来说循环是一个可以克服的障碍,因为任何循环都可以通过简单地使用 if 语句多次重复执行底层代码来模拟,但这确实会导致脚本的空间效率非常低下。 例如,实现另一种椭圆曲线签名算法可能需要 256 次重复的乘法,而每次都需要单独写在代码里。
+- **价值盲** - UTXO 脚本无法对可提取金额进行精细控制。 例如,预言机合约的一个强有力的用例是对冲合约,其中 A 和 B 存入价值 $1000 的比特币,30 天后脚本将价值 $1000 的比特币发送给 A,其余的发送给 B。这需要预言机来确定 1 个比特币的美元价值,但即便如此,与现有完全集中化的解决方案相比,这在信任和基础设施要求方面仍是一个巨大的进步。 然而,由于 UTXO 要么是全部要么是零,要实现这一目标,只能使用非常低效的破解方法,即持有许多不同面额的 UTXO (例如,面额为 2k 的 UTXO,每个 k 值都可以达到 30) 并让甲骨文选择发送给 A 和发送给 B 的 UTXO。
+- **缺少状态** - UTXO 可以是已使用或未使用;用于保存任何其他内部状态的多阶段合约或脚本是没有机会出现的。 这使得多阶段期权合约、去中心化交易报价或两阶段加密承诺协议(这是安全计算赏金所必需的)难以创建。 这也意味着 UTXO 只能用于构建简单的一次性合约,而不是去中心化组织等更复杂的“有状态”合约,使得元协议难以实现。 二进制状态加之价值盲也意味着另一个重要应用 — 提款限制 — 是不可能实现的。
+- **区块链盲** - UTXO 看不到区块链的数据,例如随机数、时间戳和上一个区块的哈希。 由于该脚本语言无法通过随机性来创造可能的价值,它在博彩和其他几个类别的应用受到了严重限制。
+
+至此,我们已经考察了在加密货币上建立高级应用的三种方法:建立一个新的区块链、在比特币区块链上使用脚本、在比特币区块链上建立元币协议。 建立新区块链的方法可以自由地实现任意的特性,但要付出开发时间、引导工作和安全性的代价。 使用脚本的方法容易实施和标准化,但是它的功能有限。元币协议尽管非常容易实现,但是存在扩展性差的缺陷。 在以太坊系统中,我们打算建立一个替代框架,使得开发更便捷、轻客户端性能更强大,同时允许应用程序共享经济环境和区块链安全性。
+
+## 以太坊 {#ethereum}
+
+以太坊的目的是创建一个用于建立去中心化应用程序的替代协议,我们认为提供一套不同的折衷方案对大量去中心化应用程序非常有用,尤其是那些强调快速开发、小型和不常用应用的安全性,以及应用间高效交互能力的程序。 以太坊通过构建本质上是最终的抽象基础层来实现这一点:一种内置图灵完备编程语言的区块链,允许任何人编写智能合约和去中心化应用程序,并在其中设立他们自由定义的所有权规则、交易方式和状态转换函数。 域名币的主体框架只需要两行代码就可以实现,诸如货币和信誉系统等其它协议只需要不到二十行代码就可以实现。 智能合约,即包含价值、只有在满足特定条件时才能解锁的加密“盒子”,也可以在平台上构建,并且因为图灵完备性、价值知晓(value-awareness)、区块链知晓(blockchain-awareness)和多状态所增加的力量,而比比特币脚本所能提供的智能合约强大得多。
+
+### 以太坊帐户 {#ethereum-accounts}
+
+在以太坊中,状态由称为“帐户”的对象组成,而每个帐户都有一个 20 字节的地址,状态转换是指帐户之间价值和信息的直接转移。 一个以太坊帐户包含四个字段:
+
+- **nonce**,用于确保每笔交易只能处理一次的计数器
+- 帐户当前的**以太币余额**
+- 帐户的**合约代码**(若有)
+- 帐户的**存储**(默认为空)
+
+以太币是以太坊内部的主要加密燃料,用于支付交易费。 通常有两类帐户:由私钥控制的**外部帐户**以及由其合约代码控制的**合约帐户**。 外部帐户没有代码,持有者可以通过创建和签署交易从外部帐户发送消息;在合约帐户中,每次合约帐户收到消息时,其代码都会激活,允许该帐户读取和写入内部存储,继而发送其他消息或创建合约。
+
+注意,以太坊中的“合约”不应被视为要“履行”或“遵守”的东西;相反,合约更像是存在于以太坊执行环境中的“自治代理”。当被交易或消息“触发”时,合约总是执行特定的代码段,并直接控制自已的以太币余额和键/值存储,以跟踪永久变量。
+
+### 消息和交易 {#messages-and-transactions}
+
+在以太坊中,术语“交易”用来指代已签名的数据包,数据包存储着将要从外部帐户发送的消息。 交易包含:
+
+- 消息接收者
+- 用于识别发送者身份的签名
+- 从发送者转账到接收者的以太币金额
+- 一个可选数据字段
+- `STARTGAS` 值,表示允许交易运行的最大计算步骤数
+- `GASPRICE` 值,表示发送者每个计算步骤支付的费用
+
+前三个是任何加密货币都有的标准字段。 默认情况下,数据字段没有函数,但虚拟机有一个操作码,合约可以使用该操作码访问数据;以这样的用例为例:如果一个合约作为区块链上的域名注册服务,那么它可能希望将传送给它的数据解释为包含两个“字段”,第一个字段是要注册的域名,第二个字段将域名注册到 IP 地址。 合约将从消息数据中读取这些值,并将其适当地存储。
+
+`STARTGAS` 及 `GASPRICE` 字段对于以太坊的反拒绝服务模型至关重要。 为了防止代码中出现无意或恶意的无限循环或其他计算浪费,要求每笔交易对代码可以执行的计算步骤设置一个限制。 计算的基本单位是燃料;通常,一个计算步骤消耗 1 份燃料,但某些操作会消耗更多燃料,因为它们在计算上更加昂贵或者增加了必须存储到状态中的数据量。 交易数据中的每个字节还需支付的费用为 5 份燃料。 收费系统的意图是要求攻击者相应支付他们消耗的每一种资源,包括计算、带宽和存储;因此,任何导致网络消耗更多这些资源的交易,都必须支付大致与增加量成比例的燃料费用。
+
+### 消息 {#messages}
+
+合约能够向其他合约发送“消息”。 消息是从未序列化的虚拟对象,只存在于以太坊执行环境中。 消息包含:
+
+- 消息发送者(隐含的)
+- 消息接收者
+- 随消息一起转账的以太币金额
+- 一个可选数据字段
+- `STARTGAS` 值
+
+本质上消息类似于交易,只是消息是由合约而非外部参与者产生的。 当前正在运行代码的合约执行 `CALL` 操作码时会产生一条消息,该操作码就是用于产生并执行消息。 像交易一样,信息导致接收者帐户运行其代码。 因此,合约之间可以建立关系,方式完全与外部参与者之间建立关系相同。
+
+请注意,为交易或合约分配的燃料配额适用于该交易和所有子执行消耗的总燃料量。 例如,如果外部参与者 A 向 B 发送一笔配额为 1000 份燃料的交易,B 在向 C 发送消息需要消耗 600 份燃料,而 C 在内部执行需要消耗 300 份燃料才能返回结果,那么 B 再发送 100 份燃料就会消耗完燃料。
+
+### 以太坊状态转换函数 {#ethereum-state-transition-function}
+
+![以太币状态转换](./ether-state-transition.png)
+
+以太坊状态转换函数 `APPLY(S,TX) -> S'` 可如下定义:
+
+1. 检查交易格式是否正确(即具有正确数量的值)、签名是否有效以及 Nonce 值是否与发送者帐户中的 Nonce 值匹配。 若否,则返回错误。
+2. 通过 `STARTGAS * GASPRICE` 计算出交易费,并从签名中确定发送地址。 从发送者的帐户余额中减去费用,并增加发送者的 nonce 值。 如果帐户余额不足,则返回错误。
+3. 初始化 `GAS = STARTGAS`,并根据交易中的字节数量为每个字节扣除相应数量的燃料。
+4. 将交易数值从发送者帐户转移至接收帐户。 如果接收帐户尚不存在,则创建此帐户。 如果接收帐户是合约,运行该合约的代码,直到代码运行结束或燃料耗尽。
+5. 如果由于发送者资金不足或者代码运行耗尽了燃料,而导致转账失败,则回滚除支付费用之外的所有状态变化,并将费用支付给矿工帐户。
+6. 否则,将所有剩余燃料的费用退还发送者,并把为所消耗燃料而支付的费用发送给矿工。
+
+例如,假设合约的代码如下:
+
+```py
+if !self.storage[calldataload(0)]:
+ self.storage[calldataload(0)] = calldataload(32)
+```
+
+注意,合约代码实际上是用低级以太坊虚拟机代码编写的;为了清晰起见,此示例是用我们的一种高级语言 Serpent 编写的,它可以编译为以太坊虚拟机代码。 假设合约的存储一开始是空的,发送了一个价值为 10 个以太币的交易,消耗 2000 份燃料,燃料价格为 0.001 个以太币,并且数据包含 64 个字节,字节 0-31 代表数字 `2`,字节 32-63 代表字符串 `CHARLIE`。 在这种情况下,状态转换函数的执行过程如下:
+
+1. 检查交易是否有效、格式是否正确。
+2. 检查交易发送者是否至少有 2000 * 0.001 = 2 个以太币。 若有,则从发送者帐户中扣除 2 个以太币。
+3. 初始化燃料 = 2000 份,假设交易长度为 170 个字节,每字节费用 5 份燃料,减去 850 份燃料,剩下 1150 份燃料。
+4. 从发送者帐户再减去 10 个以太币并增加到合约帐户。
+5. 运行代码。 在本例中,运行比较简单:代码检查是否使用合约的索引 `2` 处的存储,若未使用,则通知;若使用,代码将索引 `2` 处的存储设置为值 `CHARLIE`。 假设该运行花费了 187 份燃料,所以余下的燃料数量是 1150 - 187 = 963 份燃料。
+6. 向发送者帐户增加 963 * 0.001 = 0.963 个以太币,同时返回产生的状态。
+
+如果交易的接收一端没有合约,那么总交易费就等于提供的 `GASPRICE` 乘以交易的字节长度,并且和随交易发送的数据无关。
+
+注意,消息在回滚方面与交易相同:如果消息执行耗尽燃料,那么该消息的执行以及该执行触发的所有其他执行都会回滚,但父执行不需要回滚。 这意味着合约调用另一份合约是“安全的”,就好像 A 使用 G 份燃料调用 B,那么可以保证 A 的执行最多损耗 G 份燃料。 最后请注意,有一个创建合约的操作码 `CREATE`;它的执行机制通常类似于 `CALL`,不同之处在于执行的输出决定了新创建合约的代码。
+
+### 代码执行 {#code-execution}
+
+以太坊合约中的代码用一种基于堆栈的低级字节码语言编写,被称为“以太坊虚拟机代码”或“EVM 代码”。 该代码由一系列字节组成,每个字节代表一种操作。 通常,代码执行是一个无限循环,即重复执行当前程序计数器(从零开始)处的操作,然后将程序计数器增加一,直到代码执行完毕或出现错误,或者检测到 `STOP` 或 `RETURN` 指令。 操作可以访问三种数据存储空间:
+
+- **堆栈**,一种后进先出容器,值可以在其中入栈和出栈
+- **内存**,一种可无限扩展的字节数组
+- 合约的长期**存储**,一个键/值存储。 与堆栈和内存会在计算结束后重置不同,存储将长期持续存在。
+
+代码可以访问传入消息的值、发送者信息和数据,可以访问区块头数据,而且代码还可以返回数据字节数组作为输出。
+
+以太坊虚拟机码的正式执行模型简单得令人吃惊。 当以太坊虚拟机运行时,其完整计算状态可以由元组 `(block_state, transaction, message, code, memory, stack, pc, gas)` 来定义,其中 `block_state` 是包含所有帐户的全局状态并包括余额和存储。 在每一轮执行开始时,可以通过调用 `code` 的第 `pc` 个字节(或者如果 `pc >= len(code)`,则调用 0)来找到当前指令,并且每条指令在元组影响方式方面都有自己的定义。 例如,`ADD` 将两个项目出栈并将它们的和入栈,将 `gas` 减少 1 并将 `pc` 增加 1,`SSTORE` 将顶部的两个项目出栈并将第二个项目插入到合约存储中第一个项目指定的索引处。 尽管有很多通过 JIT 编译来优化以太坊虚拟机执行的方法,但只需几百行代码就可以完成以太坊的基本实现。
+
+### 区块链和挖矿 {#blockchain-and-mining}
+
+![以太坊应用框图](./ethereum-apply-block-diagram.png)
+
+以太坊区块链在许多方面与比特币区块链相似,但确实存在一些差异。 以太坊和比特币在区块链架构方面的主要区别在于,与比特币不同,以太坊区块包含交易列表和最新状态的副本。 此外,其他两个值、区块编号和难度也存储在区块中。 以太坊中的基本区块验证算法如下:
+
+1. 检查被引用的前一个区块是否存在并有效。
+2. 检查区块的时间戳是否大于被引用的前一个区块的时间戳,并且在将来 15 分钟以内。
+3. 检查区块编号、难度、交易根、叔根和燃料限制(各种以太坊特定的低级概念)是否有效。
+4. 检查区块上的工作量证明是否有效。
+5. 令前一个区块末尾的态为 `S[0]`。
+6. 令区块的交易列表为 `TX`,并包含 `n` 笔交易。 对于 `0...n-1` 中的所有 `i`,设置 `S[i+1] = APPLY(S[i],TX[i])`。 如果任何应用程序返回错误,或者直到此时区块中消耗的总燃料量超过 `GASLIMIT`,则返回错误。
+7. 令 `S_FINAL` 为 `S[n]`,但添加支付给矿工的区块奖励。
+8. 检查状态 `S_FINAL` 的默克尔树根是否等于区块头中提供的最终状态根。 如果等于,则该区块有效;否则该区块无效。
+
+这种方法乍一看效率似乎极低,因为它需要存储每个区块的全部状态,但实际上效率应该与比特币相当。 原因是状态存储在树结构中,而且在添加每个区块后只需要更改树的一小部分。 因此一般来说,在两个相邻区块之间,树的绝大部分应该是相同的,因此数据可以用指针(即子树的哈希)存储一次和引用两次。 一种称为“帕特里夏树”的特殊类型的树用于实现此目的,它包括对默克尔树概念的修改,允许高效地插入和删除节点,而不仅仅是更改。 此外,由于所有状态信息都存在于最后一个区块内,因此无需存储整个区块链历史,如果可以应用于比特币,使用这种策略计算可以节省 5-20 倍空间。
+
+一个常见的问题是合约代码在物理硬件的“哪里”执行。 该问题有一个简单的答案:合约代码的执行过程是状态转换函数定义的一部分,而该函数是区块验证算法的一部分,因此如果将交易添加到区块 `B` 中,由该交易产生的代码执行将在现在和将来由所有节点执行,由此下载并验证区块 `B`。
+
+## 应用 {#applications}
+
+通常,以太坊上有三种类型的应用。 第一类是金融应用,为用户提供更有效的方式来使用资金管理和签订合约。 包括子货币、金融衍生品、对冲合约、储蓄钱包、遗嘱,甚至最终包括某些类别的完整雇佣合约。 第二类是半金融应用,它们涉及金钱,但很大一部分功能也与资金无关;一个恰当的示例是针对解决计算难题的自动执行的赏金。 最后还有一些应用与金融毫不想关,例如在线投票和去中心化治理。
+
+### 代币系统 {#token-systems}
+
+区块链上的代币系统有许多应用,从代表美元或黄金等资产的子货币到公司股票等等,单个代币可以代表智能资产、不可伪造的安全优惠券,甚至可代表作为激励积分系统并与传统价值完全没有联系的代币系统。 代币系统在以太坊中非常容易实现,让人吃惊。 要理解的重点是,从根本上讲,所有货币或代币系统都是具有这样一种操作的数据库:从 A 中减去 X 个单位并将 X 个单位添加给 B,条件是 (1) A 在交易之前至少有 X 个单位并且 (2) 交易由 A 批准。实现代币系统所需要做的就是将此逻辑实现到合约中。
+
+使用 Serpent 语言实现代币系统的基本代码如下所示:
+
+```py
+def send(to, value):
+ if self.storage[msg.sender] >= value:
+ self.storage[msg.sender] = self.storage[msg.sender] - value
+ self.storage[to] = self.storage[to] + value
+```
+
+此代码本质上是本文档前面部分详细描述的“银行系统”状态转换函数的字面实现。 需要额外添加几行代码来规定在最初以及其他一些特殊情况下分配货币单位的初始步骤,理想情况下,应该添加一个函数让其他合约查询地址的余额。 但这就足够了。 理论上,基于以太坊的代币系统在作为子货币时可能具有另一个重要特征,该特征是基于比特币的链上元货币所缺乏的,那就是直接以该货币支付交易费的能力。 实现这一点的方式是:合约会保持一定数量的以太币余额,用来向发送者退还用于支付费用的以太币;合约也会通过收取费用来收集内部货币,并在持续不断的拍卖中转售货币,以此补充以太币余额。 因此,用户需要用以太币“激活”他们的帐户,但一旦帐户中有以太币,就可以重复使用,因为合约每次都会向帐户退还资金。
+
+### 金融衍生品和价值稳定的货币 {#financial-derivatives-and-stable-value-currencies}
+
+金融衍生品是“智能合约”最常见的应用,也是通过代码实现的最简单的应用之一。 实现金融合约的主要挑战在于,其中大多数合约都需要引用外部价格自动收报机;例如,一个非常理想的应用是对冲以太币(或其他加密货币)相对于美元波动的智能合约,但对冲需要合约知道以太币/美元的价值。 要实现这一点,最简单的方法是借助由特定方(例如纳斯达克)维护的“数据馈送”合约,这种合约的设计使得特定方能够根据需要更新合约并提供一个接口,允许其他合约向该合约发送消息并返回包含价格的响应。
+
+鉴于这一关键因素,对冲合约将如下所示:
+
+1. 等待 A 方输入 1000 个以太币。
+2. 等待 B 方输入 1000 个以太币。
+3. 在存储中记录 1000 个以太币的美元价值(通过查询数据馈送合约计算得出),假设价值是 $x。
+4. 30 天后,允许 A 或 B“重新激活”该合约,以便将价值 $x 的以太币(通过再次查询数据馈送合约获取新价格并且计算得出)发送给 A,剩余以太币发送给 B。
+
+这种合约在加密货币交易中潜力巨大。 加密货币的主要问题之一是它的波动性。尽管许多用户和商家可能希望获得处理加密资产的安全性和便利性,但他们中许多人不希望面临在一天内资金价值损失 23% 的景象。 迄今为止,最常见的解决方案是发行人支持的资产;其想法是发行人创建一种子货币,他们有权发行和撤销这种子货币单位,并且发行人可以向给他们(离线)提供一个单位指定基础资产(例如黄金、美元)的任何人提供一个单位的货币。 然后,发行人承诺向返还一个单位加密资产的任何人提供一个单位基础资产。 这种机制使得任何非加密资产“升级”为加密资产,前提是发行人是可信的。
+
+但实际上,发行人并不总是值得信赖,在某些情况下,银行基础设施过于薄弱或过于不友好,以至于无法提供此类服务。 金融衍生品提供了一种替代方案。 在这种方案中,不是由单个发行人提供资金来支持资产,而是由一个去中心化的投机者市场承担了这一角色,他们押注加密参考资产(例如以太币)的价格会上涨。 与发行人不同,投机者无法在交易中违约,因为对冲合约托管他们的资金。 请注意,这种方法不是完全去中心化的,因为仍然需要一个可信来源提供价格自动收报机,但可以说在降低基础设施要求(与成为发行者不同,发布价格馈送不需要许可证并且可能被归类为自由言论)以及减少欺诈的可能性方面,这仍是一次巨大的改进。
+
+### 身份和信誉系统 {#identity-and-reputation-systems}
+
+最早的替代加密货币[域名币](http://namecoin.org/)尝试使用类似比特币的区块链提供一种名称注册系统,通过该系统,用户可以在公共数据库中注册他们的姓名和其他数据。 主要用例是 [DNS](https://wikipedia.org/wiki/Domain_Name_System) 系统,它将诸如“bitcoin.org”等域名(在域名币的情况下,“bitcoin.bit”)映射到一个 IP 地址。 其它用例包括电子邮件身份验证系统和可能更为先进的信誉系统。 下面是一个基础合约,它在以太坊中提供与域名币类似的名称注册系统:
+
+```py
+def register(name, value):
+ if !self.storage[name]:
+ self.storage[name] = value
+```
+
+合约非常简单;合约就是以太坊网络中的一个数据库,可以向其中添加但不能修改或移除。 任何人都可以把名称注册为一个值,该注册将永久保存。 更复杂的名称注册合约还包含一个“函数子句”以及一种机制,前者允许其他合约查询它,后者允许名称的“所有者”(即第一个注册者)更改数据或转让所有权。 甚至可以在该合约上添加信誉和信任网络功能。
+
+### 去中心化文件存储 {#decentralized-file-storage}
+
+过去几年,大批受欢迎的在线文件存储初创公司不断涌现,其中最著名的是 Dropbox。Dropbox 想让用户可以上传硬盘备份、提供备份存储服务并允许用户访问备份,而用户需按月付费。 然而,在这一点上,文件存储市场有时效率相对较低。在粗略了解各种现有解决方案后会发现,主流文件存储的每月价格比整个硬盘驱动器的成本还要高,特别是在被称为“恐怖谷”的 20-200 GB 级别,既没有免费额度也没有企业级折扣。 以太坊合约让去中心化文件存储生态系统得以发展,个人用户可以在该系统中将自己的硬盘租出去以获得少量收益,而未使用的空间可用来进一步降低文件存储的成本。
+
+该系统的基础性构件就是我们所谓的“去中心化 Dropbox 合约”。 该合约的工作原理如下。 首先,用户将需要存储的数据拆分成几个区块并对每个区块加密以保护隐私,然后以此构建一个默克尔树。 然后创建一个含以下规则的合约,对于每 N 个区块,合约将从默克尔树中选择一个随机索引(使用能够被合约代码访问的上一个区块的哈希作为随机性来源),然后给予第一个实体 X 个以太币,以提供具有简化支付确认(例如证明树中特定索引处区块的所有权)的交易。 当用户想重新下载他们的文件时,可以使用微支付通道协议(例如每 32 KB 支付 1 个 szabo)收回文件;最节省费用的方法是支付者不到最后不发布交易,而是每 32 KB 之后,用一个更划算的具有相同 nonce 的交易取代原来的交易。
+
+该协议的一个重要特点是,虽然似乎用户相信许多随机节点不会丢失文件,但可以通过以下方法将这种风险降低到接近于零:通过私钥共享将文件拆分成许多部分,并通过监控合约确定每一部分仍在某个节点中。 如果合约仍在支付款项,则提供了一个加密证明,证明有人仍在存储该文件。
+
+### 去中心化自治组织 {#decentralized-autonomous-organizations}
+
+通常意义上“去中心化自治组织”是指拥有一定数量成员或股东的虚拟实体,他们大概拥有 67% 的大多数股权,有权使用实体的资金并修改其代码。 成员集体决定组织的资金分配方式。 去中心化自治组织的资金分配方式可以是奖金、薪资或者更奇特的机制等等,比如用内部货币去奖励工作。 这在本质上复制了传统公司或者非营利组织的合法手段,但仅使用加密区块链技术进行了加强。 目前为止,许多关于去中心化自治组织的讨论都围绕着去中心化自治公司的“资本家”模式,其中有可获得红利的股东和可交易的股份;作为替代方案,有一种可能被称为“去中心化自治社区”的实体将使所有成员在决策时拥有同等权利,并在增减成员时要求 67% 的现有成员多数同意。 由于每个人只能拥有一个成员资格,所以需要群体来集体执行。
+
+下面概括了如何用代码实现去中心化自治组织。 最简单的设计就是一段自动修改的代码,如果三分之二的成员同意更改,该代码就更改。 理论上代码是不可更改的,然而通过把代码片段放入不同的合约并将合约调用的地址存储在可更改的存储中,用户可以轻易解决这一问题,使代码事实上变得可修改。 在这种去中心化自治组织合约的简单实现中,有三种交易类型,可通过交易中提供的数据行区分:
+
+- `[0,i,K,V]` 在索引 `i` 处注册提案,以便将存储索引 `K` 的地址更改为值 `V`
+- `[1,i]` 注册一张赞成提案 `i` 的投票
+- `[2,i]` 如果投票有足够票数,则确认提案 `i`
+
+合约为每一种交易都提供有子句。 它将维护所有开放存储更改的记录以及投票支持者的列表。 合约还包括所有成员的列表。 当任何存储更改获得三分之二成员投票赞成时,一个确认交易将执行这项更改。 更复杂的框架可能还有针对发送交易、增减成员等功能的内置投票功能,甚至可以提供[委任式民主](https://wikipedia.org/wiki/Liquid_democracy)投票委托(即任何人都可以委托另外一个人代表自己投票,而且这种委托关系是可以传递的,如果 A 委托了 B,然后 B 委托了 C,那么 C 将决定 A 的投票)。 这种设计将使去中心化自治组织作为一个去中心化社区有机地成长,允许人们最终将筛选成员的任务委派给专家,但与“现有系统”不同,随着时间的推移,当个别社区成员改变他们的阵营时,专家可以很容易地加入或退出。
+
+另一个模型是去中心化公司,其中任何帐户可以拥有零份或多份股份,决策需要持有三分之二多数股份。 完整框架将包括资产管理功能,即能够出价购买或出售股份并且能够接受报价(最好是合约里有订单匹配机制)。 委托还提供委任制民主形式,普及了“董事会”的概念。
+
+### 更多应用 {#further-applications}
+
+**1. 储蓄钱包**。 假设 Alice 想安全地保管她的资金,但她担心自己的私钥丢失或被破解。 她把以太币放到和银行 Bob 签订的一个合约里,如下所示:
+
+- Alice 每天最多可以单独提取 1% 的资金。
+- Bob 每天最多可以单独提取 1% 的资金,但 Alice 可以用她的密钥创建一个交易取消 Bob 的提取权限。
+- Alice 和 Bob 一起可以任意提取资金。
+
+通常,每天 1% 的额度对于 Alice 足够了,如果 Alice 想提取更多资金,她可以联系 Bob 寻求帮助。 如果 Alice 的密钥被破解,她可以立即找到 Bob,帮她将资金转移到一个新合约里。 如果 Alice 丢失了密钥,Bob 最终会取出资金。 如果最终发现 Bob 是恶意的,她可以取消他的提取权限。
+
+**2. 作物保险**。 用户可以轻松地制订金融衍生品合约,但使用的是天气而不是任何价格指数的数据馈送。 如果爱荷华州的一位农民购买了一项金融衍生品,该产品基于爱荷华的降雨情况进行反向赔付,那么如果遇到干旱,该农民将自动收到赔付资金,而且如果降雨充沛,他会很开心,因为他的作物收成会很好。 通常,这种保险可以扩展到自然灾害保险。
+
+**3. 去中心化数据馈送**。 对于金融差价合约,实际上有可能通过一种名为“[谢林币](http://blog.ethereum.org/2014/03/28/schellingcoin-a-minimal-trust-universal-data-feed/)”的协议将数据馈送去中心化。 谢林币的基本工作原理如下。N 个相关方都向系统输入给定数据的值(以太币/美元价格),对这些值进行排序,在第 25 和第 75 百分位之间的每个人都会得到一个代币作为奖励。 每个人都有动力提供其他人都会提供的答案,而唯一能让众多参与者实际达成一致的值是显而易见的:真相。 这样就创建了一种去中心化的协议,它理论上可以提供任何数量的值,包括以太币/美元的价格、柏林的温度、甚至某个硬计算的结果。
+
+**4. 智能多重签名托管**。 比特币允许多重签名交易合约,例如,提供了给定五个密钥中的三个便可以使用资金。 以太坊允许更精细的控制;例如,提供五个密钥中的四个可以使用任意数额的资金,提供五个密钥中的三个可以每天最多使用 10% 的资金,提供五个密钥中的两个可以每天最多使用 0.5% 的资金。 此外,以太坊的多重签名是异步的 — 双方可以在不同时间在区块链上注册他们的签名,最后一个签名将自动发送交易。
+
+**5. 云计算**。 以太坊虚拟机技术还可以用来创建一个可验证的计算环境,让用户可以要求他人执行计算,然后有选择地索要证明,证实计算在某些随机选定的检查点处正确完成。 这就可以创建一个云计算市场,任何用户都可以用他们的台式机、笔记本电脑或专用服务器来参与,并且抽查与保证金双管齐下确保系统是值得信赖的(即节点不能通过欺骗获利)。 但是,这样的系统可能并不适合所有任务;例如,需要进行大量进程间通信的任务无法在大型节点云上轻易实现。 然而,其他任务则更容易实现并行;例如 SETI@home、folding@home 和遗传算法等项目可以方便地在这类平台上实现。
+
+**6. 点对点赌博**。 任意数量的点对点赌博协议都可以在以太坊区块链上实现,例如 Frank Stajano 和 Richard Clayton 的 [Cyberdice](http://www.cl.cam.ac.uk/~fms27/papers/2008-StajanoCla-cyberdice.pdf)。 最简单的赌博协议实际上只是一种关于下一个区块哈希的差价合约,并且可以在其基础上创建更高级的协议,创建接近零费用且无法作弊的赌博服务。
+
+**7. 预测市场**。 如果有预言机或谢林币,预测市场也很容易实现,预测市场与谢林币一起有可能被证明是 [futarchy](http://hanson.gmu.edu/futarchy.html) 的第一个主流应用,作为去中心化组织的治理协议。
+
+**8. 链上去中心化市场**,基于身份和信誉系统。
+
+## 杂项和关注 {#miscellanea-and-concerns}
+
+### 改进版 GHOST 协议的实现 {#modified-ghost-implementation}
+
+“贪婪最重可观察子树”(GHOST) 协议是由 Yonatan Sompolinsky 和 Aviv Zohar 在 [2013 年 12 月](https://eprint.iacr.org/2013/881.pdf)首次提出的一项创新。 提出 GHOST 的动机是,具有快速确认时间的区块链目前由于过时率高而安全性降低 — 因为区块需要一定的时间才能通过网络传播,如果矿工 A 开采了一个区块,然后矿工 B 碰巧在矿工 A 的区块传播到 B 之前开采了另一个区块,那么矿工 B 的区块最终会被作废,不会增加网络安全。 此外,还有一个中心化问题:如果矿工 A 是一个拥有 30% 算力的矿池,而 B 拥有 10% 算力,那么 A 将面临 70% 的时间生产陈腐区块的风险(因为在其他 30% 的时间 A 产生了最后一个区块,所以会立即获得挖矿数据),而 B 将面临 90% 的时间生产陈腐区块的风险。 因此,如果区块间隔短到足以使过时率较高,则 A 将仅仅凭借其规模而显着提高效率。 结合这两种影响,快速产生区块的区块链很可能造就一个拥有足够高比例网络算力的矿池,从而对挖矿过程拥有事实上的控制。
+
+正如 Sompolinsky 和 Zohar 所描述的,GHOST 通过在计算哪条链“最长”时包含陈腐区块来解决第一个问题 - 网络安全降低;也就是说,在计算哪个区块具有最大的总工作量证明支持它时,不仅区块的父块和更远的祖先,而且该区块祖先(在以太坊行话中称为“叔块”)的陈腐子代也都被添加到计算中。 为了解决第二个问题 - 中心化偏差,我们跳出了 Sompolinsky 和 Zohar 描述的协议范畴,并且还为陈腐区块提供区块奖励:陈腐区块获得其基础奖励的 87.5%,而包含陈腐区块的侄块获得剩余的 12.5%。 不过,交易费不奖励给叔块。
+
+以太坊实现了一个简化版的 GHOST 协议,它仅仅深入七个层级。 具体而言,它的定义如下:
+
+- 一个区块必须指定一个父块,并且必须指定零个或多个叔块
+- 包含在区块 B 中的叔块必须具有以下属性:
+ - 它必须是区块 B 的第 k 代祖先的直系子代,其中 `2 <= k <= 7`。
+ - 它不能是 B 的祖先
+ - 叔块必须是有效的区块头,但不需要是之前验证过的甚至是有效的区块
+ - 叔块必须不同于前面区块中包含的所有叔块,并且不同于同一区块中包含的所有其他叔块(非双重包含)
+- 对于区块 B 中的每个叔块 U,区块 B 的矿工获得额外 3.125% 的铸币奖励,而叔块 U 的矿工获得 93.75% 的标准铸币奖励。
+
+这种限制版的 GHOST 协议,最多只能包含 7 代叔块,采用它有两个原因。 首先,无限制 GHOST 协议让计算给定区块的哪些叔块有效时过于复杂。 其次,无限制 GHOST 协议采用了以太坊中使用的补偿,取消了促使矿工在主链而不是公共攻击者的链上挖矿的激励措施。
+
+### 费用 {#fees}
+
+由于发布到区块链中的每笔交易都会给网络带来下载和验证成本,因此需要一些监管机制(通常涉及交易费)以防滥用。 比特币中使用的默认方法是收取完全自愿性质的费用,依靠矿工充当守门人并设置动态最低费用。 这种方法在比特币社区中非常受欢迎,特别是因为它是“基于市场的”,允许由矿工和交易发送者之间的供需决定价格。 然而,这种思路的问题在于,交易处理并不符合市场规律。尽管将交易处理解释为矿工向发送者提供的服务直观上很有吸引力,但实际上矿工收录的每笔交易都需要由网络中的每个节点处理,因此绝大部分交易处理成本由第三方承担,而不是由决定是否收录交易的矿工承担。 因此,公地悲剧的问题很可能发生。
+
+然而结果却是,基于市场机制中的这个缺陷,在给出一个不准确的特定简化假设时,会神奇地自我抵消。 论证如下。 假设:
+
+1. 交易导致 `k` 个操作,将提供奖励 `kR` 给收录它的任何矿工,其中 `R` 由发送者设置,`k` 和 `R` 事先(大体上)对矿工可见。
+2. 操作在任何节点的处理成本均为 `C`(即所有节点效率相同)
+3. 有 `N` 个挖矿节点,每个节点的处理能力完全相同(即为总处理能力的 `1/N`)
+4. 没有不挖矿的完整节点。
+
+如果预期奖励大于成本,矿工将愿意处理交易。 因此,预期奖励是 `kR/N`,因为矿工有 `1/N` 几率处理下一个区块,而矿工的处理成本仅仅是 ` kC`。 所以,当 `kR/N > kC` 或者 `R > NC` 时,矿工将会收录交易。 请注意,`R` 是发送者提供的每个操作的费用,因此是发送者从交易中获得的收益的下限,`NC` 是整个网络共同处理一个操作的成本。 因此,矿工有动力仅收录那些总实际收益超过成本的交易。
+
+然而,现实中这些假设会存在几个重要偏差:
+
+1. 与其他验证节点相比,矿工处理交易的成本确实更高,因为额外的验证时间会延迟区块传播,因而增加区块变陈腐的几率。
+2. 确实存在不挖矿的完整节点。
+3. 实际中挖矿能力的分配最终可能极端不平等。
+4. 热衷于破坏网络的投机者、政敌和疯子确实存在,他们可以巧妙地设置合约,使得他们的成本远低于其他验证节点支付的成本。
+
+(1) 让矿工趋向于收录更少的交易,并且 (2) 增加 `NC`;因此,这两种作用会相互抵消 一部分 。[如何抵消?](https://github.com/ethereum/wiki/issues/447#issuecomment-316972260) (3) 和 (4) 是主要问题,为了解决它们,我们简单地制订了一个 浮动上限:没有区块能够包含比 `BLK_LIMIT_FACTOR` 乘以长期指数移动平均值更多的操作数。 具体如下:
+
+```js
+blk.oplimit = floor((blk.parent.oplimit * (EMAFACTOR - 1) +
+floor(parent.opcount * BLK_LIMIT_FACTOR)) / EMA_FACTOR)
+```
+
+`BLK_LIMIT_FACTOR` 和 `EMA_FACTOR` 是常量,暂时设置为 65536 和 1.5,但可能会在进一步分析后更改。
+
+还有一个因素会抑制比特币中的大区块大小:大区块将需要更长时间来传播,因此变陈腐的概率更高。 在以太坊中,燃料消耗量高的区块也可能需要更长的传播时间,因为它们的物理大小更大,而且因为它们需要更长时间来处理交易状态转换以进行验证。 这种延迟抑制因素在比特币中是一个重要的考虑因素,但在以太坊中由于 GHOST 协议而较少考虑;因此,依靠受监管的区块限制可提供更稳定的基线。
+
+### 计算和图灵完备 {#computation-and-turing-completeness}
+
+重要的一点是,以太坊虚拟机是图灵完备的;这意味着以太坊虚拟机代码可以对任何设想可执行的计算进行编码,包括无限循环。 以太坊虚拟机代码以两种方式实现循环。 首先,使用一个 `JUMP` 指令,允许程序跳回至代码中的前一个位置,还使用一个 `JUMPI` 指令进行条件跳转,允许诸如 `while x < 27: x = x * 2` 之类的语句。 其次,合约可以调用其他合约,有可能通过递归进行循环。 这很自然地导致了一个问题:恶意用户能够通过迫使矿工和完整节点进入无限循环而不得不关机吗? 这个问题的出现源于计算机科学中的一个难题,称为停机问题:在一般情况下,没有办法知道一个特定的程序是否会停止运行。
+
+正如状态转换部分所述,我们的解决方案要求交易设置一个允许执行的最大计算步骤数,如果超过执行时间,计算就会被回滚,但仍要支付费用。 消息的工作原理相同。 为显示我们解决方案背后的动机,请看下面的示例:
+
+- 攻击者创建一个运行无限循环的合约,然后向矿工发送激活该循环的交易。 矿工将处理该交易,运行无限循环直到燃料耗尽。 即使执行耗尽了燃料并中途停止,交易仍然有效,矿工仍然向攻击者索取每个计算步骤的费用。
+- 攻击者创建一个非常长的无限循环,目的是迫使矿工持续计算很长时间,以至于计算结束时,将有更多区块产生出来,这样矿工就不可能通过收录该交易来索取费用。 然而,攻击者需要为 `STARTGAS` 提交一个值,限制执行可以进行的计算步骤数,因此矿工将提前知道该计算将进行相当多的步骤数。
+- 攻击者看到一个合约,其中的代码形式为 `send(A,contract.storage[A]); contract.storage[A] = 0`,然后发送一个交易,但燃料只够运行第一步而不足以运行第二步(即进行提款但不让余额减少)。 合约作者无需担心防卫此类攻击,因为如果执行中途停止,更改会被回滚。
+- 金融合约使用九个专有数据馈送的中位数,以便最大限度降低风险。 攻击者接管其中一个数据馈送,该数据馈送设计为可通过去中心化自治组织部分描述的变量-地址-调用机制修改,并将其转换为运行无限循环,从而强制任何从金融合约索取资金的尝试都因燃料耗尽而中止。 然而,金融合约可以为消息设置一个燃料限制,防止这个问题发生。
+
+图灵完备的替代方案是图灵不完备,其中 `JUMP` 和 `JUMPI` 不存在,并且在任何给定时间每个合约只允许有一个副本存在于调用堆栈内。 在这样的系统里,上述收费系统和关于我们解决方案效果的不确定性可能都是不需要的,因为执行一个合约的成本将被它的大小决定。 此外,图灵不完备甚至不是一个很大的限制;在我们内部构想的所有合约示例中,到目前为止只有一个需要循环,甚至那个循环也可以通过将一行代码重复 26 次来消除。 考虑到图灵完备带来的严重影响和有限的益处,为什么不简单地使用一种图灵不完备语言呢? 然而,在现实中,图灵不完备还远远不能有效地解决问题。 要想知道原因,请思考以下合约:
+
+```sh
+C0: call(C1); call(C1);
+C1: call(C2); call(C2);
+C2: call(C3); call(C3);
+...
+C49: call(C50); call(C50);
+C50: (run one step of a program and record the change in storage)
+```
+
+现在,向 A 发送一笔交易。这样,在 51 笔交易中,我们有一个合约需要进行多达 250 个计算步骤。 矿工可以尝试提前检测这种逻辑炸弹,方法是为每个合约维护一个值,指定合约可以进行的最大计算步骤数,然后对递归调用其他合约的合约进行计算,但是这需要矿工禁止创建其他合约的合约(因为上面 26 个合约的创建和执行可以很容易地汇集到一个单独合约内)。 另一个问题是,消息的地址字段是一个变量,所以在一般情况下,甚至不可能提前知道某个合约将调用哪些其他合约。 于是,最终我们有了一个惊人的结论:图灵完备的管理惊人地容易,而在缺乏同样的控制时图灵不完备的管理惊人地困难,那为什么不直接让协议图灵完备呢?
+
+### 货币和发行 {#currency-and-issuance}
+
+以太坊网络包括自己的内置货币以太币,以太币扮演双重角色:提供一个主要流动资金层,实现各种数字资产之间的高效交易;更重要的是,提供一种支付交易费的机制。 为了方便起见并避免将来出现争议(参考比特币当前的 mBTC、uBTC、satoshi 争论),不同面值的名称将提前设置如下:
+
+- 1: wei
+- 1012:Szabo
+- 1015:finney
+- 1018:ETH
+
+这应该被视为“美元”和“美分”或“BTC”和“satoshi”概念的扩展版本。 在不久的将来,我们期望“ETH”用于普通交易,“finney”用于微型交易,“szabo”和“wei”可以在围绕费用和协议实现的技术讨论中使用;其余的面额可能会在以后变得有用,但目前不应包含在客户端中。
+
+发行模型如下:
+
+- 以太币将以货币销售的形式发行,价格为一个比特币可购买 1000-2000 个以太币,这种机制旨在为以太坊组织筹资和支付开发费用,且已被其他平台(如 Mastercoin 和 NXT)成功应用。 早期的购买者将从较大的折扣中获益。 发售所得的比特币将全部用来支付开发者的薪资和奖金,并用来投资以太坊和加密货币生态系统中的各种营利和非营利项目。
+- 0.099倍的发售总量(60102216 个以太币)将分配给以太坊组织,以补偿早期贡献者,并用以太币计价的方式支付创世块诞生前的开销。
+- 0.099 倍的发售总量将作为长期储备金保留。
+- 发售后,将永久性地每年为矿工分配 0.26 倍的发售总量。
+
+| 分组 | 启动时 | 一年后 | 5 年后 |
+| --------- | ------ | ------ | ------ |
+| 货币单位 | 1.198X | 1.458X | 2.498X |
+| 购买者 | 83.5% | 68.6% | 40.0% |
+| 已支用的预售准备金 | 8.26% | 6.79% | 3.96% |
+| 已使用的售后准备金 | 8.26% | 6.79% | 3.96% |
+| 矿工 | 0% | 17.8% | 52.0% |
+
+#### 长期供应增长率(百分比)
+
+![以太坊通货膨胀](./ethereum-inflation.png)
+
+_尽管采用了线性发行方式,然而和比特币一样,以太币的长期供应增长率也趋于零。_
+
+上述模型提供了两个主要选项:(1) 捐赠池的存在和规模,以及 (2) 永久增长的线性供应的存在,而比特币采用了限制供应的方法。 捐赠池存在的理由如下。 如果捐赠池不存在,并且线性发行量减少到总发售量的 0.217 倍以实现相同的通货膨胀率,那么以太币总量将减少 16.5%,而每个单位的价值将增加 19.8%。 因此为了均衡,将会多发售 19.8% 的以太币,所以每个单位的价值将再次与以前完全一样。 之后,该组织还将拥有 1.198 倍的比特币,可以考虑将其分成两部分:原有的比特币和增加的 0.198 倍比特币。 因此,这种情况_完全等同于_捐赠,但有一个重要区别:该组织仅持有比特币,因而没有动力支持以太币单位的价值。
+
+永久性线性供应增长模型降低了有些人认为比特币财富过度集中的风险,并为生活在当前和未来的人提供了获取货币单位的公平机会,同时又保留了让人获取并持有以太币的强效激励措施,因为长期来看,用百分比表示的“供应增长率”将趋于零。 我们还推测,由于加密货币总是会因为不小心、死亡等原因而丢失,而加密货币的损失可以被模拟为每年总供应量的百分比,因此流通中的货币总供应量实际上最终会稳定在一个等于每年发行量除以损失率的数值上(例如,在损失率为 1% 时,一旦供应量达到 26 倍,那么每年将有 0.26 倍被开采,0.26 倍丢失,形成一个平衡点)。
+
+注意,未来以太坊可能过渡到权益证明模型以确保安全,将每年发行量降低到 0 至 0.05 倍之间。 如果以太坊组织失去资助或出于任何其他原因而消失,我们将开放一个“社区合约”:任何人都有权创建未来的以太坊候选版本,唯一的条件是太币数量必须最多为 `60102216 * (1.198 + 0.26 * n)` 个,其中 `n` 是创世块产生后的年数。 创建者可以自由地通过众筹或其他方式,分配权益证明驱动的供应增加与最大允许供应增加之间的部分或全部差额,以支付开发费用。 不符合社区合约的候选版本升级可能被合理地分叉为兼容版本。
+
+### 挖矿中心化 {#mining-centralization}
+
+比特币挖矿算法的原理是,让矿工一次又一次地对区块头稍作修改的版本进行数百万次 SHA256 计算,直到最终某个节点所产生版本的哈希小于目标值(目前大约为 2192)。 然而,这种挖矿算法容易遭受两种形式的中心化攻击。 第一种,挖矿生态系统已经被 ASIC(专用集成电路)所支配,这些计算机芯片专门为特定的比特币挖矿任务而设计,因此效率提高了数千倍。 这意味着比特币挖矿不再是一种高度去中心化和平等的事业,需要巨额资本才能有效参与。 第二种,大部分比特币矿工事实上不在本地完成区块验证;而是依赖中心化矿池提供区块头。 这个问题可以说更糟:截至撰写本文时,排名前三的矿池间接控制了比特币网络中大约 50% 的处理能力,尽管当矿池或联盟试图进行 51% 攻击时,矿工可以转换到其他矿池这一事实缓解了该问题。
+
+以太坊现在的目的是使用一种挖掘算法,要求矿工从状态中获取随机数据,从区块链的最后 N 个区块中计算一些随机选择的交易,并返回结果的哈希值。 这有两个重要好处。 首先,以太坊合约可以包含任何类型的计算,因此以太坊 ASIC 本质上是用于一般计算的 ASIC,即更好的 CPU。 其次,挖矿需要访问整个区块链,这迫使矿工存储整个区块链并至少能够验证每笔交易。 这样就消除了对中心化矿池的需求;虽然矿池仍然可以起到平衡奖励分配随机性的合法作用,但没有中心化控制的点对点矿池同样也可以很好地发挥此功能。
+
+该模型未经测试,在将合约执行作为挖矿算法使用时,在避免某些巧妙优化的过程中可能会遇到困难。 然而,这种算法有一个值得注意的特点,任何人都可以通过将专用于抑制某些 ASIC 的大量合约引入区块链中,在“井里下毒”。 由于存在经济激励,ASIC 制造商会使用这种方法互相攻击。 因此,我们正在开发的解决方案最终是一种适应性人为经济解决方案,而不是纯粹的技术解决方案。
+
+### 可扩展性 {#scalability}
+
+可扩展性问题是以太坊常被关注的一个方面。 像比特币一样,以太坊也有缺陷,即网络中的每个节点都需要处理每笔交易。 使用比特币,当前区块链的大小约为 15 GB,每小时增长约 1 MB。 如果比特币网络像 Visa 一样每秒处理 2000 笔交易,它将每三秒增长 1 MB(每小时 1 GB,每年 8 TB)。 以太坊可能也会经历相似甚至更糟的增长模式,因为以太坊区块链之上还有很多应用,不像比特币区块链上只有货币,但以太坊完整节点只需存储状态而不是完整的区块链历史,这一事实让情况得到了改善。
+
+大区块链的问题是中心化风险。 如果区块链大小增加到 100 TB,可能的情况是只有极少数大型企业能运行完整节点,而所有普通用户将使用轻 SPV 节点。 在这种情况下,可能会出现这样的担忧:完整节点合伙欺诈牟利(例如更改区块奖励,给他们自己比特币等)。 轻节点无法立即检测到这一点。 当然,可能至少存在一个诚实的完整节点,几个小时之后有关诈骗的信息会通过 Reddit 这样的渠道泄露,但这时已为时过晚:将由普通用户相互组织协作将指定区块列入黑名单,这种大规模的、很可能不切实际的协作在规模上无异于发动一次成功的 51% 攻击。 就比特币而言,目前这是一个问题,但[ Peter Todd 建议](https://web.archive.org/web/20140623061815/http://sourceforge.net/p/bitcoin/mailman/message/31709140/)对区块链进行修改,以缓解这一问题。
+
+在短期内,以太坊将使用两种其他策略来应对这个问题。 首先,因为基于区块链的挖矿算法,至少每个矿工都会被强制成为一个完整节点,为完整节点的数量创建了一个下限。 其次,更重要的是,处理完每笔交易后,我们会把一个中间状态树根收录到区块链中。 即使区块验证是中心化的,只要存在一个诚实的验证节点,就可以通过验证协议规避中心化问题。 如果矿工发布了无效区块,该区块必定是格式错误,或者是状态 `S[n]` 不正确。 由于已知 `S[0]` 是正确的,因此必然存在第一个不正确的状态 `S[i]`,但状态 `S[i-1]` 是正确的。 验证节点将提供索引 `i` 以及“无效证明”,该证明包括处理 `APPLY(S[i-1],TX[i]) -> S[i]` 所需的帕特里夏树节点的子集。 节点将能够使用这些节点来运行该部分计算,并查看生成的 `S[i]` 与提供的 `S[i]` 是否不匹配。
+
+另一种更复杂的攻击涉及恶意矿工发布不完整的区块,因此甚至不存在完整信息,致使无法确定区块是否有效。 解决方案是质询-应答协议:验证节点对目标交易索引发起“质疑”,接受到质疑信息的轻节点会对相应的区块取消信任,直到另外的节点(无论是矿工还是另一个验证者)提供一个帕特里夏树节点子集作为有效性证明。
+
+## 结论 {#conclusion}
+
+以太坊协议最初被设想为加密货币的升级版本,通过高度通用的编程语言提供高级功能,如区块链托管、提款限制、金融合约、博彩市场等。 以太坊协议不会直接“支持”任何应用,但图灵完备编程语言的存在意味着,理论上可以为任何交易类型或应用创建任意合约。 然而,关于以太坊更有趣的方面是,以太坊协议远远超出了货币的范畴。 围绕去中心化文件存储、去中心化计算和去中心化预测市场的协议以及许多其他这类概念,有可能大大提高计算行业的效率,并首次通过添加经济层来大力促进其他点对点协议的发展。 最后,还有大量与金钱完全无关的应用程序。
+
+以太坊协议实现的任意状态转换函数的概念提供了一个具有独特潜力的平台;而不是一种专门针对数据存储、赌博或金融领域内一系列特定应用的封闭式单用途协议,以太坊在设计上是开放式的,我们相信在今后几年中它非常适合作为大量金融和非金融协议的基础层。
+
+## 注释与延伸阅读 {#notes-and-further-reading}
+
+### 注释 {#notes}
+
+1. 有经验的读者可能会注意到,事实上比特币地址是椭圆曲线公钥的哈希,而非公钥本身。 然而事实上从密码学术语角度把公钥哈希称为公钥完全合理。 这是因为比特币密码学可以视为一种定制的数字签名算法。在数字签名算法中,公钥由 ECC(椭圆曲线加密算法)公钥的哈希组成,签名由连接了 ECC 签名的 ECC 公钥组成。而验证算法涉及用 ECC 公钥哈希(作为公钥提供)来检查签名中的 ECC 公钥,然后用 ECC 公钥来验证 ECC 签名。
+2. 技术上来说,前 11 个区块的中位数。
+3. 在内部,2 和 "CHARLIE" 都是数字 [fn3](注释编号),后者采用大端序基数 256 表示。 数字可以至少为 0,最大为 2256-1。
+
+### 延伸阅读 {#further-reading}
+
+1. [内在价值](http://bitcoinmagazine.com/8640/an-exploration-of-intrinsic-value-what-it-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it/)
+2. [智能资产](https://en.bitcoin.it/wiki/Smart_Property)
+3. [智能合约](https://en.bitcoin.it/wiki/Contracts)
+4. [B-money](http://www.weidai.com/bmoney.txt)
+5. [可重复使用的工作量证明](https://nakamotoinstitute.org/finney/rpow/)
+6. [利用所有者权限确保财产权](https://nakamotoinstitute.org/secure-property-titles/)
+7. [比特币白皮书](http://bitcoin.org/bitcoin.pdf)
+8. [域名币](https://namecoin.org/)
+9. [佐科三角](https://wikipedia.org/wiki/Zooko's_triangle)
+10. [彩色币白皮书](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit)
+11. [万事达币白皮书](https://github.com/mastercoin-MSC/spec)
+12. [去中心化自治公司,比特币杂志](http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i/)
+13. [简化支付确认](https://en.bitcoin.it/wiki/Scalability#Simplified_payment_verification)
+14. [默克尔树](https://wikipedia.org/wiki/Merkle_tree)
+15. [帕特里夏树](https://wikipedia.org/wiki/Patricia_tree)
+16. [GHOST 协议](https://eprint.iacr.org/2013/881.pdf)
+17. [StorJ 和自治代理,Jeff Garzik](http://garzikrants.blogspot.ca/2013/01/storj-and-bitcoin-autonomous-agents.html)
+18. [Mike Hearn 在图灵节上谈论智能资产](https://www.youtube.com/watch?v=MVyv4t0OKe4)
+19. [以太坊递归长度前缀编码 (RLP)](https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-RLP)
+20. [以太坊默克尔帕特里夏树](https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-Patricia-Tree)
+21. [Peter Todd 论默克尔求和树](https://web.archive.org/web/20140623061815/http://sourceforge.net/p/bitcoin/mailman/message/31709140/)
+
+_有关本白皮书的历史,请参阅[此维基文章](https://github.com/ethereum/wiki/blob/old-before-deleting-all-files-go-to-wiki-wiki-instead/old-whitepaper-for-historical-reference.md)。_
+
+_和众多社区驱动的开源软件项目一样,以太坊自启动以来一直不断发展。 若想了解以太坊的最新进展以及如何更改以太坊协议,我们推荐你阅读[本指南](/learn/)。_
diff --git a/public/content/translations/zh/23) Advanced Docs/developers/docs/bridges/index.md b/public/content/translations/zh/23) Advanced Docs/developers/docs/bridges/index.md
new file mode 100644
index 00000000000..37232605f33
--- /dev/null
+++ b/public/content/translations/zh/23) Advanced Docs/developers/docs/bridges/index.md
@@ -0,0 +1,150 @@
+---
+title: 链桥
+description: 面向开发者的桥接概述
+lang: zh
+---
+
+随着一层网络区块链和二层网络[扩容](/developers/docs/scaling/)解决方案的激增,以及越来越多的去中心化应用程序跨链,跨链通信和资产转移需求已成为网络基础设施的重要组成部分。 存在不同类型的链桥就是为了帮助解决这种需求。
+
+## 对链桥的需求 {#need-for-bridges}
+
+链桥的存在是为了连接区块链网络。 它们实现了区块链之间的连通性和互操作性。
+
+区块链存在于孤立的环境中,这意味着区块链之间本来就无法进行交易和通信。 因此,虽然某个生态系统内可能存在大量的活动和创新,但它会由于缺乏与其他生态系统的连通性和互操作性而受到限制。
+
+链桥提供了一种让孤立的区块链环境相互连通的途径。 它们在区块链之间建立了一条传输路线,让代币、信息、任意数据甚至[智能合约](/developers/docs/smart-contracts/)调用都可以从一条区块链转移到另一条。
+
+## 链桥的优点 {#benefits-of-bridges}
+
+简而言之,链桥解锁了大量应用场景,它允许区块链网络之间交换数据和转移资产。
+
+区块链具有独特的优势、缺点和应用程序构建方法(例如速度、吞吐量、高成本等)。 链桥有助于整个加密生态系统的发展,它能够让区块链利用彼此的创新。
+
+对于开发者,链桥可以实现以下功能:
+
+- 跨链传输任何数据、信息和资产。
+- 解锁协议的新功能和应用场景,因为链桥扩展了协议可以提供的设计空间。 例如,最初部署在以太坊主网上用于提供流动性矿池的协议,可以为所有兼容以太坊虚拟机的链提供流动资金池。
+- 可以利用不同区块链的优势的机会。 例如,开发者可以通过将去中心化应用程序部署在多个卷叠上来享受不同二层网络解决方案带来的较低费用,而侧链和用户可以在它们之间建立链桥。
+- 不同区块链生态系统的开发者之间相互协作,构建新产品。
+- 吸引来自不同生态系统的用户和社区使用他们的去中心化应用程序。
+
+## 链桥是如何工作的? {#how-do-bridges-work}
+
+虽然[链桥设计](https://li.fi/knowledge-hub/blockchain-bridges-and-classification/)多种多样,但以下三种方便资产跨链转移的方法脱颖而出:
+
+- **锁定并铸币 – **锁定源链上的资产并在目标链上铸币。
+- **销毁并铸币 – **销毁源链上的资产并在目标链上铸币。
+- **原子交换 – **通过第三方将源链上的资产与目标链上的资产交换。
+
+## 链桥类型 {#bridge-types}
+
+链桥通常可以分为以下几类之一:
+
+- **原生链桥 –** 这些链桥通常用于加强特定区块链上的流动性,使用户更容易将资金转移到生态系统。 例如,[Arbitrum 链桥](https://bridge.arbitrum.io/)的目的就是为了方便用户从以太坊主网桥接到 Arbitrum。 其他此链类桥包括 Polygon PoS 链桥、[Optimism 网关](https://app.optimism.io/bridge)等。
+- **基于验证者或预言机的链桥 –** 这些链桥依赖于外部验证者组或预言机来验证跨链转移。 例如:Multichain 与 Across。
+- **通用信息传递链桥 – **这些链桥可以跨链传输资产、信息和任意数据。 例如:Axelar、LayerZero 与 Nomad。
+- **流动性网络 –** 这些链桥主要是通过原子交换将资产从一条链转移到另一条链。 一般来讲,它们不支持跨链信息传递。 例如:Connext 与 Hop。
+
+## 权衡利弊 {#trade-offs}
+
+没有完美的链桥解决方案。 有的只是为了实现目的而进行的权衡利弊。 开发者和用户可以根据以下因素评估链桥:
+
+- **安全性 –** 谁来验证系统? 通常,由外部验证者保护的链桥不如由区块链验证者在本地保护的链桥安全。
+- **便利性 –** 完成一笔交易需要多长时间,用户需要签署多少笔交易? 对于开发者来说,集成一个链桥需要多长时间,这个过程有多复杂?
+- **连通性 –** 一个链桥可以连接哪些不同的目标链(卷叠、侧链、其他一层网络区块链等),集成一条新区块链有多难?
+- **传递更复杂数据的能力 –** 链桥能够跨链传输信息和更复杂的任意数据,还是只支持跨链资产转移?
+- **成本效益 –** 通过链桥跨链转移资产的成本是多少? 通常情况下,链桥收取固定或变动的费用,具体取决于燃料成本和特定路线的流动性。 根据确保链桥安全所需的资本来评估链桥的成本效益也是至关重要的。
+
+在较高层面上,链桥可以分为需信任链桥和去信任链桥。
+
+- **需信任链桥 –** 需信任链桥由外部验证。 它们使用一组外部验证者(具有多重签名的联盟、多方计算系统、预言机网络)跨链发送数据。 因此,它们可以提供出色的连通性,并完全支持跨链通用信息传递。 在速度和成本效益方面它们通常也表现良好。 但这些是以安全性为代价的,因为用户必须依赖链桥的安全性。
+- **去信任 –** 这类链桥依靠它们连接的区块链及其验证者来传输信息和代币。 它们是“去信任”的,因为它们没有增加新的信任假设(区块链除外)。 因此,我们认为去信任链桥比可信链桥更安全。
+
+为了根据其他因素评估去信任链桥,我们须将其分为通用信息传递链桥和流动性网络。
+
+- **通用信息传递链桥 –** 这些链桥在安全性和跨链传输更复杂数据的能力方面表现卓越。 通常,它们还具有良好的成本效益。 然而,这些优点通常以轻客户端链桥(例如 IBC)的连通性以及使用欺诈证明的乐观链桥(例如 Nomad)的速度劣势作为代价。
+- **流动性网络 –** 这些链桥使用原子交换转移资产,并且是本地验证系统(即,它们使用底层区块链的验证者验证交易)。 因此,它们在安全性和速度方面表现出色。 此外,流动性网络具有不错的成本效益和良好的连通性。 然而,最大的折衷之处是它们无法传递更复杂的数据 — 因为它们不支持跨链信息传递。
+
+## 链桥相关风险 {#risk-with-bridges}
+
+去中心化金融领域中最大的三次黑客攻击
+都是链桥造成的,而且链桥目前仍处于开发阶段早期。 使用任何链桥都有以下风险:TX
中的每个输入:
+
+
+ S
范围内,则返回错误。
+ S
。
+
`nonce`
`
+
+`` - _开始标签,其中包含一段代码_
+
+nonce - _不可翻译的文本_
+
+`
` - _结束标签_
+
+![代码片段 .png 的示例](./example-of-code-snippets.png)
+
+源文本还包含缩短的标签,这些标签只包含数字,这意味着它们的功能不是很明显。 你可以将鼠标悬停在这些标签上,以准确查看它们提供的功能。
+
+在下面的示例中,你可以看到,将鼠标悬停在 <0> 标签显示,它代表 `` 并包含代码片段,因此不应翻译这些标签内的内容。
+
+![模棱两可的 tags.png 的示例](./example-of-ambiguous-tags.png)
+
+## 简短与完整形式/缩写 {#short-vs-full-forms}
+
+网站上使用了很多缩写,例如 dApp、NFT、DAO、DeFi 等。 这些缩写通常用于英语,并且大多数网站访问者都熟悉它们。
+
+由于它们通常没有其他语言的既定翻译,处理这些和类似术语的最佳方法是提供完整形式的描述性翻译,并在括号中添加英文缩写。
+
+不要翻译这些缩写,因为大多数人不熟悉它们,而且本地化版本对大多数访问者来说没有多大意义。
+
+如何翻译 dApp 的示例:
+
+- Decentralized applications (dapps) → _完整的翻译形式 (括号中为英文缩写)_
+
+## 没有既定翻译的术语 {#terms-without-established-translations}
+
+某些术语在其他语言中可能没有既定翻译,并且以原始英语术语而广为人知。 这些术语主要包括较新的概念,如工作量证明、权益证明、信标链、质押等。
+
+虽然翻译这些术语听起来不自然,但由于英文版本也常用于其他语言,因此强烈建议将它们翻译。
+
+翻译它们时,请随意发挥创意,使用描述性翻译,或直接按字面翻译。
+
+**大多数术语应该翻译而不是将其中一些保留英文的原因是,随着越来越多的人开始使用以太坊和相关技术,这种新术语将在未来变得更加普遍。 如果我们想让来自世界各地的更多人加入这个领域,我们需要以尽可能多的语言提供易于理解的术语,即使我们需要自行创建它。**
+
+## 按钮与行动号召 {#buttons-and-ctas}
+
+网站包含许多按钮,其翻译方式应与其他内容不同。
+
+可以通过查看上下文屏幕截图、与大多数字符串连接或通过检查编辑器中的上下文(包括短语“button”)来识别按钮文本。
+
+按钮的翻译应尽可能简短,以防止格式不匹配。 此外,按钮翻译应该是必要的,即呈现命令或请求。
+
+![如何查找按钮 .png](./how-to-find-a-button.png)
+
+## 翻译包容性 {#translating-for-inclusivity}
+
+Ethereum.org 的访问者来自世界各地和不同的背景。 因此,网站上的语言应该是中立的,欢迎所有人而不是排他性的。
+
+其中一个重要方面是性别中立。 这可以通过使用正式的地址形式并避免在翻译中使用任何特定性别的词来轻松实现。
+
+另一种形式的包容性是,尝试面向全球观众翻译,而不是面向任何国家、种族或地区。
+
+最后,语言应该适合所有大众和年龄段的读者。
+
+## 特定语言的翻译 {#language-specific-translations}
+
+翻译时,重要的是要遵循你的语言中使用的语法规则、约定和格式,而不是从源复制。 源文本遵循英语语法规则和约定,而这不适用于许多其他语言。
+
+你应该了解你的语言规则并进行相应的翻译。 如果你需要帮助,请与我们联系,我们将帮助你找到一些有关如何在你的语言中使用这些元素的资源。
+
+一些需要特别注意的例子:
+
+### 标点、格式 {#punctuation-and-formatting}
+
+**大写**
+
+- 不同语言的大小写存在巨大差异。
+- 在英语中,通常将标题和名称、月份和日期、语言名称、假期等中的所有单词大写。 在许多其他语言中,这在语法上是不正确的,因为它们具有不同的大小写规则。
+- 一些语言也有关于人称代词、名词和某些形容词大写的规则,这些在英语中是不大写的。
+
+**间距**
+
+- 正字法规则定义了每种语言的空格使用。 因为到处都使用空格,所以这些规则是最独特的,而空格是最容易误译的元素。
+- 英语和其他语言之间的一些常见间距差异:
+ - 计量单位和货币前的空格(例如 USD、EUR、kB、MB)
+ - 度数符号前的空格(例如°C、℉)
+ - 一些标点符号前的空格,尤其是省略号 (...)
+ - 斜杠前后的空格 (/)
+
+**列表**
+
+- 每种语言都有一套多样化和复杂的规则来编写列表。 这些可能与英语有很大不同。
+- 在某些语言中,每个新行的第一个单词需要大写,而在其他语言中,新行应该以小写字母开头。 许多语言对列表中的大小写也有不同的规则,具体取决于每行的长度。
+- 这同样适用于行项目的标点符号。 列表中的结束标点可以是句点 (**.**)、逗号 (**,**) 或分号 (**;**)具体取决于语言
+
+**引号**
+
+- 语言使用许多不同的引号。 简单地从源中复制英文引号通常是不正确的。
+- 一些最常见的引号类型包括:
+ - “示例文本”
+ - ‘示例文本’
+ - »示例文本«
+ - “示例文本”
+ - ‘示例文本’
+ - «示例文本»
+
+**连字符和破折号**
+
+- 在英语中,连字符 (-) 用于连接单词或单词的不同部分,而破折号 (-) 用于表示范围或停顿。
+- 许多语言对使用连字符和破折号有不同的规则,应遵守这些规则。
+
+### 格式 {#formats}
+
+**数字**
+
+- 用不同语言书写数字的主要区别在于用于小数和千位的分隔符。 对于千数来说,这可以是句号、逗号或空格。 同样,一些语言使用小数点,而另一些语言使用小数点逗号。
+ - 一些大数的例子:
+ - 英语 - **1,000.50**
+ - 西班牙语 - **1.000,50**
+ - 法语 - **1 000,50**
+- 翻译数字时的另一个重要考虑因素是百分号。 它可以用不同的方式编写:**100%**、**100 %** 或 **%100**。
+- 最后,负数可以不同地显示,具体取决于语言:-100、100-、(100) 或 [100]。
+
+**日期**
+
+- 在翻译日期时,有许多基于语言的考虑因素和差异。 这些包括日期格式、分隔符、大写和前导零。 全长日期和数字日期之间也存在差异。
+ - 不同日期格式的一些示例:
+ - 英语(英国)(dd/mm/yyyy) – 1st January, 2022
+ - 英语(美国)(mm/dd/yyyy) – January 1st, 2022
+ - 中文 (yyyy-mm-dd) – 2022 年 1 月 1 日
+ - 法语 (dd/mm/yyyy) – 1er janvier 2022
+ - 意大利语 (dd/mm/yyyy) – 1º gennaio 2022
+ - 德语 (yyyy/mm/dd) – 1. Januar 2022
+
+**货币**
+
+- 由于格式、惯例和转换不同,货币转换可能具有挑战性。 作为一般规则,请保持货币与来源相同。 为了读者的利益,你可以在括号中添加你的当地货币和转换。
+- 用不同语言书写货币的主要区别包括符号位置、小数逗号与小数点、间距以及缩写与符号。
+ - 符号放置:美元 100或 100 美元
+ - 小数逗号和。小数点:100,50$ 或 100.50$
+ - 间距:100美元或 100 美元
+ - 缩写和符号:100$ 或 100 USD
+
+**计量单位**
+
+- 作为一般规则,请根据来源保留计量单位。 如果你所在的国家/地区使用不同的系统,你可以将转换包括在括号中。
+- 除了度量单位的本地化之外,注意语言处理这些单位的方式的差异也很重要。 主要区别在于数字和单位之间的间距,可以根据语言而有所不同。 这方面的示例包括 100kB 与 100 kB 或 50ºF 与 50ºF。
+
+## 结论 {#conclusion}
+
+翻译 ethereum.org 是了解以太坊不同方面的绝佳机会。
+
+翻译时尽量不要着急。 放轻松,玩得开心!
+
+感谢你参与翻译计划并帮助我们让更广泛的受众可以访问网站。 以太坊社区是全球性的,我们很高兴你也成为其中的一员!
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/adding-desci-projects/index.md b/public/content/translations/zh/28) Contributing 2/contributing/adding-desci-projects/index.md
new file mode 100644
index 00000000000..cb1462b74e3
--- /dev/null
+++ b/public/content/translations/zh/28) Contributing 2/contributing/adding-desci-projects/index.md
@@ -0,0 +1,44 @@
+---
+title: 添加去中心化科学项目
+description: 我们在 ethereum.org 的去中心化科学页面上添加项目链接时使用的政策
+lang: zh
+---
+
+# 添加项目 {#adding-projects}
+
+我们希望确保展示各种项目,并为去中心化科学的全景提供一个准确的简要说明。
+
+任何人都可以在 ethereum.org 的去中心化科学页面上自由地建议可展示的项目。 同样,任何人在注意到某个项目已不再与之相关或达不到我们的资格条件时,也可以随时建议我们将其移除。
+
+## 决策框架 {#the-decision-framework}
+
+### 纳入标准:必备条件 {#the-must-haves}
+
+- **开源代码/数据** - 开放的代码和数据是去中心化科学的核心原则,因此去中心化科学项目不得闭源。 代码库应该是可访问的,并且最好可以接受拉取请求 (PR)。
+- **去中心化科学项目应明显去中心化** - 这可能包括项目由去中心化自治组织管理,或通过使用去中心化技术栈(包括非托管钱包)来构建。 可能涉及以太坊上的可审计智能合约。
+- **诚实准确的上架信息** - 建议上架的任何项目都应包含诚实准确的信息。 伪造上架信息的产品,例如声明你的产品是“开源”的但实际并非如此,产品将被移除。
+- **对扩大科学参与的明确承诺** - 去中心化科学项目应能够阐明它们如何扩大公众对科学的参与,而不仅仅服务于代币/非同质化代币持有者。
+- **全球可访问** - 你的项目不能有地域限制或身份验证要求,它们使得某些人无法访问你的服务。
+- **信息详尽的网站和文件** - 重要的是,项目网站的访问者能够了解项目的实际情况、项目对促进科学基础设施去中心化所做的贡献以及参与方式。
+- **项目应该是以太坊生态系统的一部分** - 在 ethereum.org,我们相信以太坊(及其二层网络)是适合去中心化科学运动的基础层。
+- **项目已相当成熟** - 项目的实际用户能够使用项目的服务数月之久。
+
+### 加分项
+
+- **支持多种语言** - 你的项目已被翻译成多种语言,全球用户都能够访问它。
+- **教育资源** - 你的产品应提供精心设计的入门体验,为用户提供帮助和教育。 或者有文章或视频之类的介绍操作方法的内容。
+- **第三方审核** - 你的产品已通过可靠第三方的专业漏洞审核。
+- **联系人** - 实施变更时,项目联系人(可能是去中心化自治组织或社区的代表)将极大地帮助我们获取准确信息。 这样将在今后收集信息时确保 ethereum.org 的更新可管理。
+
+## 维护 {#maintenance}
+
+由于以太坊的流动性,团队和产品来来去去,创新每天都在发生,所以我们将对我们的内容进行例行检查,以便:
+
+- 确保所有上架的项目仍然符合我们的标准
+- 验证建议的产品没有比当前上架的产品符合我们的更多标准
+
+Ethereum.org 由开源社区维护,我们依靠该社区帮助保持更新。 如果你发现所列项目有任何信息需要更新,请在我们的 Github 存储库中创建一个问题或拉取请求。
+
+## 使用条款 {#terms-of-use}
+
+另请参阅我们的[使用条款](/terms-of-use/)。 ethereum.org 上的资料仅供参考。
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/adding-developer-tools/index.md b/public/content/translations/zh/28) Contributing 2/contributing/adding-developer-tools/index.md
new file mode 100644
index 00000000000..eaa42b07b60
--- /dev/null
+++ b/public/content/translations/zh/28) Contributing 2/contributing/adding-developer-tools/index.md
@@ -0,0 +1,61 @@
+---
+title: 添加开发者工具
+lang: zh
+description: 开发者工具上架 ethereum.org 的标准
+---
+
+# 添加开发者工具 {#contributing-to-ethereumorg-}
+
+我们想要确保上架的开发者资源是最好的,以便人们可以充满信心地进行开发并获得所需的支持。
+
+如果我们遗漏了有用的开发工具,请随时在适当的地方提出建议。
+
+目前,我们在[开发者门户](/developers/)中上架了开发者工具。
+
+**请随时去适当的页面提出新的建议。**
+
+## 我们如何做出决定 {#ways-to-contribute}
+
+提交的开发者工具将按照以下标准进行评估:
+
+**它是否与已上架的工具有明显的区别?**
+
+- 新类别或新类型的工具
+- 与现有类似工具比较具有新功能
+- 针对现有类似工具未涵盖的独特用例
+
+**这个工具是否有相关文档给予充分支持?**
+
+- 是否存在相关文档?
+- 相关文档是否能满足工具使用需求?
+- 最近是否更新过?
+
+**工具是否得到广泛使用?**
+
+- 我们将考虑诸如 GitHub 星级、下载量等因素,以及是否被知名公司或项目使用过。
+
+**工具的质量是否足够好?**
+
+- 是否有重复出现的错误?
+- 工具是否可靠?
+- 工具是否获得主动积极的维护?
+
+**工具是否开源?**
+
+以太坊领域的许多项目都是开源的。 我们更愿意让开源项目上架,以便社区开发者检查代码并为这些项目做出贡献。
+
+---
+
+## 产品排序 {#product-ordering}
+
+除非指定产品按特定方式排序,如按字母顺序排序,否则产品将默认从最早到最近添加到页面的顺序显示。 换句话说,最新的产品被添加到列表的底部。
+
+---
+
+## 添加你的开发者工具 {#how-decisions-about-the-site-are-made}
+
+如果你想向 ethereum.org 添加开发者工具并且它符合标准,请在 GitHub 上创建提议。
+
+
+ 创建提议
+
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/adding-exchanges/index.md b/public/content/translations/zh/28) Contributing 2/contributing/adding-exchanges/index.md
new file mode 100644
index 00000000000..ee488f39d15
--- /dev/null
+++ b/public/content/translations/zh/28) Contributing 2/contributing/adding-exchanges/index.md
@@ -0,0 +1,40 @@
+---
+title: 添加交易所
+description: 向 ethereum.org 添加交易所时适用的政策
+lang: zh
+---
+
+# 添加以太坊交易所 {#adding-ethereum-exchanges}
+
+任何人都可以在 ethereum.org 上自由推荐新的交易所。
+
+我们目前将它们列在:
+
+- [ethereum.org/get-eth](/get-eth/)
+
+在此页面上,用户输入他们的居住地便可查看可以使用的交易所。 这有助于尽早发现任何地域限制。
+
+鉴于这种情况,我们在你推荐交易所时需要一些具体信息。
+
+**请注意:**如果你想上架一个去中心化交易所,请查看我们[关于上架钱包和去中心化应用程序的政策](/contributing/adding-products/)。
+
+## 我们需要的信息 {#what-we-need}
+
+- 适用于交易所的地域限制. 与交易所相关的地域限制应在交易所网站上的专门页面或区域详细说明。
+- 用户可以用哪些货币来购买以太币
+- 证明该交易所是合法的贸易公司
+- 你可能拥有的任何额外信息 —— 这可能是有关该公司的信息,如运营年份、资金支持等。
+
+我们需要这些信息,以便我们能够准确地[帮助用户找到他们可以使用的交易所](/get-eth/#country-picker)。
+
+这样一来,ethereum.org 也能更加确信该交易所可以提供合法且安全的服务。
+
+---
+
+## 添加你的交易所 {#add-exchange}
+
+如果你想向 ethereum.org 添加交易所,请在 GitHub 上创建提议。
+
+
+ 创建一个提议
+
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/adding-glossary-terms/index.md b/public/content/translations/zh/28) Contributing 2/contributing/adding-glossary-terms/index.md
new file mode 100644
index 00000000000..4d4da032750
--- /dev/null
+++ b/public/content/translations/zh/28) Contributing 2/contributing/adding-glossary-terms/index.md
@@ -0,0 +1,26 @@
+---
+title: 添加词汇表术语
+lang: zh
+description: 添加新术语到 ethereum.org 词汇表的标准
+---
+
+# 添加词汇表术语 {#contributing-to-ethereumorg-}
+
+这一领域每天都在发生变化。 新术语不断进入以太坊用户的词典,我们需要你的帮助,为以太坊的所有事物提供准确、最新的参考。 请查看目前的[词汇表](/glossary/),如果你想要提供帮助的话,请参阅下面的内容!
+
+## 标准 {#criteria}
+
+将按照下列标准评估词汇表的新术语:
+
+- 该术语/定义是否是最新的,并且在当前与本领域是相关的?
+- 字典中是否已有一个类似的术语? (如果是,请考虑是使用新术语还是更新现有术语更好)
+- 该术语/定义是否不含有产品广告或其他促销相关的内容?
+- 该术语/定义是否与以太坊直接相关?
+- 该定义是否客观、准确且没有涉及主观判断或意见?
+- 来源是否可信? 它们是否提及相关的来源?
+
+---
+
+## 添加你的术语 {#how-decisions-about-the-site-are-made}
+
+如果你想为 ethereum.org 添加一个词汇表术语,并且该术语符合标准,[请在 GitHub 上创建一个问题](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=feature+%3Asparkles%3A%2Ccontent+%3Afountain_pen%3A&template=suggest_glossary_term.yaml)。
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/adding-layer-2s/index.md b/public/content/translations/zh/28) Contributing 2/contributing/adding-layer-2s/index.md
new file mode 100644
index 00000000000..d57ce9f51d1
--- /dev/null
+++ b/public/content/translations/zh/28) Contributing 2/contributing/adding-layer-2s/index.md
@@ -0,0 +1,97 @@
+---
+title: 添加二层网络
+description: 将二层网络添加到 ethereum.org 时适用的政策
+lang: zh
+---
+
+# 添加二层网络 {#adding-layer-2}
+
+我们想要确保上架的资源是最好的,让用户能够安全放心地浏览二层网络空间。
+
+任何人都可以提出向 ethereum.org 添加二层网络的建议。 如果有遗漏的二层网络,**[请提出建议](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=feature+%3Asparkles%3A%2Ccontent+%3Afountain_pen%3A&template=suggest_layer2.yaml)!**
+
+我们目前在以下页面上架了二层网络:
+
+- [乐观卷叠](/developers/docs/scaling/optimistic-rollups/)
+- [零知识卷叠](/developers/docs/scaling/zk-rollups/)
+- [二层网络](/layer-2/)
+
+对以太坊来说,二层网络是一个相对较新的、令人振奋的范式。 我们已尝试在 ethereum.org 上创建一个公平的考量框架,但纳入标准会随时间推移而变化和发展。
+
+## 决策框架 {#decision-framework}
+
+### 纳入标准:必备条件 {#criteria-for-inclusion-the-must-haves}
+
+**在 L2BEAT 上架**
+
+- 要想纳入考量范围,项目必须已在 [L2BEAT](https://l2beat.com) 上架。 L2BEAT 为二层网络项目提供了可靠的风险评估,可供我们评估二层网络项目。 **如果项目未在 L2BEAT 上架,则我们不会将其作为二层网络纳入 ethereum.org。**
+- [了解如何将你的二层网络项目添加到 L2BEAT](https://github.com/l2beat/l2beat/blob/master/CONTRIBUTING.md)。
+
+**开源**
+
+- 你的代码必须是可访问的,同时你应接受来自更广泛社区的拉取请求。
+
+**二层网络类别**
+
+我们目前将以下项列为二层网络解决方案:
+
+- 乐观卷叠
+- 零知识卷叠
+
+_我们认为,其他不使用以太坊来实现数据可用性或安全性的扩容解决方案不是二层网络。_
+
+**以太坊数据可用性**
+
+- 数据可用性是其他扩容方案与二层网络方案之间的重要区分因素。 一个项目**必须**使用以太坊主网来实现数据可用性,才考虑让它上架。
+
+**链桥**
+
+- 用户如何才能登临二层网络?
+
+**项目上线日期**
+
+- 二层网络已在主网上“上线”超过 6 个月
+
+- 未经用户实战测试的较新项目不太可能上架。
+
+**外部安全审核**
+
+- 无论是通过审核、内部安全团队还是其他方法,产品安全性都必须经过可靠测试。 这会降低我们用户的风险,并向我们表明你非常重视安全性。
+
+**持续的用户群**
+
+- 我们会将价值总量历史记录、交易统计数据以及是否被知名公司或项目使用等指标考虑在内
+
+**活跃的开发团队**
+
+- 我们不会上架没有活跃团队来开发项目的二层网络方案。
+
+**区块浏览器**
+
+- 上架的项目需要能正常工作的区块浏览器,让用户轻松浏览区块链。
+
+### 其他标准:最好具备 {#nice-to-haves}
+
+**交易所对项目的支持**
+
+- 用户是否可以直接从存款至交易所和/或从交易所提款?
+
+**二层网络生态系统去中心化应用程序链接**
+
+- 我们希望能够提供有关用户可以在此二层网络上执行哪些操作的信息 (例如 https://portal.arbitrum.io/、https://www.optimism.io/apps)。
+
+**代币合约列表**
+
+- 由于资产会在二层网络产生新地址,如果有可用的代币列表资源,请分享。
+
+**支持原生钱包**
+
+- 是否有任何钱包原生支持二层网络?
+
+## 添加你的二层网络 {#add-exchange}
+
+如果你想将二层网络添加到 ethereum.org,请在 GitHub 上创建一个提议。
+
+
+ 创建一个提议
+
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/adding-products/index.md b/public/content/translations/zh/28) Contributing 2/contributing/adding-products/index.md
new file mode 100644
index 00000000000..8dc921ee5a6
--- /dev/null
+++ b/public/content/translations/zh/28) Contributing 2/contributing/adding-products/index.md
@@ -0,0 +1,100 @@
+---
+title: 添加产品
+description: 向 ethereum.org 添加去中心化应用程序时采用的政策
+lang: zh
+---
+
+# 添加以太坊产品 {#adding-products}
+
+在适宜情况下,任何人都可以建议向 ethereum.org 添加新的去中心化应用程序。 **但去中心化应用程序将不在我们的主页上架** 😜
+
+目前,去中心化应用程序在以下页面上架:
+
+- ethereum.org/dapps
+- ethereum.org/get-eth
+
+**请仅在以上页面建议添加新的去中心化应用程序。**
+
+尽管我们欢迎添加新的去中心化应用程序,但当前我们选择去中心化应用程序的基准是我们努力为用户创造的使用体验。 以下条件基于我们的一些设计原则:
+
+- _有启发性_:ethereum.org 上的任何事物都应该为用户提供新的东西
+- _好故事_:上架的内容应该让人感到惊喜
+- _可靠_:一切业务/项目都应该是合法的,以最大限度地减少用户的风险
+
+总体而言,**ethereum.org 想要为新用户提供“无缝入门体验”**。 为此,我们基于以下标准添加去中心化应用程序:
+
+- 易用性
+- 与其他产品的互操作性
+- 安全性
+- 耐用性
+
+下面将更详细地说明我们的决策框架。 欢迎你随时提供反馈或修改建议。
+
+## 决策框架 {#decision-framework}
+
+### 纳入标准:必备条件 {#criteria-for-inclusion-the-must-haves}
+
+- **产品经过安全测试** — 无论是通过审计、内部安全团队还是其他方法,你的产品的安全性都必须经过可靠的测试。 这会降低我们用户的风险,并向我们表明你非常重视安全性。
+- **这个产品已“上线并运行”超过 6 个月** – 这是安全性的另一个指标。 “6个月”是发现严重缺陷和漏洞的最佳时间窗口。
+- **有一个活跃的运作团队** — 这有助于确保质量,用户询问时也能得到的支持。
+- **诚实准确的上架信息** - 任何所建议的来自项目的上架产品都应包含诚实准确的信息。 伪造上架信息的产品,例如:声明你的产品是“开源”但实际上并非如此,它将被删除。
+
+### 排名标准:加分项 {#criteria-for-ranking-the-nice-to-haves}
+
+基于以下标准,你的去中心化应用程序可能不会像其他项目一样在 ethereum.org 的显眼位置上架。
+
+**去中心化应用程序**
+
+- **可以通过大多数上架的钱包访问它** – 去中心化应用程序应该能够与 ethereum.org 上上架的大多数钱包一起使用。
+- **用户可以自己试用 –** 个人用户应该能够使用你的去中心化应用程序并能执行一些切实的操作。
+- **入门培训** – 你的产品应提供精心设计的入门培训体验,为用户提供帮助和培训。 或者有文章或视频之类的介绍操作方法的内容。
+- **非托管模式** - 用户可以控制自己的资金。 如果你的产品消失了,用户仍然可以获取和转移他们的资金。
+- **全球可访问** — 你的产品不能有地域限制或身份验证要求,因为这会让某些人无法使用你的服务。
+- **开源** - 你的代码应该可以访问,并且你应该接受来自更广泛社区的拉取请求。
+- **社区** – 你有一个专门的社区,可以是 Discord,用户可以与你的团队互动以获得帮助或推荐新功能。
+
+## 实践中的标准 {#criteria-in-practice}
+
+你达到的标准越多,你的产品就越有可能进入 ethereum.org。
+
+如果建议的新产品满足必备项和其中几条加分项,则可能会移除仅满足必备项的已上架产品。
+
+会影响本决定的其他因素:
+
+- 添加而不是替换会破坏页面的用户体验吗?
+ - 我们的网站主要是教育性的,主要目的是解释以太坊及其相关概念。 如果为用户添加太多选项,页面的可读性可能会降低,因此实用性会降低。
+- 这个页面现在是否让用户无法选择?
+ - 就像你会坐着浏览 Netflix 几个小时的情形,因为你无法决定要观看的内容。 提供太多选择会让新用户迷惑,这是一种风险。
+
+ethereum.org 负责做出这种设计决策。
+
+但是请放心,**有其他网站对更多的去中心化应用程序进行排名,我们会附上这些网站的链接**
+
+### 产品排序 {#product-ordering}
+
+除非指定产品按其他特定方式排序(如字母顺序),否则产品将按照从最早到最近添加到页面的顺序显示。 换句话说,最新的产品被添加到列表的底部。
+
+### 使用条款 {#terms-of-use}
+
+还请参阅我们的[使用条款](/terms-of-use/)。 ethereum.org 上的资料仅供参考。
+
+## 维护 {#maintenance}
+
+由于以太坊的流动性,团队和产品来来去去,创新每天都在发生,所以我们将对我们的内容进行例行检查,以便:
+
+- 确保所有上架的去中心化应用程序仍然符合我们的标准
+- 验证建议的产品没有比当前上架的产品符合我们的更多标准
+
+如果你想对此提供帮助,可以开展上述两项检查并让我们知道检查结果。 [创建问题](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=Type%3A+Feature&template=feature_request.yaml&title=)或发送电子邮件至 [website@ethereum.org](mailto:website@ethereum.org)。
+
+_我们也在调研投票的可能性,以便社区能够表明他们的喜好并且突显出最佳产品供我们进行推荐。_
+
+---
+
+## 添加你的产品 {#add-your-product}
+
+如果你想将去中心化应用程序添加到 ethereum.org 并且它符合标准,请在 GitHub 上创建一个问题。
+
+
+ 创建一个提议
+
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/adding-staking-products/index.md b/public/content/translations/zh/28) Contributing 2/contributing/adding-staking-products/index.md
new file mode 100644
index 00000000000..46681fe833e
--- /dev/null
+++ b/public/content/translations/zh/28) Contributing 2/contributing/adding-staking-products/index.md
@@ -0,0 +1,176 @@
+---
+title: 添加质押产品或服务
+description: 将质押产品或服务添加到 ethereum.org 时适用的政策
+lang: zh
+---
+
+# 添加质押产品或服务 {#adding-staking-products-or-services}
+
+我们想要确保我们上架的资源是最好的,能够让用户安全和放心。
+
+任何人都可以提出向 ethereum.org 添加质押产品或服务的建议。 如果我们有遗漏,**[请提出建议](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=feature+%3Asparkles%3A%2Ccontent+%3Afountain_pen%3A&template=suggest_staking_product.yaml)!**
+
+我们目前在以下页面上架了质押产品和服务:
+
+- [单独质押](/staking/solo/)
+- [质押即服务](/staking/saas/)
+- [质押池](/staking/pools/)
+
+信标链上的权益证明自 2020 年 12 月 1 日起生效。 虽然质押仍相对较新,但我们已尝试在 ethereum.org 上创建一个公平透明的考量框架,但纳入标准会随时间推移而变化和发展,且最终由 ethereum.org 网站团队自行决定。
+
+## 决策框架 {#the-decision-framework}
+
+在 ethereum.org 上架产品不是由单个因素决定的。 在决定上架产品或服务时,会同时考虑多个标准。 满足以下标准越多,产品上架的可能性就越大。
+
+**首先,它属于哪一类产品或服务?**
+
+- 节点或客户端工具
+- 密钥管理
+- 质押即服务 (SaaS)
+- 质押池
+
+目前,我们仅上架以下这些类别的产品或服务。
+
+### 纳入标准 {#criteria-for-inclusion}
+
+所提交的质押产品或服务将按以下标准进行评估:
+
+**项目或服务是何时启动的?**
+
+- 是否有证据证明产品或服务的上市时间?
+- 这用于确定产品的“实战测试”评分。
+
+**项目是否得到积极维护?**
+
+- 是否有一个活跃的团队开发项目? 谁参与这项工作?
+- 只有积极维护的产品才会被纳入考量。
+
+**产品或服务是否不需要可信的人工中间人?**
+
+- 在用户之旅中,哪些步骤需要可信的人士来保管他们资金的密钥或正确分配奖励。
+- 这用于确定产品或服务的“去信任”评分。
+
+**该项目是否提供准确可靠的信息?**
+
+- 至关重要的是,该产品的网站提供最新、准确且非误导性的信息,特别是如果涉及以太坊协议或其他相关技术。
+- 提交的产品或服务中包含错误信息、过时细节或可能误导以太坊或其他相关主题的陈述将不会被上架,如果已经上架,则将被移除。
+
+**支持哪些平台?**
+
+- 例如 Linux、macOS、Windows、iOS、Android
+
+#### 软件和智能合约 {#software-and-smart-contracts}
+
+对于所涉及的任何定制软件或智能合约:
+
+**一切都是开源的吗?**
+
+- 开源项目应具有公开的源代码存储库
+- 此项用于确定产品的“开源”评分。
+
+**产品是否已完成_测试版_开发?**
+
+- 产品处于开发周期的哪个阶段?
+- 不会考虑将测试阶段的产品纳入 ethereum.org
+
+**软件是否经过外部安全审计?**
+
+- 如果没有,是否有计划进行外部审计?
+- 此项用于确定产品的“审计”评分。
+
+**项目是否有漏洞悬赏计划?**
+
+- 如果没有,是否有计划制定安全漏洞悬赏计划?
+- 此项用于确定产品的“漏洞悬赏”评分。
+
+#### 节点或客户端工具 {#node-or-client-tooling}
+
+对于与节点或客户端设置、管理或迁移相关的软件产品:
+
+**支持哪些共识层客户端( 例如 Lighthouse、Teku、Nimbus 和 Prysm)?**
+
+- 支持哪些客户端? 用户可以选择吗?
+- 这用于确定产品的“多客户端”评分。
+
+#### 质押即服务 {#staking-as-a-service}
+
+对于[质押即服务的上架](/staking/saas/)(即委托节点操作):
+
+**使用该服务有哪些相关费用?**
+
+- 费用结构是什么?例如,这项服务是否采用月费形式收费?
+- 是否有任何其他质押要求?
+
+**用户是否需要注册帐户?**
+
+- 用户是否可以在未经许可或身份验证的情况下使用该服务?
+- 此项用于确定产品的“无需许可”评分。
+
+**谁持有签名密钥和取款密钥?**
+
+- 用户可以访问哪些密钥? 服务可以访问哪些密钥?
+- 此项用于确定产品的“去信任”评分。
+
+**所运行节点的客户端多样性如何?**
+
+- 有多少比例的验证者密钥正在主流共识层 (CL) 客户端运行?
+- 截至上次编辑,大多数节点运营商都在运行 Prysm 共识层客户端,这对网络来说是危险的。 如果当前有超过 33% 的网络在使用某一种共识层客户端,我们即会索取与其使用情况相关的数据。
+- 此项用于确定产品的“多样性客户端”评分。
+
+#### 质押池 {#staking-pool}
+
+对于[联合质押服务](/staking/pools/):
+
+**质押最少需要多少以太币?**
+
+- 例如 0.01 以太币
+
+**所涉及的费用或质押要求是什么?**
+
+- 多少比例的奖励作为费用扣除?
+- 是否有任何其他质押要求?
+
+**有流动性代币吗?**
+
+- 所涉及的代币有哪些? 它们是如何运作的? 合约地址是什么?
+- 此项用于确定产品的“流动性代币”评分。
+
+**用户可以作为节点运营商参与吗?**
+
+- 使用联合资金运行验证者客户端有哪些要求?
+- 是否需要取得个人、公司或去中心化自治组织的许可?
+- 此项用于确定产品的“无需许可节点”评分。
+
+**质押池节点运营商的客户端多样性如何?**
+
+- 有多少比例的节点运营商正在运行主流共识层 (CL) 客户端?
+- 截至上次编辑,大多数节点运营商都在运行 Prysm 共识层客户端,这对网络来说是危险的。 如果当前有超过 33% 的网络在使用某一种共识层客户端,我们即会索取与其使用情况相关的数据。
+- 此项用于确定产品的“多样性客户端”评分。
+
+### 其他标准:最好具备 {#other-criteria}
+
+**支持哪些用户界面?**
+
+- 例如 浏览器应用程序、桌面应用程序、移动应用程序、命令行界面
+
+**对于节点工具,软件是否提供了在客户端之间轻松切换的方法?**
+
+- 用户能否使用该工具轻松安全地更换客户端?
+
+**对于质押即服务,该服务目前正在运行多少个验证者?**
+
+- 此项可让我们了解该服务的范围。
+
+## 我们如何显示结果 {#product-ordering}
+
+上述[纳入标准](#criteria-for-inclusion)将用于计算每个产品或服务的累积评分。 这些分数会用来分类和展示满足某些客观标准的产品。 提供证据的标准越多,产品的排序就越高,并且在加载时会随机排列。
+
+这些标准的代码逻辑和权重当前包含在我们存储库的[这个 JavaScript 组件](https://github.com/ethereum/ethereum-org-website/blob/dev/src/components/Staking/StakingProductsCardGrid.js#L350)中。
+
+## 添加你的产品或服务 {#add-product}
+
+如果你想将质押产品或服务添加到 ethereum.org,请在 GitHub 上创建一个问题。
+
+
+ 创建一个提议
+
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/adding-wallets/index.md b/public/content/translations/zh/28) Contributing 2/contributing/adding-wallets/index.md
new file mode 100644
index 00000000000..680cf5bbf18
--- /dev/null
+++ b/public/content/translations/zh/28) Contributing 2/contributing/adding-wallets/index.md
@@ -0,0 +1,80 @@
+---
+title: 添加钱包
+description: 向 ethereum.org 添加钱包时采用的政策
+lang: zh
+---
+
+# 添加钱包 {#adding-wallets}
+
+我们希望确保展示出各种钱包,覆盖钱包的所有不同功能,让用户可以自信地使用以太坊。
+
+任何人都可以提出向 ethereum.org 添加钱包的建议。 如果有遗漏,请提出建议!
+
+目前所有钱包都在以下页面上架:
+
+- [ethereum.org/wallets/find-wallet/](/wallets/find-wallet/)
+
+以太坊中的钱包日新月异。 我们已尝试在 ethereum.org 上创建一个公平的考量框架,但纳入标准会随时间推移而变化和发展。
+
+## 决策框架 {#the-decision-framework}
+
+### 纳入标准:必备条件 {#the-must-haves}
+
+- **经过安全测试的产品** - 无论是通过审核、内部安全团队、开源编码还是其他方法,你的钱包的安全性都必须可靠。 这会降低我们用户的风险,并向我们表明你非常重视安全性。
+- **“上线”超过六个月或由具有良好记录的团体发布的钱包** - 这是安全性的另一个衡量指标。 6 个月是发现严重缺陷和漏洞的最佳时间窗口。 我们要求 6 个月的时间,以便帮助筛选出那些作为项目很快就被放弃的分叉。
+- **由一个活跃的团队运作** - 这有助于确保质量,并确保用户的询问能够得到反馈。
+- **诚实准确的上架信息** - 任何所建议的来自项目的上架产品都应包含诚实准确的信息。 伪造上架信息的产品,例如声明你的产品是“开源”的但实际并非如此,产品将被移除。
+- **联系人** - 实施变更时,钱包的联系人将极大地帮助我们获取准确信息。 这样将在今后收集信息时确保 ethereum.org 的更新可管理。
+- **EIP-1559(类型 2)交易** - 你的钱包必须支持 EIP-1559(类型 2)交易才能在主网以太坊上进行交易。
+- **良好的用户体验** - 虽然用户体验是主观的,但如果多名核心团队成员测试产品后发现产品难以使用,我们保留拒绝钱包的权利,并将提供有用的改进建议。 这样做是为了保护我们主要由初学者组成的用户群。
+
+### 产品移除 {#product-removals}
+
+- **更新信息** - 钱包提供商有责任每 6 个月重新提交一次钱包信息,以确保所提供信息的有效性和相关性(即使其产品没有变化)。 如果产品团队未能这样做,ethereum.org 可能会从页面上移除该项目。
+
+### 其他标准:最好具备 {#the-nice-to-haves}
+
+- **全球可访问** — 你的钱包没有地域限制或身份验证要求,因为这会让某些人无法使用你的服务。
+- **支持多种语言** - 你的钱包已经翻译成多种语言,全球用户都能够访问它。
+- **开源** - 你的整个项目的代码库(不只是模块)应该可以访问,并且你应该接受来自更广泛社区的拉取请求。
+- **非托管模式** - 用户可以控制自己的资金。 如果你的产品消失了,用户仍然可以获取和转移他们的资金。
+- **支持硬件钱包** - 用户可以连接硬件钱包来签署交易。
+- **WalletConnect** - 用户可以使用 WalletConnect 连接到去中心化应用程序。
+- **导入以太坊远程过程调用端点** - 用户可以导入节点的远程过程调用数据,这样他们可以连接到自己选择的节点或其他以太坊虚拟机兼容的网络。
+- **非同质化代币** - 用户能够查看钱包中的非同质化代币并与之互动。
+- **连接到以太坊应用程序** - 用户能够连接并使用以太坊应用程序。
+- **质押** - 用户可以直接通过钱包进行质押。
+- **兑换** - 用户可以通过钱包兑换代币。
+- **多链网络** - 你的钱包默认支持用户访问多个区块链网络。
+- **二层网络** - 你的钱包默认支持用户访问二层网络。
+- **自定义燃料费用** - 你的钱包允许用户自定义自己的交易燃料费用(基础费、优先费、最高费用)。
+- **支持以太坊域名服务** - 你的钱包允许用户向以太坊域名服务名称发送交易。
+- **支持 ERC-20** - 你的钱包允许用户导入 ERC-20 代币合约,或自动查询和显示 ERC-20 代币。
+- **购买加密货币** - 你的钱包支持用户直接购买和上手加密货币。
+- **出售法币** - 你的钱包支持用户将法币直接出售并提现到银行卡或银行帐户。
+- **多重签名** - 你的钱包支持通过多重签名来签署交易。
+- **社交恢复** - 你的钱包支持监护人,如果用户丢失了助记词,可以通过监护人来恢复他们的钱包。
+- **专职支持团队** - 你的钱包拥有一支专职支持团队,用户遇到问题时可以向该团队寻求帮助。
+- **教育资源/文档** - 你的产品应提供精心设计的入门培训体验,为用户提供帮助和培训。 或者有文章或视频之类的介绍操作方法的内容。
+
+## 添加钱包 {#adding-a-wallet}
+
+如果你想向 ethereum.org 添加钱包,请在 GitHub 上创建一个问题。
+
+
+ 创建一个提议
+
+
+## 维护 {#maintenance}
+
+由于以太坊的流动性,团队和产品来来去去,创新每天都在发生,所以我们将对我们的内容进行例行检查,以便:
+
+- 确保所有钱包和上架的去中心化应用程序仍然符合我们的标准
+- 验证建议的产品没有比当前上架的产品符合我们的更多标准
+
+ethereum.org 由开源社区维护,我们依靠社区来帮助持续更新它。 如果你发现有任何关于上架钱包的信息需要更新,请[创建一个问题](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=wallet+%3Apurse%3A&template=suggest_wallet.yaml)或[拉取请求](https://github.com/ethereum/ethereum-org-website/pulls)!
+
+
+## 使用条款 {#terms-of-use}
+
+另请参阅我们的[使用条款](/terms-of-use/)。 ethereum.org 上的资料仅供参考。
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/content-resources/index.md b/public/content/translations/zh/28) Contributing 2/contributing/content-resources/index.md
new file mode 100644
index 00000000000..c9f33cd0bab
--- /dev/null
+++ b/public/content/translations/zh/28) Contributing 2/contributing/content-resources/index.md
@@ -0,0 +1,32 @@
+---
+title: 添加内容资源
+lang: zh
+description: 在 ethereum.org 上上架内容资源的标准
+---
+
+# 添加内容资源 {#adding-content-resources}
+
+我们不能涵盖关于以太坊的所有内容,所以我们试着展示一些由社群创造的精彩文章、教程、简报、工作展示板和其他内容资源。 这些资源常为用户可能感兴趣的问题提供更深入的信息。
+
+如果你覺得某個頁麵中需要添加一個內容資源,請隨時在適當的地方提出建議。
+
+## 我们如何做出决定 {#how-we-decide}
+
+将按照以下标准评估学习资源:
+
+- 内容是最新的吗?
+- 内容是否需要付费?
+- 信息准确吗? 它是基于事实还是基于观点?
+- 作者是否可信? 它们是否提及相关的来源?
+- 这些内容是否增加了现有资源或链接所不具有的独特价值?
+- 这些内容是否服务于我们的其中一部分[用户](https://www.notion.so/efdn/Ethereum-org-User-Persona-Memo-b44dc1e89152457a87ba872b0dfa366c)?
+
+---
+
+## 添加你的内容资源 {#add-your-content-resource}
+
+如果你想要将内容资源添加到 ethereum.org,并且该内容资源符合标准,请在 GitHub 上创建一个提议。
+
+
+ 创建一个提议
+
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/design/adding-design-resources/index.md b/public/content/translations/zh/28) Contributing 2/contributing/design/adding-design-resources/index.md
new file mode 100644
index 00000000000..37ec9520538
--- /dev/null
+++ b/public/content/translations/zh/28) Contributing 2/contributing/design/adding-design-resources/index.md
@@ -0,0 +1,69 @@
+---
+title: 添加设计资源
+description: 确保 ethereum.org 上设计资料质量的准则和要求
+lang: zh
+---
+
+# 添加设计资源 {#adding-design-resources}
+
+任何人可以在 [web3 页面的设计和用户体验区域](/developers/docs/design-and-ux/)推荐新的设计资料。
+
+请注意,本页面的重点是为有抱负的 web3 设计师提供用户价值。 该设计区域不是为了宣传你的服务、产品或平台。
+
+为确保我们维护高标准的资料并推广有价值的见解,我们制定了一项上架政策:
+
+## 研究和仪表板 {#Research-studies}
+
+1. 健全的方法
+
+a. 方法应明确规定如何收集数据。
+
+b. 应说明研究参与者的人数。
+
+c. 应说明所采用的研究方法。
+
+2. 与 Web3 设计师和常见设计使用案例相关
+
+a. 研究的主题应与 Web3 设计师相关,并涉及常见设计使用案例。
+
+3. 注重提供见解
+
+a. 文本的主要目的应是分享见解,而不是宣传某个具体项目或公司。
+
+## 文章 {#Articles}
+
+1. 与 Web3 设计师/研究人员及常见 Web3 设计使用案例相关
+
+a. 文章主题应与 Web3 设计师和研究人员相关,侧重于常见 Web3 设计使用案例。
+
+2. 基本写作质量
+
+a. 文章应当没有语法和拼写错误。
+
+b. 重点应放在提供重要见解和学习上。
+
+c. 文章应简明扼要并切中要害。
+
+3. 文本的目的
+
+a. 文章的主要目的应是分享见解,而不是宣传某个具体项目或公司。
+
+## 社区/去中心化自治组织 {#Communities-and-DAOs}
+
+1. 网站必须明确说明如何加入去中心化自治组织/社区
+
+2. 明确成为会员的好处
+
+a. 应将成为会员的好处放在显著位置。
+
+**示例**:收到关于工作的反馈、获得工作机会或奖励、分享设计和研究见解。
+
+3. 在 Discord 上支持积极活跃地交流
+
+a. Discord 社区应展现出积极活跃的交流氛围。
+
+b. 版主应积极维护社区并促进讨论。
+
+c. 社区应展示过去两周内进行过有价值且有成果的讨论的记录。
+
+通过恪守以上标准,我们旨在在我们的社区内营造一个蓬勃发展的知识共享环境。 我们相信,这种白名单政策将确保我们的用户能够获得可靠、相关且有见地的资源。 感谢你的理解以及在维护我们平台的内容质量方面的合作。
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/quizzes/index.md b/public/content/translations/zh/28) Contributing 2/contributing/quizzes/index.md
new file mode 100644
index 00000000000..0d8c0dc722b
--- /dev/null
+++ b/public/content/translations/zh/28) Contributing 2/contributing/quizzes/index.md
@@ -0,0 +1,62 @@
+---
+title: 添加测验
+description: 向 ethereum.org 添加测验时采用的政策
+lang: zh
+---
+
+# 测试 {#quizzes}
+
+测验让用户有机会自我检测,看看自己是否理解刚刚读过的页面内容。 问题应仅基于页面上提供的内容并且不应询问页面上未提及的信息。
+
+问题的结构如下。 问题提示、1 个正确答案以及为什么正确的解释、3 个错误答案以及为什么错误的解释。
+
+一些现有测验的示例可以在下面找到:
+
+- [二层网络](/layer-2)
+- [非同质化代币](/nft/)
+- [什么是以太坊?](/what-is-ethereum/)
+- [以太币是什么?](/eth/)
+
+## 添加学习测验
+
+如果一个页面尚未创建学习测验,请为其[创建问题](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml)。
+
+请提供以下信息:
+
+- 你想要添加测验的页面
+- 含有以下信息的 5 个问题:
+ - 问题所依据的页面部分
+ - 问题提示
+ - 1 个正确答案以及为什么正确的解释
+ - 3 个错误答案,每一个答案都有为什么错误的解释
+
+## 添加测验问题
+
+如果你想将一个问题添加到测验的问题库中,请[创建问题](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml)并提供以下信息:
+
+- 你想要添加测验问题的页面
+- 对于每个问题,提供以下信息:
+ - 问题所依据的页面部分
+ - 问题提示
+ - 1 个正确答案以及为什么正确的解释
+ - 3 个错误答案,每一个答案都有为什么错误的解释
+
+## 更新测验问题
+
+如果你想在测验的问题库中更新一个问题,请[创建问题](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml)并提供以下信息:
+
+- 你想要更新测验问题的页面
+- 对于每个被更新的问题,提供以下信息:
+ - 问题所依据的页面部分
+ - 你想更新问题的问题提示
+ - 更新后的问题提示
+ - 1 个正确答案以及为什么正确的解释
+ - 3 个错误答案,每一个答案都有为什么错误的解释
+
+## 删除测验问题
+
+如果页面上和问题相关的内容不再存在并且需要删除问题,请[创建问题](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml)以删除测验问题并提供以下信息:
+
+- 你想要删除测验问题的页面
+- 你想要删除的问题
+- 为什么这个问题应该删除的解释(必要时)
diff --git a/public/content/translations/zh/about/index.md b/public/content/translations/zh/about/index.md
index f945164aa72..0d3d40ffafe 100644
--- a/public/content/translations/zh/about/index.md
+++ b/public/content/translations/zh/about/index.md
@@ -90,7 +90,7 @@ ethereum.org 是一个面向以太坊社区的开源公共网站和教育资源
为了使我们的工作更易于了解,并促进更多的社区合作,ethereum.org 核心团队发布了一份季度目标路线图概览。
-[查看我们的 2024 年 第 1 季度产品路线图](https://github.com/ethereum/ethereum-org-website/issues/12005)
+[查看我们的 2024 年第 3 季度产品路线图](https://github.com/ethereum/ethereum-org-website/issues/13399)
**这看起来怎么样?**我们始终感谢为我们的路线图提供的反馈 - 如有改进之处,请告诉我们! 我们欢迎社区里的任何人提出想法和建议。
@@ -114,6 +114,10 @@ ethereum.org 是一个面向以太坊社区的开源公共网站和教育资源
欢迎大家针对我们的设计原则、设计体系和风格指南,提出反馈意见。 请记住,ethereum.org 来自社区,服务社区。
+## 许可证 {#license}
+
+除非另有说明,ethereum.org 网站是开源的,并基于 [MIT 许可证](https://github.com/ethereum/ethereum-org-website/blob/dev/LICENSE)构建。 更多关于 ethereum.org [使用条款](/terms-of-use/)的信息。
+
## 正在招聘 {#open-jobs}
虽然该网站是开源的并且任何人都可以改进它,但我们确实有一个专职团队,负责 ethereum.org 和以太坊基金会的其他 Web 项目。
diff --git a/public/content/translations/zh/bridges/index.md b/public/content/translations/zh/bridges/index.md
index fa60d9177a1..2abed2539e6 100644
--- a/public/content/translations/zh/bridges/index.md
+++ b/public/content/translations/zh/bridges/index.md
@@ -6,32 +6,32 @@ lang: zh
# 区块链桥 {#prerequisites}
-_Web3 已经发展成为一个由一层网络区块链和二层网络扩展解决方案组成的生态系统,每个解决方案都具有独特的功能和权衡。 随着区块链协议数量的增加,[跨链移动资产的需求也随之增加](https://dune.xyz/eliasimos/Bridge-Away-(from-Ethereum))。 为了满足这一需求,我们需要桥接。_
+_Web3 已经发展成为一个由一层网络区块链和二层网络扩展解决方案组成的生态系统,每个解决方案都具有独特的功能和权衡。 随着区块链协议数量的增加,跨链转移资产的需求也随之增加。 为了满足这一需求,我们需要桥接。_
## 什么是桥梁? {#what-are-bridges}
-区块链桥就像我们在真实世界所知道的桥梁一样。 就像真实桥梁连结两个物理位置一样,区块链桥梁连接两个区块链生态系统。 桥梁通过传递信息和资产,促进区块链之间的通信。
+区块链桥就像我们在真实世界所知道的桥梁一样。 就像真实桥梁连结两个物理位置一样,区块链桥梁连接两个区块链生态系统。 **链桥传输信息和资产,促进了区块链之间的通信**。
我们来看一个例子:
你来自美国,正计划去欧洲旅行。 你有美元,但你需要欧元来消费。 要将你的美元兑换成欧元,你可以使用货币兑换并支付少量费用。
-但是,如果你想使用不同的区块链进行类似的兑换,你会怎么做? 假设你想用以太坊主网的以太币兑换 [Arbitrum](https://arbitrum.io/) 上的以太币。 就像我们为欧元进行的货币兑换一样,我们需要一种机制将我们的以太币从以太坊转移到 Arbitrum。 桥梁使这种交易成为可能。 在本例中,[Arbitrum 有一个原生桥梁](https://bridge.arbitrum.io/),可以将以太币从主网转移到 Arbitrum。
+但是,如果你想进行类似的兑换以使用一条不同的[区块链](/glossary/#blockchain),你要怎么做呢? 假设你想用以太坊主网上的[以太币](/glossary/#ether)兑换 [Arbitrum](https://arbitrum.io/) 上的以太币。 就像我们为欧元进行的货币兑换一样,我们需要一种机制将我们的以太币从以太坊转移到 Arbitrum。 桥梁使这种交易成为可能。 在本例中,[Arbitrum 有一个原生桥梁](https://bridge.arbitrum.io/),可以将以太币从主网转移到 Arbitrum。
## 我们为什么需要桥梁? {#why-do-we-need-bridges}
-所有区块链都有其局限性。 为了使以太坊实现扩展,跟上需求,就必须进行卷叠。 或者,像 Solana 和 Avalanche 这样的一层网络具有不同的设计,以实现更高的吞吐量,但代价是去中心化。
+所有区块链都有其局限性。 为了使以太坊实现扩容并满足需求,就必须进行[卷叠](/glossary/#rollups)。 或者,像 Solana 和 Avalanche 这样的一层网络具有不同的设计,以实现更高的吞吐量,但代价是去中心化。
-然而,所有区块链的开发都是在孤立的环境中进行,因此具有不同的规则和共识机制。 这意味着它们无法进行原生通信,代币也无法在区块链之间自由移动。
+然而,所有区块链开发都是在孤立环境中进行的,因此具有不同的规则和[共识](/glossary/#consensus)机制。 这意味着它们无法进行原生通信,代币也无法在区块链之间自由移动。
桥梁的存在为了连接区块链,以便在它们之间进行信息和代币传输。
-桥梁能够:
+**链桥的作用**:
- 跨链传输资产和信息。
-- 使去中心化应用程序可以利用各种区块链的优势 - 从而增强它们的能力(因为协议现在有更多的创新设计空间)。
+- 使[去中心化应用程序](/glossary/#dapp)可以利用各种区块链的优势 — 从而增强功能(因为协议现在有更多的创新设计空间)。
- 使用户能够访问新平台并利用不同链的优势。
- 使来自不同区块链生态系统的开发人员相互协作并为用户构建新平台。
@@ -57,7 +57,7 @@ _Web3 已经发展成为一个由一层网络区块链和二层网络扩展解
### 拥有原生加密资产 {#own-native}
-如果你只有以太坊网络资产但想拥有原生比特币, 你可以先兑换得到以太坊上的 BTC - WBTC(Wrapped Bitcoin), 但 WBTC 是以太坊网络上的 ERC-20 代币,仍不是原生比特币。 然后你可以通过跨链桥,将资产从以太坊网络跨到比特币网络, 即将 WBTC 转换为原生 BTC。 或者,你可能拥有以太币并希望在以太坊去中心化金融协议中使用。 用于以太坊网络的 DeFi 协议中。
+如果你只有以太坊网络资产但想拥有原生比特币, 你可以先兑换得到以太坊上的 BTC - WBTC(Wrapped Bitcoin), 然而,包装比特币是以太坊网络的原生 [ERC-20](/glossary/#erc-20) 代币,这意味着它是比特币的以太坊版本,而不是比特币区块链上的原始资产。 然后你可以通过跨链桥,将资产从以太坊网络跨到比特币网络, 即将 WBTC 转换为原生 BTC。 或者,你可能拥有比特币,并且想在以太坊的[去中心化金融](/glossary/#defi)协议中使用它。 用于以太坊网络的 DeFi 协议中。
你还可以使用中心化交易所完成上述所有操作。 但是,除非你的资金已经在交易所,否则将涉及多个步骤,而且你最好使用桥梁。
@@ -69,11 +69,11 @@ _Web3 已经发展成为一个由一层网络区块链和二层网络扩展解
桥梁具有各种设计和复杂程度。 一般来说,桥梁分为两类:需信任桥梁和去信任桥梁。
-| 需信任桥梁 | 去信任桥梁 |
-| ------------------------------------- | ----------------------------- |
-| 需信任桥梁依赖于中心实体或系统的运作。 | 去信任桥梁使用智能合约和算法运行。 |
-| 他们对资金的保管和桥梁的安全性有信任假设。 用户大多依赖桥梁运营商的声誉。 | 这种桥梁免于信任,即桥梁的安全性与底层区块链的安全性相同。 |
-| 用户需要放弃对其加密资产的控制。 | 通过智能合约,去信任桥梁使用户能够继续控制他们的资金。 |
+| 需信任桥梁 | 去信任桥梁 |
+| ------------------------------------- | -------------------------------------------------------- |
+| 需信任桥梁依赖于中心实体或系统的运作。 | 去信任桥梁使用智能合约和算法运行。 |
+| 他们对资金的保管和桥梁的安全性有信任假设。 用户大多依赖桥梁运营商的声誉。 | 这种桥梁免于信任,即桥梁的安全性与底层区块链的安全性相同。 |
+| 用户需要放弃对其加密资产的控制。 | 借助[智能合约](/glossary/#smart-contract),去信任链桥使用户能够始终控制他们的资金。 |
简而言之,我们可以说需信任桥梁具有信任假设,而去信任桥梁对信任的依赖非常小,因此不会在基础域之外出现新的信任假设。 上述术语的解释如下:
@@ -87,7 +87,7 @@ _Web3 已经发展成为一个由一层网络区块链和二层网络扩展解
1. 手动检查站 — 由工作人员手动检查你的机票和身份证明的所有详细信息,然后再交出登机牌。
2. 自助值机 — 由一台机器操作,你可以在其中输入航班的详细信息,如果一切检查完毕,你就会收到登机牌。
-手动检查站类似于需信任模式,因为它依赖于第三方(即工作人员)进行操作。 作为用户,你相信工作人员会做出正确的决定并正确使用你的私人信息。
+手动检查点类似于需信任模式,因为它依赖于第三方(即工作人员)进行操作。 作为用户,你相信工作人员会做出正确的决定并正确使用你的私人信息。
自助值机类似于去信任模式,因为它不再需要操作员,而是利用技术进行操作。 用户始终可以控制他们的数据,并且不必信任第三方来处理他们的私人信息。
@@ -126,9 +126,3 @@ _Web3 已经发展成为一个由一层网络区块链和二层网络扩展解
- [EIP-5164:跨链执行](https://ethereum-magicians.org/t/eip-5164-cross-chain-execution/9658)_2022 年 6 月 18 日 - Brendan Asselstine_
- [二层网络桥梁风险框架](https://gov.l2beat.com/t/l2bridge-risk-framework/31) _2022 年 7 月 5日 - Bartek Kiepuszewski_
- [“为什么未来将出现多链,而不会是跨链。”](https://old.reddit.com/r/ethereum/comments/rwojtk/ama_we_are_the_efs_research_team_pt_7_07_january/hrngyk8/) _2022 年 1 月 8 日 - Vitalik Buterin_
-- [什么是区块链桥以及我们如何对其进行分类?](https://blog.li.finance/what-are-blockchain-bridges-and-how-can-we-classify-them-560dc6ec05fa) _2021 年 2 月 18 日 - Arjun Chand_
-- [什么是跨链桥接?](https://www.alchemy.com/overviews/cross-chain-bridges) _2022 年 5 月 10 日 - Alchemy_
-- [区块链桥:构建加密网络的网络](https://medium.com/1kxnetwork/blockchain-bridges-5db6afac44f8) _2021 年 9 月 8 日 - Dmitriy Berenzon _
-- [加密空间中的桥梁](https://medium.com/chainsafe-systems/bridges-in-crypto-space-12e158f5fd1e) _2021 年 8 月 23 日 - Ben Adar Hyman_
-- [互操作性三难困境](https://medium.com/connext/the-interoperability-trilemma-657c2cf69f17) _2021 年 10 月 1 日 - Arjun Bhuptani_
-- [保护桥梁:正确完成跨链通信](https://medium.com/dragonfly-research/secure-the-bridge-cross-chain-communication-done-right-part-i-993f76ffed5d) _2021 年 8 月 23 日 - Celia Wan_
diff --git a/public/content/translations/zh/community/get-involved/index.md b/public/content/translations/zh/community/get-involved/index.md
index 26fcd6ed225..c4817e579ec 100644
--- a/public/content/translations/zh/community/get-involved/index.md
+++ b/public/content/translations/zh/community/get-involved/index.md
@@ -15,15 +15,17 @@ lang: zh
- 访问 [ethereum.org/developers/](/developers/),了解和尝试使用以太坊
- 参加你附近的一个 [ETHGlobal](http://ethglobal.co/) 黑客马拉松活动!
- 查看[与你的专业领域或所选编程语言相关的项目](/developers/docs/programming-languages/)
-- 观看或参与[核心开发人员电话会议](https://www.youtube.com/@EthereumProtocol)
+- 观看或参与[共识层和执行层会议](https://www.youtube.com/@EthereumProtocol/streams)
- [生态系统支持计划的愿望清单](https://esp.ethereum.foundation/wishlist/) - 适用于工具、文档和基础设施领域,以太坊生态系统支持计划正在积极寻求这些领域的资助申请
- [Web3Bridge](https://www.web3bridge.com/) - 加入有抱负的 web3 社区,一起积极寻找、培训和支持整个非洲的数百名开发人员和社区成员
+- 加入[以太币研发 Discord](https://discord.com/invite/VmG7Uxc)
- 加入[以太坊猫牧人组织 Discord](https://discord.com/invite/Nz6rtfJ8Cu)
## 研究人员 & 学者 {#researchers-and-academics}
你是否有数学、密码学或经济学方面的背景? 你可能会对以太坊生态系统中正在进行的一些前沿工作感兴趣:
+- 加入[以太币研发 Discord](https://discord.com/invite/VmG7Uxc)
- 撰写或审查以太坊改进提案
- 撰写以太坊改进提案
1. 在[以太坊魔术师](https://ethereum-magicians.org)论坛上提交你的创想
@@ -38,6 +40,7 @@ lang: zh
- [Ethresear.ch](https://ethresear.ch) - 以太坊的主要研究论坛,也是世界上最具影响力的加密经济学论坛
- [以太坊基金会研究团队 AMA](https://old.reddit.com/r/ethereum/comments/vrx9xe/ama_we_are_ef_research_pt_8_07_july_2022) - 正在进行中的研究人员问答系列。 下一部分开放时,任何人都可以提出问题。
- [生态系统支持计划愿望清单](https://esp.ethereum.foundation/wishlist/) - 介绍以太坊生态系统支持计划正在积极征询资助申请的研究领域
+- [AllWalletDevs](https://allwallet.dev) - 供以太坊开发者、设计人员和感兴趣的用户定期聚会和讨论钱包的论坛
[探索更多活跃研究领域](/community/research/)。
@@ -89,7 +92,7 @@ lang: zh
## 产品经理 {#product-managers}
-- 以太坊生态系统需要有才之士! 许多公司正在招聘产品经理。 如果你想从为开源项目做贡献开始,请联系 [Ethereum Cat Herders](https://discord.com/invite/Nz6rtfJ8Cu) 或 [RaidGuild](https://www.raidguild.org/)
+- 以太坊生态系统需要有才之士! 许多公司正在招聘产品经理。 如果你想从为开源项目做贡献开始,请联系[以太坊牧猫人组织](https://discord.com/invite/Nz6rtfJ8Cu)或 [RaidGuild](https://www.raidguild.org/)
## 市场营销 {#marketing}
@@ -104,11 +107,9 @@ lang: zh
- [以太坊基金会职位公告栏 (BambooHR)](https://ethereum.bamboohr.com/jobs/)
- [JobStash](https://jobstash.xyz)
- [Cryptocurrency 招聘职位](https://cryptocurrencyjobs.co/ethereum/)
-- [Crypto.jobs](https://crypto.jobs/)
- [ConsenSys 职业机会](https://consensys.net/careers/)
- [Crypto 招聘职位列表](https://cryptojobslist.com/ethereum-jobs)
- [Bankless 职位公告栏](https://pallet.xyz/list/bankless/jobs)
-- [useWeb3 招聘职位](https://www.useweb3.xyz/jobs)
- [Web3 招聘职位](https://web3.career)
- [Web3 Army](https://web3army.xyz/)
- [Crypto Valley 招聘职位](https://cryptovalley.jobs/)
@@ -119,13 +120,12 @@ lang: zh
“DAO”是指去中心化自治组织。 这些团队利用以太坊技术促进组织和协作。 例如,用于成员资格管理、提案投票或联合资产管理。 虽然去中心化自治组织仍处于试验阶段,但它们提供了机会,让你找到自己认同的团队,找到合作者并且扩大自己对以太坊社区的影响。 [更多关于去中心化自治组织的信息](/dao/)
-- [DAOSquare](https://www.daosquare.io) [@DAOSquare](https://twitter.com/DAOSquare) - _在非技术领域推广去中心化自治组织这一概念,帮助人们通过去中心化自治组织创造价值_
+- [DAOSquare](https://daosquare.io/) [@DAOSquare](https://twitter.com/DAOSquare) - _在非技术领域推广去中心化自治组织这一概念,帮助人们通过去中心化自治组织创造价值_
- [Developer DAO](https://www.developerdao.com/) [@developer_dao](https://twitter.com/developer_dao) - _由相信互联网为集体所有的构建者组成的社区_
- [dOrg](https://dOrg.tech) [@dOrg_tech](https://twitter.com/dOrg_tech) - _以去中心化自治组织形式运行的自由职业者 Web3 开发团队_
- [HausDAO](https://daohaus.club) [@nowdaoit](https://twitter.com/nowdaoit) - _DAOhaus 社区治理_
- [LexDAO](https://lexdao.org) [@lex_DAO](https://twitter.com/lex_DAO) - _法律工程_
- [Machi X](https://machix.com) [@MachiXOfficial](https://twitter.com/MachiXOfficial) - _艺术社区_
-- [MetaCartel](https://metacartel.org) [@Meta_Cartel](https://twitter.com/Meta_Cartel) - _去中心化自治组织培养基地_
- [MetaCartel Ventures](https://metacartel.xyz) [@VENTURE_DAO](https://twitter.com/VENTURE_DAO) - _为种子阶段前的加密项目提供风险投资_
- [MetaGame](https://metagame.wtf) [@MetaFam](https://twitter.com/MetaFam) - _面向现实世界的 MMORPG 游戏机制_
- [MetaFactory](https://metafactory.ai) [@TheMetaFactory](https://twitter.com/TheMetaFactory) - _数字化实体服装品牌_
diff --git a/public/content/translations/zh/community/grants/index.md b/public/content/translations/zh/community/grants/index.md
index 22a61a0e525..2c10e98226a 100644
--- a/public/content/translations/zh/community/grants/index.md
+++ b/public/content/translations/zh/community/grants/index.md
@@ -17,7 +17,6 @@ lang: zh
- [以太坊基金会生态系统资助方案](https://esp.ethereum.foundation) - _资助有利于以太坊的开源项目,重点资助通用工具、基础设施、研究和公共物品_
- [Moloch 去中心化自治组织](https://www.molochdao.com/) - _隐私、二层网络扩容、客户端安全性等_
- [去中心化自治组织资助](https://docs.google.com/spreadsheets/d/1XHc-p_MHNRdjacc8uOEjtPoWL86olP4GyxAJOFO0zxY/edit#gid=0) - _资助组织的 Google 电子表格_
-- [Crunchbase for Web3 资助](https://www.cryptoneur.xyz/web3-grants) - _按类别、用例、金额等筛选和搜索资助。 致力于帮助他人找到合适的资助。_
- [学术资助](https://esp.ethereum.foundation/academic-grants) - _为以太坊相关学术工作提供资助_
- [Blockworks Grantfarm](https://blockworks.co/grants/programs) - _Blockworks 编译了一份包含所有资助、提案征求和漏洞悬赏的完整名录。_
@@ -26,15 +25,15 @@ lang: zh
这些项目为旨在开发和实验自己技术的项目建立了自己的资助。
- [Aave 资助方案](https://aavegrants.org/) – _[Aave](https://aave.com/) 资助去中心化自治组织_
-- [Balancer](https://quark-ceres-740.notion.site/Balancer-Grants-938f1b979810427f8d903a904315da41) – _[Balancer](https://balancer.fi/) 生态系统基金_
+- [Balancer](https://grants.balancer.community/) – _[Balancer](https://balancer.fi/) 生态系统基金_
- [Chainlink 资助方案](https://chain.link/community/grants) - _[Chainlink](https://chain.link/) 社区资助_
- [Decentraland 资助方案](https://governance.decentraland.org/grants/) – _[Decentraland](https://decentraland.org/) 去中心化自治组织元宇宙_
- [Lido 生态系统资助组织 (LEGO)](https://lido.fi/lego) – _[Lido](https://lido.fi/) 金融生态系统_
- [MetaMask 方案](https://metamaskgrants.org/) - _-[MetaMask](https://metamask.io/) 员工主导的资助去中心化自助组织_
- [SKALE 网络资助方案](https://skale.space/developers#grants) - _[SKALE 网络](https://skale.space/)生态系统_
-- [The Graph](https://airtable.com/shrdfvnFvVch3IOVm) – _[The Graph](https://thegraph.com/) 生态系统_
-- [Uniswap 资助方案](https://www.uniswapfoundation.org/apply-for-a-grant) - _[Uniswap](https://uniswap.org/) 社区_
-- [Web3 Grants](https://web3grants.net) - _Web3/ 加密货币相关资助方案详尽清单_
+- [Swarm 基金会资助计划](https://my.ethswarm.org/grants) - _[Swarm 基金会](https://www.ethswarm.org/)生态系统_
+- [The Graph](https://thegraph.com/ecosystem/grants/) – _[The Graph](https://thegraph.com/) 生态系统_
+- [Uniswap 资助计划](https://www.uniswapfoundation.org/approach) – _[Uniswap](https://uniswap.org/) 社区_
## 二次方融资 {#quadratic-funding}
diff --git a/public/content/translations/zh/community/language-resources/index.md b/public/content/translations/zh/community/language-resources/index.md
index 883e00238ef..4a9f80f5cd5 100644
--- a/public/content/translations/zh/community/language-resources/index.md
+++ b/public/content/translations/zh/community/language-resources/index.md
@@ -16,9 +16,9 @@ lang: zh
## Ethereum.org 资源 {#ethereum-org}
-Ethereum.org 被地道地翻译成 40 多种语言,请参阅我们的语言页面。
+Ethereum.org 已由母语者翻译成 40 多种语言,你可以使用每个页面顶部的语言选择器菜单找到这些语言。
-![Language selector menu](./language-selector-menu.png)
+![语言选择器菜单](./language-selector-menu.png)
如果你会使用两种语言,而且想帮助我们宣传到更多的人,你也可以参与 [ethereum.org 翻译计划](/contributing/translation-program/#translation-program),帮助我们翻译该网站。
@@ -32,6 +32,7 @@ Ethereum.org 被地道地翻译成 40 多种语言,请参阅我们的语言页
- [Cointelegraph](http://cointelegraph.com.br/category/analysis) - 巴西版 Cointelegraph,一个主要的加密货币新闻机构
- [Livecoins](http://www.livecoins.com.br/ethereum) - 提供有关加密货币的新闻和工具
- [Seudinheiro](http://www.seudinheiro.com/criptomoedas/) - 提供有关加密货币的新闻和报告
+- [Modular Crypto](https://modularcrypto.xyz/) - 提供加密货币新闻和教育文章
**教育**
@@ -90,6 +91,24 @@ Ethereum.org 被地道地翻译成 40 多种语言,请参阅我们的语言页
- [Microsoft Learn(以太坊网络)](https://docs.microsoft.com/de-de/learn/modules/blockchain-ethereum-networks/) - 连接并部署以太坊网络
- [Microsoft Learn(区块链)](https://docs.microsoft.com/de-de/learn/paths/ethereum-blockchain-development/) - 区块链开发入门
+### 希伯来语 {#he}
+
+- [Udi Wertheimer - 比特币爱好者学习以太坊的基地](https://www.cryptojungle.co.il/udi-wertheimer-what-bitcoiners-can-learn-from-ethereum/)
+- [Omer Greismen (OpenZeppelin) - 我们如何防止一个 150 亿美元的智能合约遭受黑客攻击](https://www.cryptojungle.co.il/omer-greisman-openzeppelin/)
+- [Shy Datika (INX) - 代币化和证券的未来,包括以太坊是否为一种证券](https://www.cryptojungle.co.il/shy-datika-tokenization/)
+- [Roy Confino (Lemonade) - 以太坊保险](https://www.cryptojungle.co.il/roy-confino-insurance/)
+- [Idan Ofrat (Fireblocks) - 机构采用](https://www.cryptojungle.co.il/idan-ofrat-fireblocks/)
+- [Gal Weizman (MetaMask) - MetaMask 是什么](https://www.cryptojungle.co.il/gal-weizman-metamask/)
+- [Dror Aviely (Consensys) - 以太坊的中心](https://www.cryptojungle.co.il/dror-aviely-ethereum-center/)
+- [Nir Rozin - 成为一名加密朋克](https://www.cryptojungle.co.il/nir-rozin-cryptopunk/)
+- [Adan Kedem - 游戏与元宇宙](https://www.cryptojungle.co.il/adan-kedem-web3-gaming/)
+- [Uri Kolodny (Starkware) - 以太坊和区块链层](https://www.cryptojungle.co.il/uri-kolodny-starkware/)
+- [Udi Wertheimer - 以太坊 2.0 和竞争对手](https://www.cryptojungle.co.il/udi-on-eth2/)
+- [Ben Samocha(本人) - 以太坊 2.0 是一个机会吗?](https://www.cryptojungle.co.il/etherurm2-week-summary/)
+- [Alon Muroch (Bloxstaking) - 以太坊 2.0 是什么?](https://www.cryptojungle.co.il/alon-moroch-eth2/)
+- [Eilon Aviv (Collider Ventures) - 以太坊 2.0 可能会出现什么问题](https://www.cryptojungle.co.il/eilon-aviv-eth2-0/)
+- [Eilon Aviv (Collider Ventures) - 我们为什么需要以太坊 2.0](https://www.cryptojungle.co.il/eilon-aviv-ethereum-2-0/)
+
### 意大利语 {#it}
- [Ethereum Italia](https://www.ethereum-italia.it/) - 提供有关以太坊的教育、活动和新闻,专注于智能合约和区块链技术
@@ -98,9 +117,19 @@ Ethereum.org 被地道地翻译成 40 多种语言,请参阅我们的语言页
- [Microsoft Learning(智能合约)](https://docs.microsoft.com/it-it/learn/modules/blockchain-solidity-ethereum-smart-contracts/) - 学习用 Solidity 编写智能合约
- [Microsoft Learn(用去中心化应用程序)](https://docs.microsoft.com/it-it/learn/modules/blockchain-create-ui-decentralized-apps/) - 使用去中心化应用程序创建用户界面
+### 日语 {#ja}
+
+- [日本数字资产交易业协会](https://jvcea.or.jp/)
+- [日本加密货币商业协会](https://cryptocurrency-association.org/)
+- [区块链开发入门 - 学习 | Microsoft 文档](https://docs.microsoft.com/ja-jp/learn/paths/ethereum-blockchain-development/) - 此学习路径介绍区块链和以太坊平台上的开发
+- [精通以太坊](https://www.oreilly.co.jp/books/9784873118963/) - 精通以太坊(日文)
+- [Solidity 智能合约开发和以太坊实战](https://www.oreilly.co.jp/books/9784873119342/) - Solidity 智能合约开发和以太坊实战(日文)
+
### 俄语 {#ru}
- [Cyber Academy](https://cyberacademy.dev) - 面向 web3 构建者的教育空间
+- [Forklog](https://forklog.com) - 提供有关普通加密货币、不同区块链现有技术和未来升级的新闻和教育文章
+- [BeInCrypto](https://ru.beincrypto.com) - 提供新闻、加密货币价格和非技术性文章,通俗易懂地解释有关加密货币的所有内容
### 西班牙语 {#es}
@@ -122,11 +151,3 @@ Ethereum.org 被地道地翻译成 40 多种语言,请参阅我们的语言页
- [Tino Group](https://wiki.tino.org/ethereum-la-gi/) - 以太坊、去中心化应用程序、钱包和常见问题概览
- [Tap Chi Bitcoin](https://tapchibitcoin.io/tap-chi/tin-tuc-ethereum-eth) - 包含以太坊新闻和教育子页面的网站平台
- [Coin68](https://coin68.com/ethereum-tieu-diem/) - 提供以太坊新闻和教育内容的加密货币门户网站
-
-### 日语 {#ja}
-
-- [日本数字资产交易业协会](https://jvcea.or.jp/)
-- [日本加密货币商业协会](https://cryptocurrency-association.org/)
-- [区块链开发入门 - 学习 | Microsoft 文档](https://docs.microsoft.com/ja-jp/learn/paths/ethereum-blockchain-development/) - 此学习路径介绍区块链和以太坊平台上的开发
-- [精通以太坊](https://www.oreilly.co.jp/books/9784873118963/) - 精通以太坊(日文)
-- [Solidity 智能合约开发和以太坊实战](https://www.oreilly.co.jp/books/9784873119342/) - Solidity 智能合约开发和以太坊实战(日文)
diff --git a/public/content/translations/zh/community/research/index.md b/public/content/translations/zh/community/research/index.md
index f28dfe561c5..e235bcd91df 100644
--- a/public/content/translations/zh/community/research/index.md
+++ b/public/content/translations/zh/community/research/index.md
@@ -6,54 +6,54 @@ lang: zh
# 活跃的以太坊研究领域 {#active-areas-of-ethereum-research}
-以太坊的一项主要优势就在于一个高度活跃的研究与工程社区在不断改进它。 全世界许多充满热情且技术熟练的人都希望致力于解决以太坊中尚未解决的问题,但找出这些问题的根源往往不那么容易。 本页概述了以太坊重要的活跃研究领域,作为对以太坊最前沿领域的粗略指南。
+以太坊的主要优势之一就在于,有一个高度活跃的研究与工程社区在不断改进它。 全世界许多充满热情且技术熟练的人都希望致力于解决以太坊中尚未解决的问题,但找出这些问题的根源往往不那么容易。 本页概述了以太坊重要的活跃研究领域,作为介绍以太坊前沿领域的粗略指南。
-## 以太坊研究如何进行 {#how-ethereum-research-works}
+## 以太坊研究是怎样进行的 {#how-ethereum-research-works}
-以太坊的研究开放透明,体现[去中心化科学 (DeSci)](https://hackernoon.com/desci-decentralized-science-as-our-chance-to-recover-the-real-science) 的准则。 其文化致力于最大程度上提升研究工具及成果的开放性和交互性,例如通过可执行笔记本。 以太坊研究进展迅速,新的研究成果会在 [ethresear.ch](https://ethresear.ch/) 等论坛上发布并公开讨论,而不是通过传统的发布方式,在经过几轮同行评审后才能向社区传播。
+以太坊研究是公开且透明的,体现了[去中心化科学 (DeSci)](https://hackernoon.com/desci-decentralized-science-as-our-chance-to-recover-the-real-science) 的原则。 其文化致力于最大程度提升研究工具及成果的开放性和交互性,例如通过可执行笔记本。 以太坊研究进展迅速,新的研究成果会在 [ethresear.ch](https://ethresear.ch/) 等论坛上公开发布和讨论,而不是通过传统的发布方式,经过几轮同行评审后再向社区转播。
## 通用研究资源 {#general-research-resources}
-不管是哪种具体主题,都可以在 [ethresear.ch](https://ethresear.ch) 和 [以太坊研发 Discord 频道](https://discord.gg/qGpsxSA)上找到大量和以太坊研究相关的信息。 这些是以太坊研究人员讨论最新想法和开发机会的主要平台。
+无论是哪种具体主题,都可以在 [ethresear.ch](https://ethresear.ch) 和[以太坊研发 Discord 频道](https://discord.gg/qGpsxSA)中找到大量和以太坊研究相关的信息。 这些是以太坊研究人员讨论最新想法和开发机会的主要平台。
-[DelphiDigital](https://members.delphidigital.io/reports/the-hitchhikers-guide-to-ethereum) 在 2022 年 5 月发布的这份报告对以太坊路线图进行了精彩的概述。
+该报告由 [DelphiDigital](https://members.delphidigital.io/reports/the-hitchhikers-guide-to-ethereum) 于 2022 年 5 月发布,全面概述了以太坊路线图。
## 资金来源 {#sources-of-funding}
-你可以参与以太坊研究,并因此获得报酬! 例如,[以太坊基金会](/foundation/)近期开展了一轮[学术资助活动](https://esp.ethereum.foundation/academic-grants)。 可以在[以太坊资助页面](/community/grants/)找到相关信息,了解目前正在进行和即将开展的资助机会。
+你可以参与以太坊研究,并因此获得报酬! 例如,[以太坊基金会](/foundation/)最近开展了一轮[学术资助活动](https://esp.ethereum.foundation/academic-grants)。 你可以在[以太坊资助页面](/community/grants/)找到相关信息,了解目前正在进行和即将开展的资助机会。
## 协议研究 {#protocol-research}
-协议研究关注以太坊的基础层,基础层指一系列规则,它们定义节点如何连接、通信、交换和储存以太坊数据以及就区块链状态达成共识。 协议研究分为两个层类别:共识和执行。
+协议研究关注以太坊的基础层,基础层指一系列规则,它们定义节点如何连接、通信、交换和储存以太坊数据以及如何就区块链状态达成共识。 协议研究分为两个顶层类别:共识和执行。
### 共识 {#consensus}
-共识研究关注[以太坊的权益证明机制](/developers/docs/consensus-mechanisms/pos/)。 下面是一些共识研究课题的示例:
+共识研究专注于[以太坊的权益证明机制](/developers/docs/consensus-mechanisms/pos/)。 下面是一些共识研究课题的示例:
- 发现和修补漏洞;
- 量化加密经济安全性;
- 提高客户端实现的安全性或性能;
- 以及开发轻客户端。
-还开展了一些前瞻性研究并对协议进行一些重大重新设计(例如单时隙最终确定性),以实现以太坊的重要改进。 此外,共识客户端之间对等网络的效率、安全性和监测也是重要的研究课题。
+还开展了一些前瞻性研究,并对协议进行了一些重大重新设计(例如单时隙最终确定性),以实现以太坊的重要改进。 此外,共识客户端之间对等网络的效率、安全性和监测也是重要的研究课题。
#### 背景阅读 {#background-reading}
- [权益证明简介](/developers/docs/consensus-mechanisms/pos/)
-- [“Casper-FFG”论文](https://arxiv.org/abs/1710.09437)
-- [友好确定工具 Casper 之解说](https://arxiv.org/abs/1710.09437)
+- [Casper-FFG 论文](https://arxiv.org/abs/1710.09437)
+- [Casper-FFG 的解释说明](https://arxiv.org/abs/1710.09437)
- [Gasper 论文](https://arxiv.org/abs/2003.03052)
-#### 近期研究 {#recent-research}
+#### 近期的研究 {#recent-research}
-- [Ethresear.ch共识](https://ethresear.ch/c/consensus/29)
-- [可用性/确定性困境](https://arxiv.org/abs/2009.04987)
-- [单时隙确定性](https://ethresear.ch/t/a-model-for-cumulative-committee-based-finality/10259)
+- [Ethresear.ch 共识](https://ethresear.ch/c/consensus/29)
+- [可用性/最终确定性困境](https://arxiv.org/abs/2009.04987)
+- [单时隙最终确定性](https://ethresear.ch/t/a-model-for-cumulative-committee-based-finality/10259)
- [提议者-构建者分离](https://notes.ethereum.org/@vbuterin/pbs_censorship_resistance)
### 执行 {#execution}
-执行层专注于执行交易、运行[以太坊虚拟机 (EVM)](/developers/docs/evm/) 并生成执行有效载荷以传递给共识层。 有许多活跃的研究领域,包括:
+执行层专注于执行交易,运行[以太坊虚拟机 (EVM)](/developers/docs/evm/) 并生成执行有效载荷以传递给共识层。 有许多活跃的研究领域,包括:
- 构建轻客户端支持;
- 研究燃料限制;
@@ -61,29 +61,29 @@ lang: zh
#### 背景阅读 {#background-reading-1}
-- [以太坊虚拟机 (EVM) 简介](/developers/docs/evm)
+- [以太坊虚拟机简介](/developers/docs/evm)
- [Ethresear.ch 执行层](https://ethresear.ch/c/execution-layer-research/37)
-#### 近期研究 {#recent-research-1}
+#### 近期的研究 {#recent-research-1}
- [数据库优化](https://github.com/ledgerwatch/erigon/blob/devel/docs/programmers_guide/db_faq.md)
-- [状态数据到期](https://notes.ethereum.org/@vbuterin/state_expiry_eip)
+- [状态到期](https://notes.ethereum.org/@vbuterin/state_expiry_eip)
- [状态到期路径](https://hackmd.io/@vbuterin/state_expiry_paths)
- [沃克尔树和状态到期提案](https://notes.ethereum.org/@vbuterin/verkle_and_state_expiry_proposal)
-- [历史数据管理](https://eips.ethereum.org/EIPS/eip-4444)
+- [历史管理](https://eips.ethereum.org/EIPS/eip-4444)
- [沃克尔树](https://vitalik.eth.limo/general/2021/06/18/verkle.html)
- [数据可用性采样](https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding)
## 客户端开发 {#client-development}
-以太坊客户端是以太坊协议的实现。 客户端开发通过将协议研究的成果融入客户端中,让这些成果转化为现实。 客户端开发包括升级客户端规范和搭建具体实现方案。
+以太坊客户端是以太坊协议的实现。 客户端开发通过将协议研究的成果融入客户端中,让这些成果转化为现实。 客户端开发包括更新客户端规范和搭建具体实现。
一个以太坊节点需要运行两个软件:
1. 一个共识客户端,用于追踪区块链头部、传播区块并处理共识逻辑
2. 一个执行客户端,用于支持以太坊虚拟机并执行交易和智能合约
-关于节点和客户端更多详细信息以及当前所有客户端实现的清单,请参阅[节点和客户端页面](/developers/docs/nodes-and-clients/)。 你也可以在[历史页面](/history/)找到所有以太坊升级的历史信息。
+查看[节点和客户端页面](/developers/docs/nodes-and-clients/)以了解关于节点和客户端的更多详细信息以及当前所有客户端实现的清单。 你也可以在[历史页面](/history/)找到所有以太坊升级的历史信息。
### 执行客户端 {#execution-clients}
@@ -95,20 +95,20 @@ lang: zh
- [共识客户端规范](https://github.com/ethereum/consensus-specs)
- [信标应用程序接口规范](https://ethereum.github.io/beacon-APIs/#/Beacon/getStateRoot)
-## 扩容和性能 {#scaling-and-performance}
+## 扩容与性能 {#scaling-and-performance}
-以太坊扩容是以太坊研究人员关注的一个重大领域。 目前的方法包括将交易转移到卷叠上,并使用数据二进制大对象使交易尽可能经济实惠。 扩容以太坊的介绍信息见[扩容页面](/developers/docs/scaling)。
+以太坊扩容是以太坊研究人员关注的一个重大领域。 目前的方法包括将交易转移到卷叠上,并使用数据二进制大对象使交易尽可能经济实惠。 我们的[扩容页面](/developers/docs/scaling)提供了关于以太坊扩容的介绍信息。
### 二层网络 {#layer-2}
-现在有一些二层网络协议,它们使用不同的技术在以太坊一层网络上批量处理交易并保证交易安全,从而对以太坊扩容。 这个课题发展十分迅速,具备很强的研究和发展潜力。
+现在有一些二层网络协议,它们使用不同的技术对以太坊进行扩容,在以太坊一层网络上批量处理交易并保证交易安全。 这个课题发展十分迅速,具备很大的研究和发展潜力。
#### 背景阅读 {#background-reading-2}
- [二层网络简介](/layer-2/)
-- [Polynya:卷叠、数据可用性及模块化链](https://polynya.medium.com/rollups-data-availability-layers-modular-blockchains-introductory-meta-post-5a1e7a60119d)
+- [Polynya:卷叠、数据可用性和模块化链](https://polynya.medium.com/rollups-data-availability-layers-modular-blockchains-introductory-meta-post-5a1e7a60119d)
-#### 近期研究 {#recent-research-2}
+#### 近期的研究 {#recent-research-2}
- [面向排序者的 Arbitrum 公平排序](https://eprint.iacr.org/2021/1465)
- [ethresear.ch 二层网络](https://ethresear.ch/c/layer-2/32)
@@ -123,16 +123,20 @@ lang: zh
- [区块链桥简介](/bridges/)
- [Vitalik 谈链桥](https://old.reddit.com/r/ethereum/comments/rwojtk/ama_we_are_the_efs_research_team_pt_7_07_january/hrngyk8/)
-- [区块链链桥相关文章](https://medium.com/1kxnetwork/blockchain-bridges-5db6afac44f8)
-- [链桥上锁定的价值](https://dune.com/eliasimos/Bridge-Away-(from-Ethereum))
+- [区块链桥文章](https://medium.com/1kxnetwork/blockchain-bridges-5db6afac44f8)
+- [锁定在链桥上的价值](https://dune.com/eliasimos/Bridge-Away-\(from-Ethereum\))
-#### 近期研究 {#recent-research-3}
+#### 近期的研究 {#recent-research-3}
- [验证链桥](https://stonecoldpat.github.io/images/validatingbridges.pdf)
### 分片 {#sharding}
-分片以太坊区块链长期以来都是发展路线图的一部分。 不过,“Danksharding”等新的扩容解决方案正占据中心位置。
+分片以太坊区块链长期以来都是发展路线图的一部分。 不过,“Danksharding”等新的扩容解决方案目前占据了中心位置。
+
+Proto-Danksharding 是完整 Danksharding 的先决条件 ,在 Cancun-Deneb ("Dencun") 网络升级后上线。
+
+[更多关于 Dencun 升级的信息](/roadmap/dencun/)
#### 背景阅读 {#background-reading-4}
@@ -141,30 +145,30 @@ lang: zh
- [以太坊分片研究纲要](https://notes.ethereum.org/@serenity/H1PGqDhpm?type=view)
- [Danksharding (Polynya)](https://polynya.medium.com/danksharding-36dc0c8067fe)
-#### 近期研究 {#recent-research-4}
+#### 近期的研究 {#recent-research-4}
- [EIP-4844:Proto-Danksharding](https://eips.ethereum.org/EIPS/eip-4844)
- [Vitalik 谈分片和数据可用性采样](https://hackmd.io/@vbuterin/sharding_proposal)
### 硬件 {#hardware}
-在普通硬件上[运行节点](/developers/docs/nodes-and-clients/run-a-node/)是保持以太坊去中心化的基础。 因此,尽可能降低运行节点的硬件要求是目前正在进行的研究中一个重要领域。
+使用普通硬件[运行节点](/developers/docs/nodes-and-clients/run-a-node/)是保持以太坊去中心化的基础。 因此,尽可能降低运行节点的硬件要求是目前正在积极研究的一个重要领域。
#### 背景阅读 {#background-reading-5}
-- [Ethereum on ARM](https://ethereum-on-arm-documentation.readthedocs.io/en/latest/)
+- [基于 ARM 的以太坊](https://ethereum-on-arm-documentation.readthedocs.io/en/latest/)
-#### 近期研究 {#recent-research-5}
+#### 近期的研究 {#recent-research-5}
-- [基于现场可编程门阵列的椭圆曲线数字算法](https://ethresear.ch/t/does-ecdsa-on-fpga-solve-the-scaling-problem/6738)
+- [基于现场可编程门阵列的椭圆曲线数字签名算法](https://ethresear.ch/t/does-ecdsa-on-fpga-solve-the-scaling-problem/6738)
-## 安全性 {#security}
+## 安全 {#security}
安全是一个广泛的话题,可能包括垃圾邮件/诈骗防范、钱包安全、硬件安全、加密经济安全、应用程序和客户端软件的错误查找和测试以及密钥管理。 拓宽这些领域的知识将有助于促进主流采用。
-### 加密和零知识证明 {#cryptography--zkp}
+### 加密与零知识证明 {#cryptography--zkp}
-零知识证明 (ZKP) 和加密对于建立以太坊及其应用程序的隐私性和安全性很关键。 零知识是一个相对年轻但发展迅速的领域,有许多开放研究和开发机会。 它包括一些可能性,如开发更高效的 [Keccak 哈希算法](https://hackmd.io/sK7v0lr8Txi1bgION1rRpw?view#Overview) 实现,找寻更好的多项式承诺,或是降低椭圆曲线数字签名算法公钥生成和签名验证电路的成本。
+零知识证明 (ZKP) 和加密对于构建以太坊及其应用程序的隐私性和安全性非常关键。 零知识是一个相对年轻但发展迅速的领域,有许多开放研究和开发机会。 它包括一些可能性,如开发更高效的 [Keccak 哈希算法](https://hackmd.io/sK7v0lr8Txi1bgION1rRpw?view#Overview)实现,寻找更好的多项式承诺,或是降低椭圆曲线数字签名算法公钥生成和签名验证电路的成本。
#### 背景阅读 {#background-reading-6}
@@ -172,14 +176,14 @@ lang: zh
- [zkp.science](https://zkp.science/)
- [零知识播客](https://zeroknowledge.fm/)
-#### 近期研究 {#recent-research-6}
+#### 近期的研究 {#recent-research-6}
-- [椭圆曲线加密的近期进展](https://ethresear.ch/t/the-ec-fft-algorithm-without-elliptic-curve-and-isogenies/11346)
+- [椭圆曲线密码学的近期进展](https://ethresear.ch/t/the-ec-fft-algorithm-without-elliptic-curve-and-isogenies/11346)
- [Ethresear.ch 零知识](https://ethresear.ch/c/zk-s-nt-arks/13)
### 钱包 {#wallets}
-以太坊钱包可以是浏览器扩展、桌面和移动应用程序,也可以是以太坊上的智能合约。 有关社交恢复钱包的研究目前很活跃,这种钱包可以降低个人用户密钥管理相关的风险。 和钱包开发相关联的是对账户抽象其他形式的研究,这是一个重要的新兴研究领域。
+以太坊钱包可以是浏览器扩展程序、桌面和移动应用程序,也可以是以太坊上的智能合约。 有关社交恢复钱包的研究目前很活跃,这种钱包可以降低与个人用户密钥管理相关的风险。 和钱包开发相关联的是对帐户抽象替代形式的研究,这是一个重要的新兴研究领域。
#### 背景阅读 {#background-reading-7}
@@ -189,58 +193,58 @@ lang: zh
- [EIP-2938 帐户抽象](https://eips.ethereum.org/EIPS/eip-2938)
- [EIP-4337 帐户抽象](https://eips.ethereum.org/EIPS/eip-4337)
-#### 近期研究 {#recent-research-7}
+#### 近期的研究 {#recent-research-7}
- [以验证为核心的智能合约钱包](https://ethereum-magicians.org/t/validation-focused-smart-contract-wallets/6603)
- [帐户的未来](https://ethereum-magicians.org/t/validation-focused-smart-contract-wallets/6603)
-- [EIP-3074 AUTH 和 AUTHCALL 操作码](https://eips.ethereum.org/EIPS/eip-3074)
+- [EIP-3074 AUTH 和1 AUTHCALL 操作码](https://eips.ethereum.org/EIPS/eip-3074)
- [在外部帐户地址发布代码](https://eips.ethereum.org/EIPS/eip-5003)
## 社区、教育和宣传 {#community-education-and-outreach}
-为了帮助新用户熟悉以太坊,需要新的教育资源和方法来宣传。 这可能包括博客和文章、书籍、播客、网络迷因、教学资源、活动以及其他任何建立社区、欢迎新手和教育人们了解以太坊的内容。
+为了帮助新用户熟悉以太坊,需要新的教育资源和宣传方法。 这可能包括博客帖子和文章、书籍、播客、网络迷因、教学资源、活动以及其他任何关于建设社区、欢迎新手和教育人们了解以太坊的内容。
### 用户体验/用户界面 {#uxui}
-为了帮助更多人熟悉了解以太坊,以太坊生态系统必须优化用户体验/用户界面。 这要求设计师和产品专家重新审视钱包和应用程序的设计。
+为了帮助更多人熟悉以太坊,以太坊生态系统必须改善用户体验/用户界面。 这要求设计师和产品专家重新审视钱包和应用程序的设计。
#### 背景阅读 {#background-reading-8}
- [Ethresear.ch 用户体验/用户界面](https://ethresear.ch/c/ui-ux/24)
-#### 近期研究 {#recent-research-8}
+#### 近期的研究 {#recent-research-8}
- [Web3 设计 Discord](https://discord.gg/FsCFPMTSm9)
- [Web3 设计原则](https://www.web3designprinciples.com/)
-- [以太坊魔术师论坛用户体验讨论](https://ethereum-magicians.org/t/og-council-ux-follow-up/9032/3)
+- [以太坊魔术师用户体验讨论](https://ethereum-magicians.org/t/og-council-ux-follow-up/9032/3)
### 经济学 {#economics}
-以太坊中的经济学研究普遍遵循了两个途径:验证依赖于经济激励的机制(“微观经济学”)的安全性和分析协议、应用程序和用户之间的价值流动(“宏观经济学”)。 有一些复杂的加密经济学因素与以太坊原生资产(以太币)及构建于其上的代币(例如非同质化代币和 ERC20 代币)有关。
+以太坊中的经济学研究普遍遵循两个途径:验证依赖于经济激励的机制的安全性(“微观经济学”)和分析协议、应用程序和用户之间的价值流动(“宏观经济学”)。 有一些复杂的加密经济学因素与以太坊原生资产(以太币)及构建于其上的代币(例如非同质化代币和 ERC20 代币)有关。
#### 背景阅读 {#background-reading-9}
- [稳健激励小组](https://ethereum.github.io/rig/)
-- [Devconnect 开发者大会上的以太坊经济学研讨会](https://www.youtube.com/playlist?list=PLTLjFJ0OQOj5PHRvA2snoOKt2udVsyXEm)
+- [Devconnect 上的 ETHconomics 研讨会](https://www.youtube.com/playlist?list=PLTLjFJ0OQOj5PHRvA2snoOKt2udVsyXEm)
-#### 近期研究 {#recent-research-9}
+#### 近期的研究 {#recent-research-9}
-- [EIP559 实证分析](https://arxiv.org/abs/2201.05574)
+- [EIP1559 实证分析](https://arxiv.org/abs/2201.05574)
- [流通量平衡](https://ethresear.ch/t/circulating-supply-equilibrium-for-ethereum-and-minimum-viable-issuance-during-the-proof-of-stake-era/10954)
- [量化最大可提取价值:森林有多黑暗?](https://arxiv.org/abs/2101.05511)
### 区块空间和费用市场 {#blockspace-fee-markets}
-区块空间市场管理向区块添加最终用户交易,不管是直接在以太坊(一层网络)还是在卷叠等桥接网络(二层网络)上进行的交易。 在以太坊上,交易接将提交到依据 EIP-1559 协议部署的费用市场,保护区块链免受垃圾邮件和定价拥堵的影响。 在两个网络上,交易可能产生外部效应,即最大可提取价值 (MEV),包括可获得或管理这些外部效应的新型市场结构。
+区块空间市场管理最终用户交易的纳入,不管是直接在以太坊(一层网络)还是在卷叠等桥接网络(二层网络)上纳入。 在以太坊上,交易将提交到依据 EIP-1559 协议部署的费用市场,保护区块链免受垃圾邮件和定价拥堵的影响。 在两个网络上,交易可能产生外部效应,即最大可提取价值 (MEV),引发可捕捉或管理这些外部效应的新型市场结构。
#### 背景阅读 {#background-reading-10}
- [以太坊区块链的交易费机制设计:EIP-1559 的经济分析(Tim Roughgarden,2020 年)](https://timroughgarden.org/papers/eip1559.pdf)
-- [模拟 EIP-1559(稳健激励小组)](https://ethereum.github.io/abm1559)
+- [EIP-1559 的模拟(稳健激励小组)](https://ethereum.github.io/abm1559)
- [基于首要原则的卷叠经济学](https://barnabe.substack.com/p/understanding-rollup-economics-from?utm_source=url)
-- [Flash Boys 2.0:抢先交易、交易重新排序以及去中心化交易所的共识不稳定](https://arxiv.org/abs/1904.05234)
+- [Flash Boys 2.0:去中心化交易所中的抢先交易、交易重新排序和共识不稳定性](https://arxiv.org/abs/1904.05234)
-#### 近期研究 {#recent-research-10}
+#### 近期的研究 {#recent-research-10}
- [多维 EIP-1559 的视频演示](https://youtu.be/QbR4MTgnCko)
- [跨域最大可提取价值](http://arxiv.org/abs/2112.01472)
@@ -253,16 +257,16 @@ lang: zh
#### 背景阅读 {#background-reading-11}
- [以太坊经济学大师课和经济模型](https://github.com/CADLabs/ethereum-economic-model)
-- [模拟权益证明激励机制(稳健激励小组)](https://ethereum.github.io/beaconrunner/)
+- [权益证明激励的模拟(稳健激励小组)](https://ethereum.github.io/beaconrunner/)
-#### 近期研究 {#recent-research-11}
+#### 近期的研究 {#recent-research-11}
-- [增加提议者/构建者分离 (PBS) 下交易审查阻力](https://notes.ethereum.org/s3JToeApTx6CKLJt8AbhFQ)
+- [通过提议者-构建者分离 (PBS) 增强交易的抗审查性](https://notes.ethereum.org/s3JToeApTx6CKLJt8AbhFQ)
- [针对权益证明以太坊的三次攻击](https://arxiv.org/abs/2110.10086)
### 流动性质押和衍生品 {#liquid-staking-and-derivatives}
-流动性质押让拥有不足 32 以太币的用户获得质押收益,即让他们将以太币兑换成代表已质押以太币且可在去中心化金融中使用的代币。 然而,我们仍在探索与流动性质押相关的激励和市场动态,以及其对以太坊安全性的影响(例如中心化风险)。
+流动性质押让拥有不足 32 以太币的用户,也能通过将以太币兑换成代表已质押以太币且可在去中心化金融中使用的代币来获得质押收益。 然而,我们仍在探索与流动性质押相关的激励和市场动态,及其对以太坊安全性的影响(例如中心化风险)。
#### 背景阅读 {#background-reading-12}
@@ -270,9 +274,9 @@ lang: zh
- [Lido:去信任以太坊质押之路](https://blog.lido.fi/the-road-to-trustless-ethereum-staking/)
- [Rocket Pool:质押协议简介](https://medium.com/rocket-pool/rocket-pool-staking-protocol-part-1-8be4859e5fbd)
-#### 近期研究 {#recent-research-12}
+#### 近期的研究 {#recent-research-12}
-- [Lido 上的提款处理](https://ethresear.ch/t/handling-withdrawals-in-lidos-eth-liquid-staking-protocol/8873)
+- [处理 Lido 的提款](https://ethresear.ch/t/handling-withdrawals-in-lidos-eth-liquid-staking-protocol/8873)
- [提款凭证](https://ethresear.ch/t/withdrawal-credential-rotation-from-bls-to-eth1/8722)
- [流动性质押衍生品的风险](https://notes.ethereum.org/@djrtwo/risks-of-lsd)
@@ -287,12 +291,12 @@ lang: zh
- [形式验证简介](https://ptolemy.berkeley.edu/projects/embedded/research/vis/doc/VisUser/vis_user/node4.html)
- [形式验证 (Intel)](https://www.cl.cam.ac.uk/~jrh13/papers/mark10.pdf)
-#### 近期研究 {#recent-research-13}
+#### 近期的研究 {#recent-research-13}
- [存款合约的形式验证](https://github.com/runtimeverification/deposit-contract-verification)
- [信标链规范的形式验证](https://github.com/runtimeverification/deposit-contract-verification)
-## 数据科学和分析 {#data-science-and-analytics}
+## 数据科学与分析 {#data-science-and-analytics}
我们需要更多的数据分析工具和仪表板,来提供有关以太坊活动和网络健康状况的详细信息。
@@ -301,95 +305,95 @@ lang: zh
- [Dune Analytics](https://dune.com/browse/dashboards)
- [客户端多样性仪表板](https://clientdiversity.org/)
-#### 近期研究 {#recent-research-14}
+#### 近期的研究 {#recent-research-14}
- [稳健激励小组数据分析](https://ethereum.github.io/rig/)
-## 应用程序和工具 {#apps-and-tooling}
+## 应用程序与工具 {#apps-and-tooling}
-应用程序层支持一个多样化的程序生态系统,这些程序在以太坊基础层上结算交易。 开发团队不断寻找新方法,来利用以太坊为重要的 Web2 应用程序创建可组合、无需许可且抗审查的版本,或者创建全新 Web3 原生概念。 同时,新工具也在持续开发中,使得在以太坊上构建去中心化应用程序不那么复杂。
+应用程序层支持一个多样化的程序生态系统,这些程序在以太坊基础层上结算交易。 开发团队不断寻找新方法,来利用以太坊为重要的 Web2 应用程序创建可组合、无需许可且抗审查的版本,或者创建全新 Web3 原生概念。 同时,新工具也在持续开发中,降低了在以太坊上构建去中心化应用程序的复杂度。
### 去中心化金融 {#defi}
-去中心化金融 (DeFi) 是构建在以太坊上的主要一类应用程序。 去中心化金融旨在创建可组合的“货币乐高”,允许用户通过智能合约存储、转账、借出、借入以及投资加密资产。 它是一个变化迅速、不断更新的领域。 对于安全、高效和可访问的协议,需要持续不断地研究。
+去中心化金融 (DeFi) 是构建在以太坊上的主要一类应用程序。 去中心化金融旨在创建可组合的“货币乐高”,允许用户通过智能合约存储、转账、借出、借入以及投资加密资产。 它是一个变化迅速、不断更新的领域。 需要持续不断地研究安全、高效和可访问的协议。
#### 背景阅读 {#background-reading-15}
- [去中心化金融](/defi/)
-- [Coinbase:什么是去中心化金融?](https://www.coinbase.com/learn/crypto-basics/what-is-defi)
+- [Coinbase:去中心化金融是什么?](https://www.coinbase.com/learn/crypto-basics/what-is-defi)
-#### 近期研究 {#recent-research-15}
+#### 近期的研究 {#recent-research-15}
- [去中心化金融,中心化所有权?](https://arxiv.org/pdf/2012.09306.pdf)
-- [乐观:通往低费用交易的道路](https://medium.com/ethereum-optimism/the-road-to-sub-dollar-transactions-part-2-compression-edition-6bb2890e3e92)
+- [Optimism:通往低费用交易之路](https://medium.com/ethereum-optimism/the-road-to-sub-dollar-transactions-part-2-compression-edition-6bb2890e3e92)
### 去中心化自治组织 {#daos}
-以太坊的一个有影响力的用例就是能够通过应用去中心化自治组织实施去中心化的组织。 当前,进行着大量活跃的研究,探索如何开发和利用以太坊上的去中心化自治组织,将其作为一种只需最少信任的协调工具来实施改进的治理形式,这极大地扩展了人们的选择,使之不再局限于传统的公司和组织。
+以太坊的一个有影响力的用例就是能够通过应用去中心化自治组织实现组织方式的去中心化。 当前正在进行大量研究,探索如何开发和利用以太坊上的去中心化自治组织,将其作为一种只需最少信任的协调工具来实施改进的治理形式,从而极大地扩展人们的选择,使之不再局限于传统的公司和组织。
#### 背景阅读 {#background-reading-16}
- [去中心化自治组织简介](/dao/)
- [Dao Collective](https://daocollective.xyz/)
-#### 近期研究 {#recent-research-16}
+#### 近期的研究 {#recent-research-16}
-- [去中心化自治组织生态系统详解](https://www.researchgate.net/publication/358694594_Mapping_out_the_DAO_Ecosystem_and_Assessing_DAO_Autonomy)
+- [去中心化自治组织生态系统详细规划](https://www.researchgate.net/publication/358694594_Mapping_out_the_DAO_Ecosystem_and_Assessing_DAO_Autonomy)
### 开发者工具 {#developer-tools}
-以太坊开发者的工具在迅速改进。 这一常规领域有大量的研发工作要做。
+以太坊开发者的工具正在迅速改进。 这一综合领域目前有大量的研发工作正在进行中。
#### 背景阅读 {#background-reading-17}
-- [编制语言工具](/developers/docs/programming-languages/)
+- [编程语言工具](/developers/docs/programming-languages/)
- [开发者框架](/developers/docs/frameworks/)
-- [共识开发者工具清单](https://github.com/ConsenSys/ethereum-developer-tools-list)
+- [共识开发者工具列表](https://github.com/ConsenSys/ethereum-developer-tools-list)
- [代币标准](/developers/docs/standards/tokens/)
- [CryptoDevHub:以太坊虚拟机工具](https://cryptodevhub.io/wiki/ethereum-virtual-machine-tools)
-#### 近期研究 {#recent-research-17}
+#### 近期的研究 {#recent-research-17}
- [以太坊研发 Discord 共识工具频道](https://discordapp.com/channels/595666850260713488/746343380900118528)
### 预言机 {#oracles}
-预言机以一种无需许可、去中心化的方式将链下数据导入区块链上。 将这些数据导入链上,去中心化应用程序就可以对现实世界的现象做出反应,例如现实世界的资产价格波动、链下应用程序中的事件,甚至天气变化。
+预言机以一种无需许可、去中心化的方式将链下数据导入到区块链上。 将这些数据导入到链上,去中心化应用程序就可以对现实世界的现象做出反应,例如现实世界的资产价格波动、链下应用程序中的事件,甚至天气变化。
#### 背景阅读 {#background-reading-18}
- [预言机简介](/developers/docs/oracles/)
-#### 最新研究 {#recent-research-18}
+#### 近期的研究 {#recent-research-18}
- [区块链预言机调查](https://arxiv.org/pdf/2004.07140.pdf)
- [Chainlink 白皮书](https://chain.link/whitepaper)
-### 应用程序安全 {#app-security}
+### 应用程序安全性 {#app-security}
-以太坊上的黑客攻击通常利用单个应用程序中的漏洞,而不是协议本身的漏洞。 黑客和应用程序开发者在开发新的攻击和防御手段中陷入了一场军备竞赛。 这意味着,始终都需要进行重要的研发,保障应用程序安全并免受黑客攻击。
+以太坊上的黑客攻击通常利用单个应用程序中的漏洞,而不是协议本身的漏洞。 黑客和应用程序开发者陷入了一场开发新型攻击和防御手段的军备竞赛。 这意味着始终需要进行重要的研发,以保障应用程序安全并免受黑客攻击。
#### 背景阅读 {#background-reading-19}
-- [虫洞利用情况报告](https://blog.chainalysis.com/reports/wormhole-hack-february-2022/)
-- [以太坊合约黑客攻击事后分析清单](https://forum.openzeppelin.com/t/list-of-ethereum-smart-contracts-post-mortems/1191)
-- [Rekt 新闻](https://twitter.com/RektHQ?s=20&t=3otjYQdM9Bqk8k3n1a1Adg)
+- [虫洞攻击报告](https://blog.chainalysis.com/reports/wormhole-hack-february-2022/)
+- [以太坊合约黑客攻击事后分析列表](https://forum.openzeppelin.com/t/list-of-ethereum-smart-contracts-post-mortems/1191)
+- [Rekt 新闻](https://twitter.com/RektHQ?s=20\&t=3otjYQdM9Bqk8k3n1a1Adg)
-#### 近期研究 {#recent-research-19}
+#### 近期的研究 {#recent-research-19}
- [ethresear.ch 应用程序](https://ethresear.ch/c/applications/18)
### 技术栈 {#technology-stack}
-将整个以太坊技术栈去中心化是一项重要的研究领域。 目前,以太坊上的去中心化应用程序通常有一些中心化部分,因为它们依赖中心化的工具或基础设施。
+将整个以太坊技术栈去中心化是一项重要的研究领域。 目前,以太坊上的去中心化应用程序都有一定的中心化成分,因为它们依赖于中心化的工具或基础设施。
#### 背景阅读 {#background-reading-20}
- [以太坊堆栈](/developers/docs/ethereum-stack/)
-- [Coinbase:Web3 栈简介](https://blog.coinbase.com/a-simple-guide-to-the-web3-stack-785240e557f0)
+- [Coinbase:Web3 堆栈简介](https://blog.coinbase.com/a-simple-guide-to-the-web3-stack-785240e557f0)
- [智能合约简介](/developers/docs/smart-contracts/)
- [去中心化存储简介](/developers/docs/storage/)
-#### 近期研究 {#recent-research-20}
+#### 近期的研究 {#recent-research-20}
- [智能合约的可组合性](/developers/docs/smart-contracts/composability/)
diff --git a/public/content/translations/zh/community/support/index.md b/public/content/translations/zh/community/support/index.md
index 5d6f5a3ee8f..d6c3d96fcc2 100644
--- a/public/content/translations/zh/community/support/index.md
+++ b/public/content/translations/zh/community/support/index.md
@@ -22,17 +22,33 @@ lang: zh
尽管缺乏官方支持,但以太坊生态系统中的许多团体、社区和项目都乐于提供帮助,并且你可以在此页面上找到很多有用的信息和资源。 还有问题吗? 加入 [ethereum.org Discord](/discord/),我们会尽力提供帮助。
-## 钱包支持 {#wallet-support}
+## 常见问题 {#faq}
+
+### 我把以太币发到了错误的钱包中 {#wrong-wallet}
+
+以太坊上发送的交易是不可逆的。 如果你将以太币发送到错误的钱包,很遗憾,没有办法追回这些资金。 以太坊不属于任何中心化组织、实体或个人,这意味着没有人可以逆转交易。 因此,在发送交易之前,一定要仔细检查你的交易,这一点至关重要。
+
+### 如何领取以太坊的赠品? {#giveaway-scam}
+
+以太坊赠品是用来窃取你以太币的骗局。 不要被看起来好得令人难以置信的优惠所诱惑 — 如果你将以太币发送到赠品地址,你不但收不到赠品,还将无法追回你的资金。
+
+[关于预防诈骗的更多信息](/security/#common-scams)
+
+### 我的交易卡住了 {#stuck-transaction}
+
+如果你提交的交易费低于网络需求,以太坊上的交易有时会被卡住。 许多钱包提供了一个选项,即以更高的交易费重新提交同一项交易,使该交易得以处理。 或者,你可以发送交易到你自己的地址,并使用与待定交易相同的随机数,以取消待定交易。
+
+[如何在 MetaMask 上加速或取消待定交易](https://metamask.zendesk.com/hc/en-us/articles/360015489251-How-to-speed-up-or-cancel-a-pending-transaction)
+
+[如何取消待定以太坊交易](https://info.etherscan.com/how-to-cancel-ethereum-pending-transactions/)
-你的钱包有问题吗? 大多数钱包都有专门的支持团队可以提供帮助:
+### 我如何在以太坊挖矿? {#mining-ethereum}
-- [MetaMask](https://metamask.zendesk.com/hc/)
-- [Argent](https://support.argent.xyz/hc/)
-- [MyEtherWallet](https://help.myetherwallet.com/)
+以太坊不再支持挖矿。 在以太坊从[工作量证明](/glossary/#pow)过渡到[权益证明](/glossary/#pos)后,挖矿就终止了。 现在,以太坊使用验证者而不是矿工。 任何人都可以[质押](/glossary/#staking)以太币并运行验证者软件保护网络,从而获取质押奖励。
-_这并不是完整的列表。 需要帮助寻找特定钱包的支持? 加入 [ethereum.org Discord](https://discord.gg/ethereum-org),我们会尽力提供帮助。_
+### 我如何成为质押者/运行验证者? {#how-to-stake}
-正在寻找以太坊钱包? [深入了解我们完整的以太坊钱包列表](/wallets/find-wallet/)。
+要成为验证者,你必须在以太坊存款合约中质押 32 个以太币并搭建一个验证节点。 更多信息见[质押界面](/staking)和[质押启动版](https://launchpad.ethereum.org/)。
## 构建去中心化应用程序 {#building-support}
@@ -75,6 +91,7 @@ _这并不是完整的列表。 需要帮助寻找特定钱包的支持? 加
- [Nethermind](https://discord.gg/YJx3pm8z5C)
- [Besu](https://discord.gg/p8djYngzKN)
- [Erigon](https://github.com/ledgerwatch/erigon/issues)
+- [Reth](https://github.com/paradigmxyz/reth/discussions)
### 共识客户端 {#consensus-clients}
@@ -85,31 +102,3 @@ _这并不是完整的列表。 需要帮助寻找特定钱包的支持? 加
- [Lodestar](https://discord.gg/aMxzVcr)
你还可以[在此处了解如何运行节点](/developers/docs/nodes-and-clients/run-a-node/)。
-
-## 常见问题 {#faq}
-
-### 我把以太币发到了错误的钱包中 {#wrong-wallet}
-
-以太坊上发送的交易是不可逆的。 如果你将以太币发送到错误的钱包,很遗憾,没有办法追回这些资金。 以太坊不属于任何中心化组织、实体或个人,这意味着没有人可以逆转交易。 因此,在发送交易之前,一定要仔细检查你的交易,这一点至关重要。
-
-### 如何领取以太坊的赠品? {#giveaway-scam}
-
-以太坊赠品是用来窃取你以太币的骗局。 不要被看起来好得令人难以置信的优惠所诱惑 — 如果你将以太币发送到赠品地址,你不但收不到赠品,还将无法追回你的资金。
-
-[关于预防诈骗的更多信息](/security/#common-scams)
-
-### 我的交易卡住了 {#stuck-transaction}
-
-如果你提交的交易费低于网络需求,以太坊上的交易有时会被卡住。 许多钱包提供了一个选项,即以更高的交易费重新提交同一项交易,使该交易得以处理。 或者,你可以发送交易到你自己的地址,并使用与待定交易相同的随机数,以取消待定交易。
-
-[如何在 MetaMask 上加速或取消待定交易](https://metamask.zendesk.com/hc/en-us/articles/360015489251-How-to-speed-up-or-cancel-a-pending-transaction)
-
-[如何取消待定以太坊交易](https://info.etherscan.com/how-to-cancel-ethereum-pending-transactions/)
-
-### 我如何在以太坊挖矿? {#mining-ethereum}
-
-以太坊不再支持挖矿。 在以太坊从工作量证明过渡到权益证明后,挖矿就终止了。 现在,以太坊使用验证者而不是矿工。 验证者质押以太币并通过保护以太坊安全获得质押奖励。
-
-### 我如何成为质押人/验证者? {#become-validator}
-
-要成为验证者,你必须在以太坊存款合约中质押 32 个以太币并搭建一个验证节点。 更多信息见[质押界面](/staking)和[质押启动版](https://launchpad.ethereum.org/)。
diff --git a/public/content/translations/zh/contributing/adding-desci-projects/index.md b/public/content/translations/zh/contributing/adding-desci-projects/index.md
index 6b0afc55ddb..cb1462b74e3 100644
--- a/public/content/translations/zh/contributing/adding-desci-projects/index.md
+++ b/public/content/translations/zh/contributing/adding-desci-projects/index.md
@@ -8,7 +8,7 @@ lang: zh
我们希望确保展示各种项目,并为去中心化科学的全景提供一个准确的简要说明。
-任何人都可以在 ethereum.org 的去中心化科学页面上自由地建议可展示的项目。 同样,任何在注意到某个项目已不再相关或达不到我们的资格条件时,可以随时建议我们将其移除。
+任何人都可以在 ethereum.org 的去中心化科学页面上自由地建议可展示的项目。 同样,任何人在注意到某个项目已不再与之相关或达不到我们的资格条件时,也可以随时建议我们将其移除。
## 决策框架 {#the-decision-framework}
@@ -16,17 +16,17 @@ lang: zh
- **开源代码/数据** - 开放的代码和数据是去中心化科学的核心原则,因此去中心化科学项目不得闭源。 代码库应该是可访问的,并且最好可以接受拉取请求 (PR)。
- **去中心化科学项目应明显去中心化** - 这可能包括项目由去中心化自治组织管理,或通过使用去中心化技术栈(包括非托管钱包)来构建。 可能涉及以太坊上的可审计智能合约。
-- **诚实准确的上架信息** - 任何所建议的来自项目的上架产品都应包含诚实准确的信息。 伪造上架信息的产品,例如声明你的产品是“开源”的但实际并非如此,产品将被移除。
+- **诚实准确的上架信息** - 建议上架的任何项目都应包含诚实准确的信息。 伪造上架信息的产品,例如声明你的产品是“开源”的但实际并非如此,产品将被移除。
- **对扩大科学参与的明确承诺** - 去中心化科学项目应能够阐明它们如何扩大公众对科学的参与,而不仅仅服务于代币/非同质化代币持有者。
-- **全球访问** - 你的项目没有地域限制或身份验证 (KYC) 要求,它们使得某些人无法访问你的服务。
-- **信息详尽的网站和文件** - 重要的是,项目网站的访问者能够了解项目的实际情况、项目对促科学基础设施去中心化所做的贡献以及参与方式。
+- **全球可访问** - 你的项目不能有地域限制或身份验证要求,它们使得某些人无法访问你的服务。
+- **信息详尽的网站和文件** - 重要的是,项目网站的访问者能够了解项目的实际情况、项目对促进科学基础设施去中心化所做的贡献以及参与方式。
- **项目应该是以太坊生态系统的一部分** - 在 ethereum.org,我们相信以太坊(及其二层网络)是适合去中心化科学运动的基础层。
- **项目已相当成熟** - 项目的实际用户能够使用项目的服务数月之久。
### 加分项
-- **支持多种语言** - 你的项目已经翻译成多种语言,全球用户都能够访问它。
-- **教育资源** - 你的产品应提供精心设计的入门培训体验,为用户提供帮助和培训。 或者有文章或视频之类的介绍操作方法的内容。
+- **支持多种语言** - 你的项目已被翻译成多种语言,全球用户都能够访问它。
+- **教育资源** - 你的产品应提供精心设计的入门体验,为用户提供帮助和教育。 或者有文章或视频之类的介绍操作方法的内容。
- **第三方审核** - 你的产品已通过可靠第三方的专业漏洞审核。
- **联系人** - 实施变更时,项目联系人(可能是去中心化自治组织或社区的代表)将极大地帮助我们获取准确信息。 这样将在今后收集信息时确保 ethereum.org 的更新可管理。
@@ -34,7 +34,7 @@ lang: zh
由于以太坊的流动性,团队和产品来来去去,创新每天都在发生,所以我们将对我们的内容进行例行检查,以便:
-- 确保所有列出的项目仍然符合我们的标准
+- 确保所有上架的项目仍然符合我们的标准
- 验证建议的产品没有比当前上架的产品符合我们的更多标准
Ethereum.org 由开源社区维护,我们依靠该社区帮助保持更新。 如果你发现所列项目有任何信息需要更新,请在我们的 Github 存储库中创建一个问题或拉取请求。
diff --git a/public/content/translations/zh/contributing/adding-layer-2s/index.md b/public/content/translations/zh/contributing/adding-layer-2s/index.md
index 2aec168e548..d57ce9f51d1 100644
--- a/public/content/translations/zh/contributing/adding-layer-2s/index.md
+++ b/public/content/translations/zh/contributing/adding-layer-2s/index.md
@@ -92,6 +92,6 @@ _我们认为,其他不使用以太坊来实现数据可用性或安全性的
如果你想将二层网络添加到 ethereum.org,请在 GitHub 上创建一个提议。
-
+
创建一个提议
diff --git a/public/content/translations/zh/contributing/adding-wallets/index.md b/public/content/translations/zh/contributing/adding-wallets/index.md
index f12b1b851f5..680cf5bbf18 100644
--- a/public/content/translations/zh/contributing/adding-wallets/index.md
+++ b/public/content/translations/zh/contributing/adding-wallets/index.md
@@ -10,10 +10,9 @@ lang: zh
任何人都可以提出向 ethereum.org 添加钱包的建议。 如果有遗漏,请提出建议!
-欢迎每个人提议新钱包。 目前所有钱包都在以下页面上架:
+目前所有钱包都在以下页面上架:
- [ethereum.org/wallets/find-wallet/](/wallets/find-wallet/)
-- [ethereum.org/wallets/](/wallets/)
以太坊中的钱包日新月异。 我们已尝试在 ethereum.org 上创建一个公平的考量框架,但纳入标准会随时间推移而变化和发展。
@@ -26,6 +25,12 @@ lang: zh
- **由一个活跃的团队运作** - 这有助于确保质量,并确保用户的询问能够得到反馈。
- **诚实准确的上架信息** - 任何所建议的来自项目的上架产品都应包含诚实准确的信息。 伪造上架信息的产品,例如声明你的产品是“开源”的但实际并非如此,产品将被移除。
- **联系人** - 实施变更时,钱包的联系人将极大地帮助我们获取准确信息。 这样将在今后收集信息时确保 ethereum.org 的更新可管理。
+- **EIP-1559(类型 2)交易** - 你的钱包必须支持 EIP-1559(类型 2)交易才能在主网以太坊上进行交易。
+- **良好的用户体验** - 虽然用户体验是主观的,但如果多名核心团队成员测试产品后发现产品难以使用,我们保留拒绝钱包的权利,并将提供有用的改进建议。 这样做是为了保护我们主要由初学者组成的用户群。
+
+### 产品移除 {#product-removals}
+
+- **更新信息** - 钱包提供商有责任每 6 个月重新提交一次钱包信息,以确保所提供信息的有效性和相关性(即使其产品没有变化)。 如果产品团队未能这样做,ethereum.org 可能会从页面上移除该项目。
### 其他标准:最好具备 {#the-nice-to-haves}
@@ -45,7 +50,6 @@ lang: zh
- **自定义燃料费用** - 你的钱包允许用户自定义自己的交易燃料费用(基础费、优先费、最高费用)。
- **支持以太坊域名服务** - 你的钱包允许用户向以太坊域名服务名称发送交易。
- **支持 ERC-20** - 你的钱包允许用户导入 ERC-20 代币合约,或自动查询和显示 ERC-20 代币。
-- **EIP-1559(2 类)交易** - 你的钱包支持 EIP-1559(2 类)交易。
- **购买加密货币** - 你的钱包支持用户直接购买和上手加密货币。
- **出售法币** - 你的钱包支持用户将法币直接出售并提现到银行卡或银行帐户。
- **多重签名** - 你的钱包支持通过多重签名来签署交易。
@@ -68,7 +72,8 @@ lang: zh
- 确保所有钱包和上架的去中心化应用程序仍然符合我们的标准
- 验证建议的产品没有比当前上架的产品符合我们的更多标准
-Ethereum.org 由开源社区维护,我们依靠该社区帮助保持更新。 如果你发现有任何关于上架钱包的信息需要更新,请[创建一个问题](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=wallet+%3Apurse%3A&template=suggest_wallet.yaml)或[拉取请求](https://github.com/ethereum/ethereum-org-website/pulls)!
+ethereum.org 由开源社区维护,我们依靠社区来帮助持续更新它。 如果你发现有任何关于上架钱包的信息需要更新,请[创建一个问题](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=wallet+%3Apurse%3A&template=suggest_wallet.yaml)或[拉取请求](https://github.com/ethereum/ethereum-org-website/pulls)!
+
## 使用条款 {#terms-of-use}
diff --git a/public/content/translations/zh/contributing/content-resources/index.md b/public/content/translations/zh/contributing/content-resources/index.md
index 049361ca6ba..c9f33cd0bab 100644
--- a/public/content/translations/zh/contributing/content-resources/index.md
+++ b/public/content/translations/zh/contributing/content-resources/index.md
@@ -27,6 +27,6 @@ description: 在 ethereum.org 上上架内容资源的标准
如果你想要将内容资源添加到 ethereum.org,并且该内容资源符合标准,请在 GitHub 上创建一个提议。
-
+
创建一个提议
diff --git a/public/content/translations/zh/contributing/design/adding-design-resources/index.md b/public/content/translations/zh/contributing/design/adding-design-resources/index.md
index 194e9f23369..37ec9520538 100644
--- a/public/content/translations/zh/contributing/design/adding-design-resources/index.md
+++ b/public/content/translations/zh/contributing/design/adding-design-resources/index.md
@@ -4,6 +4,8 @@ description: 确保 ethereum.org 上设计资料质量的准则和要求
lang: zh
---
+# 添加设计资源 {#adding-design-resources}
+
任何人可以在 [web3 页面的设计和用户体验区域](/developers/docs/design-and-ux/)推荐新的设计资料。
请注意,本页面的重点是为有抱负的 web3 设计师提供用户价值。 该设计区域不是为了宣传你的服务、产品或平台。
diff --git a/public/content/translations/zh/contributing/design/index.md b/public/content/translations/zh/contributing/design/index.md
index 2e6b00a2bce..16058c9cb7a 100644
--- a/public/content/translations/zh/contributing/design/index.md
+++ b/public/content/translations/zh/contributing/design/index.md
@@ -12,7 +12,7 @@ lang: zh
## 如何做出贡献?
-### 对早期设计原型提供反馈 {#design-critique}
+### 对早期设计原型提供反馈 {#design-critique}
有时我们需要一些帮助来检验我们的最初构想。 这是在没有任何技术知识的情况下做出贡献的好方法。
@@ -20,7 +20,7 @@ lang: zh
2. 将指导你熟悉整个设计并通过评论功能提供反馈。
3. 结果将在 GitHub 的提议中公布,然后由团队关闭。
-### 参与调查研究 {#answer-surveys}
+### 参与调查研究 {#answer-surveys}
通过以下步骤对我们的网站提供反馈:
@@ -28,7 +28,7 @@ lang: zh
2. 点击右下角的反馈小组件,并回答与设计和内容相关的问题。
3. 重点关注开放式问题。
-### 发现网站上与设计相关的问题并进行报告 {#report-design-issues}
+### 发现网站上与设计相关的问题并进行报告 {#report-design-issues}
Ethereum.org 是一个快速发展的网站,拥有众多功能和内容。 一些用户界面很容易过时或需要改进。 如果你遇到任何此类情况,请向我们报告,以便引起我们的注意。
@@ -36,7 +36,7 @@ Ethereum.org 是一个快速发展的网站,拥有众多功能和内容。 一
2. 如果发现任何视觉或用户体验方面的问题,请截图并记录下来。
3. 使用[漏洞报告](https://github.com/ethereum/ethereum-org-website/issues/new/choose)来报告发现的问题。
-### 提出设计变更 {#propose-design-changes}
+### 提出设计变更 {#propose-design-changes}
如果你愿意接受设计挑战,可以访问我们的 GitHub 问题看板,并筛选出 [与设计相关的问题](https://github.com/ethereum/ethereum-org-website/labels/design%20required%20%F0%9F%8E%A8)。
@@ -45,7 +45,7 @@ Ethereum.org 是一个快速发展的网站,拥有众多功能和内容。 一
3. 在相应的 GitHub 问题中提出解决方案,或者[创建一个新的问题](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=feature+%3Asparkles%3A&template=feature_request.yaml&title=Feature+request)来提出建议。
4. 等待设计团队审核。
-### 一起构建设计系统 {#Contribute-to-design-system}
+### 一起构建设计系统 {#Contribute-to-design-system}
使用我们的设计系统,设计 ethereum.org 将变得轻松有趣。 如果你是一位经验丰富的设计师,就可以帮助我们为网站准备许多组件。
@@ -56,7 +56,7 @@ Ethereum.org 是一个快速发展的网站,拥有众多功能和内容。 一
5. 设计团队将进行审查。
6. 设计团队将变更纳入主文件并向社区发布该文件。
-### 在网站上撰写与设计相关的内容 {#write-design-articles}
+### 在网站上撰写与设计相关的内容 {#write-design-articles}
以太坊开发者社区很强大,但设计社区稍显落后。 如果你是一位拥有 Web3 知识的设计师,请考虑与大社区分享你的知识,以便我们大家能够共同成长和进步;我们有[一个关于为以太坊设计的页面](/developers/docs/design-and-ux/),你可以为其做出贡献。 你还可以查看我们的[上架政策](/contributing/design/adding-design-resources)。
@@ -66,7 +66,7 @@ Ethereum.org 是一个快速发展的网站,拥有众多功能和内容。 一
4. 获得批准后,开始撰写内容。
5. 在相应的 GitHub 问题中提交。
-### 绘制新插图 {#prepare-illustrations}
+### 绘制新插图 {#prepare-illustrations}
可视化是用来解释抽象主题最有力的工具之一。 通过添加图表和信息图表,可视化可以挖掘出巨大的潜力。 毕竟,一张图片胜过千言万语。
diff --git a/public/content/translations/zh/contributing/index.md b/public/content/translations/zh/contributing/index.md
index 1ed5ea2203a..a2c15085bbc 100644
--- a/public/content/translations/zh/contributing/index.md
+++ b/public/content/translations/zh/contributing/index.md
@@ -6,38 +6,53 @@ lang: zh
# 为 ethereum.org 贡献力量 🦄 {#contributing-to-ethereumorg}
-Ethereum.org 网站,像开放的以太坊一样,也是一个开源项目。 如果你想帮助改进[我们介绍以太坊的门户网站](/about/),你可以通过以下方式提供帮助。
+Ethereum.org 是一个开源项目,有超过 **12,000** 名贡献者帮助翻译、编写、设计和维护网站。
-
- 领取你的 POAP 代币! 如果你在 2022 年为 ethereum.org 做出了贡献,我们会给你发放一个独特的 POAP 徽章。{" "}
-关于 POAP 徽章的更多信息
-
+我们是一个热情的社区,将帮助你在以太坊生态系统中学习和成长,同时也做出有意义的贡献并获得相关的实践经验!
## 如何做出贡献 {#ways-to-contribute}
-- [处理未解决的问题](https://github.com/ethereum/ethereum-org-website/issues) _– 我们确定需要做的工作_
-- [参与翻译计划](/contributing/translation-program/) _– 帮助我们将 ethereum.org 翻译成新语种_
-- [帮助设计网站](/contributing/design/) _– 任何水平的设计帅都可以为改进网站做出贡献_
-- [添加社区资源](/contributing/content-resources/) _– 将有用的文章或资源添加到相关页面_
-- [添加产品](/contributing/adding-products/) _– 将去中心化应用程序或钱包添加到相关页面_
-- [添加开发者工具](/contributing/adding-developer-tools/) _– 将开发者工具添加到相关页面_
-- [添加交易所](/contributing/adding-exchanges/) _– 将交易所添加到我们的[交易所查找器](/get-eth/#country-picker)_
-- [改进我们的研究](https://www.notion.so/efdn/Ethereum-org-User-Persona-Memo-b44dc1e89152457a87ba872b0dfa366c) _– 让我们了解你对我们所进行研究的反馈,或贡献你自己的研究_
-- [对新功能或设计提出意见](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=Type%3A+Feature&template=feature_request.yaml&title=) _– 让我们知道你对新功能或设计的任何想法_
-- [添加词汇表术语](/contributing/adding-glossary-terms) _– 帮助我们继续扩展以太坊[词汇表](/glossary/)_
-- [创建/编辑内容](/contributing/#how-to-update-content) _ – 提出针对新页面或现有内容进行调整的建议_
-- [添加二层网络](/contributing/adding-layer-2s/) _– 将二层网络添加到相关页面_
-- [添加质押产品或服务](/contributing/adding-staking-products/) _– 添加有助于促进单独质押、联合质押或质押即服务的项目_
-- [添加钱包](/contributing/adding-wallets/) _– 为[发现钱包页面](/wallets/find-wallet/)_添加钱包
-- [为我们的去中心化科学页面提出项目](/contributing/adding-desci-projects/) _- 添加以太坊上构建的项目,为去中心化科学做贡献_
-- [测验](/contributing/quizzes/) _- 添加、更新和删除相关页面的测验题库_
-- [对设计资源提出建议](/contributing/design/adding-design-resources/) _- 添加、更新和删除有用的设计资源_
-
-_有任何问题?_🤔 请通过我们的 [Discord 服务器](https://discord.gg/ethereum-org)联系
+**翻译**
+- [加入翻译计划](/contributing/translation-program/) – 帮助我们为 ethereum.org 增加新语言支持
+
+**开发**
+- [处理有待解决的问题](https://github.com/ethereum/ethereum-org-website/issues) - 我们确定需要开展的工作
+
+**设计**
+- [帮助设计网站](/contributing/design/) - 任何水平的设计师都可以为改进网站做出贡献
+
+**内容**
+- [创建/编辑内容](/contributing/#how-to-update-content) – 建议新页面或对现有内容进行调整
+- [添加社区资源](/contributing/content-resources/) – 将有用的文章或资源添加到相关页面
+- [对设计资源提出建议](/contributing/design/adding-design-resources/) - 添加、更新和删除有用的设计资源
+- [添加词汇表术语](/contributing/adding-glossary-terms/) – 帮助我们继续扩充以太坊[词汇表](/glossary/)
+- [测验](/contributing/quizzes/) – 为相关页面添加、更新和删除测试题库
+
+**功能创意**
+- [申请功能](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=Type%3A+Feature&template=feature_request.yaml&title=) – 让我们了解你在新功能或设计方面的任何想法
+
+**产品列表**
+- [添加交易所](/contributing/adding-exchanges/) – 将交易所添加到我们的[交易所查找器](/get-eth/#country-picker)
+- [添加产品](/contributing/adding-products/) – 将去中心化应用程序或钱包添加到相关页面
+- [添加开发者工具](/contributing/adding-developer-tools/) – 将开发者工具添加到相关页面
+- [添加二层网络](/contributing/adding-layer-2s/) – 将二层网络添加到相关页面
+- [添加质押产品或服务](/contributing/adding-staking-products/) – 添加有助于促进单独质押、联合质押或质押即服务的项目
+- [添加钱包](/contributing/adding-wallets/) – 为[查找钱包页面](/wallets/find-wallet/)添加钱包
+- [为我们的去中心化科学页面建议项目](/contributing/adding-desci-projects/) – 添加基于以太坊构建的项目,为去中心化科学做贡献
+
+有疑问吗? 🤔 加入我们的 [Discord 服务器](https://discord.gg/ethereum-org)
+
+## 适合新手的起步任务
+
+这些是你目前可以帮助我们解决和承担的部分任务。 对于大多数用户,你需要 GitHub 帐户,因为对网站的大多数更改都是通过 GitHub 进行的。
+
+
+
+查看所有任务
## 如何在 ethereum.org 上工作 {#how-to-update-content}
-无论你是向网站添加内容、创建内容还是处理未解决的问题,你都需要一个 [GitHub](https://github.com) 帐户。
+如果你希望为[翻译计划](/contributing/translation-program/)做贡献,那么你需要在 [Crowdin](https://crowdin.com/project/ethereum-org) 上创建一个帐户。 对于其他所有任务,例如在网站上添加或编辑内容或视觉效果、修复错误、处理开放任务,你都需要一个 [GitHub](https://github.com/) 帐户。
所有更新都是通过 GitHub 拉取请求流程进行的。 这意味着你要在网站上创建本地副本,做出你的更改,以及请求合并你的更改。 如果你以前从未这样做过,请按照我们 [GitHub 存储库](https://github.com/ethereum/ethereum-org-website)底部的说明进行操作。
@@ -53,9 +68,11 @@ _有任何问题?_🤔 请通过我们的 [Discord 服务器](https://discord.
- 我们的[风格指南](/contributing/style-guide/)
- 我们的[行为准则](/community/code-of-conduct)
+
+
## 如何做出有关网站的决定 {#how-decisions-about-the-site-are-made}
-关于个人拉取请求、设计演变和重大升级的决定由来自整个以太坊生态系统的团队做出。 该团队包括项目管理人员、开发者、设计人员、营销和通信人员以及主题事项专家。 社区意见会影响每个决定:因此请提出问题、提交拉取请求或联系团队:
+关于个人拉取请求、设计演变和重大升级的决策,由来自整个以太坊生态系统的团队做出。 该团队包括项目管理人员、开发者、设计师、营销和通信人员以及主题专家。 社区的参与将为每项决策提供信息:因此请提出问题、提交拉取请求或联系该团队:
- [website@ethereum.org](mailto:website@ethereum.org)
- [@ethdotorg](https://twitter.com/ethdotorg)
@@ -63,30 +80,30 @@ _有任何问题?_🤔 请通过我们的 [Discord 服务器](https://discord.
### 关于抄袭的说明 {#plagiarism}
-在向 ethereum.org 贡献任何内容或创意时,请仅使用你的原创作品或你有权使用的内容。 以太坊生态系统内的许多项目都使用开放源码许可证,允许自由分享信息。 但是,如果你找不到有关开源许可证的信息,请不要尝试将其添加到 ethereum.org。 被视为抄袭的拉取请求都将被拒绝。
+在向 ethereum.org 贡献任何内容或创意时,请仅使用你有权使用的原创作品或内容。 以太坊生态系统内的许多项目都使用开源许可,以便于自由分享信息。 但是,如果你找不到相关信息,请不要尝试将其添加到 ethereum.org。 被视为抄袭的拉取请求都将被拒绝。
## 新接触开源项目? {#new-to-open-source}
-在我们的 GitHub 资源库中,问题的准入门槛很低,有些问题特别适合新接触开源项目的开发者查看。我们将这类问题标记为[好的入门问题](https://github.com/ethereum/ethereum-org-website/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)。
+我们的 GitHub 存储库中有一些准入门槛较低的问题,专为刚接触开源设计的开发者设计,我们将这类问题标记为[入门优选问题](https://github.com/ethereum/ethereum-org-website/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)。
-## 领取你的贡献者 POAP 徽章 {#poap}
+## 领取链上成就代币 (OAT) {#oat}
-如果你的贡献被纳入 ethereum.org 中,我们将为你铸造一个独特的贡献者 POAP 徽章。 出席证明协议 (POAP) 代币是一种链上证明,证明你曾帮助过生态系统变得更加出色。
+如果你的贡献被合并到 ethereum.org 中,你将有机会在 [Galxe](https://app.galxe.com/quest/ethereumorg) 上领取特殊徽章。 链上成就代币 (OAT) 是你助力改善生态系统的证明。
-[关于 POAP 徽章的更多信息](https://www.poap.xyz/)
-
-### 如何领取 {#how-to-claim}
+[关于链上成就代币的更多信息](https://help.galxe.com/en/articles/7067290-galxe-oats-reward-and-celebrate-achievements)
+### 如何领取
1. 加入我们的 [Discord 服务器](https://discord.gg/ethereum-org)。
-2. 在 `#🥇 | proof-of-contribution` [频道](https://discord.com/channels/714888181740339261/1212737737916948530)中粘贴指向你的贡献的链接。
-3. 等待我们的团队成员向你发送 POAP 徽章领取链接。
-4. 领取你的 POAP 徽章!
+2. 将指向你的贡献内容的链接粘贴至 `#🥇 | proof-of-contribution` 频道。
+3. 等待我们团队的成员向你发送链上成就代币链接。
+4. 领取你的链上成就代币!
-你应该只使用自我保管的钱包来领取 POAP 徽章。 不要使用交易所帐户或其他你不持有私钥的帐户,因为这些帐户将不允许你访问和管理你的 POAP 徽章。
+你只能使用自已保管的钱包来领取链上成就代币。 请勿使用交易所帐户或你未持有私人密钥的其他帐户,因为这些帐户不允许你访问和管理你的链上成就代币。
## 领取你的 GitPOAP 徽章 {#claim-gitpoap}
-GitPOAP 还将自动表彰你做出的合并贡献,并让你在其平台上创建一个单独的特别贡献者 POAP 徽章!
+GitPOAP 还将自动表彰你做出的合并贡献,并让你在其平台上单独铸造一枚特别贡献者 POAP 徽章!
+
### 如何领取 {#how-to-claim}
diff --git a/public/content/translations/zh/contributing/translation-program/how-to-translate/index.md b/public/content/translations/zh/contributing/translation-program/how-to-translate/index.md
index 9e153a666b1..0f78a8fbc6b 100644
--- a/public/content/translations/zh/contributing/translation-program/how-to-translate/index.md
+++ b/public/content/translations/zh/contributing/translation-program/how-to-translate/index.md
@@ -18,7 +18,7 @@ description: 使用 Crowdin 翻译 ethereum.org 的操作指南
需要登录你的 Crowdin 帐户,如果还没有 Crowdin 帐户,你需要注册一个。 只需要提供电子邮件帐户和密码即可注册。
-
+
参与项目
diff --git a/public/content/translations/zh/contributing/translation-program/index.md b/public/content/translations/zh/contributing/translation-program/index.md
index 73d2ab82fa2..3f17e9bd897 100644
--- a/public/content/translations/zh/contributing/translation-program/index.md
+++ b/public/content/translations/zh/contributing/translation-program/index.md
@@ -36,9 +36,9 @@ Ethereum.org 翻译计划旨在通过将 Ethereum.org 和其他以太坊内容
### 我们迄今取得的进展 {#our-progress}
-- [**超过 5,600 **位翻译人员](/contributing/translation-program/contributors/)
+- [**超过 6,000 **位翻译人员](/contributing/translation-program/contributors/)
- 网站支持 **62** 种语言
-- [2022 年翻译了** 300 万**字](/contributing/translation-program/acknowledgements/)
+- [2023 年翻译了** 300 万**字](/contributing/translation-program/acknowledgements/)
@@ -50,9 +50,9 @@ Ethereum.org 翻译计划旨在通过将 Ethereum.org 和其他以太坊内容
如果你参与了翻译计划,并且至少有 5000 个翻译的字词获得批准,就有资格获得 Ethereum.org 翻译人员证书。 [更多关于证书的信息](/contributing/translation-program/acknowledgements/#certificate)
-#### POAP 徽章 {#poaps}
+#### OAT {#oats}
-我们所有的翻译人员都有资格获得 POAP(出席证明协议)徽章 — 一种证明他们对 Ethereum.org 翻译计划做出贡献的非同质化代币。 [关于 POAP 徽章的更多信息](/contributing/translation-program/acknowledgements/#poap)
+翻译计划的贡献者有资格根据 2024 年翻译的字数获得不同的 OAT(链上成就代币)。 链上成就代币是非同质化代币,可证明你对 ethereum.org 翻译计划的贡献。 [有关链上成就代币的更多信息](/contributing/translation-program/acknowledgements/#oats)
#### 致谢翻译人员 {#translator-acknowledgements}
diff --git a/public/content/translations/zh/contributing/translation-program/translators-guide/index.md b/public/content/translations/zh/contributing/translation-program/translators-guide/index.md
index 309306272d9..a9376f38152 100644
--- a/public/content/translations/zh/contributing/translation-program/translators-guide/index.md
+++ b/public/content/translations/zh/contributing/translation-program/translators-guide/index.md
@@ -116,7 +116,7 @@ Crowdin 有一个内置功能,可以在翻译人员即将出错时发出警告
![link.png 示例](./example-of-link.png)
-链接同样以标签的形式出现在源文本中(即 <0> 0>)。 如果你将鼠标悬停在标签上,编辑器将显示其全部内容 - 有时这些标签将代表链接。
+链接同样以标签的形式出现在源文本中(即 <0> 0>)。 <0> 0>). 如果你将鼠标悬停在标签上,编辑器将显示其全部内容 - 有时这些标签将代表链接。
从源复制链接而不要更改其顺序,这一点非常重要。
diff --git a/public/content/translations/zh/decentralized-identity/index.md b/public/content/translations/zh/decentralized-identity/index.md
index 4c3d0de080c..30276cc1683 100644
--- a/public/content/translations/zh/decentralized-identity/index.md
+++ b/public/content/translations/zh/decentralized-identity/index.md
@@ -73,7 +73,7 @@ summaryPoint3: 多亏了加密技术,用户现在拥有了再次发布、持
### 4. 防女巫保护 {#sybil-protection}
-女巫攻击是指个人欺骗系统,使系统认为他们是多人以增加他们的影响力。 使用二次方投票的[捐赠应用程序](/glossary/#quadratic-voting)容易受到这类女巫攻击,因为当更多个体参与投票支持时,捐赠的价值会增加,这会促使用户将他们的捐赠分散到给多个身份。 通过增加每位参与者证明他们是真人的负担,去中心化身份有助于防止这种情况发生,尽管通常不必透露具体的私人信息。
+使用[二次方投票](/glossary/#quadratic-voting)的资助应用程序容易受到[女巫攻击](/glossary/#sybil-attack),因为当有更多人参与投票时,资助的价值就会增加,这会促使用户将他们的捐赠分散到多个身份。 通过增加每位参与者证明他们是真人的负担,去中心化身份有助于防止这种情况发生,尽管通常不必透露具体的私人信息。
## 什么是身份证明? {#what-are-attestations}
@@ -163,7 +163,7 @@ summaryPoint3: 多亏了加密技术,用户现在拥有了再次发布、持
- **[非机器人证明](https://www.proofofhumanity.id)** - _非机器人证明 (PoH) 是在以太坊上建立的社会身份验证系统。_
- **[BrightID](https://www.brightid.org/)** - _一个去中心化的开源社交身份网络,旨在通过创建和分析社交图谱来改进身份验证。_
- **[walt.id](https://walt.id)** — _开源去中心化身份和钱包基础架构,使开发人员和组织能够利用自主主权身份和非同质化代币/灵魂绑定代币。_
-- **[Masca](https://masca.io/)** — _作为 MetaMask Snap 实现的开源去中心化身份钱包,使用户和开发人员能够利用去中心化身份标识和可验证凭证。_
+- **[Veramo](https://veramo.io/)** - _一个 JavaScript 框架,使任何人都能轻松地在其应用程序中使用可用加密方法验证的数据。_
## 延伸阅读 {#further-reading}
diff --git a/public/content/translations/zh/defi/index.md b/public/content/translations/zh/defi/index.md
index 624512a37bd..57dfc7c2494 100644
--- a/public/content/translations/zh/defi/index.md
+++ b/public/content/translations/zh/defi/index.md
@@ -334,7 +334,7 @@ Dai 或 USDC 等代币的价值和美元的差距通常保持在几美分以内
关于构建去中心化应用程序的更多信息
-## 延伸阅读 {#futher-reading}
+## 延伸阅读 {#further-reading}
### 去中心化金融数据 {#defi-data}
diff --git a/public/content/translations/zh/desci/index.md b/public/content/translations/zh/desci/index.md
index 36eab3fd0b4..fac292ee4bd 100644
--- a/public/content/translations/zh/desci/index.md
+++ b/public/content/translations/zh/desci/index.md
@@ -104,10 +104,11 @@ summaryPoint3: 它以开放科学运动为基础。
- [Bio.xyz:为给你的生物技术去中心化自治组织或去中心化科学项目筹资](https://www.bio.xyz/)
- [Fleming Protocol:推动协作式生物医学发现的开源数据经济](http://flemingprotocol.io/)
- [Active Inference Institute](https://www.activeinference.org/)
-- [CureDAO:由社区所有的精准健康平台](https://docs.curedao.org/)
- [IdeaMarkets:实现去中心化科学的诚信](https://ideamarket.io/)
- [DeSci Labs](https://www.desci.com/)
- [ValleyDAO:一个开放的全球化社区,为合成生物学研究提供资金和转译支持](https://www.valleydao.bio)
+- [Cerebrum DAO:寻找和培育促进大脑健康和避免神经变性的解决方案](https://www.cerebrumdao.com/)
+- [CryoDAO:资助低温保存领域的登月研究](https://www.cryodao.org)
我们欢迎提出新项目加入到列表中 - 开始前,请查看我们的[上架政策](/contributing/adding-desci-projects/)!
diff --git a/public/content/translations/zh/developers/docs/accounts/index.md b/public/content/translations/zh/developers/docs/accounts/index.md
index 17304f1ac44..85bab19bd78 100644
--- a/public/content/translations/zh/developers/docs/accounts/index.md
+++ b/public/content/translations/zh/developers/docs/accounts/index.md
@@ -51,7 +51,7 @@ lang: zh
## 外部持有的帐户和密钥对 {#externally-owned-accounts-and-key-pairs}
-帐户由公钥和私钥加密对组成。 它们有助于证明交易实际上是由发送者签名的,并防止伪造。 你的私钥是你用来签名交易的密钥,所以它保障你对与自己帐户相关的资金进行管理。 你从未真正持有加密货币,你持有私钥 – 资金总是在以太坊的账本上。
+帐户由一对加密密钥组成:公钥和私钥。 它们有助于证明交易实际上是由发送者签名的,并防止伪造。 你的私钥是你用来签名交易的密钥,所以它保障你对与自己帐户相关的资金进行管理。 你从未真正持有加密货币,你持有私钥 – 资金总是在以太坊的账本上。
这将防止恶意参与者广播虚假交易,因为你总是可以验证交易的发送者。
@@ -59,7 +59,7 @@ lang: zh
## 帐户创建 {#account-creation}
-当你想要创建一个帐户时,大多数库将生成一个随机的私钥。
+当你想要创建一个帐户时,大多数程序库会生成一个随机私钥。
私钥由 64 个十六进制字符组成,可以用密码加密保存。
@@ -69,6 +69,12 @@ lang: zh
使用[椭圆曲线加密法](https://wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm)从私钥生成公钥。 通过获取公钥 Keccak-256 哈希的最后 20 个字节并校验码前面添加 `0x`,可以为帐户获取公共地址。
+这意味着外部帐户 (EOA) 有一个 42 字符的地址( 20 字节区块,即 40 个十六进制字符,加上 `0x` 前缀)。
+
+例如:
+
+`0x5e97870f263700f46aa00d967821199b9bc5a120`
+
下面的示例显示如何使用一种名为 [Clef](https://geth.ethereum.org/docs/tools/clef/introduction) 的签名工具生成一个新帐户。 Clef 是一个集成在以太坊客户端 [Geth](https://geth.ethereum.org) 中的帐户管理和签名工具。 `clef newaccount` 命令创建一个新的密钥对并保存在加密的密钥库中。
```
@@ -86,9 +92,9 @@ WARN [10-28|16:19:09.306] Please remember your password!
[Geth 相关文档](https://geth.ethereum.org/docs)
-可以通过你的私钥获取公钥,但你不能通过公钥获取私钥。 这意味着保持私人密钥的安全至关重要,如同名称所建议的 **PRIVATE**。
+可以通过你的私钥获取公钥,但你不能通过公钥获取私钥。 确保私钥的安全性,以及顾名思义,**私密性**,至关重要。
-你需要一个私钥来签署消息和交易并输出签名。 然后其他人可以使用签名获取你的公钥,证明信息的作者。 在你的应用程序中,可以使用 javascript 库向网络发送交易。
+你需要一个私钥来签署消息和交易并输出签名。 然后其他人可以使用签名获取你的公钥,证明信息的作者。 在你的应用程序中,你可以使用 JavaScript 程序库向网络发送交易。
## 合约帐户 {#contract-accounts}
@@ -108,7 +114,7 @@ WARN [10-28|16:19:09.306] Please remember your password!
## 关于钱包的说明 {#a-note-on-wallets}
-帐户和钱包不同。 帐户是用户拥有的以太坊帐户的密钥对。 钱包是界面或应用程序,可以让你与以太坊帐户交互。
+帐户和钱包不同。 钱包是一个界面或应用程序,可让你与以太坊帐户(外部帐户或合约帐户)进行交互。
## 视频演示 {#a-visual-demo}
diff --git a/public/content/translations/zh/developers/docs/apis/backend/index.md b/public/content/translations/zh/developers/docs/apis/backend/index.md
index 0841542959b..abf79b3467f 100644
--- a/public/content/translations/zh/developers/docs/apis/backend/index.md
+++ b/public/content/translations/zh/developers/docs/apis/backend/index.md
@@ -6,7 +6,7 @@ lang: zh
为了使软件应用程序能够与以太坊区块链进行交互(例如:读取区块链数据或发送交易信息到网络),软件必须连接到以太坊节点。
-为此,每种以太坊客户端都实现了 [JSON-RPC](/developers/docs/apis/json-rpc/) 规范,因而应用程序可以依赖一组统一的[方法](/developers/docs/apis/json-rpc/#json-rpc-methods)。
+为此,每个以太坊客户端都执行[JSON-RPC](/developers/docs/apis/json-rpc/)规范,以使应用程序可以依赖统一的[方法](/developers/docs/apis/json-rpc/#json-rpc-methods)集。
如果你想使用特定的编程语言去连接以太坊的节点,你可自行选择,但是在社区中已有几个方便的库,可以更方便地实现应用程序与以太坊的连接。 通过这些库,开发者可以方便地写下直观的一行函数来初始化(后端的)JSON RPC 请求并用于与以太坊进行交互。
@@ -20,83 +20,67 @@ lang: zh
## 可用的库 {#available-libraries}
+### 基础设施和节点服务 {#infrastructure-and-node-services}
+
**Alchemy -** **_以太坊开发平台_**
- [alchemy.com](https://www.alchemy.com/)
-- [相关文档](https://docs.alchemyapi.io/)
+- [相关文档](https://docs.alchemy.com/)
- [GitHub](https://github.com/alchemyplatform)
-- [Discord](https://discord.com/invite/A39JVCM)
+- [Discord](https://discord.com/invite/alchemyplatform)
-**BlockCypher -** **_以太坊 Web 应用程序接口。_**
+**All That Node -** **_节点即服务。_**
-- [blockcypher.com](https://www.blockcypher.com/)
-- [相关文档](https://www.blockcypher.com/dev/ethereum/)
+- [All That Node.com](https://www.allthatnode.com/)
+- [相关文档](https://docs.allthatnode.com)
+- [Discord](https://discord.gg/GmcdVEUbJM)
**Blast by Bware Labs -** **_面向以太坊主网和测试网的去中心化应用程序接口。_**
- [blastapi.io](https://blastapi.io/)
- [相关文档](https://docs.blastapi.io)
-- [Discord](https://discord.com/invite/VPkWESgtvV)
+- [Discord](https://discord.gg/bwarelabs)
-**Infura -** **_以太坊应用程序接口即服务。_**
+**BlockPi -** **_提供更高效、更快速的 RPC 服务_**
-- [infura.io](https://infura.io)
-- [相关文档](https://infura.io/docs)
-- [GitHub](https://github.com/INFURA)
+- [blockpi.io](https://blockpi.io/)
+- [相关文档](https://docs.blockpi.io/)
+- [GitHub](https://github.com/BlockPILabs)
+- [Discord](https://discord.com/invite/xTvGVrGVZv)
**Cloudflare 以太坊网关。**
-- [cloudflare-eth.com](https://cloudflare-eth.com)
-
-**Coinbase 云节点 -** **_区块链基础设施应用程序接口。_**
-
-- [Coinbase 云节点](https://www.coinbase.com/cloud/products/node)
-- [相关文档](https://docs.cloud.coinbase.com/node/reference/welcome-to-node)
+- [cloudflare-eth.com](https://www.cloudflare.com/application-services/products/web3/)
-**Figment 数据中心 -** **_以太坊主网和测试网的 Web3 应用程序接口服务。_**
-
-- [数据中心](https://www.figment.io/datahub)
-- [相关文档](https://docs.figment.io/introduction/what-is-datahub)
+**Etherscan - 区块浏览器和交易应用程序接口**
+- [相关文档](https://docs.etherscan.io/)
-**NFTPort -** **_以太坊数据和铸币应用程序接口。_**
+**GetBlock -** **_ 用于 Web3 开发的区块链即服务_**
-- [nftport.xyz](https://www.nftport.xyz/)
-- [相关文档](https://docs.nftport.xyz/)
-- [GitHub](https://github.com/nftport/)
-- [Discord](https://discord.com/invite/K8nNrEgqhE)
+- [GetBlock.io](https://getblock.io/)
+- [相关文档](https://getblock.io/docs/)
-**Nodesmith -** **_可对以太坊主网和测试网进行 JSON-RPC 应用程序接口访问。_**
+**Infura -** **_以太坊应用程序接口即服务。_**
-- [nodesmith.io](https://nodesmith.io/network/ethereum/)
-- [相关文档](https://nodesmith.io/docs/#/ethereum/apiRef)
+- [infura.io](https://infura.io)
+- [相关文档](https://docs.infura.io/api)
+- [GitHub](https://github.com/INFURA)
-**Ethercluster -** **_运行自己的支持以太坊和以太坊经典的以太坊应用程序接口服务。_**
+**Node RPC - _经济高效的以太坊虚拟机 JSON-RPC 供应商_**
-- [ethercluster.com](https://www.ethercluster.com/)
+- [noderpc.xyz](https://www.noderpc.xyz/)
+- [相关文档](https://docs.noderpc.xyz/node-rpc)
-**Chainstack -** **_共享及专用的以太坊节点即服务。_**
+**NOWNodes - _全节点和全区块浏览器。_**
-- [chainstack.com](https://chainstack.com)
-- [相关文档](https://docs.chainstack.com)
-- [以太坊应用程序接口参考](https://docs.chainstack.com/api/ethereum/ethereum-api-reference)
+- [NOWNodes.io](https://nownodes.io/)
+- [相关文档](https://documenter.getpostman.com/view/13630829/TVmFkLwy#intro)
**QuickNode -** **_区块链基础设施即服务。_**
- [quicknode.com](https://quicknode.com)
-- [相关文档](https://www.quicknode.com/docs)
-- [Discord](https://discord.gg/NaR7TtpvJq)
-
-**Python 工具 -** **_通过 Python 和以太坊交互的各种库。_**
-
-- [py.ethereum.org](http://python.ethereum.org/)
-- [web3.py GitHub](https://github.com/ethereum/web3.py)
-- [web3.py 聊天](https://gitter.im/ethereum/web3.py)
-
-**web3j -** **_面向以太坊的 Java/Android/Kotlin/Scala 集成库。_**
-
-- [GitHub](https://github.com/web3j/web3j)
-- [相关文档](https://docs.web3j.io/)
-- [Gitter](https://gitter.im/web3j/web3j)
+- [相关文档](https://www.quicknode.com/docs/welcome)
+- [Discord](https://discord.gg/quicknode)
**Rivet -** **_由开源软件提供支持的以太坊和以太坊经典应用程序接口即服务。_**
@@ -104,12 +88,33 @@ lang: zh
- [相关文档](https://rivet.cloud/docs/)
- [GitHub](https://github.com/openrelayxyz/ethercattle-deployment)
+**Zmok -** **_注重速度的以太坊节点即 JSON-RPC/WebSockets 应用程序接口。_**
+
+- [zmok.io](https://zmok.io/)
+- [GitHub](https://github.com/zmok-io)
+- [相关文档](https://docs.zmok.io/)
+- [Discord](https://discord.gg/fAHeh3ka6s)
+
+### 开发工具 {#development-tools}
+
+**Ethers-kt - ****_ 面向基于以太坊虚拟机区块链的高性能异步 Kotlin/Java/Android 库。_**
+
+- [GitHub](https://github.com/Kr1ptal/ethers-kt)
+- [示例](https://github.com/Kr1ptal/ethers-kt/tree/master/examples)
+- [Discord](https://discord.gg/rx35NzQGSb)
+
**Nethereum -** **_面向区块链的开源 .NET 集成库。_**
- [GitHub](https://github.com/Nethereum/Nethereum)
- [相关文档](http://docs.nethereum.com/en/latest/)
- [Discord](https://discord.com/invite/jQPrR58FxX)
+**Python 工具 -** **_通过 Python 和以太坊交互的各种库。_**
+
+- [py.ethereum.org](https://python.ethereum.org/)
+- [web3.py GitHub](https://github.com/ethereum/web3.py)
+- [web3.py 聊天](https://gitter.im/ethereum/web3.py)
+
**QuikNode -** **_终极区块链开发平台。_**
- [Tatum](https://tatum.io/)
@@ -117,31 +122,18 @@ lang: zh
- [相关文档](https://docs.tatum.io/)
- [Discord](https://discord.gg/EDmW3kjTC9)
-**Watchdata -** **_提供对以太坊区块链简单可靠的应用程序接口访问。_**
-
-- [Watchdata](https://watchdata.io/)
-- [相关文档](https://docs.watchdata.io/)
-- [Discord](https://discord.com/invite/TZRJbZ6bdn)
-
-**Zmok -** **_注重速度的以太坊节点即 JSON-RPC/WebSockets 应用程序接口。_**
-
-- [zmok.io](https://zmok.io/)
-- [GitHub](https://github.com/zmok-io)
-- [相关文档](https://docs.zmok.io/)
-- [Discord](https://discord.gg/fAHeh3ka6s)
+**web3j -** **_面向以太坊的 Java/Android/Kotlin/Scala 集成库。_**
-**NOWNodes - _全节点和全区块浏览器。_**
+- [GitHub](https://github.com/web3j/web3j)
+- [相关文档](https://docs.web3j.io/)
+- [Gitter](https://gitter.im/web3j/web3j)
-- [NOWNodes.io](https://nownodes.io/)
-- [相关文档](https://documenter.getpostman.com/view/13630829/TVmFkLwy#intro)
+### 区块链服务 {#blockchain-services}
-**Moralis -** **_企业级以太坊虚拟机应用程序接口提供商。_**
+**BlockCypher -** **_以太坊 Web 应用程序接口。_**
-- [moralis.io](http://moralis.io)
-- [相关文档](https://docs.moralis.io/)
-- [GitHub](https://github.com/MoralisWeb3)
-- [Discord](https://discord.com/invite/KYswaxwEtg)
-- [论坛](https://forum.moralis.io/)
+- [blockcypher.com](https://www.blockcypher.com/)
+- [相关文档](https://www.blockcypher.com/dev/ethereum/)
**公链 -** **_以太坊的一体化 web3 数据基础设施。_**
@@ -149,17 +141,36 @@ lang: zh
- [相关文档](https://docs.chainbase.com/)
- [Discord](https://discord.gg/Wx6qpqz4AF)
-**GetBlock -** **_ 用于 Web3 开发的区块链即服务_**
+**Chainstack -** **_共享及专用的以太坊节点即服务。_**
-- [GetBlock.io](https://getblock.io/)
-- [相关文档](https://getblock.io/docs/)
+- [chainstack.com](https://chainstack.com)
+- [相关文档](https://docs.chainbase.com/docs)
+- [以太坊应用程序接口参考](https://docs.chainstack.com/reference/ethereum-getting-started)
-**BlockPi -** **_提供更高效、更快速的 RPC 服务_**
+**Coinbase 云节点 -** **_区块链基础设施应用程序接口。_**
-- [blockpi.io](https://blockpi.io/)
-- [相关文档](https://docs.blockpi.io/)
-- [GitHub](https://github.com/BlockPILabs)
-- [Discord](https://discord.com/invite/xTvGVrGVZv)
+- [Coinbase 云节点](https://www.coinbase.com/cloud)
+- [相关文档](https://docs.cloud.coinbase.com/)
+
+**Figment 数据中心 -** **_以太坊主网和测试网的 Web3 应用程序接口服务。_**
+
+- [数据中心](https://www.figment.io/)
+- [相关文档](https://docs.figment.io/)
+
+**Moralis -** **_企业级以太坊虚拟机应用程序接口提供商。_**
+
+- [moralis.io](https://moralis.io)
+- [相关文档](https://docs.moralis.io/)
+- [GitHub](https://github.com/MoralisWeb3)
+- [Discord](https://moralis.io/joindiscord/)
+- [论坛](https://forum.moralis.io/)
+
+**NFTPort -** **_以太坊数据和铸币应用程序接口。_**
+
+- [nftport.xyz](https://www.nftport.xyz/)
+- [相关文档](https://docs.nftport.xyz/)
+- [GitHub](https://github.com/nftport/)
+- [Discord](https://discord.com/invite/K8nNrEgqhE)
**Tokenview -** **_ 通用多重加密区块链应用程序接口平台。_**
@@ -167,6 +178,20 @@ lang: zh
- [相关文档](https://services.tokenview.io/docs?type=api)
- [GitHub](https://github.com/Tokenview)
+**Watchdata -** **_提供对以太坊区块链简单可靠的API访问。_**
+
+- [Watchdata](https://watchdata.io/)
+- [相关文档](https://docs.watchdata.io/)
+- [Discord](https://discord.com/invite/TZRJbZ6bdn)
+
+**Covalent - ****_适用于 200 多条链的丰富区块链应用程序接口。_**
+
+- [covalenthq.com](https://www.covalenthq.com/)
+- [相关文档](https://www.covalenthq.com/docs/api/)
+- [GitHub](https://github.com/covalenthq)
+- [Discord](https://www.covalenthq.com/discord/)
+
+
## 延伸阅读 {#further-reading}
_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
diff --git a/public/content/translations/zh/developers/docs/apis/javascript/index.md b/public/content/translations/zh/developers/docs/apis/javascript/index.md
index aa5e8fcf951..02548f5b65a 100644
--- a/public/content/translations/zh/developers/docs/apis/javascript/index.md
+++ b/public/content/translations/zh/developers/docs/apis/javascript/index.md
@@ -8,7 +8,7 @@ lang: zh
为此,每种以太坊客户端都实现了 [JSON-RPC](/developers/docs/apis/json-rpc/) 规范,因而应用程序可以依赖一组统一的[方法](/developers/docs/apis/json-rpc/#json-rpc-methods)。
-如果你想要用 JavaScript 连接到一个以太坊节点, 可以使用原生 JavaScript,不过生态系统中存在一些方便的库,使得这个事情变得更加容易。 通过这些库,开发者可以写下直观易懂甚至单行的代码就能初始化与以太坊的互动(背后使用 JSON RPC 请求)。
+如果你想要用 JavaScript 连接到一个以太坊节点, 可以使用原生 JavaScript,不过生态系统中存在一些方便的库,使得这个事情变得更加容易。 通过这些库,开发者可以方便地写下直观的一行函数来初始化(后端的)JSON RPC 请求并用于与以太坊进行交互。
请注意,[合并](/roadmap/merge/)后,运行节点需要两种互联的以太坊软件 - 执行客户端和共识客户端。 请确保你的节点同时包含执行客户端和共识客户端。 如果你的节点不在本地计算机上(例如,你的节点在 AWS 实例上运行),请相应地更新教程中的 IP 地址。 有关更多信息,请参阅我们关于[运行节点](/developers/docs/nodes-and-clients/run-a-node/)的页面。
@@ -29,12 +29,12 @@ lang: zh
**Ethers 示例**
```js
-// A Web3Provider wraps a standard Web3 provider, which is
-// what MetaMask injects as window.ethereum into each page
-const provider = new ethers.providers.Web3Provider(window.ethereum)
+// 一个浏览器提供程序包装了一个标准 Web3 提供程序,后者由
+// MetaMask 作为 window.ethereum 注入每个页面
+const provider = new ethers.BrowserProvider(window.ethereum)
-// The MetaMask plugin also allows signing transactions to
-// send ether and pay to change state within the blockchain.
+// MetaMask 插件还允许为交易签名,
+// 以发送以太币并付款改变区块链内的状态。
// 为此,我们需要帐户签名者...
const signer = provider.getSigner()
```
@@ -80,19 +80,19 @@ var web3 = new Web3(
// 从助记符创建一个钱包实例...
mnemonic =
"announce room limb pattern dry unit scale effort smooth jazz weasel alcohol"
-walletMnemonic = Wallet.fromMnemonic(mnemonic)
+walletMnemonic = Wallet.fromPhrase(mnemonic)
-// ...或者从一个私有密匙中创建
+// ...或者来自一个私钥
walletPrivateKey = new Wallet(walletMnemonic.privateKey)
walletMnemonic.address === walletPrivateKey.address
// true
-// 每个签署 API 都是一个异步操作地址
+// 根据签名者应用程序接口,该地址为 Promise
walletMnemonic.getAddress()
// { Promise: '0x71CB05EE1b1F506fF321Da3dac38f25c0c9ce6E1' }
-// 每个钱包地址同时也可以是同步的
+// 钱包地址也可同步使用
walletMnemonic.address
// '0x71CB05EE1b1F506fF321Da3dac38f25c0c9ce6E1'
@@ -102,7 +102,7 @@ walletMnemonic.privateKey
walletMnemonic.publicKey
// '0x04b9e72dfd423bcf95b3801ac93f4392be5ff22143f9980eb78b3a860c4843bfd04829ae61cdba4b3b1978ac5fc64f5cc2f4350e35a108a9c9a92a81200a60cd64'
-// 钱包的助记符(mnemonic)
+// 钱包助记词
walletMnemonic.mnemonic
// {
// locale: 'en',
@@ -110,12 +110,12 @@ walletMnemonic.mnemonic
// phrase: 'announce room limb pattern dry unit scale effort smooth jazz weasel alcohol'
// }
-// 注意:使用私有密匙创建的钱包没有
-// 从助记符(被原生屏蔽)
+// 注意:使用私钥创建的钱包
+// 没有助记词(派生阻止了它)
walletPrivateKey.mnemonic
// null
-// 签署一个信息
+// 为信息签名
walletMnemonic.signMessage("Hello World")
// { Promise: '0x14280e5885a19f60e536de50097e96e3738c7acae4e9e62d67272d794b8127d31c03d9cd59781d4ee31fb4e1b893bd9b020ec67dfa65cfb51e2bdadbb1de26d91c' }
@@ -124,20 +124,21 @@ tx = {
value: utils.parseEther("1.0"),
}
-// 签署一笔交易
+// 为交易签名
walletMnemonic.signTransaction(tx)
// { Promise: '0xf865808080948ba1f109551bd432803012645ac136ddd64dba72880de0b6b3a7640000801ca0918e294306d177ab7bd664f5e141436563854ebe0a3e523b9690b4922bbb52b8a01181612cec9c431c4257a79b8c9f0c980a2c49bb5a0e6ac52949163eeb565dfc' }
-// 这个连接方法会返回一个新的连接到提供者的钱包实例
+// connect 方法返回连接到提供程序
+// 的 Wallet 的新实例
wallet = walletMnemonic.connect(provider)
-// 查询以太坊网络
+// 查询网络
wallet.getBalance()
// { Promise: { BigNumber: "42" } }
wallet.getTransactionCount()
// { Promise: 0 }
-// 发送 Ether
+// 发送以太币
wallet.sendTransaction(tx)
```
diff --git a/public/content/translations/zh/developers/docs/apis/json-rpc/index.md b/public/content/translations/zh/developers/docs/apis/json-rpc/index.md
index ad367eda0d8..f3e86b50f63 100644
--- a/public/content/translations/zh/developers/docs/apis/json-rpc/index.md
+++ b/public/content/translations/zh/developers/docs/apis/json-rpc/index.md
@@ -26,7 +26,7 @@ lang: zh
## 执行客户端规范 {#spec}
-[阅读 GitHub 上完整的 JSON-RPC 应用程序接口规范](https://github.com/ethereum/execution-apis)。
+[阅读 GitHub 上完整的 JSON-RPC 应用程序接口规范](https://github.com/ethereum/execution-apis)。 该应用程序接口在[执行执行应用程序接口网页](https://ethereum.github.io/execution-apis/api-documentation/)上有文档,还包含一个可试验所有可用方法的检查器。
## 约定 {#conventions}
@@ -53,7 +53,7 @@ lang: zh
以下是一些示例:
- 0x41(大小为 1,“A”)
-- 0x004200(大小为 3,“\0B\0”)
+- 0x004200(大小为 3,“0B0”)
- 0x(大小为 0,“”)
- 错误:0xf0f0f(位数必须是偶数)
- 错误:004200(必须以 0x 为前缀)
@@ -74,7 +74,7 @@ lang: zh
- `HEX String` - 整数区块号
- `String "earliest"` - 表示最早/创世区块
-- `String "latest"` - 最新挖出的区块
+- `String "latest"` - 最新提议的区块
- `String "safe"` - 最新且安全的头部区块
- `String "finalized"` - 最新的最终确定的区块
- `String "pending"` - 未决状态/交易
@@ -132,6 +132,10 @@ curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","metho
- [eth_getUncleByBlockHashAndIndex](#eth_getunclebyblockhashandindex)
- [eth_getUncleByBlockNumberAndIndex](#eth_getunclebyblocknumberandindex)
+## JSON-RPC 应用程序接口实战
+
+你可以使用[实战工具](https://ethereum-json-rpc.com)来发现与尝试应用程序接口方法。 它还为你展示了各个节点提供商支持哪些方法和网络。
+
## JSON-RPC 应用程序接口方法 {#json-rpc-methods}
### web3_clientVersion {#web3_clientversion}
@@ -386,7 +390,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}
无
-**返回**
+**返回值**
`DATA`,20 字节 - 当前的 coinbase 地址。
@@ -411,7 +415,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_coinbase","params":[],"id":6
无
-**返回**
+**返回值**
`chainId`,十六进制字符串值,代表当前链 ID 的整数。
@@ -436,7 +440,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":67
无
-**返回**
+**返回值**
`Boolean` - 如果客户端正在挖矿,则返回 `true`,否则返回 `false`。
@@ -461,7 +465,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_mining","params":[],"id":71}
无
-**返回**
+**返回值**
`QUANTITY` - 每秒哈希数。
@@ -486,7 +490,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_hashrate","params":[],"id":7
无
-**返回**
+**返回值**
`QUANTITY` - 表示当前燃料价格(以 wei 为单位)的整数。
@@ -511,7 +515,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":7
无
-**返回**
+**返回值**
`Array of DATA`,20 字节 - 客户端拥有的地址。
@@ -536,7 +540,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[],"id":1
无
-**返回**
+**返回值**
`QUANTITY` - 表示客户端所在的当前区块编号的整数。
@@ -560,13 +564,13 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id
**参数**
1. `DATA`,20 字节 - 需要检查余额的地址。
-2. `QUANTITY|TAG` - 整数区块号,或字符串`“latest”`、`“earliest”`或`“pending”`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
+2. `QUANTITY|TAG` - 整数区块号,或字符串 `"latest"`、`"earliest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
```js
params: ["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"]
```
-**返回**
+**返回值**
`QUANTITY` - 表示当前余额的整数(以 wei 为单位)。
@@ -591,9 +595,9 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0x407
1. `DATA`,20 字节 - 存储地址。
2. `QUANTITY` - 表示存储位置的整数。
-3. `QUANTITY|TAG` - 整数区块号,或字符串`“latest”`、`“earliest”`或`“pending”`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
+3. `QUANTITY|TAG` - 整数区块号,或字符串 `"latest"`、`"earliest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
-**返回**
+**返回值**
`DATA` - 此存储位置处的值。
@@ -620,7 +624,7 @@ curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": [
检索映射的元素要难一些。 映射中的元素位置通过以下方式计算:
```js
-keccack(LeftPad32(key, 0), LeftPad32(map position, 0))
+keccak(LeftPad32(key, 0), LeftPad32(map position, 0))
```
这意味着要检索 pos1["0x391694e7e0b0cce554cb130d723a9d27458f9298"] 处的存储,我们需要通过以下方法计算位置:
@@ -657,7 +661,7 @@ curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": [
**参数**
1. `DATA`,20 字节 - 地址。
-2. `QUANTITY|TAG` - 整数区块号,或字符串`“latest”`、`“earliest”`或`“pending”`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
+2. `QUANTITY|TAG` - 整数区块号,或字符串 `"latest"`、`"earliest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
```js
params: [
@@ -666,7 +670,7 @@ params: [
]
```
-**返回**
+**返回值**
`QUANTITY` - 表示从该地址发送的交易数量的整数。
@@ -692,23 +696,23 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionCount","params
1. `DATA`,32 字节 - 区块的哈希
```js
-params: ["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"]
+params: ["0xd03ededb7415d22ae8bac30f96b2d1de83119632693b963642318d87d1bece5b"]
```
-**返回**
+**返回值**
`QUANTITY` - 表示此区块中的交易数量的整数。
**示例**
```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByHash","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id":1}'
-// Result
+// 请求
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByHash","params":["0xd03ededb7415d22ae8bac30f96b2d1de83119632693b963642318d87d1bece5b"],"id":1}'
+// 结果
{
"id":1,
"jsonrpc": "2.0",
- "result": "0xb" // 11
+ "result": "0x8b" // 139
}
```
@@ -718,28 +722,28 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByHa
**参数**
-1. `QUANTITY|TAG` - 表示区块编号的整数,或字符串`“earliest”`、`“latest”`或`“pending”`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)。
+1. `QUANTITY|TAG` - 整数区块号,或字符串 `"earliest"`、`"latest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
```js
params: [
- "0xe8", // 232
+ "0x13738ca", // 20396234
]
```
-**返回**
+**返回值**
`QUANTITY` - 表示此区块中的交易数量的整数。
**示例**
```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByNumber","params":["0xe8"],"id":1}'
-// Result
+// 请求
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByNumber","params":["0x13738ca"],"id":1}'
+// 结果
{
"id":1,
"jsonrpc": "2.0",
- "result": "0xa" // 10
+ "result": "0x8b" // 139
}
```
@@ -752,19 +756,19 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByNu
1. `DATA`,32 字节 - 区块的哈希
```js
-params: ["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"]
+params: ["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2"]
```
-**返回**
+**返回值**
`QUANTITY` - 表示此区块中的叔块数量的整数。
**示例**
```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockHash","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id":1}'
-// Result
+// 请求
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockHash","params":["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2"],"id":1}'
+// 结果
{
"id":1,
"jsonrpc": "2.0",
@@ -778,7 +782,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockHash","p
**参数**
-1. `QUANTITY|TAG` - 表示区块编号的整数,或字符串“latest”、“earliest”或“pending”,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
+1. `QUANTITY|TAG` - 整数区块号,或字符串 `"latest"`、`"earliest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
```js
params: [
@@ -786,20 +790,20 @@ params: [
]
```
-**返回**
+**返回值**
`QUANTITY` - 表示此区块中的叔块数量的整数。
**示例**
```js
-// Request
+// 请求
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockNumber","params":["0xe8"],"id":1}'
-// Result
+// 结果
{
"id":1,
"jsonrpc": "2.0",
- "result": "0x1" // 1
+ "result": "0x0" // 0
}
```
@@ -810,29 +814,29 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockNumber",
**参数**
1. `DATA`,20 字节 - 地址
-2. `QUANTITY|TAG` - 整数区块号,或字符串`“latest”`、`“earliest”`或`“pending”`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
+2. `QUANTITY|TAG` - 整数区块号,或字符串 `"latest"`、`"earliest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
```js
params: [
- "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x2", // 2
+ "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
+ "0x5daf3b", // 6139707
]
```
-**返回**
+**返回值**
`DATA` - 给定地址处的代码。
**示例**
```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getCode","params":["0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "0x2"],"id":1}'
-// Result
+// 请求
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getCode","params":["0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "0x5daf3b"],"id":1}'
+// 结果
{
"id":1,
"jsonrpc": "2.0",
- "result": "0x600160008035811a818181146012578301005b601b6001356025565b8060005260206000f25b600060078202905091905056"
+ "result": "0x6060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b9578063095ea7b31461014757806318160ddd146101a157806323b872dd146101ca5780632e1a7d4d14610243578063313ce5671461026657806370a082311461029557806395d89b41146102e2578063a9059cbb14610370578063d0e30db0146103ca578063dd62ed3e146103d4575b6100b7610440565b005b34156100c457600080fd5b6100cc6104dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561010c5780820151818401526020810190506100f1565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610187600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061057b565b604051808215151515815260200191505060405180910390f35b34156101ac57600080fd5b6101b461066d565b6040518082815260200191505060405180910390f35b34156101d557600080fd5b610229600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061068c565b604051808215151515815260200191505060405180910390f35b341561024e57600080fd5b61026460048080359060200190919050506109d9565b005b341561027157600080fd5b610279610b05565b604051808260ff1660ff16815260200191505060405180910390f35b34156102a057600080fd5b6102cc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b18565b6040518082815260200191505060405180910390f35b34156102ed57600080fd5b6102f5610b30565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033557808201518184015260208101905061031a565b50505050905090810190601f1680156103625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037b57600080fd5b6103b0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bce565b604051808215151515815260200191505060405180910390f35b6103d2610440565b005b34156103df57600080fd5b61042a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610be3565b6040518082815260200191505060405180910390f35b34600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a2565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105735780601f1061054857610100808354040283529160200191610573565b820191906000526020600020905b81548152906001019060200180831161055657829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156106dc57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156107b457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156108cf5781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561084457600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a2757600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610ab457600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040518082815260200191505060405180910390a250565b600260009054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bc65780601f10610b9b57610100808354040283529160200191610bc6565b820191906000526020600020905b815481529060010190602001808311610ba957829003601f168201915b505050505081565b6000610bdb33848461068c565b905092915050565b60046020528160005260406000206020528060005260406000206000915091505054815600a165627a7a72305820deb4c2ccab3c2fdca32ab3f46728389c2fe2c165d5fafa07661e4e004f6c344a0029"
}
```
@@ -849,7 +853,7 @@ Sign 方法如下计算以太坊特定的签名:`sign(keccak256("\x19Ethereum
1. `DATA`,20 字节 - 地址
2. `DATA`,N 字节 - 要签名的消息
-**返回**
+**返回值**
`DATA`:签名
@@ -883,7 +887,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sign","params":["0x9b2055d37
- `data`: `DATA` - 合约的编译代码或调用的方法签名和编码参数的哈希。
- `nonce`: `QUANTITY` -(可选)表示随机数的整数。 它允许覆盖你自己的使用相同随机数的待处理交易。
-**返回**
+**返回值**
`DATA`,由指定帐户签名的 RLP 编码的交易对象。
@@ -930,11 +934,11 @@ params: [
]
```
-**返回**
+**返回值**
`DATA`,32 字节 - 交易哈希,或者如果交易尚不可用,则为零哈希。
-创建合约时,在交易被挖掘后,使用 [eth_getTransactionReceipt](#eth_gettransactionreceipt) 获取合约地址。
+创建合约时,在交易被提议到区块后,使用 [eth_getTransactionReceipt](#eth_gettransactionreceipt) 获取合约地址。
**示例**
@@ -963,11 +967,11 @@ params: [
]
```
-**返回**
+**返回值**
`DATA`,32 字节 - 交易哈希,或者如果交易尚不可用,则为零哈希。
-创建合约时,在交易被挖掘后,使用 [eth_getTransactionReceipt](#eth_gettransactionreceipt) 获取合约地址。
+创建合约时,在交易被提议到区块后,使用 [eth_getTransactionReceipt](#eth_gettransactionreceipt) 获取合约地址。
**示例**
@@ -997,9 +1001,9 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params"
- `value`: `QUANTITY` -(可选)表示与此交易一起发送的值的整数
- `input`: `DATA` -(可选)方法签名和编码参数的哈希。 有关详细信息,参见 [Solidity 文档中的以太坊合约应用程序二进制接口](https://docs.soliditylang.org/en/latest/abi-spec.html)。
-2. `QUANTITY|TAG` - 整数区块号,或字符串`“latest”`、`“earliest”`或`“pending”`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
+2. `QUANTITY|TAG` - 整数区块号,或字符串 `"latest"`、`"earliest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
-**返回**
+**返回值**
`DATA` - 已执行合约的返回值。
@@ -1024,7 +1028,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_call","params":[{see above}]
参见 [eth_call](#eth_call) 的参数,但所有属性都是可选的。 如果没有指定燃料限制,geth 将使用待处理区块的区块燃料限制作为上限。 因此,当所需燃料数量高于待处理区块的燃料限制时,返回的估算值可能不足以执行调用/交易。
-**返回**
+**返回值**
`QUANTITY` - 使用的燃料数量。
@@ -1057,7 +1061,7 @@ params: [
]
```
-**返回**
+**返回值**
`Object` - 区块对象,或 `null`(当没有找到区块时):
@@ -1124,7 +1128,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByHash","params":["0
**参数**
-1. `QUANTITY|TAG` - 表示区块编号的整数,或字符串`“earliest”`、`“latest”`或`“pending”`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)。
+1. `QUANTITY|TAG` - 整数区块号,或字符串 `"earliest"`、`"latest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
2. `Boolean` - 如果为 `true` 则返回完整的交易对象,如果为 `false` 则仅返回交易的哈希。
```js
@@ -1157,7 +1161,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":[
params: ["0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b"]
```
-**返回**
+**返回值**
`Object` - 交易对象,或者如果没有找到交易,则为 `null`:
@@ -1215,7 +1219,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByHash","param
```js
params: [
- "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331",
+ "0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2",
"0x0", // 0
]
```
@@ -1225,8 +1229,8 @@ params: [
**示例**
```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockHashAndIndex","params":["0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b", "0x0"],"id":1}'
+// 请求
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockHashAndIndex","params":["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2", "0x0"],"id":1}'
```
结果参见 [eth_getTransactionByHash](#eth_gettransactionbyhash)
@@ -1237,7 +1241,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockHashAnd
**参数**
-1. `QUANTITY|TAG` - 区块编号,或字符串`“earliest”`、`“latest”`或`“pending”`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)。
+1. `QUANTITY|TAG` - 整数区块号,或字符串 `"earliest"`、`"latest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
2. `QUANTITY` - 交易索引位置。
```js
@@ -1336,7 +1340,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","para
```js
params: [
- "0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b",
+ "0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2",
"0x0", // 0
]
```
@@ -1346,8 +1350,8 @@ params: [
**示例**
```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleByBlockHashAndIndex","params":["0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b", "0x0"],"id":1}'
+// 请求
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleByBlockHashAndIndex","params":["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2", "0x0"],"id":1}'
```
结果参见 [eth_getBlockByHash](#eth_getblockbyhash)
@@ -1360,7 +1364,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleByBlockHashAndIndex"
**参数**
-1. `QUANTITY|TAG` - 区块编号,或字符串`“earliest”`、`“latest”`或`“pending”`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)。
+1. `QUANTITY|TAG` - 整数区块号,或字符串 `"earliest"`、`"latest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
2. `QUANTITY` - 叔块的索引位置。
```js
@@ -1398,8 +1402,8 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleByBlockNumberAndInde
1. `Object` - 筛选器选项:
-- `fromBlock`: `QUANTITY|TAG` -(可选,默认值:`"latest"`)整数区块编号,`"latest"`(表示最后开采的区块),或`"pending"`、`"earliest"`(表示尚未开采的交易)。
-- `toBlock`: `QUANTITY|TAG` -(可选,默认值:`"latest"`)整数区块编号,`"latest"`(表示最后开采的区块),或`"pending"`、`"earliest"`(表示于尚未开采的交易)。
+- `fromBlock`: `QUANTITY|TAG` -(可选,默认值:`"latest"`)整型区块编号,或者`"latest"`表示最近提议的区块,`"safe"`表示最新的安全区块,`"finalized"`表示最近最终化的区块,或者`"pending"`、`"earliest"`表示尚未在区块中的交易。
+- `toBlock`: `QUANTITY|TAG` - (可选,默认值:`"latest"`)整型区块编号,或者`"latest"`表示最近提议的区块,`"safe"`表示最新的安全区块,`"finalized"`表示最近最终化的区块,或者`"pending"`、`"earliest"`表示尚未在区块中的交易。
- `address`: `DATA|Array`,20 字节 -(可选)日志起源的合约地址或地址列表。
- `topics`: `Array of DATA` -(可选)32 字节 `DATA` 主题数组。 主题是顺序相关的。 每个主题也可以是带有“或”选项的 DATA 数组。
@@ -1592,8 +1596,8 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getFilterLogs","params":["0x
1. `Object` - 筛选器选项:
-- `fromBlock`: `QUANTITY|TAG` -(可选,默认值:`"latest"`)整数区块编号,`"latest"`(表示最后开采的区块),或`"pending"`、`"earliest"`(表示尚未开采的交易)。
-- `toBlock`: `QUANTITY|TAG` -(可选,默认值:`"latest"`)整数区块编号,`"latest"`(表示最后开采的区块),或`"pending"`、`"earliest"`(表示于尚未开采的交易)。
+- `fromBlock`: `QUANTITY|TAG` -(可选,默认值:`"latest"`)整型区块编号,或者`"latest"`表示最近提议的区块,`"safe"`表示最新的安全区块,`"finalized"`表示最近最终化的区块,或者`"pending"`、`"earliest"`表示尚未在区块中的交易。
+- `toBlock`: `QUANTITY|TAG` - (可选,默认值:`"latest"`)整型区块编号,或者`"latest"`表示最近提议的区块,`"safe"`表示最新的安全区块,`"finalized"`表示最近最终化的区块,或者`"pending"`、`"earliest"`表示尚未在区块中的交易。
- `address`: `DATA|Array`,20 字节 -(可选)日志起源的合约地址或地址列表。
- `topics`: `Array of DATA` -(可选)32 字节 `DATA` 主题数组。 主题是顺序相关的。 每个主题也可以是带有“或”选项的 DATA 数组。
- `blockhash`: `DATA`,32 字节 -(可选,**future**),添加 EIP-234 后,`blockHash` 将是一个新的过滤器选项,它会将返回的日志限制为具有 32 字节哈希 `blockHash` 的单一区块。 使用 `blockHash` 相当于 `fromBlock` = `toBlock` = 具有哈希 `blockHash` 的区块编号。 如果 `blockHash` 出现在筛选条件中,则 `fromBlock` 和 `toBlock` 都不允许。
@@ -1695,7 +1699,7 @@ curl --data '{"jsonrpc":"2.0","method": "eth_getTransactionReceipt", "params": [
{"jsonrpc":"2.0","id":7,"result":{"blockHash":"0x77b1a4f6872b9066312de3744f60020cbd8102af68b1f6512a05b7619d527a4f","blockNumber":"0x1","contractAddress":"0x4d03d617d700cf81935d7f797f4e2ae719648262","cumulativeGasUsed":"0x1c31e","from":"0x9b1d35635cc34752ca54713bb99d38614f63c955","gasUsed":"0x1c31e","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0xe1f3095770633ab2b18081658bad475439f6a08c902d0915903bafff06e6febf","transactionIndex":"0x0"}}
```
-我们的合约是在 `0x4d03d617d700cf81935d7f797f4e2ae719648262` 上创建的。 结果为空而不是收据意味着该交易 尚未添加到区块中。 稍等片刻,检查你的矿工是否正在运行,然后重试。
+我们的合约是在 `0x4d03d617d700cf81935d7f797f4e2ae719648262` 上创建的。 结果为空而不是收据,意味着该交易尚未添加到区块中。 稍等片刻,检查你的共识客户端是否正在运行,然后重试。
#### 与智能合约交互 {#interacting-with-smart-contract}
diff --git a/public/content/translations/zh/developers/docs/blocks/index.md b/public/content/translations/zh/developers/docs/blocks/index.md
index 87700328224..946bb76052c 100644
--- a/public/content/translations/zh/developers/docs/blocks/index.md
+++ b/public/content/translations/zh/developers/docs/blocks/index.md
@@ -139,7 +139,7 @@ lang: zh
## 区块大小 {#block-size}
-最后一条重要提示是,区块本身的大小是有界限的。 每个区块的目标大小为 1500 万单位燃料,但区块的大小将根据网络需求而增加或减少,直至达到 3000 万单位燃料的区块限制(目标区块大小的 2 倍)。 区块中所有交易消耗的总燃料量必须低于区块的燃料限制。 这很重要,因为它可以确保区块不能任意扩大。 如果区块可以任意扩大,由于空间和速度方面的要求,性能较差的全节点将逐渐无法跟上网络。 区块越大,在下一个时隙中及时处理它们需要的算力就越强大。 这是一种集中化的因素,可以通过限制区块大小来抵制。
+最后一条重要提示是,区块本身的大小是有界限的。 每个区块的目标大小为 1500 万单位燃料,但区块的大小将根据网络需求而增加或减少,直至达到 3000 万单位燃料的区块限制(目标区块大小的 2 倍)。 区块的燃料限制可以相对于上一个区块的燃料限制上调或下调 1/1024 的比例。 因此,验证者可以通过共识来改变区块的燃料限制。 区块中所有交易消耗的总燃料量必须低于区块的燃料限制。 这很重要,因为它可以确保区块不能任意扩大。 如果区块可以任意扩大,由于空间和速度方面的要求,性能较差的全节点将逐渐无法跟上网络。 区块越大,在下一个时隙中及时处理它们需要的算力就越强大。 这是一种集中化的因素,可以通过限制区块大小来抵制。
## 延伸阅读 {#further-reading}
diff --git a/public/content/translations/zh/developers/docs/bridges/index.md b/public/content/translations/zh/developers/docs/bridges/index.md
index 80fbc8e72b3..37232605f33 100644
--- a/public/content/translations/zh/developers/docs/bridges/index.md
+++ b/public/content/translations/zh/developers/docs/bridges/index.md
@@ -42,7 +42,7 @@ lang: zh
- **原生链桥 –** 这些链桥通常用于加强特定区块链上的流动性,使用户更容易将资金转移到生态系统。 例如,[Arbitrum 链桥](https://bridge.arbitrum.io/)的目的就是为了方便用户从以太坊主网桥接到 Arbitrum。 其他此链类桥包括 Polygon PoS 链桥、[Optimism 网关](https://app.optimism.io/bridge)等。
- **基于验证者或预言机的链桥 –** 这些链桥依赖于外部验证者组或预言机来验证跨链转移。 例如:Multichain 与 Across。
-- **通用信息传递链桥 – **这些链桥可以跨链传输资产、信息和任意数据。 例如:Nomad 与 LayerZero。
+- **通用信息传递链桥 – **这些链桥可以跨链传输资产、信息和任意数据。 例如:Axelar、LayerZero 与 Nomad。
- **流动性网络 –** 这些链桥主要是通过原子交换将资产从一条链转移到另一条链。 一般来讲,它们不支持跨链信息传递。 例如:Connext 与 Hop。
## 权衡利弊 {#trade-offs}
@@ -67,18 +67,22 @@ lang: zh
## 链桥相关风险 {#risk-with-bridges}
-去中心化金融领域中最大的三次黑客攻击
-都是链桥造成的,而且链桥目前仍处于开发阶段早期。 使用任何链桥都有以下风险:
+去中心化金融领域中最大的三次黑客攻击
+都是链桥造成的,而且链桥目前仍处于开发阶段早期。 使用任何链桥都有以下风险:
- **智能合约风险 –** 虽然许多链桥已经成功通过了审计,但只需智能合约中的一个缺陷就会使资产暴露在黑客攻击中(例如:[Solana 的 Wormhole 链桥](https://rekt.news/wormhole-rekt/))。
- **系统性金融风险** – 许多链桥使用包装资产在新的链上铸造规范化的原始资产。 这使生态系统面临系统性风险,正如我们所看到的那样,包装代币遭到利用。
- **交易对手风险 –** 一些链桥采用可信设计,这要求用户依靠一种假设,即验证者不会串通起来窃取用户的资金。 用户需要信任这些第三方参与者,这使他们面临一些风险,比如跑路、审查和其他恶意活动。
- **未解决的问题 –** 考虑到链桥处于发展阶段初期,还有许多关于链桥在不同市场条件下如何表现的问题都尚未解决,如网络拥塞期和在发生网络级攻击或状态回滚等不可预见的事件时。 这种不确定性带来了一定的风险,且风险程度目前仍然未知。
+
+
## 去中心化应用程序如何使用链桥? {#how-can-dapps-use-bridges}
下面介绍一些实际应用,在这些应用中,开发者可以考虑链桥并让他们的去中心化应用程序跨链:
+
+
### 集成桥接 {#integrating-bridges}
对于开发者来说,有很多方法可以添加对链桥的支持:
@@ -102,9 +106,13 @@ lang: zh
如果去中心化应用程序计划集成链桥或聚合器,那么根据集成的深度会有不同的选择。 例如,如果只是进行前端集成以改善用户上手体验,去中心化应用程序将集成小组件。 然而,如果整合是为了探索更深层次的跨链策略,如质押、流动性矿池等,去中心化应用程序就集成软件开发工具包或应用程序接口。
+
+
### 在多条链上部署去中心化应用程序 {#deploying-a-dapp-on-multiple-chains}
-要在多条链上部署去中心化应用程序,开发者可以使用 [Alchemy](https://www.alchemy.com/)、[安全帽](https://hardhat.org/)、[Moralis](https://moralis.io/) 等开发平台。 这些平台通常提供可组合的插件,能够支持去中心化应用程序跨链。 例如,开发者可以使用[安全帽部署插件](https://github.com/wighawag/hardhat-deploy)提供的确定性部署代理。
+要在多条链上部署去中心化应用程序,开发者可以使用 [Alchemy](https://www.alchemy.com/)、[安全帽](https://hardhat.org/)、[Truffle](https://trufflesuite.com/)、[Moralis](https://moralis.io/) 等开发平台。 这些平台通常提供可组合的插件,能够支持去中心化应用程序跨链。 例如,开发者可以使用[安全帽部署插件](https://github.com/wighawag/hardhat-deploy)提供的确定性部署代理。
+
+
#### 例子:
@@ -112,15 +120,21 @@ lang: zh
- [构建跨链非同质化代币市场](https://youtu.be/WZWCzsB1xUE)
- [Moralis:构建跨链非同质化代币去中心化应用程序](https://www.youtube.com/watch?v=ehv70kE1QYo)
+
+
### 监控跨链合约活动 {#monitoring-contract-activity-across-chains}
要监控跨链合约活动,开发者可以使用子图和 Tenderly 等开发者平台实时观察智能合约。 这类平台上还有一些工具,提供更强大的跨链活动数据监控功能,例如,检查有没有[合约触发的事件](https://docs.soliditylang.org/en/v0.8.14/contracts.html?highlight=events#events)等。
+
+
#### 工具
- [图表](https://thegraph.com/en/)
- [Tenderly](https://tenderly.co/)
+
+
## 延伸阅读 {#further-reading}
- [区块链链桥](/bridges/) — ethereum.org
diff --git a/public/content/translations/zh/developers/docs/consensus-mechanisms/index.md b/public/content/translations/zh/developers/docs/consensus-mechanisms/index.md
index 15ee63223c2..401a2d5fc06 100644
--- a/public/content/translations/zh/developers/docs/consensus-mechanisms/index.md
+++ b/public/content/translations/zh/developers/docs/consensus-mechanisms/index.md
@@ -4,7 +4,7 @@ description: 解释分布式系统中的协商一致协议及其在以太坊中
lang: zh
---
-“共识机制”一词常常泛指“权益证明”、“工作量证明”或“权威证明”协议。 但是,它们只是共识机制中用于防御“女巫攻击”的部分。 共识机制是由一整套想法、协议和激励构成的体系,使得一系列分布式节点能够就区块链状态达成一致。
+“共识机制”一词常常泛指“权益证明”、“工作量证明”或“权威证明”协议。 不过,这些协议只是共识机制的组成部分,用于防范[女巫攻击](/glossary/#sybil-attack)。 共识机制是由一整套想法、协议和激励构成的体系,使得一系列分布式节点能够就区块链状态达成一致。
## 前提条件 {#prerequisites}
@@ -68,7 +68,7 @@ lang: zh
仅仅工作量证明和权益证明还不能成为共识协议,然而为了简便起见,通常将它们称为共识协议。 它们实际上是女巫攻击防御机制和区块作者选择器;它们是决定最新区块的作者的一种方式。 另一个重要组成部分是链选择(又称分叉选择)算法,它让节点可以在同一位置有多个区块的情况下在链头部选择一个正确区块。
-**女巫攻击防御**衡量一种协议如何抗衡[女巫攻击](https://wikipedia.org/wiki/Sybil_attack)。 女巫攻击是指一个用户或用户群体假装成许多用户。 防御这种攻击对去中心化区块链至关重要,并使矿工和验证者能够在资源投入的基础上获得平等奖励。 通过让用户消耗大量能源或提供大量抵押品,工作量证明和权益证明可以防止这种情况。 这些保护措施通过经济手段对女巫攻击形成威慑。
+**女巫攻击防御**衡量一种协议如何抗衡女巫攻击。 防御这种攻击对去中心化区块链至关重要,并使矿工和验证者能够在资源投入的基础上获得平等奖励。 通过让用户消耗大量能源或提供大量抵押品,工作量证明和权益证明可以防止这种情况。 这些保护措施通过经济手段对女巫攻击形成威慑。
**链选择规则**用于决定哪条链才是“正确”的。 比特币使用“最长链”规则。这意味着,任何最长的区块链,都会被其他节点作为有效链接受并与之协作。 对于工作量证明链,最长链由链上累积的工作量证明总难度决定。 以太坊曾经也使用过最长链规则;然而权益证明机制下运行的以太坊采用了经过更新的分叉选择算法,衡量链的“权重”。 权重是验证者投票的累积总数,并以验证者质押的以太币余额加权。
diff --git a/public/content/translations/zh/developers/docs/consensus-mechanisms/poa/index.md b/public/content/translations/zh/developers/docs/consensus-mechanisms/poa/index.md
new file mode 100644
index 00000000000..cd309777e72
--- /dev/null
+++ b/public/content/translations/zh/developers/docs/consensus-mechanisms/poa/index.md
@@ -0,0 +1,79 @@
+---
+title: 权威证明 (PoA)
+description: 权威证明共识协议的解释及其在区块链生态系统中的作用。
+lang: zh
+---
+
+**权威证明 (PoA)** 是一种基于信誉的共识算法,它是[权益证明](/developers/docs/consensus-mechanisms/pos/)的一个修改版本。 主要应用于私有链、测试网以及本地开发网络。 权威证明是一种基于信誉的共识算法,它与权益证明中基于质押的机制不同,要求信任一组经授权的签名者来生成区块。
+
+## 前提条件 {#prerequisites}
+
+为了更好地理解本页内容,建议您先阅读有关[交易](/developers/docs/transactions/)、[区块](/developers/docs/blocks/)和[共识机制](/developers/docs/consensus-mechanisms/)的相关信息。
+
+## 什么是权威证明 (PoA)? {#what-is-poa}
+
+权威证明是\*\*[权益证明](/developers/docs/consensus-mechanisms/pos/)的一个修改版本,它是一种基于信誉的共识算法,而不是权益证明中基于质押的机制。 权威证明最早由 Gavin Wood 于 2017 年提出,这种共识机制主要用于私有链、测试网和本地开发网络,因为它不像工作量证明那样需要高质量的资源,还通过让一小部分节点存储区块链数据并生成区块,克服了权益证明存在的可扩展性问题。
+
+权威证明要求信任一组在[创世区块](/glossary/#genesis-block)中设定的授权签名者。 在多数最新实现中,所有授权签名者在决定链共识时都保留了同等的权力和特权。 信誉质押依据的理念是,每个授权验证者通过了解你的客户 (KYC) 流程等或通过让一家知名组织成为唯一验证者而为所有人所熟知;这样一来,如果验证者行为不当,他们的身份是已知的。
+
+目前有多种权威证明实现,但标准以太坊实现是实现了 [EIP-225](https://eips.ethereum.org/EIPS/eip-225) 的 **Clique**。 Clique 对开发者友好,是一种易于实施的标准,支持所有客户端同步类型。 其他实现包括 [IBFT 2.0](https://besu.hyperledger.org/stable/private-networks/concepts/poa) 和 [Aura](https://openethereum.github.io/Chain-specification) 。
+
+## 工作原理 {#how-it-works}
+
+在权威证明中,选定一组授权签名者来创建新区块。 新的区块只能由这些基于信誉被挑选出来的签名者来创建。 每个签名者轮流获得机会,在特定时间范围内创建一个区块。 区块创建时间是固定的,签名者必须在该时间范围内创建一个区块。
+
+在这种情况下,信誉并不是一个量化的东西,而是像微软和谷歌等知名企业的信誉一样。因此,受信任签名者的选择并非基于算法,而是类似于正常人类的信任行为。例如,微软在成百上千家初创企业之间创建了一个权威证明私有网络,并将自己设定为唯一受信任的签名者,但未来也可能添加谷歌等其他知名签名者。毫无疑问,这些初创企业会信任微软一直诚实地使用该网络。 这种方式解决了因不同目的而建立的不同小规模/私有网络的去中心化运作需求,同时减少了对矿工(会耗费大量电力和资源)的需求。 一些私有网络使用权威验证标准,例如 VeChain,而有些则对其进行了修改,例如 Binance 使用的[质押权威证明](https://academy.binance.com/en/glossary/proof-of-staked-authority-posa)便是权威证明和权益证明的定制修改版本。
+
+投票过程由签名者自己完成。 每个签名者在创建新区块时,都会投票决定在其区块中增减签名者。 票数由节点进行统计,并根据票数是否达到特定阈值“SIGNER_LIMIT”来添加或移除签名者。
+
+可能会出现发生小分叉的情况,区块的难度取决于是否轮到该区块签名。 “轮到”区块的难度为 2,“未轮到”区块的难度为 1。 在小分叉的情况下,大多数签名者“轮到”密封区块的链将会积累最大难度并获胜。
+
+## 攻击矢量 {#attack-vectors}
+
+### 恶意签名者 {#malicious-signers}
+
+恶意用户可能会被添加到签名者列表中,或者签名密钥/机器可能被泄露。 在这种情况下,协议必须能够抵御重组和垃圾邮件攻击。 建议的解决方案是,在 N 个授权签名者的列表中,任何签名者只能铸造每 K 个区块中的 1 个区块。这可以确保损害有限,其余验证者可以投票淘汰恶意用户。
+
+### 审查 {#censorship-attack}
+
+另一个有趣的攻击矢量是,如果一个签名者(或一组签名者)试图审查投票将其从授权列表中删除的区块。 为解决这个问题,允许的签名者铸币频率被限制不超过每 N/2 次中的 1 次。 这就确保了恶意签名者至少需要控制 51% 的签名帐户,此时他们实际上就成为了链上新的真实性来源。
+
+### 垃圾邮件 {#spam-attack}
+
+另一个小型攻击矢量是恶意签名者在他们铸造的每个区块中注入新的投票提案。 由于节点需要统计所有投票以创建实际的授权签名者列表,因此它们必须记录一段时间内的所有投票。 如果不限制投票窗口,它可能会缓慢但无限制地增长。 解决方案是设置一个由 W 个区块组成的移动窗口,在此窗口过后,投票会被视为过时。 合理的窗口可能是 1-2 时段。
+
+### 并发区块 {#concurrent-blocks}
+
+在权威证明网络中,当有 N 个授权签名者时,每个签名者被允许铸造每 K 个区块中的 1 个区块,这意味着在任何给定时间点都有 N-K+1 个验证者被允许铸造区块。 为了防止这些验证者争抢区块,每个签名者应该在发布新区块的时间上增加一个小的随机“偏移量”。 尽管这个过程确保了小分叉很少见,但同主网一样,偶尔的分叉仍然可能发生。 如果发现某个签名者滥用权力并造成混乱,其他签名者可以投票将其淘汰。
+
+例如,如果有 10 个授权签名者,每个签名者被允许创建每 20 个区块中的 1 个区块,那么在任何给定时间内,都有 11 个验证者可以创建区块。 为了防止他们竞相创建区块,每个签名者都会在发布新区块的时间上增加一个小的随机“偏移量”。 这减少了小分叉的发生,但同以太坊主网一样,仍允许偶尔分叉。 如果签名者滥用权力并造成混乱,就可能被投票淘汰出网络。
+
+## 优点和缺点 {#pros-and-cons}
+
+| 优点 | 缺点 |
+| ------------------------------------------ | ------------------------------------------- |
+| 与权益证明和权威证明等其他流行机制相比,可扩展性更强,因为它基于有限数量的区块签名者 | 权威证明网络的验证节点通常相对较少。 这使得权威证明网络更加中心化。 |
+| 权威证明区块链的运行和维护成本极低 | 由于区块链要求实体具有公认的信誉,因此成为授权签名者对于普通人来说通常是遥不可及的。 |
+| 由于验证新区块只需要有限数量的签名者,因此交易确认速度非常快,可在 1 秒内完成。 | 恶意签名者可以重新组织、重复支出、审查网络中的交易,这些攻击已得到缓解,但仍有可能发生 |
+
+## 扩展阅读{#further-reading}
+
+- [EIP-225](https://eips.ethereum.org/EIPS/eip-225) _Clique 标准_
+- [权威证明研究](https://github.com/cryptoeconomics-study/website/blob/master/docs/sync/2.4-lecture.md) _Cryptoeconomics_
+- [什么是权威证明](https://forum.openzeppelin.com/t/proof-of-authority/3577) _OpenZeppelin_
+- [权威证明解释](https://academy.binance.com/en/articles/proof-of-authority-explained) _binance_
+- [区块链中的权威证明](https://medium.com/techskill-brew/proof-of-authority-or-poa-in-blockchain-part-11-blockchain-series-be15b3321cba)
+- [Clique 解释](https://medium.com/@Destiner/clique-cross-client-proof-of-authority-algorithm-for-ethereum-8b2a135201d)
+- [已废弃权威证明、Aura 规范](https://openethereum.github.io/Chain-specification)
+- [IBFT 2.0,另一种权威证明实现](https://besu.hyperledger.org/stable/private-networks/concepts/poa)
+
+### 更愿意通过视频学习? {#visual-learner}
+
+观看权威证明的直观解释:
+
+
+
+## 相关话题 {#related-topics}
+
+- [工作量证明](/developers/docs/consensus-mechanisms/pow/)
+- [权益证明](/developers/docs/consensus-mechanisms/pos/)
diff --git a/public/content/translations/zh/developers/docs/consensus-mechanisms/pos/index.md b/public/content/translations/zh/developers/docs/consensus-mechanisms/pos/index.md
index 6bfa8630678..4c7dff6399f 100644
--- a/public/content/translations/zh/developers/docs/consensus-mechanisms/pos/index.md
+++ b/public/content/translations/zh/developers/docs/consensus-mechanisms/pos/index.md
@@ -27,7 +27,7 @@ lang: zh
1. 用户使用他们的私钥创建并签署[交易](/developers/docs/transactions/)。 这通常由钱包或库处理,例如 [ether.js](https://docs.ethers.io/v5/)、[web3js](https://docs.web3js.org/)、[web3py](https://web3py.readthedocs.io/en/v5/) 等,但本质上是用户在使用以太坊 [JSON-RPC 应用程序接口](/developers/docs/apis/json-rpc/)向节点发出请求。 用户定义他们准备支付一定量的燃料作为给验证者的小费,以鼓励他们将交易纳入在一个区块中。 [小费](/developers/docs/gas/#priority-fee)支付给验证者,而[基础费](/developers/docs/gas/#base-fee)被销毁。
2. 交易被提交给以太坊[执行客户端](/developers/docs/nodes-and-clients/#execution-client)验证有效性。 这意味着确保发送人有足够的以太币来完成交易,并且他们已经使用正确的密钥来签名交易。
3. 如果交易有效,执行客户端将其添加到其本地内存池(待处理交易列表),并通过执行层广播网络将其广播到其他节点。 当其他节点听到关于交易的消息时,它们也将其添加到本地内存池中。 高级用户可能会避免广播他们的交易,而是将其转发给专门的区块构建器,例如 [Flashbots Auction](https://docs.flashbots.net/flashbots-auction/overview)。 这使他们能够在即将到来的区块中组织交易以获得最大利润([最大可提取价值](/developers/docs/mev/#mev-extraction))。
-4. 网络上的节点之一是当前时隙的区块提议者,之前使用 RANDAO 伪随机地进行了选择。 该节点负责构建和广播下一个要添加到以太坊区块链的区块并更新全局状态。 该节点由三部分组成:执行客户端、共识客户端和验证者客户端。 执行客户端将来自本地内存池的交易捆绑到“执行负载”中,并在本地执行它们以生成状态更改。 此信息被传递到共识客户端。在该客户端,执行有效载荷被包装为“信标区块”的一部分。该信标区块还包含有关奖励、惩罚、罚没、认证等的信息,从而使网络能够就链头的区块顺序达成一致。 [连接共识客户端和执行客户端](/developers/docs/networking-layer/#connecting-clients)中更详细地描述了执行客户端和共识客户端之间的通信。
+4. 网络上的验证节点之一是当前时隙的区块提议者(之前已使用 RANDAO 以伪随机方式选择)。 该节点负责构建和广播下一个要添加到以太坊区块链的区块并更新全局状态。 该节点由三部分组成:执行客户端、共识客户端和验证者客户端。 执行客户端将来自本地内存池的交易捆绑到“执行负载”中,并在本地执行它们以生成状态更改。 此信息被传递到共识客户端。在该客户端,执行有效载荷被包装为“信标区块”的一部分。该信标区块还包含有关奖励、惩罚、罚没、认证等的信息,从而使网络能够就链头的区块顺序达成一致。 [连接共识客户端和执行客户端](/developers/docs/networking-layer/#connecting-clients)中更详细地描述了执行客户端和共识客户端之间的通信。
5. 其他节点在共识层广播网络上接收新的信标区块, 并将其传递给它们的执行客户端。在执行客户端上,交易在本地重新执行以确保提议的状态更改有效。 然后,验证者客户端证明该区块是有效的,并且根据他们对链的看法,这是逻辑上的下一个区块(这意味着它建立在具有最大认证权重的链上,如[分叉选择规则](/developers/docs/consensus-mechanisms/pos/#fork-choice)所定义)。 该块被添加到证明它的每个节点的本地数据库中。
6. 如果一笔交易已经成为两个检查点之间具有“绝对多数链接”的链的一部分,那么可以认为该交易已经“最终确定”。 检查点发生在每个时段的开始,并且它们的存在是为了考虑到只有活跃验证者的子集在每个时隙中提供证明,但所有活跃验证者在每个时段内都会提供证明。 因此,只有在时段之间才能证明“超过半数链接”(这是指网络上总质押以太币的 66% 同意两个检查点的情况)。
@@ -53,7 +53,12 @@ lang: zh
正如在工作量证明中一样,权益证明中仍然存在 [51% 攻击](https://www.investopedia.com/terms/1/51-attack.asp)的威胁,但对于攻击者来说风险却更大。 攻击者需要获得 51% 的质押以太币。 然后他们可以通过自己的认证确保他们首选的分叉拥有最多累积认证。 共识客户端使用累积认证的“权重”确定正确的链,所以攻击者能够使他们的分叉成为规范区块。 然而与工作量证明相比,权益证明的优势在于,社区能够灵活地发动反击。 例如,诚实的验证者可以决定继续在非主流链上构建并忽略攻击者的分叉,同时鼓励应用程序、交易所和池也这样做。 他们还可以决定强行将攻击者从网络中移除并销毁攻击者质押的以太币。 这些都是对 51% 攻击的强有力的经济防御措施。
-51% 攻击只是其中一种恶意行为。 不良行为者可能会尝试长程攻击(尽管最终确定性小工具抵消了这种攻击向量)、短程“重组”(尽管提议者权重提升和认证期限可以缓解这种情况)、弹跳攻击和平衡攻击(也可以通过提议者权重提升来缓解,并且这些攻击只能在理想化的网络条件下演示)或雪崩攻击(被只考虑最新消息的分叉选择算法规则抵消)。
+除了 51% 攻击,不良行为者也可能尝试其他形式的恶意活动,例如:
+
+- 远程攻击(尽管确定性工具能抵消这种攻击向量)
+- 近程“重组”(尽管提议者权重提升和认证期限可以缓解这种情况)
+- 弹跳和平衡攻击(也能通过提议者权重提升来缓解,并且这些攻击无论如何都只在理想化的网络条件下得到证明)
+- 雪崩攻击(通过只考虑最新信息的分叉选择算法规则来抵消)
总的来说,已经证实以太坊实施的权益证明在经济方面比工作量证明更安全。
@@ -68,7 +73,7 @@ lang: zh
### 与工作量证明相比 {#comparison-to-proof-of-work}
-以太坊并非一直都是权益证明网络。 以太坊刚启动时使用的是工作量证明。 从工作量证明转向权益证明的转换发生在 2022 年 9 月。 与工作量证明相比,权益证明具有以下优势:
+以太坊原来使用的是工作量证明,但在 2022 年 9 月转换为使用权益证明。 权益证明相较于工作量证明有如下一些优点:
- 能效更高 – 无需在工作量证明计算中使用大量能源
- 门槛更低、硬件要求下降 – 无需购买高性能硬件以便获得创建新区块的机会
diff --git a/public/content/translations/zh/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md b/public/content/translations/zh/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
index 75706d3276f..9a334def4f6 100644
--- a/public/content/translations/zh/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
+++ b/public/content/translations/zh/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
@@ -4,7 +4,7 @@ description: 了解关于权益证明以太坊的协议内激励。
lang: zh
---
-以太坊使用其原生加密货币以太币 (ETH) 来保证其安全。 那些希望参与验证区块和识别链头部的节点操作者,需要把以太币存入到以太坊的智能合约中。 他们运行验证者软件检查从点对点网络接收到的新区块的有效性,以及应用分叉选择算法来识别链头,然后收到用以太币支付的报酬。
+以太坊使用其原生加密货币以太币 (ETH) 来保证其安全。 希望参与验证区块和识别链头的节点运营商,在以太坊上的[存款合约](/staking/deposit-contract/)中存入以太币。 他们运行验证者软件检查从点对点网络接收到的新区块的有效性,以及应用分叉选择算法来识别链头,然后收到用以太币支付的报酬。
对于验证者来说有两个主要角色:1) 检查新区块并且“证明”它们是否有效,2) 当从整个验证者池子被随机选中时,提议新的区块。 如果验证者无法完成其中任何一项的任务,将错过以太币的支付。 验证者有时也需要负责签名聚合以及参与同步委员会。
diff --git a/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/index.md b/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/index.md
index d7247383139..89781d11ee7 100644
--- a/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/index.md
+++ b/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/index.md
@@ -72,11 +72,11 @@ lang: zh
## 优点和缺点 {#pros-and-cons}
-| 优点 | 缺点 |
-| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
-| 工作量证明并无对错。 你不需要以太币来启动,出块奖励允许你从 0 ETH 获得正的收益。 而在[权益证明](/developers/docs/consensus-mechanisms/pos/)中,你需要以太币来启动获取收益的过程。 | 工作量证明消耗了大量能源,对环境不利。 |
-| 工作量证明是一个经过考验和测试的共识机制,多年来一直保持了比特币和以太坊的安全性和去中心化。 | 如果你想要挖矿,需要花大量的启动资金去购买专业设备。 |
-| 与权益证明方式相比,工作量证明是比较容易实施的。 | 因为算力的不断增加,矿池可能会主导挖矿过程,导致中心化和安全风险。 |
+| 优点 | 缺点 |
+| -------------------------------------------------------------------------------------------------------------------- | --------------------------------- |
+| 工作量证明并无对错。 你不需要以太币来启动,出块奖励允许你从 0 ETH 获得正的收益。 而在[权益证明](/developers/docs/consensus-mechanisms/pos/)中,你需要以太币来启动获取收益的过程。 | 工作量证明消耗了大量能源,对环境不利。 |
+| 工作量证明是一个经过考验和测试的共识机制,多年来一直保持了比特币和以太坊的安全性和去中心化。 | 如果你想要挖矿,需要花大量的启动资金去购买专业设备。 |
+| 与权益证明方式相比,工作量证明是比较容易实施的。 | 因为算力的不断增加,矿池可能会主导挖矿过程,导致中心化和安全风险。 |
## 与权益证明对比 {#compared-to-pos}
@@ -106,3 +106,4 @@ lang: zh
- [矿工](/developers/docs/consensus-mechanisms/pow/mining/)
- [权益证明](/developers/docs/consensus-mechanisms/pos/)
+- [权威证明](/developers/docs/consensus-mechanisms/poa/)
diff --git a/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/mining/index.md b/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/mining/index.md
index 1a036855ff7..1942eef4da8 100644
--- a/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/mining/index.md
+++ b/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/mining/index.md
@@ -70,7 +70,7 @@ lang: zh
## 挖矿算法 {#mining-algorithm}
-以太坊主网只使用过一种挖矿算法 -[“Ethash”](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/)。 Ethhash 是一种初始研发挖矿算法[“Dagger-Hashimoto”](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/)的后续版本。
+以太坊主网只使用过一种挖矿算法:[“Ethash”](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/)。 Ethash 是一种初始研发算法[“Dagger-Hashimoto”](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/)的后续版本。
[有关挖矿算法的更多信息](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/)。
diff --git a/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md b/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md
index b3d5d96b68a..faa0ed58c54 100644
--- a/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md
+++ b/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md
@@ -4,7 +4,7 @@ description: 详细了解 Dagger-Hashimoto 算法。
lang: zh
---
-Dagger-Hashimoto 是以太坊挖矿算法的原始研究实现和规范。 但是,Dagger-Hashimoto 已被 [Ethash](#ethash) 取代。 在 2022 年 9 月 15 日实施的[合并](/roadmap/merge/)后,挖矿完全关闭。 此后,以太坊采用[权益证明](/developers/docs/consensus-mechanisms/pos)机制保护安全。 本页面展示与历史有关的内容,其中的信息不再与合并后的以太坊相关。
+Dagger-Hashimoto 是以太坊挖矿算法的原始研究实现和规范。 但是,Dagger-Hashimoto 已被 [Ethash](#ethash) 取代。 在 2022 年 9 月 15 日实施[合并](/roadmap/merge/)后,挖矿完全关闭。 此后,以太坊采用[权益证明](/developers/docs/consensus-mechanisms/pos)机制保护安全。 本页面展示与历史有关的内容,其中的信息不再与合并后的以太坊相关。
## 前提条件 {#prerequisites}
@@ -189,7 +189,7 @@ def orig_hashimoto(prev_hash, merkle_root, list_of_transactions, nonce):
return txid_mix ^ (nonce << 192)
```
-不幸的是,虽然 Hashimoto 被视为 RAM 硬件,但它依靠的是 256 位计算,计算量非常之大。 然而,Dagger-Hashimoto 在索引其数据集时仅使用最低有效 64 位来解决此问题。
+不幸的是,虽然 Hashimoto 被视为内存硬件,但它依靠的是 256 位计算,计算量非常之大。 然而,Dagger-Hashimoto 在索引其数据集时仅使用最低有效 64 位来解决此问题。
```python
def hashimoto(dag, dagsize, params, header, nonce):
@@ -256,7 +256,7 @@ def light_verify(params, header, nonce):
## 延伸阅读 {#further-reading}
-_还有哪些社区资源对您有所帮助? 请编辑本页面并添加!_
+_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
## 附录 {#appendix}
@@ -266,7 +266,7 @@ _还有哪些社区资源对您有所帮助? 请编辑本页面并添加!_
虽然 `produce_dag` 函数不需要生成无偏随机数,但潜在的威胁是 `seed**i % P` 只取少数几个值。 这可以为矿工识别模式提供优势。
-为了避免这种情况,可采用数论结果。 [_安全素数_](https://en.wikipedia.org/wiki/Safe_prime)定义为素数 `P`,从而 `(P-1)/2` 也是素数。 [乘数组](https://en.wikipedia.org/wiki/Multiplicative_group_of_integers_modulo_n)中 `x` 的*顺序* (乘数组 `ℤ/nℤ`)定义为最小 `m`,以使 xᵐ mod P ≡ 1
+为了避免这种情况,可采用数论结果。 [_安全素数_](https://en.wikipedia.org/wiki/Safe_prime)定义为素数 `P`,从而 `(P-1)/2` 也是素数。 [乘数组](https://en.wikipedia.org/wiki/Multiplicative_group_of_integers_modulo_n)中 `x` 的_顺序_ (乘数组 `ℤ/nℤ`)定义为最小 `m`,以使 xᵐ mod P ≡ 1
鉴于这些定义,我们得到:
> 观察 1。 令 `x` 成为乘法组 `ℤ/Pℤ` 的一员,以获得安全素数 `P`。 如果 `x mod P ≠ 1 mod P` 和 `x mod P ≠ P-1 mod P`,那么 `x` 的顺序是 ` P-1` 或 `(P-1)/2`。
@@ -281,7 +281,7 @@ _证明_。 由于 `P` 是一个安全素数,那么根据 \[Lagrange's Theorem
`x` 的顺序不能是 `2`,除非 `x = P-1`,因为这将违反 `P` 是素数的事实。
-从以上命题中,我们可以知道,迭代 `(picker * init) % P` 的循环长度至少为 `(P-1)/2`。 这是因为我们选择 `P` 作为安全素数,强度几乎翻倍,且 `init` 处于 `[2,2**256+1]` 区间内。 鉴于强度为 `P`,我们永远不应期待源自模幂运算的周期。
+从以上命题中,我们可以知道,迭代 `(picker * init) % P` 的循环长度至少为 `(P-1)/2`。 这是因为我们选择 `P` 作为安全素数,强度几乎翻倍,且 `init` 处于 `[2,2**256+1]` 区间内。 考虑到 `P` 的量级,我们不应期待模幂运算具有周期性。
在有向无环图中分配第一个单元时(变量标签为 `init`),我们会计算 `pow(sha3(seed) + 2, 3, P)`。 初看起来,这并不能保证结果既不是 `1` 也不是 `P-1`。 然而,既然 `P-1` 是一个安全素数,我们还提供以下额外保证,这是观察 1 的必然结果:
@@ -294,7 +294,7 @@ _证明_。 由于 `P` 是一个安全素数,那么根据 \[Lagrange's Theorem
鉴于 `P` 为素数,可以使用以下结果,选择一个用于模幂运算哈希函数的适当 `w` 值:
> 观察 3。 令 `P` 为素数;当且仅当用于 `ℤ/Pℤ` 中所有 `a` 和 `b` 满足以下条件时,`w` 和 `P-1` 才能为互素。
->
+>
>
> `aʷ mod P ≡ bʷ mod P`,当且仅当 `a mod P ≡ b mod P`
>
diff --git a/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md b/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md
index bee12a0f5c3..caca3fb051b 100644
--- a/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md
+++ b/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md
@@ -8,7 +8,7 @@ lang: zh
Ethash 是以太坊的工作量证明挖矿算法。 工作量证明现在已经被**完全关闭**,取而代之,以太坊现在使用权益证明来保证安全。 阅读更多关于合并、权益证明和质押的信息。 此页面是为了满足对历史的兴趣!
-[Ethash](https://github.com/ethereum/wiki/wiki/Ethash) 是 [Dagger-Hashimoto](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto) 算法的修改版。 Ethash 工作量证明是[内存密集型](https://wikipedia.org/wiki/Memory-hard_function)算法,这被认为使算法可抵御专用集成电路。 Ethash 专用集成电路最终被开发出来,但在工作量证明被关闭之前,图形处理单元挖矿仍然是一个可行的选择。 Ethash 仍然用于在其他非以太坊工作量证明网络上挖掘其他币。
+[Ethash](https://github.com/ethereum/wiki/wiki/Ethash) 是 [Dagger-Hashimoto](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto) 算法的修改版本。 Ethash 工作量证明是[内存密集型](https://wikipedia.org/wiki/Memory-hard_function)算法,这被认为使算法可抵御专用集成电路。 Ethash 专用集成电路最终被开发出来,但在工作量证明被关闭之前,图形处理单元挖矿仍然是一个可行的选择。 Ethash 仍然用于在其他非以太坊工作量证明网络上挖掘其他币。
## Ethash 是如何工作的? {#how-does-ethash-work}
@@ -19,7 +19,7 @@ lang: zh
1. 有一个**种子**,可以通过扫描区块头直到该点来为每个区块计算种子。
2. 从种子中可以计算出 **16 MB 的伪随机缓存**。 轻量级客户端存储缓存。
3. 我们可以从缓存中生成一个 **1 GB 数据集**,数据集中每个项目仅依赖于一小部分缓存中的项目。 全客户端和矿工存储数据集。 数据集随着时间的流逝而呈线性增长。
-4. 采矿会抢走数据集的随机片段并将它们散列在一起。 可以通过使用缓存来重新生成您需要的数据集中的特定区块,以较低的内存进行验证,以使您只需要存储缓存。
+4. 采矿会抢走数据集的随机片段并将它们散列在一起。 可以通过使用缓存来重新生成你需要的数据集中的特定区块,以较低的内存进行验证,以使你只需要存储缓存。
每隔 30000 个区块更新一次大数据集,因此,矿工的绝大部分工作都是读取数据集,而不是对其进行修改。
@@ -92,7 +92,7 @@ def mkcache(cache_size, seed):
return o
```
-缓存生成过程中,先按顺序填充 32 MB 内存,然后从[严格内存硬哈希函数 (2014)](http://www.hashcash.org/papers/memohash.pdf) 执行两次 Sergio Demian Lerner 的 _RandMemoHash_ 算法。 输出一组 524288 个 64 字节值。
+缓存生成过程中,先按顺序填充 32 MB 内存,然后从 [_严格内存硬哈希函数 _(2014)](http://www.hashcash.org/papers/memohash.pdf) 执行两次 Sergio Demian Lerner 的 _RandMemoHash_ 算法。 输出一组 524288 个 64 字节值。
## 数据聚合函数 {#date-aggregation-function}
@@ -135,7 +135,7 @@ def calc_dataset(full_size, cache):
## 主循环 {#main-loop}
-现在,我们指定了类似“hashimoto”的主要循环。在此循环中,我们聚合整个数据集的数据,以生成特定区块头和随机数的最终值。 在下面的代码中,`header` 代表一个*被截断*区块头的递归长度前缀表示的 SHA3-256 _哈希值_。被截断是指区块头被截去了 **mixHash** 和**随机数**字段。 `nonce` 是指一个 64 位无符号整数的八个字节,按大端序排列。 因此 `nonce[::-1]` 是上述值的八字节小端序表示:
+现在,我们指定了类似“hashimoto”的主要循环。在此循环中,我们聚合整个数据集的数据,以生成特定区块头和随机数的最终值。 在下面的代码中,`header` 代表一个_被截断_区块头的递归长度前缀表示的 SHA3-256 _哈希值_。被截断是指区块头被截去了 **mixHash** 和**随机数**字段。 `nonce` 是指一个 64 位无符号整数的八个字节,按大端序排列。 因此 `nonce[::-1]` 是上述值的八字节小端序表示:
```python
def hashimoto(header, nonce, full_size, dataset_lookup):
@@ -206,11 +206,11 @@ def mine(full_size, dataset, header, difficulty):
## 延伸阅读 {#further-reading}
-_还有哪些社区资源对您有所帮助? 请编辑本页面并添加!_
+_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
## 附录 {#appendix}
-如果您有兴趣将上述 python spec 作为代码运行,则应在头部添加以下代码。
+如果你有兴趣将上述 python spec 作为代码运行,则应在头部添加以下代码。
```python
import sha3, copy
diff --git a/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md b/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md
index 1b7b0e17e6e..e7ad74eda7a 100644
--- a/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md
+++ b/public/content/translations/zh/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md
@@ -16,21 +16,21 @@ lang: zh
## Dagger Hashimoto {#dagger-hashimoto}
-Dagger Hashimoto 是以太坊挖矿的先导研究算法,现已被 Ethash 取代。 它是两种不同算法:Dagger 和 Hashimoto 的融合。 它只是一个研究实现,并在以太坊主网启动时被 Ethash 取代。
+Dagger Hashimoto 是以太坊挖矿的先导研究算法,现已被 Ethash 取代。 它是两种不同算法:Dagger 和 Hashimoto的融合。 它只是一个研究实现,并在以太坊主网启动时被 Ethash 取代。
-[Dagger](http://www.hashcash.org/papers/dagger.html) 会生成一个[有向无环图](https://en.wikipedia.org/wiki/Directed_acyclic_graph),将共同取哈希值的内容随机划分。 其核心原理是,每个随机数只取总数据树的一小部分。 挖矿禁止为每个随机数重新计算子树,因此需要总存储树,但若为验证某个随机数的价值,则可以重新计算。 Dagger 的设计目的是替代诸如 Scrypt 的已有算法。后者是“内存困难算法”,但当它们的内存困难程度增加到可信的安全水平时将很难验证。 然而,Dagger 容易受到共享内存硬件加速的影响,因此我们放弃了这种算法,转而采用了其他研究途径。
+[Dagger](http://www.hashcash.org/papers/dagger.html) 会生成一个[有向无环图](https://en.wikipedia.org/wiki/Directed_acyclic_graph),将共同取哈希值的内容随机划分。 其核心原理是,每个随机数只取总数据树的一小部分。 挖矿禁止为每个随机数重新计算子树,因此需要总存储树,但若为验证某个随机数的价值,则可以重新计算。 Dagger 的设计目的是替代诸如Scrypt的已有算法。后者是“内存困难算法”,但当它们的内存困难程度增加到可信的安全水平时将很难验证。 然而,Dagger 容易受到共享内存硬件加速的影响,因此我们放弃了这种算法,转而采用了其他研究途径。
[Hashimoto](http://diyhpl.us/%7Ebryan/papers2/bitcoin/meh/hashimoto.pdf) 算法通过实现输入/输出密集的特性(即,内存读取速度是挖矿过程中的限制因素)来增加对专用集成电路的抵抗性。 理论上来说使用内存比使用计算能力更容易;已有价值数十亿美元的经费投入被用于研究针对不同应用场景的内存优化,通常涉及近随机访问模式(即“随机存取存储器”)。 因此,现有的内存对评价算法效率的能力更接近最优。 Hashimoto 使用区块链作为数据源,同时满足上述第 (1) 和第 (3) 条。
Dagger-Hashimoto 是在 Dagger 和 Hashimoto 的基础上改进而来的以太币挖矿算法。 Dagger Hashimoto 和 Hashimoto 的差别在于,Dagger Hashimoto 的数据来源并非是区块链,而是自定义生成的数据集,这些数据集将基于所有 N 区块上的区块数据进行更新。 这些数据集采用 Dagger 算法生成,可为轻量级客户端的验证算法高效计算特定于每个随机数的子集。 Dagger Hashimoto 算法和 Dagger 算法的差别在于,与原来的 Dagger 不同,用于查询区块的数据集只是暂时的,只会偶尔更新(例如每周更新一次)。 这意味着生成数据集的工作量接近于零,所以 Sergio Lerner 关于共享内存加速的论据变得微不足道。
-详细了解 [Dagger-Hashimoto](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto)。
+有关 [Dagger-Hashimoto](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto) 的更多信息。
## Ethash {#ethash}
-Ethash 是在现已弃用的工作量证明架构下,实际用于真正的以太坊主网的挖矿算法。 Ethash 实际上是为 Dagger Hashimoto 算法进行重要更新后的一个特殊版本命名的新名称,但它仍然继承了其前身的基本原理。 以太坊主网只使用过 Ethash - Dagger Hashimoto 是挖矿算法的研发版本,在以太坊主网上开始挖矿之前被取代。
+Ethash 是在现已弃用的工作量证明架构下,实际用于真正的以太坊主网的挖矿算法。 Ethash 实际上是为 Dagger Hashimoto 算法进行重要更新后的一个特殊版本命名的新名称,但它仍然继承了其前身的基本原理。 以太坊主网只采用过 Ethash——Dagger Hashimoto 是挖矿算法的研发版本,在以太坊主网开始挖矿前被取代。
-[详细了解 Ethash](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash)。
+[有关 Ethash 的更多信息](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash)。
## 延伸阅读 {#further-reading}
diff --git a/public/content/translations/zh/developers/docs/data-and-analytics/block-explorers/index.md b/public/content/translations/zh/developers/docs/data-and-analytics/block-explorers/index.md
index b0235dbef72..2573bcd3d1e 100644
--- a/public/content/translations/zh/developers/docs/data-and-analytics/block-explorers/index.md
+++ b/public/content/translations/zh/developers/docs/data-and-analytics/block-explorers/index.md
@@ -5,7 +5,7 @@ lang: zh
sidebarDepth: 3
---
-区块浏览器是你进入以太坊数据世界的大门。 你可以通过区块浏览器来查看实时的区块、交易、矿工、帐户以及其他的链上相关活动。
+区块浏览器是你进入以太坊数据世界的大门。 你可以用它查看区块、交易、验证者、帐户和其他链上活动的实时数据。
## 前提条件 {#prerequisites}
@@ -14,17 +14,23 @@ sidebarDepth: 3
## 服务 {#services}
- [Etherscan](https://etherscan.io/) -_ 还支持中文、韩语、俄语和日语_
+- [3xpl](https://3xpl.com/ethereum)
- [Beaconcha.in](https://beaconcha.in/)
- [Blockchair](https://blockchair.com/ethereum) -_ 还支持西班牙语、法语、意大利语、荷兰语、葡萄牙语、俄语、中文和波斯语_
-- [Blockscout](https://blockscout.com/)
+- [Blockscout](https://eth.blockscout.com/)
+- [Chainlens](https://www.chainlens.com/)
+- [DexGuru 区块浏览器](https://ethereum.dex.guru/)
- [Etherchain](https://www.etherchain.org/)
+- [Ethernow](https://www.ethernow.xyz/)
- [Ethplorer](https://ethplorer.io/) -_ 还支持中文、西班牙语、法语、土耳其语、俄语、韩语和越南语_
+- [EthVM](https://www.ethvm.com/)
- [OKLink](https://www.oklink.com/eth)
-- [Otterscan](https://otterscan.io/)
- [Rantom](https://rantom.app/)
-- [Chainlens](https://www.chainlens.com/)
-- [EthVM](https://www.ethvm.com/)
-- [DexGuru 区块浏览器](https://ethereum.dex.guru/)
+
+## 开源工具 {#open-source-tools}
+
+- [Otterscan](https://otterscan.io/)
+- [lazy-etherscan](https://github.com/woxjro/lazy-etherscan)
## 数据 {#data}
@@ -48,7 +54,7 @@ sidebarDepth: 3
- 燃料限制 – 区块中的交易设置的总燃料限制
- 燃料基础费 - 要将交易纳入区块所需的最小倍数
- 燃烧的费用 - 在区块内被燃烧的以太币数量
-- 其它数据 – 任何由矿工加入区块的额外数据
+- 额外数据 – 任何由构建者加入区块的额外数据
**高级数据**
@@ -76,12 +82,12 @@ sidebarDepth: 3
- 交易哈希 – 交易被提交时生成的哈希
- 状态 – 指示交易是待处理、失败还是成功
- 区块 – 包含该交易的区块
-- 时间戳 – 矿工开采交易的时间
+- 时间戳 – 交易被包含进验证者提议的区块的时间
- 发送者 – 提交交易的帐户的地址
- 接收者 – 与交易交互的接收者或智能合约的地址
- 转移的代币 – 作为交易的一部分被转移的代币列表
- 价值 – 被转移的全部以太币价值
-- 交易费用 – 支付给矿工处理交易的金额(根据燃料价格\*使用的燃料计算)
+- 交易费用 – 支付给验证者处理交易的金额(计算方法:燃料价格\*使用的燃料)
**高级数据**
@@ -232,11 +238,13 @@ sidebarDepth: 3
## 区块浏览器 {#block-explorers}
- [Etherscan](https://etherscan.io/) - 可以用来获取以太坊主网和 Goerli 测试网数据的区块浏览器
+- [3xpl](https://3xpl.com/ethereum) - 一个可以下载数据集的无广告开源以太坊浏览器
- [Beaconcha.in](https://beaconcha.in/) - 用于以太坊主网和 Goerli 测试网的开源区块浏览器
- [Blockchair](https://blockchair.com/ethereum) - 最具隐私保护性的以太坊浏览器。 也用于排序和过滤(内存池)数据
- [Etherchain](https://www.etherchain.org/) - 以太坊主网的区块浏览器
- [Ethplorer](https://ethplorer.io/) - 专注于以太坊主网和 Kovan 测试网代币的区块浏览器
-- [Rantom](https://rantom.app/) - 是一个好用的开源去中心化金融非同质化代币交易查看器,用于提供详细的交易信息。
+- [Rantom](https://rantom.app/) - 是一个好用的开源去中心化金融非同质化代币交易查看器,用于提供详细的交易信息。&
+- [Ethernow](https://www.ethernow.xyz/) - 一个实时交易浏览器,可让您查看以太坊主网预链层
## 延伸阅读 {#further-reading}
diff --git a/public/content/translations/zh/developers/docs/data-and-analytics/index.md b/public/content/translations/zh/developers/docs/data-and-analytics/index.md
index 8dff78d7998..bb20600b35d 100644
--- a/public/content/translations/zh/developers/docs/data-and-analytics/index.md
+++ b/public/content/translations/zh/developers/docs/data-and-analytics/index.md
@@ -18,7 +18,7 @@ lang: zh
## 区块浏览器 {#block-explorers}
-许多[区块浏览器](/developers/docs/data-and-analytics/block-explorers/)提供 [RESTful](https://www.wikipedia.org/wiki/Representational_state_transfer) [应用程序接口](https://www.wikipedia.org/wiki/API)网关,它将使开发者可以看见区块上的实时数据、交易、矿工、帐户和其他链上活动。
+许多[区块浏览器](/developers/docs/data-and-analytics/block-explorers/)提供 [RESTful](https://www.wikipedia.org/wiki/Representational_state_transfer) [应用程序接口](https://www.wikipedia.org/wiki/API)网关,它将使开发者可以看见关于区块、交易、验证者、帐户和其他链上活动的实时数据。
然后开发者可以处理和转换此数据,让他们的用户有独特的洞察力并与[区块链](/glossary/#blockchain)交互。 例如,[Etherscan](https://etherscan.io) 在每个 12 秒时隙都提供执行和共识数据。
@@ -36,6 +36,15 @@ lang: zh
[Dune Analytics](https://dune.com/) 对区块链数据进行预处理,并存入关系型数据库(PostgreSQL 和 DatabricksSQL)表中,以便用户可以使用结构化查询语言 (SQL) 查询区块链数据并基于查询结果构建仪表板。 链上数据被组织为 4 个原始表:`blocks`、`transactions`、(事件)`logs` 和(调用)`traces`。 常见的合约和协议都已解码,并且每个都有自己的事件集和调用表。 这些事件和调用表被进一步处理并按协议类型组织成抽象表,例如去中心化交易所、借贷、稳定币等。
+## SubQuery 网络 {#subquery-network}
+
+[SubQuery](https://subquery.network/) 是一个领先的数据索引器,为开发者的 Web3 项目提供快速、可靠、去中心化和定制的应用程序接口。 SubQuery 为超过 165 个生态系统(包括以太坊)的开发者赋能,利用丰富的索引数据,为他们的用户构建直观的、沉浸式体验。 SubQuery 网络通过其富有韧性且去中心化的网络基础设施,为你势不可挡的应用程序提供支持。 使用 SubQuery 的区块链开发者工具包来构建未来的 Web3 应用程序,无需花费时间为数据处理活动搭建定制的后端。
+
+在使用[ SubQuery 托管服务](https://managedservice.subquery.network/)或[ SubQuery 去中心化网络](https://app.subquery.network/dashboard)之前,请先访问[以太坊快速入门指南](https://academy.subquery.network/quickstart/quickstart_chains/ethereum-gravatar.html),在本地 Docker 环境中花几分钟索引以太坊区块链数据作为测试。
+
+## Ethernow - 内存池数据程序 {#ethernow}
+[Blocknative](https://www.blocknative.com/) 提供对其以太坊历史[内存池数据归档](https://www.ethernow.xyz/mempool-data-archive)的开放访问。 这使得研究者和社区优秀项目能够探索以太坊主网的链前层。 该数据集得到积极维护,代表了以太坊生态系统中最全面的内存池交易事件历史记录。 在 [Ethernow](https://www.ethernow.xyz/) 了解更多信息。
+
## 延伸阅读 {#further-reading}
- [Graph 网络概览](https://thegraph.com/docs/en/about/network/)
@@ -43,3 +52,4 @@ lang: zh
- [EtherScan 上的应用程序接口代码示例](https://etherscan.io/apis#contracts)
- [Beaconcha.in 信标链浏览器](https://beaconcha.in)
- [Dune 基础知识](https://docs.dune.com/#dune-basics)
+- [SubQuery 以太坊快速入门指南](https://academy.subquery.network/indexer/quickstart/quickstart_chains/ethereum-gravatar.html)
diff --git a/public/content/translations/zh/developers/docs/data-availability/blockchain-data-storage-strategies/index.md b/public/content/translations/zh/developers/docs/data-availability/blockchain-data-storage-strategies/index.md
new file mode 100644
index 00000000000..72bc1e63f42
--- /dev/null
+++ b/public/content/translations/zh/developers/docs/data-availability/blockchain-data-storage-strategies/index.md
@@ -0,0 +1,118 @@
+---
+title: 区块链数据存储策略
+description: 有几种使用区块链储存数据的方式。 本文将比较不同的策略、它们的费用和权衡,以及安全使用策略的要求。
+lang: zh
+---
+
+有多种通过区块链储存信息的方式,不论是直接在区块链上储存,或是用区块链保护信息安全:
+
+- EIP-4844 二进制大对象
+- 调用数据
+- 具有一层网络机制的链下
+- 合约“代码”
+- 事件
+- 以太坊虚拟机存储
+
+使用方法的选择基于几个标准:
+
+- 信息来源。 调用数据中的信息不能直接来自区块链本身。
+- 信息目的地。 Calldata 仅在其发起的交易中可用。 链上完全无法访问事件。
+- 能够接受多少麻烦? 相比在浏览器内运行的应用程序中的轻客户端,运行全节点的计算机能够执行更多处理。
+- 是否有必要使来自每个节点的信息易于访问?
+- 安全要求。
+
+## 安全要求 {#security-requirements}
+
+一般情况下,信息安全由三个属性组成:
+
+- _保密性_,使未经授权的实体无法读取信息。 这在许多情况下很重要,但在这里不重要。 _区块链上没有秘密_。 区块链因任何人都能验证状态转换而得以运作,所以,直接使用区块链来储存秘密是不可行的。 有几种方法可以在区块链上储存保密信息,但它们都依赖一些链下组成部分来储存至少一个密钥。
+
+- _完整性_,使信息保持正确,并且无法被未授权的实体或以未授权的方式改变(例如,在缺少 'Transfer' 事件的情况下转移 [ERC-20 代币](https://eips.ethereum.org/EIPS/eip-20#events))。 在区块链上,每个节点都会验证每个状态更改,从而确保了完整性。
+
+- _可用性_,使信息可供任何已获授权的实体使用。 在区块链上,这常常通过使信息对每个[全节点](https://ethereum.org/developers/docs/nodes-and-clients#full-node)可用来实现。
+
+这里的不同解决方案全都具有出色的完整性,因为哈希被发布在一层网络上。 但是,它们的可用性保证确实有所不同。
+
+## 前提条件 {#prerequisites}
+
+你应该充分理解[区块链基础知识](/developers/docs/intro-to-ethereum/)。 本页面还假设读者熟悉[区块](/developers/docs/blocks/)、[交易](/developers/docs/transactions/)和其他相关主题。
+
+## EIP-4844 二进制大对象 {#eip-4844-blobs}
+
+从 [Dencun 硬分叉](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/beacon-chain.md)开始,以太坊区块链包含了 [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844),这为以太坊数据二进制大对象增加了有限的生命期(最初约为 [18 天](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/p2p-interface.md#configuration))。 这些二进制大对象与[执行燃料](/developers/docs/gas)分开定价,尽管它们使用类似的机制。 它们是一种发布临时数据的低成本方式。
+
+EIP-4844 二进制大对象的主要使用案例是供卷叠发布其交易。 [乐观卷叠](/developers/docs/scaling/optimistic-rollups)需要在其区块链上发布交易。 那些交易必须在[质询期](https://docs.optimism.io/connect/resources/glossary#challenge-period)内对所有人可用,以便在卷叠[排序者](https://docs.optimism.io/connect/resources/glossary#sequencer)发布错误的状态根时,[验证者](https://docs.optimism.io/connect/resources/glossary#validator)能够修复错误。
+
+然而,一旦质询期结束并且状态根被最终确定,了解这些交易的目的就只剩下复制链的当前状态。 该状态也能从链节点获得,并且需要的处理要少得多。 因此,交易信息仍应保留在一些地方,比如[区块浏览器](/developers/docs/data-and-analytics/block-explorers),但无需偿付以太坊提供的抗审查水平。
+
+[零知识卷叠](/developers/docs/scaling/zk-rollups/#data-availability)也会发布其交易数据,以便其他节点能够复制现有状态并验证有效性证明,但这同样也是一个短期要求。
+
+撰写本文时,在 EIP-4844 上发布的每个字节需要花费 1 wei(10-18 个以太币),相较于[任何交易(包括发布二进制大对象的交易在内)都会花费的 21,000 执行燃料](https://eth.blockscout.com/tx/0xf6cfaf0431c73dd1d96369a5e6707d64f463ccf477a4131265397f1d81466929?tab=index),该费用微不足道。 你可以在 [blobscan.com](https://blobscan.com/blocks) 上查看当前 EIP-4844 价格。
+
+在以下地址可以查看一些知名卷叠发布的二进制大对象。
+
+| 卷叠 | 邮箱地址 |
+| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
+| [Optimism](https://www.optimism.io/) | [`0xFF00000000000000000000000000000000000010`](https://blobscan.com/address/0xFF00000000000000000000000000000000000010) |
+| [Arbitrum](https://arbitrum.io/) | [`0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6`](https://blobscan.com/address/0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6) |
+| [Base](https://base.org/) | [`0xFF00000000000000000000000000000000008453`](https://blobscan.com/address/0xFF00000000000000000000000000000000008453) |
+
+## 调用数据 {#calldata}
+
+调用数据是指作为交易一部分发送的字节。 它作为区块链永久记录的一部分,被储存在包含该交易的区块中。
+
+这是将数据永久放在区块链上最便宜的方法。 每个字节的费用为 4 执行燃料(如果字节为 0) 或 16 执行燃料(如果字节为任意其他值)。 如果数据经过压缩(这是标准做法),则每个字节的值几乎相等,所以每个字节的平均费用约为 15.95 燃料。
+
+撰写本文时的价格为 12 Gwei/燃料(2300 美元/以太币),这意味着每个字节的费用约为 45 美分。 由于这是 EIP-4844 之前最便宜的方法,卷叠使用此方法来储存交易信息,这些交易信息必须在[缺陷质询期](https://docs.optimism.io/stack/protocol/overview#fault-proofs)内可用,但无需直接在链上访问。
+
+在以下地址可以查看一些知名卷叠发布的交易。
+
+| 卷叠 | 邮箱地址 |
+| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
+| [Optimism](https://www.optimism.io/) | [`0xFF00000000000000000000000000000000000010`](https://eth.blockscout.com/address/0xFF00000000000000000000000000000000000010) |
+| [Arbitrum](https://arbitrum.io/) | [`0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6`](https://eth.blockscout.com/address/0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6) |
+| [Base](https://base.org/) | [`0xFF00000000000000000000000000000000008453`](https://eth.blockscout.com/address/0xFF00000000000000000000000000000000008453) |
+
+## 具有一层网络机制的链下 {#offchain-with-l1-mechs}
+
+根据你的安全权衡,将信息放在其他位置并使用一种可确保数据在需要时可用的机制,或许是可以接受的做法。 要实现这一点,有两个要求:
+
+1. 将一个数据的[哈希](https://en.wikipedia.org/wiki/Cryptographic_hash_function)发布在区块链上,这被称为“_输入承诺_”。 这可以是单个 32 字节的单词,因此并不昂贵。 只要输入承诺可用,完整性就能得到保证,因为不可能找到任何其他数据具有相同的哈希值。 因此,提供错误的数据会被检测出来。
+
+2. 拥有一种确保可用性的机制。 例如,在 [Redstone](https://redstone.xyz/docs/what-is-redstone) 中,任何节点都能提交可用性质询。 如果排序者未能在截止时间前在链上回应,输入承诺就会被丢弃,因此信息会被视为从未被发布过
+
+这对于乐观卷叠来说是可接受的,因为我们已经依赖于拥有至少一名诚实的验证者来验证状态根。 这样的诚实验证者还将确保拥有处理区块所需的数据,并在链下信息不可用时提出可用性质询。 这种乐观卷叠被称为 [plasma](/developers/docs/scaling/plasma/)。
+
+## 合约代码 {#contract-code}
+
+那些只需写入一次便永远不会被覆盖,并且需要在链上可用的信息可作为合约代码储存。 这意味着我们会创建一个带有数据的“智能合约”,然后使用 [`EXTCODECOPY`](https://www.evm.codes/#3c?fork=shanghai) 来读取信息。 这样做的优势是复制代码相对便宜。
+
+除了内存扩展的费用之外,`EXTCODECOPY` 在首次访问合约时(当它处于“冷”状态时)还需要花费 2600 燃料,后续从相同合约进行复制需要 100 燃料 + 3 燃料/32 字节单词。 与调用数据的花费(15.95 燃料每字节)相比,200 字节以上的数据使用合约代码会更便宜。 基于[内存扩展成本公式](https://www.evm.codes/about#memoryexpansion),只要你需要的内存不大于 4MB,内存扩展的花费就会低于添加调用数据。
+
+当然,这只是“_读取_”数据的花费。 创建合约的花费约为 32,000 燃料 + 200 燃料/字节。 这个方法只有在相同信息需要被不同交易多次读取时才是经济的。
+
+合约代码可以是无意义的,只要不以 `0xEF` 开头。 以 `0xEF` 开头的合约会被解释为[以太坊对象格式](https://notes.ethereum.org/@ipsilon/evm-object-format-overview),该格式有更加严格的要求。
+
+## 事件 {#events}
+
+[事件](https://docs.alchemy.com/docs/solidity-events)由智能合约触发,并由链下软件读取。
+它们的优势是链下代码可以侦听事件。 成本为[燃料](https://www.evm.codes/#a0?fork=cancun),375 燃料 + 8 燃料/数据字节。 在 12 Gwei/燃料和 2300 美元/以太币的情况下,该费用相当于 1 美分 + 22 美分/千字节。
+
+## 存储 {#storage}
+
+智能合约能够访问[永久存储](https://docs.alchemy.com/docs/smart-contract-storage-layout#what-is-storage-memory)。 但这非常昂贵。 将一个 32 字节的单词写入一个先前为空的储存时隙会[花费 22,100 燃料](https://www.evm.codes/#55?fork=cancun)。 在 12 Gwei/燃料和 2300 美元/以太币的情况下,该费用相当于 61 美分/写入操作,即 19.5 美元/千字节。
+
+这是以太坊上最昂贵的存储方式。
+
+## 总结 {#summary}
+
+下表总结了各种选项、它们的优势与劣势。
+
+| 存储类型 | 数据来源 | 可用性保证 | 链上可用性 | 其他限制 |
+| --------------- | ----- | -------------------------------------------------------------------------------------------------------------- | -------------- | ------------------------ |
+| EIP-4844 二进制大对象 | 链下 | 由以太坊保证 [18 天](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/p2p-interface.md#configuration) | 仅哈希可用 | |
+| 调用数据 | 链下 | 由以太坊永久保证(区块链的一部分) | 只有被写入合约时于该交易可用 | |
+| 具有一层网络机制的链下 | 链下 | 在质询期内由“一名诚实的验证者”保证 | 仅哈希可用 | 仅在质询期内由质询机制提供保证 |
+| 合约代码 | 链上或链下 | 由以太坊永久保证(区块链的一部分) | 是 | 写入到一个不以 `0xEF` 开头的“随机”地址 |
+| 事件 | 链上 | 由以太坊永久保证(区块链的一部分) | 否 | |
+| 存储 | 链上 | 由以太坊永久保证(区块链的一部分,并保持当前状态直至被覆盖) | 是 | |
diff --git a/public/content/translations/zh/developers/docs/data-availability/index.md b/public/content/translations/zh/developers/docs/data-availability/index.md
index 44d608b032c..df19a599b8e 100644
--- a/public/content/translations/zh/developers/docs/data-availability/index.md
+++ b/public/content/translations/zh/developers/docs/data-availability/index.md
@@ -26,7 +26,7 @@ lang: zh
数据可用性采样 (DAS) 是网络在不给任何单个节点带来过多压力的情况下检查数据是否可用的一种方法。 每个节点(包括非质押节点)下载全部数据中随机选择的数据小子集。 成功地下载样本便可以非常肯定地确认所有数据都是可用的。 这依赖于数据纠删码,即用冗余信息扩展给定的数据集(实现方法是将一个称为_多项式_的函数与数据拟合,并在额外的点上对该多项式进行评估)。 这样可以在必要时从冗余数据中恢复原始数据。 这种数据创建的结果是,如果原始数据中的_任何_部分不可用,那么_一半_的扩展数据将丢失! 每个节点下载的数据样本量可以进行调整,以便_在_实际上不到一半的数据可用时,每个客户端采样的数据片段_极有可能_至少缺失一个。
-在 [EIP-4844](/roadmap/danksharding) 实施后,数据可用性采样将用于确保卷叠运营者令其交易数据可用。 以太坊节点将使用上述冗余方案,随机采样二进制大对象中提供的交易数据,以确保所有数据都存在。 同样的技术也可用于确保区块生产者让将其所有数据可用,以保护轻客户端的安全。 同样,在[提议者-构建者分离](/roadmap/pbs)的情况下,只要求区块构建者处理整个区块,其他验证者将使用数据可用性采样进行验证。
+DAS 将用于确保汇总运营商在实施[完整 Danksharding](/roadmap/danksharding/#what-is-danksharding) 后提供其交易数据。 以太坊节点将使用上述冗余方案,随机采样二进制大对象中提供的交易数据,以确保所有数据都存在。 同样的技术也可用于确保区块生产者让将其所有数据可用,以保护轻客户端的安全。 同样,在[提议者-构建者分离](/roadmap/pbs)的情况下,只要求区块构建者处理整个区块,其他验证者将使用数据可用性采样进行验证。
### 数据可用性委员会 {#data-availability-committees}
@@ -58,7 +58,7 @@ lang: zh
然而,只有提议的状态变化可被独立验证并确认是应用所有单独链下交易的结果时,才能信任发布到以太坊上的“汇总”交易。 如果卷叠运营者不提供进行此验证所需的交易数据,那么它们可以将不正确的数据发送至以太坊。
-[乐观卷叠](/developers/docs/scaling/optimistic-rollups/)将压缩交易数据发布到以太坊并等待一定时间(通常为 7 天),以便独立验证者检查数据。 如果有任何验证者发现问题,它们可以生成欺诈证明并用来质疑卷叠。 这将导致链回滚并丢弃无效区块。 只有在数据可用时,才能实现这一点。 目前,数据以 `CALLDATA` 形式永久存在于链上。 不过,EIP-4844 很快将允许卷叠将其交易数据发布到更经济实惠的二进制大对象存储中。 它不是永久存储。 在数据从以太坊一层网络删除之前,独立验证者必须在 1-3 个月内查询二进制大对象并提出质疑。 通过以太坊协议,数据可用性仅在一个短暂的固定窗口期内得到保证。 此后,数据可用性成为以太坊生态系统中其他实体的责任。 任何节点都可以使用数据可用性采样来验证数据可用性,即下载二进制大对象数据的随机小样本。
+[乐观卷叠](/developers/docs/scaling/optimistic-rollups/)将压缩交易数据发布到以太坊并等待一定时间(通常为 7 天),以便独立验证者检查数据。 如果有任何验证者发现问题,它们可以生成欺诈证明并用来质疑卷叠。 这将导致链回滚并丢弃无效区块。 只有在数据可用时,才能实现这一点。 目前,乐观卷叠有两种方式将交易数据发布到一层网络。 有些卷叠使数据以 `CALLDATA` 的形式永久可用,并永久存在于链上。 随着 EIP-4844 的实施,一些卷叠将其交易数据发布到更便宜的二进制大对象存储中。 它不是永久存储。 独立验证者必须在数据从以太坊第 1 层删除之前约 18 天内查询二进制大对象并提出挑战。 通过以太坊协议,数据可用性仅在一个短暂的固定窗口期内得到保证。 此后,数据可用性成为以太坊生态系统中其他实体的责任。 任何节点都可以使用数据可用性采样来验证数据可用性,即下载二进制大对象数据的随机小样本。
[零知识 (ZK) 卷叠](/developers/docs/scaling/zk-rollups)无需发布交易数据,因为[零知识有效性证明](/glossary/#zk-proof)可保证状态转换的正确性。 然而,数据可用性依然是一个问题,因为在不访问其状态数据的情况下我们无法担保零知识卷叠的功能(或与之交互)。 例如,如果运营者隐瞒了卷叠状态的细节,用户就无法知道自己的余额。 而且,用户也不能使用新添加区块中的信息来执行状态更新。
diff --git a/public/content/translations/zh/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md b/public/content/translations/zh/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md
index cc2a77028cb..d8cff060e81 100644
--- a/public/content/translations/zh/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md
+++ b/public/content/translations/zh/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md
@@ -35,13 +35,11 @@ sidebarDepth: 2
```
def update(node,path,value):
+ curnode = db.get(node) if node else [ NULL ] * 17
+ newnode = curnode.copy()
if path == '':
- curnode = db.get(node) if node else [ NULL ] * 17
- newnode = curnode.copy()
newnode[-1] = value
else:
- curnode = db.get(node) if node else [ NULL ] * 17
- newnode = curnode.copy()
newindex = update(curnode[path[0]],path[1:],value)
newnode[path[0]] = newindex
db.put(hash(newnode),newnode)
@@ -164,7 +162,7 @@ sidebarDepth: 2
### 前缀树示例 {#example-trie}
-假定我们想要包含四个路径/值对 `('do', 'verb')`、`('dog', 'puppy')`、`('doge', 'coins')`、`('horse', 'stallion')` 的前缀树。
+假设我们想要一个包含四个路径/值对的树:`('do', 'verb')`、`('dog', 'puppy')`、`(' doge', 'coins')`、`('horse', 'stallion')`。
首先,我们将路径和值都转换为 `bytes`。 在下方代码中,_路径_的实际字节代表用 `<>` 表示。而_值_仍然显示为字符串,用 `''` 表示,以便于理解(值也应为 `bytes`):
@@ -185,7 +183,7 @@ sidebarDepth: 2
hashD: [ <17>, [ <>, <>, <>, <>, <>, <>, [ <35>, 'coins' ], <>, <>, <>, <>, <>, <>, <>, <>, <>, 'puppy' ] ]
```
-当一个节点在另一个节点内部引用时,包含的是 `H(rlp.encode(node))`,其中 `H(x) = keccak256(x) if len(x) > > = 32 else x` 和 `rlp.encode` 是[递归长度前缀](/developers/docs/data-structures-and-encoding/rlp)编码函数。
+当一个节点在另一个节点内部被引用时,包含的内容是 `H(rlp.encode(node))`,其中 `H(x) = keccak256(x) if len(x) >= 32 else x` 和 `rlp.encode` 是[递归长度前缀](/developers/docs/data-structs-and-encoding/rlp)编码函数。
请注意,更新前缀树时,_如果_新创建节点的长度 >= 32,则需要将键/值对 `(keccak256(x), x)` 存储在一个持久的查询表中。 然而,如果节点比这短,则不需要存储任何数据,因为函数 f(x) = x 是可逆的。
@@ -254,7 +252,7 @@ else:
### 收据树 {#receipts-trie}
-每个区块都有自己的收据树。 此处的 `path` 是:`rlp(transactionIndex)`。 `transactionIndex` 是它在挖矿区块中的索引。 收据字典树从不更新。 与交易字典树类似,它也有当前和以前的收据。 为了在收据字典树中查询特定的收据,需要提供区块中交易的索引、收据有效载荷以及交易类型。 返回的收据可以是 `Receipt` 类型,定义为 `TransactionType` 和 `ReceiptPayload` 的串联;也可以是 `LegacyReceipt` 类型,定义为`rlp([status, cumulativeGasUsed, logsBloom, logs])`。
+每个区块都有自己的收据树。 此处的 `path` 是:`rlp(transactionIndex)`。 `transactionIndex` 是它所在区块中的索引。 收据字典树从不更新。 与交易字典树类似,它也有当前和以前的收据。 为了在收据字典树中查询特定的收据,需要提供区块中交易的索引、收据有效载荷以及交易类型。 返回的收据可以是 `Receipt` 类型,定义为 `TransactionType` 和 `ReceiptPayload` 的串联;也可以是 `LegacyReceipt` 类型,定义为`rlp([status, cumulativeGasUsed, logsBloom, logs])`。
关于这个问题的更多信息可以在 [EIP 2718](https://eips.ethereum.org/EIPS/eip-2718) 文档中找到。
diff --git a/public/content/translations/zh/developers/docs/data-structures-and-encoding/rlp/index.md b/public/content/translations/zh/developers/docs/data-structures-and-encoding/rlp/index.md
index 5065ca21789..2176f41308c 100644
--- a/public/content/translations/zh/developers/docs/data-structures-and-encoding/rlp/index.md
+++ b/public/content/translations/zh/developers/docs/data-structures-and-encoding/rlp/index.md
@@ -5,7 +5,7 @@ lang: zh
sidebarDepth: 2
---
-递归长度前缀 (RLP) 序列化广泛用于以太坊的执行客户端。 数据在节点之间以节省空间的格式传输,而递归长度前缀可使这一过程标准化。 递归长度前缀的目的在于,对任意嵌套的二进制数据数组进行编码,而递归长度前缀是用于序列化以太坊执行层中对象的主要编码方法。 递归长度前缀的唯一目的是对结构进行编码;而对特定数据类型(例如字符串、浮点数)进行编码的工作,则留给高阶协议;但正递归长度前缀整数必须以不带前导零的大端序二进制形式表示(从而使整数值零相当于空字节数组)。 带有前导零的反序列化正整数被视为无效。 字符串长度的整数表示也必须以这种方式编码,有效载荷中的整数也是如此。
+递归长度前缀 (RLP) 序列化广泛用于以太坊的执行客户端。 数据在节点之间以节省空间的格式传输,而递归长度前缀可使这一过程标准化。 递归长度前缀的目的在于,对任意嵌套的二进制数据数组进行编码,而递归长度前缀是用于序列化以太坊执行层中对象的主要编码方法。 递归长度前缀的主要目的是对结构进行编码;除正整数外,递归长度前缀将特定数据类型(例如字符串、浮点数)的编码委托给更高阶协议。 正整数必须以不带前导零的大端二进制形式表示(从而使整数值零相当于空字节数组)。 任何使用递归长度前缀的高阶协议都必须将带前导零的反序列化正整数视为无效。
更多信息请见[以太坊黄皮书(附录 B)](https://ethereum.github.io/yellowpaper/paper.pdf#page=19)。
@@ -20,6 +20,7 @@ sidebarDepth: 2
- 一个字符串(即字节数组)是一个项目
- 项目列表也是一个项目
+- 正整数是一个项目
例如,以下所有都是项目:
@@ -27,14 +28,17 @@ sidebarDepth: 2
- 包含单词“cat”的字符串;
- 包含任意数量字符串的列表;
- 以及更复杂的数据结构,例如 `["cat", ["puppy", "cow"], "horse", [[]], "pig", [""], "sheep"]`。
+- 数字 `100`
-请注意,在本页其余部分的上下文中,“字符串”表示“一定数量的二进制数据字节”;没有使用特殊的编码,也没有暗示关于字符串内容的信息。
+请注意,在本页其余部分的上下文中,“字符串”表示“一定数量的二进制数据字节”;不使用特殊编码,并且不隐含任何有关字符串内容的知识(除非针对非最小正整数的规则要求如此)。
递归长度前缀编码的定义如下:
+- 对于正整数,将其转换为最短字节数组,其大端解释为整数,然后根据以下规则编码为字符串。
- 对于值在 `[0x00, 0x7f]`(十进制 `[0, 127]`)范围内的单个字节,该字节即是它自己的递归长度前缀编码。
- 否则,如果字符串的长度为 0-55 个字节,则递归长度前缀编码包含一个值为 **0x80**(十进制 128)的单字节,加上该字符串之后字符串的长度。 因此,第一个字节的范围是 `[0x80, 0xb7]`(十进制 `[128, 183]`)。
- 如果字符串的长度超过 55 个字节,则递归长度前缀编码由一个值为 **0xb7**(十进制为 183)的单个字节,加上二进制字符串长度的以字节为单位的长度,后跟字符串的长度,然后是字符串。 例如,一个长 1024 字节的字符串将被编码为 `\xb9\x04\x00`(十进制 `185, 4, 0`)后跟该字符串。 在这里,`0xb9` (183 + 2 = 185) 为第一个字节,然后是表示实际字符串长度的 2 个字节 `0x0400`(十进制 1024)。 因此,第一个字节的范围是 `[0xb8, 0xbf]`(十进制 `[184, 191]`)。
+- 如果字符串的长度为 2^64 字节或更长,则可能不会对其进行编码。
- 如果列表的总有效载荷长度(即其所有经过递归长度前缀编码的项目的组合长度)为 0-55 个字节,则递归长度前缀编码包含一个值为 **0xc0** 的单字节,加上有效载荷长度,后跟一串项目的递归长度前缀编码。 因此,第一个字节的范围是 `[0xc0, 0xf7]`(十进制 `[192, 247]`)。
- 如果列表的总有效载荷长度超过 55 个字节,则递归长度前缀编码包含一个值为 **0xf7** 的单字节,加上二进制格式的有效载荷长度的以字节为单位的长度,后跟有效载荷的长度,然后是项目递归长度前缀编码串。 因此,第一个字节的范围是 `[0xf8, 0xff]`(十进制 `[248, 255]`)。
@@ -73,9 +77,9 @@ def to_binary(x):
- 空字符串 ('null') = `[ 0x80 ]`
- 空列表 = `[ 0xc0 ]`
- 整数 0 = `[ 0x80 ]`
-- 编码后的整数 0 ('\\x00') = `[ 0x00 ]`
-- 编码后的整数 15 ('\\x0f') = `[ 0x0f ]`
-- 编码后的整数 1024 ('\\x04\\x00') = `[ 0x82, 0x04, 0x00 ]`
+- 字节 '\\x00' = `[ 0x00 ]`
+- 字节 '\\x0f' = `[ 0x0f ]`
+- 字节 '\\x04\\x00' = `[ 0x82, 0x04, 0x00 ]`
- 3 的[集合论表示](http://en.wikipedia.org/wiki/Set-theoretic_definition_of_natural_numbers),`[ [], [[]], [ [], [[]] ] ] = [ 0xc7, 0xc0, 0xc1, 0xc0, 0xc3, 0xc0, 0xc1, 0xc0 ]`
- 字符串“Lorem ipsum dolor sit amet, consectetur adipisicing elit”= `[ 0xb8, 0x38, 'L', 'o', 'r', 'e', 'm', ' ', ... , 'e', 'l', 'i', 't' ]`
@@ -85,7 +89,7 @@ def to_binary(x):
1. 根据输入数据的第一个字节(即前缀),解码数据类型、实际数据的长度和偏移量;
-2. 根据数据类型和偏移量,对数据进行相应的解码;
+2. 根据数据的类型和偏移量,遵循正整数的最小编码规则,对数据进行相应的解码;
3. 继续解码输入的其余部分;
diff --git a/public/content/translations/zh/developers/docs/design-and-ux/dex-design-best-practice/index.md b/public/content/translations/zh/developers/docs/design-and-ux/dex-design-best-practice/index.md
new file mode 100644
index 00000000000..5fb4dfea533
--- /dev/null
+++ b/public/content/translations/zh/developers/docs/design-and-ux/dex-design-best-practice/index.md
@@ -0,0 +1,220 @@
+---
+title: 去中心化交易所 (DEX) 设计最佳做法
+description: 说明代币交换用户体验/用户界面决策的指南
+lang: zh
+---
+
+自 Uniswap 于 2018 年发布之后,成百上千的去中心化交易所已在数十个不同的链上发布。
+它们中的许多已经引入新的元素或加入自己的调整,但界面基本保持相同。
+
+这种现象的原因之一是[雅各布定律](https://lawsofux.com/jakobs-law/):
+
+> 用户将大多数时间花费在其他网站。 这意味着用户更愿意你的网站采用他们已在其他网站熟知的操作方式。
+
+得益于 Uniswap 、Pancakeswap 和 Sushiswap 这样的早期创新者,去中心化金融用户对去中心化交易所的外观已经达成一些共识。
+因此,各类“最佳做法”层出不穷。 我们看到越来越多的设计决策成为网站的标准。 你可以将去中心化交易所的演变视作实时检验的巨型范例。 有用的东西留下,无用的东西淘汰。 尽管仍有个性化的余地,去中心交易所还是应该符合特定的标准。
+
+本文概括介绍以下内容:
+
+- 应该包含的元素
+- 如何尽可能地提高实用性
+- 定制设计的主要方式
+
+所有的示例线框均依据本文专门制作,但它们都基于真实的项目。
+
+Figma 工具包也附于本文底部 - 请随意使用,快速制作你自己的线框!
+
+## 去中心化交易所的基本剖析{#basic-anatomy-of-a-dex}
+
+用户界面大致包含三个元素:
+
+1. 主表单
+2. 按钮
+3. 细节面板
+
+![通用去中心化交易所用户界面,显示三个主要元素](./1.png)
+
+## 变体{#variations}
+
+这将是本文的通用主题,但这些元素可能有多种不同的组织方式。 “细节面板”可能位于:
+
+- 按钮上方
+- 按钮下方
+- 隐藏在可折叠面板中
+- 和/或显示在“预览”模态上
+
+注意: “预览”模态是可选的,但如果主用户界面只显示了很少的细节,它就十分重要了。
+
+## 主表单的结构{#structure-of-the-main-form}
+
+这是一个方框,供你选择想要交换的代币。 组件包括一个输入字段和一个小按钮,排成一行。
+
+去中心化交易所通常在它的上一行和下一行显示额外细节,但也可以采用其他配置。
+
+![输入行,以及上方和下方的细节行](./2.png)
+
+## 变体{#variations2}
+
+这里显示了两种用户界面变体:一种没有任何边框,形成一种非常开放的设计;另一种的输入行带有边框,以突出显示该元素。
+
+![主表单的两种用户界面变体](./3.png)
+
+这种设计的基本结构显示了**四种关键信息**:每个角上各一种。 如果只有一个顶部/底部行,则仅有两种信息。
+
+去中心化金融演变期间的许多不同事物都包含在其中。
+
+## 需要包含的关键信息 {#key-info-to-include}
+
+- 钱包余额
+- 最大化按钮
+- 等价法币
+- 价格对“接收”金额的影响
+
+在去中心化金融的早期,等价法币经常缺失。 如果你在构建任何形式的 Web3 项目,显示等价法币至关重要。 用户始终从本地货币的角度考虑,所以为了符合真实世界的心理模型,等价法币应该包含进来。
+
+在第二个字段(供你选择兑换成的代币),你也可以通过计算输入金额与估计输出金额之间的差异,在法定货币金额旁包含价格影响。 这是一个需要包含的相当有用的细节。
+
+百分比按钮(即 25%、50%、75%)可以成为一项有用的功能,但会占用更多空间,增加更多行动号召,以及更多心理负担。 百分比滚动条也是如此。 其中一些用户界面的决定取决于你的品牌和用户类型。
+
+主表单下可以显示额外的细节。 由于这类信息主要针对专业用户,因此合理的做法有:
+
+- 尽量将其最小化,或;
+- 将其隐藏在可折叠面板中
+
+![在主表单的角落显示细节](./4.png)
+
+## 要包含的额外细节 {#extra-info-to-include}
+
+- 代币价格
+- 滑点
+- 最小接收值
+- 预计输出
+- 价格影响
+- 预计燃料成本
+- 其他费用
+- 订单路由
+
+可以说,其中一些细节是可选的。
+
+订单路由很有趣,但对大多数用户来说没有作用。
+
+一些其他细节只是在以不同方式重述相同的内容。 例如,“最小接收值”与“滑点”就像是同一个硬币的两个面。 如果将滑点设为 1%,那么你预计收到的最小值就是预期输出 -1%。 一些用户界面会显示预计金额、最小金额和滑点… 这些细节很有用,但可能过于琐碎。
+
+大多数用户无论如何都会保留默认滑点。
+
+“价格影响”通常显示在“至”字段中等价法币旁的括号内。 该细节能有效地增强用户体验,但如果已经显示在这里,真的还有必要在下面再显示一次吗? 然后在预览屏幕上再显示一次?
+
+许多用户(尤其是那些进行小额兑换的用户)不会在意这些细节;他们只会简单地输入数字并点击兑换。
+
+![一些细节展示了相同的内容](./5.png)
+
+具体显示哪些细节将取决于你的受众以及你希望该应用程序给人带来的体验。
+
+如果你在细节面板中包含了滑点容差,还应该让它可在此处直接编辑。 这是一个很好的“加速器”例子;简洁的用户体验可以帮助经验丰富的用户加快流程,而且不会影响应用程序的一般可用性。
+
+![滑点可以直接从细节面板控制](./6.png)
+
+最好不要只考虑屏幕上的某一条特定信息,还要通盘考虑整个流程:
+在主表单中输入数字 → 扫视细节 → 点击进入预览屏幕(如果有的话)。
+细节面板应该一直保持可见,还是需要用户点击展开呢?
+应该通过添加预览屏幕来制造缓冲吗? 这将迫使用户放慢速度并认真考虑他们的交易,可能会很有用。 但他们希望再次看到所有相同的信息吗? 在这个时间点,哪些内容对他们来说最有用?
+
+## 设计选项 {#design-options}
+
+如上所述,这很大程度取决于你的个人风格
+你的用户是谁?
+你的品牌是什么?
+你想要一个展示所有细节的“专业”界面,还是尽可能的极简主义?
+即使你的首重是想要获得尽可能多信息的专业用户,你仍应记住 Alan Cooper 的忠告:
+
+> 无论你的界面有多漂亮、多酷,如果能简洁一点,它将变得更好。
+
+### 结构 {#structure}
+
+- 代币在左边还是右边
+- 2 行还是 3 行
+- 细节在按钮上方还是下方
+- 展开细节、最小化细节,还是不显示细节
+
+### 组件风格 {#component-style}
+
+- 空白
+- 带线框
+- 填充
+
+从纯粹的用户体验角度来看,用户界面的风格不像你想的那么重要。 视觉趋势循环往复,而且很多偏好非常主观。
+
+要想感受这一点并考虑各种不同的配置,最简单的方法是,查看一些示例,然后自己去做一些尝试。
+
+附带的 Figma 工具包内含空白、带线框和填充的组件。
+
+查看下面的例子,了解将它们组合在一起的各种方式。
+
+![共三行,均使用填充样式](./7.png)
+
+![共三行,均使用线框样式](./8.png)
+
+![共两行,均使用空心样式](./9.png)
+
+![共三行,均使用线框样式,并附带细节面板](./10.png)
+
+![共三行,其中输入行使用线框样式](./11.png)
+
+![共两行,均使用填充样式](./12.png)
+
+## 但是代币应该放在哪一边呢? {#but-which-side-should-the-token-go-on}
+
+需要注意的是,这不会对实用性产生重大影响。 但有几点需要牢记于心,并可能会以某种方式影响你。
+
+观察时尚潮流随时间变化是一件有趣的事。 Uniswap 最初将代币放在左边,但之后又将它移到了右边。 Sushiswap 在设计升级时也做了这项更改。 大多数协议(但并非全部)都效仿了这一点。
+
+依据传统的金融惯例,货币符号被放在数字之前,即 $50、€50 和 £50,但我们_讲_的却是 50 美元、50 欧元和 50 英镑。
+
+对于一般用户,特别是习惯从左往右、从上往下阅读的用户,将代币放在右边可能会感觉更自然。
+
+![将代币放在左边的用户界面](./13.png)
+
+将代币放在左边并将数字放在右边看起来是对称的,这是一个优点,但这种布局也有另一个缺点。
+
+临近定律指出,相距较近的内容往往被看作是相关的。 因此,我们希望将相关的内容放在彼此旁边。 代币余额与代币本身直接相关,并且会在选择新代币时发生变化。 因此,将代币余额放在代币选择按钮旁边更为合理。 可以将它移动到代币下方,但那样会破坏布局的对称性。
+
+总的来说,两种选择各有优缺点,但有趣的是,当前的趋势似乎是将代币放在右边。
+
+# 按钮行为 {#button-behavior}
+
+不要有单独的“批准”按钮。 也不要单独点击“批准”。 用户想要交换,只需要点击“交换”按钮,并启动批准来作为第一步。 可以用一个模态,通过计步器显示交易进度,或者显示简单通知“交易 1/2 - 正在批准”。
+
+![包含单独的批准按钮和交换按钮的用户界面](./14.png)
+
+![包含一个批准按钮的用户界面](./15.png)
+
+## 用作上下文帮助的按钮 {#button-as-contextual-help}
+
+按钮可以起到另一个作用 - 作为警报!
+
+实际上,这在 Web3 外是一种相当罕见的设计模式,但在 Web3 内已经成为一种标准。 这是一项很好的创新,因为它能节省空间并有助于集中注意力。
+
+如果主操作“交换”由于错误不可使用,则可以通过按钮来解释原因,例如:
+
+- 切换网络
+- 连接钱包
+- 各种错误
+
+按钮还可以被**映射到需要执行的操作**。 例如,如果用户因为选择了错误的网络而不能进行交换,则按钮应显示“切换到以太坊”,并在用户点击按钮时将网络切换到以太坊。 这将显著加速用户的使用流程。
+
+![关键操作正在从主要行动号召启动](./16.png)
+
+![主要行动号召中显示的错误信息](./17.png)
+
+## 使用此 figma 文件构建您自己的设计 {#build-your-own-with-this-figma-file}
+
+得益于多个协议的共同作用,去中心化交易所设计已经有了显著改进。 我们知道用户需要哪些信息,应该如何展示这些信息,以及如何使流程尽可能流畅。
+希望这篇文章提供了关于用户体验原则的全面概述。
+
+如果你想尝试,请随时使用 Figma 线框包。 它尽可能地保持简单,但仍有足够的灵活性,能以各种方式构建基础结构。
+
+[Figma 线框包](https://www.figma.com/community/file/1393606680816807382/dex-wireframes-kit)
+
+去中心化金融将不断发展,而且始终有改进的空间。
+
+祝你好运!
diff --git a/public/content/translations/zh/developers/docs/design-and-ux/heuristics-for-web3/index.md b/public/content/translations/zh/developers/docs/design-and-ux/heuristics-for-web3/index.md
new file mode 100644
index 00000000000..1318c84650d
--- /dev/null
+++ b/public/content/translations/zh/developers/docs/design-and-ux/heuristics-for-web3/index.md
@@ -0,0 +1,138 @@
+---
+title: Web3 界面设计的 7 个启发法
+description: 改进 Web3 可用性的原则
+lang: zh
+---
+
+可用性启发法包含广泛的“经验法则”,你可以用它来衡量网站的可用性。
+这些启发法是为 Web3 量身定制的,并且应该与 Jakob Nielsen 的[界面设计的 10 条基本原则](https://www.nngroup.com/articles/ten-usability-heuristics/)一起使用。
+
+## Web3 的 7 个可用性启发法 {#seven-usability-heuristics-for-web3}
+
+1. 操作后进行反馈
+2. 安全与信任
+3. 突显最重要的信息
+4. 易于理解的术语
+5. 尽可能简短的操作
+6. 灵活且可见的网络连接
+7. 通过应用程序而非钱包进行控制
+
+## 定义与示例 {#definitions-and-examples}
+
+### 1. 操作后进行反馈 {#feedback-follows-action}
+
+**当某些事情已经或即将发生时,应该明确地展示出来。**
+
+用户会以前面步骤的结果为基础,做出后续步骤的决定。 因此,确保他们随时了解系统状态至关重要。 这在 Web3 中尤其重要,因为交易有时只需很短的时间就提交到区块链了。 如果没有反馈来通知他们等待,用户将不确定是否发生了任何操作。
+
+**提示:**
+
+- 通过信息、通知或其他警报来通知用户。
+- 明确地传达等待时间
+- 如果操作需要的时间超过几秒钟,请用一个计时器或动画来让用户放心,让他们知道有操作正在发生。
+- 如果某个过程有多个步骤,请显示每个步骤。
+
+**例如:**
+展示交易中涉及的每个步骤,有助于用户了解自己正处于该过程的什么位置。 适当的图标能让用户了解他们的操作状态。
+
+![交换代币时,通知用户每个步骤](./Image1.png)
+
+### 2. 融入安全与信任 {#security-and-trust-are-backed-in}
+
+应优先考虑安全性,并向用户强调这一点。
+人们非常在乎他们的数据。 安全往往是用户的首要关注点,因此应该在设计的所有层面充分考虑安全问题。 你应该始终努力赢得用户的信任,但实现这一点的方式在不同的应用程序中可能有不同的含义。 这不应该是事后才考虑的问题,而应该有意识地设计为贯穿始终。 在整个用户体验中建立信任,包括社交频道和相关文档,以及最终的用户界面。 诸如去中心化水平、资金库的多重签名状态,以及团队是否接受监督之类的因素,都会影响用户的信任。
+
+**提示:**
+
+- 自豪地展示你的审计
+- 进行多次审计
+- 宣传你设计的任何安全功能
+- 突出可能的风险,包括底层的集成
+- 传达策略的复杂性
+- 考虑可能会影响用户安全感的非用户界面问题
+
+**示例:**
+在页脚以显眼的尺寸包含你的审计内容。
+
+![在网站页脚引用的审计内容](./Image2.png)
+
+### 3. 突显最重要的信息 {#the-most-important-info-is-obvious}
+
+对于复杂的系统,只展示最相关的数据。 确定哪些信息最重要的,并优先展示它们。
+太多的信息会让人无所适从,并且用户通常只依托一条信息做出决定。 在去中心化金融中,这可能会是收益应用程序中的年化收益率和借贷应用程序中的贷款价值比。
+
+**提示:**
+
+- 用户研究将揭示最重要的指标
+- 让关键信息变大,并让其他细节变小且不引人注目
+- 人们不会仔细阅读,而是一扫而过;确保你的设计是可扫视的
+
+**例如:** 在扫视时,巨大的全彩色代币很容易被找到。 年化收益率用大号字体和强调色突出显示。
+
+![易于寻找的代币和年化收益率](./Image3.png)
+
+### 4. 易于理解的术语 {#clear-terminology}
+
+术语应该是易于理解且恰当的。
+技术行话可能构成巨大的阻碍,因为它需要构建一个全新的心理模型。 用户无法将设计与他们已知的词语、短语或概念联系起来。 一切似乎都令人感到困惑且陌生,他们需要经历一条陡峭的学习曲线才能尝试使用。 用户可能是出于省钱的目的而接触到去中心化金融,然而他们发现的却是:挖矿、矿池、质押、排放、贿赂、金库、储物柜、veToken、归属、时段、去中心化算法、协议自有流动性…
+尝试使用大多数人能够理解的简单术语。 不要仅仅为你的项目发明新术语。
+
+**提示:**
+
+- 使用简单且一致的术语
+- 尽可能多地使用现有语言
+- 不要杜撰自己的术语
+- 遵循现有的惯例
+- 尽可能对用户进行教育
+
+**例如:**
+“你的奖励”是一个众所周知的中性词;并非为该项目创造的新词。 以美元计价的奖励符合现实世界的心理模型,即使它们本身是另一种代币。
+
+![以美元展示的代币 奖励](./Image4.png)
+
+### 5. 尽可能简短的操作 {#actions-are-as-short-as-possible}
+
+通过归类子操作的方式来提升用户的交互速度。
+这可以在智能合约的层面上完成,也可以在用户界面完成。 用户不应该为了完成一个常见的操作,而从系统的一部分移动到另一部分,或者完全离开系统。
+
+**提示:**
+
+- 尽可能将“批准”与其他操作相结合
+- 尽可能将签名步骤紧密地捆绑起来
+
+**例如:** 将“增加流动资金”与“质押”结合起来,是一个能节省用户时间与燃料的简单加速器示例。
+
+![此模态展示了一个将存款和质押操作结合在一起的开关](./Image5.png)
+
+### 6. 灵活且可见的网络连接 {#network-connections-are-visible-and-flexible}
+
+告知用户他们所连接的网络,并提供清晰的快捷方式切换网络。
+这在多链应用程序中尤其重要。 当断开连接或连接到不支持的网络时,应用程序的主要功能仍应该可见。
+
+**提示:**
+
+- 在断开连接时显示尽可能多的应用程序内容
+- 显示用户目前连接的网络
+- 不要让用户到钱包中切换网络
+- 如果应用程序需要用户切换网络,请从主要行动号召中提示该操作。
+- 如果应用程序包含多个网络的市场或金库,请明确陈述用户目前查看的是哪一组。
+
+**例如:** 向用户展示他们目前连接的网络,并允许他们在应用程序栏中进行更改。
+
+![显示所连接网络的下拉式菜单按钮](./Image6.png)
+
+### 7. 通过应用程序而非钱包进行控制 {#control-from-the-app-not-the-wallet}
+
+用户界面应该向用户展示他们需要了解的所有内容,并让他们能够控制需要控制的一切。
+在 Web3 中,有些操作需要在用户界面内执行,有些需要在钱包内执行。 一般而言,在用户界面开始一项操作,然后在钱包中确认它。 如果这两条线没有仔细合并,用户可能会感觉不适应。
+
+**提示:**
+
+- 通过用户界面中的反馈来传达系统状态
+- 保存他们的历史记录
+- 提供先前交易的区块浏览器链接
+- 提供切换网络的快捷键
+
+**例如:** 一个巧妙的容器向用户展示了在他们的钱包中拥有哪些相关的代币,而主要行动号召则提供了一个快捷方式来切换网络。
+
+![主要行动号召正在提示用户切换网络](./Image7.png)
diff --git a/public/content/translations/zh/developers/docs/design-and-ux/index.md b/public/content/translations/zh/developers/docs/design-and-ux/index.md
index 12dc874de3e..c9dfd960903 100644
--- a/public/content/translations/zh/developers/docs/design-and-ux/index.md
+++ b/public/content/translations/zh/developers/docs/design-and-ux/index.md
@@ -23,7 +23,6 @@ lang: zh
| 关注领域 | 姓名 |
|:----------------------------------------------------- |:--------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| 加密货币入门 | [CRADL:加密货币研究与设计实验室](https://project-cradl.notion.site/Crypto-Research-and-Design-Lab-50a7127f34ed4c88ad95c7cedf7fbe36) |
| 加密货币入门 | [CRADL:加密货币中的用户体验](https://docs.google.com/presentation/d/1s2OPSH5sMJzxRYaJSSRTe8W2iIoZx0PseIV-WeZWD1s/edit?usp=sharing) |
| 加密货币入门 | [CRADL:加密货币入门](https://docs.google.com/presentation/d/1R9nFuzA-R6SxaGCKhoMbE4Vxe0JxQSTiHXind3LVq_w/edit?usp=sharing) |
| 加密货币入门 | [比特币用户体验报告](https://github.com/patestevao/BitcoinUX-report/blob/master/report.md) |
@@ -32,7 +31,7 @@ lang: zh
| 权益质押 | [质押:主要趋势、要点与预测 - Eth Staker](https://lookerstudio.google.com/u/0/reporting/cafcee00-e1af-4148-bae8-442a88ac75fa/page/p_ja2srdhh2c?s=hmbTWDh9hJo) |
| 权益质押 | [多重应用程序质押](https://github.com/threshold-network/UX-User-Research/blob/main/Multi-App%20Staking%20(MAS)/iterative-user-study/MAS%20Iterative%20User%20Study.pdf) |
| 去中心化自治组织 | [2022 年去中心化自治组织研究更新:去中心化自治组织构建者需要什么?](https://blog.aragon.org/2022-dao-research-update/) |
-| 去中心化金融 | [2023 年去中心化金融现状](https://stateofdefi.org/) |
+| 去中心化金融 | [2024 年去中心化金融状况](https://stateofdefi.org/)(调查进行中) |
| 去中心化金融 | [保险池](https://github.com/threshold-network/UX-User-Research/tree/main/Keep%20Coverage%20Pool) |
| 去中心化金融 | [ConSensys:2022 年去中心化金融用户研究报告](https://cdn2.hubspot.net/hubfs/4795067/ConsenSys%20Codefi-Defi%20User%20ResearchReport.pdf) |
| 元宇宙 | [元宇宙:用户研究报告](https://www.politico.com/f/?id=00000187-7685-d820-a7e7-7e85d1420000) |
@@ -41,9 +40,9 @@ lang: zh
## Web3 相关设计 {#design-for-web3}
+- [Web3 用户体验设计手册](https://web3ux.design/) - 设计 Web3 应用程序实用指南
- [Web3 设计原则](https://medium.com/@lyricalpolymath/web3-design-principles-f21db2f240c1) - 区块链去中心化应用程序的用户体验规则构架
- [区块链设计原则](https://medium.com/design-ibm/blockchain-design-principles-599c5c067b6e) - IBM 区块链设计团队的经验教训
-- [Web3 用户体验中的多维度](https://uxdesign.cc/the-levels-of-web3-user-experience-4f2ad113e37d) - 不同的 Web3 用户体验层分析及其挑战
- [Web3 设计模式](https://www.web3designpatterns.io/) - 真实 Web3 产品的精选设计模式库
- [W3design.io](https://w3design.io/) - 生态系统中不同项目的精选用户界面流程库
- [Neueux](https://neueux.com/apps) - 具有多种过滤选项的用户界面流程库
@@ -51,8 +50,6 @@ lang: zh
## Web3 设计案例研究 {#design-case-studies}
-- [如何编写更好的 Web3 错误信息](https://medium.com/@JonCrabb/how-to-design-better-web3-error-messages-bd96e12fa582)
-- [去中心化金融设计小贴士](https://medium.com/@JonCrabb/defi-design-tips-vol-12-8600f4374714)
- [Deep Work Studio](https://deepwork.studio/case-studies/)
- [加密货币用户体验手册](https://www.cryptouxhandbook.com/)
- [在 OpenSea 售卖非同质化代币](https://builtformars.com/case-studies/opensea)
@@ -61,9 +58,8 @@ lang: zh
## 设计奖励 {#bounties}
- [Dework](https://app.dework.xyz/bounties)
-- [Gitcoin](https://bounties.gitcoin.co/explorer)
-- [Buildbox 黑客马拉松](https://gitcoin.co/hackathons)
-- [ETHGlobal](https://ethglobal.com/)
+- [Buildbox 黑客马拉松](https://app.buidlbox.io/)
+- [ETHGlobal 骇客松](https://ethglobal.com/)
## 设计去中心化自治组织和社区 {#design-daos-and-communities}
@@ -73,8 +69,7 @@ lang: zh
- [Deepwork.studio](https://www.deepwork.studio/)
- [Designer-dao.xyz](https://www.designer-dao.xyz/)
- [We3.co](https://we3.co/)
-- [Openux.xyz](https://openux.xyz/about)
-- [web3trends.org](https://web3trends.org/)
+- [Openux.xyz](https://openux.xyz/)
- [开源 Web3 设计](https://www.web3designers.org/)
## 设计体系 {#design-systems}
@@ -83,6 +78,7 @@ lang: zh
- [Ethereum.org 设计体系](https://www.figma.com/@ethdotorg) (Figma)
- [Finity,来自 Polygon 的设计体系](https://www.figma.com/community/file/1073921725197233598/finity-design-system) (Figma)
- [Kleros 设计体系](https://www.figma.com/community/file/999852250110186964/kleros-design-system) (Figma)
+- [安全设计体系](https://www.figma.com/community/file/1337417127407098506/safe-design-system) (Figma)
- [ENS 设计体系](https://thorin.ens.domains/)
- [Mirror 设计体系](https://degen-xyz.vercel.app/)
diff --git a/public/content/translations/zh/developers/docs/development-networks/index.md b/public/content/translations/zh/developers/docs/development-networks/index.md
index 011bb9247de..a4cb2557fd4 100644
--- a/public/content/translations/zh/developers/docs/development-networks/index.md
+++ b/public/content/translations/zh/developers/docs/development-networks/index.md
@@ -14,7 +14,7 @@ lang: zh
## 什么是开发网络? {#what-is-a-development-network}
-实质上开发网络是指对本地开发特殊设计的以太坊客户端(会对以太坊进行部署应用)。
+实质上开发网络是指哪些对本地开发特殊设计的以太坊客户端(会对以太坊进行部署应用)。
**为什么不在本地运行一个标准的以太坊节点?**
@@ -28,6 +28,16 @@ lang: zh
**注意**:大多数[开发框架](/developers/docs/frameworks/)包含一个内置的开发网络。 我们建议从一个框架开始[设置你的本地开发环境](/developers/local-environment/)。
+### Ganache {#ganache}
+
+快速构建一个个人的以太坊区块链,你可以用它来运行测试,执行命令,并在控制链的运行方式时检查状态。
+
+Ganache提供了一个桌面应用程序 (Ganache UI) 以及一个命令行工具 (`ganache-cli`)。 它是 Truffle 工具套装的一部分。
+
+- [网站](https://www.trufflesuite.com/ganache)
+- [GitHub](https://github.com/trufflesuite/ganache)
+- [相关文档](https://www.trufflesuite.com/docs/ganache/overview)
+
### 安全帽网络 {#hardhat-network}
一个专门用于开发的本地以太坊网络。 该网络允许你部署合约,运行测试并调试代码。
@@ -56,9 +66,9 @@ lang: zh
Kurtosis 是一个用于多容器测试环境的构建系统,让开发者能够在本地构建区块链网络的可复现实例。
-以太坊 Kurtosis 包在本地实例化了一个容器化和可参数化的以太坊测试网,支持多种不同的执行层 (EL) 和共识层 (CL) 客户端以及 n 个节点。 Kurtosis 优雅地处理所有本地端口映射和服务连接,以方便去中心化应用程序和智能合约原型设计和测试。
+以太坊 Kurtosis 包可用于通过 Docker 或 Kubernetes 快速实例化一个可参数化和高度可扩展的私有以太坊测试网。 该包支持所有主要的执行层 (EL) 和共识层 (CL) 客户端。 Kurtosis 可从容处理代表性网络的所有本地端口映射和服务连接,以用于与以太坊核心基础设施相关的验证和测试工作流程。
-- [以太坊网络包](https://github.com/kurtosis-tech/eth-network-package)
+- [以太坊网络包](https://github.com/kurtosis-tech/ethereum-package)
- [网站](https://www.kurtosis.com/)
- [GitHub](https://github.com/kurtosis-tech/kurtosis)
- [相关文档](https://docs.kurtosis.com/)
diff --git a/public/content/translations/zh/developers/docs/evm/index.md b/public/content/translations/zh/developers/docs/evm/index.md
index 645f331d30c..6a1431be867 100644
--- a/public/content/translations/zh/developers/docs/evm/index.md
+++ b/public/content/translations/zh/developers/docs/evm/index.md
@@ -61,7 +61,6 @@ EVM 的所有实现都必须遵守以太坊黄皮书中描述的规范。
- [Py-EVM](https://github.com/ethereum/py-evm) - _Python_
- [evmone](https://github.com/ethereum/evmone) - _C++_
- [ethereumjs-vm](https://github.com/ethereumjs/ethereumjs-vm) - _JavaScript_
-- [eEVM](https://github.com/microsoft/eevm) - _C++_
- [revm](https://github.com/bluealloy/revm) - _Rust_
## 延伸阅读 {#further-reading}
diff --git a/public/content/translations/zh/developers/docs/evm/opcodes/index.md b/public/content/translations/zh/developers/docs/evm/opcodes/index.md
index 3219d820686..7936185fd88 100644
--- a/public/content/translations/zh/developers/docs/evm/opcodes/index.md
+++ b/public/content/translations/zh/developers/docs/evm/opcodes/index.md
@@ -63,7 +63,7 @@ lang: zh
| 3E | RETURNDATACOPY | [A3](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a3-copy-operations) | `dstOst, ost, len` | `.` | mem[dstOst:dstOst+len-1] := returndata[ost:ost+len-1] | copy returned data from last external call |
| 3F | EXTCODEHASH | [A5](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a5-balance-extcodesize-extcodehash) | `addr` | `哈希值` | | hash = addr.exists ? keccak256(addr.code) : 0 |
| 40 | BLOCKHASH | 20 | `blockNum` | `blockHash(blockNum)` | | |
-| 41 | COINBASE | 2 | `.` | `block.coinbase` | | address of miner of current block |
+| 41 | COINBASE | 2 | `.` | `block.coinbase` | | 当前区块提议者地址 |
| 42 | TIMESTAMP | 2 | `.` | `block.timestamp` | | timestamp of current block |
| 43 | NUMBER | 2 | `.` | `block.number` | | number of current block |
| 44 | PREVRANDAO | 2 | `.` | `randomness beacon` | | randomness beacon |
diff --git a/public/content/translations/zh/developers/docs/frameworks/index.md b/public/content/translations/zh/developers/docs/frameworks/index.md
index 8202491c95b..1546fb93b74 100644
--- a/public/content/translations/zh/developers/docs/frameworks/index.md
+++ b/public/content/translations/zh/developers/docs/frameworks/index.md
@@ -45,6 +45,12 @@ lang: zh
- [相关文档](https://docs.web3j.io)
- [GitHub](https://github.com/web3j/web3j)
+**Ethers-kt - ****_ 面向基于以太坊虚拟机区块链的高性能异步 Kotlin/Java/Android 库。_**
+
+- [GitHub](https://github.com/Kr1ptal/ethers-kt)
+- [示例](https://github.com/Kr1ptal/ethers-kt/tree/master/examples)
+- [Discord](https://discord.gg/rx35NzQGSb)
+
**Create Eth App -** **_ 使用一个命令创建以太坊支持的应用程序。 提供众多 UI 框架和去中心化金融模板供选择。_**
- [GitHub](https://github.com/paulrberg/create-eth-app)
@@ -68,7 +74,7 @@ lang: zh
- [alchemy.com](https://www.alchemy.com/)
- [GitHub](https://github.com/alchemyplatform)
-- [Discord](https://discord.com/invite/A39JVCM)
+- [Discord](https://discord.com/invite/alchemyplatform)
**NodeReal -** **_以太坊开发平台。_**
@@ -87,12 +93,24 @@ lang: zh
- [GitHub](https://github.com/chainstack)
- [Discord](https://discord.gg/BSb5zfp9AT)
+**Crossmint -** **_企业级 Web3 开发平台,允许你在各大链以太坊虚拟机链(及其他链)上构建非同质化代币应用程序。_**
+
+- [网站](https://www.crossmint.com)
+- [相关文档](https://docs.crossmint.com)
+- [Discord](https://discord.com/invite/crossmint)
+
**Brownie -** **_ 基于 Python 的开发环境和测试框架。_**
- [相关文档](https://eth-brownie.readthedocs.io/en/latest/)
- [GitHub](https://github.com/eth-brownie/brownie)
- **Brownie 当前未维护**
+**Truffle -** **_开发环境、测试框架、构建管道及其他工具。_**
+
+- [trufflesuite.com](https://www.trufflesuite.com/)
+- [GitHub](https://github.com/trufflesuite/truffle)
+- **Truffle 开发已结束** - [了解更多](https://twitter.com/trufflesuite/status/1704946902393860589?t=NlIWeLTbBSAaJmS5uUAhSA&s=19)
+
**OpenZeppelin SDK -** **_终极智能合约工具包:一套帮助你开发、编译、升级、部署智能合约并与之交互的工具。_**
- [OpenZeppelin SDK](https://openzeppelin.com/sdk/)
@@ -100,6 +118,26 @@ lang: zh
- [社区论坛](https://forum.openzeppelin.com/c/support/17)
- **OpenZeppelin SDK 开发已结束**
+**Catapulta -** **_多链智能合约部署工具,在区块浏览器中自动执行验证,追踪已部署的智能合约并分享部署报告,使 Foundry 和 Hardhat 项目即插即用。_**
+
+- [网站](https://catapulta.sh/)
+- [相关文档](https://catapulta.sh/docs)
+- [Github](https://github.com/catapulta-sh)
+
+**Covalent - ****_适用于 200 多条链的丰富区块链应用程序接口。_**
+
+- [covalenthq.com](https://www.covalenthq.com/)
+- [相关文档](https://www.covalenthq.com/docs/api/)
+- [GitHub](https://github.com/covalenthq)
+- [Discord](https://www.covalenthq.com/discord/)
+
+**Wake -** **_用于合约测试、模糊测试、部署、漏洞扫描和代码导航的一体化 Python 框架。_**
+
+- [主页](https://getwake.io/)
+- [相关文档](https://ackeeblockchain.com/wake/docs/latest/)
+- [GitHub](https://github.com/Ackee-Blockchain/wake)
+- [VS Code 扩展程序](https://marketplace.visualstudio.com/items?itemName=AckeeBlockchain.tools-for-solidity)
+
## 延伸阅读 {#further-reading}
_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
diff --git a/public/content/translations/zh/developers/docs/gas/index.md b/public/content/translations/zh/developers/docs/gas/index.md
index 5161d9e5d01..1751c2f7d7e 100644
--- a/public/content/translations/zh/developers/docs/gas/index.md
+++ b/public/content/translations/zh/developers/docs/gas/index.md
@@ -117,7 +117,7 @@ Gas 对以太坊网络至关重要。 正是这种燃料使它能够运行,正
二层网络扩容是一项主要举措,可大大优化燃料成本、用户体验和可扩展性。 [关于二层网络扩容的更多信息](/developers/docs/scaling/#layer-2-scaling)。
-## 监控燃料费 {#moitoring-gas-fees}
+## 监控燃料费 {#monitoring-gas-fees}
如果想要监控燃料价格,用较少的费用发送以太币,你可以使用多种不同的工具,例如:
diff --git a/public/content/translations/zh/developers/docs/intro-to-ethereum/index.md b/public/content/translations/zh/developers/docs/intro-to-ethereum/index.md
index a7fd0027fcf..5a85a4e2768 100644
--- a/public/content/translations/zh/developers/docs/intro-to-ethereum/index.md
+++ b/public/content/translations/zh/developers/docs/intro-to-ethereum/index.md
@@ -36,7 +36,7 @@ lang: zh
**以太币 (ETH)** 是以太坊上的原生加密货币。 以太币的目的是允许计算市场化。 这种市场为参与者提供了一种经济激励,以验证并执行交易请求,为网络提供计算资源。
-任何广播交易请求的参与者还必须向网络提供一定数量的以太币作为奖金。 网络将把这种奖金奖励给最终验证交易、执行交易、将其提交到区块链并广播到网络的任何人。
+任何广播交易请求的参与者还必须向网络提供一定数量的以太币作为奖金。 网络将燃烧部分奖金,并将剩余部分奖励给最终验证、执行交易,将其提交到区块链并广播到网络的任何人。
支付的以太币数量对应于进行计算所需的资源。 这类奖励也可以阻止恶意参与者通过请求执行无穷计算或其他资源密集型脚本来故意堵塞网络,因为这些参与者必须为计算资源付费。
@@ -107,7 +107,7 @@ lang: zh
## 延伸阅读 {#further-reading}
- [以太坊白皮书](/whitepaper/)
-- [那么,以太坊是如何工作的?](https://www.preethikasireddy.com/post/how-does-ethereum-work-anyway) - _Preethi Kasireddy_(**注意**此资源仍然有价值,但请注意它早于[合并](/roadmap/merge),因此仍然引用以太坊的工作量证明机制 - 实际上现在使用[权益证明](/developers/docs/consensus-mechanisms/pos)来保护以太坊的安全)
+- [那么,以太坊究竟是如何工作的?](https://medium.com/@preethikasireddy/how-does-ethereum-work-anyway-22d1df506369) - _Preethi Kasireddy_(**注意**此资源仍然有价值,但请注意它早于[合并](/roadmap/merge),因此仍然引用以太坊的工作量证明机制 - 实际上以太坊现在使用的是[权益证明](/developers/docs/consensus-mechanisms/pos)来保障安全)
_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
diff --git a/public/content/translations/zh/developers/docs/mev/index.md b/public/content/translations/zh/developers/docs/mev/index.md
index 8164654b5bc..b04017a8e0b 100644
--- a/public/content/translations/zh/developers/docs/mev/index.md
+++ b/public/content/translations/zh/developers/docs/mev/index.md
@@ -6,7 +6,7 @@ lang: zh
最大可提取价值 (MEV) 是指通过在区块中添加和排除交易并更改区块中的交易顺序,可以从区块生产中提取的超过标准区块奖励和燃料费用的最大值。
-## 矿工可提取价值 {#miner-extractable-value}
+## 最大可提取价值 {#maximal-extractable-value}
最大可提取价值首先应用于[工作量证明](/developers/docs/consensus-mechanisms/pow/)背景下,最初称为“矿工可提取价值”。 这是因为在工作量证明中,矿工掌握了交易的包含、排除和顺序。 然而,自从通过[合并](/roadmap/merge)过渡到权益证明以来,验证者一直承担着这些角色的职责,并且挖矿不再是以太坊协议的一部分。 但是,价值提取方法仍然存在,因此现在使用的是术语“最大可提取价值”。
@@ -122,7 +122,7 @@ MEV 并不都是坏事 - 以太坊的 MEV 既有积极的作用,也有消极
在合并后的以太坊中,验证者(已经存入 32 个以太币作为保证金)就添加到信标链的区块的有效性达成共识。 由于 32 个以太币可能超出了许多人的能力范围,[加入质押池](/staking/pools/)也许是一种更可行的选择。 然而,[单独质押人](/staking/solo/)合理分布才是一种理想状态,因为它削弱了验证者的中心化并且提升了以太坊的安全性。
-不过,最大可提取价值提取被认为能够加速验证者中心化。 部分原因是,由于验证者[提出区块的收益要低于](/roadmap/merge/issuance/#how-the-merge-impacts-ETH-supply)当前矿工提出区块的收益,合并后最大可提取价值提取可能会显著[影响验证者的收益](https://github.com/flashbots/eth2-research/blob/main/notebooks/mev-in-eth2/eth2-mev-calc.ipynb)。
+不过,最大可提取价值提取被认为能够加速验证者中心化。 部分原因是,由于验证者[提议区块的收益要低于](/roadmap/merge/issuance/#how-the-merge-impacts-ETH-supply)曾经矿工提议区块的收益,自合并以来,最大可提取价值的提取已显著[影响验证者的收益](https://github.com/flashbots/eth2-research/blob/main/notebooks/mev-in-eth2/eth2-mev-calc.ipynb)。
更大的质押池可能会有更多的资源投资进行必要的优化,以抓住最大可提取价值机会。 这些质押池提取的最大可提取价值越多,它们用来提升最大可提取价值提取能力(并增加总收入)的资源就越多,这在本质上形成了[规模经济](https://www.investopedia.com/terms/e/economiesofscale.asp#)。
@@ -140,7 +140,7 @@ MEV 并不都是坏事 - 以太坊的 MEV 既有积极的作用,也有消极
### 提议者-构建者分离 {#proposer-builder-separation}
-在工作量证明和权益证明机制中,构建区块的节点面向参与共识的其他节点提出区块以将其添加到链中。 新区块在另一位矿工在其上构建区块(在工作量证明中)或从大多数验证者那里获得认证(在权益证明中)后,成为规范链的一部分。
+在工作量证明和权益证明机制中,构建区块的节点面向参与共识的其他节点提出区块以将其添加到链中。 新区块在另一位矿工在其上构建区块(在工作量证明中)后,或从大多数验证者那里获得认证(在权益证明中)后,成为规范链的一部分。
区块生产者和区块提议者角色的合并造成了大多数前面描述的与最大可提取价值相关的问题。 例如,在时间盗贼攻击中,共识节点受到激励引发区块链重组,以最大限度增加最大可提取价值收入。
@@ -180,9 +180,9 @@ MEV 并不都是坏事 - 以太坊的 MEV 既有积极的作用,也有消极
5. 如果区块构建者未能及时响应,使用构建者应用程序接口的验证者仍有可能在本地构建区块,这样他们就不会错过区块提出奖励。 然而,验证者不能使用当前披露的交易或另一个集合创建另一个区块,因为这相当于_模棱两可_(对同一时隙内的两个区块签名),这是一种可受到惩罚的恶行。
-构建者应用程序接口的一个示例实现是 [MEV Boost](https://github.com/flashbots/mev-boost),它是对 [Flashbots 拍卖机制](https://docs.flashbots.net/Flashbots-auction/overview/)的改进,旨在抑制最大可提取价值在以太坊上的负面外部性。 Flashbots 拍卖允许工作量证明下的矿工将构建可获利区块的工作外包给专门的参与方,即**搜索者**。
+构建者应用程序接口的一个示例实现是 [MEV Boost](https://github.com/flashbots/mev-boost),它是对 [Flashbots 拍卖机制](https://docs.flashbots.net/Flashbots-auction/overview/)的改进,旨在抑制最大可提取价值在以太坊上的负面外部性。 Flashbots 拍卖允许权益证明下的验证者将构建可获利区块的工作外包给专门的参与方,称为**搜索者**。
-搜索者寻找利润丰厚的最大可提取价值机会,并向矿工发送交易包以及[价格密封出价](https://en.wikipedia.org/wiki/First-price_sealed-bid_auction),以将交易包添加到区块中。 运行 mev-geth(go-ethereum (Geth) 客户端的分叉版本)的矿工只需要选择利润最高的交易包,并将其作为新区块的一部分开采。 为了避免矿工收到垃圾交易和无效交易,交易包先通过**中继者**验证然后在到达矿工处。
+搜索者寻找利润丰厚的最大可提取价值机会,并向区块提议者发送交易包以及[价格密封出价](https://en.wikipedia.org/wiki/First-price_sealed-bid_auction),以将交易包纳入到区块中。 运行 mev-geth(go-ethereum (Geth) 客户端的分叉版本)的验证者只需要选择利润最高的交易包,并将其纳为新区块的一部分。 为了避免区块提议者(验证者)收到垃圾交易和无效交易,交易包先通过**中继者**验证然后再到达提议者处。
MEV Boost 运行机制与原来的 Flashbots 拍卖相同,但增加了一些针对以太坊向权益证明过渡的新功能。 搜索者仍然寻找有利润的交易以便添加到区块中,但一类新的名为**构建者**的专门参与方负责将交易聚合并打包到区块中。 构建者接受搜索者提供的价格密封出价,并进行优化以找到利润最大的排序。
diff --git a/public/content/translations/zh/developers/docs/networking-layer/index.md b/public/content/translations/zh/developers/docs/networking-layer/index.md
index b0fc6de77bf..6fe7ac80655 100644
--- a/public/content/translations/zh/developers/docs/networking-layer/index.md
+++ b/public/content/translations/zh/developers/docs/networking-layer/index.md
@@ -73,7 +73,7 @@ Hello 消息包含:
#### 线路协议 {#wire-protocol}
-连接对等点并启动 RLPx 会话后,线路协议定义了对等点间的通信方式。 起初,线路协议定义了三项主要任务:链同步、区块传播和交易交换。 但是当以太坊切换至权益证明之后,区块传播和链同步变为共识层的一部分。 交易交换仍由执行客户端负责。 交易交换所指的是节点之间互相交换待处理的交易,以便矿工能够选择其中一些交易放到下一区块中。 有关这些任务的详细信息可从[这里](https://github.com/ethereum/devp2p/blob/master/caps/eth.md)获取。 支持这些子协议的客户端通过 [JSON-RPC](/developers/docs/apis/json-rpc/) 将自己公开给网络中的其它部分。
+连接对等点并启动 RLPx 会话后,线路协议定义了对等点间的通信方式。 起初,线路协议定义了三项主要任务:链同步、区块传播和交易交换。 但是当以太坊切换至权益证明之后,区块传播和链同步变为共识层的一部分。 交易交换仍由执行客户端负责。 交易交换所是指在节点之间交换待处理的交易,以便区块构建者能够选择其中一些交易放到下一区块中。 有关这些任务的详细信息可从[这里](https://github.com/ethereum/devp2p/blob/master/caps/eth.md)获取。 支持这些子协议的客户端通过 [JSON-RPC](/developers/docs/apis/json-rpc/) 将自己公开给网络中的其它部分。
#### les(以太坊轻客户端子协议) {#les}
diff --git a/public/content/translations/zh/developers/docs/networking-layer/portal-network/index.md b/public/content/translations/zh/developers/docs/networking-layer/portal-network/index.md
index f9266e9c052..5a2e52e13f5 100644
--- a/public/content/translations/zh/developers/docs/networking-layer/portal-network/index.md
+++ b/public/content/translations/zh/developers/docs/networking-layer/portal-network/index.md
@@ -55,7 +55,7 @@ JSON-RPC 也不是轻客户端请求数据的理想选择,因为它必须要
- 减少对中心化提供者的依赖
- 减少网络带宽使用
- 最小化或零同步
-- 让资源有限的设备(<1GB ram、<100mB 磁盘、1 个 CPU)可访问
+- 可供资源有限的设备访问(<1 GB 内存、<100 MB 磁盘、1 个 CPU)
下表展示了门户网络可提供的现有客户端的功能,让用户可在极低资源设备上访问它们。
@@ -70,6 +70,7 @@ JSON-RPC 也不是轻客户端请求数据的理想选择,因为它必须要
- [Trin](https://github.com/ethereum/trin):用 Rust 编写
- [Fluffy](https://nimbus.team/docs/fluffy.html):用 Nim 编写
- [Ultralight](https://github.com/ethereumjs/ultralight):用 Typescript 编写
+- [Shisui](https://github.com/GrapeBaBa/shisui):用 Go 编写
多种独立客户端实现提升了以太坊网络的弹性和去中心化。
diff --git a/public/content/translations/zh/developers/docs/networks/index.md b/public/content/translations/zh/developers/docs/networks/index.md
index 3cf4abfca93..57d6cb8f842 100644
--- a/public/content/translations/zh/developers/docs/networks/index.md
+++ b/public/content/translations/zh/developers/docs/networks/index.md
@@ -61,6 +61,7 @@ lang: zh
- [Alchemy Sepolia 水龙头](https://sepoliafaucet.com/)
- [Infura Sepolia 水龙头](https://www.infura.io/faucet)
- [Chainstack Sepolia 水龙头](https://faucet.chainstack.com/sepolia-faucet)
+- [以太坊生态系统水龙头](https://www.ethereum-ecosystem.com/faucets/ethereum-sepolia)
#### Goerli _(长期支持)_ {#goerli}
diff --git a/public/content/translations/zh/developers/docs/nodes-and-clients/client-diversity/index.md b/public/content/translations/zh/developers/docs/nodes-and-clients/client-diversity/index.md
index 31072b6ab63..69f9f4fec56 100644
--- a/public/content/translations/zh/developers/docs/nodes-and-clients/client-diversity/index.md
+++ b/public/content/translations/zh/developers/docs/nodes-and-clients/client-diversity/index.md
@@ -31,7 +31,7 @@ sidebarDepth: 2
超过 33% 的以太坊节点的共识客户端中有一个漏洞,它可能会阻止共识层的最终确定,这意味着用户无法相信交易不会在某些时候被回滚或更改。 对于许多建立在以太坊之上的应用程序,尤其是去中心化金融,这将是一个很大的问题。
- 更糟糕的是,当拥有三分之二多数节点的客户端出现严重漏洞,可能会导致链错误地分叉并最终确定,让大量验证者困陷在无效链上。 如果这些验证者想重新加入正确的链,他们将面临罚没或缓慢而昂贵的自愿退出和重新激活过程。 罚没的轻重随过错节点数量而异,三分之二的大多数将受到最严重的惩罚(32 个以太币)。
+ 更糟糕的是,当拥有三分之二多数节点的客户端出现严重漏洞,可能会导致链错误地分叉并最终确定,让大量验证者困陷在无效链上。 如果这些验证者想重新加入正确的链,他们将面临罚没或缓慢而昂贵的自愿退出和重新激活过程。 罚没的轻重随过错节点数量而异,三分之二的大多数将受到最严重的惩罚(32 个以太币)。
尽管这些情况不太可能发生,但为了降低这类风险,以太坊生态系统可以使客户端均衡分布在活跃节点上。 理想情况下,任何共识客户端任何时候都不会达到总节点数的 33%。
diff --git a/public/content/translations/zh/developers/docs/nodes-and-clients/index.md b/public/content/translations/zh/developers/docs/nodes-and-clients/index.md
index dbdec560ef2..8ab66fdaa82 100644
--- a/public/content/translations/zh/developers/docs/nodes-and-clients/index.md
+++ b/public/content/translations/zh/developers/docs/nodes-and-clients/index.md
@@ -45,7 +45,6 @@ sidebarDepth: 2
- [节点地图](https://etherscan.io/nodetracker)由 Etherscan 区块浏览器提供
- [以太坊节点](https://ethernodes.org/)由 Bitfly 提供
-- [以太坊节点爬虫](https://crawler.ethereum.org/)
- [Nodewatch](https://www.nodewatch.io/) 由 Chainsafe 提供,爬取共识节点
## 节点类型 {#node-types}
@@ -130,13 +129,14 @@ sidebarDepth: 2
下表汇总了不同的客户端。 这些客户端均通过[客户端测试](https://github.com/ethereum/tests)并得到积极维护,以保持与网络升级同步。
-| 客户端 | 语言 | 操作系统: | 网络 | 同步策略 | 状态缓冲 |
-| ----------------------------------------------- | ------- | ------------------- | ------------------------------ | --------------- | -------------- |
-| [Geth](https://geth.ethereum.org/) | Go | Linux、Windows、macOS | 主网、Sepolia、Goerli | 快照、完全 | Archive、Pruned |
-| [Nethermind](http://nethermind.io/) | C#、.NET | Linux、Windows、macOS | 主网、Sepolia、Goerli 及其他 | 快照(不提供服务)、快速、完全 | Archive、Pruned |
-| [Besu](https://besu.hyperledger.org/en/stable/) | Java | Linux、Windows、macOS | Mainnet, Sepolia, Goerli, 以及更多 | 快照、快速、完全 | Archive、Pruned |
-| [Erigon](https://github.com/ledgerwatch/erigon) | Go | Linux、Windows、macOS | Mainnet, Sepolia, Goerli, 以及更多 | 完全 | Archive、Pruned |
-| [Reth](https://github.com/paradigmxyz/reth) | Rust语言 | Linux、Windows、macOS | 主网、Sepolia、Goerli 及其他 | 完全 | Archive、Pruned |
+| 客户端 | 语言 | 操作系统: | 网络 | 同步策略 | 状态缓冲 |
+| ---------------------------------------------------------------------- | ---------- | ------------------- | ------------------ | -------------------------------------------------- | -------------- |
+| [Geth](https://geth.ethereum.org/) | Go | Linux、Windows、macOS | 主网、Sepolia、Holesky | [快照](#snap-sync)、[完全](#full-sync) | Archive、Pruned |
+| [Nethermind](https://www.nethermind.io/) | C#、.NET | Linux、Windows、macOS | 主网、Sepolia、Holesky | [快照](#snap-sync)(不提供服务)、快速、[完全](#full-sync) | Archive、Pruned |
+| [Besu](https://besu.hyperledger.org/en/stable/) | Java | Linux、Windows、macOS | 主网、Sepolia、Holesky | [快照](#snap-sync)、[快速](#fast-sync)、[完全](#full-sync) | Archive、Pruned |
+| [Erigon](https://github.com/ledgerwatch/erigon) | Go | Linux、Windows、macOS | 主网、Sepolia、Holesky | [完全](#full-sync) | Archive、Pruned |
+| [Reth](https://reth.rs/) | Rust语言 | Linux、Windows、macOS | 主网、Sepolia、Holesky | [完全](#full-sync) | Archive、Pruned |
+| [EthereumJS](https://github.com/ethereumjs/ethereumjs-monorepo)_(测试版)_ | TypeScript | Linux、Windows、macOS | Sepolia、Holesky | [完全](#full-sync) | 修剪 |
有关受支持网络的更多信息,请仔细阅读[以太坊网络](/developers/docs/networks/)。
@@ -164,10 +164,28 @@ Nethermind 是使用 C# .NET 技术栈创建的以太坊实现,依照 LGPL-3.0
- 优化虚拟机
- 状态访问
-- 联网和丰富的功能,如 Promethe/Graphana 仪表板、seq 企业日志支持、JSON RPC 跟踪和分析插件
+- 联网和丰富的功能,如 Prometheus/Grafana 仪表板、seq 企业日志支持、JSON-RPC 跟踪和分析插件。
Nethermind 也有[详细的相关文档](https://docs.nethermind.io)、强大的开发支持、在线社区,并为高级用户提供全天候支持。
+### Reth {#reth}
+
+Reth(Rust 以太坊的简称)是一个以太坊全节点实现,专注于用户友好、高度模块化、高速度和高效率。 Reth 一开始由 Paradigm 开发和推动,并依照 Apache 和 MIT 许可证授权。
+
+Reth 已达到生产就绪,适用于质押或高正常运行时间服务之类的关键任务环境。 在需要大裕度高性能保证的使用案例中表现良好,例如远程过程调用、最大可提取价值、索引、模拟和对等网络活动。
+
+查看 [Reth Book](https://reth.rs/) 或 [Reth GitHub 仓库](https://github.com/paradigmxyz/reth?tab=readme-ov-file#reth)了解更多信息。
+
+### 开发中的客户端 {#execution-in-development}
+
+以下客户端仍处于早期开发阶段,尚不建议用于生产。
+
+#### EthereumJS {#ethereumjs}
+
+EthereumJS 执行客户端 (EthereumJS) 是用 TypeScript 编写的,由许多包组成,包括由区块、交易和默克尔帕特里夏树类表示的核心以太坊原语和核心客户端组件(包括以太坊虚拟机 (EVM) 的实现、区块链类和 DevP2P 网络堆栈)。
+
+通过阅读其[相关文档](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master)了解更多信息
+
## 共识客户端 {#consensus-clients}
有多种共识客户端(以前称为“以太坊 2 客户端”)支持[共识升级](/roadmap/beacon-chain/)。 它们负责所有共识相关的逻辑,包括分叉选择算法、处理认证与管理[权益证明](/developers/docs/consensus-mechanisms/pos)奖励及惩罚。
@@ -220,21 +238,32 @@ Teku 用 Java 语言编写,并依照 Apache 2.0 获得许可。 它由 ConsenS
### 执行层同步模式 {#execution-layer-sync-modes}
-#### 完全归档同步 {#full-sync}
+执行层可以在不同的模式下运行,以适应不同的使用案例,从重新执行区块链的世界状态到只从可信检查点同步链的小费。
+
+#### 完全同步 {#full-sync}
-完全同步下载所有区块(包括区块头、交易和收据),并通过执行从创世块开始的每个区块逐步生成区块链的状态。
+完全同步会下载所有区块(包括区块头和区块体),并通过执行自创世块以来的每个区块,以增量方式重新生成区块链的状态。
- 通过验证每笔交易,最大限度地减少信任并实现最高安全性。
- 随着交易数量的增加,处理所有交易可能需要几天到几周时间。
-#### 完全快照同步 {#snap-sync}
+[存档节点](#archive-node)会执行完全同步,以构建(并保留)每个区块中每笔事务所做的状态更改的完整历史记录。
+
+#### 快速同步 {#fast-sync}
+
+与完全同步一样,快速同步会下载所有区块(包括区块头、交易和收据)。 不过,快速同步并不重新处理历史交易,而是依赖收据,直至到达最近的头部时,再切换到导入和处理区块,以提供一个完整的节点。
-快照同步逐块验证区块链,就像完全归档同步一样;然而,有别于从创世块开始验证,它会从更近期的“可信”检查点开始验证,而该检查点已知是真实区块链的一部分。 节点会定期保存检查点,同时删除早于某个时间的数据。 快照用于在需要时重新生成状态数据,而不需要永久保存。
+- 快速同步策略。
+- 降低处理需求以减少带宽使用。
-- 最快的同步策略,目前是以太坊主网默认设置
-- 节省大量磁盘使用空间和网络带宽,同时不影响安全
+#### 快照同步 {#snap-sync}
-[关于快照同步的更多信息](https://github.com/ethereum/devp2p/blob/master/caps/snap.md)
+快照同步同样是逐块验证链。 不同的是,快照同步不是从创世区块开始,而是从一个最近的已知为真实区块链一部分的受信任检查点开始。 节点会定期保存检查点,同时删除早于某个时间的数据。 这些快照被用于在需要时重新生成状态数据,而不是永久储存它。
+
+- 最快的同步策略,目前是以太坊主网的默认策略。
+- 节省大量磁盘空间和网络带宽,同时不牺牲安全性。
+
+[关于快照同步的更多信息](https://github.com/ethereum/devp2p/blob/master/caps/snap.md)。
#### 轻量同步 {#light-sync}
@@ -257,16 +286,14 @@ Teku 用 Java 语言编写,并依照 Apache 2.0 获得许可。 它由 ConsenS
#### 检查点同步 {#checkpoint-sync}
-检查点同步也称为弱主观性同步,可提供卓越的信标节点同步用户体验。 它基于[弱主观性](/developers/docs/consensus-mechanisms/pos/weak-subjectivity/)假设,这使得信标链能够从最近的弱主观性检查点而不是从创世块开始同步。 检查点同步可大幅加快初始同步速度,其信任假设与从[创世块](/glossary/#genesis-block)同步类似。
+检查点同步也称为“弱主观性同步”,在同步信标节点时可提供卓越的用户体验。 它基于[弱主观性](/developers/docs/consensus-mechanisms/pos/weak-subjectivity/)假设,因而能够从最近的弱主观性检查点而不是从创世块同步信标链。 检查点同步可大幅加快初始同步速度,其信任假设与从[创世块](/glossary/#genesis-block)同步时类似。
-在实践中,这意味着你的节点会连接到远程服务,以下载最近的最终确定状态并从该点继续验证数据。 提供数据的第三方应该可信,因此要谨慎加以选择。
+在实践中,这意味着你的节点会连接到远程服务,以下载最近的最终确定状态并从该点继续验证数据。 提供数据的第三方会受到信任,因此要谨慎选择。
关于[检查点同步](https://notes.ethereum.org/@djrtwo/ws-sync-in-practice)的更多信息
## 延伸阅读 {#further-reading}
-你可以在互联网上找到大量关于以太坊客户端的信息。 以下是一些可能有用的资源。
-
- [以太坊 101 - 第二部分 - 了解节点](https://kauri.io/ethereum-101-part-2-understanding-nodes/48d5098292fd4f11b251d1b1814f0bba/a) _– Wil Barnes,2019 年 2 月 13 日_
- [运行以太坊全节点:勉励者指南](https://medium.com/@JustinMLeroux/running-ethereum-full-nodes-a-guide-for-the-barely-motivated-a8a13e7a0d31) _– Justin Leroux,2019 年 11 月 7 日_
diff --git a/public/content/translations/zh/developers/docs/nodes-and-clients/node-architecture/index.md b/public/content/translations/zh/developers/docs/nodes-and-clients/node-architecture/index.md
index 205c6f0fe87..8c3a8aa0bc4 100644
--- a/public/content/translations/zh/developers/docs/nodes-and-clients/node-architecture/index.md
+++ b/public/content/translations/zh/developers/docs/nodes-and-clients/node-architecture/index.md
@@ -12,8 +12,6 @@ lang: zh
![](node-architecture-text-background.png)
-_这张图借用自 geth.ethereum.org,因此它使用 Geth 徽标来表示执行客户端,其他执行客户端选项还包括 Erigon、Nethermind 和 Besu_
-
要使这种双客户端结构发挥作用,共识客户端必须能够将大量交易传递给执行客户端。 在本地执行交易是客户端验证交易未违反任何以太坊规则的方式,并确保提议的以太坊状态更新是正确的。 同样,当节点被选为区块生产者时,共识客户端必须能够从 Geth 请求各种交易,以便将它们添加到新的区块,并通过执行它们来更新全局状态。 本地远程过程调用连接使用[引擎应用程序接口](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md)处理这种跨客户端通信。
## 执行客户端的作用是什么? {#execution-client}
diff --git a/public/content/translations/zh/developers/docs/nodes-and-clients/nodes-as-a-service/index.md b/public/content/translations/zh/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
index 213f137184d..075e4c521b8 100644
--- a/public/content/translations/zh/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
+++ b/public/content/translations/zh/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
@@ -63,19 +63,30 @@ sidebarDepth: 2
- 带有 Request Explorer、Mempool Watcher 和 Composer 的仪表板
- 集成了测试网水龙头访问权限
- 拥有 1.8 万用户的活跃 Discord 构建者社区
+
- [**All That Node**](https://allthatnode.com/)
- [相关文档](https://docs.allthatnode.com/)
- 功能
- - 最大型免费套餐,每天可处理多达 150,000 个请求
- - 访问超过 24 个区块链节点
- - 远程过程调用、安全套接字层超文本传输协议和网络套接字安全端点
+ - 免费套餐每天 50,000 个请求
+ - 支持 40 多种协议
+ - 支持 JSON-RPC(EVM、Tendermint)、REST 和 Websocket API
- 无限制访问归档数据
- - 全天候支持以及超过 99.9% 的正常运行时间
+ - 全天候技术支持和 99.9% 的正常运行时间
- 多链水龙头
- - 使用不受数量限制的应用程序接口密钥无限次访问端点
- - 追踪/调试可用的命名空间
+ - 使用无限数量的 API 密钥进行无限制的端点访问
+ - 支持追踪/调试 API
- 自动更新
- - 技术支持
+
+- [**Amazon Managed Blockchain**](https://aws.amazon.com/managed-blockchain/)
+ - [相关文档](https://aws.amazon.com/managed-blockchain/resources/)
+ - 特性
+ - 完全托管的以太坊节点
+ - 可在六个地区使用
+ - 基于 HTTP 的 JSON-RPC 和安全 WebSockets
+ - 支持 3 条链
+ - SLA、AWS 全天候支持
+ - Go-ethereum 和 Lighthouse
+
- [**Ankr**](https://www.ankr.com/)
- [相关文档](https://docs.ankr.com/)
- 特性
@@ -86,8 +97,9 @@ sidebarDepth: 2
- 随时扩容
- 分析工具
- 仪表板
- - RPC 、 HTTPS 和 WSS 端点
+ - 远程过程调用、安全套接字层超文本传输协议和网络套接字安全端点
- 直接支持
+
- [**Blast**](https://blastapi.io/)
- [相关文档](https://docs.blastapi.io/)
- 特性
@@ -102,12 +114,14 @@ sidebarDepth: 2
- 全天候监控和提醒
- 整体服务等级协议 99.9%
- 加密货币支付
+
- [**BlockDaemon**](https://blockdaemon.com/)
- [相关文档](https://ubiquity.docs.blockdaemon.com/)
- 好处
- 管理面板
- 基于每个节点
- 分析
+
- [**BlockPI**](https://blockpi.io/)
- [相关文档](https://docs.blockpi.io/)
- 特性
@@ -119,9 +133,19 @@ sidebarDepth: 2
- 自定义计划和随用随付的付款方式
- 加密货币支付
- 直接支持与技术支持
+
+- [**Chainbase**](https://www.chainbase.com/)
+ - [相关文档](https://docs.chainbase.com)
+ - 特性
+ - 高可用性、高速和可扩展的远程过程调用服务
+ - 多链支持
+ - 不收费
+ - 用户友好的仪表板
+ - 提供远程过程调用之外的区块链数据服务
+
- [**ChainStack**](https://chainstack.com/)
- [相关文档](https://docs.chainstack.com/)
- - 特性
+ - 功能
- 免费共享节点
- 共享归档节点
- GraphQL 支持
@@ -131,8 +155,9 @@ sidebarDepth: 2
- 使用自己的云服务
- 按小时计费定价
- 全天候直接支持
+
- [**DataHub**](https://datahub.figment.io)
- - [相关文档](https://docs.figment.io/)
+ - [文档](https://docs.figment.io/)
- 特性
- 每月 3 百万个请求的免费套餐选项
- RPC 、 HTTPS 和 WSS 端点
@@ -143,23 +168,25 @@ sidebarDepth: 2
- 仪表板
- 全天候直接支持
- 加密货币支付(企业)
-- [DRPC](https://drpc.org/)
+
+- [**DRPC**](https://drpc.org/)
- [相关文档](https://docs.drpc.org/)
- - 功能
+ - 特性
- 去中心化远程过程调用节点
- 超过 15 个节点提供商
- 节点平衡
- 免费套餐每月计算单元无限制
- 数据验证
- 自定义端点
- - 超文本传输协议和网络套接字安全端点
+ - HTTP 和 WSS 端点
- 无限密钥(免费和付费套餐)
- 灵活的回退选项
- [公共端点](https://eth.drpc.org)
- 免费共享归档节点
+
- [**GetBlock**](https://getblock.io/)
- - [文档](https://getblock.io/docs/get-started/authentication-with-api-key/)
- - 特性
+ - [相关文档](https://getblock.io/docs/get-started/authentication-with-api-key/)
+ - 功能
- 访问超过 40 个区块链节点
- 4 万个每日免费请求
- 无限数量的应用程序接口密钥
@@ -168,8 +195,9 @@ sidebarDepth: 2
- 高级分析
- 自动更新
- 技术支持
+
- [**InfStones**](https://infstones.com/)
- - 特性
+ - 功能
- 免费套餐选项
- 随时扩容
- 分析
@@ -179,6 +207,7 @@ sidebarDepth: 2
- 专用部署的快速同步时间
- 全天候直接支持
- 访问超过 50 个区块链节点
+
- [**Infura**](https://infura.io/)
- [相关文档](https://infura.io/docs)
- 功能
@@ -187,6 +216,7 @@ sidebarDepth: 2
- 付费归档数据
- 直接支持
- 仪表板
+
- [**Kaleido**](https://kaleido.io/)
- [相关文档](https://docs.kaleido.io/)
- 功能
@@ -207,6 +237,7 @@ sidebarDepth: 2
- 支持多云端、多区域及混合部署编排
- 简单的基于质押即服务 (SaaS) 的每小时定价
- 服务等级协议和全天候支持
+
- [**Lava Network**](https://www.lavanet.xyz/)
- [相关文档](https://docs.lavanet.xyz/)
- 功能
@@ -218,6 +249,7 @@ sidebarDepth: 2
- 直观的项目管理界面
- 基于共识的数据完整性
- 多链支持
+
- [**Moralis**](https://moralis.io/)
- [相关文档](https://docs.moralis.io/)
- 功能
@@ -230,6 +262,7 @@ sidebarDepth: 2
- 独特的以太坊软件开发工具包
- 独有的应用程序接口端点
- 直接技术支持
+
- [**NodeReal MegaNode**](https://nodereal.io/)
- [相关文档](https://docs.nodereal.io/nodereal/meganode/introduction)
- 功能
@@ -237,8 +270,9 @@ sidebarDepth: 2
- 面向 Web3 开发者的增强型应用程序接口
- 多链支持
- 免费试用
+
- [**NOWNodes**](https://nownodes.io/)
- - [相关文档](https://documenter.getpostman.com/view/13630829/TVmFkLwy)
+ - [文档](https://documenter.getpostman.com/view/13630829/TVmFkLwy)
- 功能
- 访问超过 50 个区块链节点
- 免费应用程序接口密钥
@@ -247,8 +281,9 @@ sidebarDepth: 2
- 全天候支持团队
- 个人帐户经理
- 共享、归档、备份和专用节点
+
- [**Pocket Network**](https://www.pokt.network/)
- - [相关文档](https://docs.pokt.network/home/)
+ - [文档](https://docs.pokt.network/home/)
- 功能
- 去中心化的远程过程调用协议和市场
- 每天 100 万个请求的免费套餐(每个端点,最多 2 个)
@@ -267,6 +302,7 @@ sidebarDepth: 2
- 最私密的抗审查选项
- 开发者实战支持
- [Pocket Portal](https://bit.ly/ETHorg_POKTportal) 仪表板和分析
+
- [**QuickNode**](https://www.quicknode.com)
- [文档](https://www.quicknode.com/docs/)
- 功能
@@ -280,11 +316,13 @@ sidebarDepth: 2
- 非同质化代币数据和分析应用程序接口
- [已获 SOC2 认证](https://www.quicknode.com/security)
- 适用于企业开发者
+
- [**Rivet**](https://rivet.cloud/)
- [文档](https://rivet.readthedocs.io/en/latest/)
- 功能
- 免费套餐选项
- 随时扩容
+
- [**SenseiNode**](https://senseinode.com)
- [文档](https://docs.senseinode.com/)
- 功能
@@ -292,9 +330,10 @@ sidebarDepth: 2
- 仪表板
- 在拉丁美洲不同地区的多个托管服务提供商上托管 AWS
- Prysm 和 Lighthouse 客户端
+
- [**SettleMint**](https://console.settlemint.com/)
- [文档](https://docs.settlemint.com/)
- - 功能
+ - 特性
- 免费试用
- 随时扩容
- GraphQL 支持
@@ -305,20 +344,34 @@ sidebarDepth: 2
- 仪表板
- 按小时计费定价
- 直接支持
+
- [**Tenderly**](https://tenderly.co/web3-gateway)
- [文档](https://docs.tenderly.co/web3-gateway/web3-gateway)
- - 功能
+ - 特性
- 免费套餐包含每月 2500 万个 Tenderly 单位
- 免费访问历史数据
- 读取繁重型工作负载的速度最多提高 8 倍
- 100% 一致的读取访问
- - JSON 远程过程调用端点
+ - JSON-RPC 端点
- 基于用户界面的远程过程调用请求构造器以及请求预览
- 与 Tenderly 开发、调试和测试工具紧密集成
- 模拟交易
- 使用分析和过滤
- 简单的访问密钥管理
- 通过聊天、电邮和 Discord 提供专门的工程支持
+
+- [**Tokenview**](https://services.tokenview.io/)
+ - [文档](https://services.tokenview.io/docs?type=nodeService)
+ - 特性
+ - 全天候技术支持和开发者 Telegram 社区
+ - 多链支持(比特币、以太坊、Tron、BNB Smart Chain 和以太坊经典)
+ - RPC 和 WSS 端点均开放使用
+ - 无限制访问归档数据应用程序接口
+ - 带有请求浏览器和内存池监视器的仪表板
+ - 非同质化代币数据应用程序接口和网络钩子通知
+ - 加密货币支付
+ - 可满足更多行为需求的外部支持
+
- [**Watchdata**](https://watchdata.io/)
- [文档](https://docs.watchdata.io/)
- 特性
@@ -330,6 +383,7 @@ sidebarDepth: 2
- 支持各种节点
- 资源扩容
- 处理速度快
+
- [**ZMOK**](https://zmok.io/)
- [文档](https://docs.zmok.io/)
- 特性
@@ -338,39 +392,18 @@ sidebarDepth: 2
- 发送交易时,交易手续费和燃料均不受限制
- 最快获取新区块和读取区块链
- 每个应用程序接口调用的最优价格保证
-- [**Chainbase**](https://www.chainbase.com/)
- - [文档](https://docs.chainbase.com)
+
+- [**Zeeve**](https://www.zeeve.io/)
+ - [文档](https://www.zeeve.io/docs/)
- 特性
- - 高可用性、高速和可扩展的远程过程调用服务
- - 多链支持
- - 不收费
- - 用户友好的仪表板
- - 提供远程过程调用之外的区块链数据服务
+ - 企业级无代码自动化平台,提供区块链节点和网络的部署、监控和管理
+ - 超过 30 种支持的协议与集成,种类还在增加
+ - 增值型 Web3 基础设施服务,如去中心化存储、去中心化身份和用于真实世界用例的区块链账本数据应用程序接口
+ - 全天候支持和主动监控始终确保节点的健康
+ - 远程过程调用端点提供对应用程序接口的验证访问,并通过直观的仪表板和分析实现无忧管理。
+ - 提供托管云和自带云选项,支持所有主要云服务提供商,例如 AWS、Azure、Google Cloud、Digital Ocean 和本地服务
+ - 我们每次都会通过智能路由接入到距离你的用户最近的节点
-[**Zeeve**](https://www.zeeve.io/)
-
-- [文档](https://www.zeeve.io/docs/)
-- 特性
- - 企业级无代码自动化平台,提供区块链节点和网络的部署、监控和管理
- - 超过 30 种支持的协议与集成,种类还在增加
- - 增值型 Web3 基础设施服务,如去中心化存储、去中心化身份和用于真实世界用例的区块链账本数据应用程序接口
- - 全天候支持和主动监控始终确保节点的健康
- - 远程过程调用端点要求经过身份验证才能访问应用程序接口,并通过直观的仪表板和分析实现无忧管理
- - 提供托管云和自带云选项,支持所有主要云服务提供商,例如 AWS、Azure、Google Cloud、Digital Ocean 和本地服务
- - 我们每次都会通过智能路由接入到距离你的用户最近的节点
-
-[**Tokenview**](https://services.tokenview.io/)
-
-- [文档](https://services.tokeniew/docs?type=nodeService)
-- 特性
- - 全天候技术支持和开发者 Telegram 社区
- - 多链支持(比特币、以太坊、Tron、BNB Smart Chain 和以太坊经典)
- - 远程过程调用和网络套接字安全端点均开放使用
- - 无限制访问归档数据应用程序接口
- - 带有请求浏览器和内存池监视器的仪表板
- - 非同质化代币数据应用程序接口和网络钩子通知
- - 加密货币支付
- - 可满足更多行为需求的外部支持
## 延伸阅读 {#further-reading}
@@ -383,4 +416,4 @@ sidebarDepth: 2
## 相关教程 {#related-tutorials}
- [使用 Alchemy 开始以太坊开发](/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/)
-- [关于使用 Web3 和 Alchemy 发送交易的指南](/developers/tutorials/sending-transactions-using-web3-and-alchemy/)
+- [使用 web3 和 Alchemy 发送交易指南](/developers/tutorials/sending-transactions-using-web3-and-alchemy/)
diff --git a/public/content/translations/zh/developers/docs/nodes-and-clients/run-a-node/index.md b/public/content/translations/zh/developers/docs/nodes-and-clients/run-a-node/index.md
index b412a6ff866..5cd30210906 100644
--- a/public/content/translations/zh/developers/docs/nodes-and-clients/run-a-node/index.md
+++ b/public/content/translations/zh/developers/docs/nodes-and-clients/run-a-node/index.md
@@ -92,14 +92,15 @@ sidebarDepth: 2
| 客户端 | 磁盘大小(快照同步) | 磁盘大小(完整归档) |
| ---------- | ---------- | ---------- |
-| Geth | 500GB+ | 12TB 以上 |
-| Nethermind | 500GB+ | 12TB 以上 |
| Besu | 800GB 以上 | 12TB 以上 |
| Erigon | 未提供 | 2.5TB 以上 |
+| Geth | 500GB+ | 12TB 以上 |
+| Nethermind | 500GB+ | 12TB 以上 |
+| Reth | 未提供 | 2.2TB 以上 |
-- 注意:Erigon 未提供快照同步,但可以进行完全修剪 (~500GB)
+- 注意:Erigon 和 Reth 不支持快照同步,但能支持完全修剪(Erigon 约需 2TB,Reth 约需 1.2TB)
-对于共识客户端,空间要求也取决于客户端实现和启用的功能(例如验证者、罚没者),但通常需要另外 200GB 磁盘空间存储信标数据。 由于验证者数量巨大,带宽负载也会增加。 你可以[在此分析中找到关于共识客户端要求的详细信息](https://medium.com/@migalabs/analysis-of-ethereum-2-consensus-clients-dfede8e0145e)。
+对于共识客户端,空间要求也取决于客户端实现和启用的功能(例如验证者、罚没者),但通常需要另外 200GB 磁盘空间存储信标数据。 由于验证者数量巨大,带宽负载也会增加。 你可以[在此分析中找到关于共识客户端要求的详细信息](https://mirror.xyz/0x934e6B4D7eee305F8C9C42b46D6EEA09CcFd5EDc/b69LBy8p5UhcGJqUAmT22dpvdkU-Pulg2inrhoS9Mbc)。
#### 即插即用解决方案 {#plug-and-play}
@@ -126,7 +127,7 @@ sidebarDepth: 2
以下是一些可以帮助你安装和控制客户端的项目,只需单击几下即可:
-- [DappNode](https://docs.dappnode.io/user/quick-start/first-steps/) - DappNode 不仅仅可以在供应商提供的机器上安装。 该软件、实际的节点启动器和具有许多功能的控制中心可以在任意硬件上使用。
+- [DappNode](https://docs.dappnode.io/docs/user/getting-started/choose-your-path) - DappNode 不仅仅可以在供应商提供的机器上安装。 该软件、实际的节点启动器和具有许多功能的控制中心可以在任意硬件上使用。
- [eth-docker](https://eth-docker.net/) - 使用 Docker 进行的自动化设置专注于简便和安全的质押,它需要用户具备基本的终端和 Docker 知识。我们推荐进阶用户可以选择此项目。
- [Stereum](https://stereum.net/ethereum-node-setup/) - 通过 SSH 连接在远程服务器上安装客户端的启动器,配备 GUI 设置指南、控制中心和许多其他功能。
- [NiceNode](https://www.nicenode.xyz/) - 提供简便用户体验的启动器,可在你的计算机上运行节点。 只需选择客户端并单击几下即可启动它们。 仍在开发中。
@@ -154,6 +155,7 @@ sidebarDepth: 2
- [Erigon](https://github.com/ledgerwatch/erigon/releases)
- [Geth](https://geth.ethereum.org/downloads/)
- [Nethermind](https://downloads.nethermind.io/)
+- [Reth](https://reth.rs/installation/installation.html)
另外值得注意的是,客户端多样性有关[执行层的问题](/developers/docs/nodes-and-clients/client-diversity/#execution-layer)之一。 我们建议读者考虑运行非主流执行客户端。
@@ -177,7 +179,7 @@ sidebarDepth: 2
另一种验证方式是确保所下载软件的哈希(一种唯一的加密指纹)与开发者提供的哈希相符。 这种方式甚至比使用 PGP 更容易,并且一些客户端仅提供此选项。 只需在下载的软件上运行哈希函数并将其与发布页面中的哈希进行比较。 例如:
-```
+```sh
sha256sum teku-22.6.1.tar.gz
9b2f8c1f8d4dab0404ce70ea314ff4b3c77e9d27aff9d1e4c1933a5439767dde
@@ -213,7 +215,7 @@ sha256sum teku-22.6.1.tar.gz
此令牌由客户端软件自动生成,但在某些情况下,你可能需要自己生成它。 你可以使用 [OpenSSL](https://www.openssl.org/) 生成该令牌:
-```
+```sh
openssl rand -hex 32 > jwtsecret
```
@@ -226,7 +228,7 @@ openssl rand -hex 32 > jwtsecret
- 定义数据目录,包括区块链在内的所有数据都将存储在其中
- 确保用真实路径代替该路径,例如指向外置驱动器的路径
- 启用与客户端通信的接口
- - 包括用于与共识客户端通信的 JSON 远程过程调用和引擎应用程序接口
+ - 包括用于与共识客户端通信的 JSON-RPC 和引擎应用程序接口
- 为经过身份验证的应用程序接口定义 `jwtsecret` 的路径
- 确保将示例路径替换为客户端可以访问的真实路径,例如 `/tmp/jwtsecret`
@@ -236,9 +238,9 @@ openssl rand -hex 32 > jwtsecret
##### 运行 Besu
-此示例在主网上启动 Besu,将区块链数据以默认格式存储在 `/data/ethereum` 下,启用 JSON 远程过程调用和引擎应用程序接口以连接共识客户端。 使用令牌 `jwtsecret` 对引擎应用程序接口进行身份验证,并且只允许来自 `localhost` 的调用。
+此示例在主网上启动 Besu,将区块链数据以默认格式存储在 `/data/ethereum` 下,启用 JSON-RPC 和引擎远程过程调用以连接共识客户端。 使用令牌 `jwtsecret` 对引擎应用程序接口进行身份验证,并且只允许来自 `localhost` 的调用。
-```
+```sh
besu --network=mainnet \
--data-path=/data/ethereum \
--rpc-http-enabled=true \
@@ -250,7 +252,7 @@ besu --network=mainnet \
Besu 还带有一个启动器选项,它会询问一系列问题并生成配置文件。 使用以下命令运行交互式启动器:
-```
+```sh
besu --Xlauncher
```
@@ -258,9 +260,9 @@ besu --Xlauncher
##### 运行 Erigon
-此示例在主网上启动 Erigon,将区块链数据存储在 `/data/ethereum` 下,启用 JSON 远程过程调用,定义允许的命名空间,并启用身份验证以连接由 `jwtsecret` 路径定义的共识客户端。
+此示例在主网上启动 Erigon,将区块链数据存储在 `/data/ethereum` 下,启用 JSON-RPC,定义允许的命名空间,并启用身份验证以连接由 `jwtsecret` 路径定义的共识客户端。
-```
+```sh
erigon --chain mainnet \
--datadir /data/ethereum \
--http --http.api=engine,eth,web3,net \
@@ -271,9 +273,9 @@ erigon --chain mainnet \
##### 运行 Geth
-此示例在主网上启动 Geth,将区块链数据存储在 `/data/ethereum` 下,启用 JSON 远程过程调用并定义允许的命名空间。 它还会启用身份验证(以便连接需要使用 `jwtsecret` 路径的共识客户端)以及定义允许哪些连接的选项,在我们的示例中仅允许来自 `localhost` 的连接。
+此示例在主网上启动 Geth,将区块链数据存储在 `/data/ethereum` 下,启用 JSON-RPC 并定义允许的命名空间。 它还会启用身份验证(以便连接需要使用 `jwtsecret` 路径的共识客户端)以及定义允许哪些连接的选项,在我们的示例中仅允许来自 `localhost` 的连接。
-```
+```sh
geth --mainnet \
--datadir "/data/ethereum" \
--http --authrpc.addr localhost \
@@ -286,9 +288,9 @@ geth --mainnet \
##### 运行 Nethermind
-Nethermind 提供各种[安装选项](https://docs.nethermind.io/nethermind/first-steps-with-nethermind/getting-started)。 该软件包附带各种二进制文件,包括一个带有引导式设置的启动器,它将帮助你以交互方式创建配置。 或者,你会找到可执行文件 Runner,并且可以使用配置标记运行它。 默认情况下启用 JSON 远程过程调用。
+Nethermind 提供各种[安装选项](https://docs.nethermind.io/nethermind/first-steps-with-nethermind/getting-started)。 该软件包附带各种二进制文件,包括一个带有引导式设置的启动器,它将帮助你以交互方式创建配置。 或者,你会找到可执行文件 Runner,并且可以使用配置标记运行它。 默认情况下已启用 JSON-RPC。
-```
+```sh
Nethermind.Runner --config mainnet \
--datadir /data/ethereum \
--JsonRpc.JwtSecretFile=/path/to/jwtsecret
@@ -298,6 +300,19 @@ Nethermind 相关文档提供了有关运行 Nethermind 和共识客户端的[
执行客户端将启动其核心功能及所选端点,并开始寻找对等节点。 成功发现对等节点后,该客户端开始同步。 执行客户端将等待来自共识客户端的连接。 当客户端成功同步到最新状态时,最新的区块链数据将可用。
+##### 运行 Reth
+
+此示例使用默认数据位置在主网上启动 Reth。 启用 JSON-RPC 和引擎远程过程调用身份验证以连接由 `jwtsecret` 路径定义的共识客户端,并仅允许来自 `localhost` 的调用。
+
+```sh
+reth node \
+ --authrpc.jwtsecret /path/to/jwtsecret \
+ --authrpc.addr 127.0.0.1 \
+ --authrpc.port 8551
+```
+
+查看[配置 Reth](https://reth.rs/run/config.html?highlight=data%20directory#configuring-reth) 以了解更多关于默认数据目录的信息。 [Reth 的相关文档](https://reth.rs/run/mainnet.html)包含更多选项和配置详情。
+
#### 启动共识客户端 {#starting-the-consensus-client}
共识客户端必须以正确的端口配置启动,才能与执行客户端建立本地远程过程调用连接。 它在运行时必须使用公开的执行客户端端口作为配置参数。
@@ -308,13 +323,13 @@ Nethermind 相关文档提供了有关运行 Nethermind 和共识客户端的[
在测试网上启动信标节点时,可以使用公共端点进行[检查点同步](https://notes.ethereum.org/@launchpad/checkpoint-sync),从而大大节省同步时间。
-#### 运行共识客户端
+#### 运行共识客户端 {#running-a-consensus-client}
##### 运行 Lighthouse
在运行 Lighthouse 之前,请在 [Lighthouse 手册](https://lighthouse-book.sigmaprime.io/installation.html)中详细了解如何安装和配置它。
-```
+```sh
lighthouse beacon_node \
--network mainnet \
--datadir /data/ethereum \
@@ -327,7 +342,7 @@ lighthouse beacon_node \
通过编译或下载 Docker 映像来安装 Lodestar 软件。 在[相关文档](https://chainsafe.github.io/lodestar/)和更全面的[设置指南](https://hackmd.io/@philknows/rk5cDvKmK)中了解更多信息。
-```
+```sh
lodestar beacon \
--rootDir="/data/ethereum" \
--network=mainnet \
@@ -338,9 +353,9 @@ lodestar beacon \
##### 运行 Nimbus
-Nimbus 包括共识客户端和执行客户端。 它也可以在各种设备上运行,甚至可以在算力很一般的设备上运行。 [安装依赖项和 Nimbus](https://nimbus.guide/quick-start.html)后,你可以运行它的共识客户端:
+Nimbus 包括共识客户端和执行客户端。 它也可以在各种设备上运行,甚至可以在算力很一般的设备上运行。 [安装依赖项和 Nimbus ](https://nimbus.guide/quick-start.html)后,你可以运行它的共识客户端:
-```
+```sh
nimbus_beacon_node \
--network=mainnet \
--web3-url=http://127.0.0.1:8551 \
@@ -352,7 +367,7 @@ nimbus_beacon_node \
Prysm 带有脚本,可实现轻松自动安装。 详细信息可以在 [Prysm 相关文档](https://docs.prylabs.network/docs/install/install-with-script)中找到。
-```
+```sh
./prysm.sh beacon-chain \
--mainnet \
--datadir /data/ethereum \
@@ -362,7 +377,7 @@ Prysm 带有脚本,可实现轻松自动安装。 详细信息可以在 [Prysm
##### 运行 Teku
-```
+```sh
teku --network mainnet \
--data-path "/data/ethereum" \
--ee-endpoint http://localhost:8551 \
@@ -377,7 +392,7 @@ teku --network mainnet \
运行自己的验证者便可以进行[单独质押](/staking/solo/),这是支持以太坊网络的最有影响的去信任方法。 然而,单独质押需要存入 32 个以太币。 若想在自己的节点上运行验证者并质押较少数量的以太币,你可能会对由无需许可的节点运营商组成的去中心化池感兴趣,例如 [Rocket Pool](https://rocketpool.net/node-operators)。
-开始质押和生成验证者密钥的最简单方法是使用 [Goerli 测试网质押启动板](https://goerli.launchpad.ethereum.org/),它允许你通过[在 Goerli 上运行节点](https://notes.ethereum.org/@launchpad/goerli)来测试你的设置。 当准备好使用主网时,你可以使用[主网质押启动板](https://launchpad.ethereum.org/)重复这些步骤。
+开始质押和生成验证者密钥的最简单方法是使用 [Holesky 测试网质押启动板](https://holesky.launchpad.ethereum.org/),它允许你通过[在 Holesky 上运行节点](https://notes.ethereum.org/@launchpad/holesky)来测试你的设置。 当准备好使用主网时,你可以使用[主网质押启动板](https://launchpad.ethereum.org/)重复这些步骤。
研读[质押页面](/staking)以了解质押选项概述。
@@ -431,7 +446,7 @@ _但是,共识层的验证者节点就需要一直在线。_验证者节点离
你应该通过安装最新的安全补丁、功能和[以太坊改进提案](/eips/),让客户端软件更新到最新版本。 特别是在[硬分叉](/history/)之前,确保运行正确的客户端版本。
-> 在重要的网络更新之前,以太坊基金会在其[博客](https://blog.ethereum.org)上发布相关文章。 你可以[订阅这些公告](https://groups.google.com/a/ethereum.org/g/announcements),以便在你的节点需要更新时收到邮件通知。
+> 在重要的网络更新之前,以太坊基金会在其[博客](https://blog.ethereum.org)上发布相关文章。 你可以[订阅这些公告](https://blog.ethereum.org/category/protocol#subscribe),以便在你的节点需要更新时收到邮件通知。
更新客户端非常简单。 每种客户端在其相关文档中都有具体说明,但通常更新过程仅包括下载最新版本并使用正确的可执行文件重启而已。 客户端应该会从上一次中断的位置继续,但请应用所有更新。
diff --git a/public/content/translations/zh/developers/docs/oracles/index.md b/public/content/translations/zh/developers/docs/oracles/index.md
index 1102446497b..f28a5550588 100644
--- a/public/content/translations/zh/developers/docs/oracles/index.md
+++ b/public/content/translations/zh/developers/docs/oracles/index.md
@@ -4,7 +4,7 @@ description: 以太坊智能合约通过预言机访问真实数据,为用户
lang: zh
---
-预言机是使链下数据源可供区块链上的智能合约使用的数据馈送。 由于默认情况下,基于以太坊的智能合约无法访问存储在区块链网络外部的信息,预言机是必不可少的。
+预言机是产生数据馈送的应用程序,使链下数据来源可供区块链用于智能合约。 由于默认情况下,基于以太坊的智能合约无法访问存储在区块链网络外部的信息,预言机是必不可少的。
赋予智能合约使用链下数据执行的能力,扩展了去中心化应用程序的效用和价值。 例如,链上预测市场依靠预言机提供有关结果的信息,用于验证用户的预测。 假设 Alice 下注 20 个以太币赌谁将成为下一任美国 总统。 在这种情况下,预测市场去中心化应用程序需要预言机来确认选举结果,并判定 Alice 是否有资格获得付款。
@@ -274,7 +274,7 @@ contract Oracle {
如果节点的答案不同于多数答案,将对其进行惩罚,即将其代币分发给提供更正确值的其他节点。 强制节点在提供数据之前提供保证金将激励节点做出诚实的响应,因为假定节点是理性的经济活动参与者,意在最大限度地增加回报。
-质押/投票还保护去中心化预言机免受“女巫攻击”,在这种攻击中,恶意参与者创建多个身份来利用共识系统。 然而,质押机制不能防止“揩油行为”(预言机节点从其他节点复制信息)和“懒散验证”(预言机节点随大流而不亲自验证信息)。
+质押/投票还能保护去中心化预言机免受[女巫攻击](/glossary/#sybil-attack),在这种攻击中,恶意参与者创建多个身份来利用共识系统。 然而,质押机制不能防止“揩油行为”(预言机节点从其他节点复制信息)和“懒散验证”(预言机节点随大流而不亲自验证信息)。
##### 谢林点机制
@@ -358,7 +358,7 @@ contract PriceConsumerV3 {
某些区块链应用程序(如基于区块链的游戏或彩票方案),需要高度的不可预测性和随机性才能有效工作。 然而,区块链的确定性执行消除了任何随机性。
-常见方法是采用伪随机加密函数(例如 `blockhash`)但是,它们可被[矿工操纵](https://ethereum.stackexchange.com/questions/3140/risk-of-using-blockhash-other-miners-preventing-attack#:~:text=So%20while%20the%20miners%20can,to%20one%20of%20the%20players.),对工作量证明算法求解。 此外,以太坊[过渡到权益证明](/roadmap/merge/)意味着开发者不能再依靠 `blockhash` 获得链上随机性(然而,信标链的 [RANDAO 机制](https://eth2book.info/altair/part2/building_blocks/randomness)提供了另一种随机性来源)。
+原始方法是采用伪随机加密函数(例如 `blockhash`),但是它们可被[矿工操纵](https://ethereum.stackexchange.com/questions/3140/risk-of-using-blockhash-other-miners-preventing-attack#:~:text=So%20while%20the%20miners%20can,to%20one%20of%20the%20players.),对工作量证明算法进行求解。 同样,以太坊[切换到权益证明](/roadmap/merge/)意味着开发者不再能够依赖 `blockhash` 得到链上随机性。 信标链的 [RANDAO 机制](https://eth2book.info/altair/part2/building_blocks/randomness)为随机性来源提供了替代选择。
可以在链下生成随机值并发送到链上,但这样做对用户有很高的信任要求。 他们必须相信值确实是通过不可预测的机制产生的,并且未在传输过程中遭到改动。
@@ -388,6 +388,8 @@ Chainlink 的 [Keeper 网络](https://chain.link/keepers)提供智能合约方
**[Chainlink](https://chain.link/)** - _Chainlink 去中心化预言机网络提供防篡改的输入、输出和计算,支持任何区块链上的高级智能合约。_
+**[Chronicle](https://chroniclelabs.org/)** - _Chronicle 通过开发真正可扩展、经济高效、去中心化且可验证的预言机来克服当前链上数据传输面临的局限。_
+
**[Witnet](https://witnet.io/)** - _Witnet 是一种无需许可、去中心化和抗审查的预言机,帮助智能合约对真实事件做出响应,提供强大的加密经济保障。_
**[UMA 预言机](https://uma.xyz)** - _UMA 的乐观预言机允许智能合约快速接收不同应用程序的任何类型的数据,包括保险、金融衍生品和预测市场。_
@@ -402,6 +404,8 @@ Chainlink 的 [Keeper 网络](https://chain.link/keepers)提供智能合约方
**[API3 去中心化自治组织](https://www.api3.org/)** - _API3 去中心化自治组织提供第一方预言机解决方案,在智能合约的去中心化解决方案中实现更高的来源透明度、安全性和可扩展性_。
+**[Supra](https://supra.com/)** - 跨链解决方案的垂直集成工具包,可互连所有区块链,不论公共区块链(一层网络和二层网络)还是私人区块链(企业),提供可用于链上和链下用例的去中心化预言机价格源。
+
## 延伸阅读 {#further-reading}
**文章**
@@ -422,6 +426,7 @@ Chainlink 的 [Keeper 网络](https://chain.link/keepers)提供智能合约方
**教程**
- [如何通过 Solidity 语言在以太坊上提取当前价格](https://blog.chain.link/fetch-current-crypto-price-data-solidity/) — _Chainlink_
+- [使用预言机数据](https://docs.chroniclelabs.org/Developers/tutorials/Remix) - _Chronicle_
**示例项目**
diff --git a/public/content/translations/zh/developers/docs/programming-languages/dart/index.md b/public/content/translations/zh/developers/docs/programming-languages/dart/index.md
index d617542f94a..eb7e441cf59 100644
--- a/public/content/translations/zh/developers/docs/programming-languages/dart/index.md
+++ b/public/content/translations/zh/developers/docs/programming-languages/dart/index.md
@@ -10,16 +10,22 @@ incomplete: true
## 教程 {#tutorials}
- [Flutter 和区块链 – Hello World 去中心化应用程序](https://www.geeksforgeeks.org/flutter-and-blockchain-hello-world-dapp/)带你了解所有步骤,内容包括:
- 1. 使用 [Solidity](https://soliditylang.org/) 编写一个智能合约
- 2. 使用 Dart 编写一个用户界面
+ 1. 安装 [Truffle 开发套件](https://www.trufflesuite.com/)
+ 2. 使用 [Solidity](https://soliditylang.org/) 编写一个智能合约
+ 3. 使用 Dart 编写一个用户界面
- 如果你已经了解基础知识,[使用 Flutter 构建移动去中心化应用程序](https://medium.com/dash-community/building-a-mobile-dapp-with-flutter-be945c80315a)的篇幅要短得多,效果可能更好
- 如果你喜欢通过观看视频来学习,可以观看[构建你的第一个区块链 Flutter 应用程序](https://www.youtube.com/watch?v=3Eeh3pJ6PeA),时长大约一个小时
- 如果你不想花这么多时间,你可能喜欢[在以太坊上使用 Flutter 和 Dart 创建去中心化的区块链应用](https://www.youtube.com/watch?v=jaMFEOCq_1s),时长仅约 20 分钟
-- [将 MetaMask 集成到 Flutter 应用程序中](https://youtu.be/8qzVDje3IWk) — 这个短片会带你了解如何一步步将 MetaMask 集成到你的 Flutter 应用程序中。
+- 使用 WalletConnect 开发的 Web3Modal 库,将 MetaMask 集成到 Flutter 应用程序中<0> - 这个短视频教你使用 WallectConnect 开发的 Web3Modal <1>库,一步步地将 MetaMask 集成到你的 Flutter 应用程序中
+
+ - [Flutter 去中心化应用程序简易钱包](https://youtu.be/JMfIBpuAhKA)和[首个 Flutter 去中心化应用程序 - Solidity、Truffle、Ganache](https://youtu.be/bHw2gQZxJ_s) - 这些视频展示了如何使用 Truffle 和 Ganache 在 Flutter 中构建简易的去中心化应用程序
+- [Solidity & Flutter 移动区块链开发者训练营课程](https://youtube.com/playlist?list=PL4V4Unlk5luhQ26ERO6hWEbcUwHDSSmVH) - 全栈移动区块链开发者课程播放列表
+
+
## 使用以太坊客户端 {#working-with-ethereum-clients}
-你可以使用以太坊来创建去中心化应用程序(或称“dapp”),这种应用可以利用加密货币和区块链技术。 Dart 当前至少维护了两个调用以太坊 [JSON RPC 应用程序接口](/developers/docs/apis/json-rpc/)的库。
+你可以使用以太坊来创建去中心化应用程序(或称“dapp”),这种应用可以利用加密货币和区块链技术。 目前至少有两个为 Dart 维护的库,用于调用以太坊的 [JSON-RPC 应用程序接口](/developers/docs/apis/json-rpc/)。
1. [来自 simonbutler.eu 的 Web3dart](https://pub.dev/packages/web3dart)
1. [来自 darticulate.com 的以太坊 5.0.0](https://pub.dev/packages/ethereum)
diff --git a/public/content/translations/zh/developers/docs/programming-languages/golang/index.md b/public/content/translations/zh/developers/docs/programming-languages/golang/index.md
index ac7fdfaefad..3c3d9bc2453 100644
--- a/public/content/translations/zh/developers/docs/programming-languages/golang/index.md
+++ b/public/content/translations/zh/developers/docs/programming-languages/golang/index.md
@@ -23,6 +23,7 @@ incomplete: true
## 初学者文章和书籍 {#beginner-articles-and-books}
+- [选择以太坊客户端](https://www.trufflesuite.com/docs/truffle/reference/choosing-an-ethereum-client)
- [开始使用 Geth](https://medium.com/@tzhenghao/getting-started-with-geth-c1a30b8d6458)
- [使用 Golang 连接到以太坊](https://www.youtube.com/watch?v=-7uChuO_VzM)
- [使用 Golang 部署以太坊智能合约](https://www.youtube.com/watch?v=pytGqQmDslE)
@@ -64,6 +65,7 @@ incomplete: true
- [Multi Geth](https://github.com/multi-geth/multi-geth) - _支持多种以太坊网络_
- [Geth Light Client](https://github.com/zsfelfoldi/go-ethereum/wiki/Geth-Light-Client) - _轻量级以太坊子协议的 Geth 实现_
- [以太坊 Golang 软件开发工具包](https://github.com/everFinance/goether) - _Golang 中的简单以太坊钱包实现和实用程序_
+- [Covalent Golang 软件开发工具包](https://github.com/covalenthq/covalent-api-sdk-go) - _通过 Go 软件开发工具包高效访问多达 200 个区块链的区块链数据_
想要获取更多的资源? 请查看 [ethereum.org/developers](/developers/)。
diff --git a/public/content/translations/zh/developers/docs/programming-languages/java/index.md b/public/content/translations/zh/developers/docs/programming-languages/java/index.md
index 70dcc27943e..8dcc277a79d 100644
--- a/public/content/translations/zh/developers/docs/programming-languages/java/index.md
+++ b/public/content/translations/zh/developers/docs/programming-languages/java/index.md
@@ -33,6 +33,11 @@ incomplete: true
- [在 Java 集成测试中运行一个 Hyperledger Besu (Pantheon) 节点](https://kauri.io/article/7dc3ecc391e54f7b8cbf4e5fa0caf780/running-a-pantheon-node-in-java-integration-tests)
- [Web3j 备忘单](https://kauri.io/web3j-cheat-sheet-(java-ethereum)/5dfa1ea941ac3d0001ce1d90/c)
+学习如何使用 [ethers-kt](https://github.com/Kr1ptal/ethers-kt),一个用来同基于以太坊虚拟机的区块链互动的高性能异步 Kotlin 库。 面向 Java 虚拟机和 Android 平台。
+- [转移 ERC20 代币](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/abi/TransferERC20.kt)
+- [带事件监听的 UniswapV2 Swap](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/tokenswapwitheventlistening/TokenSwapWithEventListening.kt)
+- [以太币 / ERC20 余额追踪器](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/balancetracker/BalanceTracker.kt)
+
## 面向中等程度用户的文章 {#intermediate-articles}
- [使用星际文件系统在 Java 应用程序中管理存储](https://kauri.io/article/3e8494f4f56f48c4bb77f1f925c6d926/managing-storage-in-a-java-application-with-ipfs)
@@ -47,6 +52,7 @@ incomplete: true
- [Hyperledger Besu (Pantheon)(以太坊客户端)](https://docs.pantheon.pegasys.tech/en/stable/)
- [Web3J(与以太坊客户端交互的库)](https://github.com/web3j/web3j)
+- [ethers-kt(面向基于以太坊虚拟机区块链的高性能异步 Kotlin/Java/Android 库)](https://github.com/Kr1ptal/ethers-kt)
- [Eventeum(事件侦听器)](https://github.com/ConsenSys/eventeum)
- [Mahuta(IPFS 开发者工具)](https://github.com/ConsenSys/mahuta)
diff --git a/public/content/translations/zh/developers/docs/programming-languages/python/index.md b/public/content/translations/zh/developers/docs/programming-languages/python/index.md
index bcf045a97d0..5b2b8efb332 100644
--- a/public/content/translations/zh/developers/docs/programming-languages/python/index.md
+++ b/public/content/translations/zh/developers/docs/programming-languages/python/index.md
@@ -51,21 +51,22 @@ incomplete: true
- [Web3.py](https://github.com/ethereum/web3.py) - _用于与以太坊交互的 Python 库_
- [Vyper](https://github.com/ethereum/vyper/) - _一种适用于以太坊虚拟机的 Python 智能合约语言_
- [Ape](https://github.com/ApeWorX/ape) - _面向 Pythonista、数据科学家和安全专业人员的智能合约开发工具_
-- [Brownie](https://github.com/eth-brownie/brownie) - _一个用于部署、测试以太坊智能合约并与之交互的 Python 框架_
- [py-evm](https://github.com/ethereum/py-evm) - _以太坊虚拟机的实现_
- [eth-tester](https://github.com/ethereum/eth-tester) - _用于测试以太坊应用程序的工具_
- [eth-utils](https://github.com/ethereum/eth-utils/) - _使用以太坊相关代码库的实用程序函数_
- [py-solc-x](https://pypi.org/project/py-solc-x/) - _适用于 solc Solidity 编译器(支持 0.5.x)的 Python 装饰器_
-- [py-wasm](https://github.com/ethereum/py-wasm) - _使用 Python 实现的 Web 汇编解释器_
-- [pydevp2p](https://github.com/ethereum/pydevp2p) - _使用 Python 实现 P2P 协议栈_
- [pymaker](https://github.com/makerdao/pymaker) - _面向 Maker 合约的 Python 应用程序接口_
- [siwe](https://github.com/spruceid/siwe-py) - _面向 Python 的以太坊登录服务 (siwe)_
- [用于以太坊集成的 Web3 去中心化金融](https://github.com/tradingstrategy-ai/web3-ethereum-defi) - _一个 Python 包,具有适用于 ERC-20、Uniswap 和其他流行项目的现成集成_
+- [Wake](https://getwake.io) - _用于合约测试、模糊测试、部署、漏洞扫描和代码导航的一体化 Python 框架(语言服务器 - [Solidity 工具](https://marketplace.visualstudio.com/items?itemName=AckeeBlockchain.tools-for-solidity))_
### 已归档/不再维护: {#archived--no-longer-maintained}
- [Trinity](https://github.com/ethereum/trinity) - _以太坊的 Python 客户端_
- [Mamba](https://github.com/arjunaskykok/mamba) - _一个用 Vyper 语言编写、编译和部署智能合约的框架_
+- [Brownie](https://github.com/eth-brownie/brownie) - _一个用于部署、测试以太坊智能合约并与之交互的 Python 框架_
+- [pydevp2p](https://github.com/ethereum/pydevp2p) - _使用 Python 实现 P2P 协议栈_
+- [py-wasm](https://github.com/ethereum/py-wasm) - _使用 Python 实现的 Web 汇编解释器_
想要获取更多的资源? 请查看 [ethereum.org/developers](/developers/)。
@@ -86,4 +87,4 @@ incomplete: true
## 其他汇总列表 {#other-aggregated-lists}
-Vyper 维基百科包含[丰富的 Vyper 资源列表](https://github.com/ethereum/vyper/wiki/Vyper-tools-and-resources)
+Vyper 维基百科包含[丰富的 Vyper 资源列表](https://github.com/vyperlang/vyper/wiki/Vyper-tools-and-resources)
\ No newline at end of file
diff --git a/public/content/translations/zh/developers/docs/programming-languages/rust/index.md b/public/content/translations/zh/developers/docs/programming-languages/rust/index.md
index d041b78b04e..bd2af567b0f 100644
--- a/public/content/translations/zh/developers/docs/programming-languages/rust/index.md
+++ b/public/content/translations/zh/developers/docs/programming-languages/rust/index.md
@@ -22,6 +22,7 @@ incomplete: true
## 初学者文章 {#beginner-articles}
+- [选择以太坊客户端](https://www.trufflesuite.com/docs/truffle/reference/choosing-an-ethereum-client)
- [Rust 以太坊客户端](https://openethereum.github.io/) \* **注意 OpenEthereum [已被废弃](https://medium.com/openethereum/gnosis-joins-erigon-formerly-turbo-geth-to-release-next-gen-ethereum-client-c6708dd06dd)并已停止维护。** 请谨慎使用,最好切换至其他客户端实现。
- [使用 Rust 向以太坊发送交易](https://kauri.io/#collections/A%20Hackathon%20Survival%20Guide/sending-ethereum-transactions-with-rust/)
- [如何用 Rust Wasm 为 Kovan 编写合约的分步教程](https://github.com/paritytech/pwasm-tutorial)
@@ -41,16 +42,17 @@ incomplete: true
- [pwasm-ethereum](https://github.com/paritytech/pwasm-ethereum) - _与类似以太坊的网络交互的外部帐户集合_
- [Lighthouse](https://github.com/sigp/lighthouse) - _以太坊快速共识层客户端_
- [ Ethereum WebAssembly](https://ewasm.readthedocs.io/en/mkdocs/) - _使用 WebAssembly 的确定性子集对以太坊智能合约执行层建议的重新设计_
-- [oasis_std](https://docs.rs/oasis-std/latest/oasis_std/index.html) - _OASIS API 参考_
+- [oasis_std](https://docs.rs/oasis-std/latest/oasis_std/index.html) - _OASIS 应用程序接口参考_
- [Solaris](https://github.com/paritytech/sol-rs) - _使用本机 Parity 客户端以太坊虚拟机的 Solidity 智能合约单元测试工具。_
- [SputnikVM](https://github.com/rust-blockchain/evm) - _以太坊虚拟机的 Rust 实现_
- [Wavelet](https://wavelet.perlin.net/docs/smart-contracts) - _Rust 语言的 Wavelet 智能合约_
- [Foundry](https://github.com/foundry-rs/foundry) - _以太坊应用程序开发工具包_
-- [Alloy](https://alloy.rs) - _用于与以太坊和其他基于 EVM 的链交互的高性能、经过充分测试和记录的库。_
+- [Alloy](https://alloy.rs) - _高性能、严格测试且文档完备的程序库,用于与以太坊和其他基于以太坊虚拟机的链交互。_
- [Ethers_rs](https://github.com/gakonst/ethers-rs) - _以太坊库和钱包的实现_
- [SewUp](https://github.com/second-state/SewUp) - _一个帮助用户用 Rust 语言构建以太坊 Webassembly 合约的库,正如在公共后端中开发一样_
- [Substreams](https://github.com/streamingfast/substreams) - _并行化区块链数据索引技术_
-- [Reth](https://github.com/paradigmxyz/reth) - Reth 即 Rust Ethereum 简称的发音,是新的以太坊全节点实现
+- [Reth](https://github.com/paradigmxyz/reth) - Reth 即 Rust 以太坊的简称,是新的以太坊全节点实现
+- [Awesome Ethereum Rust](https://github.com/Vid201/awesome-ethereum-rust) - _ 以太坊生态系统中用 Rust 编写的项目精选集合_
想要获取更多的资源? 请查看 [ethereum.org/developers](/developers/)。
diff --git a/public/content/translations/zh/developers/docs/scaling/index.md b/public/content/translations/zh/developers/docs/scaling/index.md
index e47564f9dda..b8e1be345e5 100644
--- a/public/content/translations/zh/developers/docs/scaling/index.md
+++ b/public/content/translations/zh/developers/docs/scaling/index.md
@@ -9,7 +9,7 @@ sidebarDepth: 3
随着以太坊使用人数增加,区块链已经达到了一定的容量限制。 这提高了网络使用成本,从而导致需要“扩容解决方案”。 目前正在研究、测试和执行多种解决方案,这些方案采取不同的办法来实现类似的目标。
-扩容的主要目的是提升交易速度(更快确定交易)和交易吞吐量(更高每秒交易量),而不影响去中心化或安全性(详情请见[以太坊愿景](/roadmap/vision/))。 在第一层以太坊区块链上,高需求导致交易速度减慢和[燃料价格](/developers/docs/gas/)难以持续。 提高网络速度和吞吐量是有意义地大规模采用以太坊的基础。
+可扩展性的主要目标是,在不牺牲去中心化或安全性的情况下提高交易速度(更快的最终确定性)和交易吞吐量(每秒更高的交易数量)(详情请参阅[以太坊愿景](/roadmap/vision/))。 在第一层以太坊区块链上,高需求导致交易速度减慢和[燃料价格](/developers/docs/gas/)难以持续。 提高网络速度和吞吐量是有意义地大规模采用以太坊的基础。
虽然速度和吞吐量很重要,但实现这些目标的扩容解决方案必须保持去中心化和安全性。 降低节点运营商的进入门槛,对于防止向不安全的中心化计算能力发展至关重要。
diff --git a/public/content/translations/zh/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/zh/developers/docs/scaling/optimistic-rollups/index.md
index 861e0a45842..b6f72deca75 100644
--- a/public/content/translations/zh/developers/docs/scaling/optimistic-rollups/index.md
+++ b/public/content/translations/zh/developers/docs/scaling/optimistic-rollups/index.md
@@ -6,7 +6,7 @@ lang: zh
乐观卷叠是二层网络 (L2) 协议,该协议旨在扩展以太坊基础层的吞吐量。 它们通过在链下处理交易来减少以太坊主链上的计算量,从而显著提高处理速度。 与其他扩容解决方案(例如[侧链](/developers/docs/scaling/sidechains/))不同,乐观卷叠从主网(通过在链上发布交易结果)或从 [Plasma 链](/developers/docs/scaling/plasma/)(该链还使用欺诈证明验证以太坊上的交易,但将交易数据存储在其他地方)获取安全性。
-由于计算是使用以太坊时缓慢而昂贵的部分,因此乐观卷叠可以提供高达 10-100 倍的可扩展性改进。 乐观卷叠还将交易以 `calldata` 的形式写入以太坊,从而降低用户的燃料成本。
+由于计算是使用以太坊时缓慢而昂贵的部分,因此乐观卷叠可以提供高达 10-100 倍的可扩展性改进。 乐观卷叠还会将交易以 `calldata` 或 [blob](/roadmap/danksharding/) 的形式写入以太坊,从而降低用户的燃料成本。
## 前提条件 {#prerequisites}
@@ -14,7 +14,7 @@ lang: zh
## 什么是乐观卷叠? {#what-is-an-optimistic-rollup}
-乐观卷叠是一种扩容以太坊的方法,涉及将计算和状态存储移至链下。 乐观卷叠在以太坊之外执行交易,但将交易数据作为 `calldata` 发布到主网。
+乐观卷叠是一种扩容以太坊的方法,涉及将计算和状态存储移至链下。 乐观卷叠在以太坊之外执行交易,但将交易数据以 `calldata` 或[二进制大对象](/roadmap/danksharding/)的形式发布到主网。
乐观卷叠运营商将多个链下交易大批量捆绑在一起,然后再提交到以太坊。 这种方法可以将固定成本分散到每批中的多笔交易中,从而降低最终用户的费用。 乐观卷叠还使用压缩技术来减少发布在以太坊上的数据量。
@@ -44,7 +44,7 @@ lang: zh
### 数据可用性 {#data-availability}
-如前所述,乐观卷叠将交易数据作为 `calldata` 发布到以太坊。 由于卷叠链的执行基于提交的交易,任何人都可以使用此信息(锚定在以太坊的基础层)来执行卷叠的状态并验证状态转换的正确性。
+如前所述,乐观卷叠将交易数据以 `calldata` 或[二进制大对象](/roadmap/danksharding/)的形式发布到以太坊。 由于卷叠链的执行基于提交的交易,任何人都可以使用此信息(锚定在以太坊的基础层)来执行卷叠的状态并验证状态转换的正确性。
[数据可用性](/developers/docs/data-availability/)至关重要,因为如果不能访问状态数据,挑战者就不能构造欺诈证明来质疑无效的卷叠操作。 有了以太坊提供的数据可用性,就降低了卷叠运营商逃脱恶意行为(例如,提交无效区块)的风险。
@@ -86,9 +86,9 @@ lang: zh
#### 提交卷叠区块到以太坊 {#submitting-blocks-to-ethereum}
-如前所述,乐观卷叠的运营商将链下交易捆绑成一个批次,并将其发送到以太坊进行公证。 此过程涉及压缩交易相关数据并将其作为 `calldata` 发布到以太坊上。
+如前所述,乐观卷叠的运营商将链下交易捆绑成一个批次,并将其发送到以太坊进行公证。 此过程涉及压缩与交易相关的数据并将其以 `calldata` 或二进制大对象的形式发布在以太坊上。
-`calldata` 是智能合约中不可修改、非持久的区域,其行为与[内存](/developers/docs/smart-contracts/anatomy/#memory)非常相似。 而 `calldata` 作为区块链的[历史日志](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs)部分,不会存储为以太坊状态的一部分。 因为 `calldata` 不涉及以太坊状态的任何部分,所以在链上存储数据更便宜。
+`calldata` 是智能合约中不可修改、非持久的区域,其行为与[内存](/developers/docs/smart-contracts/anatomy/#memory)非常相似。 而 `calldata` 作为区块链的[历史日志](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs)部分,不会存储为以太坊状态的一部分。 由于 `calldata` 不触及以太坊状态的任何部分,因此它比链上存储数据的状态更便宜。
`calldata` 关键字也在 Solidity 中用于在执行时将参数传递给智能合约函数。 `calldata` 识别在交易期间被调用的函数,并以任意字节序列的形式保存函数的输入。
@@ -96,6 +96,10 @@ lang: zh
以下是一个卷叠批量提交的[示例](https://etherscan.io/tx/0x9102bfce17c58b5fc1c974c24b6bb7a924fb5fbd7c4cd2f675911c27422a5591),以展示此概念的工作原理。 排序者调用 `appendSequencerBatch()` 方法并使用 `calldata` 将压缩的交易数据作为输入传递。
+一些卷叠现在使用二进制大对象将批量交易发布到以太坊。
+
+二进制大对象是不可修改且非持久化的(就像 `calldata` 一样),但会在大约 18 天后从历史记录中删除。 有关二进制大对象的更多信息,请参阅 [Danksharding](/roadmap/danksharding)。
+
### 状态承诺 {#state-commitments}
在任何时间点,乐观卷叠状态(帐户、余额、合约代码等)都被组织为 [Merkle 树](/whitepaper/#merkle-trees),也称为“状态树”。 此 Merkle 树的根(状态根)引用卷叠的最新状态,经过哈希处理并存储在卷叠合约中。 链上的每个状态转换都会产生一个新的卷叠状态,运营商通过计算新的状态根来提交该状态。
@@ -194,9 +198,9 @@ ii. 使用乐观卷叠的开发者和项目团队可以利用以太坊的基础
乐观卷叠使用类似于以太坊的燃料费方案来表示用户为每笔交易支付的费用。 乐观卷叠收取的费用取决于以下组成部分:
-1. **状态写入**:乐观卷叠将交易数据和区块头(由前一个区块头哈希、状态根、批处理根组成)作为 `calldata` 发布到以太坊。 以太坊交易的最低成本是 21,000 燃料。 乐观卷叠可以通过在单个区块中批量处理多笔交易(将 21k 燃料摊销到多个用户交易)来降低将交易写入 L1 的成本。
+1. **状态写入**:乐观卷叠将交易数据和区块头(由前一个区块头哈希、状态根、批处理根组成)作为 `blob`,即二进制大对象,发布到以太坊。 [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) 引入了在链上纳入数据的高成本效益解决方案。 `blob` 是一个允许卷叠将压缩状态的转换数据发布到以太坊一层网络的新交易字段。 与永驻链上的 `calldata` 不同,二进制大对象的生命周期很短,在 [4096 个时段](https://github.com/ethereum/consensus-specs/blob/81f3ea8322aff6b9fb15132d050f8f98b16bdba4/configs/mainnet.yaml#L147)(大约 18 天)后即可从客户端删除。 通过使用二进制大对象发布批量压缩交易,乐观卷叠可以大幅降低向一层网络写入交易的成本。
-2. **`calldata`**:除了基本交易费用之外,每个状态写入的成本取决于发布到 L1 的 `calldata` 大小。 `calldata` 费用目前由 [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) 监管,它规定对于 `calldata` 的非零字节和零字节费用分别为 16 单位和 4 单位燃料。 为了降低用户费用,卷叠运营商压缩交易以减少在以太坊上发布的 `calldata` 字节数。
+2. **使用的二进制大对象燃料**:二进制大对象携带的交易采用类似于 [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) 中引入的动态费用机制。 第三类型交易的燃料费考虑了二进制大对象的基础费,后者由网络根据二进制大对象空间需求和所发送交易的二进制大对象空间使用情况来决定。
3. **二层网络运营商费用**:这是支付给卷叠节点的金额,用来补偿处理交易时产生的计算成本,很像以太坊上的燃料费用。 由于二层网络处理能力更强,并且不会出现网络拥塞迫使以太坊上的验证者优先处理费用更高的交易,卷叠节点收取的交易费更低。
@@ -258,6 +262,7 @@ ii. 使用乐观卷叠的开发者和项目团队可以利用以太坊的基础
## 阅读关于乐观卷叠的更多信息
- [乐观卷叠如何工作(完整指南)](https://www.alchemy.com/overviews/optimistic-rollups)
+- [什么是区块链卷叠? 技术介绍](https://www.ethereum-ecosystem.com/blog/what-is-a-blockchain-rollup-a-technical-introduction)
- [Arbitrum 基本指南](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum)
- [乐观卷叠究竟如何工作?](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work)
- [深入研究乐观虚拟机](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52)
diff --git a/public/content/translations/zh/developers/docs/scaling/sidechains/index.md b/public/content/translations/zh/developers/docs/scaling/sidechains/index.md
index 67ea4b14803..2fea96dd9fe 100644
--- a/public/content/translations/zh/developers/docs/scaling/sidechains/index.md
+++ b/public/content/translations/zh/developers/docs/scaling/sidechains/index.md
@@ -17,7 +17,7 @@ sidebarDepth: 3
使侧链独一无二(即不同于以太坊)的特点之一是使用了共识算法。 侧链不依赖以太坊达成共识,并可以选择适合其需求的替代共识协议。 侧链上使用的共识算法的一些示例包括:
-- [权威证明](https://wikipedia.org/wiki/Proof_of_authority)
+- [权威证明](/developers/docs/consensus-mechanisms/poa/)
- [委托权益证明](https://en.bitcoin.it/wiki/Delegated_proof_of_stake)
- [拜占庭容错算法](https://decrypt.co/resources/byzantine-fault-tolerance-what-is-it-explained)。
diff --git a/public/content/translations/zh/developers/docs/scaling/state-channels/index.md b/public/content/translations/zh/developers/docs/scaling/state-channels/index.md
index ef9886a7fb8..dfa294a47a3 100644
--- a/public/content/translations/zh/developers/docs/scaling/state-channels/index.md
+++ b/public/content/translations/zh/developers/docs/scaling/state-channels/index.md
@@ -7,255 +7,61 @@ sidebarDepth: 3
状态通道让参与者可以安全地进行链下交易,同时最大限度地减少和以太坊主网的交互。 通道对等节点可以进行任意数量的链下交易,并且只需提交两个链上交易以打开和关闭通道。 这样便实现了极高的交易吞吐量,并为用户降低了成本。
-## 前提条件 {#prerequisites}
+## {#how-do-sidechains-work}
-你应该已经阅读并理解关于[以太坊扩容](/developers/docs/scaling/)和[二层网络](/layer-2/)的页面。
+公共区块链,如以太坊,由于其分布式架构而面临可扩展性挑战:链上交易必须由所有节点执行。 节点必须能够使用普通硬件来处理区块中的交易量,为了保持网络去中心化而限制了交易吞吐量。
-## 什么是通道? {#what-are-channels}
-
-公共区块链,如以太坊,由于其分布式架构而面临可扩展性挑战:链上交易必须由所有节点执行。 节点必须能够使用普通硬件来处理区块中的交易量,为了保持网络去中心化而限制了交易吞吐量。 区块链通道允许用户链下交互并依靠主链的安全性完成最终结算,从而解决了这个问题。
+### {#consensus-algorithms}
通道是简单的对等协议,允许双方进行多笔交易,然后只将最终结果发布到区块链。 渠道使用加密算法证明产生的摘要数据确实是一组有效中间交易的结果。 [“多重签名”](/developers/docs/smart-contracts/#multisig)智能合约确保交易由正确的相关方签署。
+- []()
+- []()
+-
+
相关方通过通道执行和验证状态变化,最大限度减少以太坊执行层上的计算。 这就减少了以太坊拥塞,也提高了用户的交易处理速度。
-每条通道都由以太坊上运行的[多签智能合约](/developers/docs/smart-contracts/#multisig)管理。 要打开一条通道,参与者在链上部署通道合约并将资金存入其中。 双方共同签署一个状态更新来初始化通道的状态,之后他们就可以快速且自由地进行链下交易。
+#### {#block-parameters}
+
+每条通道都由以太坊上运行的[多签智能合约](/developers/docs/smart-contracts/#multisig)管理。 要打开一条通道,参与者在链上部署通道合约并将资金存入其中。
要关闭通道,参与者需要将各方一致同意的通道最终状态提交到链上。 然后,智能合约根据通道最终状态下每个参与者的余额分配锁定资金。
对等通道在一些情况下非常有用,比如,某些预先确定的参与者希望频繁进行交易,并且不会产生明显的费用。 区块链通道分为两类:**支付通道**和**状态通道**。
-## 支付通道 {#payment-channels}
+### {#evm-compatibility}
-将支付通道描述成由两个用户共同维护的“双向账本”最为恰当。 账本的初始余额是通道打开期间锁定在链上合约中的存款总和。 支付通道转账可以立刻执行,并且除了最初建立一次性链上通道以及通道的最终关闭外,其余部分无需区块链实际参与。
+将支付通道描述成由两个用户共同维护的“双向账本”最为恰当。 账本的初始余额是通道打开期间锁定在链上合约中的存款总和。
账本余额的更新(即支付渠道的状态)需要渠道中所有各方的批准。 通道更新在所有通道参与者签署后被视为最终确定,这和以太坊上的交易非常相似。
支付通道是最早的扩容方案之一,用于最大限度减少因简单的用户交互带来的高成本链上活动(例如,以太币转账、原子交换、小额支付)。 通道参与者彼此之间可以进行不限次数的即时、无费用交易,只要他们的转账总净额不超过存入的代币。
-## 状态通道 {#state-channels}
-
除了支持链下支付外,尚未证实支付通道可用于处理通用状态转换逻辑。 创建状态通道是为了解决这个问题,并使通道可用于扩展通用计算。
-状态通道与支付通道仍有很多共同点。 例如,当用户通过交换加密签名的信息(交易)进行互动时,另一些通道参与者也必须对信息签名。 如果提出的状态更新没有获得所有参与者的签名,则认为是无效的。
-
-但是,除了保存用户的余额外,通道还跟踪合约存储的当前状态(即合约变量的值)。
-
-这使得两个用户之间可以在链下执行智能合约。 在这种情况下,智能合约内部状态的更新只需由创建通道的另一方批准即可。
-
-虽然这解决了前文描述的可扩展性问题,但它对安全性有影响。 在以太坊上,以太坊状态转换的有效性由网络的共识协议强制执行。 因此,不可能对智能合约的状态提出无效更新或者修改智能合约的执行。
-
-状态通道没有同样的安全保障。 在某种程度上,状态通道是主网的缩影。 由于执行规则的参与者有限,发生恶意行为(例如,提出无效状态更新)的可能性增加。 状态通道的安全性来自基于[欺诈证明](/glossary/#fraud-proof)的争议仲裁系统。
-
-## 状态通道如何运作 {#how-state-channels-work}
-
-状态通道中的活动基本上都是一系列涉及用户和区块链系统的交互。 用户大多数情况下在链下相互交流,只是在打开通道、关闭通道或解决参与者之间的潜在争议时才与底层区块链交互。
-
-以下部分概述了状态通道的基本工作流程:
-
-### 打开通道 {#opening-the-channel}
-
-打开通道需要参与者将资金存入主网上的智能合约。 存款还可以用作虚拟标签,因此参与者可以自由交易,而无需立即结算付款。 只有当通道在链上最终确定时,各方才能相互结算并提取标签的余额。
-
-这笔存款还可以作为一个协定,保证每个参与者实施诚实的行为。 如果在争议解决阶段判定存款人有恶意行为,合约将罚没他们的存款。
-
-通道对等方必须签署一个他们一致同意的初始状态。 该初始状态表示状态通道的开通,之后用户可以开始交易。
-
-### 使用通道 {#using-the-channel}
-
-在初始化通道的状态后,对等方进行交互,他们签署交易并相互发送交易进行批准。 参与者使用这些交易发起状态更新,并签署来自其他人的状态更新。 每笔交易包括以下内容:
-
-- **随机数**,作为交易的唯一 ID 并防止重放攻击。 它还标识状态更新发生的顺序(这对于解决争议很重要)
-
-- 通道的原有状态
-
-- 通道的新状态
-
-- 触发状态转换的交易(例如,Alice 向 Bob 发送 5 个以太币)
-
-通道中的状态更新不会像用户在主网上交互时那样在链上广播,这与状态通道最大限度减少链上足迹的目标一致。 只要参与者一致同意状态更新,它们就与以太坊交易一样最终确定。 如果出现争议,参与者只需依赖主网的共识。
-
-### 关闭通道 {#closing-the-channel}
-
-要关闭状态通道,需要将通道的各方一致同意的最终状态提交给链上智能合约。 状态更新中引用的详细信息包括每个参与者所实施行为的次数和获批准交易的列表。
-
-在验证状态更新有效(即由各方签署)后,智能合约最终确定通道状态并根据通道的结果分配锁定资金。 链下支付应用到以太坊状态,每个参与者都会收到其剩余的锁定资金。
-
-上述场景代表了成功用例下的情况。 有时,用户可能无法达成一致并最终确定通道状态(失败用例)。 以下任何一种情况都可能是失败用例:
-
-- 参与者离线并且未能提出状态转换
-
-- 参与者拒绝共同签署有效的状态更新
-
-- 参与者试图通过向链上合约提出旧的状态更新来最终确定通道
-
-- 参与者提出无效的状态转换供其他人签署
-
-每当通道中的参与者之间无法达成共识时,最后的选择是依靠主网的共识来执行通道的最终有效状态。 在这种情况下,要关闭状态通道,就需要在链上解决争议。
-
-### 解决争议 {#settling-disputes}
-
-通常,通道中的各方事先同意关闭通道并共同签署最新的状态转换,然后将其提交给智能合约。 一旦更新在链上获得批准,链下智能合约的执行就会结束,参与者会带着他们的钱退出通道。
-
-但是,一方可以提交链上请求以结束智能合约的执行并最终确定通道状态 — 而无需等待对方的批准。 如果出现上述任何破坏共识的情况,任何一方都可以触发链上合约以关闭通道并分配资金。 这样就实现了**去信任**,确保诚实的参与方可以随时提取他们的存款,而不管另一方的行为如何。
-
-要处理通道退出,用户必须将应用的最后一次有效状态更新提交给链上合约。 如果状态更新得到证实(即,带有所有参与方的签名),那么资金会按照有利于他们的方式重新分配。
-
-但是,执行单用户退出请求会有延迟。 如果关闭通道请求获得一致批准,则立即执行链上退出交易。
-
-由于存在欺诈行为的可能性,延迟在单用户退出中有了用武之地。 例如,通道参与者可能尝试通过在链上提交较早的状态更新来最终确定以太坊上的通道。
-
-作为一种对策,状态通道允许诚实用户通过在链上提交最新、有效的通道状态来挑战无效状态更新。 状态通道的设计使得较新的、一致同意的状态更新优先于较早的状态更新。
-
-一旦一个对等方触发了链上争议解决系统,另一方需要在一个时限内(称为挑战窗口)做出响应。 这样用户就可以挑战退出交易,尤其是在另一方应用过时更新的情况下。
-
-不管是哪种情况,通道用户总是拥有可靠的最终确定性保障:如果他们拥有的状态转换由所有成员签署并且是最新的更新,那么它与常规链上交易具有相同的最终确定性。 他们仍然必须在链上挑战另一方,但唯一可能的结果是最终确定他们拥有的最新有效状态。
-
-### 状态通道如何与以太坊交互? {#how-do-state-channels-interact-with-ethereum}
-
-尽管状态通道作为链下协议存在,但它们具有链上部分:打开通道时部署在以太坊上的智能合约。 该合约控制存入通道的资产,验证状态更新,并仲裁参与者之间的争议。
-
-与[二层网络](/layer-2/)扩容解决方案不同,状态通道不会向主网发布交易数据或状态承诺。 但是,它们与主网的连接比[侧链](/developers/docs/scaling/sidechains/)等更加紧密,这使得它们更加安全。
-
-状态通道依赖于以太坊的主要协议,实现:
-
-#### 1. 可用性 {#liveness}
-
-打开通道时部署的链上合约负责通道的功能。 如果合约在以太坊上运行,则通道始终可用。 相反,即使主网正常运行,侧链也会随时失败,使用户资金面临风险。
-
-#### 2. 安全性 {#security}
-
-在某种程度上,状态通道依靠以太坊来提供安全性并保护用户免受恶意用户的侵害。 正如后面部分所讨论的,通道使用欺诈证明机制,允许用户挑战用无效或过时更新最终确定通道状态的企图。
-
-在这种情况下,诚实参与方将通道的最新有效状态作为欺诈证明提供给链上合约进行验证。 欺诈证明使互不信任的各方能够进行链下交易,而不会让他们的资金在交易过程中面临风险。
-
-#### 3. 最终确定性 {#finality}
-
-由通道用户共同签署的状态更新被认为与链上交易一样有效。 尽管如此,所有通道内活动只有在以太坊上关闭通道时才能获得真正的最终确定性。
-
-在乐观情况下,双方可以合作、签署最终状态更新并在链上提交以关闭通道,然后根据通道的最终状态分配资金。 在悲观情况下,有人试图通过在链上发布不正确的状态更新来欺骗,双方的交易在挑战窗口结束之前不会最终确定。
+### {#asset-movement}
-## 虚拟状态通道 {#virtual-state-channels}
-
-状态通道的简单实现是在两个用户希望在链下执行应用程序时部署新合约。 这不仅不可行,而且还否定了状态通道的成本效益(链上交易成本会迅速增加)。
-
-为了解决这个问题,创建了“虚拟通道”。 与需要链上交易才能打开和终止的常规通道不同,虚拟通道可以在不与主链交互的情况下打开、执行和最终确定。 甚至可以使用这种方法在链下解决争议。
-
-该系统依赖于所谓的“账本通道”(已在链上获得资金)的存在。 双方之间的虚拟通道可以建立在现有账本通道之上,账本通道的所有者作为中间人。
-
-每条虚拟通道中的用户通过一个新的合约实例交互,账本通道能够支持多个合约实例。 账本通道的状态还包含多个合约存储状态,允许在不同用户之间在链下并行执行应用程序。
-
-就像常规频道一样,用户交换状态更新以推进状态机。 除非出现争议,否则仅在打开或终止通道时才需要联系中间人。
-
-### 虚拟支付通道 {#virtual-payment-channels}
-
-虚拟支付通道的运作原理与虚拟状态通道相同:连接到同一网络的参与者可以传递消息,而无需在链上打开新通道。 在虚拟支付渠道中,价值转移通过一个或多个中间人进行,并保证只有预期的接收者才能收到转移的资金。
-
-## 状态通道的应用 {#applications-of-state-channels}
-
-### 支付 {#payments}
-
-早期的区块链通道是简单的协议,允许两个参与者在链下进行快速、低费用的转账,而无需在主网上支付高额交易费。 如今,支付通道仍然适用于专为兑换和存入以太币和代币而设计的应用程序。
-
-基于通道的支付具有以下优势:
-
-1. **吞吐量**:每条通道的链下交易数量与以太坊的吞吐量无关,而是受各种因素的影响,尤其是区块大小和出块时间。 通过在链下执行交易,区块链通道可以实现更高的吞吐量。
-
-2. **隐私**:因为通道存在于链下,参与者之间的交互细节不会记录在以太坊的公共区块链上。 通道用户只需在向通道中存入资金和关闭通道或者解决争议时才进行链上交互。 因此,通道适用于希望进行更多私密交易的个人。
-
-3. **延迟**:如果双方合作,通道参与者之间进行的链下交易可以即时结算,这就减少了延迟。 相比之下在主网上,需要等待节点处理交易,产生包含该交易的一个新区块,并达成共识后才能发送交易。 用户可能还需要等待进行更多的区块确认后,交易才能视为最终确定。
-
-4. **成本**:当一组参与者需要长时间交换大量状态更新时,状态通道尤其适用。 唯一的成本是开启和关闭状态通道智能合约;在通道开启和关闭之间的每个状态变化的成本都比上一个更低,因为结算成本是相应分配的。
-
-在二层网络解决方案(例如[卷叠](/developers/docs/scaling/#rollups))上实施状态通道,可以使它们对支付更具吸引力。 虽然通道可以提供低廉的支付服务,但在通道打开阶段在主网上建立链上合约的成本可能会变得很昂贵 — 尤其是当燃料费飙升时。 基于以太坊的卷叠提供[较低的交易费](https://l2fees.info/),并且可以通过降低设置费用来减少通道参与者的开销。
-
-### 微交易 {#microtransactions}
-
-微交易是低价值的支付(例如,不足一美元),商家无法在不产生损失的情况下处理它。 这些实体必须向支付服务提供商付款,然而,如果客户支付的利润太低而无法盈利,支付服务提供商就无法处理支付。
-
-支付通道通过减少与微交易相关的开销来解决这个问题。 例如,互联网服务提供商 (ISP) 可以为客户打开支付通道,允许他们在每次使用该服务时逐一进行小额支付。
-
-除了打开和关闭通道的成本外,参与者不会在微交易上产生更多费用(无燃料费用)。 这是一种双赢局面,因为客户在为服务支付多少费用方面拥有更大的灵活性,而且商家也不会失去有利可图的微交易。
-
-### 去中心化应用程序 {#decentralized-applications}
-
-与支付通道一样,状态通道可以根据状态机的最终状态进行有条件的支付。 状态通道还可以支持任意状态转换逻辑,使其可用于执行链下通用应用程序。
-
-状态通道通常仅限于简单的基于回合的应用程序,因为这样可以更轻松地管理提交到链上合约的资金。 此外,由于定期更新链下应用程序状态的参与方数量有限,对不诚实行为实施惩罚相对简单。
-
-状态通道应用程序的效率还取决于其设计。 例如,开发者或许可以在链上部署一次应用程序通道合约,并允许其他玩家重复使用该应用程序而无需上链。 在这种情况下,初始应用程序通道作为支持多条虚拟通道的账本通道,每条虚拟通道在链下运行应用程序智能合约的新实例。
-
-状态通道应用程序的一个潜在用例是简单的两人游戏,在游戏中根据游戏结果分配资金。 其中的好处是玩家不必相互信任(去信任),链上合约而不是玩家控制资金分配和争议解决(去中心化)。
-
-状态通道应用程序的其他可能用例包括以太坊域名服务名称所有权、非同质化代币账本等等。
-
-### 原子转账 {#atomic-transfers}
-
-早期的支付通道局限于双方之间的转账,限制了它们的实用性。 然而,虚拟通道的引入允许个人通过中间人(即多条对等通道)进行转账,而无需在链上打开新通道。
-
-这种路由支付通常被描述为“多跳转账”,属于原子转账(即,交易的所有部分或者全部成功或或者全部失败)。 原子转账使用[哈希时间锁定合约 (HTLC)](https://en.bitcoin.it/wiki/Hash_Time_Locked_Contracts) 确保只有在满足特定条件时才发放付款,从而降低另一交易方的风险。
-
-## 使用状态通道的缺点 {#drawbacks-of-state-channels}
-
-### 可用性假设 {#liveness-assumptions}
-
-为了确保效率,状态通道对通道参与者的争议响应能力设置了时限。 此规则假定对等方将始终在线,以监控通道活动并在必要时应对挑战。
-
-实际上,用户可能会因为无法控制的原因(例如,网络连接差、机械故障等)离线。 如果诚实用户下线,恶意对等方就可以利用这种情况,他们将旧的中间状态提供给裁决者合约并窃取提交的资金。
-
-一些通道使用“瞭望塔”,这类实体负责代表他人监控链上争议事件并采取必要行动,例如提醒相关方。 但是,这可能会增加使用状态通道的成本。
-
-### 数据不可用 {#data-unavailability}
-
-如前所述,挑战无效的争议需要提供状态通道的最新、有效状态。 这是另一个基于假设的规则,即用户可以访问通道的最新状态。
-
-尽管期望通道用户存储链下应用程序状态的副本是合理的,但这些数据可能由于错误或机械故障而丢失。 如果用户没有备份数据,就只能希望另一方不要使用其拥有的旧状态转换最终确定无效的退出请求。
-
-以太坊用户不必处理这个问题,因为网络强制执行数据可用性规则。 交易数据由所有节点存储和传播,并在必要时供用户下载。
-
-### 流动性问题 {#liquidity-issues}
-
-要建立区块链通道,参与者需要在通道的整个生命周期将资金锁定在链上智能合约中。 这降低了通道用户的流动性,也会限制通道只能由那些有财力将资金一直锁定在主网上的用户使用。
-
-然而,链下服务提供商 (OSP) 运营的账本通道可以减少用户的流动性问题。 连接到账本通道的两个对等方可以创建一条虚拟通道,他们可以随时且完完全全在链下打开和最终确定该通道。
-
-链下服务提供商还可以打开包括多个对等方的通道,让通道可用于路由支付。 当然,用户必须为使用了服务而向链下服务提供商支付费用,这对某些人来说可能是不情愿的。
-
-### 悲伤攻击 {#griefing-attacks}
-
-悲伤攻击是基于欺诈证明的系统的共同特征。 悲伤攻击不会直接让攻击者受益,但会给受害者带来悲伤(即伤害),因此得名。
-
-欺诈证明容易受到悲伤攻击,因为诚实的一方必须对每一个争议做出响应,即使是无效的争议,否则会面临失去资金的风险。 恶意参与者可以决定在链上重复发布过时的状态转换,迫使诚实方以有效状态进行响应。 这类链上交易的成本会迅速增加,导致诚实方在此过程中受损。
-
-### 预定义的参与者集 {#predefined-participant-sets}
-
-根据设计,组成状态通道的参与者数量在通道整个生命周期中固定不变。 这是因为更新参与者集会使通道的运营复杂化,尤其是在向通道存入资金或解决争议时。 添加或移除参与者还需要进行额外的链上活动,这会增加用户的开销。
-
-虽然这使得状态通道更容易推断,但它将通道设计的实用性局限于应用程序开发者。 这在一定程度上解释了为什么状态通道已被其他扩容解决方案所取代,例如卷叠。
-
-### 并行交易处理 {#parallel-transaction-processing}
-
-状态通道中的参与者轮流发送状态更新,这就是状态通道为何最适合“基于回合的应用程序”(例如,两人棋类游戏)的原因。 这样就无需处理同时出现的状态更新,并减少了链上合约为惩罚提出过时更新的发布者而必须完成的工作。 然而,这种设计的副作用是交易相互依赖,这增加了延迟并减弱了整体用户体验。
-
-一些状态通道通过采用“全双工”设计解决这个问题,该设计将链下状态分成两个单向“单工”状态,允许并发状态更新。 这种设计提高了链下吞吐量并减少了交易延迟。
+状态通道与支付通道仍有很多共同点。 例如,当用户通过交换加密签名的信息(交易)进行互动时,另一些通道参与者也必须对信息签名。 如果提出的状态更新没有获得所有参与者的签名,则认为是无效的。
-## 使用状态通道 {#use-state-channels}
+## {#pros-and-cons-of-sidechains}
-许多项目提供状态通道实现,你可以将它们集成到自己的去中心化应用程序中:
+| | |
+| | |
+| | |
+| | |
+| | |
+| | |
-- [Connext](https://connext.network/)
-- [Kchannels](https://www.kchannels.io/)
-- [Perun](https://perun.network/)
-- [Raiden](https://raiden.network/)
-- [Statechannels.org](https://statechannels.org/)
+### {#use-sidechains}
-## 延伸阅读 {#further-reading}
+- []()
+- []()
+- []()
+- []()
+- []()
-**状态通道**
+## {#further-reading}
-- [理解以太坊的二层网络扩容解决方案:状态通道、Plasma 和 Truebit](https://medium.com/l4-media/making-sense-of-ethereums-layer-2-scaling-solutions-state-channels-plasma-and-truebit-22cb40dcc2f4) _– Josh Stark,2018 年 2 月 12 日_
-- [状态通道 - 解释](https://www.jeffcoleman.ca/state-channels/) _ 2015 年 11 月 6 日 - Jeff Coleman_
-- [状态通道基础知识](https://education.district0x.io/general-topics/understanding-ethereum/basics-state-channels/) _District0x_
-- [区块链状态通道:最先进的技术](https://ieeexplore.ieee.org/document/9627997)
+-
-_还有哪些社区资源对你有所帮助? 编辑本页面以添加!_
+_ _
diff --git a/public/content/translations/zh/developers/docs/scaling/validium/index.md b/public/content/translations/zh/developers/docs/scaling/validium/index.md
index bb3d09ce048..b298e4bc24b 100644
--- a/public/content/translations/zh/developers/docs/scaling/validium/index.md
+++ b/public/content/translations/zh/developers/docs/scaling/validium/index.md
@@ -153,6 +153,7 @@ Validium 实现了可扩展性,它将所有交易数据保存在链下并且
**Matter Labs zkPorter**- _zkPorter 是一个二层扩容协议,它用一种结合了零知识卷叠和分片观点的混合方法来处理数据可用性。 它支持任意多个分片,每个分片都有自己的数据可用性策略。_
+- [博客](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf)
- [相关文档](https://docs.zksync.io/zk-stack/concepts/data-availability)
- [网站](https://zksync.io/)
diff --git a/public/content/translations/zh/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/zh/developers/docs/scaling/zk-rollups/index.md
index f38e5d1e4a5..32d806db688 100644
--- a/public/content/translations/zh/developers/docs/scaling/zk-rollups/index.md
+++ b/public/content/translations/zh/developers/docs/scaling/zk-rollups/index.md
@@ -182,7 +182,7 @@ ZK-STARK 对于量子计算机也是安全的,而 ZK-SNARK 中使用的椭圆
2. **数据发布**:零知识卷叠将每笔交易的状态数据作为 `calldata` 发布到以太坊。 `calldata` 费用目前由 [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) 监管,它规定对于 `calldata` 的非零字节和零字节费用分别为 16 单位和 4 单位燃料。 每笔交易支付的费用受需要在链上为其发布多少 `calldata` 的影响。
-3. **二层网络运营商费用**:这是支付给卷叠运营商的金额,用于补偿处理交易产生的计算费用,很像以太坊上的矿工费用一样。
+3. **二层网络运营商费用**:这是支付给卷叠运营商的金额,用于补偿处理交易产生的计算费用,很像以太坊主网上的[交易“优先费(小费)”](/developers/docs/gas/#how-are-gas-fees-calculated)。
4. **证明生成和验证**:零知识卷叠运营商必须为交易批次生成有效性证明,该操作耗费大量资源。 在主网上验证零知识证明也需要花费燃料(约 500,000 单位燃料)。
@@ -232,7 +232,7 @@ ZK-STARK 对于量子计算机也是安全的,而 ZK-SNARK 中使用的椭圆
零知识以太坊虚拟机上运行的项目包括:
-- **[Applied ZKP](https://github.com/privacy-scaling-explorations/zkevm-specs)** - _Applied ZKP 是由以太坊基金会资助的项目,旨在开发与以太坊虚拟机兼容的零知识卷叠以及为以太坊区块生成有效性证明的机制。_
+- **[zkEVM](https://github.com/privacy-scaling-explorations/zkevm-specs)** - _zkEVM 是由以太坊基金会资助的项目,旨在开发与以太坊虚拟机兼容的零知识卷叠以及为以太坊区块生成有效性证明的机制。_
- **[Polygon zkEVM](https://polygon.technology/solutions/polygon-zkevm)** - _是以太坊主网上的去中心化零知识卷叠,它在零知识以太坊虚拟机 (zkEVM) 上运行,以透明的方式执行以太坊交易,包括智能合约与零知识证明验证。_
@@ -240,16 +240,19 @@ ZK-STARK 对于量子计算机也是安全的,而 ZK-SNARK 中使用的椭圆
- **[Taiko](https://taiko.xyz)** - _Taiko 是一个去中心化、类似以太坊的零知识卷叠(一种[第一类零知识以太坊虚拟机](https://vitalik.eth.limo/general/2022/08/04/zkevm.html))。_
-- **[ZKsync](https://docs.zksync.io/)** - _ZKsync Era 是与以太坊虚拟机兼容的零知识卷叠,由 Matter Labs 构建并由它自己的零知识以太坊虚拟机提供支持。_
+- **[ZKsync](https://docs.zksync.io/)** - _ZKsync Era 是与以太坊虚拟机兼容的零知识卷叠,由 Matter Labs 构建并由它自己的 zkEVM 提供支持。_
- **[Starknet](https://starkware.co/starknet/)** - _StarkNet 是以太坊虚拟机兼容的二层网络扩容解决方案,由 StarkWare 构建。_
+- **[Morph](https://www.morphl2.io/)** - _Morph 是利用零知识证明来解决二层网络状态质询问题的混合卷叠扩容解决方案。_
+
## 进一步阅读零知识卷叠的相关内容 {#further-reading-on-zk-rollups}
- [什么是零知识卷叠?](https://coinmarketcap.com/alexandria/glossary/zero-knowledge-rollups)
- [什么是零知识卷叠?](https://alchemy.com/blog/zero-knowledge-rollups)
- [STARK(可扩容透明知识论证)和 SNARK(简洁非交互式知识论证)](https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/)
- [什么是 zkEVM(零知识以太坊虚拟机)?](https://www.alchemy.com/overviews/zkevm)
+- [零知识以太坊虚拟机类型:以太坊等效、以太坊虚拟机等效、类型 1、类型 4 和其他晦涩的术语](https://taiko.mirror.xyz/j6KgY8zbGTlTnHRFGW6ZLVPuT0IV0_KmgowgStpA0K4)
- [zkEVM(零知识以太坊虚拟机)简介](https://hackmd.io/@yezhang/S1_KMMbGt)
- [超赞的 zkEVM(零知识以太坊虚拟机)资源](https://github.com/LuozhuZhang/awesome-zkevm)
- [ZK-SNARK(零知识简洁非交互式知识论证)底层技术](https://vitalik.eth.limo/general/2017/02/01/zk_snarks.html)
diff --git a/public/content/translations/zh/developers/docs/smart-contracts/composability/index.md b/public/content/translations/zh/developers/docs/smart-contracts/composability/index.md
index 5aeb586fa91..b8a777a5d60 100644
--- a/public/content/translations/zh/developers/docs/smart-contracts/composability/index.md
+++ b/public/content/translations/zh/developers/docs/smart-contracts/composability/index.md
@@ -65,7 +65,6 @@ incomplete: true
## 相关教程 {#related-tutorials}
-- [合约的可组合性:以太坊智能合约开发的基石](https://www.decentlabs.io/blog/contract-composability-the-building-blocks-of-ethereum-smart-contract-development)
- [使用 create-eth-app 启动去中心化应用程序前端开发](/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/) _– 概述如何使用 create-eth-app,借助开箱即用的热门智能合约创建应用程序。_
## 延伸阅读 {#further-reading}
diff --git a/public/content/translations/zh/developers/docs/smart-contracts/formal-verification/index.md b/public/content/translations/zh/developers/docs/smart-contracts/formal-verification/index.md
index 7cf084c4f2f..50dbd031dd0 100644
--- a/public/content/translations/zh/developers/docs/smart-contracts/formal-verification/index.md
+++ b/public/content/translations/zh/developers/docs/smart-contracts/formal-verification/index.md
@@ -26,7 +26,7 @@ lang: zh
高级模型侧重于智能合约和外部代理之间的关系,例如外部帐户 (EOA)、合约帐户和区块链环境。 这些模型有助于定义属性,这些属性规定了合约应该如何响应某些用户的交互行为。
-相反,其他一些形式化模型侧重于智能合约的低级行为。 虽然高级模型有助于推理合约的功能,但它们可能无法捕捉到实现的内部运作细节。 低级模型对程序分析应用了白盒视图并依赖于智能合约应用程序的低级表示,例如程序跟踪和[控制流程图](https://en.wikipedia.org/wiki/Control-flow_graph),来推理与合约执行相关的属性。
+相反,其他一些形式化模型侧重于智能合约的低级行为。 虽然高级模型有助于论证合约的功能,但它们可能无法捕捉到实现的内部运作细节。 低级模型对程序分析应用了白盒视图并依赖于智能合约应用程序的低级表示,例如程序跟踪和[控制流程图](https://en.wikipedia.org/wiki/Control-flow_graph),来推理与合约执行相关的属性。
低级模型被视为理想模型,因为它们体现着智能合约在以太坊执行环境(即[以太坊虚拟机](/developers/docs/evm/))中的实际执行。 低级建模技术在确立智能合约的重要安全属性和检测潜在漏洞方面特别有用。
@@ -78,7 +78,7 @@ lang: zh
获得完全正确性的证明很难,因为有些执行在终止前可能会延迟,或者根本不会终止。 也就是说,执行是否终止可以说是一个有争议的问题,因为以太坊的燃料机制阻止程序无限循环(执行要么成功终止或者因为“燃料耗尽”错误而结束)。
-使用霍尔逻辑制定的智能合约规范需要为合约中函数和循环的执行定义前置条件、后置条件和不变量。 前置条件通常包括函数的输入有误的可能性,而后置条件描述了对于这些输入的预期响应(例如,抛出一个特定异常)。 用这种方式,霍尔式属性有效地保证合约实现的正确性。
+使用霍尔逻辑制定的智能合约规范需要为合约中函数和循环的执行定义前置条件、后置条件和不变量。 前置条件通常包括函数的输入有误的可能性,而后置条件描述了对于这些输入的预期响应(例如,抛出一个特定异常)。 霍尔式属性以这种方式有效地保证了合约实现的正确性。
许多形式化验证框架使用霍尔式规范来证明函数的语义正确性。 也可以使用 Solidity 的 `require` 和 `assert` 语句直接向合约代码添加霍尔式属性并作为断言。
@@ -212,35 +212,35 @@ function safe_add(uint x, uint y) returns(uint z){
### 用于制定形式化规范的规范语言 {#specification-languages}
-**Act**:_Act 允许存储更新、前置条件/后置条件、合约不变量的规范。 其工具套件也具有证明后端,可通过 Coq、SMT 求解器或 hevm 证明许多属性。_
+**Act**:_*Act 允许存储更新、前置条件/后置条件、合约不变量的规范。 其工具套件也具有证明后端,可通过 Coq、SMT 求解器或 hevm 证明许多属性。**
- [GitHub](https://github.com/ethereum/act)
- [相关文档](https://ethereum.github.io/act/)
-**Scribble** - _Scribble 把 Scribble 规范语言中的代码注释转换为检查规范的具体断言。_
+**Scribble** - _*Scribble 把 Scribble 规范语言中的代码注释转换为检查规范的具体断言。**
- [相关文档](https://docs.scribble.codes/)
-**Dafny** - _Dafny 是一种可直接验证的编程语言,依赖于高层次注释来推理和验证代码的正确性。_
+**Dafny** - _*Dafny 是一种可直接验证的编程语言,依赖于高层次注释来推理和验证代码的正确性。**
- [GitHub](https://github.com/dafny-lang/dafny)
### 用于检查正确性的程序验证器 {#program-verifiers}
-**Certora Prover** - _Certora Prover 是一种检查智能合约代码正确性的自动形式化验证工具。 它使用 CVL(Certora 验证语言)编写规范,并组合使用静态分析和约束求解检测属性违反。_
+**Certora Prover** - _ Certora Prover 是一种检查智能合约代码正确性的自动形式化验证工具。 它使用 CVL(Certora 验证语言)编写规范,并组合使用静态分析和约束求解检测属性违反。_
- [网站](https://www.certora.com/)
- [相关文档](https://docs.certora.com/en/latest/index.html)
-**Solidity SMTChecker** - _Solidity 的SMTChecker 是一个基于 SMT(可满足性模理论)和 Horn 求解的内置模型检查器。 它在编译期间确认合约源代码是否符合规范并静态检查是否违反了安全属性。_
+**Solidity SMTChecker** - _*Solidity 的SMTChecker 是一个基于 SMT(可满足性模理论)和 Horn 求解的内置模型检查器。 它在编译期间确认合约源代码是否符合规范并静态检查是否违反了安全属性。**
- [GitHub](https://github.com/ethereum/solidity)
-**solc-verify** - _solc-verify 是 Solidity 编译器的扩展版本,它可以使用注释和模块化程序验证对 Solidity 代码执行自动形式化验证。_
+**solc-verify** - _*solc-verify 是 Solidity 编译器的扩展版本,它可以使用注释和模块化程序验证对 Solidity 代码执行自动形式化验证。**
- [GitHub](https://github.com/SRI-CSL/solidity)
-**KEVM** - _KEVM 是以太坊虚拟机 (EVM) 的形式化语义,用 K 框架编写。 KEVM 是可执行的,并且能够使用可达性逻辑证明某些与属性相关的断言。_
+**KEVM** - _*KEVM 是以太坊虚拟机 (EVM) 的形式化语义,用 K 框架编写。 KEVM 是可执行的,并且能够使用可达性逻辑证明某些与属性相关的断言。**
- [GitHub](https://github.com/runtimeverification/evm-semantics)
- [相关文档](https://jellopaper.org/)
@@ -259,12 +259,12 @@ function safe_add(uint x, uint y) returns(uint z){
### 用于检测智能合约中易受攻击模式的基于符号执行的工具 {#symbolic-execution-tools}
-**Manticore** - _种基于符号执行的工具,用于分析以太坊虚拟机的字节码分析工具。_
+**Manticore** - _*一种基于符号执行的工具,用于分析以太坊虚拟机的字节码分析工具*。*
- [GitHub](https://github.com/trailofbits/manticore)
- [相关文档](https://github.com/trailofbits/manticore/wiki)
-**hevm** - _hevm 是一种面向以太坊虚拟机字节码的符号执行引擎和等价性检查器。_
+**hevm** - _*hevm 是一种面向以太坊虚拟机字节码的符号执行引擎和等价性检查器。**
- [GitHub](https://github.com/dapphub/dapptools/tree/master/src/hevm)
diff --git a/public/content/translations/zh/developers/docs/smart-contracts/testing/index.md b/public/content/translations/zh/developers/docs/smart-contracts/testing/index.md
index 87ff12a3c9c..bed49ae5a01 100644
--- a/public/content/translations/zh/developers/docs/smart-contracts/testing/index.md
+++ b/public/content/translations/zh/developers/docs/smart-contracts/testing/index.md
@@ -110,7 +110,7 @@ function auctionEnd() external {
这是一个简单的拍卖合约,用于在竞标期间接收竞标。 如果 `highestBid` 增加,先前的最高出价者将收到他们的钱;一旦竞标期结束,`beneficiary` 调用合约以收取他们的钱。
-对这样的合约进行的单元测试将涵盖用户在与合约交互时可能调用的不同函数。 一个例子是进行单元测试,检查用户是否能够在拍卖进行期间出价(即调用 `bid()` 成功),或者检查用户是否能够出价高于当前的 `highestBid`。
+对这样的合约进行的单元测试将涵盖用户在与合约交互时可能调用的不同函数。 以单元测试为例,它会检查用户是否能够在拍卖进行期间出价(即调用 `bid()` 成功),或者检查用户是否能够出高于当前 `highestBid` 的价格。
了解合约的运行流程还有助于编写单元测试,以检查执行是否满足要求。 例如,拍卖合约规定,在拍卖结束时(即当 `auctionEndTime` 小于 `block.timestamp` 时),用户无法进行竞标。 因此,开发者可能会运行一个单元测试,检查当拍卖结束时(即当 `auctionEndTime` > `block.timestamp` 时)对 `bid()` 函数的调用成功还是失败。
@@ -144,6 +144,7 @@ function auctionEnd() external {
- **[使用 Remix 运行单元测试](https://remix-ide.readthedocs.io/en/latest/unittesting.html#write-tests)**
- **[使用 Ape 运行单元测试](https://docs.apeworx.io/ape/stable/userguides/testing.html)**
- **[使用安全帽运行单元测试](https://hardhat.org/hardhat-runner/docs/guides/test-contracts)**
+- **[使用 Wake 运行单元测试](https://ackeeblockchain.com/wake/docs/latest/testing-framework/overview/)**
### 集成测试 {#integration-testing-for-smart-contracts}
@@ -188,9 +189,11 @@ function auctionEnd() external {
配置正确后,属性测试工具将使用随机生成的输入执行你的智能合约函数。 如果存在任何断言违规情况,你应该获得一份报告,其中包含违反正在评估的属性的具体输入数据。 请参阅下面的指南,了解如何使用不同的工具开始运行基于属性的测试:
- **[使用 Slither 进行智能合约静态分析](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/slither#slither)**
+- **[使用 Wake 进行智能合约静态分析](https://ackeeblockchain.com/wake/docs/latest/static-analysis/using-detectors/)**
- **[使用 Brownie 进行基于属性的测试](https://eth-brownie.readthedocs.io/en/stable/tests-hypothesis-property.html)**
- **[使用 Foundry 进行合约模糊测试](https://book.getfoundry.sh/forge/fuzz-testing)**
- **[使用 Echidna 进行合约模糊测试](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/echidna#echidna-tutorial)**
+- **[使用 Wake 进行合约模糊测试](https://ackeeblockchain.com/wake/docs/latest/testing-framework/fuzzing/)**
- **[使用 Manticore 完成智能合约符号执行](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/manticore#manticore-tutorial)**
- **[使用 Mythril 完成智能合约符号执行](https://mythril-classic.readthedocs.io/en/master/tutorial.html)**
@@ -262,6 +265,8 @@ function auctionEnd() external {
- **[ApeWorx](https://docs.apeworx.io/ape/stable/userguides/testing.html)** - _基于 Python 的智能合约开发和测试框架,针对太坊虚拟机。_
+- **[Wake](https://ackeeblockchain.com/wake/docs/latest/testing-framework/overview/)** - _基于 Python 的单元测试和模糊测试框架,具有强大的调试功能和跨链测试支持,利用 pytest 和 Anvil 实现最佳用户体验和性能。_
+
### 基于属性测试的工具 {#property-based-testing-tools}
#### 静态分析工具 {#static-analysis-tools}
@@ -270,6 +275,10 @@ function auctionEnd() external {
- **[Ethlint](https://ethlint.readthedocs.io/en/latest/)** - _用于执行Solidity 智能合约编程语言的风格和安全最佳实践的 Linter。_
+- **[Cyfrin Aderyn](https://cyfrin.io/tools/aderyn)** - _基于 Rust 的静态分析器,专为 Web3 智能合约安全和开发而设计。_
+
+- **[Wake](https://ackeeblockchain.com/wake/docs/latest/static-analysis/using- detectors/)** - < em x-id="4">基于 Python 的静态分析框架,具有漏洞和代码质量检测器,用于从代码中提取有用信息的打印机以及对编写自定义子模块的支持。
+
#### 动态分析工具 {#dynamic-analysis-tools}
- **[Echidna](https://github.com/crytic/echidna/)** - _通过基于属性的测试来检测智能合约漏洞的快速合约模糊测试工具。_
@@ -287,7 +296,7 @@ function auctionEnd() external {
- [不同测试产品的概述和比较](/developers/tutorials/guide-to-smart-contract-security-tools/) \_
- [如何使用 Echidna 测试智能合约](/developers/tutorials/how-to-use-echidna-to-test-smart-contracts/)
- [如何使用 Manticore 查找智能合约漏洞](/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/)
-- [如何使用Slither发现智能合约漏洞](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/)
+- [如何使用 Slither 查找智能合约漏洞](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/)
- [如何模拟测试 Solidity 合约](/developers/tutorials/how-to-mock-solidity-contracts-for-testing/)
- [如何利用 Foundry 在 Solidity 中运行单元测试](https://www.rareskills.io/post/foundry-testing-solidity)
diff --git a/public/content/translations/zh/developers/docs/standards/index.md b/public/content/translations/zh/developers/docs/standards/index.md
index ce89664e0f5..a21d4f1bed6 100644
--- a/public/content/translations/zh/developers/docs/standards/index.md
+++ b/public/content/translations/zh/developers/docs/standards/index.md
@@ -40,6 +40,7 @@ EIP 有 3 种类型:
### 代币标准 {#token-standards}
- [ERC-20](/developers/docs/standards/tokens/erc-20/) - 同质化(可互换)代币的标准接口,比如投票代币、质押代币或虚拟货币。
+ - [ERC-223](/developers/docs/standards/tokens/erc-223/) - 一个同质化代币标准,使代币的行为与以太币行为相同,并支持在接收方处理代币转账。
- [ERC-1363](https://eips.ethereum.org/EIPS/eip-1363) - 为 ERC-20 代币定义一个代币接口,支持在转账函数或 transferFrom 函数后执行接收者代码,或在批准后执行消费者代码。
- [ERC-721](/developers/docs/standards/tokens/erc-721/) - 非同质化代币的标准接口,比如艺术作品或歌曲的契约。
- [ERC-2309](https://eips.ethereum.org/EIPS/eip-2309) - 使用连续的代币标识符创建/转移一个或多个非同质化代币时,触发的标准事件。
diff --git a/public/content/translations/zh/developers/docs/standards/tokens/erc-20/index.md b/public/content/translations/zh/developers/docs/standards/tokens/erc-20/index.md
index 7fbcadf36b7..eb243039f57 100644
--- a/public/content/translations/zh/developers/docs/standards/tokens/erc-20/index.md
+++ b/public/content/translations/zh/developers/docs/standards/tokens/erc-20/index.md
@@ -12,13 +12,12 @@ lang: zh
- 在线平台中的信誉积分
- 游戏中一个角色的技能
-- 彩票卷
- 金融资产类似于公司股份的资产
- 像美元一样的法定货币
- 一盎司黄金
- 及更多...
-以太坊的这种强大特点必须以强有力的标准来处理,对吗? 这正是 ERC-20 发挥其作用的地方! 此标准允许开发者构建可与其他产品和服务互相操作的代币应用程序。
+以太坊的这种强大特点必须以强有力的标准来处理,对吗? 这正是 ERC-20 发挥其作用的地方! 此标准允许开发者构建可与其他产品和服务互相操作的代币应用程序。 ERC-20 标准还被用于为[以太币](/glossary/#ether)提供附加功能。
**什么是 ERC-20?**
@@ -141,9 +140,33 @@ print("Total Supply:", totalSupply)
print("Addr Balance:", addr_balance)
```
+## 已知问题 {#erc20-issues}
+
+### ERC-20 代币接收问题 {#reception-issue}
+
+当 ERC-20 代币被发送到并非为处理 ERC-20 代币而设计的智能合约时,这些代币可能会永久丢失。 出现这种情况的原因是,接收合约无法识别或回应所传入的代币,而且 ERC-20 标准中也没有通知接受合约所传入代币的机制。 导致这一问题的主要原因包括:
+
+1. 代币转移机制
+ - ERC-20 代币使用 transfer 或 transferFrom 函数进行转移
+ - 当用户使用这些函数将代币发送到合约地址时,无论接收合约是否是为处理它们而设计,代币都会被转移
+2. 缺乏通知
+ - 接收合约不会收到已向其发送代币的通知或回调
+ - 如果接收合约缺乏处理代币的机制(例如,回退函数或专门用于处理代币接收的函数),则代币实际上会卡在合约的地址中
+3. 无内置处理
+ - ERC-20 标准不包含用于接收待实现合约的强制函数,导致许多合约无法正确管理传入的代币
+
+为了解决这些问题,出现了 [ERC-223](/developers/docs/standards/tokens/erc-223) 等替代标准。
+
## 延伸阅读 {#further-reading}
- [EIP-20:ERC-20 代币标准](https://eips.ethereum.org/EIPS/eip-20)
- [OpenZeppelin - 代币](https://docs.openzeppelin.com/contracts/3.x/tokens#ERC20)
- [OpenZeppelin - ERC-20 实施](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol)
- [Alchemy - Solidity ERC20 代币指南](https://www.alchemy.com/overviews/erc20-solidity)
+
+
+## 其他同质化代币标准 {#fungible-token-standards}
+
+- [ERC-223](/developers/docs/standards/tokens/erc-223)
+- [ERC-777](/developers/docs/standards/tokens/erc-777)
+- [ERC-4626 - 代币化资金库](/developers/docs/standards/tokens/erc-4626)
\ No newline at end of file
diff --git a/public/content/translations/zh/developers/docs/standards/tokens/erc-223/index.md b/public/content/translations/zh/developers/docs/standards/tokens/erc-223/index.md
new file mode 100644
index 00000000000..e86a64f2ff2
--- /dev/null
+++ b/public/content/translations/zh/developers/docs/standards/tokens/erc-223/index.md
@@ -0,0 +1,197 @@
+---
+title: ERC-223 代币标准
+description: 关于 ERC-223 同质化代币标准的概述、它的运作方式以及与 ERC-20 的对比。
+lang: zh
+---
+
+## 简介 {#introduction}
+
+### 什么是 ERC-223? {#what-is-erc223}
+
+ERC-223 是一种同质化代币标准,与 ERC-20 标准类似。 主要的区别在于,ERC-223 不仅定义了代币应用程序接口,还定义了从发送者向接收者转移代币的逻辑。 它引入了一个交流模型,使代币转账能够能在接收方进行处理。
+
+### 与 ERC-20 的区别 {#erc20-differences}
+
+ERC-223 解决了 ERC-20 存在的一些限制,并在代币合约与可能接收代币的合约之间引入了一种新的交互方法。 有几件事情是 ERC-223 能够做到但 ERC-20 不能做到的:
+
+- 在接收方处理代币转账:接收者可以检测到 ERC-223 代币的存入。
+- 拒绝不当发送的代币:如果用户向不应该接收代币的合约发送 ERC-223 代币,合约可以拒绝该交易,以避免损失代币。
+- 转账中的元数据:ERC-223 代币可以包含元数据,允许代币交易上附加任意信息。
+
+## 前提条件 {#prerequisites}
+
+- [帐户](/developers/docs/accounts)
+- [智能合约](/developers/docs/smart-contracts/)
+- [代币标准](/developers/docs/standards/tokens/)
+- [ERC-20](/developers/docs/standards/tokens/erc-20/)
+
+## 正文 {#body}
+
+ERC-223 是一种在智能合约中实现代币应用程序接口的代币标准。 它也为应该接收 ERC-223 代币的合约声明了一个应用程序接口。 不支持 ERC-223 接收者应用程序接口的合约无法接收 ERC-223 代币,防止了用户出错。
+
+实现了以下方法和事件的智能合约可以被称为兼容 ERC-223 的代币合约。 一旦被部署,它将负责追踪在以太坊上创建的代币。
+
+合约能够拥有的函数不止这些,开发者可以将各种代币标准的任何其他功能添加到该合约。 例如,`approve` 和 `transferFrom` 函数不是 ERC-223 标准的一部分,但如果有必要,可以实现这些函数。
+
+来自 [EIP-223](https://eips.ethereum.org/EIPS/eip-223):
+
+### 方法 {#methods}
+
+ERC-223 代币必须实现以下方法:
+
+```solidity
+function name() public view returns (string)
+function symbol() public view returns (string)
+function decimals() public view returns (uint8)
+function totalSupply() public view returns (uint256)
+function balanceOf(address _owner) public view returns (uint256 balance)
+function transfer(address _to, uint256 _value) public returns (bool success)
+function transfer(address _to, uint256 _value, bytes calldata _data) public returns (bool success)
+```
+
+应该接收 ERC-223 代币的合约必须实现以下方法:
+
+```solidity
+function tokenReceived(address _from, uint _value, bytes calldata _data)
+```
+
+如果 ERC-223 代币被发送到没有实现 `tokenReceived(..)` 函数的合约,那么这笔转账必定会失败,并且代币不会从发送者的余额中移走。
+
+### 事件 {#events}
+
+```solidity
+event Transfer(address indexed _from, address indexed _to, uint256 _value, bytes calldata _data)
+```
+
+### 示例 {#examples}
+
+ERC-223 代币的应用程序接口与 ERC-20 的相似,因此从用户界面开发的角度上看两者没有区别。 唯一的区别是,ERC-223 代币可能不具有 `approve` + `transferFrom` 函数,因为这些函数对该标准来说是可选的。
+
+#### Solidity 的示例 {#solidity-example}
+
+以下示例说明了基础 ERC-223 代币合约是如何运作的:
+
+```solidity
+pragma solidity ^0.8.19;
+abstract contract IERC223Recipient {
+ function tokenReceived(address _from, uint _value, bytes memory _data) public virtual;
+}
+contract VeryBasicERC223Token {
+ event Transfer(address indexed from, address indexed to, uint value, bytes data);
+ string private _name;
+ string private _symbol;
+ uint8 private _decimals;
+ uint256 private _totalSupply;
+ mapping(address => uint256) private balances;
+ function name() public view returns (string memory) { return _name; }
+ function symbol() public view returns (string memory) {return _symbol; }
+ function decimals() public view returns (uint8) { return _decimals; }
+ function totalSupply() public view returns (uint256) { return _totalSupply; }
+ function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; }
+ function isContract(address account) internal view returns (bool) {
+ uint256 size;
+ assembly { size := extcodesize(account) }
+ return size > 0;
+ }
+ function transfer(address _to, uint _value, bytes calldata _data) public returns (bool success){
+ balances[msg.sender] = balances[msg.sender] - _value;
+ balances[_to] = balances[_to] + _value;
+ if(isContract(_to)) {
+ IERC223Recipient(_to).tokenReceived(msg.sender, _value, _data);
+ }
+ emit Transfer(msg.sender, _to, _value, _data);
+ return true;
+ }
+ function transfer(address _to, uint _value) public returns (bool success){
+ bytes memory _empty = hex"00000000";
+ balances[msg.sender] = balances[msg.sender] - _value;
+ balances[_to] = balances[_to] + _value;
+ if(isContract(_to)) {
+ IERC223Recipient(_to).tokenReceived(msg.sender, _value, _empty);
+ }
+ emit Transfer(msg.sender, _to, _value, _empty);
+ return true;
+ }
+}
+```
+
+现在我们希望另一个合约接受 `tokenA` 存款(假设该 tokenA 是一种 ERC-223 代币)。 该合约必须只接受 tokenA 并拒绝其他代币。 当合约接收 tokenA 时,它必须触发一个 `Deposit()` 事件并增加 `deposits` 内部变量的值。
+
+代码如下:
+
+```solidity
+contract RecipientContract is IERC223Recipient {
+ event Deposit(address whoSentTheTokens);
+ uint256 deposits = 0;
+ address tokenA; // The only token that we want to accept.
+ function tokenReceived(address _from, uint _value, bytes memory _data) public override
+ {
+ // It is important to understand that within this function
+ // msg.sender is the address of a token that is being received,
+ // msg.value is always 0 as the token contract does not own or send Ether in most cases,
+ // _from is the sender of the token transfer,
+ // _value is the amount of tokens that was deposited.
+ require(msg.sender == tokenA);
+ deposits += _value;
+ emit Deposit(_from);
+ }
+}
+```
+
+## 常见问题{#faq}
+
+### 如果我们将一些 tokenB 发送到合约会发生什么? {#sending-tokens}
+
+交易会失败,并且不会发生代币的转移。 代币将被退回到发送者的地址。
+
+### 我们如何向该合约存款? {#contract-deposits}
+
+调用 ERC-223 代币的 `transfer(address,uint256)` 或 `transfer(address,uint256,bytes)` 函数,指定 `RecipientContract` 的地址。
+
+### 如果我们将 ERC-20 代币转移到该合约会发生什么? {#erc-20-transfers}
+
+如果 ERC-20 代币被发送到 `RecipientContract`,这些代币将被转移,但转账不会被识别(不会触发 `Deposit()` 事件,存款值不会发生改变)。 无法过滤或防止不必要的 ERC-20 存款。
+
+### 如果我们希望在代币存款完成后执行一些函数呢? {#function-execution}
+
+有多种方法可以做到这点。 在此示例中,我们将使用的方法会使 ERC-223 转账与以太币转账相同:
+
+```solidity
+contract RecipientContract is IERC223Recipient {
+ event Foo();
+ event Bar(uint256 someNumber);
+ address tokenA; // The only token that we want to accept.
+ function tokenReceived(address _from, uint _value, bytes memory _data) public override
+ {
+ require(msg.sender == tokenA);
+ address(this).call(_data); // Handle incoming transaction and perform a subsequent function call.
+ }
+ function foo() public
+ {
+ emit Foo();
+ }
+ function bar(uint256 _someNumber) public
+ {
+ emit Bar(_someNumber);
+ }
+}
+```
+
+当 `RecipientContract` 收到 ERC-223 代币时,合约会执行一个编码为代币交易参数 `_data` 的函数,这与以太币交易将函数调用编码为交易 `data` 相同。 阅读[数据字段](https://ethereum.org/en/developers/docs/transactions/#the-data-field)以获取更多信息。
+
+在上述示例中,ERC-223 代币必须通过 `transfer(address,uin256,bytes calldata _data)` 函数转移到 `RecipientContract` 的地址。 如果数据参数将为 `0xc2985578`(`foo()` 函数的签名),那么在收到代币存款之后,将会调用 foo() 函数并触发事件 Foo()。
+
+也可以将参数编码到代币转账的 `data` 中,例如我们可以使用数值 12345 作为 `_someNumber` 来调用 bar() 函数。 在这种情况下,`data` 必须为 `0x0423a13200000000000000000000000000000000000000000000000000000000000004d2`,其中 `0x0423a132` 是 `bar(uint256)` 函数的签名,`00000000000000000000000000000000000000000000000000000000000004d2` 是 uint256 类型的 12345。
+
+## 局限性 {#limitations}
+
+虽然 ERC-223 解决了 ERC-20 标准中存在的一些问题,但它也有自己的局限性:
+
+- 采用与兼容性:ERC-223 目前还未被广泛采用,这可能会限制其与现有工具和平台的兼容性。
+- 向后兼容性:ERC-223 不向后兼容 ERC-20,这意味着现有的 ERC-20 合约和工具在未经修改的情况下无法与 ERC-223 代币一起使用。
+- 燃料成本:与 ERC-20 交易相比,ERC-223 转账中的额外检查与功能可能导致更高的燃料成本。
+
+## 扩展阅读{#further-reading}
+
+- [EIP-223:ERC-223 代币标准](https://eips.ethereum.org/EIPS/eip-223)
+- [初始 ERC-223 提案](https://github.com/ethereum/eips/issues/223)
diff --git a/public/content/translations/zh/developers/docs/standards/tokens/erc-4626/index.md b/public/content/translations/zh/developers/docs/standards/tokens/erc-4626/index.md
index 4f3bc56c46a..248341bdf68 100644
--- a/public/content/translations/zh/developers/docs/standards/tokens/erc-4626/index.md
+++ b/public/content/translations/zh/developers/docs/standards/tokens/erc-4626/index.md
@@ -27,7 +27,7 @@ ERC-4626 是优化和统一收益资金库技术参数的标准。 它为表示
#### asset {#asset}
```solidity
-function asset() public view returns (address)
+function asset() public view returns (address assetTokenAddress)
```
此函数返回用于资金库记帐、存款和取款的标的代币的地址。
@@ -59,7 +59,7 @@ function convertToAssets(uint256 shares) public view returns (uint256 assets)
#### maxDeposit {#maxdeposit}
```solidity
-function maxDeposit(address receiver) public view returns (uint256)
+function maxDeposit(address receiver) public view returns (uint256 maxAssets)
```
此函数返回 `receiver` 的一次 [`deposit`](#deposit) 调用中可以存入的最大标的资产数量。
@@ -67,7 +67,7 @@ function maxDeposit(address receiver) public view returns (uint256)
#### previewDeposit {#previewdeposit}
```solidity
-function previewDeposit(uint256 assets) public view returns (uint256)
+function previewDeposit(uint256 assets) public view returns (uint256 shares)
```
此函数允许用户模拟他们在当前区块的存款效果。
@@ -83,7 +83,7 @@ function deposit(uint256 assets, address receiver) public returns (uint256 share
#### maxMint {#maxmint}
```solidity
-function maxMint(address receiver) public view returns (uint256)
+function maxMint(address receiver) public view returns (uint256 maxShares)
```
此函数返回 `receiver` 在单次 [`mint`](#mint) 调用中可以铸造的最大份额。
@@ -91,7 +91,7 @@ function maxMint(address receiver) public view returns (uint256)
#### previewMint {#previewmint}
```solidity
-function previewMint(uint256 shares) public view returns (uint256)
+function maxMint(address receiver) public view returns (uint256 maxShares)
```
此函数允许用户在当前区块模拟他们的铸币效果。
@@ -107,7 +107,7 @@ function mint(uint256 shares, address receiver) public returns (uint256 assets)
#### maxWithdraw {#maxwithdraw}
```solidity
-function maxWithdraw(address owner) public view returns (uint256)
+function maxWithdraw(address owner) public view returns (uint256 maxAssets)
```
此函数返回可以通过单次 [`withdraw`](#withdraw) 调用从 `owner` 余额中提取的最大标的资产数量。
@@ -115,7 +115,7 @@ function maxWithdraw(address owner) public view returns (uint256)
#### previewWithdraw {#previewwithdraw}
```solidity
-function previewWithdraw(uint256 assets) public view returns (uint256)
+function previewWithdraw(uint256 assets) public view returns (uint256 shares)
```
此函数允许用户模拟他们在当前区块取款的效果。
@@ -131,7 +131,7 @@ function withdraw(uint256 assets, address receiver, address owner) public return
#### maxRedeem {#maxredeem}
```solidity
-function maxRedeem(address owner) public view returns (uint256)
+function maxRedeem(address owner) public view returns (uint256 maxShares)
```
此函数返回可以通过 [`redeem`](#redeem) 调用从 `owner` 余额中赎回的最大份额。
@@ -139,7 +139,7 @@ function maxRedeem(address owner) public view returns (uint256)
#### previewRedeem {#previewredeem}
```solidity
-function previewRedeem(uint256 shares) public view returns (uint256)
+function previewRedeem(uint256 shares) public view returns (uint256 assets)
```
此函数允许用户在当前区块模拟他们的赎回效果。
@@ -168,6 +168,10 @@ function balanceOf(address owner) public view returns (uint256)
返回 `owner` 当前拥有的资金库份额总量。
+### 接口图 {#mapOfTheInterface}
+
+![ERC-4626 接口图](./map-of-erc-4626.png)
+
### 事件 {#events}
#### Deposit 事件
@@ -195,7 +199,7 @@ event Withdraw(
address indexed receiver,
address indexed owner,
uint256 assets,
- uint256 share
+ uint256 shares
)
```
@@ -204,4 +208,4 @@ event Withdraw(
## 延伸阅读 {#further-reading}
- [EIP-4626:代币化资金库标准](https://eips.ethereum.org/EIPS/eip-4626)
-- [ERC-4626: GitHub Repo](https://github.com/Rari-Capital/solmate/blob/main/src/mixins/ERC4626.sol)
+- [ERC-4626: GitHub Repo](https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC4626.sol)
diff --git a/public/content/translations/zh/developers/docs/standards/tokens/erc-777/index.md b/public/content/translations/zh/developers/docs/standards/tokens/erc-777/index.md
index 2ca5aa12d89..18d53afad7c 100644
--- a/public/content/translations/zh/developers/docs/standards/tokens/erc-777/index.md
+++ b/public/content/translations/zh/developers/docs/standards/tokens/erc-777/index.md
@@ -4,42 +4,74 @@ description:
lang: zh
---
-## 警告 {#warning}
+## {#introduction}
-**由于[容易遭受不同形式的攻击](https://github.com/OpenZeppelin/openzeppelin-contracts/issues/2620),ERC-777 很难正确实现。 建议使用 [ERC-20](/developers/docs/standards/tokens/erc-20/) 代替。**本页面做为历史档案保留。
+****
-## 简介? {#introduction}
+****
-ERC-777 是一个同质化代币标准,是对现有 [ERC-20](/developers/docs/standards/tokens/erc-20/) 标准的改进。
+钩子是智能合约代码中描述的一种函数。 在通过合约发送或者接收代币时会调用钩子。 这允许智能合约对接收和发送的代币做出响应。
-## 前言 {#prerequisites}
+## {#prerequisites}
-为了更好地理解本文,我们建议你首先阅读 [ERC-20](/developers/docs/standards/tokens/erc-20/) 相关内容。
+- []()
+- []()
+- []()
-## ERC-777 对 ERC-20 提出了哪些改进? {#-erc-777-vs-erc-20}
+## {#body}
-与 ERC-20 相比,ERC-777 提供了以下改进。
+钩子是使用 [ERC-1820](https://eips.ethereum.org/EIPS/eip-1820) 标准注册及发现的。
-### 钩子 {#hooks}
+该标准还解决了 ERC-20 中和 `decimals` 有关的混乱。 这次澄清提升了开发者体验。
-钩子是智能合约代码中描述的一种函数。 在通过合约发送或者接收代币时会调用钩子。 这允许智能合约对接收和发送的代币做出响应。
+可以和 ERC-777 合约互动,就好像它们是 ERC-20 合约一样。
-钩子是使用 [ERC-1820](https://eips.ethereum.org/EIPS/eip-1820) 标准注册及发现的。
+### {#methods}
-#### 为什么钩子很棒? {#why-are-hooks-great}
+```solidity
+
+```
-1. 钩子允许向合同发送代币并在单笔交易中通知合约,不像 [ERC-20](https://eips.ethereum.org/EIPS/eip-20),需要双重呼叫(`同意`/`转账自`)才能实现这一点。
-2. 未登记钩子的合约与 ERC-777 不相容。 接收合约没有注册钩子时,发送合约会中止交易。 这可以防止意外向非 ERC-777 智能合约转账。
-3. 钩子可以拒绝交易。
+### {#events}
-### 小数位数 {#decimals}
+```solidity
+
+```
-该标准还解决了 ERC-20 中和 `decimals` 有关的混乱。 这次澄清提升了开发者体验。
+### {#web3py-example}
-### 后向兼容ERC-20 {#backwards-compatibility-with-erc-20}
+#### {#web3py-example}
-可以和 ERC-777 合约互动,就好像它们是 ERC-20 合约一样。
+```
+
+```
+
+```python
+
+
+
+
+```
+
+```python
+
+
+```
+
+## {#popular-nfts}
+
+-
+-
+-
+-
+-
+-
+-
+-
## 了解更多 {#further-reading}
-[EIP-777:代币标准](https://eips.ethereum.org/EIPS/eip-777)
+- []()
+- []()
+- []()
+- []()
diff --git a/public/content/translations/zh/developers/docs/standards/tokens/index.md b/public/content/translations/zh/developers/docs/standards/tokens/index.md
index 3ec3c1764d7..c32d6d5dc48 100644
--- a/public/content/translations/zh/developers/docs/standards/tokens/index.md
+++ b/public/content/translations/zh/developers/docs/standards/tokens/index.md
@@ -19,10 +19,11 @@ incomplete: true
以下是以太坊上最受欢迎的一些代币标准:
- [ERC-20](/developers/docs/standards/tokens/erc-20/) - 同质化(可互换)代币的标准接口,比如投票代币、质押代币或虚拟货币。
+
+### 非同质化代币标准 {#nft-standards}
+
- [ERC-721](/developers/docs/standards/tokens/erc-721/) - 非同质化代币的标准接口,比如艺术作品或歌曲的契约。
-- [ERC-777](/developers/docs/standards/tokens/erc-777/) - ERC-777 使人们能够通过代币上创建额外的功能,例如用于改善交易私密性的混合合约,或是在你不慎丢失私钥时的紧急恢复功能。
-- [ERC-1155](/developers/docs/standards/tokens/erc-1155/) - ERC-1155 允许更有效的交易和打包交易,从而节省燃料成本。 此代币标准允许创建实用代币(例如 $BNB 或 $BAT)和加密朋克之类的非同质化代币。
-- [ERC-4626](/developers/docs/standards/tokens/erc-4626/) - 一个代币化的资金库标准,旨在优化和统一收益资金库的技术参数。
+- [ERC-1155](/developers/docs/standards/tokens/erc-1155/) - ERC-1155 允许更有效的交易和交易捆绑,从而节省燃料成本。 此代币标准允许创建实用代币(例如 $BNB 或 $BAT)和加密朋克之类的非同质化代币。
完整的[以太坊意见征求](https://eips.ethereum.org/erc)提案列表。
diff --git a/public/content/translations/zh/developers/docs/storage/index.md b/public/content/translations/zh/developers/docs/storage/index.md
index 4a8a6bf826b..f653d896487 100644
--- a/public/content/translations/zh/developers/docs/storage/index.md
+++ b/public/content/translations/zh/developers/docs/storage/index.md
@@ -61,6 +61,7 @@ lang: zh
- [IPFS Scan](https://ipfs-scan.io) _(星际文件系统固定浏览器)_
- [4EVERLAND](https://www.4everland.org/)_(星际文件系统固定服务)_
- [Filebase](https://filebase.com)_(星际文件系统固定服务)_
+- [Spheron Network](https://spheron.network/)_(星际文件系统/菲乐币固定服务)_
SWARM 是一种去中心化的数据存储和分发技术,具有存储激励系统和存储空间租金价格预言机。
@@ -198,6 +199,12 @@ SWARM 是一种去中心化的数据存储和分发技术,具有存储激励
- [相关文档](https://docs.kaleido.io/kaleido-services/ipfs/)
- [GitHub](https://github.com/kaleido-io)
+**Spheron Network - _Spheron 是一项平台即服务 (PaaS),专为希望在去中心化基础设施上启动其应用程序并获得最佳性能的去中心化应用程序而设计。 它提供开箱即用的计算、去中心化存储、内容分发网络和虚拟主机。_**
+
+- [spheron.network](https://spheron.network/)
+- [相关文档](https://docs.spheron.network/)
+- [GitHub](https://github.com/spheronFdn)
+
## 延伸阅读 {#further-reading}
- [什么是去中心化存储?](https://coinmarketcap.com/alexandria/article/what-is-decentralized-storage-a-deep-dive-by-filecoin) - _CoinMarketCap_
diff --git a/public/content/translations/zh/developers/docs/transactions/index.md b/public/content/translations/zh/developers/docs/transactions/index.md
index af387d0ab37..6c6034cce4e 100644
--- a/public/content/translations/zh/developers/docs/transactions/index.md
+++ b/public/content/translations/zh/developers/docs/transactions/index.md
@@ -153,12 +153,19 @@ Alice 的帐户将会增加 **+1.0 ETH**
验证者获得 **0.000210 个以太币**的小费
-任何智能合约交互也需要燃料。
![未使用燃料退还示意图](./gas-tx.png) _示意图节选自[以太坊虚拟机图解](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
任何未用于交易的燃料都会退还给用户帐户。
+### 智能合约交互 {#smart-contract-interactions}
+
+任何涉及智能合约的交易都需要燃料。
+
+智能合约还可以包含被称为 [`view`](https://docs.soliditylang.org/en/latest/contracts.html#view-functions) 或 [`pure`](https://docs.soliditylang.org/en/latest/contracts.html#pure-functions) 的函数,这不会改变合约的状态。 像这样,从外部帐户调用这些函数不需要任何燃料。 这种情况下的 RPC 底层调用为 [`eth_call`](/developers/docs/apis/json-rpc#eth_call)。
+
+不同于使用 `eth_call` 进行访问,`view` 或 `pure` 函数通常也在内部(即从合约自身或其他合约)调用并消耗燃料。
+
## 交易生命周期 {#transaction-lifecycle}
交易提交后,就会发生以下情况:
@@ -191,6 +198,16 @@ Alice 的帐户将会增加 **+1.0 ETH**
- `TransactionType` - 一个在 0 到 0x7f 之间的数字,总共为 128 种可能的交易类型。
- `TransactionPayload` - 由交易类型定义的任意字节数组。
+基于 `TransactionType` 值,交易可被分为以下几类:
+
+1. **Type 0(传统)交易:**自以太坊推出以来使用的原始交易格式。 它们不包含 [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) 中的功能,例如动态燃料费计算或智能合约访问列表。 传统交易缺少以序列化形式表明其类型的特定前缀,在使用[递归长度前缀编码 (RLP)](/developers/docs/data-structures-and-encoding/rlp) 时以 `0xf8` 字节开头。 这些交易的 TransactionType 值为 `0x0`。
+
+2. **Type 1 交易:** 作为以太坊[柏林升级](/history/#berlin)的一部分在 [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930) 中引入,这些交易包含一个 `accessList` 参数。 该列表指定了交易预期访问的地址和存储密钥,有助于降低涉及智能合约的复杂交易的潜在[燃料](/developers/docs/gas/)花费。 EIP-1559 的费用市场变化不包含在 Type 1 交易中。 Type 1 交易还包括一个 `yParity` 参数,它可以是 `0x0` 或 `0x1`,表示 secp256k1 签名的 y 值奇偶性。 它们以字节 `0x01` 开头进行标识,其交易类型 (TransactionType) 值为 `0x1`。
+
+3. **Type 2 交易**通常称为 EIP-1559 交易,是在以太坊[伦敦升级](/history/#london)的 [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) 中引入的。 它们已成为以太坊网络上的标准交易类型。 这些交易引入了一种新的费用市场机制,通过将交易费分为基础费用和优先费用来提高可预测性。 它们以字节 `0x02` 开头,并包括 `maxPriorityFeePerGas` 和 `maxFeePerGas` 的字段。 Type 2 交易因其灵活性和效率,现已成为默认选择,特别是在网络严重拥堵期间,由于它能够帮助用户提高管理交易费用的可预测性,因此特别受到青睐。 这些交易的 TransactionType 值为 `0x2`。
+
+
+
## 延伸阅读 {#further-reading}
- [EIP-2718:Typed Transaction Envelope](https://eips.ethereum.org/EIPS/eip-2718)
diff --git a/public/content/translations/zh/developers/docs/wrapped-eth/index.md b/public/content/translations/zh/developers/docs/wrapped-eth/index.md
new file mode 100644
index 00000000000..21e7998efbc
--- /dev/null
+++ b/public/content/translations/zh/developers/docs/wrapped-eth/index.md
@@ -0,0 +1,65 @@
+---
+title: 什么是包装以太币 (WETH)
+description: 包装以太币 (WETH) 简介 - 一种兼容 ERC20 的包装以太币 (ETH) 。
+lang: zh
+---
+
+# 包装以太币 (WETH) {#intro-to-weth}
+
+以太币 (ETH) 是以太坊的主要货币。 它被用于多种目的,比如作为货币进行质押,以及支付计算的燃料费。 **包装以太币实际上是以太币的升级形式,具有许多应用程序和 [ERC-20 代币](/glossary/#erc-20)所需的一些附加功能**,这些也是以太坊上的另一种数字资产。 为了使用这些代币,以太币必须遵循与它们相同的规则,也称为 ERC-20 标准。
+
+为了弥补这个缺口,包装以太币 (WETH) 诞生了。 **包装以太币是一个智能合约,你可以向其中存入任意数量的以太币,并收到铸造的对应数量的包装以太币**,后者符合 ERC-20 代币标准。 包装以太币是以太币的一种表示,允许你以 ERC-20 代币(而非原生资产以太币)的形式与以太币进行交互。 你仍需要使用原生以太币来支付燃气费,因此在将它们存入智能合约时,确保留下一些。
+
+你可以使用包装以太币智能合约将包装以太币转换为以太币。 你可以通过包装以太币智能合约赎回任意数量的包装以太币,并将收到对应数量的以太币。 然后,存入的包装以太币会被销毁并移出包装以太币的流通量。
+
+**大约有 3% 的流通以太币被锁定在包装以太币代币合约中**,使其成为最常用的[智能合约](/glossary/#smart-contract)之一。 在用户与去中心化金融 (DeFi) 应用程序交互时,包装以太币尤为重要。
+
+## 为什么需要按 ERC-20 标准包装以太币? {#why-do-we-need-to-wrap-eth}
+
+[ERC-20](/developers/docs/standards/tokens/erc-20/) 定义了可转移令牌的标准接口,因此任何人都可以创建代币,与以太坊生态系统中使用此标准的应用程序和代币进行无缝交互。 由于**以太币早于 ERC-20 标准出现**,因此不符合该规范。 这意味着**你不能轻易地**将以太币兑换成其他 ERC-20 代币,或**在使用 ERC-20 标准的应用程序中使用以太币**。 包装以太币使你有机会进行以下操作:
+
+- **将以太币兑换为 ERC-20 代币**:你无法直接将以太币兑换为其他 ERC-20 代币。 包装以太币是符合 ERC-20 同质化代币标准的以太币表示,并且可以与其他 ERC-20 代币兑换。
+
+- **在去中心化应用程序中使用以太币**:由于以太币与 ERC-20 不兼容,开发者需要在去中心化应用程序中分别创建单独的接口(一个用于以太币,另一个用于 ERC-20 代币)。 包装以太币消除了这一障碍,使开发者能够在同一个去中心化应用程序中处理以太币和其他代币。 许多去中心化金融应用程序使用该标准,并创建用于兑换这些代币的市场。
+
+## 包装以太币 (WETH) 对比以太币 (ETH):有哪些不同? {#weth-vs-eth-differences}
+
+| | **以太币 (ETH)** | **包装以太币 (WETH)** |
+| --- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
+| 供应 | 以太币的供应由以太坊协议管理。 以太币的[发行](/roadmap/merge/issuance)由以太坊验证者在处理交易和创造区块时处理。 | 包装以太币是一种 ERC-20 代币,其供应由智能合约管理。 合约会在收到用户存入的以太币时发行新的包装以太币单位,或在用户希望用包装以太币赎回以太币时销毁包装以太币。 |
+| 所有权 | 所有权由以太坊协议通过你的帐户余额进行管理。 | 包装以太币的所有权由包装以太币代币智能合约进行管理,并由以太坊协议提供安全保护。 |
+| 燃料 | 以太币 (ETH) 是可接受的支付单位,用于支付以太坊网络上的计算。 燃料费以 Gwei(一种以太币单位)计价。 | 包装以太币代币在原生状态下不支持用于支付燃料。 |
+
+## 常见问题{#faq}
+
+
+
+你支付了燃料费,以使用包装以太币合约包装或解包以太币。
+
+
+
+
+
+包装以太币通常被认为是安全的,因为它是基于一个简单且经过实战考验的智能合约。 包装以太币合约也得到了正式验证,符合以太坊智能合约的最高安全标准。
+
+
+
+
+
+除了[包装以太币的规范实现](https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2)外,还有一些其他变体。 这些变体可能是应用程序开发者创建的自定义代币,或是在其他区块链上发行的版本,并且可能会有不同的行为或不同的安全属性。 **请务必仔细检查代币信息,以了解你正在与哪种包装以太币实现进行交互。**
+
+
+
+
+
+- [以太坊主网](https://etherscan.io/token/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)
+- [Arbitrum](https://arbiscan.io/token/0x82af49447d8a07e3bd95bd0d56f35241523fbab1)
+- [Optimism](https://optimistic.etherscan.io/token/0x4200000000000000000000000000000000000006)
+
+
+
+## 扩展阅读{#further-reading}
+
+- [WTF 是包装以太币吗?](https://weth.tkn.eth.limo/)
+- [Etherscan 上关于包装以太币代币的信息](https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2)
+- [包装以太币的形式化验证](https://zellic.io/blog/formal-verification-weth)
diff --git a/public/content/translations/zh/eips/index.md b/public/content/translations/zh/eips/index.md
index 37ef1a6aea8..9ac64f5aa2d 100644
--- a/public/content/translations/zh/eips/index.md
+++ b/public/content/translations/zh/eips/index.md
@@ -54,10 +54,18 @@ EIP 作为一个中心角色,记载以太坊的变化并且记载在以太坊
如果你有兴趣详细了解以太坊改进提案,请查看[以太坊改进提案网站](https://eips.ethereum.org/)和[ EIP-1](https://eips.ethereum.org/EIPS/eip-1)。 下面是一些有用的链接:
-- [以太坊改进提案完整列表](https://eips.ethereum.org/all)
+- [以太坊改进提案列表](https://eips.ethereum.org/all)
- [所以太坊改进提案类型说明](https://eips.ethereum.org/EIPS/eip-1#eip-types)
- [所有以太坊改进提案状态说明](https://eips.ethereum.org/EIPS/eip-1#eip-process)
+### 社区教育项目 {#community-projects}
+
+- [PEEPanEIP](https://www.youtube.com/playlist?list=PL4cwHXAawZxqu0PKKyMzG_3BJV_xZTi1F) — *PEEPanEIP 是一系列教学视频,讨论以太坊改进提案 (EIP) 和即将到来的升级中的关键特性。*
+- [EIPs For Nerds](https://ethereum2077.substack.com/t/eip-research) — *EIPs For Nerds 针对各种以太坊改进提案 (EIP)(包括核心以太坊改进提案以及应用程序/基础设施层以太坊改进提案 (ERC))提供 ELI5 风格的全面概述,以教育读者并围绕以太坊协议的提议改进达成共识。*
+- [EIPs.wtf](https://www.eips.wtf/) — *EIPs.wtf 提供以太坊改进提议 (EIP) 的额外信息,包括它们的状态、实现细节、相关拉取请求,以及社区反馈。*
+- [EIP.Fun](https://eipfun.substack.com/) — *EIP.Fun 提供关于以太坊改进提议 (EIP)、以太坊改进提议会议更新等等的最新消息。*
+- [EIPs Insight](https://eipsinsight.com/) — *EIPs Insight 根据从不同来源收集的信息,表示以太坊改进提议 (EIP) 流程和统计数据的状态。*
+
## 参与 {#participate}
任何人都可以创建以太坊改进提案。 提交提议之前,请务必阅读[ EIP-1](https://eips.ethereum.org/EIPS/eip-1),其中概述了以太坊改进提案流程以及如何编写以太坊改进提案,而且在[以太坊魔术师](https://ethereum-magicians.org/)论坛上征求反馈意见并首先与社区讨论提议,然后再提交提议草案。
diff --git a/public/content/translations/zh/enterprise/index.md b/public/content/translations/zh/enterprise/index.md
index 9037944aa30..758fe9a16a8 100644
--- a/public/content/translations/zh/enterprise/index.md
+++ b/public/content/translations/zh/enterprise/index.md
@@ -4,140 +4,159 @@ description: 有关公共以太坊区块链上的企业应用的指南、文章
lang: zh
---
-# 企业以太坊主网络 {#ethereum-for-enterprise}
+# 企业级以太坊 {#ethereum-for-enterprise}
-区块链应用程序有助于企业:
+以太坊可以帮助包括大公司在内的各类企业:
- 增加信任,降低企业之间协调的成本
- 提高业务网络的帐户属性及运营效率
- 发现新的商业模式和创造价值的机会
- 提高组织未来的竞争力
-企业级的区块链应用可以建立在以太坊[主网](/glossary/#mainnet)或基于以太坊技术的私有链上。 详见[企业级私有以太坊](/enterprise/private-ethereum/)。
+早些年,许多企业级区块链应用是在私人许可的以太坊兼容区块链或联盟链上构建的。 如今,得益于可实现更高吞吐量、更低交易费用和隐私性的技术进步,大多数使用以太坊技术的企业级应用程序正在基于公共以太坊主网或[二层网络](/layer-2)链构建。
-## 以太坊主网与私有链 {#private-vs-public}
-以太坊主网是唯一的。 建立在主网上的应用程序能够相互调用,类似于在互联网上建立的应用程序能够相互连接,充分发挥区块链去中心化的潜力。
+## 资源 {#enterprise-resources}
-许多企业和财团已经为基于以太坊技术的特定应用程序部署了私人的、需要许可的区块链。
+### 延伸阅读 {#further-reading}
-### 主要区别 {#key-differences}
+了解商家如何从以太坊受益的非技术资源
-- 区块链安全/不可变性——区块链能否抵制被篡改是由其协商一致性的算法决定的。 以太网主网的安全是由世界各地的个人和矿工管理的数千个独立节点间的交互保证的。 私有链通常有少数几个节点,由一个或几个组织控制。 这些节点可以被严格地控制,但少数节点重写链上信息或进行欺诈性交易的行为必须受到惩罚。
-- 性能——由于私有的以太坊可能使用具有特殊硬件要求和不同共识算法的高性能节点,例如 POA 等。它们可能在基准层(第一层)实现较高的交易吞吐量。 在以太网主网上,使用[第二层扩容解决方案](/developers/docs/scaling/#layer-2-scaling)可以实现高吞吐量。
-- 成本——经营私有链的成本主要是建立和管理这条链所花费的精力及运行它的服务器。 虽然与以太网连接没有成本,但每笔交易都有燃料成本,必须在 Ether 支付。 目前正在开发交易转发器(又名燃料站),以消除最终用户甚至企业在交易中直接使用 Ether 的必要性。 一些[分析](https://github.com/EYBlockchain/fundamental-cost-of-ownership/blob/master/EY%20Total%20Cost%20of%20Ownership%20for%20Blockchain%20Solutions.pdf)显示,在以太坊主网上运行应用程序的总成本可能低于运行私有链。
-- 节点权限——只有授权的节点可以加入私有链。 任何人都可以在以太坊主链上设置一个节点。
-- 隐私——访问写入私有链的数据可以通过限制访问网络来控制,并更加细粒度地进行访问控制和私有交易。 任何人都可以查看写入到主网一层的所有数据,所以敏感信息应该脱链存储、传输或者加密。 一些实现了以上设想的设计模式已经出现(如 Baseline、Aztec),以及能够保持数据分割的二层解决方案。
+- [区块链有什么商业用途?](https://entethalliance.org/why-are-blockchains-useful-for-business/)- _从可预测性的角度讨论区块链的价值_
+- [企业以太坊联盟 2023 年度商业就绪度报告](https://entethalliance.org/eea-ethereum-business-readiness-report-2023/) - _调查公共以太坊的潜力与能力以及更广阔的以太坊商业生态系统_
+- [Paul Brody 编著的_《商业以太坊》_](https://www.uapress.com/product/ethereum-for-business/) - _一本简练的英语指南,介绍从资产管理和支付到供应链获取回报的使用案例_
-### 为什么要在以太坊主网上开发 {#why-build-on-ethereum-mainnet}
-
-企业从 2016 年左右开始使用区块链技术,当时已经有了 Hyperledger、Quorum 和 Corda 项目。 最初的重点主要放在私有企业级区块链上。但从 2019 年开始,人们对商业应用程序在公共与私有区块链上的思考发生了转变。 福雷斯特进行的[调查](https://assets.ey.com/content/dam/ey-sites/ey-com/en_gl/topics/blockchain/ey-public-blockchain-opportunity-snapshot.pdf)显示,“调查答卷人... 看看这个潜力,75% 的人说他们可能会在未来使用公链,将近三分之一的人说他们很可能”。 EY’s Paul Brody 曾经[谈到](https://www.youtube.com/watch?v=-ycu5vGDdZw&feature=youtu.be&t=3668)有关在以太坊主链上进行构建的优点。其中(根据不同的应用)包括了更强的安全性/不可更改性、透明、低成本及方便与其他主链上的应用交互(网络效应)。 企业之间分享一个共同的参照基准,可以避免不必要地产生无数孤立的节点,它们不能相互沟通、分享或同步信息。
+### 组织 {#organizations}
-公共区块链另一个引人注意的发展是[二层网络](/developers/docs/scaling/#layer-2-scaling)。 第二层主要是一种可伸缩性技术类别,它提高了公共链上的吞吐量。 但第二层解决方案也可以[解决一些其他问题。这些问题正是当初企业开发者在过去选择私有链的原因](https://entethalliance.org/how-ethereum-layer-2-scaling-solutions-address-barriers-to-enterprises-building-on-mainnet/)。
+不同组织开展了一些合作,努力改善以太坊对企业用户的易用性:
-## 企业开发者资源 {#enterprise-developer-resources}
+- [企业以太坊联盟](https://entethalliance.org/) - 企业以太坊联盟协助组织在其日常商业运营中采纳和使用以太坊技术。 它的目标是通过专业与商业支持、倡议与研究、标准制定与生态系统信任服务来加速商业以太坊的发展。
+- [全球区块链商业理事会](https://www.gbbc.io/) - 全球区块链商业理事会是区块链技术生态系统的行业协会。 通过促进政策制定者和监管者的参与、精心策划的活动和深入的讨论以及推动研究工作,全球区块链商业理事会致力于促进区块链的进一步采纳,以创造更安全、更平等和更高效运转的社会。
-### 组织 {#organizations}
-不同组织开展了一些合作,让以太坊适合企业用户:
-
-- [企业以太坊联盟(Enterprise Ethereum Alliance, EEA)](https://entethalliance.org/) EEA 旨在让各组织能够在其日常业务中采用和使用以太坊技术。 它让以太坊的生态系统可以找到新的商业机会,推进工业界的采用,并让参与者之间可以相互学习与合作。 EEA 的主网工作组是在公共以太坊主机上建设的企业代表的协调中心,以及希望支持他们的以太坊社区成员。
-- [以太坊 OASIS 开放项目(Ethereum OASIS Open Project)](https://github.com/ethereum-oasis/oasis-open-project) 以太坊 OASIS 开放项目是一个 OASIS 开放项目,它为不同的利益攸关方提供了一个中立的论坛,以高质量地规范以太坊长期稳定性、交互性并使其易于集成。 该项目打算制定明确、开放标准、高质量的文档和共同的测试套件,以促进以太坊协议的改进。
-- [Baseline 项目](https://www.baseline-protocol.org/) Baseline 协议是一个开放源码倡议,它结合了加密方面,发送消息和区块链的进步,通过公共以太坊主网以低成本的方式提供安全和私人的业务流程。 该协议使企业之间能够进行保密和复杂的合作,而不会在链上留下任何敏感的数据。 Baseline 项目是以太坊 OASIS 开放项目的一个次级项目,由 Baseline 技术指导委员会协调。
+## 企业开发者资源 {#enterprise-developer-resources}
### 产品和服务 {#products-and-services}
-- [Alchemy](https://www.alchemy.com/) _ 提供了 API 服务和工具,用于构建和监控以太坊上的应用程序_
-- [Blast](https://blastapi.io/)_ 为以太坊存档主网和测试网提供远程过程调用/网络套接字应用程序接口的应用程序接口平台_
-- [Blockapps](https://blockapps.net/) _通过部署企业级以太坊协议、工具和应用程序接口形成 STRATO 平台_
-- [Chainstack](https://chainstack.com/) _ 主网和测试网以太坊基础设施托管在公共及孤立的客户云中_
-- [ConsenSys](https://consensys.net/)_ 为以太坊上的开发提供了一系列工具和产品,同时还提供咨询和定制开发服务_
-- [Envision Blockchain](https://envisionblockchain.com/)_ 专注于以太坊主网,并提供针对企业的咨询和开发服务_
-- [EY OpsChain](https://blockchain.ey.com/products/contract-manager) _ 提供了一个采购流程,让用户在信任的业务合作伙伴网络中发出报价申请、合约、订单和发票_
-- [Hyperledger Besu](https://www.hyperledger.org/use/besu) _ 是一个针对企业的开源以太坊客户端,它依据 Apache 2.0 许可证开发并用 Java 语言编写_
-- [Infura](https://infura.io/) _对以太坊和星际文件系统网络进行可扩展的应用程序接口访问_
-- [Kaleido](https://kaleido.io/) _ 一个面向企业的开发平台,提供简化的区块链和数字资产应用程序_
-- [NodeReal](https://nodereal.io/) _为 Web3 生态系统提供可扩展的区块链基础设施和应用程序接口服务提供商_
-- [Provide](https://provide.services/) _为 企业级 Web3 应用程序提供基础设施和应用程序接口_
-- [QuickNode](https://www.quicknode.com/) _ 通过非同质化代币应用程序接口、代币应用程序接口等高级应用程序接口提供可靠、快速的节点,同时提供统一的产品套件和企业级解决方案_
-- [Tenderly](https://tenderly.co) _一个 Web3 开发平台,为开发、测试、监控和操作智能合约提供调试、可观测性和基础设施构建块_
-- [Unibright](https://unibright.io/) _一支拥有 20 多年业务流程和整合经验的团队,成员包括区块链专家、架构师、开发者和咨询人员_
-- [Zero Services GmbH](https://www.zeroservices.eu/) _在欧洲和亚洲的联合地点提供托管服务。 安全可靠地运营和监控你的节点_
-- [Zeeve](https://www.zeeve.io/) _为在以太坊上构建应用程序提供一系列产品和工具,还为企业级 Web3 应用程序提供基础设施和应用程序接口。_
+- [4EVERLAND](https://www.4everland.org/) - _提供应用程序接口、远程过程调用服务和工具,用于托管去中心化应用程序和在以太坊上启用去中心化存储_
+- [Alchemy](https://www.alchemy.com/) - _提供应用程序接口服务和工具,用于在以太坊上构建和监控应用程序_
+- [Blast](https://blastapi.io/) - _ 是一个应用程序接口平台,为以太坊归档主网和测试网提供远程过程调用/网络服务安全性应用程序接口。_
+- [Blockapps](https://blockapps.net/) - _构成 STRATO 平台的企业以太坊协议、工具和应用程序接口的实现_
+- [Chainstack](https://chainstack.com/) - _托管在公有云和隔离的客户云中的主网和测试网以太坊基础设施_
+- [ConsenSys](https://consensys.io/) - _提供一系列用于以太坊构建的产品和工具,以及咨询和定制开发服务_
+- [Crossmint](http://crossmint.com/) _企业级 web3 开发平台,用于部署智能合约、支持信用卡和跨链支付,以及使用应用程序接口来创建、分发、销售、存储和编辑非同质化代币。_
+- [Envision Blockchain](https://envisionblockchain.com/) - _提供以企业为中心、专门针对以太坊主网的咨询和开发服务_
+- [EY OpsChain](https://blockchain.ey.com/products/contract-manager) - _通过在你信赖的业务合作伙伴网络中发布报价申请、合同、采购订单和发票,提供采购工作流程_。
+- [Hyperledger Besu](https://www.hyperledger.org/use/besu) - _在 Apache 2.0 许可证下开发并使用 Java 编写的以企业为中心的开源以太坊客户端_
+- [Infura](https://infura.io/) - _对以太坊和星际文件系统网络的可扩展应用程序接口访问_
+- [Kaleido](https://kaleido.io/) - _一个以企业为中心的开发平台,提供简化的区块链和数字资产应用程序_
+- [NodeReal](https://nodereal.io/) - _为 Web3 生态系统提供可扩展的区块链基础设施和应用程序接口服务提供商_
+- [Moralis](http://moralis.io/) - _具有 SOC2 2 类认证的企业级应用程序接口和节点_
+- [Provide](https://provide.services/) - _企业零知识中间件_
+- [QuickNode](https://www.quicknode.com/) - _提供可靠、快速的节点以及高级应用程序接口,如非同质化代币应用程序接口、代币应用程序接口等,同时提供统一的产品套件和企业级解决方案_
+- [Tenderly](https://tenderly.co) - _一个 Web3 开发平台,为智能合约的开发、测试、监控和运营提供调试、可观察性和基础设施构建块_
+- [Unibright](https://unibright.io/) - _一支由区块链专家、架构师、开发者和顾问组成的团队,拥有 20 多年的业务经验流程和集成经验_
+- [Zeeve](https://www.zeeve.io/) - _提供一系列用于以太坊构建的产品和工具,以及用于企业级 Web3 应用程序的基础设施和应用程序接口。_
### 工具和库 {#tooling-and-libraries}
-- [Alathio](https://explorer.aleth.io/) _以太坊数据分析平台_
-- [Chainlens](https://www.chainlens.com/) _面向公共和私有以太坊兼容网络的数据和分析平台,由 Web3 Labs 提供_
-- [Ernst & Young 的“Nightfall”](https://github.com/EYBlockchain/nightfall) _私有的交易工具包_
-- [EthSigner](https://github.com/ConsenSys/ethsigner) _与 Web3 应用提供商一起使用的交易签名应用程序_
-- [Tenderly](https://tenderly.co/)_,一个提供实时分析、告警和监控,并为专用网络提供支持的数据平台_
+- [Baseline 项目](https://www.baseline-protocol.org/) - _Baseline 协议是一组工具和库,可帮助企业协调复杂的多方业务流程和工作流程并保持隐私性,同时将数据保存在各自的记录系统中。 该标准使两个或多个状态机能够通过使用网络作为公用参考框架来实现和维护数据一致性和工作流程连续性。_
+- [Chainlens](https://www.chainlens.com/) - _来自 Web3 Labs 的质押即服务和本地区块链数据与分析平台_
+- [Ernst & Young's 'Nightfall'](https://github.com/EYBlockchain/nightfall_3) - _该应用程序用于通过乐观卷叠转移零知识下的 ERC20、ERC721 和 ERC1155 应用程序_
+- [Truffle Suite](https://trufflesuite.com) - _区块链开发套件(Truffle、Ganache、Drizzle)_
### 可扩展性解决方案 {#scalability-solutions}
-[二层网络](/layer-2)是在以太坊(一层网络)上运行的一系列技术或系统,它继承了一层网络的安全属性,但和一层网络相比,二层网络具有更强大的交易处理能力(吞吐量)、更低的交易费(操作费用)和更快的交易确认速度。 二层网络扩容解决方案由一层网络保护,但较之于一层网络,它们使区块链应用程序能够处理的用户、操作或数据要多出许多。 其中许多解决方案利用加密和零知识 (ZK) 证明方面取得的最新进展,最大限度地提高性能和安全性。
-
-在二层网络上开发应用程序有助于[解决一些当初导致企业开发者选择在私有区块链上开发的问题](https://entethalliance.org/how-ethereum-layer-2-scaling-solutions-address-barriers-to-enterprises-building-on-mainnet/),同时保留了在以太坊主网上开发的好处。
+大多数新区块链应用程序正在[二层网络](/layer-2)链上构建。 二层网络是在以太坊(一层网络)上运行的一系列技术或系统,它继承了一层网络的安全属性,但与一层网络相比,具有更强大的交易处理能力(吞吐量)、更低的交易费(操作费用)和更快的交易确认速度。 二层网络扩容解决方案由一层网络提供保护,但相较于一层网络,它们使区块链应用程序能够处理多得多的用户、操作或数据。 其中许多解决方案利用加密和零知识 (ZK) 证明领域的最新进展,最大限度地提高性能和安全性,一些还能提供更高级别的隐私性。
-## 以太主网上的企业级应用 {#enterprise-live-on-mainnet}
+## 以太坊主网上运行的企业级应用程序 {#enterprise-live-on-mainnet}
-以下是已经在公共以太主网上开发的一些企业级应用
+以下是一些传统行业、非区块链相关的公司建立在以太坊主网或者二层网络上的企业级应用程序的例子。
### 支付 {#payments}
-- [Brave 浏览器](https://basicattentiontoken.org/) _因用户关注广告而向用户付费,而用户可以通过 BAT 代币支付出版商以支持他们。_
-- [hCaptcha](https://www.hcaptcha.com/) _防止机器人的 CAPTCHA 系统,用户标记数据供机器学习使用,该系统为此项工作给网站运营者付费。 现在由 Cloudflare 部署_
-- [EthereumAds](https://ethereumads.com/) _让网站运营者通过以太坊出售广告空间并获得报酬_
+- [Brave Browser](https://basicattentiontoken.org/) - _向用户支付其对广告的关注,并且用户可以通过基本注意力代币向发布商付费以获得支持_
+- [瑞士卢加诺市](https://bitcoinsuisse.com/news/city-of-lugano-accepts-crypto- payments) - _税收和其他市政服务付款_
+- [EthereumAds](https://ethereumads.com/) - _让网站运营商出售广告空间并通过以太坊获得报酬_
+- [hCaptcha](https://www.hcaptcha.com/) - _预防机器人验证码系统,其根据用户完成的工作(标记数据以用于机器学习)向网站运营商付费。 现在由 Cloudflare 部署_
+- [Opera MiniPay](https://www.opera.com/products/minipay) - _利用非保管钱包让非洲人更方便、更安全地使用移动支付,以及利用电话号码轻松进行交易_
+- [Roxpay](https://www.roxpay.ch/) - _按使用付费资产自动开票和付款_
+- [SAP 数字货币中心](https://community.sap.com/t5/technology-blogs-by-sap/cross-border-payments-made-easy-with-digital-money-experience-the-future/ba-p/13560384) - _稳定币跨境支付_
+- [Toku](https://www.toku.com/) - _工资单、代币授予管理、税务合规、当地就业、福利和分布式人力资源解决方案_
+- [Xerof](https://www.xerof.com/) - _促进快速且便宜的国际(跨境)企业对企业 (B2B) 支付_
### 金融 {#finance}
-- [Santander Bank](https://www.coindesk.com/santander-settles-both-sides-of-a-20-million-bond-trade-on-ethereum) _债券发行和结算_
-- [Societe Generale](https://www.generali-investments.com/it/en/institutional/article/generali-investments-and-generali-iard-carry-out-first-market-transaction-based-on-blockchain-infrastructure) _债券发行_
-- [Cadence](https://www.forbes.com/sites/benjaminpirus/2019/10/09/fatburger-and-others-feed-30-million-into-ethereum-for-new-bond-offering/#513870be115b) _FAT 品牌债券的发行与代币化_
-- [Sila](https://silamoney.com/) _银行即服务和自动清算所 (ACH) 支付基础设施即服务(使用稳定币)_
-- [Taurus](https://www.taurushq.com/) _发行代币化债券_
+- [ABN AMRO](https://tokeny.com/tokeny-fuels-abn-amro-bank-in-tokenizing-green-bonds-on-polygon/) - _经营代币、代币化绿色债券_
+- [Crowdz](https://crowdz.io/) - _发票/应收账款融资和保理平台_
+- [Mata Capital](https://consensys.io/blockchain-use-cases/finance/mata-capital) - _房地产投资代币化_
+- [Obligate](https://www.obligate.com/) - _受监管且经过身份验证的链上债券和商业票据_
+- [西门子](https://press.siemens.com/global/en/pressrelease/siemens-issues-first-digital-bond-blockchain) - _债券发行_
+- [Sila](https://silamoney.com/) - _使用稳定币的银行和自动清算所付款基础设施即服务_
+- [Societe Generale FORGE](https://www.sgforge.com/product/bonds/) - _债券发行_
+- [Taurus](https://www.taurushq.com/) - _发行代币化证券_
### 资产代币化 {#tokenization}
-- [Tinlake](https://tinlake.centrifuge.io/) _通过代币化的实体资产(如发票、抵押或流媒体版权费等)进行应收款项融资_
-- [RealT](https://realt.co/) _全球各地的投资者可以通过完全合规、代币化的部分所有权在美国房地产市场购买房产。_
-- [AgroToken](https://agrotoken.io/en/) _农产品代币化和交易_
-- [Fasset](https://www.fasset.com/) _支持可持续基础设施的平台_
+- [AgroToken](https://agrotoken.io/en/) - _农产品代币化和交易_
+- [Bitbond](https://www.bitbond.com/) - _通过代币化改善金融资产的发行、结算和保管_
+- [Blocksquare](https://blocksquare.io/) - _房地产代币化基础设施_
+- [Centrifuge](https://centrifuge.io/) - _代币化应收账款融资、债务和资产_
+- [Clearmatics](https://www.clearmatics.com) - _为代币化价值的点对点交换构建去中心化网络平台_
+- [dClimate](https://www.dclimate.net/) - _去中心化气候信息生态系统_
+- [Fabrica](https://www.fabrica.land/) - _一个用于数字化房地产资产、赋能去中心化金融借贷和房地产交易的平台_
+- [Fasset](https://www.fasset.com/) - _用于支持可持续基础设施的平台_
+- [Nori](https://nori.com/) - _开源市场基础设施,便于碳清除项目衡量活动并进行货币化_
+- [Propy](https://propy.com/) - _通过智能合约自动进行住宅房地产交易的平台_
+- [RealT](https://realt.co/) - _全球各地的投资者都可以通过完全合规的部分代币化所有权买入美国房地产市场股票_
+- [Ruby](https://www.rubey.be/) - _一个将高端艺术品代币化以供散户投资者使用的平台_
+- [Swarm](https://swarm.com/) - _一个专注于以合规方式实现真实世界资产数字化和交易的平台_
+- [Thallo](https://www.thallo.io/) - _一个将数字碳信用融入商业交易的平台_
+- [Tokenchampions](https://tokenchampions.com/) - _欧洲足球运动员肖像权代币化_
### 数据公证 {#notarization-of-data}
-- [BBVA](https://www.ledgerinsights.com/bbva-blockchain-loan-banking-tech-award/) _对最终贷款的详细信息进行哈希处理并记录在主网上_
-- [Slusk](https://www.splunk.com/en_us/blog/security/the-newest-data-attack.html) _数据完整性可以通过定期将索引数据的哈希值写入主网来确保_
-- [ANSA](https://cointelegraph.com/news/italys-top-news-agency-uses-blockchain-to-fight-fake-coronavirus-news) _意大利最大的新闻机构与假新闻作斗争,并使读者能够通过在主网上录制这些新闻故事来验证其来源_
-- [Verizon](https://decrypt.co/46745/verizon-news-press-releases-ethereum-full-transparency) _在以太坊上记录新闻稿,以确保公司的责任和信用_
-- [Breitling](https://www.coindesk.com/breitling-arianee-all-new-watches-ethereum) _在以太坊上记录手表的来源和修理记录_
-- [EthSign](https://ethsign.xyz/) _在以太坊区块链上记录签署的电子文件_
+- [ ANSA](https://www.ansa.it/english/news/science_tecnology/2020/04/06/ansa-using-blockchain-to-help-readers_af820b4f-0947-439b-843e-52e114f53318.html) - _意大利通讯社打击假新闻,并通过将新闻报道记录在主网上,让读者能够验证新闻报道的来源_
+- [Breitling](https://www.coindesk.com/breitling-arianee-all-new-watches-ethereum) - _在以太坊上记录腕表的出处和维修历史_
+- [BRØK](https://www.xn--brk-1na.no/) - _由挪威政府提供的面向非上市公司的股权结构表平台_
+- [Certifaction](https://certifaction.com/) - _采用隐私设计的合法有效的电子签名_
+- [EthSign](https://ethsign.xyz/) - _在以太坊区块链上记录签名的电子文档_
+- [Stacktical](https://stacktical.com/) - _利用原生托管能力支持软件开发、服务级别协议 (SLA) 的数字发布和数字签名_
+- [Verizon](https://decrypt.co/46745/verizon-news-press-releases-ethereum-full-transparency) - _在以太坊上记录新闻稿以确保企业责任和信任_
+- [WolfTown](https://www.mef.net/edge-view-blog/automated-secure-timely-sla-reporting-is-finally-a-reality/) - _由 MEF 和 Sage Management 联合运营,可自动执行电信运营商之间的服务级别协议报告_
### 供应链 {#supply-chain}
-- [CargoX](https://cargox.io/press-releases/full/cargox-becomes-first-public-blockchain-ethereum-bill-lading-provider-approved-international-group-pi-clubs) _提单和单证传输提供者_
-- [Morphosus.network](https://morpheus.network/) _供应链自动化平台,通过以太坊主网上的公证数据实现了私有链的聚合,加拿大食品、石油与天然气经销商 Federated Co-op Ltd. 和阿根廷宠物食品供应商 Vitalcan 等企业目前都在使用该平台_
-- [Minespider](https://www.minespider.com/) _供应链跟踪_
-- [EY OpsChain Contract Manager](https://blockchain.ey.com/products/contract-manager) _让企业通过在信任的业务合作伙伴网络中发出报价申请、合约、订单和发票,参与采购流程_
-- [Treum](https://treum.io/) _使用区块链技术为供应链带来透明度、可追溯性和可交易性_
-- [TradeTrust](https://www.tradetrust.io/) _ 验证国际运输中的电子提单 (eBL)_
-- [Birra Peroni](https://www.ey.com/en_gl/news/2021/05/birra-peroni-is-the-first-industrial-organization-to-mint-unique-non-fungible-tokens-using-ey-opschain-traceability) _ 可为每批新酿造的啤酒铸造非同质化代币,提高整条供应链的可见性和效率_
+- [Birra Peroni](https://www.ey.com/en_gl/news/2021/05/birra-peroni-is-the-first-industrial-organization-to-mint-unique-non-fungible-tokens-using-ey-opschain-traceability) _ 为每批新酿造的啤酒铸造非同质化代币,从而提高整条供应链的可见性和效率_
+- [CargoX](https://cargox.io/) - _面向运输领域的电子提单和文件传输提供商_
+- [Circularize](https://www.circularise.com/) - _产品原材料的端到端可追溯性解决方案_
+- [EY OpsChain 合同管理器](https://blockchain.ey.com/products/contract-manager) - _支持公司参与采购工作流程,在业务合作伙伴网络上发出报价申请、合同、采购订单和发票_
+- [Minespider](https://www.minespider.com/) - _供应链跟踪和溯源,以及二氧化碳排放跟踪_
+- [Morpheus.network](https://morpheus.network/) - _供应链自动化平台_
+- [StaTwig](https://statwig.com/) - _供应链运营_
+- [TradeTrust](https://www.tradetrust.io/) - _验证国际运输的电子提单 (eBL)_
+- [Transmute](https://transmute.industries/) - _面向全球贸易的数据交换平台;支持以太坊上使用去中心化身份的交易_
### 保险 {#insurance}
-- [Arbol](https://www.arbolmarket.com/) _包括天气相关险别的参数险_
-- [Etherisc](https://etherisc.com/) _各种险别的分散式保险_
+- [Arbol](https://www.arbolmarket.com/) - _涵盖天气相关风险的参数化保险_
+- [Etherisc](https://etherisc.com/) - _涵盖各种风险的去中心化保险_
+- [Nayms](https://www.nayms.com/) - _与 AON 联合构建的数字空间,用于建立保险计划、资本筹集和交易、风险记录以及保费和索赔交易的支付围栏_
-### 凭证与证书 {#credentials}
+### 身份、凭证和认证 {#credentials}
-- [两所意大利高中](https://cointelegraph.com/news/two-italian-high-schools-to-issue-digital-diplomas-with-blockchain) _在以太坊主网上颁发的数字文凭_
-- [圣加仑大学](https://cointelegraph.com/news/swiss-university-fights-fake-diplomas-with-blockchain-technology) _验证瑞士一所大学学位的试点项目_
-- [Hyland Credentials](https://www.hylandcredentials.com) _数字文凭和其他教育类凭证、许可证和证书_
-- [OpenCerts](https://opencerts.io/faq) _在新加坡颁发区块链教育凭证_
-- [BlockCerts](https://www.blockcerts.org/) _制定了一个开放的区块链凭证标准_
+- [BCdiploma](https://www.bcdiploma.com/) - _文凭、证书和微证书的数字化和验证_
+- [Hyland Credentials](https://www.hylandcredentials.com) - _数字文凭和其他教育凭证、执照和证书_
+- [帕劳数字居住计划](https://rns.id/) - _让全球公民能够拥有帕劳政府颁发的合法身份证 EM>
+- [Spherity](https://www.spherity.com/) - _提供数字身份管理解决方案,以在生态系统中建立数字信任,专注于去中心化身份和可验证的凭证_
+- [Zug Digital ID](https://ezug.ch/en/) - _位于瑞士的基于区块链的身份系统,让居民能够以数字方式访问政府服务和支持功能,例如借用电动自行车和市政投票_
-### 工具 {#utilities}
+### 娱乐、非同质化代币和客户忠诚计划
-- [GridPlus](https://blog.gridplus.io/gridplus-is-live-in-texas-efc83c814601) _电费支付_
+- [Adidas Virtual Gear](https://www.adidas.com/metaverse) - _虚拟装备非同质化代币收藏_
+- [大英博物馆的沙盒](https://decrypt.co/150405/british-museum-enter-metaverse-via-sandbox) - _非同质化代币收藏_
+- [Fruitlab](https://fruitlab.com/) - _供游戏玩家通过观看、分享和玩在线游戏来赚钱的平台_
+- [Nike Swoosh](https://www.swoosh.nike/) - _非同质化代币平台_
+- [Sothbebys Metaverse](https://metaverse.sothebys.com/) - _苏富比数字艺术非同质化代币市场_
-如果想要向这个列表中添加项目,请参阅[贡献说明](/contributing/)。
+如果想要继续向这个列表中添加项目,请参阅[贡献说明](/contributing/)。
diff --git a/public/content/translations/zh/enterprise/private-ethereum/index.md b/public/content/translations/zh/enterprise/private-ethereum/index.md
new file mode 100644
index 00000000000..51aec40f071
--- /dev/null
+++ b/public/content/translations/zh/enterprise/private-ethereum/index.md
@@ -0,0 +1,26 @@
+---
+title: 企业级私有以太坊
+description: 在私有以太坊区块链上开发企业级应用的资源
+lang: zh
+---
+
+# 企业级私有以太坊 {#private-ethereum-for-enterprise}
+
+企业级的区块链应用可以建立在以太坊主网或基于以太坊技术的私有链上。 有关在公共以太坊主网上构建的更多信息,请参见[企业级以太坊主网应用](/enterprise/)
+
+## 企业级私有以太坊开发者资源 {#developer-resources-private-enterprise-ethereum}
+
+### 组织 {#organisations}
+
+不同的组织进行了一些合作,以使以太坊企业更友好:
+
+- [企业以太坊联盟(Enterprise Ethereum Alliance, EEA)](https://entethalliance.org/) 旨在让各组织能够在其日常业务中采用和使用以太坊技术。 我们让以太坊的生态系统可以找到新的商业机会,推进工业界的采用,并让参与者之间可以相互学习与合作。
+- [Hyperledger](https://hyperledger.org) _Hyperledger 是一种开源的旨在促进跨行业的区块链技术。 这是一项全球合作,由 Linux 基金会主持,包括了金融、银行、物联网、供应链、制造和科技等领域的主要机构。 该基金会有一些采用以太坊堆栈的项目,包括 [Besu](https://www.hyperledger.org/use/besu)。_
+
+### 协议和基础架构 {#protocol-and-infrastructure}
+
+- [Chainstack](https://chainstack.com/) _跨云和跨协议的平台即服务使企业能够快速构建、部署和管理去中心化网络和服务_
+- [Clearmatics Autonity](https://www.clearmatics.com/about/) _实现了 p2p 协议并提供了客户端软件和基础架构_
+- [Hyperledger Besu](https://www.hyperledger.org/use/besu) _一种开源以太坊客户端,依据 Apache 2.0 许可证开发,用 Java 编写。它包括多种共识算法,有工作量证明和权威证明(如 IBFT、IBFT 2.0、Ethash 和 Clique)。 它的全面许可计划是专门为了在联盟链场景中使用而设计的。_
+- [Kaleido](https://kaleido.io/) _用于构建和运行跨云、混合式企业生态系统的全栈平台_
+- [Zeeve](https://www.zeeve.io/) _提供一系列用于在以太坊上构建的产品和工具,以及企业 Web3 应用程序的基础架构和应用程序接口_
diff --git a/public/content/translations/zh/governance/index.md b/public/content/translations/zh/governance/index.md
index c6dad42f9ba..52f9ded16f5 100644
--- a/public/content/translations/zh/governance/index.md
+++ b/public/content/translations/zh/governance/index.md
@@ -48,7 +48,7 @@ _虽然在协议层上,以太坊的治理在链下进行,但许多基于以
- **节点运营商**:这些人运行区块和交易广播节点,拒绝遇到的任何无效交易或区块。 [关于节点的更多信息](/developers/docs/nodes-and-clients/)。
- **以太坊改进提案作者**:这些人提议修改以太坊协议,具体形式为以太坊改进提案。 [关于以太坊改进提案的更多信息](/eips/)。
- **验证者**:这些人运行的节点能够将新的区块添加到以太坊区块链上。
-- **协议开发者**(又名 “核心开发者”):这些人需要维护各种以太坊实现(例如执行层的 go-ethereum、Nethermind、Besu、Erigon,或共识层的 Prysm、Lighthouse、Nimbus、Teku、Lodestar)。 [关于以太坊客户端的更多信息](/developers/docs/nodes-and-clients/)。
+- **协议开发者**(又名 “核心开发者”):这些人负责维护各种以太坊实现(例如执行层的 go-ethereum、Nethermind、Besu、Erigon、Reth,或共识层的 Prysm、Lighthouse、Nimbus、Teku、Lodestar)。 [关于以太坊客户端的更多信息](/developers/docs/nodes-and-clients/)。
_注:任何个人都可以属于多个组(如:协议开发者可以支持以太坊改进提案,运行信标链验证者,并使用去中心化金融应用程序)。 不过为了明确概念,这样最容易区分。_
@@ -120,7 +120,7 @@ _注:任何个人都可以属于多个组(如:协议开发者可以支持
去中心化自治组织分叉是为了回应 [2016 年去中心化自治组织遭受攻击的事件](https://www.coindesk.com/understanding-dao-hack-journalists)。当时,一份不安全的[去中心化自治组织](/glossary/#dao)合约导致黑客盗走了超过 360 万个以太币。 分叉将资金从错误合约转移到新合约,允许在黑客攻击中丢失资金的任何人收回这些资金。
-这一行为由以太坊社区投票决定。 任何以太币持有人都能够通过在[投票平台](http://v1.carbonvote.com/)上交易来进行投票。 分叉的决定获得了 85% 以上的票数。
+这一行为由以太坊社区投票决定。 任何以太币持有人都能够通过在[投票平台](https://web.archive.org/web/20170620030820/http://v1.carbonvote.com/)上交易来进行投票。 分叉的决定获得了 85% 以上的票数。
注意,虽然的确是为了回滚被黑状态而导致分叉,但在决定分叉时,投票的权重是值得商榷的,原因如下:
diff --git a/public/content/translations/zh/guides/how-to-create-an-ethereum-account/index.md b/public/content/translations/zh/guides/how-to-create-an-ethereum-account/index.md
index d1f52c29ef8..ce94f684d3a 100644
--- a/public/content/translations/zh/guides/how-to-create-an-ethereum-account/index.md
+++ b/public/content/translations/zh/guides/how-to-create-an-ethereum-account/index.md
@@ -1,21 +1,22 @@
---
-title: 如何“创建”一个以太坊帐户
+title: 如何“创建”以太坊帐户
description: 使用钱包创建以太坊帐户的分步指南。
lang: zh
---
# 如何创建以太坊帐户
-任何人都可以在任何时候免费创建以太坊帐户。 有许多方法可以创建帐户,但最简单且最常见的方式是使用钱包应用程序 钱包创建和保护你使用以太坊所需的[密钥](/glossary/#key)。 你可以使用钱包发送交易、查看代币余额并连接到在以太坊上构建的应用程序,如代币交易所、游戏、[非同质化代币](/glossary/#nft)市场等。 现在,通过一些“Web2”应用也可以登录以太坊。
+**任何人都可以免费创建以太坊账户。**你只需要安装加密钱包应用。 钱包可创建并管理你的以太坊帐户。 它们可以发送交易,检查你的余额,并连接到其他基于以太坊构建的应用程序。
-与在公司开设新帐户不同,创建以太坊帐户是免费、私密的,而且无需获得许可。 帐号由密钥所控制,钱包软件会帮助你创建密钥,无需第三方签发,也无需存储在中心化机构处。
+使用钱包,你也可以随时登入任何代币交易所、游戏、[非同质化代币](/glossary/#nft)市场。 不需要单独注册,基于以太坊构建的所有应用程序共享一个帐户。
## 第一步:选择一个钱包
-钱包是帮助你管理以太坊帐户的应用程序。 它使用你的密钥来发送和接收交易以及登录应用程序。 现有数十种不同的钱包可供你选择 — 移动端、桌面端甚至是浏览器扩展应用。
+钱包是帮助你管理以太坊帐户的应用程序。 现有数十种不同的钱包可供你选择:移动端、桌面端,甚至是浏览器扩展程序。
+
- 寻找钱包
+ 钱包列表
如果你是新手,可以在“查找钱包”页面上选择“加密货币新手”进行筛选,找到适合新手且具备所有必要功能的钱包。
@@ -30,42 +31,42 @@ lang: zh
## 第三步:打开应用程序,创建你的以太坊帐户
-当你第一次打开新钱包应用时,你需要选择创建一个新的帐号或者导入已有的帐户。 点击创建新帐号。
+当你第一次打开新钱包应用时,你需要选择创建一个新的帐号或者导入已有的帐户。 点击创建新帐号。 **在这一步骤中,钱包软件将生成你的以太坊帐户。**
## 第四步:保存你的助记词
-一些应用程序会要求你保存一个保密的“助记词”(也可能被称为“恢复短语”或“助记符”)。 妥善保存这个助记词非常重要! 助记词用于生成帐户的密钥,而密钥可用于签名和发送交易。 任何知道助记词的人都可以控制由其生成的所有帐户。 请勿将助记词透漏给任何人。 助记词包含 12 至 24 个随机生成的词(词的顺序很重要)。
-
-保存好你的助记词后,你应该通过钱包面板查看你的余额。 查看我们的指南:[如何使用钱包](/guides/how-to-use-a-wallet)。
+一些应用程序会要求你保存私密的“恢复短语”(有时称为“助记词”或“助记符”)。 妥善保存此短语至关重要! 这用于生成你的以太坊帐户,并可用于提交交易。
-
+**任何知道助记词的人都能控制所有资金。**切勿与任何人分享。 此助记词应包含 12 至 24 个随机生成的单词(单词的顺序很重要)。
+
- 想了解更多信息?
-
- 查看我们其他的指南
+ 已安装钱包?
了解如何使用它。
+
+ 如何使用钱包
+
+
+对其他指南感兴趣吗? 查看我们的:[分步指南](/guides/)
## 常见问题
### 我的钱包和我的以太坊帐户是一样的吗?
-否。 钱包是帮助你管理帐户的管理工具。 一个钱包可以访问多个帐户,一个帐户可以通过多个钱包访问。 助记词用于创建帐户,而帐户之后通过钱包控制。
-
-你可以将帐户想象成树上的叶子,它们都是从同一个助记词“生长”出来的。 每颗独特的种子(助记词)都会长出一棵独一无二的树(帐户)。
+否。 钱包是帮助你管理帐户的管理工具。 一个钱包可以访问多个帐户,一个帐户可供多个钱包访问。 助记词用于创建帐户,并授予钱包应用程序管理资产的权限。
### 我可以发送比特币到以太坊地址,或发送以太币到比特币地址吗?
-不可以。 比特币和以太币存在于两个独立的网络(即,不同的区块链)中,每种网络有其专属的记账模型和地址格式。 为了桥接这两个不同的网络已经进行了各种不同的尝试,其中目前最活跃的当属[包装比特币或称 WBTC](https://www.bitcoin.com/get-started/what-is-wbtc/)。 这并不是背书,因为包装比特币是一种受监管的解决方案(这意味着由一群人控制某些重要功能),包装比特币在此处仅供参考。
+不可以。 比特币和以太币存在于两个独立的网络(即不同的区块链),每个网络都有各自的记账和地址格式。 为了桥接这两个不同的网络已经进行了各种不同的尝试,其中目前最活跃的一种是[包装比特币 (WBTC)](https://www.bitcoin.com/get-started/what-is-wbtc/)。 这并不是背书,因为包装比特币是一种受监管的解决方案(这意味着由一群人控制某些重要功能),包装比特币在此处仅供参考。
### 如果我已经拥有了一个以太币地址,我可以在其他区块链拥有相同的地址吗?
-在所有使用与以太坊类似的底层软件的区块链(称为“兼容以太坊虚拟机”)上,你可以使用相同的[地址](/glossary/#address)。 这个[列表](https://chainlist.org/)会告诉你在哪些区块链上你可以使用相同的地址。 有一些区块链,如比特币,实施了完全独立的一组网络规则,你需要一个不同格式的地址。 如果你有一个智能合约钱包,你可以查看它的产品网站来详细了解它支持哪些区块链。
+在所有使用与以太坊类似的底层软件的区块链(称为“兼容以太坊虚拟机”)上,你可以使用相同的[地址](/glossary/#address)。 这个[列表](https://chainlist.org/)会告诉你在哪些区块链上你可以使用相同的地址。 有一些区块链,如比特币,实施了完全独立的一组网络规则,你需要一个不同格式的地址。 如果你有智能合约钱包,你应该查看其产品网站,详细了解它所支持的区块链,因为这些区块链的范围通常有限但更安全。
### 相对于把资金保存在交易所,拥有自己的钱包是否更安全?
-拥有自己的钱包意味着你要对自己的资产安全负责。 不幸的是,有许多因为交易所倒闭而导致客户资金丢失的例子。 拥有钱包(和助记词)可以消除由于委托某个实体代持你的资产所带来的风险。 然而,你必须保护好自己的密钥,防范钓鱼诈骗、不小心批准交易或泄露密钥、与假网站互动以及其他自我保管风险。 这两种方式各有利弊。
+拥有自己的钱包意味着你要对自己的资产安全负责。 不幸的是,有许多因为交易所倒闭而导致客户资金丢失的例子。 拥有钱包(与助记词)可以消除与委托某个实体持有你的资产相关联的风险。 然而,你必须自行保管它,避免遭遇钓鱼诈骗、意外批准交易或泄露助记词、与虚假网站互动和其他自我保管的风险。 这两种方式各有利弊。
### 如果我丢失了手机/硬件钱包,我需要使用相同的钱包应用来恢复损失的资金吗?
diff --git a/public/content/translations/zh/guides/how-to-use-a-wallet/index.md b/public/content/translations/zh/guides/how-to-use-a-wallet/index.md
index 43d68bc5585..9064a7fb9b0 100644
--- a/public/content/translations/zh/guides/how-to-use-a-wallet/index.md
+++ b/public/content/translations/zh/guides/how-to-use-a-wallet/index.md
@@ -73,7 +73,7 @@ lang: zh
### 如果我已经拥有了一个以太币地址,在其他区块链上,我会拥有相同的地址吗?
-在与以太坊虚拟机兼容的所有区块链上,你可以使用相同的地址(如果你的钱包带有助记词)。 这个[列表](https://chainlist.org/)会告诉你在哪些区块链上你可以使用相同的地址。 有一些区块链,如比特币,实现了完全独立的一组网络规则,你需要一个不同格式的地址。 如果你有一个智能合约钱包,你可以查看它的产品网站来了解它支持哪些区块链。
+在与以太坊虚拟机兼容的所有区块链上,你可以使用相同的地址(如果你的钱包带有助记词)。 这个[列表](https://chainlist.org/)会告诉你在哪些区块链上你可以使用相同的地址。 有一些区块链,如比特币,实现了完全独立的一组网络规则,你需要一个不同格式的地址。 如果你有一个智能合约钱包,你应该查看它的产品网站,详细了解它所支持的区块链。
### 我可以在多个设备上使用相同的地址吗?
diff --git a/public/content/translations/zh/nft/index.md b/public/content/translations/zh/nft/index.md
index 18fdfb3042f..74dea76e083 100644
--- a/public/content/translations/zh/nft/index.md
+++ b/public/content/translations/zh/nft/index.md
@@ -103,6 +103,11 @@ summaryPoint3: 由以太坊区块链上的智能合约提供支持
- [EtherscanNFT 跟踪器](https://etherscan.io/nft-top-contracts)
- [ERC-721 代币标准](/developers/docs/standards/tokens/erc-721/)
- [ERC-1155 代币标准](/developers/docs/standards/tokens/erc-1155/)
+- [热门非同质化代币应用和工具](https://www.ethereum-ecosystem.com/blockchains/ethereum/nfts)
+
+## 其他资源 {#other-resources}
+
+- [NFTScan](https://nftscan.com/)
diff --git a/public/content/translations/zh/roadmap/danksharding/index.md b/public/content/translations/zh/roadmap/danksharding/index.md
index ee874869d4b..2e16c7c8002 100644
--- a/public/content/translations/zh/roadmap/danksharding/index.md
+++ b/public/content/translations/zh/roadmap/danksharding/index.md
@@ -43,7 +43,7 @@ KZG 代表 Kate-Zaverucha-Goldberg - 是三位[原创作者](https://link.spring
KZG 仪式是指以太坊社区的许多人共同生成一个随机的私密数字字符串,用于验证一些数据的一种方式。 这个数字字符串必须是未知的,不能由任何人重新创建,这一点非常重要。 为了确保做到这一点,每个参加仪式的人都会收到前一位参与者发送的一个字符串。 然后,他们会创建一些新的随机值(例如:通过允许他们的浏览器测量鼠标的移动)并将这些值与前面的值混合在一起。 之后,他们将这个值发送给下一位参与者并将其在本地计算机中销毁。 在这个仪式中,只要有一个人诚实地执行了这一过程,攻击者就无法知道最终值是什么。
-EIP-4844 KZG 仪式曾经公开过,成千上万的人参与其中,并添加了自己的熵(随机值)。 总计有超过 14 万次的贡献,成为世界上此类型中最大的一次仪式。 如果想破坏这个仪式,那么必须 100% 的参与者都不诚实。 从参与者的角度来看,如果他们知道自己是诚实的,就不需要相信其他任何人,因为他们知道自己确保了仪式的安全性(他们个人满足了,N 个参与者至少有一个诚实的要求)。
+EIP-4844 KZG 仪式曾经公开过,成千上万的人参与其中,并添加了自己的熵(随机值)。 总计贡献超过 14 万次,成为此类型全世界最大的一次仪式。 如果想破坏这个仪式,那么必须 100% 的参与者都不诚实。 从参与者的角度来看,如果他们知道自己是诚实的,就不需要相信其他任何人,因为他们知道自己确保了仪式的安全性(他们个人满足了,N 个参与者至少有一个诚实的要求)。
@@ -58,7 +58,7 @@ EIP-4844 KZG 仪式曾经公开过,成千上万的人参与其中,并添加
- Danksharding 和 Proto-Danksharding 都没有采用传统的将区块链分成多个部分的“分片”模式。 分片链不再是路线图的一部分。 相反,Danksharding 使用跨数据块的分布式数据采样来扩展以太坊。 这实施起来要简单得多。 这种模式有时被称为“数据分片”。
+ Danksharding 和 Proto-Danksharding 都没有采用传统的旨在将区块链分成多个部分的“分片”模式。 分片链不再是路线图的一部分。 相反,Danksharding 使用跨数据块的分布式数据采样来扩展以太坊。 这实施起来要简单得多。 这种模式有时被称为“数据分片”。
## 什么是 Danksharding? {#what-is-danksharding}
diff --git a/public/content/translations/zh/roadmap/dencun/index.md b/public/content/translations/zh/roadmap/dencun/index.md
new file mode 100644
index 00000000000..d73516213ab
--- /dev/null
+++ b/public/content/translations/zh/roadmap/dencun/index.md
@@ -0,0 +1,120 @@
+---
+title: Cancun-Deneb(坎昆)升级常见问题
+description: 有关 Cancun-Deneb(坎昆)网络升级的常见问题
+lang: zh
+---
+
+# Cancun-Deneb(坎昆)升级 {#dencun}
+
+Cancun-Deneb(坎昆)是对以太坊网络的一次升级,其激活了 **Proto-Danksharding (EIP-4844)**,引入了临时**二进制大对象**数据以实现更便宜的[二层网络 (L2)](/glossory/#layer-2) 卷叠存储。
+
+一种新的交易类型使卷叠供应商能以更具成本效益的方式,在所谓的“二进制大对象”中储存数据。 二进制大对象保证可供网络使用约 18 天(准确来说,4096 个[时段](/glossary/#epoch))。 在这段时间之后,二进制大对象将从网络中删除,但应用程序仍可以使用证明来验证其数据的有效性。
+
+这显著降低了卷叠成本,限制了链增长,并有助于在保证安全性和节点运营者去中心化的同时支持更多用户。
+
+## 预计什么时候卷叠会反映出 Proto-Danksharding 带来的较低费用? {#when}
+
+- 此升级于时段 269569,即 \*\*2024 年 3 月 13 日下午 13:55(UTC 时间)\*\*激活
+- 所有主要卷叠供应商(如 Arbitrum 和 Optimism)都表示将在升级后立即支持二进制大对象
+- 支持单独卷叠的时间可能存在变化,因为每个供应商都必须升级其系统才能使用新的二进制大对象空间
+
+## 硬分叉后如何转换以太币? {#scam-alert}
+
+- **你的以太币不需要任何操作**。在以太坊坎昆升级之后,无需转换或升级以太币。 硬分叉后,你的帐户余额不会改变,你目前持有的以太币仍将以其现有的形式保持可用。
+- **当心诈骗!** **任何引导你对以太币进行“升级”的人都是骗子**。你不需要进行任何与此升级有关的操作。 你的资产不会受到任何影响。 请记住,随时了解动态是防御诈骗的最佳手段。
+
+[更多关于识别和规避诈骗的信息](/security/)
+
+## 坎昆网络升级将解决什么问题? {#network-impact}
+
+坎昆升级主要通过**便宜的费用**来解决**可扩展性**(处理更多用户和交易)问题,同时使网络**保持去中心化**。
+
+以太坊社区一直采取“以卷叠为中心”的方式成长,以二层网络卷叠作为安全地支持更多用户的主要手段。
+
+卷叠网络独立于主网进行交易处理(或“执行”),然后将结果的加密证明和/或压缩交易数据发布回主网以保存记录。 储存这些证明会产生费用(以[燃料](/glossary/#gas)的形式),而在 Proto-Danksharding 之前,所有网络节点运营者都必须永久储存它们,使其成为一项费用高昂的任务。
+
+在坎昆升级中引入 Proto-Danksharding 为这些证明增加了更便宜的存储,节点运营者只需要将这些数据储存约 18 天,之后就能安全地删除数据,这避免了硬件需求的提高。 由于卷叠的退出周期通常为 7 天,只要二进制大对象在此期间于一层网络上可用,它们的安全模型就不会改变。 18 天的删除窗口为这段时间提供了大幅缓冲。
+
+[更多关于以太坊扩容的信息](/roadmap/scaling/)
+
+## 如何访问之前的二进制大对象数据? {#historical-access}
+
+虽然常规以太坊节点将一直保存网络的当前状态,但二进制大对象历史数据可在其引入约 18 天后删除。 在废弃这些数据之前,以太坊会确保这些数据对所有网络参与者可用,从而有时间:
+
+- 让相关方下载和储存数据。
+- 完成所有卷叠挑战期。
+- 最终确定卷叠交易。
+
+可能出于多种原因需要二进制大对象历史数据,并且可以使用多个去中心化协议储存和访问这些数据:
+
+- **第三方索引协议**,如 The Graph,通过按照加密经济机制进行激励的节点运营者去中心化网络来储存这些数据。
+- **BitTorrent**,一种去中心化协议,使志愿者能够保存这些数据并将其分发给其他人。
+- **[以太坊门户网络](/developers/docs/networking-layer/portal-network/)**,目的是使用与 BitTorrent 类似的方式在参与者之间分发数据,通过节点运营者去中心化网络提供对所有以太坊数据的访问。
+- **个人用户**始终可以自由地储存其希望作为历史参考的任何数据的自有副本。
+- **卷叠供应商**被激励储存这些数据,以提升其用户的卷叠使用体验。
+- **区块浏览器**通常运行归档节点来索引和储存所有这些信息,使用户能够通过网络接口轻松访问历史参考。
+
+需要注意的是,恢复历史状态是基于 **1-of-N 信任模型**运行的。 这意味着你只需要来自单个可信来源的的数据,就能使用当前网络状态验证其正确性。
+
+## 该升级对更广泛的以太坊路线图有什么贡献? {#roadmap-impact}
+
+Proto-Danksharding 为 [Danksharding](/roadmap/danksharding/) 的完全实现奠定了基础。 Danksharding 旨在跨节点运营者分发卷叠数据存储,使每个运营者仅需处理合计数据的一小部分。 这种分发会增加每个区块的数据二进制大对象数量,这对于扩展以太坊以处理更多用户和交易至关重要。
+
+要在保持网络去中心化的同时,以便宜的费用和更高级的应用程序[支持数十亿以太坊用户](/roadmap/scaling/),这种可扩展性是至关重要的。 如果没有这些改变,节点运营者的硬件需求将会不断提升,导致需要越来越昂贵的设备。 较小的运营者将被迫退出,导致网络控制权集中在几个大型运营者手中,这与去中心化的原则背道而驰。
+
+## 该升级会影响所有以太坊共识和验证者客户端吗? {#client-impact}
+
+是的,Proto-Danksharding (EIP-4844) 要求更新执行客户端和共识客户端。 所有主要以太坊客户端都已发布支持该升级的版本。 为了在升级后与以太坊网络保持同步,节点运营者必须确保正在运行支持的客户端版本。 请注意,关于客户端发布的信息具有时效性,用户应参考最新更新以获取最新详情。 [查看支持的客户端版本详情](https://blog.ethereum.org/2024/02/27/dencun-mainnet-announcement#client-releases)。
+
+共识客户端处理验证者软件,该软件已全部更新为支持升级的版本。
+
+## Cancun-Deneb (坎昆) 升级如何影响 Goerli 或其他以太坊测试网? {#testnet-impact}
+
+- Devnets、Goerli、Sepolia 和 Holesky 已经全部经历坎昆升级,并且 Proto-Danksharding 完全正常运行
+- 卷叠开发者可以使用这些网络来测试 EIP-4844
+- 大多数用户完全不会受到这些测试网改变的影响
+
+## 二层网络上的所有交易都将使用临时二进制大对象空间吗?还是可以自行选择? {#calldata-vs-blobs}
+
+以太坊二层网络 (L2) 上的卷叠交易可以选择使用两种数据存储类型:临时二进制大对象空间或永久智能合约调用数据。 二进制大数据空间是一种经济的选择,以更低的成本提供临时存储。 它保证数据在所有必要挑战期内的可用性。 另一方面,智能合约调用数据提供永久但更昂贵的存储。
+
+主要由卷叠供应商决定使用二进制大对象空间还是调用数据。 他们会基于当前对二进制大对象空间的需求做出选择。 如果二进制大对象空间的需求很高,卷叠可能会选择调用数据以确保数据及时发布。
+
+尽管从理论上讲,用户可以选择自己喜欢的存储类型,但该决定通常由卷叠供应商做出。 为用户提供此选择权将会增加复杂性,尤其是在具有成本效益的捆绑交易中。 对于该选择的具体细节,用户应参考不同卷叠供应商的相关文档。
+
+## 4844 会减少一层网络燃料吗? {#l1-fee-impact}
+
+不会明显减少。 将会专门为二进制大对象空间引入新的燃料市场供卷叠供应商使用。 尽管通过将卷叠数据下放至二进制大对象可能会降低一层网络费用,但本次升级主要关注的是降低二层网络费用。 一层网络(主网)费用可能会因为二阶效应出现小幅降低。
+
+- 一层网络燃料的减少将与卷叠供应商采用/使用的二进制大对象数据成正比
+- 一层网络燃料很可能会对非卷叠相关活动保持竞争力
+- 使用二进制大对象空间的卷叠需要的一层网络燃料较少,短期内有助于推动一层网络燃料费降低
+- 二进制大对象空间仍有限制,因此,如果一个区块内的二进制大对象饱和/已满,卷叠就可能需要将其数据作为永久数据发布,同时,这将抬高一层网络和二层网络的燃料价格
+
+## 该升级会降低其他以太坊虚拟机一层网络区块链的费用吗? {#alt-l1-fee-impact}
+
+否。 Proto-Danksharding 只对将证明储存在以太坊一层网络(主网)上的二层卷叠有益。
+
+仅仅与以太坊虚拟机 (EVM) 兼容并不代表网络将从该升级中受益。 独立于以太坊运行的网络(无论是否兼容以太坊虚拟机)不会将其数据储存在以太坊上,也不会从该升级中得到任何好处。
+
+[更多关于二层网络卷叠的信息](/layer-2/)
+
+## 更愿意通过视频学习? {#visual-learner}
+
+
+
+_解读以太坊扩容,EIP-4844 — Finematics_
+
+
+
+_通过 Domothy 引入二进制大对象空间 101 — Bankless_
+
+## 扩展阅读{#further-reading}
+
+- [EIP4844.com](https://www.eip4844.com/)
+- [EIP-4844:分片二进制大对象交易 (Proto-Danksharding)](https://eips.ethereum.org/EIPS/eip-4844)
+- [坎昆升级主网公告](https://blog.ethereum.org/2024/02/27/dencun-mainnet-announcement) - _以太坊基金会博客_
+- [以太坊漫游指南:Proto-Danksharding](https://members.delphidigital.io/reports/the-hitchhikers-guide-to-ethereum/#proto-danksharding-eip-4844) - _Jon Charbonneau_
+- [Proto-Danksharding 常见问题](https://notes.ethereum.org/@vbuterin/proto_danksharding_faq) - _Vitalik Buterin_
+- [关于 EIP-4844 的深入解释:坎昆升级的核心](https://medium.com/@ebunker.io/an-in-depth-explanation-of-eip-4844-the-core-of-the-cancun-upgrade-de7b13761d2c) - _Ebunker_
+- [AllCoreDevs 更新 016](https://tim.mirror.xyz/HzH5MpK1dnw7qhBSmzCfdCIxpwpD6DpwlfxtaAwEFro) - _Tim Beiko_
diff --git a/public/content/translations/zh/roadmap/future-proofing/index.md b/public/content/translations/zh/roadmap/future-proofing/index.md
index bd5899cafa6..6ac54869fc4 100644
--- a/public/content/translations/zh/roadmap/future-proofing/index.md
+++ b/public/content/translations/zh/roadmap/future-proofing/index.md
@@ -29,7 +29,7 @@ template: roadmap
## 当前进展 {#current-progress}
-打造面向未来的以太坊所需的大部分升级**仍处于研究阶段,并且可能需要数年时间**才能实现。 删除 SELF-DESTRUCT 指令和统一执行和共识客户端中使用的压缩方案等升级,可能会比抗量子加密技术更早实现。
+打造面向未来的以太坊所需的大部分升级**仍处于研究阶段,并且可能需要数年时间**才能实现。 诸如删除 SELFDESTRUCT 和统一执行执行和共识客户端中所用压缩方案之类的升级,可能会比抗量子加密更快推出。
**延伸阅读**
diff --git a/public/content/translations/zh/roadmap/index.md b/public/content/translations/zh/roadmap/index.md
index 4b39eb49dfc..ca85ec6087c 100644
--- a/public/content/translations/zh/roadmap/index.md
+++ b/public/content/translations/zh/roadmap/index.md
@@ -78,7 +78,7 @@ buttons:
**是的,几乎肯定会**。 路线图是目前的以太坊升级计划,涵盖近期计划和未来计划。 我们预计路线图会随着新的信息和技术的出现而改变。
-我们将以太坊路线图视为改进以太坊的一整套计划;这是研究人员和开发人员对以太坊最佳发展道路的最佳假设。
+将以太坊路线图视为改进以太坊的一整套计划;这是研究人员和开发人员针对以太坊最优发展道路做出的最佳假设。
## 路线图将何时完成? {#when-will-the-roadmap-be-finished}
diff --git a/public/content/translations/zh/roadmap/merge/index.md b/public/content/translations/zh/roadmap/merge/index.md
index e115c16a1fb..9e5acd2856a 100644
--- a/public/content/translations/zh/roadmap/merge/index.md
+++ b/public/content/translations/zh/roadmap/merge/index.md
@@ -108,7 +108,7 @@ id="developers">
## 合并和能源消耗 {#merge-and-energy}
-合并标志着以太坊工作量证明的终结,从此以太坊将进入一个可持续性更强、更加环保的时代。 以太坊的能耗预计会下降 99.95%,这使得以太坊成为一个绿色环保的区块链。 了解有关[以太坊能源消耗](/energy-consumption/)的更多信息。
+合并标志着以太坊工作量证明的终结,从此以太坊进入一个可持续性更强、更加环保的时代。 以太坊的能耗预计会下降 99.95%,这使得以太坊成为一个绿色环保的区块链。 了解有关[以太坊能源消耗](/energy-consumption/)的更多信息。
## 合并与扩容 {#merge-and-scaling}
diff --git a/public/content/translations/zh/security/index.md b/public/content/translations/zh/security/index.md
index 475d668542d..0e4d50ead59 100644
--- a/public/content/translations/zh/security/index.md
+++ b/public/content/translations/zh/security/index.md
@@ -6,101 +6,7 @@ lang: zh
# 以太坊安全和预防欺诈措施 {#introduction}
-随着人们对加密货币的兴趣越来越大,学习使用加密货币时的最佳做法是至关重要的。 加密货币是非常有趣和令人兴奋的,但也存在严重的风险。 如果你前期投入少量的工作,你就可以降低这些风险。
-
-
-
-## 网络安全 101 {#web-security}
-
-### 使用强密码 {#use-strong-passwords}
-
-[超过 80% 的帐户被黑客攻击是由于密码薄弱或被盗造成的](https://cloudnine.com/ediscoverydaily/electronic-discovery/80-percent-hacking-related-breaches-related-password-issues-cybersecurity-trends/)。 一个很长的字符、数字和符号组合是保证你的帐户安全的最好方法。
-
-个人常犯的一个错误是使用两到三个常见的、具有相关性的词典词汇的组合。 像这样的密码是不安全的,因为它们很容易被称为[字典攻击](https://wikipedia.org/wiki/Dictionary_attack)的简单黑客技术所攻击。
-
-```md
-弱密码示例:CuteFluffyKittens!
-
-强密码示例:ymv\*azu.EAC8eyp8umf
-```
-
-另一个常见错误是使用容易通过[社交工程](https://wikipedia.org/wiki/Social_engineering_(security))猜出或发现的密码。 在密码中加入母亲的婚前姓氏、孩子或宠物的名字或出生日期是不安全的,会增加密码被黑客攻击的风险。
-
-#### 强密码设置方法: {#good-password-practices}
-
-- 在密码生成器或你所填写的表格允许的范围内,将密码设得越长越好
-- 混合使用大写字母、小写字母、数字和符号
-- 不要在密码中使用个人详细资料,如姓氏
-- 避免使用字典中的常见词汇
-
-[关于创建强密码的更多内容](https://terranovasecurity.com/how-to-create-a-strong-password-in-7-easy-steps/)
-
-### 使用独立的密码 {#use-unique-passwords}
-
-如果密码数据被泄露,强密码也无法提供足够的保护。 网站[我被攻破了吗](https://haveibeenpwned.com)允许你检查你的帐户是否参与了存储在其数据库中的任何数据入侵。 如果有,**你应该立刻更改泄露的密码**。 为每个帐户设置独立的密码可以降低当你的一个密码被破解时黑客进入你所有帐户的风险。
-
-### 使用密码管理器 {#use-password-manager}
-
-
-
- 使用密码管理器可以创建唯一的强密码并记住它们! 我们强烈推荐使用它,而且它们大部分是免费的。
-
-
-
-记住为每个帐户设置的唯一强密码并不现实。 密码管理器为你的所有密码提供了一个安全、加密的存储空间,你可以通过一个强主密码进行访问。 他们还在注册新服务时生成建议使用的强密码,这样你就不必自行创建密码了。 许多密码管理器也会告诉你是否涉及数据泄露,让你在任何恶意攻击之前更改密码。
-
-![密码管理器使用示例](./passwordManager.png)
-
-#### 尝试一个密码管理器: {#try-password-manager}
-
-- [Bitwarden](https://bitwarden.com/)
-- [KeePass](https://keepass.info/)
-- [1Password](https://1password.com/)
-- 或查看其他[推荐的密码管理器](https://www.privacytools.io/secure-password-manager)
-
-### 2FA(双重身份验证) {#two-factor-authentication}
-
-为了证明你是本人,有不同的唯一证明可以用来验证。 这些被称为**因素**的三个主要因素是:
-
-- 你知道的信息(例如密码或安全问题)
-- 生理特征(如指纹或虹膜/面部识别)
-- 你私有的(安全密钥或你手机上的认证程序)
-
-使用**双重身份验证 (2FA)** 为你的在线帐户提供额外的*安全因素*,因此仅知道你的密码(你知道的信息)不足以访问一个帐户。 最常见的是,双重验证是一个随机的6位数代码,被称为**基于时间的一次性密码(TOTP)**,你可以通过身份验证程序应用程序(如Google authenticator或Authy)生成。 这是一种“你私有的”,因为生成随机时间密码的种子文件存储在你的设备上。
-
-
-
- 注意:使用基于短信的 2FA 很容易遭受
-
- SIM 卡盗用
-
- 并不安全。 为了获得最佳安全性,请使用诸如{" "}
-
- Google 身份验证器
-
- 或 Authy 之类的服务。
-
-
-
-#### 安全密钥 {#security-keys}
-
-对于那些想要进阶使用 2FA 的人,请考虑使用安全密钥。 安全密钥是物理硬件身份验证设备,其工作方式与身份验证程序应用程序相同。 使用安全密钥是最安全的 2FA 使用方式。 这些密钥中有许多采用了 FIDO 通用第二因素 (U2F) 标准。 [了解更多关于 FIDO U2F](https://www.yubico.com/authentication-standards/fido-u2f/) 的信息。
-
-查看更多 2FA 相关信息:
-
-
-
-### 卸载浏览器扩展程序 {#uninstall-browser-extensions}
-
-Chrome 扩展程序或 Firefox 插件等浏览器扩展程序可以增强浏览器的功能并提高用户体验,但它们也存在风险。 大多数浏览器扩展程序默认请求获得“读取和更改网站数据”的权限,几乎允许它们对你的数据做任何事情。 Chrome 扩展程序总是自动更新,因此旧版本安全的扩展程序可能会在更新后被加入恶意代码。 大多数浏览器扩展程序都不会试图窃取你的数据,但你应该知道它们可以。
-
-#### 通过以下方式保持安全: {#browser-extension-safety}
-
-- 只安装来自受信任来源的浏览器扩展程序
-- 删除不使用的浏览器扩展程序
-- 在本地安装 Chrome 扩展程序以停止自动更新(高级)
-
-[更多关于浏览器扩展程序的风险](https://www.kaspersky.co.uk/blog/browser-extensions-security/12750/)
+随着人们对加密货币的兴趣日益浓厚,黑客和骗子带来的风险也随之增加。 本文罗列了一些降低此类风险的最佳做法。
@@ -108,7 +14,7 @@ Chrome 扩展程序或 Firefox 插件等浏览器扩展程序可以增强浏览
### 提升你的知识水平 {#level-up-your-knowledge}
-人们在网络中被骗的主要原因之一通常是缺乏了解。 例如,如果你不了解以太坊网络是去中心化的,不为任何人所拥有,你就很容易上当受骗。有人假装成客户服务人员,承诺用你的私钥找回你丢失的以太币。 了解以太坊如何运作是一项值得的投资。
+对加密货币运作方式的误解可能会造成重大过失。 例如,如果有人冒充客服人员,声称可以归还你损失的以太币以换取你的私钥,他们是在试图利用人们不了解以太坊是一个去中心化网络,并不具备此类功能这一事实。 了解以太坊如何运作是一项值得的投资。
什么是以太坊?
@@ -121,11 +27,11 @@ Chrome 扩展程序或 Firefox 插件等浏览器扩展程序可以增强浏览
## 钱包安全 {#wallet-security}
-### 不要把你的私钥给别人 {#protect-private-keys}
+### 切勿泄漏你的私钥 {#protect-private-keys}
-**无论任何原因,永远不要与他人分享你的私钥!**
+**无论何种原因,切勿与他人分享你的私钥!**
-你钱包的私钥就像你的以太坊钱包的密码。 这是阻止知道你的钱包地址的人榨干你帐户中所有资产的唯一方法。
+钱包私钥就是你的以太坊钱包的密码。 这是阻止知道你的钱包地址的人榨干你帐户中所有资产的唯一方法。
什么是以太坊钱包?
@@ -133,7 +39,7 @@ Chrome 扩展程序或 Firefox 插件等浏览器扩展程序可以增强浏览
#### 不要将你的助记词/私钥截图 {#screenshot-private-keys}
-如果将你的助记词或私钥截图,你有可能将它们同步到云端,并有可能使它们被黑客获取。 从云端获取私钥是黑客最常见的攻击向量。
+如果将你的助记词或私钥截图,就有可能将它们同步到云端数据提供商,这意味着它们可能会被黑客获取。 从云端获取私钥是常见的黑客攻击向量。
### 使用硬件钱包 {#use-hardware-wallet}
@@ -148,9 +54,9 @@ Chrome 扩展程序或 Firefox 插件等浏览器扩展程序可以增强浏览
### 发送交易前仔细检查 {#double-check-transactions}
-不小心将加密货币发送到错误的钱包地址是一个常见的错误。 **在以太坊上发送交易是不可逆的。**除非你认识地址所有者并能说服他们把你的资金退回来,否则你将没有办法找回你的资金。
+不小心将加密货币发送到错误的钱包地址是一个常见的错误。 **在以太坊上发送的交易是不可逆的。**除非你认识地址所有者并能说服他们把你的资金退回来,否则你将无法找回你的资金。
-在发送交易之前,请务必确保你发送的地址与接收人的地址完全匹配。 在与智能合约进行交互时,建议在签名前阅读交易消息。
+在发送交易之前,请务必确保你发送的地址与接收人的地址完全匹配。 当你与智能合约进行交互时,在签名之前检查交易信息是一种好习惯。
### 设置智能合约的支出限额 {#spend-limits}
@@ -164,25 +70,35 @@ Chrome 扩展程序或 Firefox 插件等浏览器扩展程序可以增强浏览
## 常见的骗术 {#common-scams}
-骗子总是想方设法从你身上骗走你的资金。 完全阻止骗子是不可能的,但我们可以通过了解所使用的大多数技术来降低他们的成功率。 虽然骗术层出不穷,但是他们的本质相同。 最重要的是,请记住:
+完全阻止诈骗是不可能的,但如果我们了解骗子最常用的伎俩,就可以降低他们的成功率。 虽然骗术层出不穷,但是他们的本质相同。 最重要的是,请记住:
- 始终保持怀疑态度
- 没有人会给你免费或打折的以太币
- 没有人需要获取你的私钥或个人信息
+### 推特广告钓鱼 {#ad-phishing}
+
+![推特链接钓鱼](./twitterPhishingScam.png)
+
+有一种仿冒推特(也被称为 X)链接预览功能(展开)的方法,可能会让用户误以为他们正在访问一个合法网站。 这种技术利用了推特为推文中分享的 URL 生成预览的机制,并显示诸如_来自 ethereum.org_ 的预览(如上所示),但实际上用户却被重定向到了一个恶意网站。
+
+务必检查你是否处于正确的域,尤其是在点击链接以后。
+
+[点击此处了解更多信息](https://harrydenley.com/faking-twitter-unfurling)。
+
### 赠品诈骗 {#giveaway}
-加密货币中最常见的骗局之一是赠品诈骗。 赠品诈骗有多种形式,但一般前提是,如果你将以太币发送到所提供的钱包地址,你将会收到双倍的以太币。 *因此,它也称为“买一送一”诈骗。*
+加密货币中最常见的骗局之一是赠品诈骗。 赠品诈骗有多种形式,但总体思路是:如果你把以太币发送到指定的钱包地址,你将会收到双倍的以太币。 *因此,它也称为“买一送一”诈骗。*
-这些骗局往往规定赠品领取时间有限,促使你做出错误决定并制造出一种虚假的紧迫感。
+这些骗局往往规定领取赠品的时间有限,制造出一种虚假的紧迫感。
-#### 社交媒体黑客攻击 {#social-media-hacks}
+### 社交媒体黑客攻击 {#social-media-hacks}
最出名的一次发生在 2020 年 7 月,当时很多知名人士和组织的 Twitter 帐户被黑。 黑客使用被盗的帐户发布了一个比特币赠送活动。 尽管这些欺骗性的推文很快就被发现并删除,但黑客们还是成功骗走了 11 个比特币(截至 2021年 9 月,这些比特币价值 50 万美元)。
![Twitter 上的诈骗案例](./appleTwitterScam.png)
-#### 名人的赠品 {#celebrity-giveaway}
+### 名人的赠品 {#celebrity-giveaway}
名人的赠品是赠品诈骗的另一种常见形式。 骗子会录制名人的视频采访或会议演讲,并在 YouTube 上进行直播 - 看起来好像名人正在接受直播视频采访,为加密货币赠送活动背书。
@@ -214,7 +130,7 @@ Chrome 扩展程序或 Firefox 插件等浏览器扩展程序可以增强浏览
### “以太坊 2”代币骗局 {#eth2-token-scam}
-在[合并](/roadmap/merge/)的准备阶段,骗子利用“以太坊 2”这一术语的含糊不清,试图让用户将他们的以太币兑换成“以太坊 2”代币。 实际上合并并没有产生任何“以太坊 2”代币,或者任何其它合法代币。 你在合并之前拥有的以太币与现在是同一个以太币。 **从工作量证明切换到权益证明,无需采取任何与你的以太币相关的操作**。
+在[合并](/roadmap/merge/)的准备阶段,骗子利用“以太坊 2”这一术语的含糊不清,试图让用户将他们的以太币兑换成“以太坊 2”代币。 实际上合并并没有产生任何“以太坊 2”代币,或者任何其它合法代币。 你在合并之前拥有的以太币与现在是同一个以太币。 **从工作量证明切换到权益证明时,无需对帐户采取任何与以太币有关的操作**。
骗子可能会以“技术支持”的面貌出现,告诉你如果存入以太币,将收到“以太坊 2”代币。 实际上,并没有[官方的以太坊技术支持](/community/support/),也没有新代币。 永远不要与任何人分享你的钱包助记词。
@@ -236,9 +152,9 @@ _注意:有一些衍生的代币/票据可能代表了被质押的以太币(
### 加密货币交易经纪人诈骗 {#broker-scams}
-他们自称是专业的加密货币经纪人,他们会收取你的钱,代你投资。 这一提议通常伴随着不切实际的回报承诺。 骗子收到你的钱后,他们可能会诱骗你,让你拿出更多资金,这样你就不会错过更高的投资收益,或者他们也可能就完全消失了。
+在加密货币交易经纪人骗局中,骗子自称是专业的加密货币经纪人,会拿着你的钱帮你进行投资。 骗子收到你的钱后,他们可能会诱骗你,让你拿出更多资金,这样你就不会错过更高的投资收益,或者他们也可能就完全消失了。
-这些假冒经济人利用 YouTube 上的虚假帐户,找到他们的目标,然后开始看似自然的有关经纪人的交谈。 这些对话通常会收到很多点赞,以增加真实性,但这些“赞”都是来自机器人帐户。
+这些骗子往往利用 YouTube 上的虚假帐户,进行看似自然的有关“经纪人”的对话,以此来寻找他们的目标。 这些对话通常会收到很多点赞,以增加真实性,但这些“赞”都是来自机器人帐户。
**不要相信互联网上的陌生人,让他们代你投资。 你将失去你的加密货币。**
@@ -246,9 +162,9 @@ _注意:有一些衍生的代币/票据可能代表了被质押的以太币(
### 加密货币矿池骗局 {#mining-pool-scams}
-自 2022 年 9 月起,在以太坊上挖矿已不再可能。 但是,矿池骗局仍然存在。 在矿池骗局中会有人主动联系你,并声称你可以通过加入以太坊矿池获得丰厚回报。 骗子会提出要求,并一直与你保持联系。 基本上,骗子会试图让你相信,在加入一个以太坊矿池后,你的加密货币将被用来创建以太币,你将获得以太币作为红利。 最终你会发现你的加密货币只能获得微薄的回报。 这只是为了引诱你投入更多的资金。 最终,你的所有资金将被发送到一个未知地址,骗子要么消失,要么在某些情况下会继续保持联系,就像最近发生的一个案例一样。
+自 2022 年 9 月起,在以太坊上挖矿已不再可能。 但是,矿池骗局仍然存在。 在矿池骗局中会有人主动联系你,并声称你可以通过加入以太坊矿池获得丰厚回报。 骗子会提出要求,并一直与你保持联系。 本质上讲,骗子会试图让你相信,在加入一个以太坊矿池后,你的加密货币将用于创建以太币,而且你将获得以太币红利。 然后你会发现你的加密货币正在赚取微薄的回报。 这只是为了引诱你投入更多的资金。 最终,你的所有资金将被发送到一个未知地址,骗子要么消失,要么在某些情况下会继续保持联系,就像最近发生的一个案例一样。
-总之,要提防那些在社交媒体上与你联系并要求你加入矿池的人。 一旦你失去你的加密货币,它就永远回不来了。
+底线是,提防那些在社交媒体上与你联系并要求你加入矿池的人。 一旦你失去你的加密货币,它就永远回不来了。
有些事情要记住:
@@ -260,12 +176,98 @@ _注意:有一些衍生的代币/票据可能代表了被质押的以太币(
### 空投骗局 {#airdrop-scams}
-空投骗局通常是先构建一个诈骗项目,并向你的钱包空投一种资产(非同质化代币、其他代币),然后诱骗你到诈骗网站领取这些空投的资产。 当你试图领取资产时,网站会要求你使用自己的以太坊钱包登录,并“批准”一笔交易。 实际上,这个交易会将你帐户的公钥私钥都发给骗子。 这种骗局的另一种方式是让你确认一笔可以把资金转移到骗子帐户的交易。
+空投骗局通常是先构建一个诈骗项目,并向你的钱包空投一种资产(非同质化代币、其他代币),给你发送一个诈骗网站,让你领取这些空投的资产。 当你试图领取资产时,网站会要求你使用自己的以太坊钱包登录,并“批准”一笔交易。 实际上,这个交易会将你帐户的公钥私钥都发给骗子。 这种骗局的另一种方式是让你确认一笔可以把资金转移到骗子帐户的交易。
[更多关于空投骗局的信息](https://www.youtube.com/watch?v=LLL_nQp1lGk)
+## 网络安全 101 {#web-security}
+
+### 使用强密码 {#use-strong-passwords}
+
+[超过 80% 的帐户被黑客攻击是由于密码薄弱或被盗造成的](https://cloudnine.com/ediscoverydaily/electronic-discovery/80-percent-hacking-related-breaches-related-password-issues-cybersecurity-trends/)。 一串很长的字符、数字和符号组合可帮助保护你的帐户安全。
+
+一种常见错误是使用一些常见的、有关联的单词组合。 像这样的密码是不安全的,因为它们很容易被称为字典攻击的简单黑客技术攻击。
+
+```md
+弱密码示例:CuteFluffyKittens!
+
+强密码示例:ymv\*azu.EAC8eyp8umf
+```
+
+另一种常见错误是使用容易通过[社会工程学](https://wikipedia.org/wiki/Social_engineering_(security))猜出或发现的密码。 在密码中加入母亲的婚前姓氏、孩子或宠物的名字或出生日期,会增加密码被黑客攻击的风险。
+
+#### 强密码设置方法: {#good-password-practices}
+
+- 在密码生成器或你所填写的表格允许的范围内,将密码设得越长越好
+- 混合使用大写字母、小写字母、数字和符号
+- 不要在密码中使用个人详细资料,如姓氏
+- 避免使用常见的单词
+
+[关于创建强密码的更多内容](https://terranovasecurity.com/how-to-create-a-strong-password-in-7-easy-steps/)
+
+### 使用独立的密码 {#use-unique-passwords}
+
+数据泄露中外泄的强密码不再是强密码。 你可以在 [Have I Been Pwned](https://haveibeenpwned.com) 网站上检查你的帐户是否在任何公共数据泄露中被泄露。 如果是,**请立即更改被泄露的密码**。 为每个帐户设置独立的密码,可以在你的一个密码被破解时降低黑客访问你所有帐户的风险。
+
+### 使用密码管理器 {#use-password-manager}
+
+
+
+ 使用密码管理器可以创建唯一的强密码并记住它们! 我们强烈推荐使用它,而且它们大部分是免费的。
+
+
+
+记住为每个帐户设置的唯一强密码并不现实。 密码管理器为你的所有密码提供了一个安全、加密的存储空间,你可以通过一个强主密码进行访问。 他们还在注册新服务时生成建议使用的强密码,这样你就不必自行创建密码了。 许多密码管理器也会告诉你是否涉及数据泄露,让你在任何恶意攻击之前更改密码。
+
+![密码管理器使用示例](./passwordManager.png)
+
+#### 尝试一个密码管理器: {#try-password-manager}
+
+- [Bitwarden](https://bitwarden.com/)
+- [KeePass](https://keepass.info/)
+- [1Password](https://1password.com/)
+- 或查看其他[推荐的密码管理器](https://www.privacytools.io/secure-password-manager)
+
+### 2FA(双重身份验证) {#two-factor-authentication}
+
+有时可能会要求你通过提供特有的证明来验证你的身份。 这些证明称为**因素**。 下面是三类重要因素:
+
+- 你知道的信息(例如密码或安全问题)
+- 生理特征(如指纹或虹膜/面部识别)
+- 你私有的(安全密钥或你手机上的认证程序)
+
+使用**双重身份验证 (2FA) **将为你的在线帐户提供一个额外的*安全因素*。 双重身份验证确保仅仅有你的密码还不足以访问你的帐户。 最常见的是,双重验证是一个随机的6位数代码,被称为**基于时间的一次性密码(TOTP)**,你可以通过身份验证程序应用程序(如Google authenticator或Authy)生成。 这是一种“你私有的”,因为生成随机时间密码的种子文件存储在你的设备上。
+
+
+
+
+
+#### 安全密钥 {#security-keys}
+
+安全密匙是一种更高级、更安全的双重身份验证。 安全密钥是物理硬件身份验证设备,其工作方式与身份验证程序应用程序相似。 使用安全密钥是最安全的 2FA 使用方式。 这些密钥中有许多采用了 FIDO 通用第二因素 (U2F) 标准。 [了解更多关于 FIDO U2F](https://www.yubico.com/authentication-standards/fido-u2f/) 的信息。
+
+观看以下视频,了解更多关于双重身份验证的信息:
+
+
+
+### 卸载浏览器扩展程序 {#uninstall-browser-extensions}
+
+Chrome 扩展程序或 Firefox 插件等浏览器扩展程序可以增强浏览器的功能,但它们也会带来风险。 大多数浏览器扩展程序默认请求获得“读取和更改网站数据”的权限,几乎允许它们对你的数据做任何事情。 Chrome 扩展程序总是自动更新,因此旧版本安全的扩展程序可能会在更新后被加入恶意代码。 大多数浏览器扩展程序都不会试图窃取你的数据,但你应该知道它们可以。
+
+#### 通过以下方式保持安全: {#browser-extension-safety}
+
+- 只安装来自受信任来源的浏览器扩展程序
+- 删除不使用的浏览器扩展程序
+- 在本地安装 Chrome 扩展程序以停止自动更新(高级)
+
+[更多关于浏览器扩展程序的风险](https://www.kaspersky.co.uk/blog/browser-extensions-security/12750/)
+
+
+
## 延伸阅读 {#further-reading}
### 网络安全 {#reading-web-security}
diff --git a/public/content/translations/zh/staking/withdrawals/index.md b/public/content/translations/zh/staking/withdrawals/index.md
index d57c51fcaca..0eba63521cd 100644
--- a/public/content/translations/zh/staking/withdrawals/index.md
+++ b/public/content/translations/zh/staking/withdrawals/index.md
@@ -196,7 +196,7 @@ eventName="read more">
建议验证者运营商访问质押启动板提款页面,你可以在其中找到有关如何准备验证者以便提款的更多详细信息、事件的时间安排,以及有关提款如何运作的更多详细信息。
-要首先在测试网上测试你的设置,请访问 Holesky 测试网质押启动板开始测试。
+要首先在测试网上测试你的设置,请访问 Goerli 测试网质押启动板开始测试。
diff --git a/public/content/translations/zh/zero-knowledge-proofs/index.md b/public/content/translations/zh/zero-knowledge-proofs/index.md
index f5d3c0ba31c..ac61a23880d 100644
--- a/public/content/translations/zh/zero-knowledge-proofs/index.md
+++ b/public/content/translations/zh/zero-knowledge-proofs/index.md
@@ -4,95 +4,29 @@ description: 面向初学者的非技术性零知识证明介绍
lang: zh
---
-## 什么是零知识证明? {#what-are-zk-proofs}
+# 什么是零知识证明? {#what-are-zk-proofs}
零知识证明是能够在不披露声明本身的情况下,验证声明有效性的一种方法。 “证明者”是试图证明声明的一方,而“验证者”则负责验证声明。
零知识证明在 1985 年的一篇论文“[交互式证明系统的知识复杂度](http://people.csail.mit.edu/silvio/Selected%20Scientific%20Papers/Proof%20Systems/The_Knowledge_Complexity_Of_Interactive_Proof_Systems.pdf)”中被首次提出,它给出了至今仍被广泛使用的零知识证明的定义:
-> 零知识协议是一种方法,通过这种方法,一方(证明者)可以向另一方(验证者)证明某事是真实的,除了证实特定声明之外,不会透露任何信息。
+> 零知识协议是一种方法,通过这种方法,一方(证明者)可以向另一方(验证者)**证明**某个声明是真实的,并且除了该声明是真实的外,**不会透露任何额外信息**。
多年来,零知识证明一直在发展,目前已经在现实世界中得到应用。
-## 我们为什么需要零知识证明? {#why-zero-knowledge-proofs-are-important}
-
-零知识证明是一项应用密码学的突破,它提高了个人信息的安全性。 想一想你如何向另一方(例如,一个服务提供商)证明一项声明(例如,“我是X国的公民”)。 你需要提供“证据”来支持你的声明,例如国家护照或驾驶证。
-
-但这种方法存在问题,主要是缺乏隐私。 与第三方服务商共享的个人身份信息 (PII) 储存在中心化数据库,这些数据库很容易受到黑客攻击。 随着身份信息窃取成为一个越来越严峻的问题,人们呼吁采用更能保护隐私的方式来分享敏感信息。
-
-通过在验证声明过程中不披露信息,零知识证明解决了这个问题。 零知识协议使用声明(称为“证人”)作为输入,然后生成一个其有效性的简要证明。 这种证明有力地保证了一项声明是真实的,且不暴露创建声明时所使用的信息。
-
-回到我们刚刚的例子,你只需要提供零知识证明来证明你的公民身份。 验证者只需要检查证明中的一些属性是否属实,从而确认背后声明的真实性。
-
-## 零知识证明是如何发挥作用的? {#how-do-zero-knowledge-proofs-work}
-
-零知识证明允许你证实一个声明是否真实,无需分享声明的内容以及你是如何发现其真实性的。 为了做到这点,零知识证明依靠算法获取一些数据作为输入,然后输出“真”或“假”。
-
-零证明协议需要满足以下标准:
-
-1. **完备性**:如果输入是有效的,那么零知识协议应该始终返回"真"。 因此,如果所依据的声明是真的,同时证明者和验证者都诚实,那么证明就能被接受。
-
-2. **可靠性**:如果输入是无效的,那么理论上不可能欺骗零知识协议输出“真”。 因此,一个说谎的证明者无法忽悠一个诚实的验证者相信一个无效的声明是有效的(小概率事件除外)。
-
-3. **零知识**:验证者除了知道声明的有效性或虚假性之外,其余一概不知(他们对声明内容“一无所知”)。 这项要求也阻止了验证者从证明中推导出原始输入(声明的内容)。
-
-零知识证明的基本形式由三个要素组成:**证人**、**挑战**和**回复**。
-
-- **证人**:通过零知识证明,证明者想要证明对一些隐藏信息的了解。 这些秘密信息就是证明的“证人”,证明者基于对证人的了解设立了一组问题,这些问题只有了解信息的一方才能回答出来。 因此,证明者随机选择一个问题来发起证明,计算问题答案,然后发送给验证者。
-
-- **挑战**:验证者从问题集里随机挑选另外一个问题,然后让证明者来回答。
-
-- **回复**:证明者接收问题,计算答案,然后把答案发送给验证者。 证明者的回复让验证者可以检验证明者是否真的可以接触到证人。 为了确保证明者并不是偶然盲目猜对答案的,验证者会再选择一个问题来提问。 通过多次重复这个过程,证明者造假的可能性会极大的降低,直到最终验证者满意。
-
-以上描述了“交互式零知识证明”的结构。 早期的零知识协议使用交互式证明,验证一个声明的有效性需要证明者和验证者之间来回多次沟通。
-
-一个比较好的展示交互式证明是如何运转的例子是 Jean-Jacques Quisquater 非常有名的[阿里巴巴山洞故事](https://en.wikipedia.org/wiki/Zero-knowledge_proof#The_Ali_Baba_cave)。 在故事里,Peggy(证明者)想要向Victor(验证者)证明她知道打开魔法之门的暗号,但她又没有透露暗号是什么。
-
-### 非交互式零知识证明 {#non-interactive-zero-knowledge-proofs}
-
-虽然是革命性的,但互动式证明的作用有限,因为它要求双方同时在线,反复互动。 即使验证者相信证明者是诚实的,该证明也不能用于独立验证(计算一个新的证明需要证明者和验证者之间一个新的信息集)。
-
-为了解决这个问题,Manuel Blum、Paul Feldman 和 Silvio Micali 提出了第一个[非交互式零知识证明](https://dl.acm.org/doi/10.1145/62212.62222),证明者和验证者将有一个共享的密钥。 这能让证明者表明他们对某些信息(即证人)的了解,而不提供信息本身。
+
-与交互式证明不同的是,非互动式证明只需要参与者(证明者和验证者)之间进行一轮沟通。 证明者把秘密信息输入到一个特殊的算法中,然后计算出一个零知识证明。 这个证明会被发送给验证者,验证者使用另一个算法来检验证明者是否知道秘密信息。
-
-非交互式证明减少了证明者和验证者之间的沟通,让零知识证明更高效。 另外,一旦生成了证明,任何人(可访问共享密钥和验证算法)都可以对其进行验证。
-
-非交互式证明代表了零知识技术的突破,促进了今天所使用的证明系统的发展。 下面我们将讨论这些证明类型:
-
-### 零知识证明的类型 {#types-of-zero-knowledge-proofs}
-
-#### 零知识简洁非交互式知识论证 (ZK-SNARK) {#zk-snarks}
-
-零知识简洁非交互式知识论证是**零知识简洁非交互式知识论证**的缩写。 零知识简洁非交互式知识论证协议具有以下特点:
-
-- **零知识**:验证者可以验证声明的完整性,而不需要知道关于该声明的任何其他信息。 验证者对声明的唯一了解就是它是真还是假。
-
-- **简洁**:零知识证明比证人小,可以快速验证。
-
-- **非交互式**:该证明是非交互式的,因为证明者和验证者之间只需要交互一次,不像交互式证明需要多轮的沟通。
-
-- **论证**:该证明满足“可靠性”要求,因此基本不可能作弊。
-
-- **(的)知识**:如果不能获取秘密信息(证人),就无法构建零知识证明。 证明者在没有证人的情况下计算一个有效的零知识证明是非常困难的,即便不是不可能。
-
-前面提到的“共享密钥”是指证明者和验证者同意在生成和验证证明时使用的公共参数。 生成公共参数(统称为通用参考编码 (CRS))是一个敏感的操作,因为它在协议安全性方面非常重要。 如果用于生成通用参考编码的熵(随机数)落入到不诚实的证明者手上,他们就能计算虚假证明。
-
-[多方计算 (MPC)](https://en.wikipedia.org/wiki/Secure_multi-party_computation) 是一种在生成公共参数时降低风险的方法。 多个参与方参与到[信任设置仪式](https://zkproof.org/2021/06/30/setup-ceremonies/amp/),每个人提供一些随机数值来生成通用参考编码。 只要有一个诚实的参与方销毁了他们那部分的熵,零知识简洁非交互式知识论证协议就能保持计算的可靠性。
-
-信任设置要求用户信任参数生成的参与者。 然而,ZK-STARK 的发展使其能在非信任的设置下证明协议。
-
-#### 零知识可扩容透明知识论证 (ZK-STARK) {#zk-starks}
+## 我们为什么需要零知识证明? {#why-zero-knowledge-proofs-are-important}
-ZK-STARK 是**零知识可扩容透明知识论证**的缩写。 ZK-STARK 类似于ZK-SNARK,除了它是:
+零知识证明是应用密码学领域的一项突破,它有望提高个人信息的安全性。 想一想你如何向另一方(例如,一个服务提供商)证明一项声明(例如,“我是 X 国的公民”)。 你需要提供“证据”来支持你的声明,例如国民护照或驾驶证。
-- **可扩容**:当证人的规模比较大时,ZK-STARK 生成和验证证明比零知识简洁非交互式知识论证要快。 随着证人规模的增加,简洁的非交互式知识论证证明的证明和验证时间只会略微增加(简洁的非交互式知识论证证明和验证时间与证人规模呈线性增长)。
+但这种方法存在问题,主要是缺乏隐私。 与第三方服务商共享的个人身份信息 (PII) 储存在中心化数据库中,这些数据库很容易受到黑客攻击。 随着身份盗用成为一个严峻问题,人们呼吁采用更能保护隐私的方式来分享敏感信息。
-- **透明**:ZK-STARK 依赖于可公开验证的随机数来生成用于证明和验证的公共参数,而不是信任设置。 因此,它比零知识简洁非交互式知识论证更加透明。
+**通过在不透露相关信息的情况下证明声明的有效性**,零知识证明解决了这个问题。 零知识协议使用声明(称为“证人”)作为输入,然后生成一个其有效性的简要证明。 这种证明有力地保证一项声明是真实的,且不透露创建声明时所使用的信息。
-ZK-STARK 会产生比零知识简洁非交互式知识论证更大的证明,这意味着它通常具有更高的验证开销。 然而,在有些情况下(如证明大型数据集),ZK-STARK 可能比零知识简洁非交互式知识论证更具成本效益。
+回到我们前面的例子,你只需要提供零知识证明即可证明你的公民身份声明。 验证者只需要检查证明中的一些属性是否属实,从而确认背后声明的真实性。
-## 零知识证明的应用场景 {#use-cases-for-zero-knowledge-proofs}
+## 零知识证明的用例 {#use-cases-for-zero-knowledge-proofs}
### 匿名支付 {#anonymous-payments}
@@ -102,9 +36,9 @@ ZK-STARK 会产生比零知识简洁非交互式知识论证更大的证明,
有一些专门为完全匿名交易设计的“隐私币”。 注重隐私的区块链,例如 Zcash 和 Monero,它们会屏蔽交易细节,包括发送人和接收人的地址、资产类型、数量和交易时间线。
-通过在协议中加入零知识技术,注重隐私的区块链网络允许节点无需获取交易数据就能验证交易。
+通过在协议中加入零知识技术,注重隐私的[区块链](/glossary/#blockchain)网络允许[节点](/glossary/#node)在无需访问交易数据的情况下验证交易。
-零知识证明也被应用在公开区块链的交易匿名化上。 其中一个例子是 Tornado Cash,它是一个去中心化的非托管服务,允许用户在以太坊上进行私密交易。 Tornado Cash 使用零知识证明来模糊化交易细节和保证金融隐私。 不幸的是,由于这些是“主动选择加入”的隐私工具,它们与非法活动有关。 为了克服这个问题,隐私最终也必须要成为公开区块链的默认项。
+**零知识证明也用于在公共区块链上对交易进行匿名处理**。 其中一个例子是 Tornado Cash,它是一个去中心化的非托管服务,允许用户在以太坊上进行私密交易。 Tornado Cash 使用零知识证明来模糊化交易细节和保证金融隐私。 不幸的是,由于这些是“主动选择加入”的隐私工具,它们与非法活动有关。 为了克服这个问题,隐私最终也必须要成为公开区块链的默认项。
### 身份保护 {#identity-protection}
@@ -122,7 +56,7 @@ ZK-STARK 会产生比零知识简洁非交互式知识论证更大的证明,
可验证计算是零知识技术用于改进区块链设计的另一种应用。 可验证计算允许我们将计算外包给另一个实体,同时保留可验证的计算结果。 该实体将计算结果和验证程序被正确执行的证据一起提交。
-可验证计算对于在不降低安全性的前提下提高区块链上的处理速度非常重要。 要明白这一点,需要知道拟议的以太坊扩容解决方案之间的差异。
+可验证计算对于在不降低安全性的前提下**提高区块链上的处理速度非常重要**。 要明白这一点,需要知道拟议的以太坊扩容解决方案之间的差异。
[链上扩容方案](/developers/docs/scaling/#on-chain-scaling),例如分片,需要对区块链的基础层进行大量修改。 然而,这种方法非常复杂,如果在实现过程中出错,则会危害以太坊的安全模型。
@@ -178,35 +112,103 @@ ZK-STARK 会产生比零知识简洁非交互式知识论证更大的证明,
[了解更多关于最小反串谋基础设施的信息](https://privacy-scaling-explorations.github.io/maci/)。
+## 零知识证明如何运作? {#how-do-zero-knowledge-proofs-work}
+
+零知识证明允许你证实一个声明是否真实,无需分享声明的内容以及你是如何发现其真实性的。 为了做到这点,零知识证明依靠算法获取一些数据作为输入,然后输出“真”或“假”。
+
+零证明协议需要满足以下标准:
+
+1. **完备性**:如果输入是有效的,那么零知识协议应该始终返回"真"。 因此,如果所依据的声明是真的,同时证明者和验证者都诚实,那么证明就能被接受。
+
+2. **可靠性**:如果输入是无效的,那么理论上不可能欺骗零知识协议输出“真”。 因此,一个说谎的证明者无法忽悠一个诚实的验证者相信一个无效的声明是有效的(小概率事件除外)。
+
+3. **零知识**:验证者除了知道声明的有效性或虚假性之外,其余一概不知(他们对声明内容“一无所知”)。 这项要求也阻止了验证者从证明中推导出原始输入(声明的内容)。
+
+零知识证明的基本形式由三个要素组成:**证人**、**挑战**和**回复**。
+
+- **证人**:通过零知识证明,证明者想要证明对一些隐藏信息的了解。 这些秘密信息就是证明的“证人”,证明者基于对证人的了解设立了一组问题,这些问题只有了解信息的一方才能回答出来。 因此,证明者随机选择一个问题来发起证明,计算问题答案,然后发送给验证者。
+
+- **挑战**:验证者从问题集里随机挑选另外一个问题,然后让证明者来回答。
+
+- **回复**:证明者接收问题,计算答案,然后把答案发送给验证者。 证明者的回复让验证者可以检验证明者是否真的可以接触到证人。 为了确保证明者并不是偶然盲目猜对答案的,验证者会再选择一个问题来提问。 通过多次重复这个过程,证明者造假的可能性会极大的降低,直到最终验证者满意。
+
+以上描述了“交互式零知识证明”的结构。 早期的零知识协议使用交互式证明,验证一个声明的有效性需要证明者和验证者之间来回多次沟通。
+
+一个比较好的展示交互式证明是如何运转的例子是 Jean-Jacques Quisquater 非常有名的[阿里巴巴山洞故事](https://en.wikipedia.org/wiki/Zero-knowledge_proof#The_Ali_Baba_cave)。 在故事里,Peggy(证明者)想要向Victor(验证者)证明她知道打开魔法之门的暗号,但她又没有透露暗号是什么。
+
+### 非交互式零知识证明 {#non-interactive-zero-knowledge-proofs}
+
+虽然是革命性的,但互动式证明的作用有限,因为它要求双方同时在线,反复互动。 即使验证者相信证明者是诚实的,该证明也不能用于独立验证(计算一个新的证明需要证明者和验证者之间一个新的信息集)。
+
+为了解决这个问题,Manuel Blum、Paul Feldman 和 Silvio Micali 提出了第一个[非交互式零知识证明](https://dl.acm.org/doi/10.1145/62212.62222),证明者和验证者将有一个共享的密钥。 这能让证明者表明他们对某些信息(即证人)的了解,而不提供信息本身。
+
+与交互式证明不同的是,非互动式证明只需要参与者(证明者和验证者)之间进行一轮沟通。 证明者把秘密信息输入到一个特殊的算法中,然后计算出一个零知识证明。 这个证明会被发送给验证者,验证者使用另一个算法来检验证明者是否知道秘密信息。
+
+非交互式证明减少了证明者和验证者之间的沟通,让零知识证明更高效。 另外,一旦生成了证明,任何人(可访问共享密钥和验证算法)都可以对其进行验证。
+
+非交互式证明代表了零知识技术的突破,促进了今天所使用的证明系统的发展。 下面我们将讨论这些证明类型:
+
+### 零知识证明的类型 {#types-of-zero-knowledge-proofs}
+
+#### 零知识简洁非交互式知识论证 (ZK-SNARK) {#zk-snarks}
+
+ZK-SNARK是**零知识简洁非交互式知识论证**的缩写。 零知识简洁非交互式知识论证协议具有以下特点:
+
+- **零知识**:验证者可以验证声明的完整性,而不需要知道关于该声明的任何其他信息。 验证者对声明的唯一了解就是它是真还是假。
+
+- **简洁**:零知识证明比证人小,可以快速验证。
+
+- **非交互式**:该证明是非交互式的,因为证明者和验证者之间只需要交互一次,不像交互式证明需要多轮的沟通。
+
+- **论证**:该证明满足“可靠性”要求,因此基本不可能作弊。
+
+- **(的)知识**:如果不能获取秘密信息(证人),就无法构建零知识证明。 证明者在没有证人的情况下计算一个有效的零知识证明是非常困难的,即便不是不可能。
+
+前面提到的“共享密钥”是指证明者和验证者同意在生成和验证证明时使用的公共参数。 生成公共参数(统称为通用参考编码 (CRS))是一个敏感的操作,因为它在协议安全性方面非常重要。 如果用于生成通用参考编码的熵(随机数)落入到不诚实的证明者手上,他们就能计算虚假证明。
+
+[多方计算 (MPC)](https://en.wikipedia.org/wiki/Secure_multi-party_computation) 是一种在生成公共参数时降低风险的方法。 多个参与方参与到[信任设置仪式](https://zkproof.org/2021/06/30/setup-ceremonies/amp/),每个人提供一些随机数值来生成通用参考编码。 只要有一个诚实的参与方销毁了他们那部分的熵,零知识简洁非交互式知识论证协议就能保持计算的可靠性。
+
+信任设置要求用户信任参数生成的参与者。 然而,ZK-STARK 的发展使其能在非信任的设置下证明协议。
+
+#### 零知识可扩容透明知识论证 (ZK-STARK) {#zk-starks}
+
+ZK-STARK 是**零知识可扩容透明知识论证**的缩写。 ZK-STARK 类似于ZK-SNARK,除了它是:
+
+- **可扩容**:当证人的规模比较大时,ZK-STARK 生成和验证证明比零知识简洁非交互式知识论证要快。 随着证人规模的增加,简洁的非交互式知识论证证明的证明和验证时间只会略微增加(简洁的非交互式知识论证证明和验证时间与证人规模呈线性增长)。
+
+- **透明**:ZK-STARK 依赖于可公开验证的随机数来生成用于证明和验证的公共参数,而不是信任设置。 因此,它比零知识简洁非交互式知识论证更加透明。
+
+ZK-STARK 会产生比零知识简洁非交互式知识论证更大的证明,这意味着它通常具有更高的验证开销。 然而,在有些情况下(如证明大型数据集),ZK-STARK 可能比零知识简洁非交互式知识论证更具成本效益。
+
## 使用零知识证明的缺点 {#drawbacks-of-using-zero-knowledge-proofs}
### 硬件成本 {#hardware-costs}
-生成零知识证明涉及到非常复杂的计算,最好在专门的机器上运行。 由于这些机器很昂贵,普通人通常买不起。 此外,想要使用零知识技术的应用程序必须考虑硬件成本 — 这可能会增加终端用户的费用。
+生成零知识证明涉及到非常复杂的计算,最好在专用机器上运行。 由于这类机器价格昂贵,普通人通常买不起。 此外,想要使用零知识技术的应用必须考虑硬件成本 — 这可能会增加终端用户的费用。
### 证明验证费用 {#proof-verification-costs}
-验证证明也需要复杂的计算,这增加了在应用程序中应用零知识技术的成本。 这种成本在证明计算方面尤其突出。 例如,零知识卷叠在以太坊上需要支付约 500,000 燃料来验证一个零知识简洁非交互式知识论证证明,验证 ZK-STARK 则需要更高的费用。
+验证证明也需要复杂的计算,这增加了在应用中实施零知识技术的成本。 这种成本在证明计算方面尤其突出。 例如,零知识卷叠在以太坊上支付约 500,000 单位燃料来验证一个零知识简洁非交互式知识论证证明,零知识可扩容透明知识论证则需要更高的费用。
### 信任假设 {#trust-assumptions}
-在零知识简洁非交互式知识论证中,通用参考编码(公共参数)只生成一次,然后可供零知识协议的参与方重复使用。 公共参数由信任设置仪式创建,其参与方被假定是诚实的。
+在零知识简洁非交互式知识论证中,公共参考字符串(公共参数)只生成一次,然后可供零知识协议的参与方重复使用。 公共参数由可信设置仪式创建,其参与者假定是诚实的。
-但是并没有什么方法能让用户去评估参与者是否诚实,用户必须相信开发者的话。 ZK-STARK 去信任假设,因为生成字符串所使用的随机数是可公开验证的。 与此同时,研究者正在研究让零知识简洁非交互式知识论证的无信任设置来增加证明机制的安全性。
+但是并没有什么方法能让用户评估参与者是否诚实,用户必须相信开发者的话。 零知识可扩容透明知识论证不存在信任假设,因为生成字符串所使用的随机数是可公开验证的。 与此同时,研究人员正在研究零知识简洁非交互式知识论证的非可信设置,以增加证明机制的安全性。
### 量子计算的威胁 {#quantum-computing-threats}
-零知识简洁非交互式知识论证使用椭圆曲线加密法 ([ECDSA](/glossary/#ecdsa)) 进行加密。 尽管椭圆曲线加密法算法目前是安全的,但未来量子计算机的发展可能会打破它的安全模型。
+零知识简洁非交互式知识论证使用椭圆曲线加密法进行加密。 虽然椭圆曲线离散对数问题目前被认为是难以破解的,但在未来,量子计算机的发展可能会打破这种安全模式。
-ZK-STARK 由于使用抗碰撞的哈希值进行加密,被认为不受量子计算的威胁。 与椭圆曲线加密法中使用的公私密钥对不同,抗碰撞哈希算法更难被量子计算破解。
+由于仅使用抗碰撞的哈希函数确保安全性,零知识可扩容透明知识论证被认为不会受到量子计算的威胁。 与椭圆曲线加密法中使用的公私密钥对不同,抗碰撞哈希算法更难被量子计算算法破解。
## 延伸阅读 {#further-reading}
-- [计算机科学家分 5 级难度解释一个概念 | WIRED](https://www.youtube.com/watch?v=fOGdb1CTu5c) - _Wired YouTube 频道_
- [零知识证明用例概述](https://pse.dev/projects) — _Privacy and Scaling Explorations Team_
- [SNARKs 与 STARKS 与 递归 SNARK](https://www.alchemy.com/overviews/snarks-vs-starks) — _Alchemy Overviews_
- [零知识证明:改善区块链上的隐私](https://www.altoros.com/blog/zero-knowledge-proof-improving-privacy-for-a-blockchain/) — _Dmitry Lavrenov_
- [zk-SNARK — 一个现实的零知识例子和深入研究](https://medium.com/coinmonks/zk-snarks-a-realistic-zero-knowledge-example-and-deep-dive-c5e6eaa7131c) — _Adam Luciano_
- [ZK-STARK — 创建可验证的信任,即使面对量子计算机](https://medium.com/coinmonks/zk-starks-create-verifiable-trust-even-against-quantum-computers-dd9c6a2bb13d) — _Adam Luciano_
- [关于如何让 zk-SNARK 成为可能的大致介绍](https://vitalik.eth.limo/general/2021/01/26/snarks.html) — _Vitalik Buterin_
-- [什么是零知识证明以及它在区块链中的角色](https://www.leewayhertz.com/zero-knowledge-proof-and-blockchain/) — _LeewayHertz_
+- [为什么零知识证明 (ZKP) 是自主主权身份的颠覆者](https://frankiefab.hashnode.dev/why-zero-knowledge-proofs-zkps-is-a-game-changer-for-self-sovereign-identity) — _Franklin Ohaegbulam_
+
diff --git a/src/intl/zh/glossary-tooltip.json b/src/intl/zh/glossary-tooltip.json
new file mode 100644
index 00000000000..cc616af8cda
--- /dev/null
+++ b/src/intl/zh/glossary-tooltip.json
@@ -0,0 +1,164 @@
+{
+ "51%-attack-term": "51% 攻击",
+ "51%-attack-definition": "一种攻击类型,其中一个团体获得了大多数节点的控制权。这样他们可以通过撤销交易和双重支付以太币及其他代币来进行欺诈区块链。",
+ "abi-term": "应用程序二进制接口 (ABI)",
+ "abi-definition": "JSON 文件定义了智能合约中包含的函数与变量。ABI 可将字节码映射成人类可读的格式。",
+ "account-term": "帐户",
+ "account-definition": "以太坊帐户是以太坊区块链上的数字身份,允许用户发送、接收以太币或其他数字资产,并与智能合约进行交互。",
+ "address-term": "地址",
+ "address-definition": "以太坊地址是一个用于接收代币的唯一标识符,其功能类似于加密货币的银行账号,用于识别你的以太坊帐户。",
+ "anti-sybil-term": "防女巫攻击",
+ "anti-sybil-definition": "是阻止人们在网络上同时冒充成多个用户的方法,确保每个用户都是真实、独立的个人。这有助于使在线互动保持公平和诚实。",
+ "apr-term": "年利率",
+ "apr-definition": "年利率 (APR) 反映了借贷的年成本,包含利息与费用,以百分比表示。",
+ "attestation-term": "认证",
+ "attestation-definition": "由某个实体确认某事物正确性的声明。在以太坊背景中,共识验证者必须声明他们所认为的链状态。在指定时间内,每个验证者负责公布不同的认证,正式声明该验证者对链的看法,包含最终确定的检查点和当前链头。了解有关认证的更多信息。",
+ "block-term": "区块",
+ "block-definition": "区块是存储交易或数字行为的地方。当一个区块填满之后,它会与前一个区块相连,形成链,也就是”区块链“。了解有关区块的更多信息。",
+ "blockchain-term": "区块链",
+ "blockchain-definition": "区块链是一个交易数据库,它在网络中的所有计算机上复制和共享,确保数据无法被回溯篡改。",
+ "bridge-term": "链桥",
+ "bridge-definition": "区块链链桥用于将资产从一个区块链网络转移到另一个区块链网络。",
+ "consensus-term": "共识",
+ "consensus-definition": "当网络上超过 2/3 的计算机同意它们拥有相同的记录集时,就确保了每个人都在相同的页面上。这与它们所遵循的规则无关,而是确保它们拥有相同的信息。",
+ "consensus-client-term": "共识客户端",
+ "consensus-client-definition": "共识客户端(例如 Prysm、Teku、Nimbus、Lighthouse、Lodestar)运行以太坊的权益证明共识算法,使网络能够就信标链头达成一致。共识客户端不参与验证/广播交易或执行状态转换,这些操作由执行客户端完成。共识客户端不证明或提出新区块,这些操作由验证者客户端完成,也是共识客户端的可选附加功能。",
+ "consensus-layer-term": "共识层",
+ "consensus-layer-definition": "以太坊的共识层是共识客户端网络。",
+ "cryptoeconomics-term": "加密经济学",
+ "cryptoeconomics-definition": "通过研究数学与经济原理,设计安全且值得信赖的数字平台。目标是确保所有参与者遵守规则,并通过对网络的安全和运营做出贡献来获得奖励。",
+ "cryptography-term": "加密",
+ "cryptography-definition": "这是使通信变得私密和安全的做法,只有信息原本的接收者才能阅读它。",
+ "dao-term": "去中心化自治组织 (DAO)",
+ "dao-definition": "去中心化自治组织是按区块链上编码的规则运行的数字组织,决策由成员投票做出,而不是由中央机构决定。了解有关去中心化自治组织 (DAO) 的更多信息。",
+ "dapp-term": "去中心化应用程序",
+ "dapp-definition": "dApp 是在区块链网络上运行的去中心化应用程序,无需通过中央控制机构即可提供服务。了解有关去中心化应用程序的更多信息。",
+ "data-availability-term": "数据可用性",
+ "data-availability-definition": "为了维护系统的透明与信任,任何节点都可以单独地验证区块链上的交易。",
+ "defi-term": "去中心化金融",
+ "defi-definition": "一种广义的以太坊应用程序,旨在提供由区块链支持的金融服务,无需任何中介。了解有关去中心化金融 (DeFi) 的更多信息",
+ "dex-term": "去中心化交易所 (DEX)",
+ "dex-definition": "一种允许你与网络上的其他对等节点交换代币的以太坊应用程序。去中心化交易所不像中心化交易所那样受到地理限制 — 任何人都能够参与。",
+ "difficulty-bomb-term": "难度炸弹",
+ "difficulty-bomb-definition": "在工作量证明难度设置中所计划的指数级增长,旨在推动向权益证明的过渡,减少发生分叉的几率。难度炸弹已在合并时弃用。",
+ "ecdsa-term": "椭圆曲线数字签名算法 (ECDSA)",
+ "ecdsa-definition": "一种加密算法,以太坊使用该算法来确保资金只能被其所有者使用。这是创建公钥与私钥的首选方法,与账户地址生成和交易验证有关。",
+ "ens-term": "以太坊域名服务 (ENS)",
+ "ens-definition": "以太坊域名服务就像是以太坊地址的互联网电话簿。它允许你使用类似“john.eth”的简单名称来发送和接收数字货币和资产,而不需要使用长钱包地址。",
+ "epoch-term": "时段",
+ "epoch-definition": "由 32 个时隙组成的周期,每个时隙 12 秒,总计 6.4 分钟。出于安全考虑,验证者委员会会在每个时段被重组。每个时段都有机会让链最终确定。在每个时段开始时,每个验证者都会被分配新的职责。了解有关权益证明的更多信息",
+ "eoa-term": "外部帐户(EOA)",
+ "eoa-definition": "外部帐户 (EOA) 是最常见的以太坊帐户类型。它们由个人通过私钥/助记词来控制。了解有关以太坊钱包的更多信息。",
+ "erc-term": "以太坊意见征求 (ERC)",
+ "erc-definition": "ERC(以太坊意见征求)是以太坊社区用于提出以太坊网络新使用标准的一类技术文档。",
+ "erc-1155-term": "ERC-1155",
+ "erc-1155-definition": "一种与非同质化代币类似的以太坊代币标准(如独特的收藏品),并且能够用于在单一智能合约内创建可互换的物品(如货币)。",
+ "erc-20-term": "ERC-20",
+ "erc-20-definition": "是以太坊网络上大多数代币创建时使用的标准规则集。",
+ "erc-721-term": "ERC-721",
+ "erc-721-definition": "用于创建 NFT(非同质化代币)的标准规则集。",
+ "ether-term": "以太币",
+ "ether-definition": "以太坊的原生加密货币,通常称为“以太币”。用于在使用以太坊生态系统和应用程序时支付交易费。了解有关以太币的更多信息。",
+ "events-term": "事件",
+ "events-definition": "允许使用以太坊虚拟机日志工具。去中心化应用程序可以侦听事件,并使用它们在用户界面触发 JavaScript 回调。了解有关事件和日志的更多信息",
+ "execution-client-term": "执行客户端",
+ "execution-client-definition": "执行客户端(曾被称为“Eth1 客户端”),例如 Besu、Erigon、Go-Ethereum (Geth)、Nethermind,负责处理和广播交易以及管理以太坊的状态。它们为每一笔使用以太坊虚拟机的交易进行运算,确保这些交易遵守共识规则。",
+ "execution-layer-term": "执行层",
+ "execution-layer-definition": "以太坊的执行层是执行客户端网络。",
+ "finality-term": "最终确定性",
+ "finality-definition": "最终确定性确保了在没有大量以太币丢失的情况下无法篡改一组交易。",
+ "fork-term": "分叉",
+ "fork-definition": "导致生成另一条链的协议更改。",
+ "fraud-proof-term": "欺诈证明",
+ "fraud-proof-definition": "某些二层网络解决方案的安全模型,为了提高速度,交易被汇总成多个批次并在单次交易中提交给以太坊。其他网络参与者可以重新执行交易以检查它们是否被诚实执行。如果他们发现发布的数据与他们自己的版本之间存在差异,他们可以发布加密证明来证实欺诈发生的地点。一些卷叠使用有效性证明。",
+ "gas-term": "燃料",
+ "gas-definition": "燃料是为区块链(如以太坊)上的交易和智能合约支付的费用。了解有关燃料和费用的更多信息。",
+ "genesis-block-term": "创世区块",
+ "genesis-block-definition": "区块链上的第一个区块,用于初始化特定的网络及其加密货币。",
+ "gwei-term": "Gwei",
+ "gwei-definition": "Gigawei 的缩写,一种以太币面额,通常用于为燃料定价。1 gwei = 109 wei。109 gwei = 1 个以太币。",
+ "hash-term": "哈希",
+ "hash-definition": "由哈希函数生成的可变大小输入的固定长度指纹。(请参阅keccak-256)。",
+ "holographic-consensus-term": "全息共识",
+ "holographic-consensus-definition": "是指如何让一小群有代表性的人投票来做出大集体的决策。然后只要其他人相信这一小群人做得很好,他们就会同意该决策。",
+ "index-term": "索引",
+ "index-definition": "一种网络结构,旨在通过提供信息存储源的有效路径来优化整条区块链信息的查询。",
+ "key-term": "密钥",
+ "key-definition": "在以太坊背景中,密钥是数字代码:公钥用于接收交易,私钥用于存取与发送资金。",
+ "layer-2-term": "二层网络",
+ "layer-2-definition": "二层网络是建立在以太坊主网络之上的另一类网络,旨在使交易更快、更便宜。了解有关二层网络的更多信息。",
+ "liquidity-tokens-term": "流动性代币",
+ "liquidity-tokens-definition": "流动性代币 (LT) 是向将资产存入流动性池的参与者发行的数字代币,流动性池是锁定在智能合约中的资金集合,用于促进去中心化交易所 (DEX) 上的交易。",
+ "mainnet-term": "主网",
+ "mainnet-definition": "\"main network\"(主网)的缩写,是主要的公共以太坊区块链。",
+ "mev-term": "最大可提取价值",
+ "mev-definition": "一种按费用、影响结果和交易顺序优先处理区块链上某些操作的机制。",
+ "multisig-term": "多重签名",
+ "multisig-definition": "Multisig(多重签名)是指钱包或帐户需要多个签名或批准才能进行交易,从而增加了安全性。",
+ "nft-term": "非同质化代币 (NFT)",
+ "nft-definition": "非同质化代币 (NFT) 是你可以拥有的一种独特数字物品,例如艺术品或收藏品,并通过区块链技术进行验证。了解有关非同质化代币 (NFT) 的更多信息。",
+ "node-term": "节点",
+ "node-definition": "参与网络的软件客户端。了解有关节点和客户端的更多信息。",
+ "ommer-term": "叔块",
+ "ommer-definition": "当工作量证明矿工发现有效的区块时,另一个矿工可能已经发布了首先添加到区块链顶端的竞争区块。这个有效但过时的区块可以作为叔块包含在新区块内,并获得部分区块奖励。术语“ommer”是指代父块同胞的首选中性术语,但有时也称为“uncle”。当以太坊曾经是一个工作量证明网络时,这对于以太坊来说很常见。现在以太坊使用权益证明,每个时隙只选择一个区块提议者。",
+ "on-chain-term": "链上",
+ "on-chain-definition": "是指发生在区块链上并且公开的操作或交易。",
+ "optimistic-rollup-term": "乐观卷叠",
+ "optimistic-rollup-definition": "乐观卷叠是一种二层网络解决方案,可以加速以太坊上的交易,假设交易默认有效,除非受到质疑。了解有关乐观卷叠的更多信息。",
+ "peer-to-peer-network-term": "对等网络",
+ "peer-to-peer-network-definition": "一个由计算机(对等节点)组成,无需基于服务器的中心服务即可共同执行功能的网络。",
+ "permissionless-term": "无需准入性",
+ "permissionless-definition": "使用像以太坊这样的系统无需许可或批准,没有任何人能阻止你使用它。它全天候开放给所有人参与。",
+ "private-key-term": "私钥",
+ "private-key-definition": "私钥是一个秘密代码,可以证明您拥有数字货币并允许您使用它,就像您帐户的 PIN 码一样。切勿告知他人。",
+ "poap-term": "出席证明协议",
+ "poap-definition": "出席证明协议用于创建数字收藏品(非同质化代币),证明您参加了特定事件或活动。",
+ "pos-term": "权益证明(PoS)",
+ "pos-definition": "加密货币区块链协议旨在实现分布式共识的方法。权益证明要求用户证明拥有一定数量的加密货币(他们在网络中的“权益”),以便能够参与交易验证。了解有关权益证明的更多信息。",
+ "pow-term": "工作量证明 (PoW)",
+ "pow-definition": "区块链的一种安全机制,要求节点以计算的形式消耗能量以查找某个值。",
+ "public-goods-term": "公共物品",
+ "public-goods-definition": "公共物品是每个人都可以免费使用的东西,比如公园或洁净的空气,使用它们并不能阻止其他人也使用它们。政府经常提供这些服务,因为企业通常不会提供这些服务,因为他们不能方便地向使用它们的人收费。",
+ "public-key-term": "公钥",
+ "public-key-definition": "公钥是一组字符,可以让其他人安全地向您发送数字货币,就像可发送金钱的电子邮件地址一样。",
+ "quadratic-voting-term": "二次方投票",
+ "quadratic-voting-definition": "一种投票方法,投票者可以表达他们对问题的强烈感受。它不仅可以让投票者表现出偏好,还可以表现出他们偏好的强烈程度。",
+ "recovery-phrase-term": "助记词",
+ "recovery-phrase-definition": "创建数字钱包时向你提供的单词列表。它就像一个密码,可以帮助你在失去访问权限时重新进入钱包,确保你不会丢失数字货币或代币。",
+ "rollups-term": "卷叠",
+ "rollups-definition": "一种二层网络扩容解决方案,可批量处理多个交易并在单笔交易中将其提交到以太坊主链。这可以降低燃料成本并增加交易吞吐量。其中有乐观卷叠和零知识卷叠,它们使用不同的安全方法来提供这些扩容能力。了解有关卷叠的更多信息。",
+ "rpc-term": "远程过程调用 (RPC)",
+ "rpc-definition": "远程过程调用允许一台计算机通过网络向另一台计算机请求数据或操作,就像使用遥控器请求信息。",
+ "sequencer-term": "排序者",
+ "sequencer-definition": "排序者是负责对区块链网络中的交易进行排序的程序。",
+ "smart-contract-term": "智能合约",
+ "smart-contract-definition": "智能合约是一种程序,可以在区块链上自动执行协议,就像自动执行的数字合约。智能合约简介。",
+ "stablecoin-term": "稳定币",
+ "stablecoin-definition": "稳定币是一种加密货币,设计具有稳定的价值,常与一种货币或商品挂钩(如美元),将价格波动降至最小。了解有关稳定币的更多信息。",
+ "staking-term": "权益质押",
+ "staking-definition": "存入一定数量的以太币(你的质押)来成为一名验证者并保护网络。验证者在权益证明的共识模型下检查交易并提议区块。质押能够为符合网络最佳利益的行为提供经济上的激励。你会在履行验证者责任时获得奖励,反之则会损失不同数量的以太币。了解有关以太坊质押的更多信息。",
+ "staking-pool-term": "质押池",
+ "staking-pool-definition": "联合多个以太坊质押者的以太币,用于达到激活一组验证者密钥所需的 32 个以太币。节点运营商使用这些密钥参与共识,区块奖励会被分配给参与贡献的质押者。质押池或委托质押不是以太坊协议原生的,但社区已经构建了很多解决方案。了解有关联合质押的更多信息。",
+ "sybil-attack-term": "女巫攻击",
+ "sybil-attack-definition": "女巫攻击是指个人欺骗系统,使系统认为他们是多人以增加他们的影响力。",
+ "terminal-total-difficulty-term": "终端总难度 (TTD)",
+ "terminal-total-difficulty-definition": "总难度是指区块链中某个特定点之前所有区块的 Ethash 挖矿难度总和。终端总难度是总难度的一个特定值,用于使执行客户端关闭其挖矿和区块广播功能,让网络过渡到权益证明。由于以太坊已过渡到权益证明,便不再相关。",
+ "transaction-fee-term": "交易费",
+ "transaction-fee-definition": "每次使用以太坊网络时需要支付的费用。包括以下示例:从你的钱包发送资金或与去中心化应用程序互动,如交换代币或购买收藏品。可以将其视为一种服务费。费用会根据网络的繁忙情况而异。这是因为验证者(负责处理交易的人)极有可能优先处理费用较高的交易,所以拥塞会使费用增加。
从技术层面来讲,交易费与相应交易所需的燃料相关。
目前,降低交易费是一个非常受人关注的主题。请参阅二层网络。",
+ "trust-assumptions-term": "信任假设",
+ "trust-assumptions-definition": "信任假设是有关系统安全性和可靠性的基本信念,引导我们信任系统以使其正常运作。",
+ "validator-term": "验证者",
+ "validator-definition": "权益证明系统中负责存储数据、处理交易并向区块链添加新区块的节点。激活验证者软件需要能够质押 32 个以太币。了解关于以太坊质押的更多信息。",
+ "validity-proof-term": "有效性证明",
+ "validity-proof-definition": "某些二层网络解决方案的安全模型,用于提高速度。交易被批量汇总为单笔交易并提交到以太坊。交易计算在链下完成,然后同它们的有效性证明一起提交到主链。这种方法在保证安全的情况下提升了交易量。一些卷叠使用欺诈证明。了解有关零知识卷叠的更多信息。",
+ "wallet-term": "钱包",
+ "wallet-definition": "钱包是一种用于存储、发送和接收数字货币的数字工具,就像您在线资金的虚拟钱包。了解有关以太坊钱包的更多信息。",
+ "web2-term": "Web2",
+ "web2-definition": "是指当前互联网,专注于由少数公司控制的用户生成内容和社交媒体。Web3 是一种加密信仰,认为用户应该控制自己的数据与交易。",
+ "web3-term": "Web3",
+ "web3-definition": "Web3 是使用区块链的新型互联网,用户而非公司控制自己的数据与交易。也不需要共享任何个人信息。了解有关 Web3 的更多信息。",
+ "wei-term": "Wei",
+ "wei-definition": "以太币的最小面额。1018 wei = 1 个以太币。",
+ "zk-proof-term": "零知识证明",
+ "zk-proof-definition": "零知识证明是一种加密方法,使个人能够在不传达任何额外信息的情况下证明某个陈述的真实性。了解有关零知识卷叠的更多信息。"
+}
diff --git a/src/intl/zh/glossary.json b/src/intl/zh/glossary.json
new file mode 100644
index 00000000000..235a29a307d
--- /dev/null
+++ b/src/intl/zh/glossary.json
@@ -0,0 +1,400 @@
+{
+ "51%-attack-term": "51% 攻击",
+ "51%-attack-definition": "一种使一个团体获得大多数节点控制权的攻击类型。这使他们能够通过逆转交易和双重支付以太币或其他代币来欺骗区块链。
在以太坊权益证明中,这种攻击将通过积攒超过半数的质押以太币总量来实现。这使攻击者能够决定将哪些新区块添加到区块链上。然而,攻击者需要拥有至少 66% 的总质押以太币才能逆转区块链或者双重支付。",
+ "account-term": "帐户",
+ "account-definition": "以太坊帐户是以太坊区块链上的数字身份,允许用户发送和接收以太币,并与智能合约交互。
技术:
一个包含了地址、余额、随机数以及可选存储和代码的对象。帐户可以是合约帐户,也可以是外部帐户 (EOA)。",
+ "address-term": "地址",
+ "address-definition": "以太坊地址是用于接收代币的唯一标识符,功能类似于加密货币的银行账户。地址用于识别你的以太坊帐户。
它是 椭圆曲线加密法公钥的 Keccak 哈希值中最右的 160 位数。",
+ "anti-sybil-term": "防女巫攻击",
+ "anti-sybil-definition": "是阻止人们在网络上同时冒充成多个用户的方法,确保每个用户都是真实、独立的个人。这有助于使在线互动保持公平和诚实。",
+ "abi-term": "应用程序二进制接口 (ABI)",
+ "abi-definition": "JSON 文件定义了智能合约中包含的函数与变量。ABI 可将字节码映射成人类可读的格式。",
+ "api-term": "应用程序接口 (API)",
+ "api-definition": "应用程序接口 (API) 是关于如何使用软件的一组定义。应用程序接口位于应用程序和网络服务器之间,可以促进两者之间的数据传输。",
+ "apr-term": "年利率",
+ "apr-definition": "年利率 (APR) 反映了借贷的年成本,包含利息与费用,以百分比表示。",
+ "asic-term": "专用集成电路",
+ "asic-definition": "专用集成电路,通常指为加密货币挖矿定制的集成电路。",
+ "assert-term": "assert 断言",
+ "assert-definition": "Solidity 中,“assert(false)”编译成无效操作码“0xfe”,将用完所有剩余的燃料并回滚所有更改。当一个“assert()”声明失败时,非常糟糕和无法预料的事情会随之发生,然后你将需要修正代码。应该使用“assert()”来避免本不应该发生的情况。了解有关智能合约安全的更多信息。",
+ "attestation-term": "认证",
+ "attestation-definition": "由某个实体确认某事物正确性的声明。在以太坊背景中,共识验证者必须声明他们所认为的链状态。在指定时间内,每个验证者负责公布不同的认证,正式声明该验证者对链的看法,包含最终确定的检查点和当前链头。了解有关认证的更多信息。",
+ "base-fee-term": "基础费",
+ "base-fee-definition": "每个区块都有一个被称为“基础费”的底价。这是用户为了在下个区块中添加一条交易需要支付的最低燃料费用。了解有关燃料和费用的更多信息。",
+ "beacon-chain-term": "信标链",
+ "beacon-chain-definition": "信标链是将权益证明与验证者引入以太坊的区块链。自 2020 年 12 月起,它与工作量证明以太坊主网一起运行,直到 2022 年 9 月,两条链发生合并,形成了今天的以太坊。了解有关信标链的更多信息。",
+ "big-endian-term": "大端序",
+ "big-endian-definition": "一种按位计数的表示方式,其中高位字节保存在内存的低位地址中。与之相反的是小端序,即低位字节保存在内存的低位地址中。",
+ "block-term": "区块",
+ "block-definition": "区块是存储交易或数字行为的地方。一旦区块被填满,它就会链接到上一个区块,形成一连串的区块,即“区块链”。了解有关区块的更多信息。
区块是一个汇总的信息单位,包含了有序的交易列表和共识相关信息。区块由权益证明验证者提出,在整个对等网络中共享,并且可以轻松地由所有其他节点独立验证。共识机制决定哪些区块的内容是有效的,任何无效的区块都会被网络忽略。这些区块的次序和其中的交易构成了一条确定性的事件链,其末端表示网络的当前状态。",
+ "block-explorer-term": "区块浏览器",
+ "block-explorer-definition": "一个能让用户查询了解各种区块链信息的界面。包括检索指定地址相关的个人交易、活动信息,以及网络相关信息。",
+ "block-header-term": "区块头",
+ "block-header-definition": "区块头是一个包含区块元数据以及执行有效负载所含交易摘要的集合。",
+ "block-propagation-term": "区块传播",
+ "block-propagation-definition": "将经确认的区块传递到网络中所有其他节点的过程。",
+ "block-proposer-term": "区块提议者",
+ "block-proposer-definition": "被选中在特定时隙内创建一个区块的特定验证者。",
+ "block-reward-term": "区块奖励",
+ "block-reward-definition": "奖励给新有效区块提议者的以太币数额。",
+ "block-status-term": "区块状态",
+ "block-status-definition": "区块可以存在的状态。可能的状态包括:
- 被提议:区块被一个验证者提议。
- 被提上日程:验证者正在提交数据。
- 被错过/跳过:提议者未在有效的时间范围内提议区块。
- 被孤立:区块被分叉选择算法移出
",
+ "block-time-term": "区块时间",
+ "block-time-definition": "相邻两个区块被添加进区块链的时间间隔。",
+ "block-validation-term": "区块验证",
+ "block-validation-definition": "检查一个新区块是否包含有效交易与签名的过程,建立在最长历史链(在其历史上累积了最多认证的链)上,并遵循所有其他共识机制。有效的区块将被添加到链头,并传播到网络上的其他节点。无效的区块将被忽略。",
+ "blockchain-term": "区块链",
+ "blockchain-definition": "区块链是一个交易数据库,在所有网络中的所有计算机上复制与共享,确保数据无法被篡改。
在区块的序列中,每个区块都通过引用上一个区块的哈希值链接到上一个区块,直至创世区块。通过使用基于权益证明的共识机制,以加密经济学的方式确保区块链的完整性。区块链是什么?",
+ "bootnode-term": "引导节点",
+ "bootnode-definition": "在运行节点时可用于启动发现过程的节点。引导节点将新节点“引入”其他现有节点,以便它们快速获取对等点,而不必搜索一个初始对等点。这些节点的端点通常在以太坊客户端源代码中提供,但用户也可以提供自己的引导节点列表。",
+ "bridge-term": "链桥",
+ "bridge-definition": "区块链桥用于将资产从一个区块链网络转移至另一个网络。例如,你可以使用链桥将以太币从以太坊主网转移至更便宜的二层网络扩容解决方案。",
+ "bytecode-term": "字节码",
+ "bytecode-definition": "代码以紧凑的数字形式表示,以便通过以太坊虚拟机高效执行。",
+ "byzantium-fork-term": "拜占庭分叉",
+ "byzantium-fork-definition": "大都市开发阶段的前两个硬分叉。引入了 EIP-649 大都市难度炸弹延迟和区块奖励削减,将冰河世纪推迟了 1 年,并将区块奖励从 5 个以太币减至 3 个以太币。",
+ "casper-ffg-term": "Casper FFG",
+ "casper-ffg-definition": "Casper-FFG 是一种权益证明共识协议,与 LMD-GHOST 分叉选择算法一起使用,使共识客户端能够就信标链头达成一致。",
+ "checkpoint-term": "检查点",
+ "checkpoint-definition": "信标链的节奏分为时隙(12 秒)和时段(32 个时隙)。每个时段的第一个时隙是一个检查点。当绝大多数验证者对两个检查点之间的联系加以证明时,即可认为这两个检查点合理。之后,当另一个检查点也被认为合理后,就可以最终确定这些检查点。",
+ "compiling-term": "编译",
+ "compiling-definition": "将使用高级编程语言(例如 Solidity )编写的代码转换为低级语言(例如以太坊虚拟机字节码)。了解有关编译智能合约的更多信息",
+ "committee-term": "委员会",
+ "committee-definition": "至少 128 个验证者为一组,指定于每个时隙验证区块。委员会的其中一个验证者将成为聚合者,负责聚合委员会中所有其他同意认证的验证者的签名。请勿与同步委员会混淆。",
+ "computational-infeasibility-term": "计算不可行性",
+ "computational-infeasibility-definition": "如果一个过程需要花费不切实际的漫长时间(例如数十亿年),才能被任何可能有兴趣的人执行,这个过程在计算上就是不可行的。",
+ "consensus-term": "共识",
+ "consensus-definition": "当网络上超过 2/3 的计算机同意它们拥有相同的记录集时,就确保了每个人都在相同的页面上。这与它们所遵循的规则无关,而是确保它们拥有相同的信息。",
+ "consensus-client-term": "共识客户端",
+ "consensus-client-definition": "共识客户端(例如 Prysm、Teku、Nimbus、Lighthouse、Lodestar)运行以太坊的权益证明共识算法,使网络能够就信标链头达成一致。共识客户端不参与验证/广播交易或执行状态转换,这些操作由执行客户端完成。共识客户端不证明或提出新区块,这些操作由验证者客户端完成,也是共识客户端的可选附加功能。",
+ "consensus-layer-term": "共识层",
+ "consensus-layer-definition": "以太坊的共识层是共识客户端网络。",
+ "consensus-rules-term": "共识机制",
+ "consensus-rules-definition": "使完整节点与其他节点保持共识的区块验证规则。请勿与共识混淆。",
+ "cfi-term": "考虑纳入名单 (CFI)",
+ "cfi-definition": "未在主网上激活的核心以太坊改进提案,客户端开发者们普遍对该想法持积极态度。假如满足纳入主网的所有要求,该提案可能会被纳入网络升级中(不一定是下一个)。",
+ "constantinople-fork-term": "君士坦丁堡分叉",
+ "constantinople-fork-definition": "大都市阶段的第二部分,原计划于 2018 年年中进行。除了其他变更外,预计还将包含转换到工作量证明/权益证明混合共识算法。",
+ "contract-account-term": "合约帐户",
+ "contract-account-definition": "一个包含代码的帐户,只要收到来自其他帐户(外部帐户或合约帐户)的交易,就会执行该代码。",
+ "contract-creation-transaction-term": "合约创建交易",
+ "contract-creation-transaction-definition": "一个包含合约启动代码的特殊交易。接收者设为“null”,合约部署到由用户地址和“随机数”生成的地址,用于注册一个合约并将其记录到以太坊区块链上。",
+ "cryptoeconomics-term": "加密经济学",
+ "cryptoeconomics-definition": "通过研究数学与经济原理,设计安全且值得信赖的数字平台。目标是确保所有参与者遵守规则,并通过对网络的安全和运营做出贡献来获得奖励。",
+ "cryptography-term": "加密",
+ "cryptography-definition": "这是通过使用代码来确保通信与数据安全的做法,以便只有信息的目标受众才能阅读和处理它。
其中涉及了加密技术(将可阅读的信息转换为不可阅读的格式)和解密技术(将其转换回可阅读的格式),确保机密性。",
+ "doge-d-term": "Đ",
+ "doge-d-definition": "Đ(D加一笔)在古英语、中世纪英语、冰岛语和法罗语中代表大写字母“Eth”。Đ 用于 ĐEV 或 Đapp(去中心化应用程序)等词,代表古挪威字母“eth”。大写的 eth (Ð) 也用于表示加密货币狗狗币。它在较早的以太坊文献中很常见,但如今很少使用。",
+ "dag-term": "有向无环图",
+ "dag-definition": "DAG 代表有向无环图。它是由节点和节点之间的链接组成的数据结构。在合并之前,以太坊在其工作量证明算法 Ethash 中使用有向无环图,但在权益证明中不再使用。",
+ "dapp-term": "去中心化应用程序",
+ "dapp-definition": "Dapp 是在区块链网络上运行的去中心化应用程序,不通过中央控制机构提供服务。了解有关去中心化应用程序的更多信息。
去中心化应用程序至少有一个连接至网络界面的智能合约。此外,许多去中心化应用程序还包含去中心化存储和/或信息协议及平台。",
+ "data-availability-term": "数据可用性",
+ "data-availability-definition": "为了维护系统的透明与信任,任何节点都可以单独地验证区块链上的交易。",
+ "decentralization-term": "去中心化",
+ "decentralization-definition": "取消由中而实体控制和执行流程的概念。",
+ "dao-term": "去中心化自治组织 (DAO)",
+ "dao-definition": "去中心化自治组织是由区块链上编码规则运行的数字组织,通过成员投票而不是中央机构来做出决定。了解有关去中心化自治组织 (DAO) 的更多信息。
每名成员的投票权通常与他们持有的代币数量相关。去中心化自治组织的目标是将决策与运营民主化,专注于透明性与社区治理。",
+ "dex-term": "去中心化交易所 (DEX)",
+ "dex-definition": "一种允许你与网络上的其他对等节点交换代币的以太坊应用程序。去中心化交易所不像中心化交易所那样受到地理限制 — 任何人都能够参与。",
+ "deposit-contract-term": "部署合约",
+ "deposit-contract-definition": "在以太坊上质押的门户。存款合约是以太坊上的智能合约,它接受以太币存款并管理验证者余额。验证者如果不将以太币存入该合约,就无法被激活。该合约需要提供以太币和输入数据,输入数据包括由验证者私钥签名的验证者公钥和提款公钥。权益证明网络需要这些数据来识别和批准验证者。",
+ "defi-term": "去中心化金融",
+ "defi-definition": "一种广义的以太坊应用程序,旨在提供由区块链支持的金融服务,无需任何中介。了解有关去中心化金融 (DeFi) 的更多信息",
+ "difficulty-term": "难度",
+ "difficulty-definition": "一种工作量证明中网络中覆盖全网络的设置,用于控制找到有效随机数所需的平均计算量。难度由产生的区块哈希为被视为有效而需要的前导零数量表示。此概念在以太坊转变为权益证明后弃用。",
+ "difficulty-bomb-term": "难度炸弹",
+ "difficulty-bomb-definition": "在工作量证明难度设置中所计划的指数级增长,旨在推动向权益证明的过渡,减少发生分叉的几率。难度炸弹已在合并时弃用。",
+ "digital-signatures-term": "数字签名",
+ "digital-signatures-definition": "用户使用私钥为文档生成的一串短数据,这样任何有对应公钥、签名和文档的人都能验证 (1) 文档有该特定私钥所有者的“签名”,以及 (2) 文档在签名后未被改动。",
+ "discovery-term": "发现",
+ "discovery-definition": "以太坊节点查找其他要连接节点的过程。",
+ "distributed-hash-table-term": "分布式哈希表 (DHT)",
+ "distributed-hash-table-definition": "包含“(key, value)”对的数据结构,以太坊节点使用该结构来识别要连接的对等节点,并决定使用哪些协议进行通信。",
+ "double-spend-term": "双重支付",
+ "double-spend-definition": "一个蓄意的区块链分叉,其中拥有足够多挖矿算力/质押份额的用户会发送交易,将一些货币转移至链下(例如兑换为法币或进行链下购买),然后重组区块链来删除该交易。成功的双重支付将使攻击者同时拥有链上与链下资产。",
+ "ecdsa-term": "椭圆曲线数字签名算法 (ECDSA)",
+ "ecdsa-definition": "一种加密算法,以太坊使用该算法来确保资金只能被其所有者使用。这是创建公钥与私钥的首选方法,与账户地址生成和交易验证有关。",
+ "encryption-term": "加密",
+ "encryption-definition": "加密是指将电子数据转换为除正确的解密密钥所有者外任何人都无法读取的形式。",
+ "entropy-term": "熵",
+ "entropy-definition": "在加密学里,是指缺乏可预测性与随机性水平。在生成秘密信息(例如私钥)时,算法通常依赖高熵源来确保输出不可预测。",
+ "epoch-term": "时段",
+ "epoch-definition": "由 32 个时隙组成的周期,每个时隙 12 秒,总计 6.4 分钟。出于安全考虑,验证者委员会会在每个时段被重组。每个时段都有机会让链最终确定。在每个时段开始时,每个验证者都会被分配新的职责。了解有关权益证明的更多信息",
+ "equivocation-term": "模棱两可",
+ "equivocation-definition": "一个验证者发送两条互相矛盾的信息的情况。一个简单的例子是,一名交易发送者发送具有相同随机数的两笔交易。另一个例子是,一名区块提议者在相同区块高度(或相同时隙)提出两个区块。",
+ "eth1-term": "以太坊 1",
+ "eth1-definition": "“Eth1”是用于指代主网以太坊(即现在的工作量证明区块链)的术语。该术语已被弃用,取而代之的是“执行层”。了解有关该名称更改的更多信息。",
+ "eth2-term": "以太坊 2",
+ "eth2-definition": "“Eth2”是用于指代一系列以太坊协议升级(包括向权益证明过渡)的术语。该术语已被弃用,取而代之的是“共识层”。了解有关该名称更改的更多信息。",
+ "eip-term": "以太坊改进提案 (EIP)",
+ "eip-definition": "为以太坊社区提供信息的设计文档,描述提议的新功能或其流程或环境(参见以太坊意见征求)。以太坊改进提案简介",
+ "ens-term": "以太坊域名服务 (ENS)",
+ "ens-definition": "以太坊域名服务就像是以太坊地址的互联网电话簿。以太坊域名服务允许你使用类似“john.eth”的简单域名来发送与接收数字货币和资产,无需使用长钱包地址。
技术:
以太坊域名服务注册是单一的中心合约,提供从域名到所有者和解析器的映射,如 EIP-137 中所述。在 ens.domains 中阅读更多信息。",
+ "erc-1155-term": "ERC-1155",
+ "erc-1155-definition": "ERC-1155 是一种类似于非同质化代币(如独特的收藏品)的新型以太坊代币标准。它也可以用于在单一的智能合约中创建可互换的物品(如货币)。
这使得管理多种类型的数字资产变得更加容易和高效,特别是在电子游戏或数字收藏品等应用中。",
+ "erc-20-term": "ERC-20",
+ "erc-20-definition": "ERC-20 是以太坊网络上用于创建大多数代币的标准。
常见的例子有稳定币,如 DAI 和 USDC,还有交易所代币,如 Uniswap 的 UNI。类似于我们在传统系统中拥有的任何形式的替代货币,即奖励积分、信用系统,甚至还有股票等等。",
+ "erc-721-term": "ERC-721",
+ "erc-721-definition": "NFT(非同质化代币)是使用一套称为 ERC-721 的标准规则来创建的。
非同质化代币可以代表任何独特事物的所有权,如数字艺术品或收藏品,每个代币都有自己独特的特征与价值。每个非同质化代币都是独一无二的,并且很容易与其他非同质化代币区分开来",
+ "execution-client-term": "执行客户端",
+ "execution-client-definition": "执行客户端(曾被称为“Eth1 客户端”),例如 Besu、Erigon、Go-Ethereum (Geth)、Nethermind,负责处理和广播交易以及管理以太坊的状态。它们为每一笔使用以太坊虚拟机的交易进行运算,确保这些交易遵守共识规则。",
+ "execution-layer-term": "执行层",
+ "execution-layer-definition": "以太坊的执行层是执行客户端网络。",
+ "eoa-term": "外部帐户(EOA)",
+ "eoa-definition": "外部帐户 (EOA) 是最常见的以太坊帐户类型。它们由个人通过私钥/助记词来控制。了解有关以太坊钱包的更多信息。",
+ "erc-term": "以太坊意见征求 (ERC)",
+ "erc-definition": "ERC(以太坊意见征求)是以太坊社区用于提议新以太坊网络使用标准的一种技术文档类型。
这些提议可以涵盖各种主题,包括新代币标准(如用于代币的 ERC-20 和用于非同质化代币的 ERC-721)。",
+ "ethash-term": "Ethash",
+ "ethash-definition": "在以太坊过渡到权益证明之前使用的一种工作量证明算法。了解更多",
+ "ether-term": "以太币",
+ "ether-definition": "以太坊的原生加密货币,通常称为“以太币”。用于在使用以太坊生态系统和应用程序时支付交易费。了解有关以太币的更多信息。",
+ "events-term": "事件",
+ "events-definition": "允许使用以太坊虚拟机日志工具。去中心化应用程序可以侦听事件,并使用它们在用户界面触发 JavaScript 回调。了解有关事件和日志的更多信息",
+ "evm-term": "以太坊虚拟机 (EVM)",
+ "evm-definition": "可执行字节码的基于堆栈的虚拟机。在以太坊中,执行模型指定在给出一系列字节码指令和一小组环境数据的情况下,系统状态如何改变。这是通过一个虚拟状态机的形式化模型指定的。了解有关以太坊虚拟机的更多信息。",
+ "evm-assembly-language-term": "以太坊虚拟机汇编语言",
+ "evm-assembly-language-definition": "一种人类可读形式的以太坊虚拟机字节码。",
+ "fallback-function-term": "回退函数",
+ "fallback-function-definition": "在缺失数据或已声明函数名称时调用的默认函数。",
+ "faucet-term": "水龙头",
+ "faucet-definition": "通过智能合约执行的服务,免费提供可在测试网上使用的测试以太币。",
+ "finality-term": "最终确定性",
+ "finality-definition": "最终确定性确保了在没有大量以太币丢失的情况下无法篡改一组交易。",
+ "finney-term": "Finney",
+ "finney-definition": "一种以太币面额。1 Finney = 1015wei。103 Finney = 1 以太币。",
+ "fork-term": "分叉",
+ "fork-definition": "导致生成另一条链的协议更改。",
+ "fork-choice-algorithm-term": "分叉选择算法",
+ "fork-choice-algorithm-definition": "用于识别区块链头的算法。在以太坊中,链头被识别为具有最大认证“权重”的分叉。权重是认证数量与证明验证者有效余额的乘积。这意味着真实链头是拥有最多质押以太币投票的链头。在共识层上,分叉选择算法被称为 LMD_GHOST。",
+ "fraud-proof-term": "欺诈证明",
+ "fraud-proof-definition": "某些二层网络解决方案的安全模型,为了提高速度,交易被汇总成多个批次并在单次交易中提交给以太坊。其他网络参与者可以重新执行交易以检查它们是否被诚实执行。如果他们发现发布的数据与他们自己的版本之间存在差异,他们可以发布加密证明来证实欺诈发生的地点。一些卷叠使用有效性证明。",
+ "frontier-term": "边境",
+ "frontier-definition": "以太坊的初始测试开发阶段,从 2015 年 7 月持续到 2016 年 3 月。",
+ "gas-term": "燃料",
+ "gas-definition": "燃料是为区块链(如以太坊)上的交易和智能合约支付的费用。了解有关燃料和费用的更多信息。",
+ "gas-limit-term": "燃料限制",
+ "gas-limit-definition": "一笔交易或一个区块能消耗的最大燃料量。",
+ "gas-price-term": "燃料价格",
+ "gas-price-definition": "交易中指定的一单位燃料的价格,用以太币计价。",
+ "genesis-block-term": "创世区块",
+ "genesis-block-definition": "区块链上的第一个区块,用于初始化特定的网络及其加密货币。",
+ "geth-term": "Geth",
+ "geth-definition": "Go Ethereum。以太坊协议最著名的实现之一,用 Go 编写。访问 geth.ethereum.org 了解更多信息",
+ "gwei-term": "Gwei",
+ "gwei-definition": "Gigawei 的缩写,一种以太币面额,通常用于为燃料定价。1 gwei = 109 wei。109 gwei = 1 个以太币。",
+ "hard-fork-term": "硬分叉",
+ "hard-fork-definition": "区块链中的永久分歧;也称为硬分叉变更。当未升级的节点无法验证遵循较新共识机制的升级节点创建的区块时,通常会发生硬分叉。请勿与分叉、软分叉、软件分叉或 Git 分叉混淆。",
+ "hash-term": "哈希",
+ "hash-definition": "由哈希函数生成的可变大小输入的固定长度指纹。(请参阅keccak-256)。",
+ "hash-rate-term": "哈希率",
+ "hash-rate-definition": "运行挖矿软件的计算机每秒进行的哈希计算次数。",
+ "homestead-term": "家园分叉",
+ "holographic-consensus-term": "全息共识",
+ "holographic-consensus-definition": "指如何通过让一小群有代表性的人投票来做出一个大的集体决策。然后只要其他人相信这一小群人做得很好,他们就会同意该决策。
它在一些在线社区中被用来快速做出决策,不需要每个人对所有事情进行投票,同时仍然确保决策是公平的,代表了大多数人的愿望。",
+ "homestead-definition": "以太坊的第二个开发阶段,于 2016 年 3 月在 1,150,000 区块上启动。",
+ "index-term": "索引",
+ "index-definition": "一种网络结构,旨在通过提供信息存储源的有效路径来优化整条区块链信息的查询。",
+ "ide-term": "集成开发环境 (IDE)",
+ "ide-definition": "通常结合了代码编辑器、编译器、运行时和调试器的用户界面。了解有关集成开发环境的更多信息。",
+ "immutable-deployed-code-problem-term": "不可变部署代码问题",
+ "immutable-deployed-code-problem-definition": "一经部署,合约(或库)的代码就变得不可变。标准软件开发实践依赖于修复可能的错误和添加新功能的能力,因此这对智能合约开发来说是一个挑战。了解有关部署智能合约的更多信息。",
+ "internal-transaction-term": "内部交易",
+ "internal-transaction-definition": "从一个合约帐户发送到另一个合约帐户或外部帐户的交易(请参阅信息)。",
+ "issuance-term": "发行",
+ "issuance-definition": "铸造新的以太币以奖励区块提出、认证和举报。",
+ "kdf-term": "密钥导出函数 (KDF)",
+ "kdf-definition": "也称为“密码拉伸算法”,凭借此算法,密钥库格式通过重复哈希密码来防止针对密码加密的暴力、字典和彩虹表攻击。",
+ "keystore-term": "密钥存储库",
+ "keystore-definition": "在以太坊客户端中,每个帐户的私钥/地址对都以单个密钥文件的形式存在。这些 JSON 文本文件包含帐户的加密私钥,只能使用创建帐户时输入的密码解密。",
+ "keccak-256-term": "Keccak-256",
+ "keccak-256-definition": "以太坊中使用的加密哈希函数。Keccak-256 被标准化为安全哈希算法-3。",
+ "key-term": "密钥",
+ "key-definition": "在以太坊的背景下,密钥是数字代码:用于接收交易的公钥以及用于访问和发送资金的私钥。
公钥:可以公开共享。
私钥:由所有者保密。",
+ "layer-1-term": "第一层",
+ "layer-1-definition": "一层网络是指多层区块链网络中的主区块链。例如,以太坊和比特币是一层区块链。许多二层区块链将资源密集型交易卸载到其单独的区块链,同时出于安全目的继续使用以太坊或比特币的一层区块链。",
+ "layer-2-term": "二层网络",
+ "layer-2-definition": "二层网络是建立在以太坊主网络之上的另一类网络,旨在使交易更快、更便宜。了解有关二层网络的更多信息。",
+ "library-term": "程序库",
+ "library-definition": "一种特殊类型的合约,没有付费函数,没有回退函数,也没有数据存储。因此,它不能接收或保存以太币,也不能存储数据。作为既往部署的代码,程序库可被其他合约调用进行只读计算。了解有关智能合约程序库的更多信息。",
+ "light-client-term": "轻客户端",
+ "light-client-definition": "一种以太坊客户端,不存储区块链的本地副本,也不验证区块或交易。它提供钱包的功能,并且可以创建和广播交易。",
+ "liquidity-term": "流动性",
+ "liquidity-definition": "流动性是指资产转换为现金或其他资产的速度和容易程度。像 Uniswap 这样的去中心化交易所拥有多个流动性池,资产持有者可以将其资产存入其中,交易者可以以去中心化的方式买卖资产以换取奖励。",
+ "liquidity-tokens-term": "流动性代币",
+ "liquidity-tokens-definition": "流动性代币 (LST) 是向将资产存入流动性池的参与者发行的数字代币。流动性池是锁定在智能合约中的资金集合,用于促进去中心化交易所 (DEX) 上的交易。
这些代币代表参与者在池中的份额,在以后可以赎回初始存款加上池活动产生的部分交易费用。本质上,流动性代币充当流动性池中所有权或权益的证明,允许持有者获得奖励,同时为其他人高效交易不同的加密货币对提供必要的流动性。",
+ "lmd-ghost-term": "LMD-GHOST",
+ "lmd-ghost-definition": "以太坊共识客户端用来识别链头的分叉选择算法。LMD-GHOST 是“Latest Message Driven Greediest Heaviest Observed SubTree”(最新消息驱动的最贪婪、最重的观测子树)的缩写,意思是链头是其创建以来认证积累最多的区块。",
+ "mainnet-term": "主网",
+ "mainnet-definition": "\"main network\"(主网)的缩写,是主要的公共以太坊区块链。",
+ "max-fee-per-gas-term": "每单位燃料最高费用",
+ "max-fee-per-gas-definition": "最高费用是用户为使交易添加到区块中而愿意为每单位燃料支付的绝对最高金额 (gwei)。",
+ "merkle-patricia-tree-term": "梅克尔帕特里夏树 (MPT)",
+ "merkle-patricia-tree-definition": "以太坊用于高效存储键值对的数据结构。",
+ "merkle-root-term": "默克尔根",
+ "merkle-root-definition": "默克尔根是默克尔树的单个顶部哈希。它验证块内的所有交易。",
+ "message-term": "信息",
+ "message-definition": "一种内部交易,永不会被序列化,且仅在以太坊虚拟机内部发送。",
+ "message-call-term": "消息调用",
+ "message-call-definition": "将信息从一个帐户传递到另一个帐户的行为。如果目标帐户与以太坊虚拟机代码关联,则以太坊虚拟机将以该对象的状态和所执行的信息启动。",
+ "mev-term": "最大可提取价值 (MEV)",
+ "mev-definition": "通过为区块添加、删除交易和改变交易顺序可从生产区块中提取到的、超出标准区块奖励和燃料费的最大价值。了解有关最大可提取价值 (MEV) 的更多信息。",
+ "mining-term": "挖矿",
+ "mining-definition": "重复哈希区块头的过程,同时递增随机数,直到结果包含任意数量的前导二进制零。这是将新区块添加到工作量证明区块链的过程。这就是以太坊在过渡到权益证明之前的安全保障方式。",
+ "miner-term": "矿工",
+ "miner-definition": "一个网络节点,通过重复传递哈希找到新区块的有效工作证明(请参阅 Ethash)。矿工不再是以太坊的一部分,当以太坊过渡到权益证明时,他们被验证者取代。",
+ "mint-term": "铸币",
+ "mint-definition": "铸币是创造新代币并将其投入流通以供使用的过程。这是一种去中心化的机制,可以在没有中央机构参与的情况下创建新的代币。",
+ "multisig-term": "多重签名",
+ "multisig-definition": "Multisig(多重签名)是指数字钱包或帐户需要多个签名或批准才能执行交易,从而增强安全性。
与传统的单签名帐户只需要一个人的批准相比,这增加了额外的安全性。",
+ "network-term": "网络",
+ "network-definition": "指以太坊网络,即将交易和区块传播到每个以太坊节点(网络参与者)的点对点网络。了解有关网络的更多信息。",
+ "network-hashrate-term": "网络哈希率",
+ "network-hashrate-definition": "整个挖矿网络产生的总哈希率。当以太坊转向权益证明时,以太坊上的挖矿被关闭。",
+ "nft-term": "非同质化代币 (NFT)",
+ "nft-definition": "非同质化代币 (NFT) 是你可以拥有的一种独特数字物品,例如艺术品或收藏品,并通过区块链技术进行验证。了解有关非同质化代币 (NFT) 的更多信息。",
+ "node-term": "节点",
+ "node-definition": "参与网络的软件客户端。了解有关节点和客户端的更多信息。",
+ "nonce-term": "Nonce",
+ "nonce-definition": "在密码学中,只能使用一次的值。帐户随机数是每个帐户中的交易计数器,用于防止重放攻击。",
+ "off-chain-term": "链下",
+ "off-chain-definition": "链下是指存在于区块链之外的任何交易或数据。由于在链上进行每笔交易可能成本高昂且效率低下,因此第三方工具(例如处理定价数据的预言机)或执行较高吞吐量交易的二层网络解决方案在链下执行大量处理工作,并以更低的频率在链上提交信息。",
+ "ommer-term": "叔块",
+ "ommer-definition": "当工作量证明矿工发现有效的区块时,另一个矿工可能已经发布了首先添加到区块链顶端的竞争区块。这个有效但过时的区块可以作为叔块包含在新区块内,并获得部分区块奖励。术语“ommer”是指代父块同胞的首选中性术语,但有时也称为“uncle”。当以太坊曾经是一个工作量证明网络时,这对于以太坊来说很常见。现在以太坊使用权益证明,每个时隙只选择一个区块提议者。",
+ "on-chain-term": "链上",
+ "on-chain-definition": "指区块链上发生的公开操作或交易。
将其视为在一个共享大笔记本中写一些东西,每个人都可以看到和检查,确保所写的任何内容(例如发送数字货币或签订合约)是永久性的,无法更改或删除。",
+ "optimistic-rollup-term": "乐观卷叠",
+ "optimistic-rollup-definition": "乐观卷叠是一种二层网络解决方案,可以加速以太坊上的交易,假设交易默认有效,除非受到质疑。了解有关乐观卷叠的更多信息。",
+ "oracle-term": "预言机",
+ "oracle-definition": "预言机是区块链和现实世界之间的桥梁。它们充当链上应用程序接口,可以通过它们查询信息并在智能合约中使用。了解有关预言机的更多信息。",
+ "peer-term": "对等节点",
+ "peer-definition": "运行以太坊客户端软件且具有相同区块链副本的联网计算机。",
+ "peer-to-peer-network-term": "对等网络",
+ "peer-to-peer-network-definition": "计算机(对等)网络,无需基于服务器的集中服务即可共同执行功能。
此设置常用于共享文件(即 Bit torrent)、信息或数字货币,使用户之间能进行更直接且可能更有效的交换。",
+ "permissionless-term": "无需准入性",
+ "permissionless-definition": "无许可意味着任何人都可以加入并使用以太坊等系统。它向所有人开放,无需任何批准。",
+ "plasma-term": "以太坊 Plasma 扩容解决方案",
+ "plasma-definition": "使用欺诈证明的链下扩容解决方案,例如乐观卷叠。Plasma 仅限于简单的交易,例如基本的代币转账和交换。了解有关 plasma 的更多信息。",
+ "private-key-term": "私钥",
+ "private-key-definition": "私钥是一个秘密代码,可以证明您拥有数字货币并允许您使用它,就像您帐户的 PIN 码一样。切勿告知他人。",
+ "public-goods-term": "公共物品",
+ "public-goods-definition": "公共物品是每个人都可以免费使用的东西,比如公园或洁净的空气,使用它们并不能阻止其他人也使用它们。政府经常提供这些服务,因为企业通常不会提供这些服务,因为他们不能方便地向使用它们的人收费。",
+ "private-chain-term": "私有链",
+ "private-chain-definition": "完全私有的区块链是一种需要访问权限的区块链,不能公开使用。",
+ "poap-term": "出席证明协议",
+ "poap-definition": "出席证明协议用于创建数字收藏品(非同质化代币),证明您参加了特定事件或活动。",
+ "pos-term": "权益证明(PoS)",
+ "pos-definition": "加密货币区块链协议旨在实现分布式共识的方法。权益证明要求用户证明拥有一定数量的加密货币(他们在网络中的“权益”),以便能够参与交易验证。了解有关权益证明的更多信息。",
+ "pow-term": "工作量证明 (PoW)",
+ "pow-definition": "区块链的一种安全机制,要求节点以计算的形式消耗能量以查找某个值。",
+ "proto-danksharding-term": "Proto-Danksharding",
+ "proto-danksharding-definition": "一种新的交易类型,接受以太坊的“二进制大对象”数据。该“二进制大对象”数据在信标链上临时存储 4096 个时段(约 18.2 天),并且可以选择在之后进行削减,以帮助降低节点运营商的硬件要求。",
+ "public-key-term": "公钥",
+ "public-key-definition": "公钥是一组字符,可以让其他人安全地向您发送数字货币,就像可发送金钱的电子邮件地址一样。",
+ "quadratic-voting-term": "二次方投票",
+ "quadratic-voting-definition": "一种投票方法,投票者可以表达他们对问题的强烈感受。它不仅可以让投票者表现出偏好,还可以表现出他们偏好的强烈程度。",
+ "receipt-term": "收据",
+ "receipt-definition": "收据是以太坊客户端返回的数据,用来表示特定交易的结果,其中包含交易的哈希、交易的区块编号、燃料消耗量,如果部署了智能合约,则还会返回该合约的地址。",
+ "recovery-phrase-term": "助记词",
+ "recovery-phrase-definition": "创建数字钱包时向你提供的单词列表。它就像一个密码,可以帮助你在失去访问权限时重新进入钱包,确保你不会丢失数字货币或代币。",
+ "re-entrancy-attack-term": "重入攻击",
+ "re-entrancy-attack-definition": "由攻击者合约调用受害者合约函数组成的攻击,使得在执行过程中受害者再次递归地调用攻击者合约。例如,这可能会导致通过跳过受害者合约中更新余额或计算提款金额的部分来窃取资金。< href=\"/developers/docs/smart-contracts/security/#re-entrancy\">了解有关重入攻击的更多信息。",
+ "reward-term": "奖励",
+ "reward-definition": "在每个时隙奖励给执行某些功能(包括提议区块或参与同步委员会)的验证者的以太币数额。",
+ "rlp-term": "递归长度前缀编码 (RLP)",
+ "rlp-definition": "由以太坊开发人员设计的编码标准,用于对任意复杂度和长度的对象(数据结构)进行编码和序列化。",
+ "rollups-term": "卷叠",
+ "rollups-definition": "一种二层网络扩容解决方案,可批量处理多个交易并在单笔交易中将其提交到以太坊主链。这可以降低燃料成本并增加交易吞吐量。其中有乐观卷叠和零知识卷叠,它们使用不同的安全方法来提供这些扩容能力。了解有关卷叠的更多信息。",
+ "rpc-term": "远程过程调用 (RPC)",
+ "rpc-definition": "远程过程调用允许一台计算机通过网络向另一台计算机请求数据或操作,就像使用遥控器请求信息。",
+ "sha-term": "安全哈希算法 (SHA)",
+ "sha-definition": "由美国国家标准与技术研究院 (NIST) 推出的系列加密哈希函数。",
+ "serialization-term": "序列化",
+ "serialization-definition": "将数据结构转换为字节序列的过程。",
+ "sequencer-term": "排序者",
+ "sequencer-definition": "排序者是一个负责对区块链网络中的交易进行排序的程序,特别是在二层网络扩容解决方案中。",
+ "shard-term": "分片/分片链",
+ "shard-definition": "分片链是整个区块链的离散部分,由验证者子集负责。这最初是以太坊扩容到每秒数百万笔交易的方式,但现在已被快速发展的卷叠扩容所取代。",
+ "sidechain-term": "侧链",
+ "sidechain-definition": "一种扩容解决方案,使用具有不同且通常更快的共识机制的单独链。需要一个链桥将这些侧链连接到主网。卷叠也使用侧链,但它们与主网协作运行。了解有关侧链的更多信息。",
+ "signing-term": "签名",
+ "signing-definition": "以加密方式证明交易已获得特定私钥持有者的批准。",
+ "singleton-term": "单例",
+ "singleton-definition": "一种计算机编程术语,描述只能存在一个实例的对象。",
+ "slasher-term": "罚没者",
+ "slasher-definition": "罚没者是一个扫描认证以寻找可罚没犯罪的实体。罚没被广播到网络,下一个区块提议者将证明添加到区块中。然后,区块提议者会因罚没恶意验证者而获得奖励。",
+ "slot-term": "时隙",
+ "slot-definition": "一段时间(12 秒),在此期间,验证者可以在权益证明系统中提出新区块。时隙可能为空,32 个时隙组成一个时段。了解有关权益证明的更多信息。",
+ "smart-contract-term": "智能合约",
+ "smart-contract-definition": "智能合约是一种程序,可以在区块链上自动执行协议,就像自动执行的数字合约。智能合约简介。",
+ "snark-term": "简洁的非交互式知识论证 (SNARK)",
+ "snark-definition": "SNARK 是“succinct non-interactive argument of knowledge”(简洁的非交互式知识论证)的缩写,是一种零知识证明。了解有关零知识卷叠的更多信息。",
+ "soft-fork-term": "软分叉",
+ "soft-fork-definition": "当共识机制改变时,区块链就会产生分歧。与硬分叉相反,软分叉可以向后兼容;只要未升级的节点遵循新的共识机制,已升级的节点仍可以验证它们创建的区块。",
+ "solidity-term": "Solidity",
+ "solidity-definition": "一种语法与 JavaScript、C++ 或 Java 类似的程序化(命令式)编程语言。是以太坊智能合约最受欢迎和最常用的语言。由 Gavin Wood 博士创造。了解关于 Solidity 的更多信息。",
+ "solidity-inline-assembly-term": "Solidity 内联汇编",
+ "solidity-inline-assembly-definition": "Solidity 程序中的以太坊虚拟机汇编语言。Solidity 对内联汇编的支持使编写某些操作变得更加容易。",
+ "stablecoin-term": "稳定币",
+ "stablecoin-definition": "稳定币是一种加密货币,设计具有稳定的价值,常与一种货币或商品挂钩(如美元),将价格波动降至最小。了解有关稳定币的更多信息。",
+ "staking-term": "权益质押",
+ "staking-definition": "存入一定数量的以太币(你的质押)来成为一名验证者并保护网络。验证者在权益证明的共识模型下检查交易并提议区块。质押能够为符合网络最佳利益的行为提供经济上的激励。你会在履行验证者责任时获得奖励,反之则会损失不同数量的以太币。了解有关以太坊质押的更多信息。",
+ "staking-pool-term": "质押池",
+ "staking-pool-definition": "联合多个以太坊质押者的以太币,用于达到激活一组验证者密钥所需的 32 个以太币。节点运营商使用这些密钥参与共识,区块奖励会被分配给参与贡献的质押者。质押池或委托质押不是以太坊协议原生的,但社区已经构建了很多解决方案。了解有关联合质押的更多信息。",
+ "stark-term": "可扩展的透明知识论证 (STARK)",
+ "stark-definition": "STARK 是“scalable transparent argument of knowledge”(可扩展的透明知识论证)的缩写,是一种零知识证明。了解关于零知识卷叠的更多信息。",
+ "state-term": "状态",
+ "state-definition": "区块链上特定时间点的所有余额和数据的快照,通常指特定区块的状况。",
+ "state-channels-term": "状态通道",
+ "state-channels-definition": "一种二层网络解决方案,在参与者之间设立一条通道,使他们能够以较低的成本自由交易。只有开启或关闭通道的交易才会被发送到主网。这可以实现非常高的交易吞吐量,但必须事先知道参与者的人数并锁定资金。了解有关状态通道的更多信息。",
+ "supermajority-term": "绝对多数",
+ "supermajority-definition": "绝对多数是指确保以太坊安全性的超过 2/3 (66%) 的总质押以太币。要在信标链上最终确定区块,需要绝对多数投票。",
+ "sybil-attack-term": "女巫攻击",
+ "sybil-attack-definition": "女巫攻击是指个人欺骗系统,使系统认为他们是多人以增加他们的影响力。",
+ "syncing-term": "同步",
+ "syncing-definition": "将区块链的完整最新版本下载到节点的过程。",
+ "sync-committee-term": "同步委员会",
+ "sync-committee-definition": "同步委员会是随机选择的一组验证者,每隔 27 小时刷新一次。目的是将他们的签名添加到有效的区块头中。同步委员会使轻客户端能够追踪区块链头而无需访问整个验证者集。",
+ "szabo-term": "Szabo",
+ "szabo-definition": "一种以太币的面额。1 szabo = 1012 wei。106 szabo = 1 个以太币。",
+ "terminal-total-difficulty-term": "终端总难度 (TTD)",
+ "terminal-total-difficulty-definition": "总难度是指区块链中某个特定点之前所有区块的 Ethash 挖矿难度总和。终端总难度是总难度的一个特定值,用于使执行客户端关闭其挖矿和区块广播功能,让网络过渡到权益证明。由于以太坊已过渡到权益证明,便不再相关。",
+ "testnet-term": "测试网",
+ "testnet-definition": "\"Test network\"(测试网络)的缩写,是用于模拟以太坊主网行为的网络。",
+ "token-term": "代币",
+ "token-definition": "以太坊区块链智能合约中定义的可交易虚拟商品。",
+ "transaction-term": "交易",
+ "transaction-definition": "由一个原始帐户>签名并提交到以太坊区块链的数据,以一个特定地址为目标。交易包含元数据,如该交易的燃料限制。了解有关交易的更多信息。",
+ "transaction-fee-term": "交易费",
+ "transaction-fee-definition": "每次使用以太坊网络时需要支付的费用。包括以下示例:从你的钱包发送资金或与去中心化应用程序互动,如交换代币或购买收藏品。可以将其视为一种服务费。费用会根据网络的繁忙情况而异。这是因为验证者(负责处理交易的人)极有可能优先处理费用较高的交易,所以拥塞会使费用增加。
从技术层面来讲,交易费与相应交易所需的燃料相关。
目前,降低交易费是一个非常受人关注的主题。请参阅二层网络。",
+ "trust-assumptions-term": "信任假设",
+ "trust-assumptions-definition": "信任假设是有关系统安全性和可靠性的基本信念,引导我们信任系统以使其正常运作。",
+ "trustlessness-term": "去信任",
+ "trustlessness-definition": "以太坊网络进行交易调解的能力,任何参与方都无需信任第三方。",
+ "turing-complete-term": "图灵完备",
+ "turing-complete-definition": "一个以英国数学家和计算机科学家阿兰·图灵 (Alan Turing) 命名的概念。如果一个数据操作规则系统(例如计算机的指令集、编程语言或细胞自动机),可以用来模拟任何图灵机,就可称其为“图灵完备”或“计算通用”。",
+ "validator-term": "验证者",
+ "validator-definition": "权益证明系统中负责存储数据、处理交易并向区块链添加新区块的节点。激活验证者软件需要能够质押 32 个以太币。了解关于以太坊质押的更多信息。",
+ "validator-lifecycle-term": "验证者生命周期",
+ "validator-lifecycle-definition": "验证者可以出现的状态序列。包括:
- 已存款:验证者已将至少 32 个以太币存入存款合约
- 待处理:验证者在激活队列中,等待现有验证者投票使其进入网络
- 活跃:目前正在证明和提议区块
- 罚没:验证者由于不当行为被罚没
- 退出:验证者被标记为退出网络,无论他们是自愿退出还是被驱逐。
",
+ "validity-proof-term": "有效性证明",
+ "validity-proof-definition": "某些二层网络解决方案的安全模型,用于提高速度。交易被批量汇总为单笔交易并提交到以太坊。交易计算在链下完成,然后同它们的有效性证明一起提交到主链。这种方法在保证安全的情况下提升了交易量。一些卷叠使用欺诈证明。了解有关零知识卷叠的更多信息。",
+ "validium-term": "Validium",
+ "validium-definition": "一种链下解决方案,使用有效性证明提高交易吞吐量。与零知识卷叠不同,Validium 的数据不会存储在一层网络主网上。了解有关 Validium 的更多信息。",
+ "vyper-term": "Vyper",
+ "vyper-definition": "一种语法与 Python 类似的高级编程语言。旨在更接近纯函数式语言。由 Vitalik Buterin 创造。了解有关 Vyper 的更多信息。",
+ "wallet-term": "钱包",
+ "wallet-definition": "钱包是一种用于存储、发送和接收数字货币的数字工具,就像您在线资金的虚拟钱包。了解有关以太坊钱包的更多信息。",
+ "web2-term": "Web2",
+ "web2-definition": "是指当前互联网,专注于由少数公司控制的用户生成内容和社交媒体。Web3 是一种加密信仰,认为用户应该控制自己的数据与交易。",
+ "web3-term": "Web3",
+ "web3-definition": "Web3 是使用区块链的新型互联网,用户而非公司控制自己的数据与交易。也不需要共享任何个人信息。了解有关 Web3 的更多信息。",
+ "wei-term": "Wei",
+ "wei-definition": "以太币的最小面额。1018 wei = 1 个以太币。",
+ "zero-address-term": "零地址",
+ "zero-address-definition": "一个以太坊地址,完全由数字 0 组成,常被用于从自有流通中移除代币。通过 burn() 方法从智能合约的索引正式移除的代币与发送到该地址的代币有所不同。",
+ "zk-proof-term": "零知识证明",
+ "zk-proof-definition": "零知识证明是一种加密方法,使个人能够在不传达任何额外信息的情况下证明某个陈述的真实性。了解有关零知识卷叠的更多信息。",
+ "zk-rollup-term": "零知识卷叠",
+ "zk-rollup-definition": "一种交易卷叠,使用有效性证明提高二层网络交易吞吐量,并通过主网(一层网络)保证其安全性。尽管无法像乐观卷叠一样处理复杂的交易类型,但它们不会出现延迟问题,因为交易在提交时就可以证明其有效。了解有关零知识卷叠的更多信息。"
+}
diff --git a/src/intl/zh/learn-quizzes.json b/src/intl/zh/learn-quizzes.json
index 4d0675d8a69..dde1ac3fe75 100644
--- a/src/intl/zh/learn-quizzes.json
+++ b/src/intl/zh/learn-quizzes.json
@@ -107,15 +107,15 @@
"b004-c-explanation": "该答案部分正确,但这只是以太币的众多用途之一。",
"b004-d-label": "以上全部",
"b004-d-explanation": "以太坊交易不能被审查,以太坊上做任何交易都需要以太币,这对去中心化金融生态系统的稳定性至关重要。",
- "c001-prompt": "Web3 允许用户直接通过以下方式拥有数字资产:",
- "c001-a-label": "去中心化自治组织",
- "c001-a-explanation": "DAO(去中心化自治组织)是没有集中化领导,归成员拥有的社区。",
+ "c001-prompt": "Web3 允许用户通过以下方式拥有数字资产:",
+ "c001-a-label": "代币",
+ "c001-a-explanation": "代币提供了一种表示可相互交换的价值单位的方法,由以太坊帐户持有。虽然代币表示所有权,然而在以太坊上还有更多拥有数字资产的方式。",
"c001-b-label": "非同质化代币(NFTs)",
- "c001-b-explanation": "NFT(非同质化代币)可提供一种方法,能把所有非同质化的东西转化成一种基于以太坊的资产。",
+ "c001-b-explanation": "NFT(非同质化代币)可将任何独有物品表示成基于以太坊的资产。虽然非同质化代币表示所有权,然而在以太坊上还有更多拥有数字资产的方式。",
"c001-c-label": "以太坊域名服务",
- "c001-c-explanation": "ENS(以太坊域名服务)为以太坊区块链提供一种去中心化的域名服务。",
- "c001-d-label": "GitHub",
- "c001-d-explanation": "GitHub 是一个中心化平台,主要通过分布式版本控制来存储代码。GitHub 不允许拥有你的数据或数字资产。",
+ "c001-c-explanation": "ENS(以太坊域名服务)是以太坊区块链上的一种去中心化域名服务。虽然它们表示所有权,然而在以太坊上还有更多拥有数字资产的方式。",
+ "c001-d-label": "以上全部",
+ "c001-d-explanation": "所有的选项都是在以太坊上拥有数字资产的方式。代币、非同质化代币和以太坊域名服务都是表示数字资产所有权的方式。",
"c002-prompt": "Web1 为只读,Web2 为可读可写,Web3 被描述为:",
"c002-a-label": "可读可写可售",
"c002-a-explanation": "Web3 没有以这种方式被描述过。",
@@ -161,15 +161,15 @@
"d001-c-explanation": "网页钱包的安全性低于硬件钱包,因为私钥存储在联网的设备上。",
"d001-d-label": "桌面钱包",
"d001-d-explanation": "桌面钱包把私钥保存在计算机硬盘上,计算机硬盘通常都连接到互联网,因此可能被其他软件盗用。",
- "d002-prompt": "在所提供的选项中,哪一个是存储助记词的最安全方式?",
+ "d002-prompt": "你应该如何存储自己的助词记?",
"d002-a-label": "作为图片保存在手机上",
"d002-a-explanation": "这不是最安全的选择。如果这张照片被上传并存储在云端,黑客就能获得这张图片,那么就能控制你的帐户。",
"d002-b-label": "作为文件保存到电脑上",
"d002-b-explanation": "这不是最安全的选项。黑客越来越喜欢在目标设备上,寻找与加密货币相关的信息。如果黑客找到你文件上的助记词,那他们就能控制你的帐户。",
- "d002-c-label": "写在纸上",
- "d002-c-explanation": "在所提供的选项中,最安全的方式就是在纸上写下你的助记词。",
- "d002-d-label": "编辑为短信发给信任的家人",
- "d002-d-explanation": "你绝不应该将你的助记词以短信形式发给任何人。该信息可能被第三方截获,即使你绝对相信这个人,但你不知道谁可以访问他们的手机。",
+ "d002-c-label": "编辑为短信发给可信的家人",
+ "d002-c-explanation": "你绝不应该将你的助记词以短信形式发给任何人。该信息可能被第三方截获,即使你绝对相信这个人,但你不知道谁可以访问他/她的手机。",
+ "d002-d-label": "以上都不是",
+ "d002-d-explanation": "你的助词记应以一种安全的方式存储,最好是离线存储。鉴于这个原因,通常建议将其写在纸上,但使用安全密码管理器也是一种不错的选择。",
"d003-prompt": "你应该把你的助记词/私钥给谁?",
"d003-a-label": "你正打算付款的对象",
"d003-a-explanation": "你绝不应把你的助记词或私钥给任何人,而应该通过交易向收款方的钱包地址发送代币。",
@@ -269,11 +269,11 @@
"g002-d-explanation": "为了扩容,大多数同类一层网络舍弃了安全性以及去中心化。",
"g003-prompt": "以下哪一项不被视为二层网络?",
"g003-a-label": "Validium",
- "g003-a-explanation": "Validium 不被视为二层网络解决方案,因为它没有从以太坊获得安全性或数据可用性。",
+ "g003-a-explanation": "Validium 不被视为二层网络解决方案,因为它没有从以太坊获得安全性或数据可用性。这不是唯一的正确答案。",
"g003-b-label": "侧链。",
- "g003-b-explanation": "侧链不被视为二层网络解决方案,因为它没有从以太坊获得安全性或数据可用性。",
+ "g003-b-explanation": "侧链不被视为二层网络解决方案,因为它没有从以太坊获得安全性或数据可用性。这不是唯一的正确答案。",
"g003-c-label": "其他一层网络区块链",
- "g003-c-explanation": "其他一层网络区块链不被视为二层网络解决方案。",
+ "g003-c-explanation": "其他一层网络区块链不被视为二层网络解决方案。这不是唯一的正确答案。",
"g003-d-label": "以上都对。",
"g003-d-explanation": "Validium、侧链以及其他一层网络区块链都不被视为二层网络解决方案,因为它们没有从以太坊获得安全性或数据可用性。",
"g004-prompt": "为什么以太坊没有一个“官方版”的二层网络?",
@@ -326,6 +326,51 @@
"h005-c-explanation": "“以太坊 1”是执行层原来的名称,而不是共识层的。",
"h005-d-label": "权益质押",
"h005-d-explanation": "质押是指将以太币存入智能合约,帮助保护区块链的安全。",
+ "i001-prompt": "关于去中心化自治组织的说法哪些是对的?",
+ "i001-a-label": "去中心化自治组织是基于治理代币的集体所有制组织",
+ "i001-a-explanation": "去中心化自治组织是集体所有制组织,但这只说对了一部分。",
+ "i001-b-label": "它们是由成员共同治理的",
+ "i001-b-explanation": "去中心化自治组织是成员共同治理的,但这只说对了一部分。",
+ "i001-c-label": "它们为共同的使命而努力",
+ "i001-c-explanation": "去中心化自治组织为共同的使命而努力,但这只说对了一部分。",
+ "i001-d-label": "以上全部",
+ "i001-d-explanation": "正确的说法是,去中心化自治组织是一个由区块链治理的集体所有制组织,致力于实现共同的使命。",
+ "i002-prompt": "有哪些如何使用去中心化自治组织的实例?",
+ "i002-a-label": "去中心化协议,成员对协议事项或产品如何开发进行投票",
+ "i002-a-explanation": "协议去中心化自治组织就是一个例子,但是去中心化自治组织的应用范围并不局限于此。",
+ "i002-b-label": "集体所有权,例如共同拥有非同质化代币或实物资产",
+ "i002-b-explanation": "收藏家去中心化自治组织就是一个例子,但是去中心化自治组织的应用范围并不局限于此。",
+ "i002-c-label": "风险投资和资助,共用资本,并对资助项目投票",
+ "i002-c-explanation": "风险投资或资助去中心化自治组织就是一个例子,但是去中心化自治组织的应用范围并不局限于此。",
+ "i002-d-label": "以上全部",
+ "i002-d-explanation": "去中心化自治组织可以有多种“使命”。",
+ "i003-prompt": "不同于传统组织,去中心化自治组织…",
+ "i003-a-label": "通常等级鲜明",
+ "i003-a-explanation": "去中心化自治组织通常是扁平化的,并且是完全民主的。",
+ "i003-b-label": "他们的活动是透明的,并且完全公开",
+ "i003-b-explanation": "因为采用了链上投票机制,区块链上的决策都是透明的。讨论和决策过程中涉及的其他要素都对所有成员公开。",
+ "i003-c-label": "由核心团队掌控",
+ "i003-c-explanation": "变更需要由成员投票决定。提供的服务以一种去中心化的方式自动处理。",
+ "i003-d-label": "对于谁能提议变更有限制",
+ "i003-d-explanation": "通常,每位去中心化自治组织的成员都能提议变更。",
+ "i004-prompt": "对于去中心化自治组织,智能合约的哪些方面是至关重要的?",
+ "i004-a-label": "智能合约的代码可以修改",
+ "i004-a-explanation": "一旦智能合约在以太坊上线,除了通过投票,无人能变更规则。这样,去中心化自治组织就可以按照为其设定的规则运行。",
+ "i004-b-label": "智能合约有一个独立的所有者,拥有进行变更以及从资金库中分配资金的权力。",
+ "i004-b-explanation": "资金库是由智能合约限定的。为了能使用其中的资金,获得组织的批准是必不可少的。",
+ "i004-c-label": "对底层区块链的分布式共识的信任",
+ "i004-c-explanation": "底层区块链不能被操纵,这对去中心化自治组织而言至关重要。以太坊自身的共识是分布式的,并且已经深入人心,组织可以信任这个网络。",
+ "i004-d-label": "去中心化自治组织不需要智能合约",
+ "i004-d-explanation": "智能合约是去中心化自治组织的基础,它定义了组织的规则并持有组织的资产。",
+ "i005-prompt": "什么不是去中心化自治组织的治理机制?",
+ "i005-a-label": "基于代币的成员资格",
+ "i005-a-explanation": "基于代币的治理模式得到广泛应用。这种模式通常完全无需许可,并且通常用于管理广泛的去中心化协议和/或代币本身。",
+ "i005-b-label": "基于份额的成员资格",
+ "i005-b-explanation": "基于共享的去中心化自治组织则更加需要许可,但仍然相当开放。任何潜在成员都能提交加入去中心化自治组织的提议,与此同时还要提供有价值的贡献,例如持有代币或进行工作。",
+ "i005-c-label": "基于信誉的成员资格",
+ "i005-c-explanation": "与基于代币或基于共享的成员资格不同,基于名誉的去中心化自治组织不会将所有权移交给贡献者。去中心化自治组织的成员必须通过参与活动来赢得名誉。",
+ "i005-d-label": "执行委员会和链下资产管理",
+ "i005-d-explanation": "这种方式采用高度集中且不透明的治理机制。与此相反,去中心化自治组织采用可验证的投票机制以及链上资产管理,来确保透明度和问责制。",
"j001-prompt": "以下哪些关于罚没的表述是正确的?",
"j001-a-label": "离线时受处罚,重新上线后恢复奖励",
"j001-a-explanation": "离线不会导致罚没。离线会受到轻微处罚,当验证者再次上线并恢复认证时,奖励就会恢复。",
@@ -479,4 +524,4 @@
"l006-a-label": "正确",
"l006-a-explanation": "仅仅运行客户端软件无法赚取奖励。要想赚取奖励,你还必须进行质押。",
"l006-b-label": "错误"
-}
\ No newline at end of file
+}
diff --git a/src/intl/zh/page-bug-bounty.json b/src/intl/zh/page-bug-bounty.json
index a8e890979aa..6f101cb541b 100644
--- a/src/intl/zh/page-bug-bounty.json
+++ b/src/intl/zh/page-bug-bounty.json
@@ -3,7 +3,7 @@
"page-upgrades-bug-bounty-annotations": "查看以下注释可能会有所帮助:",
"page-upgrades-bug-bounty-client-bugs": "客户端漏洞",
"page-upgrades-bug-bounty-client-bugs-desc": "客户端运行以太坊网络,它们需要遵循规范中规定的逻辑并确保安全防范潜在的攻击。我们想要找出与实施协议相关的漏洞。",
- "page-upgrades-bug-bounty-client-bugs-desc-2": "目前,执行层客户端(Besu、Erigon、Geth 和 Nethermind)和共识层客户端(Lighthouse、Lodestar、Nimbus、Teku 和 Prysm)都被列入漏洞悬赏计划。在完成审计并且可用于生产环境后,更多的客户端会加入进来。当前,c-kzg-4844 和 go-kzg-4844 也列入漏洞悬赏计划。",
+ "page-upgrades-bug-bounty-client-bugs-desc-2": "目前执行层客户端(Besu、Erigon、Geth、Nethermind、Reth)和共识层客户端(Lighthouse、Lodestar、Nimbus、Teku 和 Prysm)都被列入漏洞奖金计划。当它们完成审计并且可用于生产环境后,更多的客户端会加入进来。",
"page-upgrades-bug-bounty-clients": "参与悬赏计划的客户端",
"page-upgrades-bug-bounty-clients-type-1": "规范不兼容问题",
"page-upgrades-bug-bounty-clients-type-2": "意外崩溃、远程代码执行或拒绝服务 (DOS) 漏洞",
@@ -13,6 +13,8 @@
"page-upgrades-bug-bounty-misc-bugs-desc-2": "Solidity 不对编译不信任输入提供安全保证 - 而且针对 solc 编译器在编译恶意生成的数据时出现崩溃,我们不会提供奖励。",
"page-upgrades-bug-bounty-deposit-bugs": "存款合约漏洞",
"page-upgrades-bug-bounty-deposit-bugs-desc": "信标链存款合约的规范和源代码涵盖在漏洞悬赏计划中。",
+ "page-upgrades-bug-bounty-dependency-bugs": "依赖关系错误",
+ "page-upgrades-bug-bounty-dependency-bugs-desc": "某些依赖关系对于以太坊网络的运行至关重要,其中一些已被添加到漏洞赏金计划中。目前,漏洞赏金计划中包含的依赖项列表是 C-KZG-4844 和 Go-KZG-484。",
"page-upgrades-bug-bounty-docking": "合并",
"page-upgrades-bug-bounty-email-us": "发电子邮件给我们:",
"page-upgrades-bug-bounty-help-links": "有用链接",
@@ -69,10 +71,10 @@
"page-upgrades-bug-bounty-type-4": "计算或参数不一致",
"page-upgrades-bug-bounty-types": "漏洞类型",
"page-upgrades-bug-bounty-validity": "适用范围",
- "page-upgrades-bug-bounty-validity-desc": "我们的漏洞悬赏计划涵盖所有环节:从协议的可靠性(如区块链共识模型、线路协议和点对点网络协议、权益证明等)及协议/实现是否符合规到网络安全和共识完整性。传统的客户端安全性以及加密基元的安全性也在该计划范围内。如有疑问,请发送电子邮件至 bounty@ethereum.org 向我们询问。",
+ "page-upgrades-bug-bounty-validity-desc": "我们的漏洞赏金计划涵盖端到端:从协议的健全性(例如区块链共识模型、有线和对等网络协议、权益证明等)和协议/实现合规性到网络安全和共识完整性。经典的客户端安全性以及加密原语的安全性也是该计划的一部分。如有疑问,请发送电子邮件至 bounty@ethereum.org 并询问我们。你还可以直接向 bounty@ethereum.org 提交披露/漏洞,在这种情况下,我们要求你使用我们的 PGP 密钥为信息加密",
"page-upgrades-bug-bounty-card-critical": "高危",
"page-upgrades-bug-bounty-card-critical-risk": "提交高危风险漏洞",
- "page-upgrades-bug-bounty-card-h2": "中",
+ "page-upgrades-bug-bounty-card-h2": "Medium",
"page-upgrades-bug-bounty-card-high": "高",
"page-upgrades-bug-bounty-card-high-risk": "提交高风险漏洞",
"page-upgrades-bug-bounty-card-label-1": "最多 1,000 积分",
diff --git a/src/intl/zh/page-contributing-translation-program-acknowledgements.json b/src/intl/zh/page-contributing-translation-program-acknowledgements.json
index e97516ce512..c22ae7dd890 100644
--- a/src/intl/zh/page-contributing-translation-program-acknowledgements.json
+++ b/src/intl/zh/page-contributing-translation-program-acknowledgements.json
@@ -28,15 +28,15 @@
"page-contributing-translation-program-acknowledgements-translator": "翻译人员",
"page-contributing-translation-program-acknowledgements-language": "语言",
"page-contributing-translation-program-acknowledgements-total-words": "总字数",
- "page-contributing-translation-program-acknowledgements-oats-title": "POAP 徽章",
- "page-contributing-translation-program-acknowledgements-1": "我们所有的翻译人员都有资格获得 POAP(出席证明协议)– 这是一种非同质化代币,证明他们参与了 ethereum.org 翻译计划。",
- "page-contributing-translation-program-acknowledgements-2": "我们根据翻译人员的活跃度,为他们提供了一些不同的 POAP 徽章",
- "page-contributing-translation-program-acknowledgements-3": "如果你在 Crowdin 为翻译工作做出了贡献,我们会给你发放 POAP 徽章。",
+ "page-contributing-translation-program-acknowledgements-oats-title": "OAT",
+ "page-contributing-translation-program-acknowledgements-1": "参与翻译计划的贡献者将有资格获得不同的 OAT(链上成就代币),这是一种非同质化代币,用于证明你在 ethereum.org 翻译计划中的参与情况。",
+ "page-contributing-translation-program-acknowledgements-2": "我们根据翻译人员的活跃度,提供了多种不同的链上成就代币",
+ "page-contributing-translation-program-acknowledgements-3": "如果你在 Crowdin 上为翻译工作做出了贡献,你将获得一枚链上成就代币!",
"page-contributing-translation-program-acknowledgements-how-to-claim-title": "如何领取",
"page-contributing-translation-program-acknowledgements-how-to-claim-1": "加入我们",
"page-contributing-translation-program-acknowledgements-how-to-claim-1-discord": "Discord 服务器",
- "page-contributing-translation-program-acknowledgements-how-to-claim-2": "在 #🥇 | poaps 频道中粘贴指向你的 Crowdin 帐户的链接。",
- "page-contributing-translation-program-acknowledgements-how-to-claim-3": "等待我们的团队成员向你发送 POAP 徽章领取链接。",
- "page-contributing-translation-program-acknowledgements-how-to-claim-4": "领取你的 POAP 徽章!",
- "page-contributing-translation-program-acknowledgements-4": "你应该只使用自我保管的钱包来领取 POAP 徽章。不要使用交易所帐户或其他你不持有私钥的帐户,因为这些帐户将不允许你访问和管理你的 POAP 徽章。"
+ "page-contributing-translation-program-acknowledgements-how-to-claim-2": "将你的 Crowdin 帐户链接粘贴到 #🥇 | proof-of-contribution 频道。",
+ "page-contributing-translation-program-acknowledgements-how-to-claim-3": "等待我们团队的成员为你分配领取链上成就代币所需的角色。",
+ "page-contributing-translation-program-acknowledgements-how-to-claim-4": "领取你的链上成就代币!",
+ "page-contributing-translation-program-acknowledgements-4": "你只能使用自我保管的钱包来领取链上成就代币。请勿使用交易所帐户或你未持有私钥的其他帐户,因为这些帐户将不允许你访问和管理链上成就代币。"
}
diff --git a/src/intl/zh/page-contributing-translation-program-contributors.json b/src/intl/zh/page-contributing-translation-program-contributors.json
index be212c9ef89..ee496fb062b 100644
--- a/src/intl/zh/page-contributing-translation-program-contributors.json
+++ b/src/intl/zh/page-contributing-translation-program-contributors.json
@@ -4,7 +4,7 @@
"page-contributing-translation-program-contributors-our-translators-1": "社区是 ethereum.org 翻译计划的核心。",
"page-contributing-translation-program-contributors-our-translators-2": "由于有成千上万的社区成员为我们的项目提供翻译,因此很难对每个人表示感谢。",
"page-contributing-translation-program-contributors-our-translators-3": "所有翻译人员都是根据他们在 Crowdin 中选择的名字按字母顺序排列的。如果你是一名翻译人员,并希望使用你的真实姓名、昵称、ENS域名等,你可以在 Crowdin 中更改你的全名。",
- "page-contributing-translation-program-contributors-meta-title": "我们的译文",
+ "page-contributing-translation-program-contributors-meta-title": "我们的翻译人员",
"page-contributing-translation-program-contributors-meta-description": "我们的翻译贡献者列表。",
"page-contributing-translation-program-contributors-number-of-contributors": "贡献者数量:"
}
diff --git a/src/intl/zh/page-dapps.json b/src/intl/zh/page-dapps.json
index 4bf4f272a17..1b7664f0ba7 100644
--- a/src/intl/zh/page-dapps.json
+++ b/src/intl/zh/page-dapps.json
@@ -41,6 +41,7 @@
"page-dapps-choose-category": "选择分类",
"page-dapps-category-social": "社交媒体",
"page-dapps-category-content": "内容",
+ "page-dapps-category-community": "社区",
"page-dapps-category-messaging": "消息",
"page-dapps-category-identity": "身份",
"page-dapps-collectibles-benefits-1-description": "当艺术作品在以太坊上被数字化为代币(Token)之后,这件艺术作品的所有权将会被大家有目共睹,你可以追踪这件艺术作品从创作者到现持有人的全部历程。这样可以防止山寨。",
@@ -95,6 +96,7 @@
"page-dapps-dapp-description-loopring": "点对点交易平台,为速度而生。",
"page-dapps-dapp-description-marble-cards": "创建和交易独特的基于URL的数字卡。",
"page-dapps-dapp-description-matcha": "搜索多个交易所,帮你找到最佳价格。",
+ "page-dapps-dapp-description-meeds": "去中心化工作时代的 Web3 社区中心。公平、透明地奖励重要的贡献。",
"page-dapps-dapp-description-mirror": "Mirror 基于 Web3 构建面向 Web3 的强大发布平台,拓展了在线写作的界限",
"page-dapps-dapp-description-multichain": "Web3 的终极路由器,是一种为任意跨链交互而开发的基础设施。",
"page-dapps-dapp-description-nifty-gateway": "在区块链上购买顶级艺术家、运动员、品牌和创作者的作品。",
@@ -113,6 +115,7 @@
"page-dapps-dapp-description-rotki": "开源投资组合跟踪、分析、会计和税务报告工具,会尊重你的隐私。",
"page-dapps-dapp-description-krystal": "一个可访问所有你最欢的去中心化金融服务的一站式平台。",
"page-dapps-dapp-description-rarible": "创建、出售和购买代币化的收藏品。",
+ "page-dapps-dapp-description-request-finance": "针对发票、工资单和费用的金融工具套装。",
"page-dapps-dapp-description-rubic": "面向用户和去中心化应用程序的跨链技术聚合器。",
"page-dapps-dapp-description-sablier": "实时流转资金。",
"page-dapps-dapp-description-spatial": "创建自己的自定义头像和 3D 世界",
@@ -217,6 +220,7 @@
"page-dapps-marble-cards-logo-alt": "marble.cards徽标",
"page-dapps-async-logo-alt": "Async 徽标",
"page-dapps-matcha-logo-alt": "Matcha徽标",
+ "page-dapps-meeds-logo-alt": "Meeds 徽标",
"page-dapps-metaverse-benefits-title": "元宇宙",
"page-dapps-metaverse-benefits-description": "以太坊为什么能让元宇宙蓬勃发展?",
"page-dapps-metaverse-benefits-1-title": "非同质化代币",
@@ -241,6 +245,7 @@
"page-dapps-ready-button": "出发",
"page-dapps-ready-description": "选择一个去中心化应用程序来尝试",
"page-dapps-ready-title": "准备好了吗?",
+ "page-dapps-request-finance-logo-alt": "请求金融图标",
"page-dapps-rubic-logo-alt": "Rubic 徽标",
"page-dapps-sablier-logo-alt": "Sablier徽标",
"page-dapps-set-up-a-wallet-button": "查找钱包",
@@ -281,5 +286,7 @@
"page-dapps-dapp-description-dodo": "DODO 是一个链上流动性提供商,它采用的是主动做市商算法 (PMM)",
"page-dapps-dodo-image-alt": "DODO 徽标",
"page-dapps-dapp-description-artblocks": "Art Blocks 致力于让精彩的当代生成艺术作品栩栩如生",
- "page-dapps-artblocks-image-alt": "Art Blocks 徽标"
+ "page-dapps-artblocks-image-alt": "Art Blocks 徽标",
+ "page-dapps-explore-title": "想要浏览更多应用程序吗?",
+ "page-dapps-explore": "查看数百个去中心化应用程序"
}
diff --git a/src/intl/zh/page-developers-docs.json b/src/intl/zh/page-developers-docs.json
index d28ed999f91..54ae60d3709 100644
--- a/src/intl/zh/page-developers-docs.json
+++ b/src/intl/zh/page-developers-docs.json
@@ -20,6 +20,7 @@
"docs-nav-data-and-analytics": "数据和分析",
"docs-nav-data-and-analytics-description": "区块链数据如何汇总、组织并实施到 dapp 中",
"docs-nav-data-availability": "数据可用性",
+ "docs-nav-data-availability-storage-strategies": "区块链数据存储策略",
"docs-nav-dart": "Dart",
"docs-nav-delphi": "Delphi",
"docs-nav-deploying-smart-contracts": "部署智能合约",
@@ -30,6 +31,7 @@
"docs-nav-development-frameworks-description": "方便以太坊开发的工具",
"docs-nav-development-networks": "开发网络",
"docs-nav-development-networks-description": "用于在部署前测试 dapp 的本地区块链环境",
+ "docs-nav-dex-design-best-practice": "去中心化交易所 (DEX) 设计最佳做法",
"docs-nav-dot-net": ".NET",
"docs-nav-erc-20": "ERC-20:同质化代币",
"docs-nav-erc-721": "ERC-721:非同质化代币 (NFT)",
@@ -45,6 +47,7 @@
"docs-nav-gas": "Gas费用",
"docs-nav-gas-description": "交易处理所需的算力,由交易汇款人使用 ETH 支付",
"docs-nav-golang": "Golang",
+ "docs-nav-heuristics-for-web3": "Web3 启发法",
"docs-nav-integrated-development-environments-ides": "集成开发环境 (IDE)",
"docs-nav-integrated-development-environments-ides-description": "写入 dapp 代码的最佳环境",
"docs-nav-intro-to-dapps": "去中心化应用程序简介",
diff --git a/src/intl/zh/page-developers-index.json b/src/intl/zh/page-developers-index.json
index a4c64d82d4f..33a0eebf075 100644
--- a/src/intl/zh/page-developers-index.json
+++ b/src/intl/zh/page-developers-index.json
@@ -44,7 +44,7 @@
"page-developers-language-desc": "使用熟悉语言的以太坊",
"page-developers-languages": "编程语言",
"page-developers-learn": "学习以太坊开发",
- "page-developers-learn-desc": "阅读我们的相关文档,了解核心概念和以太坊堆栈",
+ "page-developers-learn-desc": "阅读我们的相关文档,了解核心概念和以太坊堆栈。",
"page-developers-learn-tutorials": "通过教程学习",
"page-developers-learn-tutorials-cta": "查看教程",
"page-developers-learn-tutorials-desc": "已经做过以太坊开发的构建者一步一步地引导你学习以太坊开发。",
@@ -71,6 +71,8 @@
"page-developers-setup-desc": "通过配置开发环境使你的堆栈准备好构建。",
"page-developers-smart-contracts-desc": "去中心化应用程序背后的逻辑 — 自动执行协议",
"page-developers-smart-contracts-link": "智能合约",
+ "page-developers-speedrunethereum-title": "基于以太坊的开发实践来学习所有最重要的概念",
+ "page-developers-speedrunethereum-link": "SpeedRun 以太坊",
"page-developers-stack": "堆栈",
"page-developers-start": "开始试用",
"page-developers-start-desc": "想先尝试,稍后提问?",
diff --git a/src/intl/zh/page-developers-learning-tools.json b/src/intl/zh/page-developers-learning-tools.json
index 70a8cf51664..cd1b47fbcae 100644
--- a/src/intl/zh/page-developers-learning-tools.json
+++ b/src/intl/zh/page-developers-learning-tools.json
@@ -6,6 +6,10 @@
"page-learning-tools-browse-docs": "浏览文档",
"page-learning-tools-capture-the-ether-description": "Capture the Ether 是一款在破解智能合约的过程中学习其安全性的游戏。",
"page-learning-tools-capture-the-ether-logo-alt": "Capture the Ether 徽标",
+ "page-learning-tools-node-guardians-description": "Node Guardians 是一个游戏化教育平台,以沉浸式的奇幻主题探索助力 Web3 开发者掌握 Solidity、Cairo、Noir 和 Huff 编程。",
+ "page-learning-tools-node-guardians-logo-alt": "Node Guardians 徽标",
+ "page-learning-tools-chainshot-description": "有教师指导的远程以太坊开发者训练营和其他课程。",
+ "page-learning-tools-chainshot-logo-alt": "ChainShot徽标",
"page-learning-tools-coding": "通过编码来学习",
"page-learning-tools-coding-subtitle": "如果你更喜欢在互动中学习,这些工具会帮你实践理解以太坊。",
"page-learning-tools-consensys-academy-description": "线上以太坊开发者训练营。",
@@ -14,6 +18,8 @@
"page-learning-tools-buildspace-logo-alt": "_buildspace 徽标",
"page-learning-tools-cryptozombies-description": "学习Solidity,开发你自己的僵尸游戏。",
"page-learning-tools-cryptozombies-logo-alt": "CryptoZombies徽标",
+ "page-learning-tools-dapp-world-description": "一个提升区块链技能的生态系统,包含了课程、测验、实践操作和每周竞赛。",
+ "page-learning-tools-dapp-world-logo-alt": "Dapp World 徽标",
"page-learning-tools-documentation": "通过文档学习",
"page-learning-tools-documentation-desc": "想了解更多?请查阅我们的文档,找到你需要的解释。",
"page-learning-tools-eth-dot-build-description": "一个web3的教育沙箱,包括拖放编程和开源构建块。",
@@ -26,10 +32,12 @@
"page-learning-tools-game-tutorials-desc": "边玩边学。这些教程会让你通过玩游戏来了解基本知识。",
"page-learning-tools-meta-desc": "基于网络的编码工具和交互式学习体验,帮助你体验以太坊的开发。",
"page-learning-tools-meta-title": "开发者学习工具",
+ "page-learning-tools-atlas-logo-alt": "Atlas 徽标",
+ "page-learning-tools-atlas-description": "使用 Atlas IDE 在几分钟内编写、测试并部署智能合约。",
"page-learning-tools-questbook-description": "构建以下内容,通过自定义进度的教程来学习 Web 3.0",
"page-learning-tools-questbook-logo-alt": "Questbook 徽标",
"page-learning-tools-remix-description": "开发、部署和管理以太坊智能合约。安装 LearnEth 插件,参考其中的教程。",
- "page-learning-tools-remix-description-2": "Remix、Replit 和 Replit 不仅仅是沙盒 — 开发者可以使用它们编写、编译和部署智能合约。",
+ "page-learning-tools-remix-description-2": "Remix、Replit、ChainIDE 和 Atlas 不仅仅是沙盒环境 — 开发者还能够使用这些工具来编写、编译和部署智能合约。",
"page-learning-tools-replit-description": "一个可定制的以太坊开发环境,具有热重载、错误检查和一流的测试网支持。",
"page-learning-tools-chainIDE-description": "借助 ChainIDE 为以太坊编写智能合约,开始你的 Web3 之旅。使用内置模板学习并节省时间。",
"page-learning-tools-chainIDE-logo-alt": "ChainIDE 徽标",
@@ -46,6 +54,8 @@
"page-learning-tools-vyperfun-logo-alt": "Vyper.fun徽标",
"page-learning-tools-nftschool-description": "从技术层面探索非同质化代币(NFT)的进展。",
"page-learning-tools-nftschool-logo-alt": "NFT school 徽标",
+ "page-learning-tools-pointer-description": "通过有趣的交互式教程学习 web3 开发技能。在学习过程中一路赚取加密货币奖励。",
+ "page-learning-tools-pointer-logo-alt": "指针标志",
"page-learning-tools-platzi-description": "了解如何在 Web3 上构建去中心化应用程序,掌握成为区块链开发者所需的所有技能。",
"page-learning-tools-platzi-logo-alt": "Platzi 徽标",
"page-learning-tools-alchemy-university-description": "学习课程、项目和代码,发展你的 Web3 职业生涯。",
diff --git a/src/intl/zh/page-developers-local-environment.json b/src/intl/zh/page-developers-local-environment.json
index 70d60404fd6..0a50607b7d7 100644
--- a/src/intl/zh/page-developers-local-environment.json
+++ b/src/intl/zh/page-developers-local-environment.json
@@ -30,6 +30,8 @@
"page-local-environment-setup-title": "设置你的本地开发环境",
"page-local-environment-solidity-template-desc": "一个GitHub模板,用于为Solidity智能合约预构建设置。包括一个安全帽本地网络,用于测试的华夫饼,用于钱包实现的以太等等。",
"page-local-environment-solidity-template-logo-alt": "Solidity template徽标",
+ "page-local-environment-truffle-desc": "Truffle Suite让开发者尽可能轻松地获取开发应用的主意。",
+ "page-local-environment-truffle-logo-alt": "Truffle徽标",
"page-local-environment-waffle-desc": "智能合约最先进的测试版块。单独使用或使用Scaffold-eth或安全帽。",
"page-local-environment-waffle-logo-alt": "Waffle徽标"
}
diff --git a/src/intl/zh/page-layer-2.json b/src/intl/zh/page-layer-2.json
index 252a08f3b70..8ccadcb0979 100644
--- a/src/intl/zh/page-layer-2.json
+++ b/src/intl/zh/page-layer-2.json
@@ -90,6 +90,7 @@
"layer-2-tools-title": "助你提升二层网络效率的工具",
"layer-2-tools-l2beat-description": "L2BEAT 是二层网络项目技术风险评估的一个重要资源。我们建议在研发特定的二层网络项目时查阅他们的资料。",
"layer-2-tools-growthepie-description": "关于以太坊二层网络的精选分析",
+ "layer-2-tools-ethereumecosystem-description": "以太坊及其二层网络(包括 Base、Optimism 和 Starknet)的非官方生态系统页面,其中包含数百个去中心化应用程序和工具。",
"layer-2-tools-l2fees-description": "二层网络费用使你能够看到当前在不同二层网络进行交易所需的费用(以美元计价)。",
"layer-2-tools-chainlist-description": "区块链列表 (Chainlist) 是一个实用的资源,用于将网络远程过程调用 (RPC) 导入到支持的钱包中。你将在这里找到二层网络项目的远程过程调用,以帮助你建立连接。",
"layer-2-tools-zapper-description": "从去中心化金融到非同质化代币以及任何未来的资产,全面管理你的整个 Web 3 资产组合。从一个便捷的位置投资于最新的商机。",
@@ -124,7 +125,7 @@
"boba-description": "Boba 是最初从乐观卷叠分叉而来的乐观卷叠链,它是一种旨在降低铸币费用,提高交易吞吐量,并扩展智能合约能力的扩容解决方案。",
"base-description": "Base 是一个安全、低成本、对开发者友好的以太坊二层网络,致力于把十亿新用户带入 web3。它是以太坊二层网络,由 Coinbase 孵化,建立在开源 OP 堆栈上。",
"loopring-description": "Loopring 的零知识卷叠二层网络解决方案旨在提供与以太坊主链相同的安全保障,并大规模提升可扩展性:交易吞吐量增加 1000 倍,交易费用降至一层网络 0.1%。",
- "zksync-description": "ZKsync 是由 Matter Labs 推出的以用户为中心的零知识卷叠平台。它是以太坊的扩容解决方案,已经在以太坊主链上线,支持付款、代币交换和非同质化代币挖矿。",
+ "zksync-description": "Zksync 是一个零知识卷叠,旨在将以太坊及其价值扩展到主流采用,而不削弱安全性或去中心化。",
"zkspace-description": "ZKSpace 平台由三个主要部分组成:利用零知识卷叠技术建立的二层自动化做市商,名为 ZKSwap;名为 ZKSquare 的支付服务,以及名为 ZKSea 的非同质化代币市场。",
"aztec-description": "Aztec Network 是以太坊上的第一个私有零知识卷叠,使去中心化应用程序能够访问隐私并扩展。",
"starknet-description": "Starknet 是有效性卷叠二层网络。它提供高吞吐量、低燃料成本并保留以太坊一层网络的安全级别。",
@@ -132,5 +133,7 @@
"layer-2-ecosystem-portal": "生态系统相关门户网站",
"layer-2-token-lists": "代币列表",
"layer-2-explore": "探索",
- "page-dapps-ready-button": "出发"
+ "page-dapps-ready-button": "出发",
+ "layer-2-information": "信息",
+ "layer-2-wallet-managers": "钱包管理器"
}
diff --git a/src/intl/zh/page-stablecoins.json b/src/intl/zh/page-stablecoins.json
index 88d9119cb91..0b6726b0b1a 100644
--- a/src/intl/zh/page-stablecoins.json
+++ b/src/intl/zh/page-stablecoins.json
@@ -163,5 +163,6 @@
"makerdao-logo": "MakerDao 徽标",
"matcha-logo": "Matcha徽标",
"summerfi-logo": "Summer.fi 徽标",
- "uniswap-logo": "Uniswap徽标"
+ "uniswap-logo": "Uniswap徽标",
+ "page-stablecoins-go-to": "前往"
}
diff --git a/src/intl/zh/page-staking.json b/src/intl/zh/page-staking.json
index 84dff2e2204..360408363c7 100644
--- a/src/intl/zh/page-staking.json
+++ b/src/intl/zh/page-staking.json
@@ -152,7 +152,7 @@
"page-staking-launchpad-widget-mainnet-label": "主网",
"page-staking-launchpad-widget-mainnet-start": "开始在主网上质押",
"page-staking-launchpad-widget-span": "选择网络",
- "page-staking-launchpad-widget-p1": "在承担资金风险之前,单独验证者可能会在 Holesky 测试网上测试他们的设置和操作技能。记住,请务必选择非主流客户端,因为非主流客户端可以提高网络的安全性并限制你的风险。",
+ "page-staking-launchpad-widget-p1": "独立验证者在冒险投入资金之前,应该在 Holesky 测试网上测试其设置和运营技能。请记住选择非主流客户端非常重要,因为它能提升网络的安全性并减少你的风险。",
"page-staking-launchpad-widget-p2": "如果你熟悉相关技能,你可以独自使用 Staking Launchpad,通过命令行来设置所需要的一切。",
"page-staking-launchpad-widget-p3": "为了让事情变得更简单,请查看下面的一些工具和指南,它们可以帮助你使用 Staking Launchpad 轻松设置客户端。",
"page-staking-launchpad-widget-link": "软件工具和指南",
@@ -229,5 +229,8 @@
"page-staking-withdrawals-important-notices": "重要通知",
"page-staking-withdrawals-important-notices-desc": "目前还不能提款。请阅读以太坊 2 合并和合并后常见问题,了解更多信息。",
"page-upgrades-merge-btn": "关于合并的更多信息",
- "subscribe-to-ef-blog": "订阅以太坊基金会博客以接收最新协议公告的电子邮件通知。"
+ "subscribe-to-ef-blog": "订阅以太坊基金会博客以接收最新协议公告的电子邮件通知。",
+ "page-staking-comparison-with-other-options": "与其他选项比较",
+ "page-staking-any-amount": "任意金额",
+ "page-staking-testnet": "测试网"
}
diff --git a/src/intl/zh/page-what-is-ethereum.json b/src/intl/zh/page-what-is-ethereum.json
index e7938aaaac6..f9e18f1c2b8 100644
--- a/src/intl/zh/page-what-is-ethereum.json
+++ b/src/intl/zh/page-what-is-ethereum.json
@@ -3,7 +3,7 @@
"page-what-is-ethereum-alt-img-comm": "插图:以太坊社区成员一起工作",
"page-what-is-ethereum-alt-img-lego": "插图:一只正在搭建乐高版ETH徽标的手",
"page-what-is-ethereum-banking-card": "属于所有人的银行服务",
- "page-what-is-ethereum-banking-card-desc": "现实生活中,并不是每个人都可以获得金融服务。然而只需连接互联网,就能访问以太坊并使用上面的借贷和储蓄产品。",
+ "page-what-is-ethereum-banking-card-desc": "不是每个人都能使用金融服务。但是只要你有网络,就可以访问以太坊以及基于它构建的借贷与储蓄产品。",
"page-what-is-ethereum-build": "基于以太坊创造一些玩意",
"page-what-is-ethereum-build-desc": "如果你想尝试进行以太坊相关的开发,请阅读我们的文档,尝试一些教程或者下载开发工具作为开始。",
"page-what-is-ethereum-censorless-card": "反审查",
@@ -51,7 +51,7 @@
"page-what-is-ethereum-slide-1-desc-2": "以太坊和稳定币简化了海外汇款流程。在全球范围内转移资金通常只需要几分钟即可完成,相比之下普通银行可能需要几个工作日甚至几周,并且价格只是银行服务的一小部分。此外,进行高额交易不收取额外费用,并且对于汇款地址或原因没有任何限制。",
"page-what-is-ethereum-slide-2-title": "在危机时刻提供最快捷的帮助",
"page-what-is-ethereum-slide-2-desc-1": "如果你足够幸运,可以在生活的地方享受值得信赖的机构提供的多种银行业务,你可能会认为它们提供的财务自由、安全和稳定是理所当然的。但对于世界各地面临政治压制或经济困难的许多人来说,金融机构可能无法提供他们需要的保护或服务。",
- "page-what-is-ethereum-slide-2-desc-2": "当委内瑞拉、古巴、阿富汗、尼日利亚、白俄罗斯和乌克兰的居民承受战争和经济灾难之苦,或民权遭到镇压时,加密货币就成为他们维系金融机构最快,且通常是唯一的方式。1从这些示例中可以看到,以太币等加密货币能够为与世隔绝的人们打开一扇畅通全球经济的窗户。另外,当本地货币由于恶性通货膨胀崩塌时,稳定币可以提供一种保值手段。",
+ "page-what-is-ethereum-slide-2-desc-2": "当委内瑞拉、古巴、阿富汗、尼日利亚、白俄罗斯和乌克兰等地的居民遭受战争、经济崩溃和镇压时,加密货币就成为他们维系金融机构最快,且通常是唯一的方式。1正如这些例子所示,以太坊等加密货币能够让被迫割离世界的人畅通无阻地参与全球经济。另外,当本地货币由于恶性通货膨胀而崩溃时,稳定币可以提供一种保值手段。",
"page-what-is-ethereum-slide-3-title": "为创作者赋能",
"page-what-is-ethereum-slide-3-desc-1": "仅在 2021 年,艺术家、音乐家、作家和其他创作者就利用以太坊共赚取了约 35 亿美元。这使得以太坊成为最大的全球创作者平台之一,与 Spotify、YouTube 和 Etsy 并驾齐驱。了解更多。",
"page-what-is-ethereum-slide-4-title": "赋能玩家",
From 884f9898789af616df536d7010891ebeb077496e Mon Sep 17 00:00:00 2001
From: Paul Wackerow <54227730+wackerow@users.noreply.github.com>
Date: Wed, 16 Oct 2024 12:22:49 -0700
Subject: [PATCH 2/4] revert: rm unintentional file imports
---
.../zh/04) Exploring/nft/index.md | 114 --
.../zh/05) Use Ethereum Pages/dao/index.md | 166 --
.../zh/06) Use Cases/defi/index.md | 357 ----
.../zh/06) Use Cases/smart-contracts/index.md | 82 -
.../zh/06) Use Cases/web3/index.md | 157 --
.../zh/07) Staking Pages/staking/dvt/index.md | 91 -
.../07) Staking Pages/staking/pools/index.md | 86 -
.../07) Staking Pages/staking/saas/index.md | 95 -
.../07) Staking Pages/staking/solo/index.md | 206 --
.../staking/withdrawals/index.md | 218 --
.../decentralized-identity/index.md | 191 --
.../zh/08) Use cases 2/desci/index.md | 136 --
.../zh/08) Use cases 2/refi/index.md | 81 -
.../08) Use cases 2/social-networks/index.md | 106 -
.../zh/09) Learn Pages/bridges/index.md | 128 --
.../energy-consumption/index.md | 82 -
.../zh/09) Learn Pages/governance/index.md | 182 --
.../zh/09) Learn Pages/security/index.md | 293 ---
.../zero-knowledge-proofs/index.md | 214 --
.../index.md | 73 -
.../guides/how-to-id-scam-tokens/index.md | 97 -
.../how-to-revoke-token-access/index.md | 73 -
.../guides/how-to-swap-tokens/index.md | 67 -
.../guides/how-to-use-a-bridge/index.md | 70 -
.../guides/how-to-use-a-wallet/index.md | 88 -
.../zh/10) Guides and Quizzes/guides/index.md | 27 -
.../translations/zh/11) Roadmap/eips/index.md | 79 -
.../11) Roadmap/roadmap/beacon-chain/index.md | 75 -
.../roadmap/future-proofing/index.md | 38 -
.../zh/11) Roadmap/roadmap/index.md | 119 --
.../zh/11) Roadmap/roadmap/merge/index.md | 229 ---
.../roadmap/merge/issuance/index.md | 134 --
.../zh/11) Roadmap/roadmap/scaling/index.md | 51 -
.../zh/11) Roadmap/roadmap/security/index.md | 48 -
.../roadmap/user-experience/index.md | 36 -
.../roadmap/account-abstraction/index.md | 126 --
.../roadmap/danksharding/index.md | 95 -
.../zh/12) Roadmap 2/roadmap/dencun/index.md | 120 --
.../zh/12) Roadmap 2/roadmap/pbs/index.md | 51 -
.../roadmap/secret-leader-election/index.md | 44 -
.../roadmap/single-slot-finality/index.md | 66 -
.../roadmap/statelessness/index.md | 103 -
.../roadmap/verkle-trees/index.md | 66 -
.../developers/docs/accounts/index.md | 136 --
.../developers/docs/blocks/index.md | 152 --
.../developers/docs/dapps/index.md | 96 -
.../developers/docs/evm/index.md | 78 -
.../developers/docs/evm/opcodes/index.md | 174 --
.../developers/docs/gas/index.md | 139 --
.../developers/docs/index.md | 25 -
.../developers/docs/intro-to-ether/index.md | 78 -
.../docs/intro-to-ethereum/index.md | 116 --
.../developers/docs/networks/index.md | 149 --
.../developers/docs/transactions/index.md | 221 --
.../developers/docs/web2-vs-web3/index.md | 62 -
.../developers/docs/wrapped-eth/index.md | 65 -
.../community/code-of-conduct/index.md | 77 -
.../community/events/index.md | 24 -
.../community/get-involved/index.md | 135 --
.../community/grants/index.md | 47 -
.../community/language-resources/index.md | 153 --
.../community/online/index.md | 50 -
.../community/research/index.md | 399 ----
.../community/support/index.md | 104 -
.../nodes-and-clients/archive-nodes/index.md" | 80 -
.../nodes-and-clients/bootnodes/index.md" | 31 -
.../client-diversity/index.md" | 109 -
.../docs/nodes-and-clients/index.md" | 307 ---
.../nodes-and-clients/light-clients/index.md" | 61 -
.../node-architecture/index.md" | 57 -
.../nodes-as-a-service/index.md" | 419 ----
.../nodes-and-clients/run-a-node/index.md" | 480 -----
.../docs/consensus-mechanisms/index.md" | 92 -
.../pos/attack-and-defense/index.md" | 163 --
.../pos/attestations/index.md" | 92 -
.../pos/block-proposal/index.md" | 69 -
.../consensus-mechanisms/pos/faqs/index.md" | 172 --
.../consensus-mechanisms/pos/gasper/index.md" | 52 -
.../docs/consensus-mechanisms/pos/index.md" | 99 -
.../consensus-mechanisms/pos/keys/index.md" | 96 -
.../pos/pos-vs-pow/index.md" | 69 -
.../pos/rewards-and-penalties/index.md" | 90 -
.../pos/weak-subjectivity/index.md" | 39 -
.../docs/consensus-mechanisms/poa/index.md" | 79 -
.../docs/consensus-mechanisms/pow/index.md" | 109 -
.../consensus-mechanisms/pow/mining/index.md" | 81 -
.../dagger-hashimoto/index.md" | 334 ----
.../mining/mining-algorithms/ethash/index.md" | 1014 ----------
.../pow/mining/mining-algorithms/index.md" | 37 -
.../developers/docs/apis/backend/index.md" | 207 --
.../developers/docs/apis/javascript/index.md" | 295 ---
.../developers/docs/apis/json-rpc/index.md" | 1771 -----------------
.../block-explorers/index.md" | 257 ---
.../docs/data-and-analytics/index.md" | 55 -
.../docs/development-networks/index.md" | 83 -
.../developers/docs/ethereum-stack/index.md" | 61 -
.../developers/docs/frameworks/index.md" | 147 --
.../developers/docs/ides/index.md" | 71 -
.../docs/programming-languages/dart/index.md" | 33 -
.../programming-languages/delphi/index.md" | 56 -
.../programming-languages/dot-net/index.md" | 86 -
.../programming-languages/golang/index.md" | 85 -
.../docs/programming-languages/index.md" | 29 -
.../docs/programming-languages/java/index.md" | 65 -
.../javascript/index.md" | 73 -
.../programming-languages/python/index.md" | 90 -
.../docs/programming-languages/ruby/index.md" | 61 -
.../docs/programming-languages/rust/index.md" | 64 -
.../developers/docs/storage/index.md" | 217 --
.../zh/19) Learn Pages 2/glossary/index.md | 499 -----
.../zh/19) Learn Pages 2/history/index.md | 623 ------
.../docs/smart-contracts/anatomy/index.md" | 655 ------
.../docs/smart-contracts/compiling/index.md" | 282 ---
.../docs/smart-contracts/deploying/index.md" | 81 -
.../developers/docs/smart-contracts/index.md" | 112 --
.../docs/smart-contracts/languages/index.md" | 320 ---
.../docs/smart-contracts/libraries/index.md" | 117 --
.../docs/smart-contracts/security/index.md" | 580 ------
.../smart-contracts/composability/index.md" | 76 -
.../formal-verification/index.md" | 283 ---
.../docs/smart-contracts/testing/index.md" | 308 ---
.../docs/smart-contracts/upgrading/index.md" | 165 --
.../docs/smart-contracts/verifying/index.md" | 107 -
.../zh/21) Whitepaper/whitepaper/index.md | 517 -----
.../developers/docs/bridges/index.md | 150 --
.../index.md | 118 --
.../docs/data-availability/index.md | 84 -
.../dex-design-best-practice/index.md | 220 --
.../heuristics-for-web3/index.md | 138 --
.../developers/docs/design-and-ux/index.md | 85 -
.../developers/docs/mev/index.md | 221 --
.../developers/docs/oracles/index.md | 433 ----
.../developers/docs/standards/index.md | 59 -
.../docs/standards/tokens/erc-1155/index.md | 146 --
.../docs/standards/tokens/erc-20/index.md | 172 --
.../docs/standards/tokens/erc-223/index.md | 197 --
.../docs/standards/tokens/erc-4626/index.md | 211 --
.../docs/standards/tokens/erc-721/index.md | 244 ---
.../docs/standards/tokens/erc-777/index.md | 77 -
.../developers/docs/standards/tokens/index.md | 39 -
.../developers/docs/scaling/index.md" | 114 --
.../docs/scaling/optimistic-rollups/index.md" | 269 ---
.../developers/docs/scaling/plasma/index.md" | 175 --
.../docs/scaling/sidechains/index.md" | 73 -
.../docs/scaling/state-channels/index.md" | 67 -
.../docs/scaling/validium/index.md" | 165 --
.../docs/scaling/zk-rollups/index.md" | 259 ---
.../data-structures-and-encoding/index.md | 32 -
.../patricia-merkle-trie/index.md | 263 ---
.../data-structures-and-encoding/rlp/index.md | 163 --
.../data-structures-and-encoding/ssz/index.md | 149 --
.../web3-secret-storage-definition/index.md | 189 --
.../developers/docs/networking-layer/index.md | 155 --
.../network-addresses/index.md | 38 -
.../networking-layer/portal-network/index.md | 83 -
.../zh/26) Miscellaneous/about/index.md | 127 --
.../zh/26) Miscellaneous/enterprise/index.md | 162 --
.../enterprise/private-ethereum/index.md | 26 -
.../zh/26) Miscellaneous/foundation/index.md | 40 -
.../contributing/design-principles/index.md | 93 -
.../contributing/design/index.md | 77 -
.../zh/27) Contributing/contributing/index.md | 117 --
.../translation-program/faq/index.md | 119 --
.../how-to-translate/index.md | 89 -
.../contributing/translation-program/index.md | 90 -
.../mission-and-vision/index.md | 25 -
.../translation-program/resources/index.md | 45 -
.../translators-guide/index.md | 293 ---
.../adding-desci-projects/index.md | 44 -
.../adding-developer-tools/index.md | 61 -
.../contributing/adding-exchanges/index.md | 40 -
.../adding-glossary-terms/index.md | 26 -
.../contributing/adding-layer-2s/index.md | 97 -
.../contributing/adding-products/index.md | 100 -
.../adding-staking-products/index.md | 176 --
.../contributing/adding-wallets/index.md | 80 -
.../contributing/content-resources/index.md | 32 -
.../design/adding-design-resources/index.md | 69 -
.../contributing/quizzes/index.md | 62 -
179 files changed, 27080 deletions(-)
delete mode 100644 public/content/translations/zh/04) Exploring/nft/index.md
delete mode 100644 public/content/translations/zh/05) Use Ethereum Pages/dao/index.md
delete mode 100644 public/content/translations/zh/06) Use Cases/defi/index.md
delete mode 100644 public/content/translations/zh/06) Use Cases/smart-contracts/index.md
delete mode 100644 public/content/translations/zh/06) Use Cases/web3/index.md
delete mode 100644 public/content/translations/zh/07) Staking Pages/staking/dvt/index.md
delete mode 100644 public/content/translations/zh/07) Staking Pages/staking/pools/index.md
delete mode 100644 public/content/translations/zh/07) Staking Pages/staking/saas/index.md
delete mode 100644 public/content/translations/zh/07) Staking Pages/staking/solo/index.md
delete mode 100644 public/content/translations/zh/07) Staking Pages/staking/withdrawals/index.md
delete mode 100644 public/content/translations/zh/08) Use cases 2/decentralized-identity/index.md
delete mode 100644 public/content/translations/zh/08) Use cases 2/desci/index.md
delete mode 100644 public/content/translations/zh/08) Use cases 2/refi/index.md
delete mode 100644 public/content/translations/zh/08) Use cases 2/social-networks/index.md
delete mode 100644 public/content/translations/zh/09) Learn Pages/bridges/index.md
delete mode 100644 public/content/translations/zh/09) Learn Pages/energy-consumption/index.md
delete mode 100644 public/content/translations/zh/09) Learn Pages/governance/index.md
delete mode 100644 public/content/translations/zh/09) Learn Pages/security/index.md
delete mode 100644 public/content/translations/zh/09) Learn Pages/zero-knowledge-proofs/index.md
delete mode 100644 public/content/translations/zh/10) Guides and Quizzes/guides/how-to-create-an-ethereum-account/index.md
delete mode 100644 public/content/translations/zh/10) Guides and Quizzes/guides/how-to-id-scam-tokens/index.md
delete mode 100644 public/content/translations/zh/10) Guides and Quizzes/guides/how-to-revoke-token-access/index.md
delete mode 100644 public/content/translations/zh/10) Guides and Quizzes/guides/how-to-swap-tokens/index.md
delete mode 100644 public/content/translations/zh/10) Guides and Quizzes/guides/how-to-use-a-bridge/index.md
delete mode 100644 public/content/translations/zh/10) Guides and Quizzes/guides/how-to-use-a-wallet/index.md
delete mode 100644 public/content/translations/zh/10) Guides and Quizzes/guides/index.md
delete mode 100644 public/content/translations/zh/11) Roadmap/eips/index.md
delete mode 100644 public/content/translations/zh/11) Roadmap/roadmap/beacon-chain/index.md
delete mode 100644 public/content/translations/zh/11) Roadmap/roadmap/future-proofing/index.md
delete mode 100644 public/content/translations/zh/11) Roadmap/roadmap/index.md
delete mode 100644 public/content/translations/zh/11) Roadmap/roadmap/merge/index.md
delete mode 100644 public/content/translations/zh/11) Roadmap/roadmap/merge/issuance/index.md
delete mode 100644 public/content/translations/zh/11) Roadmap/roadmap/scaling/index.md
delete mode 100644 public/content/translations/zh/11) Roadmap/roadmap/security/index.md
delete mode 100644 public/content/translations/zh/11) Roadmap/roadmap/user-experience/index.md
delete mode 100644 public/content/translations/zh/12) Roadmap 2/roadmap/account-abstraction/index.md
delete mode 100644 public/content/translations/zh/12) Roadmap 2/roadmap/danksharding/index.md
delete mode 100644 public/content/translations/zh/12) Roadmap 2/roadmap/dencun/index.md
delete mode 100644 public/content/translations/zh/12) Roadmap 2/roadmap/pbs/index.md
delete mode 100644 public/content/translations/zh/12) Roadmap 2/roadmap/secret-leader-election/index.md
delete mode 100644 public/content/translations/zh/12) Roadmap 2/roadmap/single-slot-finality/index.md
delete mode 100644 public/content/translations/zh/12) Roadmap 2/roadmap/statelessness/index.md
delete mode 100644 public/content/translations/zh/12) Roadmap 2/roadmap/verkle-trees/index.md
delete mode 100644 public/content/translations/zh/13) Foundational Docs/developers/docs/accounts/index.md
delete mode 100644 public/content/translations/zh/13) Foundational Docs/developers/docs/blocks/index.md
delete mode 100644 public/content/translations/zh/13) Foundational Docs/developers/docs/dapps/index.md
delete mode 100644 public/content/translations/zh/13) Foundational Docs/developers/docs/evm/index.md
delete mode 100644 public/content/translations/zh/13) Foundational Docs/developers/docs/evm/opcodes/index.md
delete mode 100644 public/content/translations/zh/13) Foundational Docs/developers/docs/gas/index.md
delete mode 100644 public/content/translations/zh/13) Foundational Docs/developers/docs/index.md
delete mode 100644 public/content/translations/zh/13) Foundational Docs/developers/docs/intro-to-ether/index.md
delete mode 100644 public/content/translations/zh/13) Foundational Docs/developers/docs/intro-to-ethereum/index.md
delete mode 100644 public/content/translations/zh/13) Foundational Docs/developers/docs/networks/index.md
delete mode 100644 public/content/translations/zh/13) Foundational Docs/developers/docs/transactions/index.md
delete mode 100644 public/content/translations/zh/13) Foundational Docs/developers/docs/web2-vs-web3/index.md
delete mode 100644 public/content/translations/zh/13) Foundational Docs/developers/docs/wrapped-eth/index.md
delete mode 100644 public/content/translations/zh/14) Community Pages/community/code-of-conduct/index.md
delete mode 100644 public/content/translations/zh/14) Community Pages/community/events/index.md
delete mode 100644 public/content/translations/zh/14) Community Pages/community/get-involved/index.md
delete mode 100644 public/content/translations/zh/14) Community Pages/community/grants/index.md
delete mode 100644 public/content/translations/zh/14) Community Pages/community/language-resources/index.md
delete mode 100644 public/content/translations/zh/14) Community Pages/community/online/index.md
delete mode 100644 public/content/translations/zh/14) Community Pages/community/research/index.md
delete mode 100644 public/content/translations/zh/14) Community Pages/community/support/index.md
delete mode 100644 "public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/archive-nodes/index.md"
delete mode 100644 "public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/bootnodes/index.md"
delete mode 100644 "public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/client-diversity/index.md"
delete mode 100644 "public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/index.md"
delete mode 100644 "public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/light-clients/index.md"
delete mode 100644 "public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/node-architecture/index.md"
delete mode 100644 "public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/nodes-as-a-service/index.md"
delete mode 100644 "public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/run-a-node/index.md"
delete mode 100644 "public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/index.md"
delete mode 100644 "public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md"
delete mode 100644 "public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/attestations/index.md"
delete mode 100644 "public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/block-proposal/index.md"
delete mode 100644 "public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/faqs/index.md"
delete mode 100644 "public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/gasper/index.md"
delete mode 100644 "public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/index.md"
delete mode 100644 "public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/keys/index.md"
delete mode 100644 "public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/pos-vs-pow/index.md"
delete mode 100644 "public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md"
delete mode 100644 "public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md"
delete mode 100644 "public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/poa/index.md"
delete mode 100644 "public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/index.md"
delete mode 100644 "public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/mining/index.md"
delete mode 100644 "public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md"
delete mode 100644 "public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md"
delete mode 100644 "public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/apis/backend/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/apis/javascript/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/apis/json-rpc/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/data-and-analytics/block-explorers/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/data-and-analytics/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/development-networks/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/ethereum-stack/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/frameworks/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/ides/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/dart/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/delphi/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/dot-net/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/golang/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/java/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/javascript/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/python/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/ruby/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/rust/index.md"
delete mode 100644 "public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/storage/index.md"
delete mode 100644 public/content/translations/zh/19) Learn Pages 2/glossary/index.md
delete mode 100644 public/content/translations/zh/19) Learn Pages 2/history/index.md
delete mode 100644 "public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/anatomy/index.md"
delete mode 100644 "public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/compiling/index.md"
delete mode 100644 "public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/deploying/index.md"
delete mode 100644 "public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/index.md"
delete mode 100644 "public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/languages/index.md"
delete mode 100644 "public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/libraries/index.md"
delete mode 100644 "public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/security/index.md"
delete mode 100644 "public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/composability/index.md"
delete mode 100644 "public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/formal-verification/index.md"
delete mode 100644 "public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/testing/index.md"
delete mode 100644 "public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/upgrading/index.md"
delete mode 100644 "public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/verifying/index.md"
delete mode 100644 public/content/translations/zh/21) Whitepaper/whitepaper/index.md
delete mode 100644 public/content/translations/zh/23) Advanced Docs/developers/docs/bridges/index.md
delete mode 100644 public/content/translations/zh/23) Advanced Docs/developers/docs/data-availability/blockchain-data-storage-strategies/index.md
delete mode 100644 public/content/translations/zh/23) Advanced Docs/developers/docs/data-availability/index.md
delete mode 100644 public/content/translations/zh/23) Advanced Docs/developers/docs/design-and-ux/dex-design-best-practice/index.md
delete mode 100644 public/content/translations/zh/23) Advanced Docs/developers/docs/design-and-ux/heuristics-for-web3/index.md
delete mode 100644 public/content/translations/zh/23) Advanced Docs/developers/docs/design-and-ux/index.md
delete mode 100644 public/content/translations/zh/23) Advanced Docs/developers/docs/mev/index.md
delete mode 100644 public/content/translations/zh/23) Advanced Docs/developers/docs/oracles/index.md
delete mode 100644 public/content/translations/zh/23) Advanced Docs/developers/docs/standards/index.md
delete mode 100644 public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-1155/index.md
delete mode 100644 public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-20/index.md
delete mode 100644 public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-223/index.md
delete mode 100644 public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-4626/index.md
delete mode 100644 public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-721/index.md
delete mode 100644 public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-777/index.md
delete mode 100644 public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/index.md
delete mode 100644 "public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/index.md"
delete mode 100644 "public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/optimistic-rollups/index.md"
delete mode 100644 "public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/plasma/index.md"
delete mode 100644 "public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/sidechains/index.md"
delete mode 100644 "public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/state-channels/index.md"
delete mode 100644 "public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/validium/index.md"
delete mode 100644 "public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/zk-rollups/index.md"
delete mode 100644 public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/index.md
delete mode 100644 public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md
delete mode 100644 public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/rlp/index.md
delete mode 100644 public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/ssz/index.md
delete mode 100644 public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/web3-secret-storage-definition/index.md
delete mode 100644 public/content/translations/zh/25) Research Documentation/developers/docs/networking-layer/index.md
delete mode 100644 public/content/translations/zh/25) Research Documentation/developers/docs/networking-layer/network-addresses/index.md
delete mode 100644 public/content/translations/zh/25) Research Documentation/developers/docs/networking-layer/portal-network/index.md
delete mode 100644 public/content/translations/zh/26) Miscellaneous/about/index.md
delete mode 100644 public/content/translations/zh/26) Miscellaneous/enterprise/index.md
delete mode 100644 public/content/translations/zh/26) Miscellaneous/enterprise/private-ethereum/index.md
delete mode 100644 public/content/translations/zh/26) Miscellaneous/foundation/index.md
delete mode 100644 public/content/translations/zh/27) Contributing/contributing/design-principles/index.md
delete mode 100644 public/content/translations/zh/27) Contributing/contributing/design/index.md
delete mode 100644 public/content/translations/zh/27) Contributing/contributing/index.md
delete mode 100644 public/content/translations/zh/27) Contributing/contributing/translation-program/faq/index.md
delete mode 100644 public/content/translations/zh/27) Contributing/contributing/translation-program/how-to-translate/index.md
delete mode 100644 public/content/translations/zh/27) Contributing/contributing/translation-program/index.md
delete mode 100644 public/content/translations/zh/27) Contributing/contributing/translation-program/mission-and-vision/index.md
delete mode 100644 public/content/translations/zh/27) Contributing/contributing/translation-program/resources/index.md
delete mode 100644 public/content/translations/zh/27) Contributing/contributing/translation-program/translators-guide/index.md
delete mode 100644 public/content/translations/zh/28) Contributing 2/contributing/adding-desci-projects/index.md
delete mode 100644 public/content/translations/zh/28) Contributing 2/contributing/adding-developer-tools/index.md
delete mode 100644 public/content/translations/zh/28) Contributing 2/contributing/adding-exchanges/index.md
delete mode 100644 public/content/translations/zh/28) Contributing 2/contributing/adding-glossary-terms/index.md
delete mode 100644 public/content/translations/zh/28) Contributing 2/contributing/adding-layer-2s/index.md
delete mode 100644 public/content/translations/zh/28) Contributing 2/contributing/adding-products/index.md
delete mode 100644 public/content/translations/zh/28) Contributing 2/contributing/adding-staking-products/index.md
delete mode 100644 public/content/translations/zh/28) Contributing 2/contributing/adding-wallets/index.md
delete mode 100644 public/content/translations/zh/28) Contributing 2/contributing/content-resources/index.md
delete mode 100644 public/content/translations/zh/28) Contributing 2/contributing/design/adding-design-resources/index.md
delete mode 100644 public/content/translations/zh/28) Contributing 2/contributing/quizzes/index.md
diff --git a/public/content/translations/zh/04) Exploring/nft/index.md b/public/content/translations/zh/04) Exploring/nft/index.md
deleted file mode 100644
index 74dea76e083..00000000000
--- a/public/content/translations/zh/04) Exploring/nft/index.md
+++ /dev/null
@@ -1,114 +0,0 @@
----
-title: 非同质化代币 (NFT)
-description: 以太坊上的非同质化代币简介
-lang: zh
-template: use-cases
-emoji: ":frame_with_picture:"
-sidebarDepth: 2
-image: /images/infrastructure_transparent.png
-alt: 通过全息图显示的以太币徽标。
-summaryPoint1: 一种用以太坊资产表示任何独特事物的方法。
-summaryPoint2: 非同质化代币正在前所未有地向内容创作人赋予更多权利。
-summaryPoint3: 由以太坊区块链上的智能合约提供支持
----
-
-## 什么是非同质化代币? {#what-are-nfts}
-
-每个非同质化代币都是**独一无二的**。 每个非同质化代币都有不同的属性(非同质化),并且可证明其稀缺性。 这一点不同于[以太币](/glossary/#ether)和 USDC 等其他基于以太坊的代币,在这类代币中,每个代币都是相同的且具有相同的属性(“同质化”)。 你不会关心钱包中的具体某一张钞票(或以太币),因为它们完全相同且具有同样的价值。 然而,你_需要_关心你拥有具体哪一个非同质化代币,因为它们都有区分于其他非同质化代币的独特属性(“非同质化”)。
-
-每个非同质化代币的独特性使其能够实现艺术品、收藏品甚至房地产等资产的代币化,一个特定的独特非同质化代币可以代表一个特定的独特实体或数字物品。 资产的所有权可以在以太坊[区块链](/glossary/#blockchain)上公开验证。
-
-
-
-## 资产互联网 {#internet-of-assets}
-
-非同质化代币和以太坊解决了当前互联网上存在的一些问题。 随着数字化程度的提升,需要以一种不受中心化组织控制的方式复制实体物品的属性,如稀缺性、独特性和所有权证明。 例如,利用非同质化代币,你可以在所有以太坊应用程序中拥有一个音乐 mp3 文件的所有权,而不必局限于某一家公司的特定音乐应用程序(如 Spotify 或 Apple Music)。 你可以拥有一个社交媒体账号,你自己可以出售或交换它,但平台提供商**不能任意收回**。
-
-非同质化代币互联网与我们今天大多数人使用的互联网的对比如下……
-
-### 对比 {#nft-comparison}
-
-| 非同质化代币互联网 | 当今互联网 |
-| ---------------------------------------------------------------------------------- | ----------------------------------------- |
-| **你拥有自己的资产!** 只有你能出售或交换它们。 | **你租用某个组织的资产,**它可以被收回。 |
-| 非同质化代币在**数字世界里是独一无二的**,没有两个相同的非同质化代币。 | **复制品通常无法与原件区分**。 |
-| 非同质化代币的所有权储存在区块链上,任何人都可以**公开验证**。 | 数字物品所有权记录的访问权限**由机构控制**— 你必须相信他们的话。 |
-| 非同质化代币是以太坊上的[智能合约](/glossary/#smart-contract)。 这意味着它们**可以方便地在以太坊的其他智能合约**和应用程序中使用! | 拥有数字物品的公司通常**需要自己的“围墙花园”基础设施**。 |
-| 内容**创作者可以在任何地方出售他们的作品**,并可以进入全球市场。 | 创建人依靠所用平台的基础设施和分布。 这些通常受使用条款和**地理限制**的制约。 |
-| 非同质化代币创建者**可以保留自己作品的所有权**,并直接在非同质化代币合约中设置版税。 | 音乐**流媒体服务**这样的平台扣留大部分销售利润。 |
-
-## 非同质化代币有哪些用武之地? {#nft-use-cases}
-
-非同质化代币有多种用途,包括:
-
-- 证明你参加过某个活动
-- 证明你完成了某个课程
-- 在游戏中拥有的物品
-- 数字艺术
-- 将实体资产代币化
-- 证明你的线上身份
-- 限制内容访问权限
-- 发放凭据
-- 分布式互联网域名
-- 在[去中心化金融](/glossary/#defi)中作为抵押品
-
-假设你是一位艺术家,希望使用非同质化代币分享自己的作品,同时不想失去对作品的控制,也不想中间商分走利润。 你可以创建一个新合约,指定非同质化代币的数量、属性和特定艺术品的链接。 作为艺术家,**你可以在智能合约中设置你应该收取的版税**(例如,每次转让非同质化代币时,将销售价格的 5% 转给合约所有人)。 因为你拥有部署合约的[钱包](/glossary/#wallet),所以你始终可以证明是你是非同质化代币的创建者。 你的买家也可以轻松地证明他们拥有代表你的系列艺术品的**真正的非同质化代币**,因为他们的钱包[地址](/glossary/#address)与你的智能合约中的一个代币相关联。 他们可以在整个以太坊生态系统中使用该非同质化代币,因为其真实性能得到保证。
-
-
- 探索、购买或创建自己的非同质化代币艺术品/收藏品...
-
- 探索非同质化代币艺术品
-
-
-
-再以体育赛事的门票为例。 就像**赛事组织方可以选择出售多少门票一样**,非同质化代币的创建者可以决定创建多少份复制品。 有时候,它们是完全相同的复制品,如 5000 张普通门票。 有时候,会制作一些非常相似但略有不同的门票,如指定座位的门票。 这些门票可以在用户之间点对点买卖,而无需支付票务处理费用,买家始终可以通过检查合约地址来确保门票的真实性。
-
-在 ethereum.org 上,**非同质化代币用于证明人们对我们的 Github 存储库做出了有意义的贡献**(对网站进行了编程、撰写或修改了文章...)、翻译了我们的内容或参加了我们的社区电话会议,我们甚至拥有了自己的非同质化代币域名。 如果你对 ethereum.org 做出了贡献,可以认领 [POAP](/glossary/#poap) 徽章非同质化代币。 一些加密货币相关活动使用 POAP 徽章作为门票。 [关于贡献的更多信息](/contributing/#poap)。
-
-![ethereum.org POAP 徽章](./poap.png)
-
-本网站也有一个由非同质化代币支持的备用域名:**ethereum.eth**。 我们的 `.org` 地址由域名系统 (DNS) 提供商集中管理,而 ethereum`.eth` 则通过以太坊域名服务 (ENS) 在以太坊上注册。 此域名由我们拥有和管理。 [查看我们的以太坊域名服务记录](https://app.ens.domains/name/ethereum.eth)
-
-[关于以太坊域名服务的更多信息](https://app.ens.domains)
-
-
-
-## 非同质化代币的工作原理是什么? {#how-nfts-work}
-
-非同质化代币与以太坊区块链上的任何数字物品一样,都是通过一种称为“智能合约”的特殊以太坊计算机程序创建的。 这些合约遵循某些规则,例如 [ERC-721](/glossary/#erc-721) 或 [ERC-1155](/glossary/#erc-1155) 标准,这些规则决定了合约的功能。
-
-非同质化代币智能合约可以做一些重要事情:
-
-- **创建非同质化代币:**它可以创建新的非同质化代币。
-- **分配所有权:**通过将非同质化代币链接到特定的以太坊地址来跟踪谁拥有哪些非同质化代币。
-- **为每个非同质化代币提供 ID:**每个非同质化代币都有一个独一无二的编号。 此外,通常还会附加一些信息(元数据),描述非同质化代币所代表的内容。
-
-当有人“创建”或“铸造”非同质化代币时,本质上是告诉智能合约赋予他们特定非同质化代币的所有权。 该信息安全且公开地存储在区块链中。
-
-此外,合约的创建人可以添加额外的规则。 他们可能会限制某种非同质化代币的创建数量,或者决定在非同质化代币易手时他们应该获得少量版税。
-
-### 非同质化代币安全性 {#nft-security}
-
-以太坊的安全性来自[权益证明](/glossary/#pos)。 该机制旨在通过经济手段遏制恶意行为,使以太坊防篡改。 这便是非同质化代币的由来。 一旦包含你的非同质化代币交易的[区块](/glossary/#block)[最终确定](/glossary/#finality),攻击者需要花费数百万个以太币才能更改它。 运行以太坊软件的任何人都能立即检测到对非同质化代币的不诚实篡改,并且不良行为者将受到经济处罚并被驱逐出网络。
-
-非同质化代币的安全问题通常与网络钓鱼诈骗、智能合约漏洞或用户错误(例如无意中暴露私钥)有关,因此非同质化代币所有者务必保障钱包的安全性。
-
-
- 有关安全性的更多信息
-
-
-## 延伸阅读 {#further-reading}
-
-- [非同质化代币初学者指南](https://linda.mirror.xyz/df649d61efb92c910464a4e74ae213c4cab150b9cbcc4b7fb6090fc77881a95d) – _Linda Xie,2020 年 1 月_
-- [EtherscanNFT 跟踪器](https://etherscan.io/nft-top-contracts)
-- [ERC-721 代币标准](/developers/docs/standards/tokens/erc-721/)
-- [ERC-1155 代币标准](/developers/docs/standards/tokens/erc-1155/)
-- [热门非同质化代币应用和工具](https://www.ethereum-ecosystem.com/blockchains/ethereum/nfts)
-
-## 其他资源 {#other-resources}
-
-- [NFTScan](https://nftscan.com/)
-
-
-
-
diff --git a/public/content/translations/zh/05) Use Ethereum Pages/dao/index.md b/public/content/translations/zh/05) Use Ethereum Pages/dao/index.md
deleted file mode 100644
index 9245b23a0f2..00000000000
--- a/public/content/translations/zh/05) Use Ethereum Pages/dao/index.md
+++ /dev/null
@@ -1,166 +0,0 @@
----
-title: 去中心化自治组织 (DAO)
-description: 以太坊上的去中心化自治组织简介
-lang: zh
-template: use-cases
-emoji: ":handshake:"
-sidebarDepth: 2
-image: /images/use-cases/dao-2.png
-alt: 表示去中心化自治组织在对提案投票。
-summaryPoint1: 没有集中领导的、成员共同拥有的社区。
-summaryPoint2: 一种与互联网上的陌生人合作的安全方式。
-summaryPoint3: 一个为特定事业投入资金的安全场所。
----
-
-## 什么是去中心化自治组织? {#what-are-daos}
-
-去中心化自治组织 (DAO) 是指为一个共同的使命而奋斗的集体所有组织。
-
-去中心化自治组织让全世界志同道合之士开展合作,而无需信赖一位宅心仁厚的领导来管理资金和运营。 没有可以随意花钱的首席执行官,也没有能够做假账的首席财务官。 取而代之的是,融入代码的基于区块链的规则规定组织如何运作以及资金如何使用。
-
-去中心化自治组织拥有内部资产,未经该组织批准,任何人都无权动用。 决策通过提案和投票监管,确保组织中的每位成员都有发言权,并且一切都发生在[链上](/glossary/#on-chain),公开透明。
-
-## 我们为什么需要去中心化自治组织? {#why-dao}
-
-与他人创办涉及资金和金钱的组织,需要对与合作对象高度信任。 不过,显然很难相信互联网上素不相识的人。 通过去中心化自治组织,你不需要相信组织中的其他人,只需要相信去中心化自治组织的代码就够了,它是 100% 公开透明的,任何人都可以验证。
-
-这为全球合作和协调提供了许多新机会。
-
-### 对比 {#dao-comparison}
-
-| 去中心化自治组织 | 传统组织 |
-| ------------------------- | ------------------------------ |
-| 通常是平等的,并且完全民主。 | 通常等级鲜明。 |
-| 需要成员投票才能实施任何更改。 | 可能部分人就能进行决策,也可能投票表决,具体取决于组织结构。 |
-| 不需要可信的中间人就可以自动计算投票、执行结果。 | 如果允许投票,则在内部计票,投票结果必须由人工处理。 |
-| 以去中心化方式自动提供服务(例如慈善基金的分配)。 | 需要人工处理或自动集中控制,易受操纵。 |
-| 所有活动公开透明。 | 活动通常是私密进行,不向公众开放。 |
-
-### 去中心化自治组织示例 {#dao-examples}
-
-为了帮助你更好地理解,这里有一些去中心化自治组织的应用示例:
-
-- **慈善机构** – 可以接受全世界任何人的捐赠,并投票决定要资助的项目。
-- **集体所有权** – 可以购买实体或数字资产,组织成员可以投票决定如何使用它们。
-- **风险投资和赠款** – 可以成立一个风险基金,汇集投资资本并投票进行商业投资。 后续收益可以分配给相应 DAO 成员。
-
-
-
-## 去中心化自治组织如何运作? {#how-daos-work}
-
-去中心化自治组织的核心是[智能合约](/glossary/#smart-contract),它定义了组织的规则并持有组织的资产。 合约在以太坊上生效后,除非表决通过,否则任何人都不能修改规则。 任何人都无法超越合约定义的规则和逻辑行事。 由于资产也由智能合约定义,这也意味着未经组织批准任何人都不能使用资金。 所以去中心化组织也不需要中央权威。 相反,组织集体作出决定,而付款会在表决通过后自动获批。
-
-之所以能够做到这一点,是因为智能合约在以太坊上生效后,就无法被篡改。 一切都是公开的,你不可能在其他人一无所知的情况下修改代码(去中心化组织定义的规则)。
-
-## 以太坊与去中心化自治组织 {#ethereum-and-daos}
-
-以太坊为去中心化自治组织提供了坚实基础,原因如下:
-
-- 以太坊自身的共识机制是去中心化的,并且已足够成熟,使得各种组织可以信赖它。
-- 智能合约一旦生效就无法更改,即便是其所有者也是如此。 这使得去中心化自治组织能够按照编程规则运行。
-- 智能合约可以发送/接收资金。 没有这点,你就需要可信的中间人来管理组织资金。
-- 比起竞争,以太坊社区更趋向于合作,这使得各类应用程序和服务系统蓬勃发展。
-
-## 去中心化自治组织的治理 {#dao-governance}
-
-治理去中心化自治组织时要考虑很多因素,比如投票和提案如何运作。
-
-### 委托 {#governance-delegation}
-
-委托就像是去中心化自治组织的代议制民主。 代币持有者将投票委托给那些自提名并承诺管理协议和随时了解动态的用户。
-
-#### 知名案例 {#governance-example}
-
-[以太坊域名服务](https://claim.ens.domains/delegate-ranking) - 以太坊域名服务持有者可以将他们的选票委托给参与的社区成员来代表他们。
-
-### 自动交易治理 {#governance-example}
-
-在很多去中心化自治组织中,如果达到法定人数的成员投票赞成,交易将自动执行。
-
-#### 知名案例 {#governance-example}
-
-[Nouns](https://nouns.wtf) — 在去中心化自治组织 Nouns 中,只要创始人不否决,如果投票达到法定票数并且多数票赞成,那么交易将自动执行。
-
-### 多重签名治理 {#governance-example}
-
-虽然去中心化自治组织可能有数千名有投票权的成员,但资金一般会放在一个由 5 到 20 名活跃社区成员共同管理的[钱包](/glossary/#wallet)中,这些成员受组织信任并接受监督(社区知道他们的公开身份)。 投票后,[多重签名](/glossary/#multisig)的签名者执行社区的意愿。
-
-## 去中心化自治组织相关法律 {#dao-laws}
-
-1977 年,怀俄明州发明了有限责任公司制度,保护企业家并对他们的责任范围做出限制。 最近,他们率先制定了《去中心化自治组织法》,确立了去中心化自治组织的法律地位。 目前,怀俄明州、佛蒙特州和维尔京群岛都制定了各自的去中心化自治组织法律。
-
-### 知名案例 {#law-example}
-
-[CityDAO](https://citydao.io) — 依照怀俄明州的去中心化自治组织相关法律,CityDAO 购买了黄石国家公园附近的 40 英亩土地。
-
-## 去中心化自治组织的成员资格 {#dao-membership}
-
-去中心化自治组织成员资格分为多种模式。 成员资格可以决定投票方式和去中心化自治组织的其他关键事项。
-
-### 基于代币的成员资格 {#token-based-membership}
-
-通常完全[无需许可](/glossary/#permissionless),具体取决于使用的代币。 这些治理代币大多可以在[去中心化交易所](/glossary/#dex)进行交易,无需许可。 其余代币要通过提供流动性或其他“工作量证明”才能赚取。 无论何种方式,只要持有代币就可以参与投票。
-
-_通常用来管理各种去中心化协议和/或代币本身。_
-
-#### 知名案例 {#token-example}
-
-[MakerDAO](https://makerdao.com) — 去中心化交易所普遍提供 MakerDAO 的代币 MKR,任何人都可以买入,从而获得对 Maker 协议未来的投票权。
-
-### 基于份额的成员资格 {#share-based-membership}
-
-基于份额的去中心化自治组织在更大程度上需要许可,但仍然相当公开透明。 任何潜在成员都可以提交加入去中心化自治组织的提案,并且通常以代币或工作的形式提供有价值的贡献。 份额代表直接投票权和所有权。 成员可以随时退出组织并带走属于他们的资金份额。
-
-_通常用于联系更紧密、以人为中心的组织,例如慈善机构、工人团体和投资俱乐部等。 也可以管理协议和代币。_
-
-#### 知名案例 {#share-example}
-
-[MolochDAO](http://molochdao.com/) – MolochDAO 致力于为以太坊项目募集资金。 他们需要成员资格提案,以便组织可以评估你是否具有必要的专业知识和资本来对潜在受资助者做出明智判断。 你无法通过在公开市场上购买代币来加入这类去中心化自治组织。
-
-### 基于信誉的成员资格 {#reputation-based-membership}
-
-信誉代表参加投票的证明,并授予去中心化自治组织中的投票权。 不同于基于代币或份额的成员资格,基于信誉的去中心化自治组织不会将所有权转让给贡献者。 信誉不能够购买、转让或委托;去中心化自治组织成员必须通过参与获得信誉。 链上投票无需许可,潜在成员可以自由提交加入去中心化自治组织的提案,并要求获得信誉和代币,作为他们所做贡献的奖励。
-
-_通常用于协议和[去中心化应用程序](/glossary/#dapp)的去中心化开发和管理,但同时非常适合各类组织,例如慈善机构、工人团体、投资俱乐部等。_
-
-#### 知名案例 {#reputation-example}
-
-[DXdao](https://DXdao.eth.limo) -- DXdao 是一个全球性的主权团体,自 2019 年以来一直致力于构建和管理去中心化协议和应用程序。 它利用基于信誉的治理和[全息共识](/glossary/#holographic-consensus)来协调和管理资金,这意味着没有人能够影响其未来或治理。
-
-## 加入/创立去中心化自治组织 {#join-start-a-dao}
-
-### 加入去中心化自治组织 {#join-a-dao}
-
-- [以太坊社区中的去中心化自治组织](/community/get-involved/#decentralized-autonomous-organizations-daos)
-- [DAOHaus 的去中心化自治组织列表](https://app.daohaus.club/explore)
-- [Tally.xyz 的去中心化自治组织列表](https://www.tally.xyz)
-
-### 创立去中心化自治组织 {#start-a-dao}
-
-- [使用 DAOHaus 创立去中心化自治组织](https://app.daohaus.club/summon)
-- [从 Tally 开创治理去中心化自治组织](https://www.tally.xyz/add-a-dao)
-- [创立由 Aragon 支持的去中心化自治组织](https://aragon.org/product)
-- [创立 colony](https://colony.io/)
-- [使用 DAOstack 的全息共识机制创建去中心化自治组织](https://alchemy.daostack.io/daos/create)
-
-## 延伸阅读 {#further-reading}
-
-### 去中心化自治组织相关文章 {#dao-articles}
-
-- [什么是去中心化自治组织?](https://aragon.org/dao)– [Aragon](https://aragon.org/)
-- [去中心化自治组织之家](https://wiki.metagame.wtf/docs/great-houses/house-of-daos) – [Metagame](https://wiki.metagame.wtf/)
-- [什么是去中心化自治组织,其宗旨是什么?](https://daohaus.substack.com/p/-what-is-a-dao-and-what-is-it-for) – [DAOhaus](https://daohaus.club/)
-- [如何创立由去中心化自治组织提供支持的数字社区](https://daohaus.substack.com/p/four-and-a-half-steps-to-start-a) – [DAOhaus](https://daohaus.club/)
-- [什么是去中心化自治组织?](https://coinmarketcap.com/alexandria/article/what-is-a-dao) – [Coinmarketcap](https://coinmarketcap.com)
-- [什么是全息共识?](https://medium.com/daostack/holographic-consensus-part-1-116a73ba1e1c) - [DAOstack](https://daostack.io/)
-- [《去中心化自治组织不是公司:去中心化在自治组织中很重要》,作者 Vitalik](https://vitalik.eth.limo/general/2022/09/20/daos.html)
-- [去中心化自治组织、数据可用性委员会、数据可用性等等:不完整术语指南](https://blog.ethereum.org/2014/05/06/daos-dacs-das-and-more-an-incomplete-terminology-guide) - [以太坊博客](https://blog.ethereum.org)
-
-### 视频 {#videos}
-
-- [什么是加密货币中的去中心化自治组织?](https://youtu.be/KHm0uUPqmVE)
-- [去中心化自治组织能构建一座城市吗?](https://www.ted.com/talks/scott_fitsimones_could_a_dao_build_the_next_great_city) – [TED](https://www.ted.com/)
-
-
-
-
diff --git a/public/content/translations/zh/06) Use Cases/defi/index.md b/public/content/translations/zh/06) Use Cases/defi/index.md
deleted file mode 100644
index 57dfc7c2494..00000000000
--- a/public/content/translations/zh/06) Use Cases/defi/index.md
+++ /dev/null
@@ -1,357 +0,0 @@
----
-title: 去中心化金融 (DeFi)
-description: 以太坊上的去中心化金融简介
-lang: zh
-template: use-cases
-emoji: ":money_with_wings:"
-image: /images/use-cases/defi.png
-alt: 由乐高积木拼成的以太坊徽标。
-sidebarDepth: 2
-summaryPoint1: 当前金融体系的全球性、开放性替代方案。
-summaryPoint2: 允许用户进行借贷、储蓄、投资、交易等等的产品。
-summaryPoint3: 基于开源技术,任何人都可以来编程。
----
-
-去中心化金融是专为互联网时代构建的开放式全球金融系统,可替代不透明、控制严格并由几十年前的基础设施和流程支撑的系统。 让你可以控制和了解自己的资金。 让你有机会接触全球市场,并可以替代当地货币或银行业务。 去中心化金融产品向任何有互联网连接的人开放金融服务,产品主要由用户创造和维护。 迄今为止,价值数百亿美元的加密货币已经通过去中心化金融应用程序流动,而且每天都在增长。
-
-## 什么是去中心化金融? {#what-is-defi}
-
-去中心化金融是金融产品和服务的统称,任何可以使用以太坊(具有互联网连接)的人都可以访问这些产品和服务。 有了去中心化金融,市场始终开放,没有集中管理机构可以阻止付款或拒绝访问任何内容。 以前有可能出现人为错误的缓慢服务,替代为由任何人都可以检查和审查的代码来处理,变得自动和安全。
-
-这是一个蓬勃发展的加密经济,你可以在那里放贷、借款、做多/做空、赚取利息等等。 精通加密技术的阿根廷人已经使用去中心化金融来逃避严重的通货膨胀。 公司已经开始实时向员工发放工资。 有些人甚至在不需要任何个人身份证明的情况下,就已经获得或偿还了价值数百万美元的贷款。
-
-
-
-## 去中心化金融与传统金融 {#defi-vs-tradfi}
-
-了解去中心化金融潜力的最佳方法是了解目前存在的问题。
-
-- 有些人无法设立银行帐户或使用金融服务。
-- 无法获得金融服务会阻碍人们就业。
-- 金融机构可能会阻止你获得报酬。
-- 金融服务的一个隐性收费就是个人数据。
-- 政府和中央机构可以随意关闭市场。
-- 交易时间通常受特定时区的营业时间限制。
-- 由于内部的人工流程,资金转移可能需要几天时间。
-- 金融服务存在溢价,因为中介机构需要分成。
-
-### 对比 {#defi-comparison}
-
-| 去中心化金融 | 传统金融 |
-| --------------------------------- | ------------------------------------ |
-| 你持有你的钱。 | 资金由机构持有。 |
-| 你可以控制自己的资金流向和使用方式。 | 你必须相信机构不会出现资金管理不善问题,比如不会将钱借给高风险借款人。 |
-| 资金转移在几分钟内完成。 | 如果人工处理,支付可能需要几天时间。 |
-| 匿名交易。 | 金融活动与你的身份紧密相连。 |
-| 去中心化金融对任何人开放。 | 你必须申请使用金融服务。 |
-| 交易时间 24 小时不间断。 | 根据人工作息时间制定交易时间。 |
-| 建立在透明基础上 - 任何人都可以查看产品数据并检查系统运行状况。 | 金融机构是闭门造车:你不能要求查看他们的贷款历史,管理资产的记录,等等。 |
-
-
- 探索去中心化金融应用程序
-
-
-## 从比特币开始... {#bitcoin}
-
-从某种程度来讲,比特币是第一款去中心化金融应用程序。 比特币让你真正拥有和掌控价值,并可将其发送到世界任何地方。 为实现这一点,它提供了一种方式,让众多互不信任的人在无需可信赖中介的情况下,就帐户的账本达成一致。 比特币向所有人公开,任何人都无权更改其规则。 比特币的规则(例如稀缺性和开放性),都写入了技术中。 与传统金融不同:在传统金融中,政府可以印钞使你的存款贬值,而机构则可以关闭市场。
-
-以太坊便以此为基础。 就像比特币一样,规则不会因你而改变,而且每个人都可以得到。 使用[智能合约](/glossary/#smart-contract)技术还可以让这种数字货币可编程,使其功能不仅仅限于储蓄和交易。
-
-
-
-## 可编程货币 {#programmable-money}
-
-这听起来很奇怪……“我为什么会想对钱进行编程”? 然而,这只是以太坊代币的一个默认功能。 任何人都可以对逻辑编程,以生成支付。 这样,你就可以将比特币的控制权和安全性与传统金融机构提供的服务相结合。 然后,你就可以用加密货币做一些比特币做不到的事情,比如借贷、预约付款、投资指数基金等等。
-
-
- 如果你不熟悉以太坊,请尝试我们推荐的去中心化金融应用程序。
-
- 探索去中心化金融应用程序
-
-
-
-## 你可以用去中心化金融做什么? {#defi-use-cases}
-
-大多数金融服务都有去中心化的替代方案。 但以太坊也为打造全新的金融产品开辟了机会。 这个清单还在不断增长。
-
-- [向世界各地汇款](#send-money)
-- [在全球范围内流转资金](#stream-money)
-- [获取稳定货币](#stablecoins)
-- [抵押借款](#lending)
-- [无抵押借款](#flash-loans)
-- [开始加密货币存款](#saving)
-- [交易代币](#swaps)
-- [扩充你的投资组合](#investing)
-- [为你的想法提供资金](#crowdfunding)
-- [购买保险](#insurance)
-- [管理你的投资组合](#aggregators)
-
-
-
-### 向世界各地快速汇款 {#send-money}
-
-作为一个区块链,以太坊设计用于让用户在全球范围内安全地发送交易。 与比特币一样,以太坊使得向世界各地发送资金就像发送电子邮件一样容易。 只需从钱包中输入收款人的[以太坊域名服务名称](/glossary/#ens)(如 bob.eth)或他们的帐户地址,你的付款(通常)将在几分钟内直接到达对方帐户。 要发送或接收付款,你将需要一个[钱包](/wallets/)。
-
-
- 查看支付 dapp
-
-
-#### 在全球范围内流转资金... {#stream-money}
-
-你也可以通过以太坊汇款。 这可以让你秒速支付某人的工资,让他们可以在需要时获得资金。 或者立刻租用一些物品,如储物柜或电动滑板车。
-
-而且,如果你因为以太币的价值波动过大而不想发送或流式传输[以太币](/glossary/#ether),以太坊上还有其他可供选择的货币:[稳定币](/glossary/#stablecoin)。
-
-
-
-### 获取稳定货币 {#stablecoins}
-
-对很多金融产品和一般支出来说,数字货币的波动都是问题。 去中心化金融社区已经通过稳定币解决了这个问题。 它们的价值始终与其他资产挂钩,通常是像美元这样的通用货币。
-
-Dai 或 USDC 等代币的价值和美元的差距通常保持在几美分以内。 这使他们能够完美地用于收入或零售。 在政府发行的货币出现巨大不确定性的时候,拉丁美洲的许多人都曾使用稳定币作为保护储蓄的一种方式。
-
-
- 关于稳定币的更多信息
-
-
-
-
-### 借款 {#lending}
-
-向去中心化供应商借钱主要有两种情况。
-
-- 点对点,意味着借款人将直接从特定贷款人那里借款。
-- 基于资金池,贷款人向借款人可以借贷的资金池提供资金(流动性)。
-
-
- 查看借款 dapp
-
-
-选择去中心化贷款人具有许多优势...
-
-#### 隐私借贷 {#borrowing-privacy}
-
-今天,贷款和借钱都围绕着相关个人进行。 在放贷前,银行需要了解你是否有能力偿还贷款。
-
-去中心化借贷无需任何一方表明自己的身份即可进行。 但是,借款人必须提供抵押品,如果他们没有偿还贷款,贷款人将自动获得抵押品。 有的贷款人甚至接受[非同质化代币](/glossary/#nft)作为抵押品。 非同质化代币是指绘画等独特资产。 [关于非同质化代币的更多信息](/nft/)
-
-这允许你在不进行征信调查或透露私人信息的情况下借钱。
-
-#### 获得全球资金 {#access-global-funds}
-
-当你选择去中心化贷款人时,可以使用来自全球各地的存款,而不仅仅是选定银行或机构保管的资金。 这使人们更容易获得贷款,并提高利率。
-
-#### 税收优惠 {#tax-efficiencies}
-
-借贷可以让你获得所需资金,而无需出售你的以太币(该行为需要征税)。 然而,你可以使用以太币作为抵押品,借入稳定币。 这不仅为你提供所需的现金流,你还可以继续持有自己的以太币。 当你需要现金时,稳定币是更好的代币,因为它们不会像以太币一样波动。 [关于稳定币的更多信息](#stablecoins)
-
-#### 闪电贷 {#flash-loans}
-
-闪电贷是一种实验性更强的去中心化借贷形式,让你在没有抵押物或未提供任何个人信息的情况下借贷。
-
-目前,非技术人员还不能广泛使用它们,但它们暗示了将来每个人都可以使用。
-
-它的工作原理是,在一次交易中放贷和还款。 如果无法偿还,资金将返还给贷款方,就像什么都没有发生过一样。
-
-经常使用的资金放入流动资金池(用于借贷的大资金池)。 如果资金在给定时刻没有使用,这就创造了一个机会,有人可以借用这些资金用于开展业务,并几乎在借入资金的同时全额偿还。
-
-这意味着必须在专门编写的交易中包含大量逻辑。 举一个简单的例子,有人可以使用闪电贷按特定价格借入尽可能多的资产,以便在价格更高的其他交易所出售资产。
-
-所以在这笔交易中,情况如下:
-
-- 以 $1.00 的价格从 A 交易所中借入 X 数量的 $asset
-- 在 B 交易所按 $1.10 的价格出售 X 数量的 $asset
-- 在 A 交易所偿还贷款
-- 赚到扣除交易费后的收益
-
-如果交易所 B 的供应突然下降,而用户无法购买足够的资金来支付原始贷款,交易就会失败。
-
-要想在传统金融世界实现上述操作,你需要大量的资金。 这些赚钱的策略仅供已经拥有财富的人士使用。 闪电贷款是一个未来的例子,在这里,拥有金钱不一定是赚钱的先决条件。
-
-
- 关于闪电贷的更多信息
-
-
-
-
-### 开始使用加密货币存款 {#saving}
-
-#### 借款 {#lending}
-
-你可以通过借出加密货币来赚取利息,并看到资金的实时增长。 现在的利率比当地银行可能高出许多(如果有幸能够使用当地的银行系统)。 下面是一个示例:
-
-- 你借出 100 Dai [稳定币](/stablecoins/),借给类似 Aave 的产品。
-- 你会收到 100 个 Aave Dai (aDai),代表你已借出的 Dai。
-- 你的 aDai 将根据利率增加,你可以看到钱包里的余额在增长。 根据[年利率](/glossary/#apr),你的钱包余额在几天甚至几小时后会显示为 100.1234 这样的数字。
-- 你可以随时提取与 aDai 余额等额的普通 Dai。
-
-
- 查看借款 dapp
-
-
-#### 无损彩票 {#no-loss-lotteries}
-
-像 PoolTogether 这样的无损彩票是一种有趣而创新的省钱方法。
-
-- 你使用 100 Dai 购买了 100 张彩票。
-- 你将收到 100 个 plDai,代表你的 100 张彩票。
-- 如果你有一张彩票中奖,你的 plDai 余额将按奖池金额增加。
-- 如果未中奖,你的 100 plDai 就会滚到进入下周的抽奖。
-- 你可以随时提取与你的 plDai 余额相等的普通 Dai。
-
-奖池由所有借出彩票存款产生的利息汇聚而成,类似上面的借贷案例。
-
-
- 尝试 PoolTogether
-
-
-
-
-### 兑换代币 {#swaps}
-
-以太坊上有数千种代币。 去中心化交易所可让你随时交易不同的代币。 你的资产永远由你掌控。 这就像前往其他国家时要兑换货币。 但去中心化金融版本从来不关闭。 市场全年全天候开放,技术支持可保证始终有人接受交易。
-
-例如,如果你想使用无损彩票 PoolTogether(如上所述),则需要类似 Dai 或 USDC 的代币。 DEX 允许你将以太币换成这些代币,并在完成交易后再换回来。
-
-
- 查看代币兑换
-
-
-
-
-### 高级交易 {#trading}
-
-对于喜欢加强控制的交易者来说,还有更多高级选项。 限价单、永续合约、保证金交易等都可实现。 通过去中心化交易,你可以获得全球流动性,市场永远不会关闭,而且你始终控制着自己的资产。
-
-使用中心化交易所时,你必须在交易前存入资产,并相信交易所会妥善处理这些资产。 当你存入资产时,它们会面临风险,因为中心化交易所对黑客来说是诱人目标。
-
-
- 查看更多交易 dapp
-
-
-
-
-### 扩充你的投资组合 {#investing}
-
-以太坊上有一些基金管理产品,它们会尝试根据你选择的策略为你的投资组合增值。 自动完成而且对每个人都开放,没有管理人员从利润中抽成。
-
-一个很好的示例是[去中心化金融指数基金](https://defipulse.com/blog/defi-pulse-index/)。 这是一支自动再平衡基金,可确保你的投资组合总是包含市值最高的去中心化金融代币。 你无需管理任何细节,并且可以随时从基金中提款。
-
-
- 查看投资去中心化应用程序
-
-
-
-
-### 为你的想法提供资金 {#crowdfunding}
-
-以太坊是一个理想的众筹平台:
-
-- 潜在的资助者可以来自任何地方 - 以太坊及其代币向世界上任何地方的任何人开放。
-- 公开透明,募捐者可以证明已经筹集了多少资金。 你甚至可以在以后的工作中追踪资金的使用情况。
-- 募捐者可以设置自动退款,例如,如果有未达到特定的最后期限和最低金额,就可以自动退款。
-
-
- 查看更多众筹去中心化应用程序
-
-
-#### 二次方融资 {#quadratic-funding}
-
-以太坊是开源软件,到目前为止,很多工作都由社区资助。 这催生了一种有趣的新型募资模式:二次方融资。 这有可能改进我们在未来为各种公共产品募资的方式。
-
-二次方募资确保获得最多资金的项目是那些具有最独特需求的项目。 换句话说,就是那些能够改善大多数人生活的项目。 其运作方式如下:
-
-1. 有一个相应的捐助资金库。
-2. 开始一轮公共融资。
-3. 人们可以通过捐资来表明对一个项目的需求。
-4. 一旦这轮结束,匹配池的资金就会分配给项目。 那些需求最独特的项目会从匹配池中获得最高金额。
-
-这意味着获得 100 笔 1 美元捐款的项目 A 最终可能比获得 1 笔 1 万美元捐款的项目 B 获得更多资金(取决于匹配池的大小)。
-
-
- 关于二次方融资的更多信息
-
-
-
-
-### 保险 {#insurance}
-
-去中心化保险旨在使保险更便宜、支付速度更快且更加透明。 随着自动化程度的提高,保险的价格更加低廉,赔付的速度也快了很多。 用来决定你的索赔的数据完全透明。
-
-就像任何软件一样,以太坊产品也可能出现漏洞。 因此,目前该领域中的许多保险产品都致力于保护用户免受资金损失。 然而,一些项目开始构建全面覆盖我们生活中可能出现的各种情况的保险方案。 Etherisc 的作物保护就是一个很好的例子,其目的是[保护肯尼亚的小农户对抗干旱和洪水侵袭](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc)。 去中心化保险可以为那些经常被传统保险拒之门外的农民提供更便宜的保险。
-
-
- 查看保险去中心化应用程序
-
-
-
-
-### 聚集者和投资组合管理 {#aggregators}
-
-拥有了这么多种服务,你需要一种方法来跟踪跟踪所有投资、贷款和交易。 有许多产品可以让你集中协调所有去中心化金融活动。 这就是去中心化金融开放架构的魅力所在。 团队可以创建界面,你不仅可以看到各个产品中的余额,也可以使用其功能。 当你探索更多的去中心化金融时,可能会发现这个很有用。
-
-
- 查看投资组合去中心化应用程序
-
-
-
-
-## 去中心化金融如何运作? {#how-defi-works}
-
-去中心化金融使用加密货币和智能合约提供服务,无需中介。 在现代金融体系下,金融机构充当交易的担保人。 因为你的资产通过这些机构流通,从而为这些机构赋予了巨大的权力。 世界上还有数十亿人甚至无法使用银行帐户。
-
-在去中心化金融,智能合约取代了交易中的金融机构。 智能合约是一种以太坊帐户,可以持有资金,并可以根据某些条件发送/退还资金。 智能合约上线时,没有人可以改变其有效期,它会始终按程序运行。
-
-一份旨在发放补贴或零用钱的合同可以被编程为:每周五从 A 帐户向 B 帐户汇款。 只有帐户 A 拥有所需资金,它才会这样做。 没有人可以改变智能合约并将帐户 C 添加为收款人以窃取资金。
-
-合约也是公开的,任何人都可以检查和审核。 这意味着不良合约往往会很快受到社会监督。
-
-这确实意味着,目前需要信任以太坊社区中能够读取代码的技术员。 基于开源的社区有助于控制开发者,但是随着时间的推移,这种需求将逐渐减少,因为智能合约变得更易于阅读。并且开发了其他方法来证明代码的可信赖性。
-
-## 以太坊与去中心化金融 {#ethereum-and-defi}
-
-以太坊为去中心化金融提供了良好基础,原因如下:
-
-- 没有人拥有以太坊或部署在以太坊上的智能合约 - 这让每个人都有机会使用去中心化金融。 这也意味着任何人都不能改变规则。
-- 去中心化金融产品都使用相同的语言:以太坊。 这意味着许多产品能够无缝合作。 你可以在一个平台上借出代币,并通过完全不同的应用程序在不同的市场上交换带利息的代币。 这就像能够在银行兑现忠诚度积分。
-- 代币和加密货币内置在以太坊这个共享账本上的 - 记录交易和所有权是以太坊的事情。
-- 以太坊可实现完全财务自由 - 大多数产品永远不会保管你的资金,让你掌控一切。
-
-你可以把去中心化金融看成分层结构:
-
-1. 区块链 - 以太坊包含交易历史和帐户状态。
-2. 资产 - [以太币](/eth/)和其他代币。
-3. 协议 — 提供功能的[智能合约](/glossary/#smart-contract),例如,一项提供去中心化资产借贷的服务。
-4. [应用程序](/dapps/) - 我们用来管理和访问协议的产品。
-
-注意:许多去中心化金融使用 [ERC-20 标准](/glossary/#erc-20)。 去中心化金融中的应用程序使用一种称为包装以太币 (WETH) 的以太币包装器。 [了解更多关于包装以太币的信息](/wrapped-eth)。
-
-## 构建去中心化金融 {#build-defi}
-
-去中心化金融是一场开源行动。 去中心化金融协议和应用都是开放的,你可以自行检查、分叉和创新。 由于这个分层堆栈(他们都共享相同的基础区块链和资产),协议可以混合和匹配以解锁独特的组合机会。
-
-
- 关于构建去中心化应用程序的更多信息
-
-
-## 延伸阅读 {#further-reading}
-
-### 去中心化金融数据 {#defi-data}
-
-- [DeFi Prime](https://defiprime.com/)
-- [DeFi Llama](https://defillama.com/)
-
-### 去中心化金融相关文章 {#defi-articles}
-
-- [去中心化金融 (DeFi) 初学者指南](https://blog.coinbase.com/a-beginners-guide-to-decentralized-finance-defi-574c68ff43c4) – _Sid Coelho-Prabhu,2020 年 1 月 6 日_
-
-### 视频 {#videos}
-
-- [Finematics - 去中心化金融教育](https://finematics.com/) - _关于去中心化金融的视频_
-- [The Defiant](https://www.youtube.com/playlist?list=PLaDcID4s1KronHMKojfjwiHL0DdQEPDcq) - _去中心化金融基础:在这个偶尔令人困惑的空间里,你开始需要了解的一切。_
-- [Whiteboard Crypto](https://youtu.be/17QRFlml4pA) _ - 什么是去中心化金融?_
-
-### 社区 {#communities}
-
-- [去中心化金融 Llama Discord 服务器](https://discord.defillama.com/)
-- [去中心化金融 Pulse Discord 服务器](https://discord.gg/Gx4TCTk)
diff --git a/public/content/translations/zh/06) Use Cases/smart-contracts/index.md b/public/content/translations/zh/06) Use Cases/smart-contracts/index.md
deleted file mode 100644
index c7717901bc5..00000000000
--- a/public/content/translations/zh/06) Use Cases/smart-contracts/index.md
+++ /dev/null
@@ -1,82 +0,0 @@
----
-title: 智能合约
-description: 智能合约的非技术性介绍
-lang: zh
----
-
-# 智能合约简介 {#introduction-to-smart-contracts}
-
-智能合约是以太坊应用程序层的基石。 它们是存储在[区块链](/glossary/#blockchain)上的计算机程序,遵循“如果...那么...”(IFTTT) 逻辑,并且保证按照其代码定义的规则执行,智能合约一旦创建就无法更改。
-
-Nick Szabo 创造了“智能合约”这一术语。 1994 年,他撰写了[智能合约简介](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html);1996 年,他撰写了[对智能合约潜在功能的探索](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_2.html)。
-
-Szabo 构想了一个数字市场,在这个市场中,交易和商业功能可在不需要受信任中介的情况下通过[加密学保证安全](/glossary/#cryptography)的自动化流程进行。 以太坊上的智能合约将这一设想付诸实践。
-
-观看 Finematics 解释智能合约:
-
-
-
-## 传统合约中的信任问题 {#trust-and-contracts}
-
-传统合约的最大问题之一是需要可信的个人来执行合约的结果。
-
-下面是一个例子:
-
-Alice 和 Bob 要进行一场自行车比赛。 假设 Alice 和 Bob 打赌 $10 元她会赢得比赛。 Bob 相信自己会成为赢家并同意下注。 最后,Alice 远远领先 Bob 完成了比赛,并且毫无疑问是赢家。 但 Bob 拒绝支付赌注,声称 Alice 一定是作弊了。
-
-这个荒唐的例子说明了所有非智能协议存在的问题。 即使协议条件得到满足(即你是比赛的获胜者),你仍然必须要信任对方会履行协议(即支付赌注)。
-
-## 数字自动售货机 {#vending-machine}
-
-一个适合智能合约的简单比喻是自动售货机,其工作方式有点类似于智能合约 — 特定的输入保证预定的输出。
-
-- 你选择一种产品
-- 自动售货机显示出价格
-- 你付款
-- 自动售货机验证你的付款金额是否正确
-- 自动售货机给你提供产品
-
-只有在所有要求满足后,自动售货机才会提供你想要的产品。 如果你不选择产品或投入足够的钱,自动售货机将不会提供你选择的产品。
-
-## 自动执行 {#automation}
-
-智能合约的主要优点是在满足特定条件时确定地执行清晰的代码。 无需等待人来执行或商量结果。 这消除了对可信中介的需求。
-
-例如,你可以编写一个智能合约为孩子托管资金,并允许他们在特定日期后提取资金。 如果他们试图在指定日期前提取资金,智能合约将无法执行。 或者你可以编写一份合约,在你向经销商付款后它会自动授予你汽车的数字化所有权。
-
-## 可预测的结果 {#predictability}
-
-传统合约比较含糊,因为它们依赖于人来解释和执行。 例如,两位法官可能会对合同有不同的解释,这可能会导致不一致的判决和不公平的结果。 智能合约消除了这种可能性。 然而,智能合约会根据合约代码中写入的条件精确执行。 这种精确性意味着在相同情况下,智能合约将产生相同的结果。
-
-## 公开的记录 {#public-record}
-
-智能合约可用于审计和跟踪。 由于以太坊智能合约位于公共区块链上,任何人都可以立即跟踪资产转移和其他相关信息。 例如,你可以检查是否有人向自己的地址发送了资金。
-
-## 隐私保护 {#privacy-protection}
-
-智能合约还可以保护你的隐私。 由于以太坊是匿名网络(你的交易公开绑定到唯一的加密地址,而不是你的身份),你可以保护你的隐私不受观察者窥探。
-
-## 可查看的条款 {#visible-terms}
-
-最后一点,与传统合约一样,你可以在签署(或以其他方式与之交互)之前检查智能合约的内容。 智能合约的透明性保证了任何人都可以进行审查。
-
-## 智能合约用例 {#use-cases}
-
-其他计算机程序可以做的事情,智能合约基本上都可以做。
-
-它们可以执行计算、创建货币、存储数据、铸造[非同质化代币](/glossary/#nft)、发送通信甚至生成图形。 以下是一些常见的真实示例:
-
-- [稳定币](/stablecoins/)
-- [创建和分发独特的数字资产](/nft/)
-- [自动、开放的货币交易所](/get-eth/#dex)
-- [去中心化游戏](/dapps/?category=gaming#explore)
-- [自动赔付的保单](https://etherisc.com/)
-- [允许创建定制、可互操作货币的标准](/developers/docs/standards/tokens/)
-
-## 延伸阅读 {#further-reading}
-
-- [智能合约将如何改变世界](https://www.youtube.com/watch?v=pA6CGuXEKtQ)
-- [智能合约:将要取代律师的区块链技术](https://blockgeeks.com/guides/smart-contracts/)
-- [面向开发者的智能合约](/developers/docs/smart-contracts/)
-- [学习编写智能合约](/developers/learning-tools/)
-- [精通以太坊 — 什么是智能合约?](https://github.com/ethereumbook/ethereumbook/blob/develop/07smart-contracts-solidity.asciidoc#what-is-a-smart-contract)
diff --git a/public/content/translations/zh/06) Use Cases/web3/index.md b/public/content/translations/zh/06) Use Cases/web3/index.md
deleted file mode 100644
index 7ec2828b794..00000000000
--- a/public/content/translations/zh/06) Use Cases/web3/index.md
+++ /dev/null
@@ -1,157 +0,0 @@
----
-title: 什么是 Web3 以及它为何很重要?
-description: 下一代互联网 - Web3简介及其重要性
-lang: zh
----
-
-# Web3 简介 {#introduction}
-
-中心化网络已经帮助数十亿人融入了互联网,并在其上创建了稳定、可靠的基础设施。 与此同时,少数中心化巨头几乎垄断了互联网,甚至可以为所欲为。
-
-Web3 是摆脱这一困境的方案。 不同于科技巨头垄断的传统互联网,Web3 采用去中心化,由所有用户构建、运营和拥有。 Web3 将权力赋予个人而非公司。 在我们讨论 Web3 之前,先来看看我们是如何走到这一步的。
-
-
-
-## 早期的网络 {#early-internet}
-
-大多数人认为互联网是现代生活的一个持续支柱—自发明出来后就一直存在。 然而,我们今天大多数人所熟知的互联网与最初的想象有很大不同。 为了便于理解,可以将过去短暂的互联网历史分为两个时期—Web 1.0 和 Web 2.0。
-
-### Web 1.0:只读 (1990-2004) {#web1}
-
-1989年,在日内瓦的欧洲核子研究中心,Tim Berners-Lee 正忙于开发将成为万维网的协议。 他的想法是什么呢? 创建一种开放的、去中心化协议,在地球上任何角落实现信息共享。
-
-Berners-Lee 创造的第一个万维网雏形,现在被称为“Web 1.0”,大约在 1990 年至 2004 年之间形成。 Web 1.0 主要是由公司拥有的静态网站,用户之间的互动几乎为零 - 个人很少创造内容,导致它被称为只读网络。
-
-![客户端服务器架构,代表 Web 1.0](./web1.png)
-
-### Web 2.0:能读能写(2004 年 - 至今) {#web2}
-
-随着社交媒体平台的出现,Web 2.0 时期于 2004 年开启。 网络不再是只读的,它演变成读写网络。 互联网公司除了向用户提供内容外,还开始提供平台来共享用户生产的内容,并参与用户间的交互。 随着越来越多的人上网,少数互联网巨头开始掌控网络上海量的流量和价值。 Web 2.0 还催生了广告驱动的盈利模式。 虽然用户可以创作内容,但他们并不拥有内容或通过将内容变现来获益。
-
-![客户端服务器架构,代表 Web 2.0](./web2.png)
-
-
-
-## Web 3.0:能读 - 能写 - 能拥有 {#web3}
-
-2014 年以太坊推出后不久,[以太坊](/what-is-ethereum/)联合创始人 Gavin Wood 就提出了“Web 3.0”的前提。 Gavin 为许多早期加密技术采用者所面临的问题,即互联网需要过多的信任,提供了一种解决方案。 也就是说,今天人们所知道和使用的大部分网络服务都依赖于对少数私人公司的信任,期待他们能以公众的最佳利益行事。
-
-![去中心化节点架构,代表 Web3](./web3.png)
-
-### 什么是 Web3? {#what-is-web3}
-
-Web3 已成为一个包罗万象的术语,代表了一个新的、更好的互联网愿景。 Web3 的核心是通过区块链、加密货币和非同质化代币将权力以所有权的形式归还用户。 [Twitter 上 2020 年的一篇帖子](https://twitter.com/himgajria/status/1266415636789334016)一语中的:Web1 是只读的,Web2 能读/能写,未来的 Web3 能读/能写/能拥有。
-
-#### Web3 的核心思想 {#core-ideas}
-
-尽管很难对 Web3 做出严格的定义,但它是在几项核心原则的指引下创建的。
-
-- **Web3 是去中心化的:**大部分互联网不是由中心化实体控制和拥有的,而是由构建者和用户分配所有权。
-- **Web3 无需许可:**每个人都有参与 Web3 的平等权限,没有人被排除在外。
-- **Web3 具有原生支付功能:**它使用加密货币进行线上消费和汇款,而不是依赖传统银行或第三方支付机构过时的基础设施。
-- **Web3 去信任:**它通过激励措施和经济机制运转,而不是依赖受信任的第三方。
-
-### 为什么 Web3 很重要? {#why-is-web3-important}
-
-尽管 Web3 的卓越特性不是孤立的,无法简单归类,但为简便起见,我们还是尝试将它们分开以便更易于理解。
-
-#### 所有权 {#ownership}
-
-Web3 以前所未有的方式赋予你数字资产的所有权。 例如,假设你正在玩一个 Web2 游戏。 如果你购买游戏内物品,它会直接与你的帐户绑定。 如果游戏创建者删除你的帐户,你将丢失这些物品。 或者如果你停止玩游戏,你将失去投资到游戏内物品的价值。
-
-Web3 允许通过[非同质化代币 (NFT)](/glossary/#nft) 直接拥有所有权。 任何人甚至是游戏创作者,都没有权力剥夺你的所有权。 而且,如果你停止玩这个游戏,你可以在公开市场上出售或交易你的游戏内物品并收回它们的价值。
-
-
- 了解更多有关非同质化代币的更多信息
-
- 关于非同质化代币的更多信息
-
-
-
-#### 抗审查 {#censorship-resistance}
-
-平台和内容创作者之间的权力关系严重失衡。
-
-OnlyFans 是一个由用户生产内容的成人网站,拥有 100 多万内容创作者,其中许多人将该平台作为他们的主要收入来源。 2021 年 8 月,OnlyFans 宣布了禁止色情内容的计划。 这个公告在平台创作者中引发了愤怒,他们感觉自己在帮助创建了平台后被剥夺了收入。 在遭遇强烈反对之后,这个决定很快被推翻。 尽管创作者赢得了这场战斗,但它突显了 Web 2.0 创作者的一个困境:如果离开一个平台,就会失去在平台积攒的声誉和关注。
-
-在 Web3,你的数据位于区块链上。 当你决定离开一个平台时,你可以将你的声誉带走,将其带进另一个更符合你的价值观的平台。
-
-Web 2.0 需要内容创作者信任平台不会更改规则,但抗审查则是 Web3 平台的原生特性。
-
-#### 去中心化自治组织 (DAO) {#daos}
-
-在 Web3 中,除了拥有你的数据之外,通过使用类似于公司股票的代币,你还可以作为集体中的一员拥有这个平台。 去中心化自治组织让你可以协调平台的分散化所有权,以及对平台的未来做出决策。
-
-去中心化自治组织在技术上被定义为事先商定的[智能合约](/glossary/#smart-contract),可以自动做出关于资源池(代币)的去中心化决策。 拥有代币的用户对资源的使用方式进行投票,代码自动执行投票结果。
-
-然而,许多 Web3 社区都被定义为去中心化自治组织。 这些社区都通过代码实现了不同程度的去中心化和自动化。 目前,我们仍在探索去中心化自治组织是什么以及它们在未来会如何发展。
-
-
- 了解更多有关去中心化自治组织的信息
-
- 关于去中心化自治组织的更多信息
-
-
-
-### 身份 {#identity}
-
-通常,你需要为使用的每个平台创建一个帐户。 例如,你可能有 Twitter 帐户、YouTube 帐户和 Reddit 帐户。 想要更改你的显示名称或个人资料图片? 你必须在每个帐户中执行此操作。 在某些情况下,你可以使用社交媒体帐户登录,但这会带来一个常见的问题—审查。 只需点一下,这些平台就可以封锁你的整个线上生活。 更糟糕的是,许多平台要求你给他们提供你的个人识别信息才能创建帐户。
-
-Web3 允许你使用以太坊地址和[以太坊域名服务 (ENS)](/glossary/#ens) 配置文件控制你的数字身份,从而解决了这些问题。 使用以太坊地址可以提供跨平台单点登录,这种登录安全、抗审查并且匿名。
-
-### 原生支付功能 {#native-payments}
-
-Web2 的支付基础设施依赖于银行和第三方支付机构,这就把没有银行帐户或碰巧生活在某些“不好”国家/地区的人排除在外。 Web3 使用诸如[以太币](/glossary/#ether)之类的代币直接在浏览器中汇款,不需要受信任的第三方。
-
-
- 有关以太币的更多信息
-
-
-## Web3 的局限性 {#web3-limitations}
-
-尽管现有形式的 Web3 有许多优点,但这一生态系统仍须克服许多限制才能繁荣发展。
-
-### 可访问性 {#accessibility}
-
-如今,人人都可以使用重要的 Web3 功能,例如使用以太坊登录,而且不会有任何费用。 但是,相对较高的交易成本仍然让许多人望而却步。 由于高昂的交易费用,Web3 不大可能在不太富裕的发展中国家使用。 在以太坊,正在通过[路线图](/roadmap/)和[二层网络扩容解决方案](/glossary/#layer-2)解决这些难题。 技术现成可用,但我们需要提高技术在二层网络的采用程度,才能让每个人都能使用 Web3。
-
-### 用户体验 {#user-experience}
-
-目前使用 Web3 的技术门槛太高了。 用户必须了解安全问题,通晓复杂的技术文档并浏览晦涩的用户界面。 [钱包提供商](/wallets/find-wallet/)正在努力着重解决这个问题,但在 Web3 大规模采用之前还有很长的路要走。
-
-### 教育 {#education}
-
-Web3 引入了新的范式,这些范式要求学习不同于 Web2.0 上使用的心理模型。 随着 Web1.0 在 90 年代后期兴起,类似的教育活动也出现了。万维网的支持者使用一系列教育技术来教育公众,从简单的比喻(信息高速公路、浏览器、网上冲浪)到[电视播放](https://www.youtube.com/watch?v=SzQLI7BxfYI)等等不一而足。 Web3 并不难但却不同。 让 Web2 用户了解这些 Web3 范式的教育计划对其成功至关重要。
-
-Ethereum.org 通过我们的[翻译计划](/contributing/translation-program/)推动 Web3 教育,旨在将重要的以太坊内容翻译成尽可能多的语言。
-
-### 中心化基础设施 {#centralized-infrastructure}
-
-Web3 生态系统很年轻,并且正在迅速发展。 因此,它目前主要依赖中心化基础设施(GitHub、Twitter、Discord 等)。 许多 Web3 公司争先恐后填补这些空白,但构建高质量、可靠的基础设施需要时间。
-
-## 去中心化的未来 {#decentralized-future}
-
-Web3 是一个年轻且不断发展的生态系统。 Gavin Wood 在 2014 年创造了这个术语,但其中许多想法直到最近才成为现实。 仅在去年,我们就经历了人们对加密货币的兴趣大增、二层网络扩容解决方案的改进、新治理形式的大规模实验以及数字身份的革命。
-
-我们才刚刚开始用 Web3 创建更美好的互联网,但随着我们持续改进它的基础设施,互联网的未来看起来一片光明。
-
-## 我如何参与 {#get-involved}
-
-- [获取钱包](/wallets/)
-- [寻找社区](/community/)
-- [探索 Web3 应用程序](/dapps/)
-- [加入去中心化自治组织](/dao/)
-- [基于 Web3 构建](/developers/)
-
-## 延伸阅读 {#further-reading}
-
-Web3 没有严格的定义。 不同的社区参与者对其有不同的看法。 例如:
-
-- [什么是 Web3? 解析未来的去中心化互联网](https://www.freecodecamp.org/news/what-is-web3/) – _Nader Dabit_
-- [理解 Web 3](https://medium.com/l4-media/making-sense-of-web-3-c1a9e74dcae) – _ Josh Stark_
-- [为什么 Web3 很重要](https://future.a16z.com/why-web3-matters/) — _Chris Dixon_
-- [为什么去中心化很重要](https://onezero.medium.com/why-decentralization-matters-5e3f79f7638e) - _Chris Dixon_
-- [Web3 概况](https://a16z.com/wp-content/uploads/2021/10/The-web3-Readlng-List.pdf) – _a16z_
-- [Web3 之辩论](https://www.notboring.co/p/the-web3-debate?s=r) – _Packy McCormick_
-
-
diff --git a/public/content/translations/zh/07) Staking Pages/staking/dvt/index.md b/public/content/translations/zh/07) Staking Pages/staking/dvt/index.md
deleted file mode 100644
index 289163edbed..00000000000
--- a/public/content/translations/zh/07) Staking Pages/staking/dvt/index.md
+++ /dev/null
@@ -1,91 +0,0 @@
----
-title: 分布式验证者技术
-description: 分布式验证技术实现多个参与方完成以太坊验证者的分布式操作。
-lang: zh
----
-
-# 分布式验证者技术 {#distributed-validator-technology}
-
-分布式验证者技术 (DVT) 是一种保障验证者安全的方法,它将密钥管理和签名责任分摊给多个参与方,从而减少单点故障并增强验证者的弹性。
-
-这项技术通过将用于保护验证者安全的**私钥拆分**并将其分布到组成“集群”的**多台计算机**上来实现这一点。 这样做的好处是攻击者取得密钥的难度将非常大,因为密钥并没有完整地存储在任意一台机器上。 该技术还允许某些节点离线,因为每个集群中的一部分计算机就可以完成必要的签名操作。 这就减少了网络中的单点故障并让整个验证者组更加稳定。
-
-![示意图,展示单个验证者密钥如何拆分成密钥分片并分布到多个具有不同组件的节点。](./dvt-cluster.png)
-
-## 为什么需要分布式验证者技术? {#why-do-we-need-dvt}
-
-### 安全性 {#security}
-
-验证者生成两个公私密钥对:验证者密钥用于参与共识,提款密钥用来获取资金。 虽然验证者可以将提款密钥存储在冷存储中以确保安全,但验证者私钥必须 24 小时在线。 如果验证者私钥泄漏,攻击者便可控制该验证者,可能致使质押人的以太币受到罚没或损失。 分布式验证者技术有助于降低这种风险。 具体方式如下:
-
-使用分布式验证者技术,质押人可以参与质押,同时将验证者私钥保存在冷存储中。 这是通过对完整的原始验证者密钥进行加密,然后再拆分成多个密钥分片实现的。 密钥分片是在线的并分布到多个节点,因此实现了验证者的分布式操作。 之所以能这样做,是因为以太坊验证者使用了累加型 BLS 签名,这意味着完整的密钥可以通过将其各个组成部分合并来重构。 这样,质押人就能保证完整的原始“主”验证者密钥在线下安全。
-
-### 消除单点故障 {#no-single-point-of-failure}
-
-如果将一个验证者拆分到多个运营商和多台机器,就算个别硬件和软件出现故障,验证者也不会离线。 也可以通过在集群中的所有节点上使用不同的硬件和软件配置来降低故障风险。 单节点验证者配置并不具备这种弹性,这种弹性源自分布式验证者技术层。
-
-如果集群中某台机器的一个组件发生故障(例如,验证者集群中有四个运营者,其中一个运营者使用了有漏洞的特定客户端),其他机器也能保证验证者继续运行。
-
-### 去中心化 {#decentralization}
-
-对于以太坊而言,最理想的情况就是独立运行的验证者越多越好。 然而,一些质押服务提供商已经非常普及,占有了网络上以太币总质押量的很大一部分。 分布式验证者技术允许这些运营者继续存在,同时保持质押的去中心化。 这是因为每个验证者的密钥都分布在多台机器上,一个验证者要想做出恶意行为就需要更大程度的共谋。
-
-如果没有分布式验证者技术,质押服务提供商就更加容易地让其所有验证者仅支持一到两种客户端配置,这会加大客户端漏洞的影响。 可使用分布式验证者技术将风险分散到多种客户端配置和不同的硬件,通过多样化实现弹性。
-
-**分布式验证者技术让以太坊具有以下优点:**
-
-1. 以太坊权益证明共识的**去中心化**
-2. 网络**活力**有保障
-3. 实现验证者的**容错能力**
-4. 验证者操作**信任最小化**
-5. **最大限度降低了罚没**和停机风险
-6. **提升了多样性**(客户端、数据中心、位置、监管等)
-7. 验证者密钥管理**安全性增强**
-
-## 分布式验证者技术原理 {#how-does-dvt-work}
-
-分布式验证者技术解决方案包括以下部分:
-
-- **[Shamir 秘钥分存](https://medium.com/@keylesstech/a-beginners-guide-to-shamir-s-secret-sharing-e864efbf3648)** - 验证者使用 [BLS 密钥](https://en.wikipedia.org/wiki/BLS_digital_signature)。 各个 BLS “密钥分片”(“密钥分片”)可以合并成单个聚合密钥(签名)。 在分布式验证者技术中,验证者的私钥是集群中每个运营者的合并 BLS 签名。
-- **[阈值签名方案](https://medium.com/nethermind-eth/threshold-signature-schemes-36f40bc42aca)** - 确定履行签名职责所需的单个密钥分片的数量,例如,4 个密钥分片中的 3 个。
-- **[分布式密钥生成 (DKG)](https://medium.com/toruslabs/what-distributed-key-generation-is-866adc79620)** - 一种加密过程,生成密钥分片并用于将已有或新验证者密钥分片分布到集群中的节点。
-- **[多方计算 (MPC)](https://messari.io/report/applying-multiparty-computation-to-the-world-of-blockchains)** - 完整的验证者密钥是使用多方计算秘密生成的。 任何一个运营者都不知道完整的密钥—他们只知道自己的那一部分(即他们的“分片”)。
-- **共识协议** - 共识协议选择一个节点作为区块提议者。 提议者与集群中的其他节点共享该区块,这些节点将其密钥分片添加到聚合签名中。 当聚合了足够的密钥分片后,该区块便在以太坊上提出。
-
-分布式验证者具有内置容错能力,即使个别节点离线也能继续运行。 也就是说,即使集群中的某些节点最终变成恶意节点或懒惰节点,这个集群依然具有弹性。
-
-## 分布式验证者技术使用案例 {#dvt-use-cases}
-
-分布式验证者技术对更广泛的质押行业具有重大影响:
-
-### 独立质押人 {#solo-stakers}
-
-分布式验证者技术支持非托管质押,它允许用户将自己的验证者密钥分布在多个远程节点上并在线下保存完整密钥。 这也意味着家庭质押人未必需要在硬件上支出费用,而且将密钥分片分布存放能帮助他们加强对潜在黑客攻击的抵御。
-
-### 质押即服务 (SaaS) {#saas}
-
-管理多个验证者的运营者(如质押池和机构质押人)可以使用分步式验证者技术降低风险。 通过对其基础设施进行分布,这些运营者可以增加操作冗余,并实现所用硬件种类的多样化。
-
-分步式验证者技术将密钥管理责任分摊到多个节点,这意味着部分操作成本也可以分摊。 分步式验证者技术也可以降低质押服务提供商的运营风险和保险成本。
-
-### 质押池 {#staking-pools}
-
-由于标准验证者设置,质押池和流动质押服务提供商被迫采用不同的单一运营者信任级别,因为整个质押池中的盈亏都是依据社会化原则进行的。 质押池和流动质押服务提供商还依赖运营者来保护签名密钥的安全,因为到目前为止还没有其他方案。
-
-尽管一直以来,我们都在通过将质押分布给多个运营者来努力分散风险,但每个运营商仍单独管理着大量质押。 依赖单一运营者存在巨大风险,因为它们可能表现不佳、遭遇停机、受到攻击或者有恶意行为。
-
-利用分布式验证者技术,对运营者的信任会显著降低。 **池可以让运营者持有质押,而无需保管验证者密钥**(因为只会用到密钥分片)。 这项技术还允许被管理的质押在更多运营者之间分布(例如,分布式验证者技术可让 1000 个验证者由多个运营者共同运行,而不是让单个运营者管理它们)。 不同的运营者配置将确保在一个运营者停止运行,其余运营者仍可进行证明。 这提高了冗余和多样性,从而提升了性能和弹性,同时最大限度地提高了回报。
-
-最大限度降低单一运营者信任的另一个优点是,质押池可以允许更加开放且无需许可的运营者参与。 这样,服务商可以通过使用精选且无需许可的运营者(例如,将家庭质押人或更多小型质押人者与大型质押人配对)来降低其风险,并支持以太坊的去中心化。
-
-## 使用分布式验证者技术的潜在弊端 {#potential-drawbacks-of-using-dvt}
-
-- **额外组件**- - 引入一个分布式验证者技术节点就会增加一个可能存在故障或漏洞的部分。 要缓解这一问题,一种方法是争取实现多个分布式验证者技术节点,也就是多个分布式验证者技术客户端(类似于共识层和执行层有多个客户端的情况)。
-- **运营成本** - 由于分布式验证者技术将验证者分布在多个参与方之间,因此需要更多的节点进行操作,而不是只有一个节点,这就带来了运营成本的增加。
-- **可能会增加延迟** - 因为分布式验证者技术利用共识协议在多个运行验证者的节点之间达成共识,这可能会增加延迟。
-
-## 延伸阅读 {#further-reading}
-
-- [以太坊分布式验证者规范(高级)](https://github.com/ethereum/distributed-validator-specs)
-- [以太坊分布式验证者技术规范](https://github.com/ethereum/distributed-validator-specs/tree/dev/src/dvspec)
-- [Shamir 密钥分存演示应用](https://iancoleman.io/shamir/)
diff --git a/public/content/translations/zh/07) Staking Pages/staking/pools/index.md b/public/content/translations/zh/07) Staking Pages/staking/pools/index.md
deleted file mode 100644
index 4e9397a23c7..00000000000
--- a/public/content/translations/zh/07) Staking Pages/staking/pools/index.md
+++ /dev/null
@@ -1,86 +0,0 @@
----
-title: 联合质押
-description: 简要介绍如何开始以太币联合质押
-lang: zh
-template: staking
-emoji: ":money_with_wings:"
-image: /images/staking/leslie-pool.png
-alt: 莱斯利犀牛在泳池中游泳。
-sidebarDepth: 2
-summaryPoints:
- - 通过联合其他人质押任意数量的以太币获得奖励
- - 跳过硬件部分,将验证者操作委托给第三方
- - 在自己的钱包中保存质押代币
----
-
-## 什么是质押池? {#what-are-staking-pools}
-
-激活一组验证者密钥需要 32 个以太币,而质押池这种协作方式使拥有少量以太币的人能够满足这一条件。 协议本身并不支持联合功能,因此需要单独创建解决方案来满足这一需求。
-
-一些资金池使用智能合约运行,资金会存入一个合约中,该合约以去信任的方式管理和跟踪你的质押,并向你发放代表该价值的代币。 其他资金池不涉及智能合约,而是在链下促成。
-
-## 为什么要联合质押? {#why-stake-with-a-pool}
-
-除了我们在[质押简介](/staking/)中概述的好处之外,联合质押还有许多独有益处。
-
-
-
-
-
-
-
-
-
-## 需考虑事项 {#what-to-consider}
-
-联合质押和委托质押并未得到以太坊的原生支持,但是为满足用户质押少于 32 个以太币的需求,越来越多的方案已经开始建立。
-
-每种质押池和它们使用的工具或智能合约均由不同的团队创建,因此都各有优点和风险。 质押池能够让用户使用以太币兑换代表已质押以太币的代币。 代币的用处在于允许用户在去中心化交易所将任意数量的以太币兑换成同等数量的可产生收益的代币,从底层质押以太币的质押奖励获得回报(反之亦然),即便实际上以太币仍然在共识层上质押。 这意味着,可以快速便捷地在产生收益的质押以太币产品和“原始以太币”之间进行双向兑换,同时兑换数量不必是 32 个以太币的整数倍。
-
-然而,这些被质押的以太币往往会导致类似垄断的行为 — 大量质押的以太币最终处于少数中心化组织的控制之下,而非散布于许多独立的个人手中。 这就为审查或价值提取创造了条件。 质押的黄金标准应该始终是尽可能在自己的硬件上运行验证者的个人。
-
-[更多关于质押代币相关风险的信息](https://notes.ethereum.org/@djrtwo/risks-of-lsd)。
-
-下面使用属性指标来表示所列质押池可能具有的显著优势或劣势。 选择要加入的池时,请使用本节作为参考,了解我们如何定义这些属性。
-
-
-
-## 探索质押池 {#explore-staking-pools}
-
-有多种方案可帮助你进行设置。 上述指标可引导你了解如何使用下方的工具。
-
-
-
-
-
-请注意,选择重视[客户端多样性](/developers/docs/nodes-and-clients/client-diversity/)的服务很重要,因为这样可以提高网络安全性,还可以限制你的风险。 “执行客户端多样性”和“共识客户端多样性”表明服务可证明其在限制使用主流客户端。
-
-想要推荐其他未提到的质押工具吗? 可以查看我们的[产品上线政策](/contributing/adding-staking-products/),确定你推荐的质押工具是否合适,合适的话,请提交以供审核。
-
-## 常见问题 {#faq}
-
-
-通常,ERC-20 质押代币会发行给质押人,代表其质押以太币的价值以及奖励。 请记住,不同资金池向用户发放质押奖励的方法也略有不同,但主题却是相同的。
-
-
-
-现在!马上! 上海/卡佩拉网络升级发生在 2023 年 4 月,并引入了质押提款。 支持质押池的验证者帐户现在能够退出并将以太币提取到他们指定的提款地址。 这样你便能够赎回自己那部分质押的底层以太币。 请咨询你的提供商,了解他们如何支持此功能。
-
-或者,使用 ERC-20 质押代币的资金池允许用户在公开市场上交易该代币,从而使你能够出售你的质押头寸,有效地“提款”,而无需实际从质押合约中移除以太币。
-
-更多关于质押提款的信息
-
-
-
-这些联合质押方案和中心化交易所之间有许多相似之处,例如能够质押少量以太币并将它们捆绑在一起以激活验证者。
-
-与中心化交易所不同,许多其他联合质押方案使用智能合约和/或质押代币,质押代币通常是 ERC-20 代币,可以保存在你自己的钱包中并像其他任何代币一样买卖。 这样你就可以控制自己的代币,从而获得了一定的自主权和安全性,但仍旧你还是无法直接控制在后台代表你进行验证的验证者客户端。
-
-涉及到支持它们的节点时,一些联合质押方案比其他方案更加分散。 为了加强网络的健康和去中心化程度,我们始终鼓励质押人选择一种无需许可即可实现节点运营商去中心化的联合服务。
-
-
-## 延伸阅读 {#further-reading}
-
-- [以太坊质押目录](https://www.staking.directory/) - _Eridian 和 Spacesider_
-- [火箭池质押 - 质押概述](https://docs.rocketpool.net/guides/staking/overview.html) - _火箭池文档_
-- [用 Lido 质押以太坊](https://help.lido.fi/en/collections/2947324-staking-ethereum-with-lido) - _Lido 帮助文档_
diff --git a/public/content/translations/zh/07) Staking Pages/staking/saas/index.md b/public/content/translations/zh/07) Staking Pages/staking/saas/index.md
deleted file mode 100644
index 536d428202b..00000000000
--- a/public/content/translations/zh/07) Staking Pages/staking/saas/index.md
+++ /dev/null
@@ -1,95 +0,0 @@
----
-title: 质押即服务
-description: 简要介绍如何开始以太币联合质押
-lang: zh
-template: staking
-emoji: ":money_with_wings:"
-image: /images/staking/leslie-saas.png
-alt: 莱斯利犀牛在云中漂浮。
-sidebarDepth: 2
-summaryPoints:
- - 第三方节点运营商负责你的验证者客户端的操作
- - 对于那些拥有 32 个以太币但是不能解决运行节点的技术问题的人来说,这是个很好的选择
- - 降低信任并保持你对提款密钥的控制权
----
-
-## 什么是质押即服务? {#what-is-staking-as-a-service}
-
-质押即服务 (“SaaS") 代表一类质押服务,采用这种服务的用户会存入 32 个以太币用于验证者,但是将节点运营委托给第三方运营商执行。 这个过程通常需要你按引导完成初始设置,包括密钥生成和存款,然后将你的签名密钥上传给运营商。 这项服务将代表你运行验证者,通常按月收费。
-
-## 为什么需要质押服务? {#why-stake-with-a-service}
-
-以太坊协议本身并不支持质押委托,于是这类服务便为了满足这一需求而建。 如果你有 32 个以太币需要质押,但是没有合适的硬件设备,那么质押即服务可以使你在使用运营商硬件设施的同时获得区块奖励。
-
-
-
-
-
-
-
-
-
-## 需考虑事项 {#what-to-consider}
-
-为了满足人们质押以太币的需求,质押即服务提供商的数量不断增长,但每位提供商的优势与风险不尽相同。 相比于自行质押,所有质押即服务方案都需要进一步的信任假设。 质押即服务方案可能使用更多代码包装以太坊客户端,而且这些代码未公开且不可审计。 质押即服务还会对网络去中心化造成有害影响。 取决于设置情况,你可能无法控制自己的验证者 - 运营者在使用你的以太币时可能会缺失诚信。
-
-下列属性指标可以用来衡量市场上质押即服务供应商的优势或劣势。 在选择帮你度过质押之旅的服务时,请使用本节作为参考,了解我们如何定义这些属性。
-
-
-
-## 探索质押服务提供商 {#saas-providers}
-
-以下是一些可用的质押即服务提供商。 你可以利用上述指标来辅助你选择。
-
-
-
-### 质押即服务提供商
-
-
-
-请注意支持[客户端多样性](/developers/docs/nodes-and-clients/client-diversity/)的重要性,因为它可以提高网络安全性,并限制你的风险。 “执行客户端多样性”和“共识客户端多样性”表明服务可证明其在限制使用主流客户端。
-
-### 密钥生成器
-
-
-
-想要推荐其他未提到的质押即服务提供商吗? 可以查看我们的[产品上线政策](/contributing/adding-staking-products/),确定你推荐的质押工具是否合适,合适的话,请提交以供审核。
-
-## 常见问题 {#faq}
-
-
-不同的提供商会有不同的安排,但通常情况下,他们都会指导你设置所需的签名密钥(每 32 个以太币需要一个签名密钥),并将这些密钥上传给你的服务提供商,让他们代表你进行验证。 这些签名密钥本身并没有提现、转帐或者花费你资金的权限。 他们只提供为达成共识而投票的权限,如果投票执行方式不恰当,可能会受到离线处罚或罚没。
-
-
-
-由此可见, 每个帐户都由 BLS 签名密钥和 BLS 提款密钥组成。 为了让验证者证明链的状态、参与同步委员会并提出区块建议,签名密钥必须易于验证者客户端访问。 为此签名密钥必须以某种形式与互联网连接,所以它们本质上被认为是“热”密钥。 这是验证者能够参与证明的必要条件,因此,出于安全原因,用于转移或提取资金的密钥是单独分开的。
-
-BLS 提款密钥用于签署一次性信息,声明质押奖励和退出的资金应该转入哪个执行层帐户。 在该信息广播后,不再需要 BLS 提款密钥。 然而,已提取资金的控制权将永久委托给你提供的地址。 因此,你可以设置一个用自己的冷存储保护的提款地址,即使有人控制了你的验证者签名密钥,也可以最大程度降低验证者资金的风险。
-
-更新提款凭证是进行提款的必需步骤\*。 此过程包括使用自己的助记词生成提款密钥。
-
-确保安全备份该助记词,否则在需要时将无法生成提款密钥。
-
-\*提供了提款地址和初始存款的质押人不需要设置此项。 如需有关准备验证者方面的支持,请联系你的质押即服务提供商。
-
-
-
-2023 年 4 月,上海/卡佩拉升级实现了质押提款功能。 质押人需要提供一个提款地址(如果在初始存款时没有提供),并将开始每隔几天定期自动分发奖励支付。
-
-验证者还能够以验证者身份完全退出,这种情况下,他们剩余的以太币余额将解锁以供提取。 提供执行提款地址并完成退出流程的帐户将在下次验证者扫描时在提供的提款地址收到其全部余额。
-
-更多关于质押提款的信息
-
-
-
-使用质押即服务提供商,你需要将节点运营委托给别人。 这伴随着一些你不能控制的节点性能不佳的风险。 如果你的验证者受到罚没,你的验证者余额将因处罚而遭受损失,验证者也将从验证者池中强行移除。
-
-在罚没/退出流程结束后,这些资金将转移到分配给验证者的提款地址。 需要提供一个提款地址才能实现资金转移。 提款地址可能已在初次存款时提供。 如果没有提供,就需要使用验证者提款密钥签署一条声明提款地址的信息。 如果没有提供提款地址,资金将保持锁定状态,直到提供提款地址为止。
-
-有关任何担保或保险方案的详细信息,以及如何提供提款地址的说明,请联系各质押即服务提供商。 如果你想完全控制你的验证者设置,请详细了解如何单独质押以太币。
-
-
-## 延伸阅读 {#further-reading}
-
-- [以太坊质押目录](https://www.staking.directory/) - _Eridian 和 Spacesider_
-- [评估质押服务](https://www.attestant.io/posts/evaluating-staking-services/) - _Jim McDonald 2020_
diff --git a/public/content/translations/zh/07) Staking Pages/staking/solo/index.md b/public/content/translations/zh/07) Staking Pages/staking/solo/index.md
deleted file mode 100644
index b4d5fd831b4..00000000000
--- a/public/content/translations/zh/07) Staking Pages/staking/solo/index.md
+++ /dev/null
@@ -1,206 +0,0 @@
----
-title: 单独质押你的以太币
-description: 简要介绍如何单独质押你的以太币
-lang: zh
-template: staking
-emoji: ":money_with_wings:"
-image: /images/staking/leslie-solo.png
-alt: 莱斯利犀牛在自己的电脑芯片上。
-sidebarDepth: 2
-summaryPoints:
- - 直接从协议中获得最大奖励,以保持你的验证者正常运行和在线
- - 运行家用硬件并自行加入以太坊网络的安全和去中心化
- - 消除信任依赖,始终自己掌控资金密钥
----
-
-## 什么是单独质押? {#what-is-solo-staking}
-
-单独质押是指运行一个连接到互联网的[以太坊节点](/run-a-node/),并存入 32 个以太币以激活一个[验证者](#faq),使你有能力直接参与网络共识。
-
-**单独质押增强了以太坊网络的去中心化**,使以太坊更加抗审查,更加稳健,能够抵御攻击。 其他质押方法可能不会给网络带来同样的助益。 单独质押是保护以太坊的最佳质押方案。
-
-一个以太坊节点既包括执行层 (EL) 客户端,也包括共识层 (CL) 客户端。 这些客户端是一套共同工作的软件,拥有一套有效的签名密钥,以验证交易和区块、证明链头的正确性、汇总认证和提交区块。
-
-单独质押用户负责操作运行这些客户端所需的硬件。 强烈建议使用一台专用机器在家进行操作,这对网络安全非常有益。
-
-单独质押人可以直接从协议中获得奖励,以保持他们的验证者在线并正常运行。
-
-## 为什么要单独质押? {#why-stake-solo}
-
-单独质押让你承担更大的责任,但会让你对资金和质押设置拥有最大的控制权。
-
-
-
-
-
-
-
-## 单独质押前的考量 {#considerations-before-staking-solo}
-
-尽管我们希望每个人都能无风险地进行单独质押,但这并不现实。 在选择单独质押以太币之前,有一些实际和严肃的事项需要记住。
-
-
-
-在操作自己的节点时,你应该花一些时间学习如何使用你所选择的软件。 这涉及到阅读相关文档,以及了解开发团队的沟通渠道。
-
-你对所运行的软件和权益证明的原理了解得越多,作为一名质押人的风险就越小,也越容易解决在节点运行过程中可能出现的任何问题。
-
-
-
-节点设置要求用户能够熟练使用计算机,尽管随着时间的推移,新的工具正在使其变得更容易。 了解命令行界面会有帮助,但并非必需。
-
-节点设置还需要用户对基本的硬件设置,以及最低推荐规格有一些了解。
-
-
-
-就像私钥保护以太坊地址的方式一样,你也需要为验证者单独生成密钥。 你必须了解如何保护好助记词或私钥的安全。{' '}
-
-以太坊的安全性和防范欺诈
-
-
-
-硬件设施会发生故障,网络连接会出错,客户端软件也需要升级。 因此节点维护不可避免,需要你偶尔关注。 你要确保知道任何预期的网络升级,或其他关键的客户端升级。
-
-
-
-你的回报与你的验证者在线并正确验证的时间成正比。 宕机会导致一定比例的处罚,具体与有多少其他验证者同时离线有关,但不会导致罚没。 同时网络带宽也很重要,因为如果没有及时收到认证,奖励就会减少。 建议至少要有 10 Mb/s 的上行和下行带宽。
-
-
-
-与离线导致的怠工处罚不同,罚没是一种更严重的处罚,专门针对恶意违规。 同一时间只在一台机器上运行加载你密钥的客户端,你被罚没的风险可以降到最低。 总得来说,所有质押人都必须意识到被罚没的风险。
-
-更多关于惩罚和验证者生命周期的信息
-
-
-
-
-
-## 工作原理 {#how-it-works}
-
-
-
-在线时你将赢得以太币奖励,奖励将定期存入你的提款地址。
-
-如果需要,你可以验证者身份退出,这样就不需要在线,也不会再有任何奖励。 之后,你的余额将提取到你在设置过程指定的提款地址。
-
-[更多关于质押提款的信息](/staking/withdrawals/)
-
-## 开始使用 Staking Launchpad {#get-started-on-the-staking-launchpad}
-
-Staking Launchpad 是一个开源应用程序,可帮助你成为质押人。 它将指导你选择客户端、生成密钥并将你的以太币存入质押存款合约。 会提供一份清单,确保已经涵盖安全设置验证者需要的所有内容。
-
-
-
-## 使用节点和客户端设置工具时应考虑的事项 {#node-tool-considerations}
-
-有越来越多的工具和服务可以帮助你单独质押以太币,但每种工具和服务的风险和收益各不相同。
-
-下面使用属性指标来表示列出的质押工具可能具有的显著优势或劣势。 在选择帮你度过质押之旅的工具时,请使用本节作为参考,了解我们如何定义这些属性。
-
-
-
-## 探索节点和客户端设置工具 {#node-and-client-tools}
-
-有多种方案可帮助你进行设置。 上述指标可引导你了解如何使用下方的工具。
-
-
-
-### 节点工具
-
-
-
-请注意选择[非主流客户端](/developers/docs/nodes-and-clients/client-diversity/)的重要性,因为可以提高网络安全性,并限制你的风险。 可让你设置非主流客户端的工具称为“多客户端”。
-
-### 密钥生成器
-
-这些工具可用来替代[质押存款命令行接口](https://github.com/ethereum/staking-deposit-cli/),帮助生成密钥。
-
-
-
-想要推荐其他未提到的质押工具吗? 可以查看我们的[产品上线政策](/contributing/adding-staking-products/),确定你推荐的质押工具是否合适,合适的话,请提交以供审核。
-
-## 探索单独质押指南 {#staking-guides}
-
-
-
-## 常见问题 {#faq}
-
-下面是一些关于质押的最常见问题,值得了解一下。
-
-
-
-验证者是一个虚拟实体,存在于以太坊上并参与以太坊协议的共识。 验证者由余额、公钥和其他属性信息表示。 验证者客户端是通过持有并使用验证者的私钥代表验证者行动的软件。 一个验证者客户端可以持有多个密钥对,从而控制多个验证者。
-
-
-
-
-每个与验证者相关的密钥对都需要正好 32 个以太币才能激活。 将更多以太币存入一对密钥并不能增加可能获得的奖励,因为每个验证者的有效余额被限制为 32 个以太币。 这意味着质押时需要以 32 个以太币为单位递增,每个验证者都有自己的一套密钥和余额。
-
-不要为一个验证者存入超过 32 以太币的资金。 这样做不会增加你的奖励。 如果为验证者设置了提款地址,超过 32 个以太币多余资金将在下一次验证者扫描时自动提取到该地址。
-
-如果单独质押对你来说要求太高,可以考虑使用质押即服务提供商,或者如果你的资金少于 32 个以太币,则可以考虑联合质押。
-
-
-
-在网络最终确认时下线,不会导致罚没。 如果你的验证者在某个周期(每个周期 6.4 分钟)内无法进行验证,就会导致少量的怠工处罚,但这与罚没有很大不同。 这些处罚比你在验证者可用的情况下获得的奖励要少一些,而且损失可以通过将验证者上线大约相等的时间赚回来。
-
-请注意,对怠工验证者的处罚与有多少个验证者同时下线成正比。 在大部分网络参与者同时离线的情况下,对每个验证者的处罚会比单个验证者怠工所受的处罚大。
-
-在极端情况下,如果网络因超过三分之一的验证者离线而停止最终确认,这些验证者将受到所谓的二次怠惰惩罚,离线验证者帐户中的以太币将遭受指数级损失。 这时以太坊网络将通过消耗怠工验证者的以太币进行自我修复,直到他们的余额达到 16 个以太币,此时他们将自动从验证者池中退出。 剩余在线的验证者最终将再次超过 2/3,从而满足再次最终确认链的绝对多数要求。
-
-
-
-简而言之,虽然永远不能完全保证,但如果你真诚行事,运行非主流客户端,并且每次只在一台机器上保留你的签名密钥,你被罚没的风险几乎为零。
-
-只有几种特定的情况会导致验证者被罚没并从网络中退出。 在撰写本文时,已经发生的罚没事件完全是冗余硬件设置的产物,即签名密钥同时存储在两台不同的机器上。 这可能会无意中导致你的密钥出现两次投票,这是一种可被罚没的行为。
-
-运行主流客户端(任何被超过 2/3 的用户使用的客户端)也存在可能被罚没的风险,比如该客户端有一个导致链分叉的错误。 这可能会导致一个有问题的分叉被最终确认。 要纠正并返回预定链,需要提交一个环绕投票,以尝试撤销最终确定的区块。 这也是一种可被罚没的行为,可以通过运行非主流客户端来避免。
-
-非主流客户端中的等效错误永远不会被最终确认,因此也不会导致环绕投票,只会导致怠工处罚,而非罚没。
-
-
- - 详细了解运行非主流客户端的重要性。
- - 详细了解预防罚没
-
-
-
-
-各个客户端在性能和用户界面方面可能略有不同,因为每个客户端都是由不同的团队使用不同编程语言开发的。 这意味着,它们之中没有“最好的”。 所有生产用客户端都是优秀的软件,它们都执行相同的核心功能,即与区块链进行同步和交互。
-
-由于所有生产用客户端都提供相同的基本功能,所以选择一个非主流客户端实际上非常重要,即并未被网络上大多数验证者使用的任何客户端。 这听起来可能有悖常理,但运行多数或绝对多数人使用的客户端会使你在该客户端出现错误时面临更大的罚没风险。 运行一个少数人使用的客户端可以极大地降低这些风险。
-
-详细了解为什么客户端多样性至关重要
-
-
-
-虽然虚拟专用服务器 (VPS) 可用于替代家庭硬件设施,但你的验证者客户端的物理访问和位置确实很重要。 使用中心化云计算解决方案(如亚马逊网络服务或 Digital Ocean)的便捷之处在于,你不必拥有和操作硬件设施,但代价是网络需要中心化。
-
-在一个中心化云存储解决方案上运行的验证者客户端越多,对这些用户来说就越危险。 任何使这些提供商离线的事件,无论是攻击、监管要求,还是电力/互联网中断,都会导致每个依赖于该服务器的验证者客户端同时离线。
-
-离线处罚与有多少其他验证者同时离线成正比。 使用虚拟专用服务器会大大增加离线处罚的风险,并在大范围宕机的情况下增加你的二次惩罚或罚没的风险。 为了尽量降低你自己的风险,以及以太坊网络的风险,我们强烈建议用户获取并操作自己的硬件。
-
-
-
-
-从信标链上进行任何类型的提款都需要设置提款凭据。
-
-新质押人在生成密钥和存款时设置提款凭据。 尚未设置提款凭证的现有质押人可以升级他们的密钥,以支持提款功能。
-
-设置提款凭据后,奖励支付(最初的 32 个以太币累积的以太币奖励)将自动定期分发到提款地址。
-
-要解锁并收回全部余额,还必须完成验证者退出流程。
-
-更多关于质押提款的信息
-
-
-## 延伸阅读 {#further-reading}
-
-- [以太坊质押目录](https://www.staking.directory/) - _Eridian 和 Spacesider_
-- [以太坊客户端多样性问题](https://hackernoon.com/ethereums-client-diversity-problem) - _@emmanuelawosika 2022_
-- [帮助实现客户端多样性](https://www.attestant.io/posts/helping-client-diversity/) - _Jim McDonald 2022_
-- [以太坊共识层的客户端多样性](https://mirror.xyz/jmcook.eth/S7ONEka_0RgtKTZ3-dakPmAHQNPvuj15nh0YGKPFriA) - _jmcook.eth 2022_
-- [如何选购以太坊验证者的硬件](https://www.youtube.com/watch?v=C2wwu1IlhDc)- _EthStaker 2022_
-- [加入以太坊 2.0 测试网的详细步骤](https://kb.beaconcha.in/guides/tutorial-eth2-multiclient) - _Butta_
-- [以太坊 2 防止罚没小技巧](https://medium.com/prysmatic-labs/eth2-slashing-prevention-tips-f6faa5025f50) - _Raul Jordan 2020_
-
-
diff --git a/public/content/translations/zh/07) Staking Pages/staking/withdrawals/index.md b/public/content/translations/zh/07) Staking Pages/staking/withdrawals/index.md
deleted file mode 100644
index 0eba63521cd..00000000000
--- a/public/content/translations/zh/07) Staking Pages/staking/withdrawals/index.md
+++ /dev/null
@@ -1,218 +0,0 @@
----
-title: 质押提款
-description: 本页面概述质押推送提款是什么,它们如何工作,质押人需要做什么才能获得奖励
-lang: zh
-template: staking
-image: /images/staking/leslie-withdrawal.png
-alt: 犀牛莱斯利与她的质押奖励
-sidebarDepth: 2
-summaryPoints:
- - 上海/卡佩拉升级实现了以太坊上的质押提款功能。
- - 验证者操作员必须提供一个提款地址以启用
- - 奖励每隔几天自动分发
- - 完全退出质押的验证者将收到他们的剩余余额
----
-
-
-2023 年 4 月 12 日进行的上海/卡佩拉升级已实现质押提款功能。 更多关于上海/卡佩拉升级的信息
-
-
-**质押提款**是指将以太币从以太坊共识层(信标链)上的验证者帐户转移到可以进行交易的执行层。
-
-用户提供提款地址后,超过 32 个以太币的余额的**奖励支付**将自动定期发送到和每个验证者相关的提款地址。 用户还可以**完全退出质押**,解锁他们全部的验证者余额。
-
-## 质押奖励 {#staking-rewards}
-
-对于有效余额已满 32 ETH 的活跃验证者帐户,奖励支付将自动处理。
-
-通过奖励获得的超过 32 ETH 的余额实际上并不构成本金,也不会增加该验证者在网络上的权重,因此每隔几天会自动提取作为奖励支付。 除了一次性提供提款地址外,这些奖励不需要验证者操作员采取任何行动。 这都是在共识层启动的,因此在任何步骤都不需要燃料(交易费)。
-
-### 我们怎么发展到现在的? {#how-did-we-get-here}
-
-在过去的几年里,以太坊经历了几次网络升级,从依赖能源密集型挖矿的网络转变为由以太坊本身保护的网络。 现在,在以太坊上参与共识被称为“质押”,因为参与者自愿锁定以太币,将其“押注”以参与网络。 遵守规则的用户将获得奖励,而尝试欺骗的行为可能会受到惩罚。
-
-自 2020 年 11 月推出质押存款合约以来,一些勇敢的以太坊先驱者自愿锁定资金以激活“验证者”,验证者即遵循网络规则有权正式证明和提出区块的特殊帐户。
-
-在上海/卡佩拉升级之前,你可能无法使用或访问自己质押的以太币。 但现在,你可以选择在选定的帐户自动接收你的奖励,也可以随时提取质押的以太币。
-
-### 我应该如何准备? {#how-do-i-prepare}
-
-
-
-### 重要通知 {#important-notices}
-
-为任何验证器帐户提供提款地址是一个必需的步骤,否则无法从其余额中提取以太币。
-
-
- 每个验证者帐户一次只能分配一个提款地址。一旦选择地址并提交到共识层,就无法撤消或再次更改。 在提交前,请仔细检查所提供地址的所有权和准确性。
-
-
-同时,如果你的助记符/助记词在离线时一直保持安全,没有受到任何损害。不提供提款地址不会给你的资金带来任何威胁。 未添加提款凭据只会将以太币保持锁定在验证者帐户中,直到提供提款地址为止。
-
-## 完全退出质押 {#exiting-staking-entirely}
-
-在从验证者帐户余额中转移_任何_资金之前,必须提供提款地址。
-
-希望完全退出质押并取回全部余额的用户还必须使用验证者密钥签署并广播一个“自愿退出”的消息,这将启动退出质押的过程。 此操作通过你的验证者客户端完成,并提交给你的共识节点,无需燃料。
-
-验证者从抵押退出的过程所需时间不同,具体取决于同时退出的人数。 一旦完成,此帐户将不再负责执行验证者网络职责,不再有资格获得奖励,并且不再拥有“质押”的以太币。 此时,该帐户将被标记为完全“可提款”。
-
-一旦帐户被标记为“可提款”,并且已提供提款凭据,用户除了等待之外,无需再做任何事情。 区块提议者会自动且持续地扫描是否有可退出资金,并在下一次扫描期间将你帐户的余额全额转移(也称为“全额提款”)。
-
-## 何时启用质押提款? {#when}
-
-质押提款已经上线! 提款功能已在 2023 年 4 月 12 日进行的上海/卡佩拉升级中实现。
-
-上海/卡佩拉升级后,可以将之前质押的以太币收回到普通以太坊帐户中。 这就结束了质押流动性循环,并使以太坊向着建立一个可持续、可扩展、安全的去中心化生态系统迈进一步。
-
-- [更多关于以太坊历史的信息](/history/)
-- [更多关于以太坊路线图的信息](/roadmap/)
-
-## 提款支付是如何运作的? {#how-do-withdrawals-work}
-
-特定验证者是否有资格提款取决于验证者帐户本身的状态。 在任何时候,都不需要用户输入来确定帐户是否应该发起提款,整个过程由共识层在连续循环中自动完成。
-
-### 更愿意通过视频学习? {#visual-learner}
-
-请查看Finematics对以太坊质押提款的解释:
-
-
-
-### 验证者“扫描” {#validator-sweeping}
-
-当验证者被安排提议下一个区块时,需要构建一个最多包含 16 个合格提款的提款队列。 首先从验证者索引 0 开始,根据协议规则判断该帐户是否有合格的提款,如果有,则将其添加到队列中。 被安排提议下一个区块的验证者将从上一个验证者离开的地方继续,无限期地按顺序进行。
-
-
-想象一个模拟时钟。 时钟的指针指向小时,朝一个方向前进,不跳过任何小时,最后在达到最后一个数字后再次回到开始。
-现在,想象这个时钟不再是 1 至 12,而是从 0 到 N(在共识层上注册的验证者帐户的总数,截至 2023 年 1 月已超过 500,000 个)。
-时钟的指针指向需要检查是否符合提款条件的下一个验证者。 它从 0 开始,不跳过任何帐户,一直前进。 当达到最后一个验证者时,循环从头开始继续。
-
-
-#### 检查帐户的提款 {#checking-an-account-for-withdrawals}
-
-在提议者扫描验证者以寻找可能的提款时,使用一系列简短的问题评估正接受检查的每个验证者,以确定是否应触发提款,如果是,应提取多少以太币。
-
-1. **是否已提供提款地址?**如果未提供提款地址,则跳过该帐户,不会发起提款。
-2. **验证者是否已退出且可提款?**如果验证者已完全退出,并且我们已到达帐户被视为“可提款”的时段,那么将处理全额提款。 这将把所有剩余余额转移到提款地址。
-3. **有效余额是否达到 32 的最大值?** 如果帐户具有提款凭证,尚未完全退出,并且有超过 32 的奖励在等待,将处理部分提款,只将超过 32 的奖励转移到用户的提款地址。
-
-在验证者生命周期中,验证者操作员只会执行以下两个直接影响此流程的操作:
-
-- 提供提款凭证以启用任何形式的提款
-- 退出网络,这将触发全额提款
-
-### 免燃料费 {#gas-free}
-
-这种质押提款方法不需要质押人手动提交交易来请求提款特定数量以太币。 这意味着**不需要提交燃料费(交易费)**,并且提款也不争夺现有的执行层区块空间。
-
-### 我会多久收到一次质押奖励? {#how-soon}
-
-单个区块最多可处理 16 笔提款。 以这个速度计算,每天可处理 115,200 个验证者提款(假设没有错过任何时隙)。 如上所述,没有符合条件的提款的验证者将被跳过,这将减少完成扫描所需的时间。
-
-扩展这个算法,我们可以预估处理特定数量的提款所需的时间:
-
-
-
-| 提款数量 | 所需时间 |
-| :-------------------: | :--------------: |
-| 400,000 | 3.5 天 |
-| 500,000 | 4.3 天 |
-| 600,000 | 5.2 天 |
-| 700,000 | 6.1 天 |
-| 800,000 | 7.0 天 |
-
-
-
-正如你所看到的,随着网络上的验证者数量增加,完成该过程的速度也会变慢。 错过的时隙数增加可能成比例减慢提款速度,但这通常代表了可能的结果中较慢的情况。
-
-## 常见问题 {#faq}
-
-
-不,提供提款凭证的过程只需进行一次,一旦提交后就无法更改。
-
-
-
-通过设置执行层提款地址,该验证者的提款凭证已永久更改。 这意味着旧的提款凭证将不再起作用,新的提款凭证将指向执行层帐户。
-
-提款地址可以是智能合约(由其代码控制),也可以是外部拥有的帐户(EOA,由其私钥控制)。 目前,这些帐户无法向共识层传回信息以表示验证者凭证已更改,而添加此功能将给协议增加不必要的复杂性。
-
-作为更改特定验证者提款地址的替代方案,用户可以选择设置智能合约作为他们的提款地址,该智能合约可以处理密钥轮换,例如 Safe。 将资金去向设置为自己的外部帐户的用户可以执行完全退出以提取所有的质押资金,然后使用新的凭证重新进行质押。
-
-
-
-
-如果你参加了质押池,或持有质押代币,你应该咨询你的提供商,了解更多关于如何处理质押提款的细节,因为每种服务的运作方式不同。
-
-一般来说,用户应该可以随意收回他们的底层质押以太币,或者更换他们使用的质押服务提供商。 如果某个质押池变得过大,可以退出、收回资金,并通过较小的提供商重新质押。 或者,如果你已经积攒了足够多的以太币,你就可以自行质押。
-
-
-
-
-是的,只要你的验证者提供了提款地址。 提款地址必须要提供一次,以便在最初时启用任何提款,之后奖励支付将每隔几天在进行验证者扫描时自动分发。
-
-
-
-
-不。如果你的验证者仍在网络上运行,则不会自动执行完全提款。 需要手动发起自愿退出。
-
-一旦验证者完成退出流程,并且假设该帐户具有提款凭证,则剩余余额随后将在下一次验证者扫描期间提取。
-
-
-
-
-提款旨在自动推送,转移任何未积极为质押做贡献的以太币。 这包括已完成退出流程的帐户的全部余额。
-
-无法手动请求要提取以太币的具体数量。
-
-
-
-
-建议验证者运营商访问质押启动板提款页面,你可以在其中找到有关如何准备验证者以便提款的更多详细信息、事件的时间安排,以及有关提款如何运作的更多详细信息。
-
-要首先在测试网上测试你的设置,请访问 Goerli 测试网质押启动板开始测试。
-
-
-
-
-否。 一旦验证者退出并提取其全部余额,存入该验证者的任何额外资金将在下一次验证者扫描期间自动转移到提款地址。 要重新质押以太币,必须激活新的验证者。
-
-
-## 延伸阅读 {#further-reading}
-
-- [质押启动板提款](https://launchpad.ethereum.org/withdrawals)
-- [EIP-4895:信标链提款推送操作](https://eips.ethereum.org/EIPS/eip-4895)
-- [以太坊牧猫人组织 - 上海](https://www.ethereumcatherders.com/shanghai_upgrade/index.html)
-- [PEEPanEIP #94:质押以太币提取(测试)与 Potuz 和王筱维](https://www.youtube.com/watch?v=G8UstwmGtyE)
-- [PEEPanEIP#68:与 Alex Stokes 讨论 EIP-4895:信标链推送提款操作](https://www.youtube.com/watch?v=CcL9RJBljUs)
-- [了解验证者有效余额](https://www.attestant.io/posts/understanding-validator-effective-balance/)
diff --git a/public/content/translations/zh/08) Use cases 2/decentralized-identity/index.md b/public/content/translations/zh/08) Use cases 2/decentralized-identity/index.md
deleted file mode 100644
index 30276cc1683..00000000000
--- a/public/content/translations/zh/08) Use cases 2/decentralized-identity/index.md
+++ /dev/null
@@ -1,191 +0,0 @@
----
-title: 去中心化身份
-description: 什么是去中心化身份,它为什么很重要?
-lang: zh
-template: use-cases
-emoji: ":id:"
-sidebarDepth: 2
-image: /images/eth-gif-cat.png
-summaryPoint1: 传统身份系统有权对你的身份标识进行发布、维护和控制。
-summaryPoint2: 去中心化身份消除了对中心化第三方的依赖。
-summaryPoint3: 多亏了加密技术,用户现在拥有了再次发布、持有和控制其自身身份标识和身份证明的工具。
----
-
-现如今,身份几乎支撑着你生活的方方面面。 使用线上服务、银行开户、选举投票、购买房产、找工作——所有这些都需要证明你的身份。
-
-然而,传统身份管理系统长期以来一直依赖于中心化中间机构,这种机构发布、持有和控制你的身份标识和[身份证明](/glossary/#attestation)。 这意味着你无法掌控你的身份相关信息,也无法决定谁能够访问你的可识别个人信息 (PII),以及这些人有多大的访问权限。
-
-为了解决这些问题,我们在以太坊等公链上构建了去中心化身份系统。 去中心化身份允许每个人管理他们的身份相关信息。 借助去中心化身份解决方案,_你_可以创建身份标识,以及声明和持有身份证明,无需依赖于中心化机构,如服务提供方或政府。
-
-## 什么是身份? {#what-is-identity}
-
-身份是指由一些独特特征定义的一个人的自我意识。 身份表示一个_个体_,即一个独立的人类实体。 身份也可以指其他非人实体,比如组织或行政机构。
-
-
-
-## 什么是身份标识? {#what-are-identifiers}
-
-身份标识是一条信息,用来指向一个特定身份或多个身份。 常见的身份标识包括:
-
-- 姓名
-- 社会保障号/税号
-- 手机号码
-- 出生日期和出生地点
-- 数字身份凭证,例如电子邮件地址、用户名、头像
-
-这些传统身份标识示例均由中心化实体发布、持有和控制。 你需要获得政府的许可才能变更自己的姓名,或者需要获得社交媒体平台的许可才能更改自己的昵称。
-
-## 去中心化身份的好处 {#benefits-of-decentralized-identity}
-
-1. 去中心化身份增加了个人对识别信息的控制度。 可以在不依赖中心化机构和第三方服务的情况下验证去中心化身份标识和身份证明。
-
-2. 去中心化身份解决方案为验证和管理用户身份提供一种可保护隐私的去信任无缝方法。
-
-3. 去中心化身份利用区块链技术,在不同方之间建立信任,并提供加密保证来证实身份证明的有效性。
-
-4. 去中心化身份使身份数据可移植。 用户将身份证明和身份标识存储在移动钱包中,并可以与他们选择的任何一方共享。 去中心化身份标识和身份证明不会被锁在签发组织的数据库中。
-
-5. 去中心化身份应与新兴的[零知识](/glossary/#zk-proof)技术充分配合,这将使个人在无需透露具体细节的情况下,能够证明他们拥有过某物或做过某事。 这可以成为一种将信任和隐私结合在一起的强有力方式,适用于投票等应用。
-
-6. 去中心化身份使[防女巫](/glossary/#anti-sybil)机制能够识别一人假扮多人操控某个系统或发起垃圾邮件攻击的情况。
-
-## 去中心化身份用例 {#decentralized-identity-use-cases}
-
-去中心化身份有许多可能的用例:
-
-### 1. 通用登录 {#universal-dapp-logins}
-
-去中心化身份有助于实现去中心化身份验证替代密码登录。 服务提供商可以向用户发布认证,这些认证可以存储在以太坊钱包中。 身份证明的一个示例是[非同质化代币](/glossary/#nft),可授予持有者访问在线社区的权限。
-
-然后,[使用以太坊登录](https://login.xyz/)功能将使服务器能够确认用户的以太坊帐户,并从他们的帐户地址获取所需的身份证明。 这意味着用户无需记住冗长的密码即可访问平台和网站,从而改善用户的线上体验。
-
-### 2. “了解你的客户”身份验证 {#kyc-authentication}
-
-许多在线服务的使用需要个人提供身份证明和凭证,例如驾驶执照或国家护照。 但这种方法是有问题的,因为私人用户信息可能会被泄露,并且服务提供商无法验证身份证明的真实性。
-
-去中心化身份使公司能够跳过传统的[了解你的客户 (KYC)](https://en.wikipedia.org/wiki/Know_your_customer) 流程,通过可验证凭据验证用户身份。 这降低了身份管理的成本,并防止使用伪造证件。
-
-### 3. 投票和在线社区 {#voting-and-online-communities}
-
-在线投票和社交媒体是去中心化身份的两个新应用。 在线投票方案容易受到操控,尤其当恶意行为者创建虚假身份进行投票时。 要求个人提供链上身份证明可以提高在线投票流程的公平性。
-
-去中心化身份可以帮助创建没有虚假帐户的在线社区。 例如,每位用户可能必须使用链上身份系统(如以太坊域名服务)来验证他们的身份,从而减少是机器人的可能性。
-
-### 4. 防女巫保护 {#sybil-protection}
-
-使用[二次方投票](/glossary/#quadratic-voting)的资助应用程序容易受到[女巫攻击](/glossary/#sybil-attack),因为当有更多人参与投票时,资助的价值就会增加,这会促使用户将他们的捐赠分散到多个身份。 通过增加每位参与者证明他们是真人的负担,去中心化身份有助于防止这种情况发生,尽管通常不必透露具体的私人信息。
-
-## 什么是身份证明? {#what-are-attestations}
-
-身份证明是一个实体对另一个实体提出的所有权声明。 如果你在美国生活,你的驾驶执照会由美国车辆管理局(一个实体)颁发,它证明你(另一个实体)依法可驾驶汽车。
-
-身份证明与身份标识不同。 身份证明_包含_用于指向特定身份的身份标识,并声明与此身份相关的属性。 因此,你的驾驶执照具有身份标识(姓名、出生日期、地址),但也是你具有合法驾驶权利的证明。
-
-### 什么是去中心化身份标识? {#what-are-decentralized-identifiers}
-
-诸如你的法定姓名或电子邮件地址等传统身份标识依赖于第三方——政府和电子邮件提供商。 去中心化身份标识 (DID) 则不同——它们不由任何中心实体发布、管理或控制。
-
-去中心化身份标识由个人发行、持有和控制。 [以太坊帐户](/glossary/#account)是去中心化身份标识的一个示例。 你可以根据需要创建任意数量的帐户,无需任何人的许可,也无需将它们存储在一个中心注册系统中。
-
-去中心化身份标识存储在分布式账本([区块链](/glossary/#blockchain))或[对等网络](/glossary/#peer-to-peer-network)上。 这使得去中心化身份标识 (DID) 具有[全局唯一性、可解析性、高可用性,并可加密验证](https://w3c-ccg.github.io/did-primer/)。 去中心化身份标识可与不同的实体相关联,包括个人、组织或政府机构。
-
-## 是什么让去中心化身份标识成为可能? {#what-makes-decentralized-identifiers-possible}
-
-### 1. 公钥加密 {#public-key-cryptography}
-
-公钥加密是一种为实体生成[公钥](/glossary/#public-key)和[私钥](/glossary/#private-key)的信息安全措施。 公钥[加密](/glossary/#cryptography)在区块链网络中用于验证用户身份和证明数字资产的所有权。
-
-一些去中心化身份标识,如以太坊帐户,都有公钥和私钥。 公钥用于识别帐户的操控者,而私钥可以签名和解密此帐户的消息。 公钥加密提供验证实体身份、防止冒充身份和使用假身份所需的证明,它使用[加密签名](https://andersbrownworth.com/blockchain/public-private-keys/)来验证所有声明。
-
-### 2. 去中心化数据存储 {#decentralized-datastores}
-
-区块链是一个可验证数据注册系统:一个开放的去信任去中心化信息库。 公链的存在使得不再需要将身份标识存储在中心化注册系统。
-
-如有任何人需要确认去中心化身份标识的有效性,他们可以在区块链上查找相关公钥。 这与需要第三方进行身份认证的传统身份标识不同。
-
-## 去中心化身份标识和身份证明如何实现去中心化身份? {#how-decentralized-identifiers-and-attestations-enable-decentralized-identity}
-
-去中心化身份的概念是,与身份有关的信息应由自己控制,且应该是私密和可移植的,而其主要构成要素是去中心化身份标识和身份证明。
-
-在去中心化身份的背景下,身份证明(又称[可验证凭证](https://www.w3.org/TR/vc-data-model/))是由签发者发布、可加密验证的防篡改声明。 实体(如,组织)发出的每个身份证明或可验证凭证都与他们的去中心化身份标识有关。
-
-由于去中心化身份标识存储在区块链上,任何人都可以多方查证以太坊上签发者的去中心化身份标识,以验证身份证明的有效性。 实际上,以太坊区块链就像是一个共用目录,能够验证与某些实体相关的去中心化身份标识。
-
-去中心化身份标识是让身份证明能够自行控制和可以验证的原因。 即使签发者不再存在,持有人也总会有证据证实该身份证明的出处和有效性。
-
-去中心化身份标识对于通过去中心化身份保护个人隐私信息不受侵犯也至关重要。 例如,如果某人提交一份身份证明的证据(驾驶执照),则验证者不需要检查证据中信息的有效性。 只需要获得身份证明真实性的加密保证,以及颁发组织身份的加密保证,验证者就可以确定证据是否有效。
-
-## 去中心化身份中身份证明的类型 {#types-of-attestations-in-decentralized-identity}
-
-在基于太坊的身份生态系统中,如何存储和检索身份证明信息与传统身份管理系统不同。 下文概括了一些在去中心化身份系统中签发、存储和验证身份证明的方法。
-
-### 链下身份证明 {#off-chain-attestations}
-
-将身份证明存储在链上的一个问题是,其中可能包含个人想要保密的信息。 以太坊区块链具有开放性,因此不适合用于存储此类身份证明。
-
-解决方法是签发身份证明至用户的数字钱包,由用户链下持有,但使用签发者链上存储的去中心化身份标识进行签名。 这些身份证明被编码为 [JSON Web 令牌](https://en.wikipedia.org/wiki/JSON_Web_Token),其中包含签发者的数字签名,从而可以轻松验证链下声明。
-
-以下是用于解释链下身份证明的假设场景:
-
-1. 大学(签发者)生成身份证明(数字学术证书),用其密钥签名,然后将其颁发给 Bob(身份所有者)。
-
-2. Bob 申请了一份工作并想向雇主证明他的学历,因此他分享了移动钱包中的身份证明。 然后,公司(验证者)可以通过检查签发者的去中心化身份(即其在以太坊上的公钥)来确认身份证明的有效性。
-
-### 可以随时访问的链下身份证明 {#offchain-attestations-with-persistent-access}
-
-在这种协议下,身份证明将被转变为 JSON 文件并存储在链下(理想情况下存储在[去中心化云存储](/developers/docs/storage/)平台上,例如 IPFS 或 Swarm)。 但是,JSON 文件的[哈希值](/glossary/#hash)存储在链上,并通过链上注册系统链接至去中心化身份。 所关联的去中心化身份可以是身份证明的签发者或接收者。
-
-这种方法使身份证明能够基于区块链长期存在,同时使声明信息保持加密并维持其可验证性。 它还允许选择性披露,因为私钥的持有者可以解密信息。
-
-### 链上身份证明 {#onchain-attestations}
-
-链上身份证明保存在以太坊区块链上的[智能合约](/glossary/#smart-contract)中。 智能合约(充当注册系统)将身份证明映射到相应的链上去中心化身份标识(公钥)。
-
-以下示例展示了链上身份证明在实践中的使用方式:
-
-1. 一家公司(XYZ 公司)计划使用智能合约出售所有权份额,但只想卖给那些已完成背景调查的买家。
-
-2. XYZ 公司可以让执行背景调查的公司在以太坊上发布链上身份证明。 此身份证明可以证实某人已通过背景调查,但不会暴露任何个人信息。
-
-3. 出售股份的智能合约可以核查注册合约中筛选出的买家的身份,从而使智能合约确定哪些人可以购买股份。
-
-### 灵魂绑定代币和身份 {#soulbound}
-
-[灵魂绑定代币](https://vitalik.eth.limo/general/2022/01/26/soulbound.html)([不可转让的非同质化代币](/glossary/#nft))可用于收集特定钱包的独有信息。 这有效地创建了一个绑定至特定以太坊地址的唯一链上身份,其中可能包括代表成就(例如完成某些特定在线课程或在游戏中超过特定分数)或社区参与度的代币。
-
-## 使用去中心化身份 {#use-decentralized-identity}
-
-有许多雄心勃勃的项目使用以太坊作为去中心化身份解决方案的基础:
-
-- **[以太坊域名服务 (ENS)](https://ens.domains/)** - _用于链上机器可读标识(例如以太坊钱包地址、内容哈希和元数据)的去中心化命名系统。_
-- **[SpruceID](https://www.spruceid.com/)** - _去中心化身份项目允许用户使用以太坊帐户和以太坊域名服务配置文件来控制数字身份,而不是依赖第三方服务。_
-- **[以太坊认证服务 (EAS)](https://attest.sh/)** - _一个去中心化的账本/协议,用于进行各类链上或链下认证。_
-- **[非机器人证明](https://www.proofofhumanity.id)** - _非机器人证明 (PoH) 是在以太坊上建立的社会身份验证系统。_
-- **[BrightID](https://www.brightid.org/)** - _一个去中心化的开源社交身份网络,旨在通过创建和分析社交图谱来改进身份验证。_
-- **[walt.id](https://walt.id)** — _开源去中心化身份和钱包基础架构,使开发人员和组织能够利用自主主权身份和非同质化代币/灵魂绑定代币。_
-- **[Veramo](https://veramo.io/)** - _一个 JavaScript 框架,使任何人都能轻松地在其应用程序中使用可用加密方法验证的数据。_
-
-## 延伸阅读 {#further-reading}
-
-### 文章 {#articles}
-
-- [区块链用例:数字身份中的区块链](https://consensys.net/blockchain-use-cases/digital-identity/) — _共识系统_
-- [什么是以太坊 ERC725? 区块链上的自主身份管理](https://cryptoslate.com/what-is-erc725-self-sovereign-identity-management-on-the-blockchain/) — _Sam Town_
-- [区块链如何解决数字身份问题](https://time.com/6142810/proof-of-humanity/) — _Andrew R. Chow_
-- [什么是去中心化身份以及你为什么要关心?](https://web3.hashnode.com/what-is-decentralized-identity) — _Emmanuel Awosika_
-- [去中心化身份简介](https://walt.id/white-paper/digital-identity) — _Dominik Beron_
-
-### 视频 {#videos}
-
-- [去中心化身份(奖励直播环节)](https://www.youtube.com/watch?v=ySHNB1za_SE&t=539s) — _一个很好的去中心化身份解说视频,来自 Andreas Antonopolous_
-- [使用以太坊和 Ceramic、IDX、React 以及 3ID Connect 的去中心化身份登录](https://www.youtube.com/watch?v=t9gWZYJxk7c) - _来自 Nader Dabit 的一个 YouTube 教程,介绍如何使用用户的以太坊钱包构建身份管理系统以创建、读取和更新他们的个人资料_
-- [BrightID - 以太坊上的去中心化身份](https://www.youtube.com/watch?v=D3DbMFYGRoM) — _Bankless 播客节目讨论 BrightID(以太坊的去中心化身份解决方案)_
-- [链下互联网:去中心化身份和可验证凭证](https://www.youtube.com/watch?v=EZ_Bb6j87mg) — Evin McMullen 的 EthDenver 2022 演讲
-- [可验证凭据释义](https://www.youtube.com/watch?v=ce1IdSr-Kig) - Tamino Baumann 的 YouTube 讲解视频和演示
-
-### 社区 {#communities}
-
-- [GitHub 上的 ERC-725 联盟](https://github.com/erc725alliance) — _支持 ERC725 标准管理以太坊区块链上的身份_
-- [SpruceID Discord 服务器](https://discord.com/invite/Sf9tSFzrnt) — _使用以太坊登录的爱好者和开发者社区_
-- [Veramo Labs](https://discord.gg/sYBUXpACh4) - _开发者社区,帮助为应用程序构建可验证数据框架_
-- [walt.id](https://discord.com/invite/AW8AgqJthZ) — _一个由开发者和构建者组成的社区,致力于研究跨各种行业的去中心化身份用例_
diff --git a/public/content/translations/zh/08) Use cases 2/desci/index.md b/public/content/translations/zh/08) Use cases 2/desci/index.md
deleted file mode 100644
index fac292ee4bd..00000000000
--- a/public/content/translations/zh/08) Use cases 2/desci/index.md
+++ /dev/null
@@ -1,136 +0,0 @@
----
-title: 去中心化科学 (DeSci)
-description: 以太坊去中心化科学概览
-lang: zh
-template: use-cases
-emoji: ":microscope:"
-sidebarDepth: 2
-image: /images/future_transparent.png
-alt: ""
-summaryPoint1: 当前科学体系的全球性、开放性替代方案。
-summaryPoint2: 一种能帮助科学家做诸多事情的技术,例如筹集资金、进行实验、分享数据、传播见解等。
-summaryPoint3: 它以开放科学运动为基础。
----
-
-## 什么是去中心化科学 (DeSci)? {#what-is-desci}
-
-去中心化科学 (DeSci) 是一项运动,旨在使用 [Web3](/glossary/#web3) 堆栈构建用于公平、平等地资助、创作、审查、确认、存储和传播科学知识的公共基础设施。
-
-去中心化科学旨在创建一个生态系统,激励科学家公开分享他们的研究,并因其工作获得荣誉,同时允许任何人轻松了解研究并为研究做出贡献。 去中心化科学的理念是,每个人都应能接触科学知识,同时科学研究的过程应该透明化。 去中心化科学正在创建一个更加去中心化和分布式的科学研究模式,让它能够更加抵制中心机构的审查和控制。 去中心化科学希望通过去中心化获取资金、科学工具和交流的通道,创造一个让新的和非传统的想法能蓬勃发展的环境。
-
-去中心化科学允许更加多样化的资助来源(从[去中心化自治组织](/glossary/#dao)、[二次捐赠](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2003531)到众筹等等),让数据和方法更加容易获得,并为可复现性提供激励。
-
-### Juan Benet - 去中心化科学运动
-
-
-
-## 去中心化科学如何改善科学 {#desci-improves-science}
-
-一份关于科学关键问题的不完整清单以及去中心化科学如何帮助解决这些问题
-
-| **去中心化科学** | **传统科学** |
-| ------------------------------------------------- | -------------------------------------- |
-| 资金的分配由**公众决定**,使用类似于二次捐赠或去中心化自治组织等机制。 | 小型、封闭的**中心化群体**控制资金的分配。 |
-| 你可以与**全球**同行在充满活力的团队中合作。 | 资助组织和你所在的机构会**限制**你的合作。 |
-| 资助决定在线上作出并且是**透明的**。 探索新的资助机制。 | 资助决定需要很长时间才能作出,**透明度也有限**。 资助机制很少。 |
-| 通过使用 [Web3](/glossary/#web3) 技术,共享实验室服务变得更加简单和透明。 | 共享实验室资源往往是**缓慢和不透明的**。 |
-| 可以开发**新的发表模型**,使用 Web3 基元实现信任、透明和全民访问。 | 通过已有的途径发表,这些途径往往被认为**效率低下并且存在偏见的和剥削**。 |
-| 你可以**通过同行评审工作赢得代币和声誉**。 | **你的同行评审工作是没有报酬的**,营利性出版商从中获益。 |
-| **你自己拥有你创作内容的知识产权**,并根据透明性条款分发。 | **你所在的机构拥有你产出内容的知识产权**。 知识产权的获取不是透明的。 |
-| 通过将所有步骤都放在链上,**分享所有的研究**,包括未成功的尝试所产生的数据。 | **发表偏见**意味着研究人员更有可能分享那些取得成功结果的实验。 |
-
-## 以太坊与去中心化科学 {#ethereum-and-desci}
-
-一个去中心化的科学系统将需要强大的安全性、最小的货币和交易成本,以及一个丰富的应用开发生态系统。 以太坊提供构建去中心化科学技术所需的一切。
-
-## 去中心化科学使用案例 {#use-cases}
-
-去中心化科学正在构建一些科学工具,让传统的学术界能够进入数字世界。 以下是一些 Web3 在科学社区的使用案例。
-
-### 出版 {#publishing}
-
-科学出版是一个比较出名的问题,它由出版社进行管理,依靠科学家、评审人和编辑者这些免费劳动力来产生论文,然后收取高额的出版费。 普通大众通常已经通过税收间接支付了工作成果和出版费用,但仍需要再次向出版商付费来获取同一个工作成果。 发表个人科学论文的总费用通常是五位数 ($USD),这违背了科学知识作为[公共物品](/glossary/#public-goods)的总体概念,同时一小部分出版商获取了巨大的利益。
-
-免费和公开的平台以预打印服务器的形式存在,[比如 ArXiv](https://arxiv.org/)。 然而,这些平台缺乏质量控制、[反女巫机制](/glossary/#anti-sybil),通常没有追踪文章水平的指标,这意味着他们仅仅只是在提交给传统出版商之前宣传一下作品。 在 SciHub 上也可以免费获取公开发表的论文,但这不是合法的,并且通常是在出版商已经拿到付款和作品已被严格的版权法所保护之后。 因此,要使论文和数据可访问且具有内在合法性机制和激励模式,就需要填补巨大的空白。 创造这种系统的工具就在 Web3 中。
-
-### 可复现性与可复制性 {#reproducibility-and-replicability}
-
-可复现性和可复制性是高质量科学发现的基础。
-
-- 同一团队使用同一种方法能连续多次获得可复现的结果。
-- 不同的团队在同样的实验条件下能获得可复制的结果。
-
-新的 Web3 原生工具能确保可复现性和可复制性是发现的基础。 我们可以将高质量的科学纳入学术界的技术结构。 Web3 提供了为每个分析组件创建[认证](/glossary/#attestation)的能力:原始数据、计算引擎和应用结果。 共识系统的美妙之处在于,当创建一个可信网络来维护这些组件时,每一个网络参与者都将负责复现计算和验证结果。
-
-### 资金赞助 {#funding}
-
-目前资助科学的标准模式是,个人或科学家团队向资助机构提出书面申请。 一个由受信任的个人组成的小组对申请进行评分,然后对候选人进行面试,最后再向一小部分申请提供资金。 除了从申请到获得资助的时间有时**长达数年**外,这种模式还特别容易受到审查小组的**偏见、个人利益和政治因素**的影响。
-
-研究表明捐赠评审小组往往无法选出高质量的申请,因为同一个提案在不同的评审小组会得到完全不同的结果。 随着资金越来越少,资金集中到了更少的高级研究人员手中,他们的项目更加的保守。 这种效果创造了一个过度竞争的资金环境,助长了不正当的激励机制,并且扼杀了创新。
-
-通过对由去中心化自治组织和 Web3 开发的不同激励模型进行广泛试验,Web3 有可能打破这一不合理的资金模式。 [可溯源的公益资助](https://medium.com/ethereum-optimism/retroactive-public-goods-funding-33c9b7d00f0c)、[二次方融资](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2003531)、[去中心化自治组织治理](https://www.antler.co/blog/daos-and-web3-governance-the-promise-implications-and-challenges-ahead)和[代币化的激励结构](https://cdixon.org/2017/05/27/crypto-tokens-a-breakthrough-in-open-network-design)是一些可以彻底改变科学资助的 Web3 工具。
-
-### 知识产权所有权和发展 {#ip-ownership}
-
-知识产权 (IP) 是传统科学中的一个大问题:从被卡在大学里或未能在生物技术领域使用,到众所周知的难以估值。 然而,Web3 利用[非同质化代币 (NFT)](/glossary/#nft) 在数字资产(例如科学数据或文章)的所有权方面表现卓越。
-
-就像非同质化代币可以将未来交易的受益转回给原创作者一样,你可以建立透明的价值归属链,以此奖励研究人员、管理机构(比如去中心化自治组织),甚至是数据收集对象。
-
-[知识产权-非同质化代币](https://medium.com/molecule-blog/ip-nfts-for-researchers-a-new-biomedical-funding-paradigm-91312d8d92e6)就像一把钥匙,可以打开进行中的研究实验的去中心化数据存储库,还可以插入了同质化代币和[去中心化金融](/glossary/#defi)这些金融领域(从分片化到借贷池和价值评估)。 它也允许一些原生链上实体直接在链上进行研究,比如[VitaDAO](https://www.vitadao.com/) 等去中心化自治组织。 不可转让的[“灵魂绑定”代币](https://vitalik.eth.limo/general/2022/01/26/soulbound.html)的出现,也可能在去中心化科学中发挥重要作用,它允许个人证明与其以太坊地址关联的经验和凭证。
-
-### 数据存储、访问和架构 {#data-storage}
-
-使用 Web3 模式能够更容易地获取科学数据,同时分布式存储也能让研究在灾难性事件中幸存。
-
-起点必须是这样的一个系统:它可以被任何持有正确的可核验凭证的去中心化身份访问。 这确保敏感数据只能被信任方安全复制,从而让数据得到冗余、抵抗审查、复现结果,甚至提供多方合作和向数据集添加新数据的能力。 类似于[计算机到数据](https://7wdata.be/predictive-analytics/compute-to-data-using-blockchain-to-decentralize-data-science-and-ai-with-the-ocean-protocol)的机密计算方法,提供了另外一种原始数据复制的访问机制,给大多数敏感数据创造了一个可信的研究环境。 可信的研究环境已经[被英国国民医疗服务系统所引用](https://medium.com/weavechain/whats-in-store-for-the-future-of-healthcare-data-b6398745fbbb)。作为一种面向未来的数据隐私与合作的解决方案,这种环境通过创造良好的生态系统,使用标准化的环境来共享代码和实践,让研究者安全地使用数据。
-
-灵活的 Web3 数据解决方案支持上述场景,也为真正开放的科学奠定基础。研究者在 Web3 中可以创造公共利益,无需访问权限和费用。 Web3 的公共数据解决方案,比如星际文件系统、Arweave和菲乐币,也专门为去中心化做了优化。 例如 dClimate,让所有人获取气候和天气数据,包括来自气象站和气候预测模型的数据。
-
-## 参与其中 {#get-involved}
-
-探索项目并加入去中心化科学社区。
-
-- [DeSci.Global:全球事件和会议日历](https://desci.global)
-- [科学电报区块链](https://t.me/BlockchainForScience)
-- [Molecule:资助和为你的研究项目筹资](https://www.molecule.xyz/)
-- [VitaDAO:通过赞助的研究协议获取资金用于长寿研究](https://www.vitadao.com/)
-- [ResearchHub:发表科学成果及与同行对话](https://www.researchhub.com/)
-- [LabDAO:仿真折叠蛋白质](https://alphafodl.vercel.app/)
-- [dClimate 应用程序接口:查询由去中心化社区收集的气候数据](https://api.dclimate.net/)
-- [去中心化科学基金:去中心化出版工具构建者](https://descifoundation.org/)
-- [DeSci.World:用户浏览和参与去中心化科学的一站式商店](https://desci.world)
-- [OceanDAO:由去中心化自治组织管理的数据相关科学的拨款](https://oceanprotocol.com/)
-- [Opscientia:开放的去中心化科学工作流程](https://opsci.io/research/)
-- [Bio.xyz:为给你的生物技术去中心化自治组织或去中心化科学项目筹资](https://www.bio.xyz/)
-- [Fleming Protocol:推动协作式生物医学发现的开源数据经济](http://flemingprotocol.io/)
-- [Active Inference Institute](https://www.activeinference.org/)
-- [IdeaMarkets:实现去中心化科学的诚信](https://ideamarket.io/)
-- [DeSci Labs](https://www.desci.com/)
-- [ValleyDAO:一个开放的全球化社区,为合成生物学研究提供资金和转译支持](https://www.valleydao.bio)
-- [Cerebrum DAO:寻找和培育促进大脑健康和避免神经变性的解决方案](https://www.cerebrumdao.com/)
-- [CryoDAO:资助低温保存领域的登月研究](https://www.cryodao.org)
-
-我们欢迎提出新项目加入到列表中 - 开始前,请查看我们的[上架政策](/contributing/adding-desci-projects/)!
-
-## 延伸阅读 {#further-reading}
-
-- [DeSci Wiki 由 Jocelynn Pearl 和 Ultrarare 提供](https://docs.google.com/document/d/1aQC6zn-eXflSmpts0XGE7CawbUEHwnL6o-OFXO52PTc/edit#)
-- [由 Jocelynn Pearl 为 a16z 自建媒体网站 Future 写的一份去中心化生物技术指南](https://future.a16z.com/a-guide-to-decentralized-biotech/)
-- [去中心化科学实例](https://gitcoin.co/blog/desci-the-case-for-decentralised-science/)
-- [去中心化科学指南](https://future.com/what-is-decentralized-science-aka-desci/)
-- [去中心化科学资源](https://www.vincentweisser.com/decentralized-science)
-- [Molecule 的生物制药知识产权-非同质化代币 - 技术描述](https://www.molecule.xyz/blog/molecules-biopharma-ip-nfts-a-technical-description)
-- [Jon Starr 的《构建去信任科学系统》](https://medium.com/@jringo/building-systems-of-trustless-science-1cd2d072f673)
-- [Paul Kohlhaas - 去中心化科学:去中心化科学的未来(播客)](https://anchor.fm/andrew-steinwold/episodes/Paul-Kohlhaas---DeSci-The-Future-of-Decentralized-Science---Zima-Red-ep-117-e1h683a)
-- [去中心化科学的主动推理本体论:从情境意义建构到认知共享](https://zenodo.org/record/6320575)
-- [Samuel Akinosho 的《去中心化科学:研究的未来》](https://lucidsamuel.medium.com/desci-the-future-of-research-b76cfc88c8ec)
-- [Nadia 的《科学基金(结语:去中心化科学和新的加密原语)》](https://nadia.xyz/science-funding)
-- [去中心化正在颠覆药物开发](https://medium.com/id-theory/decentralisation-is-disrupting-drug-development-28b5ba5d447f)
-
-### 相关视频 {#videos}
-
-- [什么是去中心化科学?](https://www.youtube.com/watch?v=-DeMklVWNdA)
-- [Vitalik Buterin 和科学家 Aubrey de Grey 之间关于长寿研究和加密技术的交集的对话](https://www.youtube.com/watch?v=x9TSJK1widA)
-- [科学出版业存在不合理现象。 Web3 能解决这个问题吗?](https://www.youtube.com/watch?v=WkvzYgCvWj8)
-- [Juan Benet - 去中心化科学、独立实验室以及大规模数据科学](https://www.youtube.com/watch?v=zkXM9H90g_E)
-- [Sebastian Brunemeier - 去中心化科学如何改变生物医学研究和风险资本](https://www.youtube.com/watch?v=qB4Tc3FcVbM)
diff --git a/public/content/translations/zh/08) Use cases 2/refi/index.md b/public/content/translations/zh/08) Use cases 2/refi/index.md
deleted file mode 100644
index 6759decae1a..00000000000
--- a/public/content/translations/zh/08) Use cases 2/refi/index.md
+++ /dev/null
@@ -1,81 +0,0 @@
----
-title: 再生金融 (ReFi)
-description: 再生金融及主流用例概览。
-lang: zh
-template: use-cases
-emoji: ":recycle:"
-sidebarDepth: 2
-image: /images/future_transparent.png
-alt: ""
-summaryPoint1: 一种构建于再生原则之上的替代经济体系
-summaryPoint2: 一次利用以太坊解决全球协作危机(如气候变化)的尝试
-summaryPoint3: 一种可以大幅扩展生态效益资产的工具,例如经过验证的碳信用
----
-
-## 什么是再生金融? {#what-is-refi}
-
-**再生金融 (ReFi) **是一套建立在[区块链](/glossary/#blockchain)之上的工具和理念,旨在创建与攫取型或剥削型经济不同的再生型经济。 最终,攫取型体系在耗尽所有可用资源后崩溃;没有再生机制,体系缺乏恢复能力。 再生金融的运作基于一个假设,即货币价值的创造必须同向我们的星球和社区不可持续地攫取资源脱钩。
-
-然而,再生金融旨在通过建立再生循环来解决环境、公共或社会问题。 这些体系为参与者创造价值,同时使生态系统和社区受益。
-
-再生金融的基础之一是由 Capital Institute(资本研究院)的 John Fullerton 开创的再生经济学概念。 他提出了[ 8 项相互关联的原则,](https://capitalinstitute.org/8-principles-regenerative-economy/)作为保持体系健康的基础:
-
-![8 项相互关联的原则](refi-regenerative-economy-diagram.png)
-
-再生金融项目借助[智能合约](/glossary/#smart-contract)和[去中心化金融 (DeFi)](/glossary/#defi) 应用程序来实现这些原则,以激励再生行为(例如恢复退化的生态系统)并推动气候变化和生物多样性丧失等全球问题上的大规模合作。
-
-再生金融还与[去中心化科学 (DeSci)](/desci/) 重叠,后者使用以太坊作为资助、创作、审查、增加、存储和传播科学知识的平台。 去中心化科学工具可用于制定可验证的标准和实践,以实施和监测再生活动,如植树,清理海洋中的塑料或恢复退化的生态系统。
-
-
-
-## 碳信用代币化 {#tokenization-of-carbon-credits}
-
-**[自愿碳市场 (VCM)](https://climatefocus.com/so-what-voluntary-carbon-market-exactly/)** 是一种资助机制,用于资助对碳排放产生积极影响的项目,例如可以减少持续进行的排放,也可以清理已经排放到大气中的温室气体。 这些项目在经过验证后会获得一种称为“碳信用”的资产,碳信用可以出售给希望支持气候行动的个人和组织。
-
-除自愿碳市场外,还有几个政府批准的碳市场(“合规市场”),旨在于某个司法管辖区(例如国家或地区)内通过法律或法规建立碳价格,控制要分发的许可证的供应。 合规市场激励其司法管辖区内的污染者减少排放,但无法清理已经排放的温室气体。
-
-尽管近几十年来一直在发展,但自愿碳市场一直受到各种问题的困扰:
-
-1. 高度分散的流动性
-2. 不透明的交易机制
-3. 高额费用
-4. 极慢的交易速度
-5. 缺乏可扩展性
-
-从自愿碳市场过渡到基于区块链的新型**数字碳市场 (DCM) **也许是一次升级现有碳信用验证、交易和使用技术的机会。 区块链允许可公开验证的数据,为广泛的用户提供访问权限并拥有更多流动性。
-
-再生金融项目利用区块链技术来缓解传统市场中的诸多问题:
-
-- **流动性集中在少数几个可以由任何人自由交易的流动性池中。** 大型组织和个人用户都可以在不需要手动搜索卖家/买家、支付参与费用或事先注册的情况下使用这些流动性池。
-- **所有交易都记录在公共区块链上**。 一旦碳信用进入数字碳市场,由于交易活动引起的每个碳信用的路径始终都是有迹可查。
-- **交易的速度几乎是即时的。** 通过传统市场获得大量碳信用可能需要数天或数周,但在数字碳市场上仅需要几秒钟。
-- **交易活动在没有中介的情况下进行**,无需支付高额费用。 与传统碳信用相比,数字碳信用可以显著降低费用。
-- **数字碳市场具有可扩展性**,可以满足个人和跨国公司的需求。
-
-### 数字碳市场的关键构成部分 {#key-components-dcm}
-
-四大主要版块构成了数字碳市场的当前格局:
-
-1. 诸如 [Verra](https://verra.org/project/vcs-program/registry-system/) 和 [Gold Standard](https://www.goldstandard.org/) 这类注册机构确保创建碳信用的项目是可靠的。 它们还运营着数字碳信用的源头数据库,碳信用可以在数据库中转移或使用(清退)。
-
-新一轮的创新项目正在区块链上构建,试图打破该领域的现有局面。
-
-2. 碳桥又称 代币转换器,它提供了一种技术,可以表示碳信用,或将碳信用从传统注册机构转移到数字碳市场。 重要的碳桥示例包括 [Toucan 协议](https://toucan.earth/)、[C3](https://c3.app/) 以及 [Moss.Earth](https://moss.earth/)。
-3. 综合服务向最终用户提供避免和/或消除碳排放的信用额度,这样他们就可以认领信用额度带来的环境效益,并与全世界分享他们对气候行动的支持。
-
-像 [Klima Infinity](https://www.klimadao.finance/infinity) 和 [Senken](https://senken.io/) 等一些服务提供由第三方依据已制定的标准(如 Verra)开发和发布的各种项目;而另一些服务(如 [Nori](https://nori.com/))仅提供依据它们自己的碳信用标准开发的特定项目,这些项目由它们自己发布并有自己的专用市场。
-
-4. 有助于碳市场整条供应链的影响和效率提升的底层保障和基础设施。 [KlimaDAO](http://klimadao.finance/) 将流动性作为公共物品提供(允许任何人以透明的价格购买或出售碳信用),通过奖励激励碳市场吞吐量的增加和碳信用的清退,并提供用户友好的可互操作工具,以访问有关各种代币化碳信用的数据以及获取和清退这些碳信用。
-
-## 再生金融在碳市场以外的应用 {#refi-beyond}
-
-尽管目前普遍重点强调碳市场,特别是该领域内从自愿碳市场到数字碳市场的过渡,但“再生金融”一词并不严格局限于碳。 除碳信用以外,还可以开发和代币化其他环保资产,这意味着其他负外部效应也可以在未来经济体系的基础层内定价。 此外,这种经济模式的再生方面可以应用于其他领域,例如通过 [Gitcoin](https://gitcoin.co/) 等二次方融资平台为公共物品提供资金。 基于开放式参与和资源公平分配理念的组织让每个人都能为开源软件项目以及教育、环境和社区驱动的项目募集资金。
-
-通过将资本流动方向从攫取型活动转向再生项目,提供社会、环境或公共效益的项目和公司以及可能无法从传统金融中获得资金的项目和公司,可以顺利启动并更快、更容易地为社会产生正外部效应。 过渡到这种融资模式也打开了通向更具包容性的经济体系的大门,让所有人口结构的人都可以成为积极的参与者,而不仅仅是被动的观察者。 再生金融提出了以太坊的愿景,即作为一种协调机制,协调行动以应对我们人类和地球上所有生命面临的生存挑战,并作为新经济范式的基础层,为未来数百年创造一个更具包容性和可持续性的未来。
-
-## 关于再生金融的延伸阅读
-
-- [碳货币及其在经济体系中的地位的高层概览](https://www.klimadao.finance/blog/the-vision-of-a-carbon-currency)
-- [小说《The Ministry for the Future》(未来部)描写了一种锚定碳的货币在应对气候变化中发挥的作用。](https://en.wikipedia.org/wiki/The_Ministry_for_the_Future)
-- [扩大自愿碳市场工作组 (TSVCM) 的详细报告](https://www.iif.com/Portals/1/Files/TSVCM_Report.pdf)
-- [CoinMarketCap 术语表中有关再生金融的条目,由Kevin Owocki 和 Evan Miyazono 撰写](https://coinmarketcap.com/alexandria/glossary/regenerative-finance-refi)
diff --git a/public/content/translations/zh/08) Use cases 2/social-networks/index.md b/public/content/translations/zh/08) Use cases 2/social-networks/index.md
deleted file mode 100644
index 50c5fe34e79..00000000000
--- a/public/content/translations/zh/08) Use cases 2/social-networks/index.md
+++ /dev/null
@@ -1,106 +0,0 @@
----
-title: 去中心化社交网络
-description: 以太坊去中心化社交网络概览
-lang: zh
-template: use-cases
-emoji: ":mega:"
-sidebarDepth: 2
-image: /images/ethereum-learn.png
-summaryPoint1: 基于区块链的社交互动与内容平台的创建和分配。
-summaryPoint2: 去中心化社交媒体网络可保护用户隐私并增强数据安全性。
-summaryPoint3: 代币和非同质化代币创造了一种将内容货币化的新方法。
----
-
-社交网络在我们的日常交流和互动中发挥着重要作用。 然而,这些平台的集中控制产生了许多问题:数据泄露、服务器中断、去平台化、审查和侵犯隐私是社交媒体经常做出的一些取舍。 为了解决这些问题,开发人员正在以太坊上构建社交网络。 去中心化社交网络可以解决传统社交网络平台的诸多问题,提升用户的整体体验。
-
-## 什么是去中心化社交网络? {#what-are-decentralized-social-networks}
-
-去中心化社交网络是[基于区块链](/glossary/#blockchain)的平台,它允许用户交换信息并向受众发布和分发内容。 由于这些应用程序在区块链上运行,它们能够去中心化并抵制审查和不当控制。
-
-许多去中心化的社交网络已成为现有社交媒体服务的替代品,例如 Facebook、LinkedIn、Twitter 和 Medium。 但基于区块链的社交网络有许多领先于传统社交平台的功能。
-
-
-
-### 去中心化的社交网络是如何工作的? {#decentralized-social-networks-overview}
-
-去中心化社交网络是一类[去中心化应用程序 (dapp)](/dapps/) — 由部署在区块链上的[智能合约](/glossary/#smart-contract)驱动的应用程序。 合约代码充当这些应用程序的后端并定义它们的业务逻辑。
-
-传统社交媒体平台依靠数据库来存储用户信息、程序代码和其他形式的数据。 但这会产生单点故障并带来重大风险。 例如,2021 年 10 月,Facebook 的服务器[离线了数个小时](https://www.npr.org/2021/10/05/1043211171/facebook-instagram-whatsapp-outage-business-impact),切断了用户与平台的连接,这件事引起了极差的反响。
-
-去中心化社交网络存在于由世界各地数千个节点组成的[对等网络](/glossary/#peer-to-peer-network)上。 即使某些节点发生故障,网络也将不间断地运行,使应用程序能够抵御故障和中断。
-
-构建于以太坊之上的社交网络使用类似[星际文件系统 (IPFS)](https://ipfs.io/) 之类的去中心化存储系统,可以保护用户信息免遭利用和恶意使用。 没有人会将你的个人信息出售给广告商,黑客也无法窃取你的机密信息。
-
-许多基于区块链的社交平台都有原生代币,可以在没有广告收入的情况下实现货币化。 用户可以购买这些代币来访问某些功能、在应用程序内购物或打赏他们最喜欢的内容创作者。
-
-## 去中心化社交网络的好处 {#benefits}
-
-1. 去中心化社交网络可抵御审查,并对所有人开放。 这意味着**用户不能被随意禁止**、封杀或限制。
-
-2. 去中心化社交网络**建立在开源理念上**,并使应用程序的源代码可供公众检查。 通过去除传统社交媒体中常见的不透明算法,基于区块链的社交网络可以使用户和平台创建者的利益保持一致。
-
-3. 去中心化社交网络淘汰了“中间人”。 **内容创作者对其创作的内容拥有直接所有权**,他们直接与关注者、粉丝、买家和其他各方互动,双方之间仅有智能合约。
-
-4. 由于去中心化应用程序在由全球节点对等网络提供支持的以太坊网络上运行,去中心化社交网络**不易受到服务器停机和中断的影响**。
-
-5. 去中心化社交平台通过[非同质化代币 (NFT)](/glossary/#nft)、应用程序内加密货币支付等,为内容创作者提供了**改进的货币化框架**。
-
-6. 去中心化社交网络为用户提供了**高度的隐私和匿名性**。 例如,个人可以使用[以太坊域名服务](/glossary/#ens)配置文件或[钱包](/glossary/#wallet)登录基于以太坊的社交网络,而无需共享个人身份信息 (PII),例如姓名、电子邮件地址等。
-
-7. 去中心化社交网络依赖于去中心化存储,而不是中心化数据库。在保护用户数据方面,前者更加优秀。
-
-## 以太坊上的去中心化社交网络 {#ethereum-social-networks}
-
-凭借其代币的高人气以及庞大的用户基础,以太坊网络已成为开发人员打造去中心化社交媒体的首选工具。 以下是基于以太坊的社交网络的一些示例:
-
-### Mirror {#mirror}
-
-[Mirror](https://mirror.xyz/) 是一个支持 web3 的写作平台,旨在实现去中心化并被用户所有。 用户只需连接钱包即可在 Mirror 上免费读写。 用户还可以收集写作作品并订阅他们喜欢的作者。
-
-在 Mirror 上发布的帖子会永久存储在去中心化存储平台 Arweave 上,并且可以作为铸造为可收集的[非同质化代币 (NFT)](/nft/),称为写作 NFT。 创作者可以完全免费地创建写作非同质化代币,并且收集在以太坊[二层网络](/glossary/#layer-2)上进行 — 这使得交易便宜、快速且环保。
-
-### MINDS {#minds}
-
-[MINDS](https://www.minds.com/) 是最常用的去中心化社交网络之一。 它的运作方式与 Facebook 类似,并且已经吸引了数百万用户。
-
-用户使用平台原生的 [ERC-20](/glossary/#erc-20) 代币 $MIND 购买物品。 用户还可以通过发布热门内容、为生态系统做出贡献以及将其他人推荐给平台来赚取 $MIND 代币。
-
-## 使用去中心化社交网络 {#use-decentralized-social-networks}
-
-- **[Status.im](https://status.im/)** - _Status 是一个安全的消息收发应用程序,使用开源、对等协议和端到端加密来保护你的消息免受第三方侵害。_
-- **[Mirror.xyz](https://mirror.xyz/)** - _Mirror 是一个基于以太坊的去中心化、用户所有发布平台,供用户众筹创意、将内容货币化并创建高价值社区。_
-- **[Lens Protocol](https://lens.xyz/)** - _Lens Protocol 是一个可组合的去中心化社交图谱,可帮助创作者在去中心化互联网数字花园中的任何地方都拥有自己的内容。_
-- **[Farcaster](https://farcaster.xyz/)** - _Farcaster 是一个足够分散的社交网络。 它是一个开放的协议,可以支持许多客户端,就像电子邮件。_
-
-## 以太坊上的 Web2 社交网络 {#web2-social-networks-and-ethereum}
-
-[Web3](/glossary/#web3) 原生社交平台并不是唯一试图将区块链技术融入社交媒体的平台。 许多中心化平台也计划将以太坊集成到他们的基础结构中:
-
-### Reddit {#reddit}
-
-Reddit 提供[回赠式社区积分](https://cointelegraph.com/news/reddit-to-reportedly-tokenize-karma-points-and-onboard-500m-new-users),即 ERC-20 代币,用户可以通过发布优质内容或为在线社区 (subreddit) 做出贡献来赚取它们。 你可以在 subreddit 中兑换这些代币以获得独有的特权和福利。 对于此项目,Reddit 正与 Arbitrum 进行合作,后者是一个旨在扩展以太坊交易的[二层](/glossary/#layer-2)网络。
-
-该程序已经上线,r/CryptoCurrency subreddit [运行其名为“Moons”的社区积分版本](https://www.reddit.com/r/CryptoCurrency/wiki/moons_wiki)。 根据官方描述,Moons“奖励发布者、评论者和版主对 subreddit 的贡献。” 因为这些代币在区块链上进行交易(代币会直接进入用户钱包),代币与 Reddit 无关,因此其他人无法获取用户的代币。
-
-除了使用社区积分来解锁特殊功能外,用户还可以在交易所用它们换取法币。 此外,用户拥有的社区积分决定了他们对社区中决策过程的影响力。
-
-## 延伸阅读 {#further-reading}
-
-### 文章 {#articles}
-
-- [去中心化社交媒体:web3 社交堆栈指南](https://www.coinbase.com/blog/decentralizing-social-media-a-guide-to-the-web3-social-stack) - _Coinbase Ventures_
-- [社交网络是去中心化的下一个大机遇](https://www.coindesk.com/tech/2021/01/22/social-networks-are-the-next-big-decentralization-opportunity/) — _Ben Goertzel_
-- [Web3 可能实现去中心化的社区推动社交网络](https://venturebeat.com/2022/02/26/web3-holds-the-promise-of-decentralized-community-powered-social-networks/) — _Sumit Ghosh_
-- [区块链社交媒体发展形势概述](https://www.gemini.com/cryptopedia/blockchain-social-media-decentralized-social-media) — _Gemini Cryptopedia_
-- [区块链如何解决社交媒体的隐私问题](https://www.investopedia.com/news/ethereum-blockchain-social-media-privacy-problem-linkedin-indorse/) — _Prableen Bajpai_
-- [社交网络的充分去中心化](https://www.varunsrinivasan.com/2022/01/11/sufficient-decentralization-for-social-networks) - _Varun Srinivasan_
-
-### 视频 {#videos}
-
-- [去中心化社交媒体阐述](https://www.youtube.com/watch?v=UdT2lpcGvcQ) — _Coinmarketcap_
-- [DeSo 区块链希望将社交媒体去中心化](https://www.youtube.com/watch?v=SG2HUiVp0rE) — _Bloomberg Technology_
-- [去中心化社交媒体,以及 Balaji Srinivasan、Vitalik Buterin、Juan Benet 的未来](https://www.youtube.com/watch?v=DTxE9KV3YrE) — _ETHGlobal_
-
-### 社区 {#communities}
-
-- [r/CryptoCurrency subreddit](https://www.reddit.com/r/CryptoCurrency/)
diff --git a/public/content/translations/zh/09) Learn Pages/bridges/index.md b/public/content/translations/zh/09) Learn Pages/bridges/index.md
deleted file mode 100644
index 2abed2539e6..00000000000
--- a/public/content/translations/zh/09) Learn Pages/bridges/index.md
+++ /dev/null
@@ -1,128 +0,0 @@
----
-title: 区块链桥简介
-description: 桥梁使用户能够跨不同的区块链转移他们的资金
-lang: zh
----
-
-# 区块链桥 {#prerequisites}
-
-_Web3 已经发展成为一个由一层网络区块链和二层网络扩展解决方案组成的生态系统,每个解决方案都具有独特的功能和权衡。 随着区块链协议数量的增加,跨链转移资产的需求也随之增加。 为了满足这一需求,我们需要桥接。_
-
-
-
-## 什么是桥梁? {#what-are-bridges}
-
-区块链桥就像我们在真实世界所知道的桥梁一样。 就像真实桥梁连结两个物理位置一样,区块链桥梁连接两个区块链生态系统。 **链桥传输信息和资产,促进了区块链之间的通信**。
-
-我们来看一个例子:
-
-你来自美国,正计划去欧洲旅行。 你有美元,但你需要欧元来消费。 要将你的美元兑换成欧元,你可以使用货币兑换并支付少量费用。
-
-但是,如果你想进行类似的兑换以使用一条不同的[区块链](/glossary/#blockchain),你要怎么做呢? 假设你想用以太坊主网上的[以太币](/glossary/#ether)兑换 [Arbitrum](https://arbitrum.io/) 上的以太币。 就像我们为欧元进行的货币兑换一样,我们需要一种机制将我们的以太币从以太坊转移到 Arbitrum。 桥梁使这种交易成为可能。 在本例中,[Arbitrum 有一个原生桥梁](https://bridge.arbitrum.io/),可以将以太币从主网转移到 Arbitrum。
-
-## 我们为什么需要桥梁? {#why-do-we-need-bridges}
-
-所有区块链都有其局限性。 为了使以太坊实现扩容并满足需求,就必须进行[卷叠](/glossary/#rollups)。 或者,像 Solana 和 Avalanche 这样的一层网络具有不同的设计,以实现更高的吞吐量,但代价是去中心化。
-
-然而,所有区块链开发都是在孤立环境中进行的,因此具有不同的规则和[共识](/glossary/#consensus)机制。 这意味着它们无法进行原生通信,代币也无法在区块链之间自由移动。
-
-桥梁的存在为了连接区块链,以便在它们之间进行信息和代币传输。
-
-**链桥的作用**:
-
-- 跨链传输资产和信息。
-- 使[去中心化应用程序](/glossary/#dapp)可以利用各种区块链的优势 — 从而增强功能(因为协议现在有更多的创新设计空间)。
-- 使用户能够访问新平台并利用不同链的优势。
-- 使来自不同区块链生态系统的开发人员相互协作并为用户构建新平台。
-
-[如何将代币桥接到二层网络](/guides/how-to-use-a-bridge/)
-
-
-
-## 桥梁用例 {#bridge-use-cases}
-
-以下是你可以使用桥梁的一些场景:
-
-### 降低交易费 {#transaction-fees}
-
-假设你在以太坊主网上有以太币,但想要以较少的交易费探索不同的去中心化应用程序。 通过将你的以太币从主网桥接到以太坊二层网络卷叠,你可以享受更低的交易费用。
-
-### 其他区块链上的去中心化应用程序 {#dapps-other-chains}
-
-如果你一直在以太坊主网上使用 Aave 借出泰达币,但在 Polygon 上使用 Aave 借出泰达币的利率更高。
-
-### 探索区块链生态系统 {#explore-ecosystems}
-
-如果你在以太坊主网上有以太币,而你想探索山寨币一层网络来尝试他们的原生应用程序。 你可以使用桥梁将你的以太币从以太坊主网转移到山寨币一层网络。
-
-### 拥有原生加密资产 {#own-native}
-
-如果你只有以太坊网络资产但想拥有原生比特币, 你可以先兑换得到以太坊上的 BTC - WBTC(Wrapped Bitcoin), 然而,包装比特币是以太坊网络的原生 [ERC-20](/glossary/#erc-20) 代币,这意味着它是比特币的以太坊版本,而不是比特币区块链上的原始资产。 然后你可以通过跨链桥,将资产从以太坊网络跨到比特币网络, 即将 WBTC 转换为原生 BTC。 或者,你可能拥有比特币,并且想在以太坊的[去中心化金融](/glossary/#defi)协议中使用它。 用于以太坊网络的 DeFi 协议中。
-
-
- 你还可以使用中心化交易所完成上述所有操作。 但是,除非你的资金已经在交易所,否则将涉及多个步骤,而且你最好使用桥梁。
-
-
-
-
-## 桥梁类型 {#types-of-bridge}
-
-桥梁具有各种设计和复杂程度。 一般来说,桥梁分为两类:需信任桥梁和去信任桥梁。
-
-| 需信任桥梁 | 去信任桥梁 |
-| ------------------------------------- | -------------------------------------------------------- |
-| 需信任桥梁依赖于中心实体或系统的运作。 | 去信任桥梁使用智能合约和算法运行。 |
-| 他们对资金的保管和桥梁的安全性有信任假设。 用户大多依赖桥梁运营商的声誉。 | 这种桥梁免于信任,即桥梁的安全性与底层区块链的安全性相同。 |
-| 用户需要放弃对其加密资产的控制。 | 借助[智能合约](/glossary/#smart-contract),去信任链桥使用户能够始终控制他们的资金。 |
-
-简而言之,我们可以说需信任桥梁具有信任假设,而去信任桥梁对信任的依赖非常小,因此不会在基础域之外出现新的信任假设。 上述术语的解释如下:
-
-- **去信任**:与底层域具有同等的安全性。 如 [Arjun Bhuptani 在本文中所述。](https://medium.com/connext/the-interoperability-trilemma-657c2cf69f17)
-- **信任假设**:通过在系统中添加外部验证者来摆脱底层域的安全性,从加密经济学的角度来说,这降低了安全性。
-
-为了更好地理解这两种方法之间的主要区别,我们来举个例子:
-
-想象一下,你在机场安检站。 有两种检查站:
-
-1. 手动检查站 — 由工作人员手动检查你的机票和身份证明的所有详细信息,然后再交出登机牌。
-2. 自助值机 — 由一台机器操作,你可以在其中输入航班的详细信息,如果一切检查完毕,你就会收到登机牌。
-
-手动检查点类似于需信任模式,因为它依赖于第三方(即工作人员)进行操作。 作为用户,你相信工作人员会做出正确的决定并正确使用你的私人信息。
-
-自助值机类似于去信任模式,因为它不再需要操作员,而是利用技术进行操作。 用户始终可以控制他们的数据,并且不必信任第三方来处理他们的私人信息。
-
-许多桥梁解决方案采用的模式介于这两个极端之间,具有不同的去信任度。
-
-
-
-## 使用桥梁的风险 {#bridge-risk}
-
-桥梁正处于开发的早期阶段, 很可能尚未发现最佳桥梁设计。 与任何类型的桥梁互动都有风险:
-
-- **智能合约风险 —** 代码中的错误可能导致用户资金丢失的风险
-- **技术风险 —** 软件故障、代码错误、人为错误、垃圾邮件和恶意攻击可能会扰乱用户操作
-
-此外,由于需信任桥梁增加了信任假设,因此会带来额外的风险,例如:
-
-- **审查风险 —** 桥梁运营商理论上可以阻止用户使用桥梁转移资产
-- **保管风险 —** 桥梁运营商可以串通盗取用户资金
-
-如果出现以下情况,用户的资金将面临风险:
-
-- 智能合约中存在错误
-- 用户出错
-- 底层区块链被非法侵入
-- 桥梁运营商对需信任桥梁有恶意
-- 桥梁被非法侵入
-
-最近的一次黑客攻击是 Solana 的虫洞桥,[在黑客攻击期间被窃取了 12 万 包装以太币(3.25 亿美元)](https://rekt.news/wormhole-rekt/)。 [区块链中的许多顶级黑客攻击都涉及到桥梁](https://rekt.news/leaderboard/)。
-
-桥梁对于让用户加入以太坊二层网络至关重要,甚至对于想要探索不同生态系统的用户也至关重要。 然而,鉴于与桥梁交互所涉及的风险,用户必须了解桥梁正在做出的权衡取舍。 这些是一些确保[跨链安全的策略](https://blog.debridge.finance/10-strategies-for-cross-chain-security-8ed5f5879946)。
-
-
-
-## 延伸阅读 {#further-reading}
-
-- [EIP-5164:跨链执行](https://ethereum-magicians.org/t/eip-5164-cross-chain-execution/9658)_2022 年 6 月 18 日 - Brendan Asselstine_
-- [二层网络桥梁风险框架](https://gov.l2beat.com/t/l2bridge-risk-framework/31) _2022 年 7 月 5日 - Bartek Kiepuszewski_
-- [“为什么未来将出现多链,而不会是跨链。”](https://old.reddit.com/r/ethereum/comments/rwojtk/ama_we_are_the_efs_research_team_pt_7_07_january/hrngyk8/) _2022 年 1 月 8 日 - Vitalik Buterin_
diff --git a/public/content/translations/zh/09) Learn Pages/energy-consumption/index.md b/public/content/translations/zh/09) Learn Pages/energy-consumption/index.md
deleted file mode 100644
index c7a264b3678..00000000000
--- a/public/content/translations/zh/09) Learn Pages/energy-consumption/index.md
+++ /dev/null
@@ -1,82 +0,0 @@
----
-title: 以太坊能源消耗
-description: 了解以太坊能源消耗所需的基本信息。
-lang: zh
----
-
-# 以太坊的能源消耗 {#proof-of-stake-energy}
-
-以太坊是一个绿色区块链。 以太坊的[权益证明](/developers/docs/consensus-mechanisms/pos)共识机制,使用以太币而不是[能源](/developers/docs/consensus-mechanisms/pow)来保护网络安全。 整个以太坊全球网络的能源消耗约为 [0.0026 亿千瓦时/年](https://carbon-ratings.com/eth-report-2022)。
-
-以太坊的能耗估算值来自[加密碳评级机构 (CCRI)](https://carbon-ratings.com) 的一项研究。 该机构对以太坊网络的电力消耗和碳足迹进行了自下而上的估算([查看报告](https://carbon-ratings.com/eth-report-2022))。 他们测量了具有各种硬件和客户端软件配置的各种不同节点的耗电量。 以太坊网络的年耗电量估算值为 **2,601 兆瓦时**(0.0026 亿千瓦时),相当于应用了区域特定碳强度因子的 **870 吨二氧化碳当量**的年碳排放量。 在节点加入和退出网络时,该值会随之变化 - 可通过使用[剑桥区块链网络可持续性指数](https://ccaf.io/cbnsi/ethereum)提供的连续 7 天的平均估算值进行跟踪(请注意他们使用的估算方式略有不同 - 详细信息请参见其网站)。
-
-为全面了解以太坊的能源消耗,我们可以比较某些其他产品和行业的能源消耗年化估算值。 这将有助于我们更好地理解以太坊能源消耗估算值是高还是低。
-
-
-
-上面的图表显示了以太坊与其他一些产品和行业的能源消耗估算值,单位为亿千瓦时/年。 所有估算值均来自 2023 年7 月获得的公开信息,其来源链接在下表列出。
-
-| | 年化能源消耗(亿千瓦时) | 和权益证明以太坊比较 | 来源 |
-|:----------- |:------------:|:----------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
-| 全球数据中心 | 190 | 73,000 倍 | [来源](https://www.iea.org/commentaries/data-centres-and-energy-from-global-headlines-to-local-headaches) |
-| 比特币 | 149 | 53,000 倍 | [来源](https://ccaf.io/cbnsi/cbeci/comparisons) |
-| 开采金矿 | 131 | 50,000 倍 | [来源](https://ccaf.io/cbnsi/cbeci/comparisons) |
-| 美国游戏行业\* | 34 | 13,000 倍 | [来源](https://www.researchgate.net/publication/336909520_Toward_Greener_Gaming_Estimating_National_Energy_Use_and_Energy_Efficiency_Potential) |
-| 工作量证明以太坊 | 21 | 8,100 倍 | [来源](https://ccaf.io/cbnsi/ethereum/1) |
-| Google | 19 | 7,300 倍 | [来源](https://www.gstatic.com/gumdrop/sustainability/google-2022-environmental-report.pdf) |
-| Netflix | 0.457 | 176 倍 | [来源](https://assets.ctfassets.net/4cd45et68cgf/7B2bKCqkXDfHLadrjrNWD8/e44583e5b288bdf61e8bf3d7f8562884/2021_US_EN_Netflix_EnvironmentalSocialGovernanceReport-2021_Final.pdf) |
-| PayPal | 0.26 | 100 倍 | [来源](https://s202.q4cdn.com/805890769/files/doc_downloads/global-impact/CDP_Climate_Change_PayPal-(1).pdf) |
-| AirBnB | 0.02 | 8 倍 | [来源](https://s26.q4cdn.com/656283129/files/doc_downloads/governance_doc_updated/Airbnb-ESG-Factsheet-(Final).pdf) |
-| **权益证明以太坊** | **0.0026** | **1 倍** | [来源](https://carbon-ratings.com/eth-report-2022) |
-
-\*包括个人电脑、笔记本电脑和游戏机等用户终端设备。
-
-获得准确的能源消耗估算值比较复杂,尤其是被衡量对象有着复杂的供应链或部署细节影响效率时。 例如,Netflix 和 Google 的能源消耗估算值存在差异,这取决于估算值只包括用于维护系统和向用户提供内容的能耗(_直接能耗_),还是也包括制作内容、运营公司、投放广告等方面所需的能耗(_间接能耗_)。 间接能耗还包括用于在用户终端设备(例如电视,电脑和手机)上消费内容的能耗。
-
-以上估算值的比较并不完美。 间接能耗的数量因来源而异,并且很少包括来自用户终端设备的能耗。 每一个数据来源都有关于被衡量对象的更多详细信息。
-
-上面的表格与图表还包括与比特币及工作量证明以太坊的比较。 需要注意的是,工作量证明以太坊网络的能源消耗不是静态的,它每天都在变化。 不同来源的能耗估算值也会有很大差异。 这个话题引起了一些微妙的[争论](https://www.coindesk.com/business/2020/05/19/the-last-word-on-bitcoins-energy-consumption/),不仅涉及能源消耗量,还涉及能源来源和相关伦理问题。 能源消耗不一定与环境足迹精确对应,因为不同的项目可能使用不同的能源,例如更低或更高比例的可再生能源。 例如,[剑桥比特币耗电量指数](https://ccaf.io/cbnsi/cbeci/comparisons)指出,理论上讲,天然气燃除或在输配电过程中损失的电力就可以满足比特币网络的能源需求。 以太坊的可持续性路线是用一种环保替代方案取代网络中的高能耗部分。
-
-可以在[剑桥区块链网络可持续性指数网站](https://ccaf.io/cbnsi/ethereum)上查看多个不同行业的能源消耗和一氧化碳排放估算值。
-
-## 每笔交易的能耗估算值 {#per-transaction-estimates}
-
-许多文章估算的是区块链上“每笔交易”的能源消耗。 然而,这种估算可能会产生误导,因为提出和验证区块所需的能源与区块中的交易数量无关。 如果以每笔交易为单位计算能源消耗,意味着交易越少能源消耗越少,反之亦然,但事实并非如此。 而且,每笔交易的能源消耗估算值高度依赖于区块链的交易吞吐量是如何定义的,并且可以通过调整这个定义来使估算值看起来更大或更小。
-
-例如,在以太坊上,交易吞吐量不仅是基础层的交易吞吐量,还包括所有“[二层网络](/layer-2/)”卷叠的交易吞吐量总和。 二层网络的交易吞吐量总和通常未包含在计算中,但可以解释排序者使用的额外能源(少量)以及他们处理的交易数量(大量)可能会大幅降低每笔交易的能源消耗估算值。 这就是为什么跨平台比较每笔交易的能源消耗可能造成误导的原因之一。
-
-## 以太坊的碳债务 {#carbon-debt}
-
-以太坊目前的能源消耗非常低,但并非总是如此。 以太坊最初采用工作量证明机制,其环境成本远远高于目前的权益证明机制。
-
-创立伊始,以太坊就计划实施权益证明共识机制,但要施这种共识机制而不牺牲安全性和去中心化,需要多年的重点研究和开发。 因此,我们使用了工作量证明机制启动以太坊网络。 工作量证明机制要求矿工使用计算硬件进行值计算,而这个过程中会消耗能源。
-
-![合并前后以太坊能源消耗比较,左侧 330 米高的埃菲尔铁塔表示以太坊合并前的高能耗,右侧 4 厘米高的乐高小人代表以太坊合并后大幅降低的能耗](energy_consumption_pre_post_merge.png)
-
-CCRI 估计,以太坊的年化耗电量会因合并减少 **99.988%** 以上。 同样,以太坊的碳足迹减少了大约 **99.992%**(二氧化碳当量从 11,016,000 吨减少到 870 吨)。 比较而言,排放减少量就如同从埃菲尔铁塔的高度下降到小塑料玩偶一般巨大,如上图所示。 因此,保护网络的环境成本大大降低。 同时,据信网络安全也得到改善。
-
-## 绿色应用程序层 {#green-applications}
-
-尽管以太坊的能源消耗非常低,但以太坊上也出现了大量不断增长且高度活跃的[**再生金融 (ReFi)**](/refi/) 社区。 再生金融应用程序使用去中心化金融组件来构建具有积极外部影响,从而使环境受益的金融应用程序。 再生金融是更广泛的[“太阳朋克”](https://en.wikipedia.org/wiki/Solarpunk)运动的一部分,这项运动与以太坊高度契合,旨在将技术进步和环境管理结合起来。 以太坊具有去中心化、无需许可和可组合的特性,这使其成为再生金融和太阳朋克社区的理想基础层。
-
-Web3 原生公共物品融资平台,如 [Gitcoin](https://gitcoin.co) 举行气候回合,推动在以太坊应用程序层上形成环境意识。 通过制定这些计划(以及其他,例如[去中心化科学](/desci/)),以太坊正在成为一项对环境和社会有益的技术。
-
-
- 如果你认为本页尚有可改进之处,请提出问题或拉取请求。 本页面上的统计数据是基于公开数据的估算值 - 它们不代表 ethereum.org 团队或以太坊基金会的官方声明或承诺。
-
-
-## 延伸阅读 {#further-reading}
-
-- [剑桥区块链网络可持续性指数](https://ccaf.io/cbnsi/ethereum)
-- [白宫关于工作量证明区块链的报告](https://www.whitehouse.gov/wp-content/uploads/2022/09/09-2022-Crypto-Assets-and-Climate-Report.pdf)
-- [以太坊排放量:一种自下而上的估算方法](https://kylemcdonald.github.io/ethereum-emissions/) - _Kyle McDonald_
-- [以太坊能源消耗指数](https://digiconomist.net/ethereum-energy-consumption/) - _Digiconomist_
-- [ETHMerge.com](https://ethmerge.com/) - _[@InsideTheSim](https://twitter.com/InsideTheSim)_
-- [合并 - 对以太坊网络电力消耗和碳足迹的影响](https://carbon-ratings.com/eth-report-2022) - _CCRI_。
-- [以太坊的能源消耗](https://mirror.xyz/jmcook.eth/ODpCLtO4Kq7SCVFbU4He8o8kXs418ZZDTj0lpYlZkR8)
-
-## 相关主题 {#related-topics}
-
-- [以太坊愿景](/roadmap/vision/)
-- [信标链](/roadmap/beacon-chain)
-- [合并](/roadmap/merge/)
diff --git a/public/content/translations/zh/09) Learn Pages/governance/index.md b/public/content/translations/zh/09) Learn Pages/governance/index.md
deleted file mode 100644
index 52f9ded16f5..00000000000
--- a/public/content/translations/zh/09) Learn Pages/governance/index.md
+++ /dev/null
@@ -1,182 +0,0 @@
----
-title: 以太坊治理
-description: 简介:如何做出关于以太坊的决策。
-lang: zh
----
-
-# 以太坊治理简介 {#introduction}
-
-_如果没有人拥有以太坊,那么关于以太坊过去和未来变化的决定是如何做出的? 以太坊治理是指允许作出此类决定的过程。_
-
-
-
-## 什么是治理? {#what-is-governance}
-
-治理是指允许做出决定的制度系统。 在典型的组织架构中,执行小组或董事会拥有最终决策的发言权。 或者股东们投票决定改革提案。 在政治制度中,当选的官员可以颁布立法,代表其选民的期望。
-
-## 去中心化治理 {#decentralized-governance}
-
-没有任何人拥有或者控制以太坊协议,但是为了确保网络的长久繁荣,仍然需要对变革做出决定。 由于缺少所有权,这使得传统组织治理不再适合。
-
-## 以太坊治理 {#ethereum-governance}
-
-以太坊治理是指进行协议更改的流程。 需要特别指出的是,这个流程与人们和应用程序如何使用该协议无关 - 以太坊无需许可。 世界上任何人都可以在任意地方参与链上活动。 没有规定谁可以或者不可以构建应用程序或者发送交易。 然而,需要有一个流程来提议针对核心协议的修改,去中心化应用程序正是在核心协议上运行的。 由于非常多的人都依赖以太坊的稳定性,因此对包括社会和技术流程在内的核心修改进行协调的门槛非常高,需要确保对以太坊进行的任何修改都是安全的并得到社区的广泛支持。
-
-### 链上治理与链下治理 {#on-chain-vs-off-chain}
-
-区块链技术支持新治理功能,称为“链上治理”。 链上治理是指拟定的协议修改由利益相关方投票决定。通常由区块链上治理代币的持有者进行投票。 对于某些链上治理形式,拟定的协议更改已经写入代码,如果利益相关方通过签署交易批准更改,则变更会自动执行。
-
-与之相对的是链下治理,即任何协议变更决议都通过非正式社区讨论过程决定。如获批准,将在代码中加以执行。
-
-**以太坊的链下治理**吸引了非常广泛的利益相关方参与该流程。
-
-_虽然在协议层上,以太坊的治理在链下进行,但许多基于以太坊构建的使用案例(例如 DAO)采用链上治理。_
-
-
- 关于去中心化自治组织的更多信息
-
-
-
-
-## 谁参与这项工作? {#who-is-involved}
-
-[以太坊社区](/community/)有各种利益相关者,每个人在治理进程中各司其职。 从距离协议最远的利益相关方开始,我们有:
-
-- **以太币持有者**:这些人拥有任意数量的以太币。 [关于以太币的更多信息](/eth/)。
-- **应用程序用户**:这些人员与以太坊区块链上的应用程序交互。
-- **应用程序/工具开发者**:这些人编写在以太坊区块链上运行的应用程序是(比如去中心化金融、非同质化代币等)或构建以太坊交互的工具(例如钱包、测试套件等)。 [关于去中心化应用程序的更多信息](/dapps/)。
-- **节点运营商**:这些人运行区块和交易广播节点,拒绝遇到的任何无效交易或区块。 [关于节点的更多信息](/developers/docs/nodes-and-clients/)。
-- **以太坊改进提案作者**:这些人提议修改以太坊协议,具体形式为以太坊改进提案。 [关于以太坊改进提案的更多信息](/eips/)。
-- **验证者**:这些人运行的节点能够将新的区块添加到以太坊区块链上。
-- **协议开发者**(又名 “核心开发者”):这些人负责维护各种以太坊实现(例如执行层的 go-ethereum、Nethermind、Besu、Erigon、Reth,或共识层的 Prysm、Lighthouse、Nimbus、Teku、Lodestar)。 [关于以太坊客户端的更多信息](/developers/docs/nodes-and-clients/)。
-
-_注:任何个人都可以属于多个组(如:协议开发者可以支持以太坊改进提案,运行信标链验证者,并使用去中心化金融应用程序)。 不过为了明确概念,这样最容易区分。_
-
-
-
-## 什么是以太坊改进提案? {#what-is-an-eip}
-
-以太坊治理中使用的一个重要流程是**以太坊改进提案**。 以太坊改进提案是指明以太坊潜在新功能或流程的一套标准。 以太坊社区内的任何人都可以创建以太坊改进提案。 如果你对撰写以太坊改进提案或参与同行评审和/或治理感兴趣,请参阅:
-
-
- 关于以太坊改进提案的更多信息
-
-
-
-
-## 正式流程 {#formal-process}
-
-对以太坊协议进行修改的正式流程如下:
-
-1. **提出核心以太坊改进提案**:如 [EIP-1](https://eips.ethereum.org/EIPS/eip-1#core-eips) 所述,正式提议对以太坊进行修改的第一步是在核心以太坊改进提案进行详细说明。 一旦被接受,这将作为协议开发者要执行的以太坊改进提案正式规范。
-
-2. **向协议开发者展示以太坊改进提案**:一旦拥有已对其收集社区意见的核心以太坊改进提案,你应该将它展示给协议开发者。 你可以通过提议在 [AllCoreDevs 调用](https://github.com/ethereum/execution-specs/tree/master/network-upgrades#getting-the-considered-for-inclusion-cfi-status)中进行讨论来实现此目的。 很可能已经在 [Ethereum Magician 论坛](https://ethereum-magicians.org/)或 [Ethereum R&D Discord](https://discord.gg/mncqtgVSVw) 中进行过异步讨论。
-
-> 此阶段的潜在成果包括:
-
-> - 该以太坊改进提案将被考虑用于未来网络升级
-> - 要求技术变更
-> - 如果不是优先事项或相对于发展工作而言改进不够明显,则可能会被否决。
-
-3. 收到所有相关利益相关方的反馈意见后,**进入最终提议:**你很可能需要更改初始建议,以改善其安全性,或更好地满足不同用户的需求。 一旦以太坊改进提案中包含了你认为必要的所有更改,你需要再次将其展示给协议开发者。 然后进入流程的下一步,或者出现新问题,需要对你的建议进行另一轮迭代。
-
-4. **将以太坊改进提案包含在网络升级中**:假定该以太坊改进提案已经过审批、测试和实施,将被安排作为网络升级的一部分。 鉴于网络升级的协调成本很高(每个人都需要同步升级),以太坊改进提案通常被捆绑在一起升级。
-
-5. **网络升级已激活**:网络升级激活后,以太坊改进提案将在以太坊网络上运行。 _注意:网络升级通常在测试网上激活后才会在以太坊主网上激活。_
-
-这一流程虽然极度简化,但概述了在以太坊激活协议修改的重要阶段。 现在看看该流程中的非正式因素。
-
-## 非正式流程 {#informal-process}
-
-### 了解先前的工作 {#prior-work}
-
-以太坊改进提案倡导者应首先熟悉先前的工作和建议,然后认真考虑创建一个可部署到以太坊主网上的以太坊改进提案。 这样,该提议很有可能带入一些以前没有被拒绝过的新事物。 研究此问题的三个主要方面是[以太坊改进提案存储库](https://github.com/ethereum/EIPs)、[以太坊魔法师](https://ethereum-magicians.org/)和 [ethresear.ch](https://ethresear.ch/)。
-
-### 工作组 {#working-groups}
-
-如果未经编辑或修改,以太坊改进提案的初稿不太可能在以太坊主网上执行。 一般而言,以太坊改进提案倡导者将与一部分协议开发者合作,指明、实施、测试、迭代和最后确定提议。 根据历史经验,这些工作组需要几个月(有时甚至需要几年!)。 同样的,以太坊改进提案倡导者应在收集最终用户反馈意见和减轻部署风险的工作早期就让相关应用程序/工具开发者参与。
-
-### 社区共识 {#community-consensus}
-
-虽然有些以太坊改进提案是简单易懂的技术改进,仅存在一些细微差别,但有些则比较复杂并融入了一些折衷方案,将以不同方式影响不同的利益相关方。 这意味着一些以太坊改进提案在社区内比其他以太坊改进提案更具争议性。
-
-在如何处理争议性提议方面没有明确的指导手册。 这是以太坊去中心化设计的结果,其中没有任何一个利益相关者群体可以通过蛮力强迫其他人:协议开发者可以选择不实施代码更改;节点操作员可以选择不运行最新的以太坊客户端;应用程序团队和用户可以选择不在链上进行交易。 由于协议开发者没有办法强迫人们执行网络升级,他们通常会避免实施对于更广泛社区来说争议大于好处的以太坊改进提案。
-
-以太坊改进提案倡导者应征求所有相关利益相关方的反馈意见。 如果你发现自己是一个有争议的以太坊改进提案倡导者,你应该尝试解决反对方的问题,以便围绕该提议建立共识。 考虑到以太坊社区的规模和多样性,无法使用固定形式(如:投币选举)来达成社区共识,并且提议倡导者将适应他们提案的情况。
-
-除了以太坊网络的安全性外,协议开发者历来对应用程序/工具开发者和应用程序用户的价值给予了高度重视,因为正是因为他们使用和发展以太坊,才使以太坊生态系统对其他利益相关方形成吸引力。 此外,以太坊改进提案需要在所有客户实端实施执行,这些项目由不同的团队管理。 在这个过程中,通常意味着让多个协议开发者团队相信,某个特定的改变有价值,它有助于最终用户或解决安全问题。
-
-
-
-## 处理意见不一致的问题 {#disagreements}
-
-许多利益相关方的动机和信仰不同,这意味着分歧很正常。
-
-通常,在公共论坛上通过长时间讨论来处理分歧,以了解问题的根源并允许任何人发表意见。 通常会有一方让步,或大家达成一致。 如果某一方的愿望非常强烈,强迫实施特定变化可能导致区块链分叉。 区块链分叉是一些利益相关方抗议实施协议更改,导致不同、互不兼容的协议版本运行,从而出现两个不同的区块链。
-
-### 去中心化自治组织分叉 {#dao-fork}
-
-分叉是指需要对网络进行重大技术升级或改变,并改变协议“规则”。 [以太坊客户端](/developers/docs/nodes-and-clients/)必须更新他们的软件以执行新的分叉规则。
-
-去中心化自治组织分叉是为了回应 [2016 年去中心化自治组织遭受攻击的事件](https://www.coindesk.com/understanding-dao-hack-journalists)。当时,一份不安全的[去中心化自治组织](/glossary/#dao)合约导致黑客盗走了超过 360 万个以太币。 分叉将资金从错误合约转移到新合约,允许在黑客攻击中丢失资金的任何人收回这些资金。
-
-这一行为由以太坊社区投票决定。 任何以太币持有人都能够通过在[投票平台](https://web.archive.org/web/20170620030820/http://v1.carbonvote.com/)上交易来进行投票。 分叉的决定获得了 85% 以上的票数。
-
-注意,虽然的确是为了回滚被黑状态而导致分叉,但在决定分叉时,投票的权重是值得商榷的,原因如下:
-
-- 投票率非常低
-- 大多数人不知道正在投票
-- 投票仅代表以太币持有人,而非系统中任何其他参与者
-
-部分社区用户拒绝分叉,主要是因为他们认为该去中心化自治组织事件不是协议缺陷。 他们随后成立了 [Ethereum Classic](https://ethereumclassic.org/)。
-
-如今,以太坊社区已经采取了不干预合约漏洞或资金损失的政策,以保持系统的可信中立性。
-
-观看关于去中心化自治组织黑客事件的更多信息:
-
-
-
-
-
-### 分叉的用途 {#forking-utility}
-
-以太坊/Ethereum Classic 分叉是一个良好分叉的优秀案例。 我们有两组人,他们在一些核心价值观上的分歧很大,因而认为值得冒险去坚持他们的具体行动方案。
-
-面对重大的政治、哲学或经济分歧时能够分叉,这一点对于以太坊的成功治理意义重大。 如果无法分叉,替代方案就是持续内斗,让最终组成 Ethereum Classic 的人们被迫不情愿地参与,并且对于未来如何成功的看法也越来越不一致。
-
-
-
-## 信标链治理 {#beacon-chain}
-
-以太坊的治理过程往往以速度和效率换取开放性和包容性。 为了加快信标链的发展,它与以太坊网络的工作量证明分开启动,并遵循自己的治理惯例。
-
-虽然以前的规范和开发实现始终是完全开源的,但用于提议更新的上述正式过程并没有被使用。 这使研究人员和执行人员能够更快地确定和商定各种变化。
-
-当信标链于 2022 年 9 月 15 日与以太坊执行层合并时,作为[巴黎网络升级](/history/#paris)的一部分,合并完成。 提案 [EIP-3675](https://eips.ethereum.org/EIPS/eip-3675) 从“上次调用”变为“最终版”,完成向权益正面的过渡。
-
-
- 关于合并的更多信息
-
-
-
-
-## 如何加入? {#get-involved}
-
-- [提出以太坊改进提案](/eips/#participate)
-- [讨论目前的提案](https://ethereum-magicians.org/)
-- [参与 R&D 讨论](https://ethresear.ch/)
-- [加入以太坊 R&D Discord](https://discord.gg/mncqtgVSVw)
-- [运行节点](/developers/docs/nodes-and-clients/run-a-node/)
-- [参与开发](/developers/docs/nodes-and-clients/#execution-clients)
-- [核心开发者学徒计划](https://blog.ethereum.org/2021/09/06/core-dev-apprenticeship-second-cohort/)
-
-## 延伸阅读 {#further-reading}
-
-以太坊的治理并没有严格定义。 各社区参与者对此有着不同的看法。 以下是其中一部分:
-
-- [关于区块链治理的说明](https://vitalik.eth.limo/general/2017/12/17/voting.html) - _Vitalik Buterin_
-- [以太坊治理如何发挥作用?](https://cryptotesters.com/blog/ethereum-governance) - _Cryptotestters_
-- [以太坊治理如何发挥作用](https://medium.com/coinmonks/how-ethereum-governance-works-71856426b63a)- _Micah Zoltu_
-- [什么是以太坊核心开发者?](https://hudsonjameson.com/2020-06-22-what-is-an-ethereum-core-developer/)- _Hudson Jameson_
-- [治理,第 2 部分:财阀统治仍非好事](https://vitalik.eth.limo/general/2018/03/28/plutocracy.html) - _Vitalik Buterin_
-- [超越代币投票的治理方式](https://vitalik.eth.limo/general/2021/08/16/voting3.html) - _Vitalik Buterin_
diff --git a/public/content/translations/zh/09) Learn Pages/security/index.md b/public/content/translations/zh/09) Learn Pages/security/index.md
deleted file mode 100644
index 0e4d50ead59..00000000000
--- a/public/content/translations/zh/09) Learn Pages/security/index.md
+++ /dev/null
@@ -1,293 +0,0 @@
----
-title: 以太坊安全和预防欺诈措施
-description: 在以太坊上保持安全
-lang: zh
----
-
-# 以太坊安全和预防欺诈措施 {#introduction}
-
-随着人们对加密货币的兴趣日益浓厚,黑客和骗子带来的风险也随之增加。 本文罗列了一些降低此类风险的最佳做法。
-
-
-
-## 加密货币安全 101 {#crypto-security}
-
-### 提升你的知识水平 {#level-up-your-knowledge}
-
-对加密货币运作方式的误解可能会造成重大过失。 例如,如果有人冒充客服人员,声称可以归还你损失的以太币以换取你的私钥,他们是在试图利用人们不了解以太坊是一个去中心化网络,并不具备此类功能这一事实。 了解以太坊如何运作是一项值得的投资。
-
-
- 什么是以太坊?
-
-
-
- 什么是以太币?
-
-
-
-## 钱包安全 {#wallet-security}
-
-### 切勿泄漏你的私钥 {#protect-private-keys}
-
-**无论何种原因,切勿与他人分享你的私钥!**
-
-钱包私钥就是你的以太坊钱包的密码。 这是阻止知道你的钱包地址的人榨干你帐户中所有资产的唯一方法。
-
-
- 什么是以太坊钱包?
-
-
-#### 不要将你的助记词/私钥截图 {#screenshot-private-keys}
-
-如果将你的助记词或私钥截图,就有可能将它们同步到云端数据提供商,这意味着它们可能会被黑客获取。 从云端获取私钥是常见的黑客攻击向量。
-
-### 使用硬件钱包 {#use-hardware-wallet}
-
-硬件钱包为私钥提供离线存储。 它们被认为是用来存储私钥的最安全的钱包选项:私钥永远不能放到互联网上,它们只能完全保存在本地设备中。
-
-即使黑客控制了你的电脑,将私钥保持在离线状态,可以大大降低被黑客攻击的风险。
-
-#### 尝试以下硬件钱包: {#try-hardware-wallet}
-
-- [Ledger](https://www.ledger.com/)
-- [Trezor](https://trezor.io/)
-
-### 发送交易前仔细检查 {#double-check-transactions}
-
-不小心将加密货币发送到错误的钱包地址是一个常见的错误。 **在以太坊上发送的交易是不可逆的。**除非你认识地址所有者并能说服他们把你的资金退回来,否则你将无法找回你的资金。
-
-在发送交易之前,请务必确保你发送的地址与接收人的地址完全匹配。 当你与智能合约进行交互时,在签名之前检查交易信息是一种好习惯。
-
-### 设置智能合约的支出限额 {#spend-limits}
-
-与智能合约进行交互时,不得允许无限制支出限额。 无支出限额可以让智能合约掏空你的钱包。 相反,只将支出限额设置为交易所需金额。
-
-许多以太坊钱包提供限额保护,以防止帐户被掏空。
-
-[如何撤销智能合约访问你的加密资金](/guides/how-to-revoke-token-access/)
-
-
-
-## 常见的骗术 {#common-scams}
-
-完全阻止诈骗是不可能的,但如果我们了解骗子最常用的伎俩,就可以降低他们的成功率。 虽然骗术层出不穷,但是他们的本质相同。 最重要的是,请记住:
-
-- 始终保持怀疑态度
-- 没有人会给你免费或打折的以太币
-- 没有人需要获取你的私钥或个人信息
-
-### 推特广告钓鱼 {#ad-phishing}
-
-![推特链接钓鱼](./twitterPhishingScam.png)
-
-有一种仿冒推特(也被称为 X)链接预览功能(展开)的方法,可能会让用户误以为他们正在访问一个合法网站。 这种技术利用了推特为推文中分享的 URL 生成预览的机制,并显示诸如_来自 ethereum.org_ 的预览(如上所示),但实际上用户却被重定向到了一个恶意网站。
-
-务必检查你是否处于正确的域,尤其是在点击链接以后。
-
-[点击此处了解更多信息](https://harrydenley.com/faking-twitter-unfurling)。
-
-### 赠品诈骗 {#giveaway}
-
-加密货币中最常见的骗局之一是赠品诈骗。 赠品诈骗有多种形式,但总体思路是:如果你把以太币发送到指定的钱包地址,你将会收到双倍的以太币。 *因此,它也称为“买一送一”诈骗。*
-
-这些骗局往往规定领取赠品的时间有限,制造出一种虚假的紧迫感。
-
-### 社交媒体黑客攻击 {#social-media-hacks}
-
-最出名的一次发生在 2020 年 7 月,当时很多知名人士和组织的 Twitter 帐户被黑。 黑客使用被盗的帐户发布了一个比特币赠送活动。 尽管这些欺骗性的推文很快就被发现并删除,但黑客们还是成功骗走了 11 个比特币(截至 2021年 9 月,这些比特币价值 50 万美元)。
-
-![Twitter 上的诈骗案例](./appleTwitterScam.png)
-
-### 名人的赠品 {#celebrity-giveaway}
-
-名人的赠品是赠品诈骗的另一种常见形式。 骗子会录制名人的视频采访或会议演讲,并在 YouTube 上进行直播 - 看起来好像名人正在接受直播视频采访,为加密货币赠送活动背书。
-
-除最常使用的 Vitalik Buterin 以外,此类骗局也使用了加密货币圈内许多其他知名人士(例如 Elon Musk 或 Charles Hoskinson)。 在直播中加入一位知名人士会让骗局看起来有一种合法性(这看起来有点牵强,但 Vitalik 参与其中,所以肯定没问题!)。
-
-**赠品活动通常是骗局。 如果你把钱转到这些帐户,你将永远失去它们。**
-
-![YouTube 上的诈骗案例](./youtubeScam.png)
-
-### 技术支持诈骗 {#support-scams}
-
-加密货币是一种相对年轻且常被误解的技术。 利用这一点的一种常见的骗局是技术支持诈骗,骗子会冒充受欢迎的加密货币钱包、交易所或区块链的支持人员。
-
-很多关于以太坊的讨论都发生在 Discord 上。 骗子通常会通过在公开的 Discord 频道中搜索寻求支持的问题,以此找到诈骗对象,然后冒充支持人员向询问者发送私人信息以提供技术支持。 通过建立信任,冒充支持人员的骗子试图诱使你透露私钥或将资金发送到他们的钱包。
-
-![Discord 上的技术支持诈骗案例](./discordScam.png)
-
-一般来说,员工永远不会通过私人的非官方渠道与你交流。 在处理支持问题时,要牢记一些简单的事情:
-
-- 永远不要分享你的私钥、助记词或密码
-- 绝不允许任何人远程访问你的电脑
-- 切勿通过官方指定以外的渠道沟通
-
-
-
- 请注意:尽管支持类型的骗局通常发生在 Discord 上,但它们也在任何讨论加密货币聊天应用程序(包括电子邮件)上普遍存在。
-
-
-
-### “以太坊 2”代币骗局 {#eth2-token-scam}
-
-在[合并](/roadmap/merge/)的准备阶段,骗子利用“以太坊 2”这一术语的含糊不清,试图让用户将他们的以太币兑换成“以太坊 2”代币。 实际上合并并没有产生任何“以太坊 2”代币,或者任何其它合法代币。 你在合并之前拥有的以太币与现在是同一个以太币。 **从工作量证明切换到权益证明时,无需对帐户采取任何与以太币有关的操作**。
-
-骗子可能会以“技术支持”的面貌出现,告诉你如果存入以太币,将收到“以太坊 2”代币。 实际上,并没有[官方的以太坊技术支持](/community/support/),也没有新代币。 永远不要与任何人分享你的钱包助记词。
-
-_注意:有一些衍生的代币/票据可能代表了被质押的以太币(比如:Rocket Pool 的 rETH,Lido 的 stETH,Coinbase 的 ETH2),但这些都不需要“迁移过去”。_
-
-### 网络钓鱼诈骗 {#phishing-scams}
-
-网络钓鱼诈骗是另一种越来越常见的诈骗手段,骗子利用这种手段试图窃取你钱包中的资金。
-
-一些网络钓鱼电子邮件要求用户点击链接,将其重新定向到仿冒网站,并要求用户输入助记词、重置密码或发送以太币。 还有一些可能会让你在不知情的情况下安装恶意软件以便感染你的电脑,并让骗子能够访问你的电脑文件。
-
-如果你收到一封来历不明的电子邮件,请记住:
-
-- 永远不要打开你不认识的电子邮件地址中的链接或附件
-- 切勿将你的个人信息或密码泄露给任何人
-- 删除来历不明的电子邮件
-
-[更多关于避免网络钓鱼骗局的信息](https://support.mycrypto.com/staying-safe/mycrypto-protips-how-not-to-get-scammed-during-ico)
-
-### 加密货币交易经纪人诈骗 {#broker-scams}
-
-在加密货币交易经纪人骗局中,骗子自称是专业的加密货币经纪人,会拿着你的钱帮你进行投资。 骗子收到你的钱后,他们可能会诱骗你,让你拿出更多资金,这样你就不会错过更高的投资收益,或者他们也可能就完全消失了。
-
-这些骗子往往利用 YouTube 上的虚假帐户,进行看似自然的有关“经纪人”的对话,以此来寻找他们的目标。 这些对话通常会收到很多点赞,以增加真实性,但这些“赞”都是来自机器人帐户。
-
-**不要相信互联网上的陌生人,让他们代你投资。 你将失去你的加密货币。**
-
-![YouTube 上的交易经纪人诈骗案例](./brokerScam.png)
-
-### 加密货币矿池骗局 {#mining-pool-scams}
-
-自 2022 年 9 月起,在以太坊上挖矿已不再可能。 但是,矿池骗局仍然存在。 在矿池骗局中会有人主动联系你,并声称你可以通过加入以太坊矿池获得丰厚回报。 骗子会提出要求,并一直与你保持联系。 本质上讲,骗子会试图让你相信,在加入一个以太坊矿池后,你的加密货币将用于创建以太币,而且你将获得以太币红利。 然后你会发现你的加密货币正在赚取微薄的回报。 这只是为了引诱你投入更多的资金。 最终,你的所有资金将被发送到一个未知地址,骗子要么消失,要么在某些情况下会继续保持联系,就像最近发生的一个案例一样。
-
-底线是,提防那些在社交媒体上与你联系并要求你加入矿池的人。 一旦你失去你的加密货币,它就永远回不来了。
-
-有些事情要记住:
-
-- 警惕任何与你联系,告诉你如何使用加密货币赚钱的人
-- 做好关于赌注、流动性池或其他加密货币投资方式的调研
-- 这种计划即使有,也很少是合法的。 如果是的话,它们会成为主流,你会听说过它们。
-
-[有人在矿池骗局中损失了 20 万美元](https://www.reddit.com/r/CoinBase/comments/r0qe0e/scam_or_possible_incredible_payout/)
-
-### 空投骗局 {#airdrop-scams}
-
-空投骗局通常是先构建一个诈骗项目,并向你的钱包空投一种资产(非同质化代币、其他代币),给你发送一个诈骗网站,让你领取这些空投的资产。 当你试图领取资产时,网站会要求你使用自己的以太坊钱包登录,并“批准”一笔交易。 实际上,这个交易会将你帐户的公钥私钥都发给骗子。 这种骗局的另一种方式是让你确认一笔可以把资金转移到骗子帐户的交易。
-
-[更多关于空投骗局的信息](https://www.youtube.com/watch?v=LLL_nQp1lGk)
-
-
-
-## 网络安全 101 {#web-security}
-
-### 使用强密码 {#use-strong-passwords}
-
-[超过 80% 的帐户被黑客攻击是由于密码薄弱或被盗造成的](https://cloudnine.com/ediscoverydaily/electronic-discovery/80-percent-hacking-related-breaches-related-password-issues-cybersecurity-trends/)。 一串很长的字符、数字和符号组合可帮助保护你的帐户安全。
-
-一种常见错误是使用一些常见的、有关联的单词组合。 像这样的密码是不安全的,因为它们很容易被称为字典攻击的简单黑客技术攻击。
-
-```md
-弱密码示例:CuteFluffyKittens!
-
-强密码示例:ymv\*azu.EAC8eyp8umf
-```
-
-另一种常见错误是使用容易通过[社会工程学](https://wikipedia.org/wiki/Social_engineering_(security))猜出或发现的密码。 在密码中加入母亲的婚前姓氏、孩子或宠物的名字或出生日期,会增加密码被黑客攻击的风险。
-
-#### 强密码设置方法: {#good-password-practices}
-
-- 在密码生成器或你所填写的表格允许的范围内,将密码设得越长越好
-- 混合使用大写字母、小写字母、数字和符号
-- 不要在密码中使用个人详细资料,如姓氏
-- 避免使用常见的单词
-
-[关于创建强密码的更多内容](https://terranovasecurity.com/how-to-create-a-strong-password-in-7-easy-steps/)
-
-### 使用独立的密码 {#use-unique-passwords}
-
-数据泄露中外泄的强密码不再是强密码。 你可以在 [Have I Been Pwned](https://haveibeenpwned.com) 网站上检查你的帐户是否在任何公共数据泄露中被泄露。 如果是,**请立即更改被泄露的密码**。 为每个帐户设置独立的密码,可以在你的一个密码被破解时降低黑客访问你所有帐户的风险。
-
-### 使用密码管理器 {#use-password-manager}
-
-
-
- 使用密码管理器可以创建唯一的强密码并记住它们! 我们强烈推荐使用它,而且它们大部分是免费的。
-
-
-
-记住为每个帐户设置的唯一强密码并不现实。 密码管理器为你的所有密码提供了一个安全、加密的存储空间,你可以通过一个强主密码进行访问。 他们还在注册新服务时生成建议使用的强密码,这样你就不必自行创建密码了。 许多密码管理器也会告诉你是否涉及数据泄露,让你在任何恶意攻击之前更改密码。
-
-![密码管理器使用示例](./passwordManager.png)
-
-#### 尝试一个密码管理器: {#try-password-manager}
-
-- [Bitwarden](https://bitwarden.com/)
-- [KeePass](https://keepass.info/)
-- [1Password](https://1password.com/)
-- 或查看其他[推荐的密码管理器](https://www.privacytools.io/secure-password-manager)
-
-### 2FA(双重身份验证) {#two-factor-authentication}
-
-有时可能会要求你通过提供特有的证明来验证你的身份。 这些证明称为**因素**。 下面是三类重要因素:
-
-- 你知道的信息(例如密码或安全问题)
-- 生理特征(如指纹或虹膜/面部识别)
-- 你私有的(安全密钥或你手机上的认证程序)
-
-使用**双重身份验证 (2FA) **将为你的在线帐户提供一个额外的*安全因素*。 双重身份验证确保仅仅有你的密码还不足以访问你的帐户。 最常见的是,双重验证是一个随机的6位数代码,被称为**基于时间的一次性密码(TOTP)**,你可以通过身份验证程序应用程序(如Google authenticator或Authy)生成。 这是一种“你私有的”,因为生成随机时间密码的种子文件存储在你的设备上。
-
-
-
-
-
-#### 安全密钥 {#security-keys}
-
-安全密匙是一种更高级、更安全的双重身份验证。 安全密钥是物理硬件身份验证设备,其工作方式与身份验证程序应用程序相似。 使用安全密钥是最安全的 2FA 使用方式。 这些密钥中有许多采用了 FIDO 通用第二因素 (U2F) 标准。 [了解更多关于 FIDO U2F](https://www.yubico.com/authentication-standards/fido-u2f/) 的信息。
-
-观看以下视频,了解更多关于双重身份验证的信息:
-
-
-
-### 卸载浏览器扩展程序 {#uninstall-browser-extensions}
-
-Chrome 扩展程序或 Firefox 插件等浏览器扩展程序可以增强浏览器的功能,但它们也会带来风险。 大多数浏览器扩展程序默认请求获得“读取和更改网站数据”的权限,几乎允许它们对你的数据做任何事情。 Chrome 扩展程序总是自动更新,因此旧版本安全的扩展程序可能会在更新后被加入恶意代码。 大多数浏览器扩展程序都不会试图窃取你的数据,但你应该知道它们可以。
-
-#### 通过以下方式保持安全: {#browser-extension-safety}
-
-- 只安装来自受信任来源的浏览器扩展程序
-- 删除不使用的浏览器扩展程序
-- 在本地安装 Chrome 扩展程序以停止自动更新(高级)
-
-[更多关于浏览器扩展程序的风险](https://www.kaspersky.co.uk/blog/browser-extensions-security/12750/)
-
-
-
-## 延伸阅读 {#further-reading}
-
-### 网络安全 {#reading-web-security}
-
-- [多达 300 万台设备被带有恶意软件的 Chrome 和 Edge 插件感染](https://arstechnica.com/information-technology/2020/12/up-to-3-million-devices-infected-by-malware-laced-chrome-and-edge-add-ons/) - _Dan Goodin_
-- [如何创建一个不会忘记的强密码](https://www.avg.com/en/signal/how-to-create-a-strong-password-that-you-wont-forget) - _AVG_
-- [什么是安全密钥?](https://help.coinbase.com/en/coinbase/getting-started/verify-my-account/security-keys-faq) - _Coinbase_
-
-### 加密货币安全 {#reading-crypto-security}
-
-- [保护自己和资金](https://support.mycrypto.com/staying-safe/protecting-yourself-and-your-funds) - _MyCrypto_
-- [常见加密通信软件中的安全问题](https://docs.salusec.io/untitled/web3-penetration-test/risks-in-social-media) - _Salus_
-- [任何人都适用的安全指南](https://medium.com/mycrypto/mycryptos-security-guide-for-dummies-and-smart-people-too-ab178299c82e) - _MyCrypto_
-- [加密货币安全:密码和身份验证](https://www.youtube.com/watch?v=m8jlnZuV1i4) - _Andreas M. Antonopoulos_
-
-### 防诈骗指南 {#reading-scam-education}
-
-- [指南:如何识别诈骗代币](/guides/how-to-id-scam-tokens/)
-- [保持安全:常见骗局](https://support.mycrypto.com/staying-safe/common-scams) - _MyCrypto_
-- [避免骗局](https://bitcoin.org/en/scams) - _Bitcoin.org_
-- [关于常见加密货币网络钓鱼电子邮件和消息的 Twitter 线程](https://twitter.com/tayvano_/status/1516225457640787969) - _Taylor Monahan_
-
-
diff --git a/public/content/translations/zh/09) Learn Pages/zero-knowledge-proofs/index.md b/public/content/translations/zh/09) Learn Pages/zero-knowledge-proofs/index.md
deleted file mode 100644
index ac61a23880d..00000000000
--- a/public/content/translations/zh/09) Learn Pages/zero-knowledge-proofs/index.md
+++ /dev/null
@@ -1,214 +0,0 @@
----
-title: 零知识证明
-description: 面向初学者的非技术性零知识证明介绍
-lang: zh
----
-
-# 什么是零知识证明? {#what-are-zk-proofs}
-
-零知识证明是能够在不披露声明本身的情况下,验证声明有效性的一种方法。 “证明者”是试图证明声明的一方,而“验证者”则负责验证声明。
-
-零知识证明在 1985 年的一篇论文“[交互式证明系统的知识复杂度](http://people.csail.mit.edu/silvio/Selected%20Scientific%20Papers/Proof%20Systems/The_Knowledge_Complexity_Of_Interactive_Proof_Systems.pdf)”中被首次提出,它给出了至今仍被广泛使用的零知识证明的定义:
-
-> 零知识协议是一种方法,通过这种方法,一方(证明者)可以向另一方(验证者)**证明**某个声明是真实的,并且除了该声明是真实的外,**不会透露任何额外信息**。
-
-多年来,零知识证明一直在发展,目前已经在现实世界中得到应用。
-
-
-
-## 我们为什么需要零知识证明? {#why-zero-knowledge-proofs-are-important}
-
-零知识证明是应用密码学领域的一项突破,它有望提高个人信息的安全性。 想一想你如何向另一方(例如,一个服务提供商)证明一项声明(例如,“我是 X 国的公民”)。 你需要提供“证据”来支持你的声明,例如国民护照或驾驶证。
-
-但这种方法存在问题,主要是缺乏隐私。 与第三方服务商共享的个人身份信息 (PII) 储存在中心化数据库中,这些数据库很容易受到黑客攻击。 随着身份盗用成为一个严峻问题,人们呼吁采用更能保护隐私的方式来分享敏感信息。
-
-**通过在不透露相关信息的情况下证明声明的有效性**,零知识证明解决了这个问题。 零知识协议使用声明(称为“证人”)作为输入,然后生成一个其有效性的简要证明。 这种证明有力地保证一项声明是真实的,且不透露创建声明时所使用的信息。
-
-回到我们前面的例子,你只需要提供零知识证明即可证明你的公民身份声明。 验证者只需要检查证明中的一些属性是否属实,从而确认背后声明的真实性。
-
-## 零知识证明的用例 {#use-cases-for-zero-knowledge-proofs}
-
-### 匿名支付 {#anonymous-payments}
-
-信用卡支付通常对多方可见,包括支付服务提供商、银行和其他相关方(比如政府部门)。 金融监管有助于识别非法活动,但同时也会损害普通民众的隐私。
-
-加密货币旨在为用户提供一种私密的、点对点的交易手段。 但是大部分加密货币的交易在区块链上是公开可见的。 用户身份通常是匿名的,但也可以主动跟现实世界的身份相关联(例如在 Twitter 或 GitHub 的个人资料上包含以太坊地址),又或者能够利用一些基本的链上或脱链数据分析来与现实世界的身份进行关联。
-
-有一些专门为完全匿名交易设计的“隐私币”。 注重隐私的区块链,例如 Zcash 和 Monero,它们会屏蔽交易细节,包括发送人和接收人的地址、资产类型、数量和交易时间线。
-
-通过在协议中加入零知识技术,注重隐私的[区块链](/glossary/#blockchain)网络允许[节点](/glossary/#node)在无需访问交易数据的情况下验证交易。
-
-**零知识证明也用于在公共区块链上对交易进行匿名处理**。 其中一个例子是 Tornado Cash,它是一个去中心化的非托管服务,允许用户在以太坊上进行私密交易。 Tornado Cash 使用零知识证明来模糊化交易细节和保证金融隐私。 不幸的是,由于这些是“主动选择加入”的隐私工具,它们与非法活动有关。 为了克服这个问题,隐私最终也必须要成为公开区块链的默认项。
-
-### 身份保护 {#identity-protection}
-
-目前的身份管理系统让个人信息面临风险。 零知识证明能帮助个人验证身份,同时保护敏感细节。
-
-零知识证明在[去中心化身份](/decentralized-identity/)中特别有用。 去中心化身份(又称为“自主身份”)让个人可以控制私人身份信息的访问。 在不透露税号或护照细节的情况下,证明你的公民身份就是一个用零知识技术实现去中心化身份的好例子。
-
-### 认证 {#authentication}
-
-使用在线服务需要证明你的身份和访问这些平台的权利。 这通常需要提供个人信息,比如姓名、邮箱地址、出生日期等等。 你可能需要记住长长的密码,也需要承担无法访问的风险。
-
-然而,零知识证明可以简化平台和用户的认证。 一旦通过公开输入(例如,证明用户是平台成员的数据)和私密输入(例如,用户详细信息)来生成零知识证明,用户就能在需要访问服务的时候,使用它来认证身份。 这改善了用户体验,同时组织也无需存储大量的用户信息。
-
-### 可验证计算 {#verifiable-computation}
-
-可验证计算是零知识技术用于改进区块链设计的另一种应用。 可验证计算允许我们将计算外包给另一个实体,同时保留可验证的计算结果。 该实体将计算结果和验证程序被正确执行的证据一起提交。
-
-可验证计算对于在不降低安全性的前提下**提高区块链上的处理速度非常重要**。 要明白这一点,需要知道拟议的以太坊扩容解决方案之间的差异。
-
-[链上扩容方案](/developers/docs/scaling/#on-chain-scaling),例如分片,需要对区块链的基础层进行大量修改。 然而,这种方法非常复杂,如果在实现过程中出错,则会危害以太坊的安全模型。
-
-[脱链扩容解决方案](/developers/docs/scaling/#off-chain-scaling)无需重新设计以太坊的核心协议。 相反,它们依靠外包计算模型来提高以太坊基础层的吞吐量。
-
-以下是实际运作过程:
-
-- 以太坊不处理每一个交易,而是把执行放到一个单独的链上。
-
-- 在处理完交易后,另一条链返回结果,然后被应用在以太坊的状态上。
-
-这样做的好处是,以太坊不需要做任何执行,只需要将外包计算的结果应用到其状态中。 这减少了网络拥堵,也提高了交易速度(脱链协议为快速执行进行了优化)。
-
-链上需要一种方法来验证脱链交易,而无需重新执行它们,不然脱链执行就失去它的价值。
-
-这就是可验证计算发挥作用的地方。 当一个节点在以太坊外执行交易时,它提交一个零知识证明来证明脱链执行的正确性。 这个证明(称为[有效性证明](/glossary/#validity-proof))保证了一个交易是有效的,允许以太坊把结果应用到状态中 — 无需等待任何人提出异议。
-
-[零知识卷叠](/developers/docs/scaling/zk-rollups)和 [Validium](/developers/docs/scaling/validium/) 是两个脱链扩容的解决方案,它们使用有效性证明来提供安全的可扩容性。 这些协议执行了数以千计的脱链交易,并提交了用于以太坊验证的证明。 一旦证明被验证,这些结果就会被立即应用,它允许以太坊在不增加基础层计算量的情况下处理更多的交易。
-
-### 减少链上投票中的贿赂和串通 {#secure-blockchain-voting}
-
-区块链投票方案有很多有利的特点:它们是完全可审计的、安全抗攻击、抗审查以及不受地域限制。 但即使是链上投票方案也难以避免**串通**问题。
-
-串通的定义是"通过欺骗、诈骗和误导他人来协调,达到限制公开竞争的目的",串通的形式可能是恶意行为者通过行贿来影响投票。 例如,Alice 可能收到 Bob 的贿赂,让她在选票上投给`选项 B`,即使她更倾向于`选项 A`。
-
-贿赂和串通限制了任何以投票作为信号机制的过程的有效性(特别是在用户可以证明他们如何投票的情况下)。 这可能会产生重大影响,特别是在通过投票来分配稀缺资源的情况下。
-
-例如,[二次融资机制](https://www.radicalxchange.org/concepts/plural-funding/)根据捐款来衡量对不同公益项目中某些选项的偏好。 每笔捐款都算作对某一特定项目的“投票”,获得更多投票的项目将从匹配资金池中获得更多资金。
-
-使用链上投票使得二次融资容易受到串通的影响:区块链交易是公开的,所以行贿者可以检查受贿者的链上活动,看他们是如何“投票”的。 这种方式使得二次融资不再是一个根据社区的集体偏好来分配资金的有效手段。
-
-幸运的是,更新的解决方案,例如 MACI(最低限度的反串通基础设施),正在使用零知识证明来让链上投票(例如二次融资机制)能够抵制贿赂和串通。 MACI 是一个智能合约和脚本的集合,它允许中央管理员(称为“协调员”)汇总票数和统计结果,_无需_暴露每个人是如何投票的。 即便如此,仍然可以验证投票是否被正确计数,或确认某个人参加了该轮的投票。
-
-#### MACI 是如何与零知识证明协作的? {#how-maci-works-with-zk-proofs}
-
-一开始,协调员在以太坊部署 MACI 合约,之后用户就可以注册投票(通过把它们的公钥注册到智能合约上)。 用户通过发送经公钥加密后的信息给智能合约来完成投票(一个有效投票必须使用与用户身份关联的最新公钥来签名,另外还有其他标准)。 然后,协调员在投票期结束后处理所有的信息,统计票数,在链上验证结果。
-
-在 MACI 中,零知识证明用来确保计算的正确性,避免协调员错误地处理投票和汇总结果。 这是通过要求协调员生成零知识简洁非交互式知识论证证明来实现的,验证 a) 所有的信息都被正确处理 b) 最后的结果与所有_有效_投票总和对应。
-
-因此,即便没有分享每个用户的投票明细(通常是这样的),MACI 也能保证计算过程中计算结果的完整性。 这一特点有助于减少基本的串通方案的有效性。 通过之前 Bob 贿赂 Alice 来给某个选项投票的例子,我们可以探索这种可能性:
-
-- Alice 通过发送她的公钥到智能合约来注册投票。
-- Alice 同意投票给`选项 B`,以此来换取 Bob 的贿赂。
-- Alice 投票给`选项 B`。
-- Alice 偷偷发送一个加密交易来更改与她身份关联的公钥。
-- Alice 发送另一个(加密的)消息到智能合约,使用新的公钥给`选项 A` 投票。
-- Alice 向 Bob 展示交易,显示她已经投票给了`选项 B`(投票是无效的,因为最初的那个公钥在系统中已经不再跟 Alice 的身份关联)。
-- 在处理消息时,协调员跳过 Alice 投给`选项 B` 的选票,只把`选项 A` 的投票纳入计数。 因此,Bob 串通 Alice 和操纵链上投票的意图失败了。
-
-使用最低限度的反串通基础设施时,_确实_需要相信协调员不会与行贿者串通或者试图自己来贿赂投票者。 协调员可以解密用户消息(创建证明的时候需要),以确保它们可以准确验证每个人是如何投票的。
-
-在协调员保持诚实的情况下,MACI 代表了一个强大的工具,保证了链上投票的神圣性。 这解释了它为何在二次融资应用中如此受欢迎(例如 [clr.fund](https://clr.fund/#/about/maci)),二次融资严重依赖于每个人投票选择的完整性。
-
-[了解更多关于最小反串谋基础设施的信息](https://privacy-scaling-explorations.github.io/maci/)。
-
-## 零知识证明如何运作? {#how-do-zero-knowledge-proofs-work}
-
-零知识证明允许你证实一个声明是否真实,无需分享声明的内容以及你是如何发现其真实性的。 为了做到这点,零知识证明依靠算法获取一些数据作为输入,然后输出“真”或“假”。
-
-零证明协议需要满足以下标准:
-
-1. **完备性**:如果输入是有效的,那么零知识协议应该始终返回"真"。 因此,如果所依据的声明是真的,同时证明者和验证者都诚实,那么证明就能被接受。
-
-2. **可靠性**:如果输入是无效的,那么理论上不可能欺骗零知识协议输出“真”。 因此,一个说谎的证明者无法忽悠一个诚实的验证者相信一个无效的声明是有效的(小概率事件除外)。
-
-3. **零知识**:验证者除了知道声明的有效性或虚假性之外,其余一概不知(他们对声明内容“一无所知”)。 这项要求也阻止了验证者从证明中推导出原始输入(声明的内容)。
-
-零知识证明的基本形式由三个要素组成:**证人**、**挑战**和**回复**。
-
-- **证人**:通过零知识证明,证明者想要证明对一些隐藏信息的了解。 这些秘密信息就是证明的“证人”,证明者基于对证人的了解设立了一组问题,这些问题只有了解信息的一方才能回答出来。 因此,证明者随机选择一个问题来发起证明,计算问题答案,然后发送给验证者。
-
-- **挑战**:验证者从问题集里随机挑选另外一个问题,然后让证明者来回答。
-
-- **回复**:证明者接收问题,计算答案,然后把答案发送给验证者。 证明者的回复让验证者可以检验证明者是否真的可以接触到证人。 为了确保证明者并不是偶然盲目猜对答案的,验证者会再选择一个问题来提问。 通过多次重复这个过程,证明者造假的可能性会极大的降低,直到最终验证者满意。
-
-以上描述了“交互式零知识证明”的结构。 早期的零知识协议使用交互式证明,验证一个声明的有效性需要证明者和验证者之间来回多次沟通。
-
-一个比较好的展示交互式证明是如何运转的例子是 Jean-Jacques Quisquater 非常有名的[阿里巴巴山洞故事](https://en.wikipedia.org/wiki/Zero-knowledge_proof#The_Ali_Baba_cave)。 在故事里,Peggy(证明者)想要向Victor(验证者)证明她知道打开魔法之门的暗号,但她又没有透露暗号是什么。
-
-### 非交互式零知识证明 {#non-interactive-zero-knowledge-proofs}
-
-虽然是革命性的,但互动式证明的作用有限,因为它要求双方同时在线,反复互动。 即使验证者相信证明者是诚实的,该证明也不能用于独立验证(计算一个新的证明需要证明者和验证者之间一个新的信息集)。
-
-为了解决这个问题,Manuel Blum、Paul Feldman 和 Silvio Micali 提出了第一个[非交互式零知识证明](https://dl.acm.org/doi/10.1145/62212.62222),证明者和验证者将有一个共享的密钥。 这能让证明者表明他们对某些信息(即证人)的了解,而不提供信息本身。
-
-与交互式证明不同的是,非互动式证明只需要参与者(证明者和验证者)之间进行一轮沟通。 证明者把秘密信息输入到一个特殊的算法中,然后计算出一个零知识证明。 这个证明会被发送给验证者,验证者使用另一个算法来检验证明者是否知道秘密信息。
-
-非交互式证明减少了证明者和验证者之间的沟通,让零知识证明更高效。 另外,一旦生成了证明,任何人(可访问共享密钥和验证算法)都可以对其进行验证。
-
-非交互式证明代表了零知识技术的突破,促进了今天所使用的证明系统的发展。 下面我们将讨论这些证明类型:
-
-### 零知识证明的类型 {#types-of-zero-knowledge-proofs}
-
-#### 零知识简洁非交互式知识论证 (ZK-SNARK) {#zk-snarks}
-
-ZK-SNARK是**零知识简洁非交互式知识论证**的缩写。 零知识简洁非交互式知识论证协议具有以下特点:
-
-- **零知识**:验证者可以验证声明的完整性,而不需要知道关于该声明的任何其他信息。 验证者对声明的唯一了解就是它是真还是假。
-
-- **简洁**:零知识证明比证人小,可以快速验证。
-
-- **非交互式**:该证明是非交互式的,因为证明者和验证者之间只需要交互一次,不像交互式证明需要多轮的沟通。
-
-- **论证**:该证明满足“可靠性”要求,因此基本不可能作弊。
-
-- **(的)知识**:如果不能获取秘密信息(证人),就无法构建零知识证明。 证明者在没有证人的情况下计算一个有效的零知识证明是非常困难的,即便不是不可能。
-
-前面提到的“共享密钥”是指证明者和验证者同意在生成和验证证明时使用的公共参数。 生成公共参数(统称为通用参考编码 (CRS))是一个敏感的操作,因为它在协议安全性方面非常重要。 如果用于生成通用参考编码的熵(随机数)落入到不诚实的证明者手上,他们就能计算虚假证明。
-
-[多方计算 (MPC)](https://en.wikipedia.org/wiki/Secure_multi-party_computation) 是一种在生成公共参数时降低风险的方法。 多个参与方参与到[信任设置仪式](https://zkproof.org/2021/06/30/setup-ceremonies/amp/),每个人提供一些随机数值来生成通用参考编码。 只要有一个诚实的参与方销毁了他们那部分的熵,零知识简洁非交互式知识论证协议就能保持计算的可靠性。
-
-信任设置要求用户信任参数生成的参与者。 然而,ZK-STARK 的发展使其能在非信任的设置下证明协议。
-
-#### 零知识可扩容透明知识论证 (ZK-STARK) {#zk-starks}
-
-ZK-STARK 是**零知识可扩容透明知识论证**的缩写。 ZK-STARK 类似于ZK-SNARK,除了它是:
-
-- **可扩容**:当证人的规模比较大时,ZK-STARK 生成和验证证明比零知识简洁非交互式知识论证要快。 随着证人规模的增加,简洁的非交互式知识论证证明的证明和验证时间只会略微增加(简洁的非交互式知识论证证明和验证时间与证人规模呈线性增长)。
-
-- **透明**:ZK-STARK 依赖于可公开验证的随机数来生成用于证明和验证的公共参数,而不是信任设置。 因此,它比零知识简洁非交互式知识论证更加透明。
-
-ZK-STARK 会产生比零知识简洁非交互式知识论证更大的证明,这意味着它通常具有更高的验证开销。 然而,在有些情况下(如证明大型数据集),ZK-STARK 可能比零知识简洁非交互式知识论证更具成本效益。
-
-## 使用零知识证明的缺点 {#drawbacks-of-using-zero-knowledge-proofs}
-
-### 硬件成本 {#hardware-costs}
-
-生成零知识证明涉及到非常复杂的计算,最好在专用机器上运行。 由于这类机器价格昂贵,普通人通常买不起。 此外,想要使用零知识技术的应用必须考虑硬件成本 — 这可能会增加终端用户的费用。
-
-### 证明验证费用 {#proof-verification-costs}
-
-验证证明也需要复杂的计算,这增加了在应用中实施零知识技术的成本。 这种成本在证明计算方面尤其突出。 例如,零知识卷叠在以太坊上支付约 500,000 单位燃料来验证一个零知识简洁非交互式知识论证证明,零知识可扩容透明知识论证则需要更高的费用。
-
-### 信任假设 {#trust-assumptions}
-
-在零知识简洁非交互式知识论证中,公共参考字符串(公共参数)只生成一次,然后可供零知识协议的参与方重复使用。 公共参数由可信设置仪式创建,其参与者假定是诚实的。
-
-但是并没有什么方法能让用户评估参与者是否诚实,用户必须相信开发者的话。 零知识可扩容透明知识论证不存在信任假设,因为生成字符串所使用的随机数是可公开验证的。 与此同时,研究人员正在研究零知识简洁非交互式知识论证的非可信设置,以增加证明机制的安全性。
-
-### 量子计算的威胁 {#quantum-computing-threats}
-
-零知识简洁非交互式知识论证使用椭圆曲线加密法进行加密。 虽然椭圆曲线离散对数问题目前被认为是难以破解的,但在未来,量子计算机的发展可能会打破这种安全模式。
-
-由于仅使用抗碰撞的哈希函数确保安全性,零知识可扩容透明知识论证被认为不会受到量子计算的威胁。 与椭圆曲线加密法中使用的公私密钥对不同,抗碰撞哈希算法更难被量子计算算法破解。
-
-## 延伸阅读 {#further-reading}
-
-- [零知识证明用例概述](https://pse.dev/projects) — _Privacy and Scaling Explorations Team_
-- [SNARKs 与 STARKS 与 递归 SNARK](https://www.alchemy.com/overviews/snarks-vs-starks) — _Alchemy Overviews_
-- [零知识证明:改善区块链上的隐私](https://www.altoros.com/blog/zero-knowledge-proof-improving-privacy-for-a-blockchain/) — _Dmitry Lavrenov_
-- [zk-SNARK — 一个现实的零知识例子和深入研究](https://medium.com/coinmonks/zk-snarks-a-realistic-zero-knowledge-example-and-deep-dive-c5e6eaa7131c) — _Adam Luciano_
-- [ZK-STARK — 创建可验证的信任,即使面对量子计算机](https://medium.com/coinmonks/zk-starks-create-verifiable-trust-even-against-quantum-computers-dd9c6a2bb13d) — _Adam Luciano_
-- [关于如何让 zk-SNARK 成为可能的大致介绍](https://vitalik.eth.limo/general/2021/01/26/snarks.html) — _Vitalik Buterin_
-- [为什么零知识证明 (ZKP) 是自主主权身份的颠覆者](https://frankiefab.hashnode.dev/why-zero-knowledge-proofs-zkps-is-a-game-changer-for-self-sovereign-identity) — _Franklin Ohaegbulam_
-
diff --git a/public/content/translations/zh/10) Guides and Quizzes/guides/how-to-create-an-ethereum-account/index.md b/public/content/translations/zh/10) Guides and Quizzes/guides/how-to-create-an-ethereum-account/index.md
deleted file mode 100644
index ce94f684d3a..00000000000
--- a/public/content/translations/zh/10) Guides and Quizzes/guides/how-to-create-an-ethereum-account/index.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: 如何“创建”以太坊帐户
-description: 使用钱包创建以太坊帐户的分步指南。
-lang: zh
----
-
-# 如何创建以太坊帐户
-
-**任何人都可以免费创建以太坊账户。**你只需要安装加密钱包应用。 钱包可创建并管理你的以太坊帐户。 它们可以发送交易,检查你的余额,并连接到其他基于以太坊构建的应用程序。
-
-使用钱包,你也可以随时登入任何代币交易所、游戏、[非同质化代币](/glossary/#nft)市场。 不需要单独注册,基于以太坊构建的所有应用程序共享一个帐户。
-
-## 第一步:选择一个钱包
-
-钱包是帮助你管理以太坊帐户的应用程序。 现有数十种不同的钱包可供你选择:移动端、桌面端,甚至是浏览器扩展程序。
-
-
-
- 钱包列表
-
-
-如果你是新手,可以在“查找钱包”页面上选择“加密货币新手”进行筛选,找到适合新手且具备所有必要功能的钱包。
-
-![在“查找钱包”页面上进行筛选](./wallet-box.png)
-
-除此,还可以使用其他筛选条件来满足你的需求。 这些是常用的钱包示例 - 但在信任任何软件之前,你都应该自己先研究。
-
-## 第二步:下载并安装钱包应用
-
-一旦选好了特定的钱包,就可访问他们的官网或应用商店来进行下载和安装。 它们应该都是免费的。
-
-## 第三步:打开应用程序,创建你的以太坊帐户
-
-当你第一次打开新钱包应用时,你需要选择创建一个新的帐号或者导入已有的帐户。 点击创建新帐号。 **在这一步骤中,钱包软件将生成你的以太坊帐户。**
-
-## 第四步:保存你的助记词
-
-一些应用程序会要求你保存私密的“恢复短语”(有时称为“助记词”或“助记符”)。 妥善保存此短语至关重要! 这用于生成你的以太坊帐户,并可用于提交交易。
-
-**任何知道助记词的人都能控制所有资金。**切勿与任何人分享。 此助记词应包含 12 至 24 个随机生成的单词(单词的顺序很重要)。
-
-
-
- 已安装钱包?
了解如何使用它。
-
- 如何使用钱包
-
-
-
-
-对其他指南感兴趣吗? 查看我们的:[分步指南](/guides/)
-
-## 常见问题
-
-### 我的钱包和我的以太坊帐户是一样的吗?
-
-否。 钱包是帮助你管理帐户的管理工具。 一个钱包可以访问多个帐户,一个帐户可供多个钱包访问。 助记词用于创建帐户,并授予钱包应用程序管理资产的权限。
-
-### 我可以发送比特币到以太坊地址,或发送以太币到比特币地址吗?
-
-不可以。 比特币和以太币存在于两个独立的网络(即不同的区块链),每个网络都有各自的记账和地址格式。 为了桥接这两个不同的网络已经进行了各种不同的尝试,其中目前最活跃的一种是[包装比特币 (WBTC)](https://www.bitcoin.com/get-started/what-is-wbtc/)。 这并不是背书,因为包装比特币是一种受监管的解决方案(这意味着由一群人控制某些重要功能),包装比特币在此处仅供参考。
-
-### 如果我已经拥有了一个以太币地址,我可以在其他区块链拥有相同的地址吗?
-
-在所有使用与以太坊类似的底层软件的区块链(称为“兼容以太坊虚拟机”)上,你可以使用相同的[地址](/glossary/#address)。 这个[列表](https://chainlist.org/)会告诉你在哪些区块链上你可以使用相同的地址。 有一些区块链,如比特币,实施了完全独立的一组网络规则,你需要一个不同格式的地址。 如果你有智能合约钱包,你应该查看其产品网站,详细了解它所支持的区块链,因为这些区块链的范围通常有限但更安全。
-
-### 相对于把资金保存在交易所,拥有自己的钱包是否更安全?
-
-拥有自己的钱包意味着你要对自己的资产安全负责。 不幸的是,有许多因为交易所倒闭而导致客户资金丢失的例子。 拥有钱包(与助记词)可以消除与委托某个实体持有你的资产相关联的风险。 然而,你必须自行保管它,避免遭遇钓鱼诈骗、意外批准交易或泄露助记词、与虚假网站互动和其他自我保管的风险。 这两种方式各有利弊。
-
-### 如果我丢失了手机/硬件钱包,我需要使用相同的钱包应用来恢复损失的资金吗?
-
-不,你可以用其他钱包。 只要你有助记词,就可以将其输入到大多数钱包中来恢复帐户。 如果你需要这样做,请务必小心:在恢复钱包时最好确保没有连接到互联网,以防意外泄漏你的助记词。 如果没有助记词,通常无法恢复损失的资金。
diff --git a/public/content/translations/zh/10) Guides and Quizzes/guides/how-to-id-scam-tokens/index.md b/public/content/translations/zh/10) Guides and Quizzes/guides/how-to-id-scam-tokens/index.md
deleted file mode 100644
index ccec6ffd4ca..00000000000
--- a/public/content/translations/zh/10) Guides and Quizzes/guides/how-to-id-scam-tokens/index.md
+++ /dev/null
@@ -1,97 +0,0 @@
----
-title: 如何识别骗局代币
-description: 了解骗局代币、它们如何进行伪装以及如何避免上当受骗。
-lang: zh
----
-
-# 如何识别骗局代币 {#identify-scam-tokens}
-
-以太坊最常见的用途之一是由一个团队来打造一种可以交易的代币,在某种意义上是他们自己的货币。 这些代币通常遵循 [ERC-20](/developers/docs/standards/tokens/erc-20/) 标准。 然而,任何存在可以带来价值的合法使用场景的地方,就会有试图窃取那些价值的犯罪分子。
-
-他们欺诈你的方式有两种:
-
-- **向你兜售骗局代币**,这些代币可能看起来像是你想购买的合法代币,但实际上是骗子发行的,完全无价值。
-- **诱导你签署恶意交易**,通常是通过引导你进入他们自己的用户界面。 骗子可能会诱导你向他们的合约授予 ERC-20 代币的访问许可,从而向他们泄露敏感信息,以便其获取你的资产的访问权限等。 这些用户界面可能会非常像正规网站,但暗藏玄机。
-
-为了说明什么是骗局代币以及如何识别它们,我们来看一个例子: [`wARB`](https://etherscan.io/token/0xb047c8032b99841713b8e3872f06cf32beb27b82)。 这个代币试图伪装成合法的 [`ARB`](https://etherscan.io/address/0xb50721bcf8d664c30412cfbc6cf7a15145234ad1) 代币。
-
-
-
-Arbitrum 是一个开发和管理 乐观卷叠 的组织。 最初,Arbitrum 是一家以营利为目的的公司,但后来采取了去中心化步骤。 在这一过程中,他们发行了可交易的治理代币。
-
-
-
-
-
-以太坊有一条约定,即当一项资产不符合 ERC-20 标准时,我们会创建一个该资产的“包装”版本,其名称以“w”开头。 例如,我们用 wBTC 表示比特币的包装版本,用 wETH 表示以太坊的包装版本。
-
-创建已经在以太坊存在的 ERC-20 代币的包装版本没有意义,但骗子希望借此制造合法的外观,而不顾真实的基本情况。
-
-
-
-## 骗局代币如何运作? {#how-do-scam-tokens-work}
-
-以太坊的核心是去中心化。 这意味着不存在可以没收你的资产或禁止你部署智能合约的中心化机构。 但这也意味着骗子可以任意部署他们想要的任何智能合约。
-
-
-
-智能合约是在以太坊区块链上运行的程序。 例如,每个 ERC-20 代币都是以智能合约的形式实现的。
-
-
-
-具体到这一示例,Arbitrum 部署了一个使用代币符号 `ARB` 的智能合约。 但是这并不能阻止其他人也部署使用完全相同的代币符号或类似符号的智能合约。 编写合约的任何人都可以设置合约的用途。
-
-## 看起来合法 {#appearing-legitimate}
-
-骗局代币的创建人会使用几种手段将其代币伪装成合法代币。
-
-- **合法的名称和符号**。 如前所述,ERC-20 合约的符号和名称可以与其他 ERC-20 合约相同。 你不能依赖这些字段来判断代币安全性。
-
-- **合法的所有者**。 骗局代币经常向那些可能被认为是真实代币的合法持有人的地址空投大量代币余额。
-
- 再我们以 `wARB` 为例。 [大约 16% 的代币](https://etherscan.io/token/0xb047c8032b99841713b8e3872f06cf32beb27b82?a=0x1c8db745abe3c8162119b9ef2c13864cd1fdd72f)由一个公开标签为[ Arbitrum 基金会:部署人](https://etherscan.io/address/0x1c8db745abe3c8162119b9ef2c13864cd1fdd72f) 的地址持有。 这_不是_假地址,它确实是[在以太坊主网上部署真正 ARB 合约的地址](https://etherscan.io/tx/0x242b50ab4fe9896cb0439cfe6e2321d23feede7eeceb31aa2dbb46fc06ed2670)。
-
- 因为地址的 ERC-20 余额是 ERC-20 合约的存储空间的一部分,合约开发者可以根据需要指定其余额为任何值。 合约也可以禁止转账,让合法用户无法消除这些骗局代币。
-
-- **合法转账**。 _合法所有者不会支付手续费将骗局代币转账给别人,所以如果有转账,就一定是合法的,对吗?_ **不对**。 `Transfer` 事件是由 ERC-20 合约生成的。 骗子可以轻松编写合约,生成这些事件。
-
-## 虚假网站 {#websites}
-
-骗子也可以制作非常逼真的网站,有时甚至会精确克隆真实网站,用户界面完全相同,但暗藏陷阱。 例如,看似合法的外部链接实际上会将用户发送到外部诈骗网站,或者错误的说明会引导用户暴露密钥或将资金发送到攻击者的地址。
-
-避免这种情况的最佳做法是仔细检查所访问网站的网址,并将已知真实网站的地址保存在书签中。 这样,你就可以通过书签访问真实网站,不会发生意外拼写错误或依赖外部链接。
-
-## 如何保护自己? {#protect-yourself}
-
-1. **检查合约地址**。 合法的代币来自合法的组织,你可以在组织的网站上查看其合约地址。 例如,[`ARB` 的合法地址可以在这里查看](https://docs.arbitrum.foundation/deployment-addresses#token)。
-
-2. **真实的代币具有流动性**。 你还可以在 [Uniswap](https://uniswap.org/) 上查看流动性资金池的大小,这是最常用的代币交换协议之一。 该协议使用流动性资金池运作,投资者将代币存入流动性资金池中,通过交易费获利。
-
-骗局代币的流动性资金池通常非常小,或者根本没有,因为骗子不想冒险使用真实资产。 例如,Uniswap 上的 `ARB`/`ETH` 流动性资金池中有约 100 万美元的资产([点击这里查看实时价值](https://info.uniswap.org/#/pools/0x755e5a186f0469583bd2e80d1216e02ab88ec6ca)),小额买卖不会改变价格:
-
-![购买合法代币](./uniswap-real.png)
-
-但是,当你尝试购买骗局代币 `wARB` 时,即使是很小的购买量也会使价格变化超过 90%:
-
-![购买骗局代币](./uniswap-scam.png)
-
-这是表明 `wARB` 不太可能是一种合法代币的另一个证据。
-
-3. **通过 Etherscan 检查**。 许多骗局代币已经被社区识别并报告。 Etherscan [标记了这些代币](https://info.etherscan.com/etherscan-token-reputation/)。 尽管 Etherscan 不是权威信息来源(去中心化网络的性质决定了不可能存在关于合法性的权威信息来源),但被 Etherscan 标记为骗局代币的代币很可能就是骗局代币。
-
- ![Etherscan 中的骗局代币](./etherscan-scam.png)
-
-## 结论 {#conclusion}
-
-只要世界上有价值,就会有骗子试图将其窃为己有,而在一个去中心化的世界里,除了你自己,没人能保护你。 请记住以下几点,它们可以帮助你区分合法代币和骗局代币:
-
-- 骗局代币会伪装成合法代币,它们会使用相同的名称、符号等。
-- 骗局代币与合法代币_不会_使用相同的合约地址。
-- 获取合法代币地址的最佳渠道是该代币所属的发行机构。
-- 如果联系不到该机构,可以使用知名可信的应用程序,如 [Uniswap](https://app.uniswap.org/#/swap) 和 [Etherscan](https://etherscan.io/)。
diff --git a/public/content/translations/zh/10) Guides and Quizzes/guides/how-to-revoke-token-access/index.md b/public/content/translations/zh/10) Guides and Quizzes/guides/how-to-revoke-token-access/index.md
deleted file mode 100644
index 142d5aeea2a..00000000000
--- a/public/content/translations/zh/10) Guides and Quizzes/guides/how-to-revoke-token-access/index.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: 如何撤销智能合约对你的加密资产的支配权限
-description: 指南:如何撤销恶意智能合约的代币配额权限
-lang: zh
----
-
-# 如何撤销智能合约对你加密资产的支配权限
-
-本指南将引导你,查看所有对你的资金拥有配额权限的[智能合约](/glossary/#smart-contract)列表,以及如何撤销它们。
-
-有时,恶意开发者会在智能合约中创建后门,如果不知情的用户与其交互,这些智能合约将能访问你的资金。 常见的情况是,为了在将来节省少量[燃料](/glossary/#gas),这类平台会向用户索要支配**无限量代币**的权限,但这将带来很大的风险。
-
-一旦平台拥有了对你[钱包](/glossary/#wallet)内代币的无限配额权限,即使你已将资金从平台提取到自己的钱包,平台仍可以支配所有这些代币。 这些怀有恶意的参与者仍能访问你的资金,并将其提现到他们自己的钱包,而你对此毫无办法进行恢复。
-
-唯一的保护措施是:不使用未经测试的新项目,只批准你需要的项目,或定期撤销权限。 所以,你应该怎么做呢?
-
-## 第 1 步:使用撤销权限工具
-
-有几个网站允许你查看与你钱包地址关联的智能合约,并进行撤销。 访问以下网站并连接到你的钱包:
-
-- [Ethallowance](https://ethallowance.com/)(以太坊)
-- [Etherscan](https://etherscan.io/tokenapprovalchecker)(以太坊)
-- [Cointool](https://cointool.app/approve/eth)(多个网络)
-- [Revoke](https://revoke.cash/)(多个网络)
-- [Unrekt](https://app.unrekt.net/)(多个网络)
-- [EverRevoke](https://everrise.com/everrevoke/)(多个网络)
-
-## 第 2 步:连接到你的钱包
-
-进入网站后,点击“Connect wallet”。 网站会提示你连接到你的钱包。
-
-请确保你的钱包和网站使用相同的网络。 你将只能看到与所选网络相关的智能合约。 例如,如果你连接到以太坊主网,你将只能看到以太坊合约,而看不到其他链上的合约,例如 Polygon。
-
-## 第 3 步:选择你想要撤销的智能合约
-
-你应该可以看到被允许访问你的代币的全部合约,以及支配数额上限。 找到你想要撤销的合约。
-
-如果你不知道选择哪个合约,你可以全部撤销。 这不会给你带来任何麻烦,但下次你想与这些合约互动时,必须重新授予一系列权限。
-
-## 第 4 步:撤销对你资金的权限
-
-一旦你点击撤销,你会在你的钱包中看到一个新的交易建议。 这是预料之中的。 你必须支付手续费,撤销才能成功。 可能需要一分钟到几分钟来处理,视网络而定。
-
-我们建议你几分钟后刷新撤销工具,并重新连接钱包,再次核查撤销的合约是否已从列表中消失。
-
-我们建议,永远不要让任何项目对你的代币拥有无限的权限,并定期撤销所有代币配额权限。 尤其是在使用上述工具的情况下,撤销代币访问权限绝不应导致资金损失。
-
-
-
-
- 想了解更多信息?
-
- 查看我们其他的指南
-
-
-
-## 常见问题
-
-### 撤销代币权限是否也会终止质押、进入质押池、借贷等?
-
-不会,它不会影响你的任何[去中心化金融](/glossary/#defi)策略。 你的投资仓位和奖励等都不会受到影响。
-
-### 把钱包与项目断开连接,和取消资产支配权限是一个意思吗?
-
-不是,你断开了你的钱包与项目的连接,但如果你已经授予了代币配额权限,它们仍可以使用这些代币。 你需要撤销该权限。
-
-### 合约权限何时到期?
-
-合约权限没有期限限制。 如果你授予合约权限,即使在几年之后,权限依然有效。
-
-### 为什么有些智能合约会设置无限代币配额呢?
-
-项目这样做通常是为了减少所需的请求次数,也就是说用户只需批准一次,并且仅需支付一次交易费。 这虽然方便,但有些网站没有经过时间检验,也没有经过审计,用户不经意地授予权限可能会带来风险。 一些钱包允许你手动限制可以批准的代币额,以降低你的风险。 可询问你的钱包提供者,以获取更多信息。
diff --git a/public/content/translations/zh/10) Guides and Quizzes/guides/how-to-swap-tokens/index.md b/public/content/translations/zh/10) Guides and Quizzes/guides/how-to-swap-tokens/index.md
deleted file mode 100644
index 68e057da61b..00000000000
--- a/public/content/translations/zh/10) Guides and Quizzes/guides/how-to-swap-tokens/index.md
+++ /dev/null
@@ -1,67 +0,0 @@
----
-title: 如何兑换代币
-description: 以太坊代币兑换指南。
-lang: zh
----
-
-# 如何兑换代币
-
-是否厌倦了寻找一个上架了所有你喜欢的代币的交易所? 在[去中心化交易所](/glossary/#dex),你可以兑换大多数代币。
-
-代币兑换是指交换以太坊网络上存在的两种不同资产,例如用以太币兑换 DAI 币(一种 [ERC-20](/glossary/#erc-20) 代币)。 兑换过程非常快,也很便宜。 要进行代币兑换,你需要有一个加密货币钱包。
-
-**前期准备:**
-
-- 要拥有[加密钱包](/glossary/#wallet),请参照这个教程:[如何“注册”以太坊帐户](/guides/how-to-create-an-ethereum-account/)
-- 把资金添加到你的钱包
-
-## 1. 把你的钱包连接到你选定的去中心化交易所 (DEX)
-
-一些受欢迎的交易所包括:
-
-- [Uniswap](https://app.uniswap.org/#/swap)
-- [SushiSwap](https://www.sushi.com/swap)
-- [1Inch](https://app.1inch.io/#/1/unified/swap/ETH/DAI)
-- [Curve](https://curve.fi/#/ethereum/swap)
-
-有趣吗? 详细了解什么是[去中心化金融 (DeFi)](/defi/),以及这些新型交易所的运作方式。
-
-## 2. 选择你想兑换的代币交易对
-
-例如,以太币和 DAI 稳定币。 请确认你在这两种代币中拥有资金 ![兑换通用接口](./swap1.png)
-
-## 3. 输入你想要交易的代币数量,然后点击兑换
-
-交易所将自动计算你可以兑换到多少代币。
-
-![兑换通用接口](./swap2.png)
-
-## 4. 确认交易
-
-检查交易详细信息。 确认兑换率以及其他所有费用,以防止出现意外情况。
-
-![交易审核通用接口](./swap3.png)
-
-## 5. 等待交易被处理
-
-你可以在任何区块链浏览器上查看交易进度。 这一过程应该不会超过 10 分钟。
-
-一旦交易处理完毕,你的钱包将自动收到你兑换到的代币。
-
-
-
- 想了解更多信息?
-
- 查看我们其他的指南
-
-
-
-## 常见问题
-
-### 我可以从我的钱包用以太币交换比特币吗?
-
-不可以,你只能兑换以太坊网络上的原生代币,如以太币、ERC-20 代币或非同质化代币。 你只能兑换以“封装”形式存在于以太坊上的比特币。
-
-### 什么是滑点?
-
-它是你的预期兑换率与实际兑换率之间的差额。
diff --git a/public/content/translations/zh/10) Guides and Quizzes/guides/how-to-use-a-bridge/index.md b/public/content/translations/zh/10) Guides and Quizzes/guides/how-to-use-a-bridge/index.md
deleted file mode 100644
index 3ac1f70f37f..00000000000
--- a/public/content/translations/zh/10) Guides and Quizzes/guides/how-to-use-a-bridge/index.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-title: 如何将代币桥接到二层网络
-description: 指南:如何使用链桥,把代币从以太坊转移到二层网络。
-lang: zh
----
-
-# 如何将代币桥接到二层网络
-
-如果以太坊上有大量交易活动,交易费用可能会变得高昂。 其中一个解决方案是创建新的“层”:也就是运行方式类似以太坊的不同网络。 这些层称为“二层网络”,能以更低的成本处理更多的交易并且仅是偶尔存储以太坊上所进行交易的结果,因此有助于缓解以太坊网络上的拥塞并降低成本。 因此,这些二层网络使我们能够以更快的速度进行交易,并降低了交易成本。 由于这些优势,许多主流的加密项目都在向二层网络转移。 将代币从以太坊转移到二层网络的最简单方式是使用链桥。
-
-**前期准备:**
-
-- 要有加密钱包,请参照这个教程:[如何“注册”以太坊帐户](/guides/how-to-create-an-ethereum-account/)
-- 把代币转入你的钱包
-
-## 1. 确定你想使用哪个二层网络
-
-在我们的[二层网络页面](/layer-2/)上,你可以详细了解不同项目和重要链接。
-
-## 2. 访问你选定的链桥
-
-一些受欢迎的二层网络包括:
-
-- [Arbitrum 链桥](https://bridge.arbitrum.io/?l2ChainId=42161)
-- [Optimism 乐观链桥](https://app.optimism.io/bridge/deposit)
-- [Boba 网络链桥](https://gateway.boba.network/)
-
-## 3. 把你的钱包连接到链桥
-
-确保将你的钱包连接到了以太坊主网。 如果没有,网页会自动提示你切换网络。
-
-![用于桥接代币的通用接口](./bridge1.png)
-
-## 4. 指定金额,并转移资金
-
-请检查你在二层网络上将收到的金额,以及交易费,以免出现意外情况。
-
-![用于桥接代币的通用接口](./bridge2.png)
-
-## 5. 在你的钱包中确认该项交易
-
-为处理此次交易,你需要用以太币支付一定的交易费。
-
-![用于桥接代币的通用接口](./bridge3.png)
-
-## 6. 等待资金转移
-
-这一过程应该不会超过 10 分钟。
-
-## 7. 将选定的二层网络添加到你的钱包(可选)
-
-你可以使用 [chainlist.org](http://chainlist.org) 找到这个网络的远程程序调用的详细信息。 一旦你把这个网络添加到你的钱包,并且交易完成,你应该就可看到代币出现在你的钱包中了。
-
-
-
- 想了解更多信息?
-
- 查看我们其他的指南
-
-
-
-## 常见问题
-
-### 如果我在交易所有资产该怎么办?
-
-你应该可以直接从交易所把资产转移到二层网络。 要了解更多信息,请在[二层网络页面](/layer-2/)查看“转移到二层网络”部分的内容。
-
-### 我的代币被桥接到二层网络后,我能否再转回到以太坊主网呢?
-
-可以的,你可使用相同的链桥,把你的资金再转回到以太坊主网。
diff --git a/public/content/translations/zh/10) Guides and Quizzes/guides/how-to-use-a-wallet/index.md b/public/content/translations/zh/10) Guides and Quizzes/guides/how-to-use-a-wallet/index.md
deleted file mode 100644
index 9064a7fb9b0..00000000000
--- a/public/content/translations/zh/10) Guides and Quizzes/guides/how-to-use-a-wallet/index.md
+++ /dev/null
@@ -1,88 +0,0 @@
----
-title: 如何使用钱包
-description: 指南:如何发送和接收代币,以及如何连接到 Web3 项目。
-lang: zh
----
-
-# 如何使用钱包
-
-学习如何使用钱包的基本功能。 如果你还没有钱包,请查看这个教程:[如何创建以太坊帐户](/guides/how-to-create-an-ethereum-account/)。
-
-## 打开你的钱包
-
-你可以看到一个管理面板,它很可能会向你显示你的余额,并且还包括一些按钮,用于发送和接收代币。
-
-## 接收加密货币
-
-你想用你的钱包接收加密货币吗?
-
-每个以太坊帐户都有它自己的收款地址,它是一串独一无二的数字和字母。 这个地址的功能类似于银行账号。 以太坊地址总是以“0x”开头。 你可以向任何人分享此地址:这样做是安全的。
-
-你的以太坊地址就像你的家庭地址:你需要告诉别人地址是什么,别人才能找到你。 这样做是安全的,因为你仍然可以用另一把只由你掌管的钥匙锁住你的前门,所以即使他们知道你的住处,也没有人能够进入你的家中。
-
-你需要给任何想给你转账人的提供你的公开地址。 许多钱包应用程序都允许你复制你的地址或显示一个二维码来扫描以方便使用。 请避免手动输入任何以太坊地址。 这很容易出现书写错误从而导致资金损失。
-
-不同的应用程序可能有所不同或使用不同的语言,但如果你在尝试转账,它们应该都有一个类似的流程。
-
-1. 打开你的钱包应用。
-2. 点击“Receive”(或类似措辞的选项)。
-3. 拷贝你的以太坊地址。
-4. 把你的以太坊收款地址提供给发送方。
-
-## 发送加密货币
-
-你想把以太币发送到另一个钱包?
-
-1. 请打开你的钱包应用。
-2. 获取接收地址,并确保你和接受人处于同一网络之中。
-3. 请输入收款地址或用相机扫描二维码,但避免手写地址。
-4. 点击钱包中的“Send”按钮(或类似措辞选项)。
-
-![发送加密货币的地址字段](./send.png)
-
-
-5. 许多资产,如 DAI 或 USDC 稳定币,存在于多个网络上。 在传输加密代币时,请确保收款方和你使用相同的网络,因为不同网络之间并不是互通的。
-6. 请确保你的钱包有足够的以太币来支付交易费,交易费因网络状况而异。 大多数钱包都会自动将建议的交易费用在交易中列出,然后你可以进行确认。
-7. 一旦你的交易被处理,相应的加密货币金额将显示在收款方的帐户中。 这可能需要几秒钟到几分钟不等,具体取决于当前网络使用情况。
-
-## 连接到项目
-
-你的地址在所有以太坊项目中都是相同的。 你不需要逐一注册每个项目。 只要你有钱包,就能够连接到任何以太坊项目,而不再需要你的任何额外信息。 不需要电子邮箱,或其它任何个人信息。
-
-1. 访问任一项目的网站。
-2. 如果该项目的登陆页面只是项目的静态描述,你可点击菜单中的“Open the App”(打开应用程序)按钮,进入到实际的网页应用程序。
-3. 进入应用程序后,请点击“Connect”。
-
-![允许用户使用钱包连接到网站的按钮](./connect1.png)
-
-4. 从可用选项列表中,选择你的钱包。 如果看不到你的钱包,它可能隐藏在“WalletConnect”(连接钱包)选项下。
-
-![从要连接的钱包列表中选择](./connect2.png)
-
-5. 请在钱包中,确认签名请求以建立连接。 **签署此信息不应花费任何以太币**。
-6. 这样就完成了! 开始使用这个应用程序吧。 你可以在我们的[去中心化应用程序页面](/dapps/#explore)找到一些有趣的项目。
-
-
- 想了解更多信息?
-
- 查看我们其他的指南
-
-
-
-## 常见问题
-
-### 如果我已经拥有了一个以太币地址,在其他区块链上,我会拥有相同的地址吗?
-
-在与以太坊虚拟机兼容的所有区块链上,你可以使用相同的地址(如果你的钱包带有助记词)。 这个[列表](https://chainlist.org/)会告诉你在哪些区块链上你可以使用相同的地址。 有一些区块链,如比特币,实现了完全独立的一组网络规则,你需要一个不同格式的地址。 如果你有一个智能合约钱包,你应该查看它的产品网站,详细了解它所支持的区块链。
-
-### 我可以在多个设备上使用相同的地址吗?
-
-可以,你可以在多个设备上使用相同的地址。 技术上讲,你的钱包仅仅是用来显示余额以及执行交易的一个界面,你的帐户并不保存在你的钱包里,而是保存在区块链上。
-
-### 我还没有收到应收的加密货币,在哪可以查看交易状态?
-
-你可以使用[区块链浏览器](/developers/docs/data-and-analytics/block-explorers/)实时查看任何交易的状态。 你仅需搜索你的钱包地址或交易 ID。
-
-### 我可以取消或回滚交易吗?
-
-不可以,在确认交易后,你就无法取消它。
diff --git a/public/content/translations/zh/10) Guides and Quizzes/guides/index.md b/public/content/translations/zh/10) Guides and Quizzes/guides/index.md
deleted file mode 100644
index 4d6b0fad79e..00000000000
--- a/public/content/translations/zh/10) Guides and Quizzes/guides/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: 以太坊指南
-description: 实用指南合集:给初学者的以太坊使用基础知识。
-lang: zh
----
-
-# 以太坊指南
-
-想要开始你的以太坊之旅吗? 我们的实用指南将逐步引导你了解以太坊,帮助你更轻松地掌握这项新技术。
-
-## 入门指南
-
-1. [如何“创建”一个以太坊帐户](/guides/how-to-create-an-ethereum-account/) - 任何人都可以免费创建钱包。 该指南将向你展示如何开始。
-
-2. [如何使用钱包](/guides/how-to-use-a-wallet/) - 介绍钱包的基本功能以及如何使用它们。
-
-## 安全基础知识
-
-1. [如何撤销智能合约对你的加密货币资金的权限](/guides/how-to-revoke-token-access/) - 如果你突然在你的钱包中看到一笔交易,但并非由你启动,本指南将教你如何防止这种情况再次发生。
-
-2. [如何识别诈骗代币](/guides/how-to-id-scam-tokens/) - 什么是诈骗代币?诈骗代币如何看起来像合法代币?如何识别诈骗代币,保护自己避免陷入诈骗代币的骗局。
-
-## 使用以太坊
-
-1. [如何将代币桥接到二层网络](/guides/how-to-use-a-bridge/) - 以太坊交易太昂贵? 那要不要考虑转到以太坊扩容解决方案,即二层网络上?
-
-2. [如何兑换代币](/guides/how-to-swap-tokens/) - 你想把你的代币兑换成另一种吗? 本简明指南将为你演示如何操作。
diff --git a/public/content/translations/zh/11) Roadmap/eips/index.md b/public/content/translations/zh/11) Roadmap/eips/index.md
deleted file mode 100644
index 9ac64f5aa2d..00000000000
--- a/public/content/translations/zh/11) Roadmap/eips/index.md
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: 以太坊改进提案 (EIP)
-description: 了解以太坊改进提案所需的基本信息
-lang: zh
----
-
-# 以太坊改进提案 (EIP) 介绍 {#introduction-to-ethereum-improvement-proposals}
-
-## 什么是 EIP? {#what-are-eips}
-
-[以太坊改进提案 (EIP)](https://eips.ethereum.org/)是为以太坊潜在新功能或流程提出建议的标准。 EIP 包含提议改进的技术规范,并作为社区的“真相来源”。 在 EIP 的过程中,将会讨论和制定以太坊的网络升级和应用标准。
-
-以太坊社区中的任何人都可以创造一个 EIP。 以太坊改进提案编写准则在 [EIP 1](https://eips.ethereum.org/EIPS/eip-1) 中提供。 以太坊改进提案应主要包括简明技术规范,并提供一些激励措施。 以太坊改进提案的创作者负责在社区内建立共识并记录不同意见。 从历史上看,大多数以太坊改进提案的创作者通常是应用程序或协议开发者,因为提交高水平的以太坊改进提案需要很强的技术能力。
-
-## 为什么 EIP 很重要? {#why-do-eips-matter}
-
-EIP 作为一个中心角色,记载以太坊的变化并且记载在以太坊中。 它们是人们提议、辩论和适应变化的途径。 有[各种不同种类的以太坊改进提案](https://eips.ethereum.org/EIPS/eip-1#eip-types),其中包括涉及底层协议更改,影响共识并需要网络升级的核心以太坊改进提案,例如 [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559),还有应用程序标准相关的以太坊意见征求,例如 [EIP-20](https://eips.ethereum.org/EIPS/eip-20) 和 [EIP-721](https://eips.ethereum.org/EIPS/eip-721)。
-
-每个网络升级都包含一组 EIP,需要网络上每个 [以太坊客户端](/learn/#clients-and-nodes)来执行。 这就意味着要想在以太坊主网上与其他客户端保持共识,客户端开发者需要确保他们已经全部实现了必需的以太坊改进提案。
-
-在提供变更技术规格的同时,EIP 是以太坊社区治理的基本单位。任何人都可以自由提议,然后由社区不同的参与者讨论,决定是否将其发展为通用标准或者加入到网络升级中。 因为非核心以太坊改进提案不必被所有应用程序采用(例如,可以创建未实现 EIP-20 的同质化代币),而核心以太坊改进提案必须要广泛采用(因为所有节点都必须升级才能一直属于同一网络),因此与非核心以太坊改进提案相比,核心以太坊改进提案需要在社区内达成更广泛的共识。
-
-## EIP 历史 {#history-of-eips}
-
-[Ethereum Improvement Proposals (EIP) GitHub 存储库](https://github.com/ethereum/EIPs) 于 2015 年 10 月创建。 EIP 进程基于[比特币改进提议 (BIP)](https://github.com/bitcoin/bips) 进程。它本身基于 [Python 增强提议 (PEP)](https://www.python.org/dev/peps/) 进程。
-
-以太坊改进提案编辑人员的任务是审查以太坊改进提案的技术可靠性、格式问题,并校正拼写、语法和代码风格。 Martin Becze、Vitalik Buterin、Gavin Wood 和其他一些人是 2015 年至 2016 年末最初的 EIP 编辑者。
-
-现有以太坊改进提案编辑人员有
-
-- Alex Beregszaszi (@axic)
-- Gavin John (@Pandapip1)
-- Greg Colvin (@gcolvin)
-- Matt Garnett (@lightclient)
-- Sam Wilson (@SamWilsn)
-
-以太坊改进提案名誉编辑人员有
-
-- Casey Detrio (@cdetrio)
-- Hudson Jameson (@Souptacular)
-- Martin Becze (@wanderer)
-- Micah Zoltu (@MicahZoltu)
-- Nick Johnson (@arachnid)
-- Nick Savers (@nicksavers)
-- Vitalik Buterin (@vbuterin)
-
-如果你想成为以太坊改进提案编辑人员,请查看 [EIP-5069](https://eips.ethereum.org/EIPS/eip-5069)。
-
-以太坊改进提案编辑人员决定一个提议何时可以成为以太坊改进提案,并帮助以太坊改进提案创作者们推进他们的提议。 以太坊改进提案编辑人员和社区之间的会议由[以太坊牧猫人组织](https://www.ethereumcatherders.com/)协助组织(请参阅 [EIPIP](https://github.com/ethereum-cat-herders/EIPIP))。
-
-完整的标准化流程和图表在 [EIP-1](https://eips.ethereum.org/EIPS/eip-1) 中描述
-
-## 了解更多 {#learn-more}
-
-如果你有兴趣详细了解以太坊改进提案,请查看[以太坊改进提案网站](https://eips.ethereum.org/)和[ EIP-1](https://eips.ethereum.org/EIPS/eip-1)。 下面是一些有用的链接:
-
-- [以太坊改进提案列表](https://eips.ethereum.org/all)
-- [所以太坊改进提案类型说明](https://eips.ethereum.org/EIPS/eip-1#eip-types)
-- [所有以太坊改进提案状态说明](https://eips.ethereum.org/EIPS/eip-1#eip-process)
-
-### 社区教育项目 {#community-projects}
-
-- [PEEPanEIP](https://www.youtube.com/playlist?list=PL4cwHXAawZxqu0PKKyMzG_3BJV_xZTi1F) — *PEEPanEIP 是一系列教学视频,讨论以太坊改进提案 (EIP) 和即将到来的升级中的关键特性。*
-- [EIPs For Nerds](https://ethereum2077.substack.com/t/eip-research) — *EIPs For Nerds 针对各种以太坊改进提案 (EIP)(包括核心以太坊改进提案以及应用程序/基础设施层以太坊改进提案 (ERC))提供 ELI5 风格的全面概述,以教育读者并围绕以太坊协议的提议改进达成共识。*
-- [EIPs.wtf](https://www.eips.wtf/) — *EIPs.wtf 提供以太坊改进提议 (EIP) 的额外信息,包括它们的状态、实现细节、相关拉取请求,以及社区反馈。*
-- [EIP.Fun](https://eipfun.substack.com/) — *EIP.Fun 提供关于以太坊改进提议 (EIP)、以太坊改进提议会议更新等等的最新消息。*
-- [EIPs Insight](https://eipsinsight.com/) — *EIPs Insight 根据从不同来源收集的信息,表示以太坊改进提议 (EIP) 流程和统计数据的状态。*
-
-## 参与 {#participate}
-
-任何人都可以创建以太坊改进提案。 提交提议之前,请务必阅读[ EIP-1](https://eips.ethereum.org/EIPS/eip-1),其中概述了以太坊改进提案流程以及如何编写以太坊改进提案,而且在[以太坊魔术师](https://ethereum-magicians.org/)论坛上征求反馈意见并首先与社区讨论提议,然后再提交提议草案。
-
-## 引用 {#references}
-
-
-
-网页内容部分来自 Hudson Jameson [以太坊协议开发治理和网络升级协调] (https://hudsonjameson.com/2020-03-23-ethereum-protocol-development-governance-and-network-upgrade-coordination/)
-
-
diff --git a/public/content/translations/zh/11) Roadmap/roadmap/beacon-chain/index.md b/public/content/translations/zh/11) Roadmap/roadmap/beacon-chain/index.md
deleted file mode 100644
index f0a0e1619bb..00000000000
--- a/public/content/translations/zh/11) Roadmap/roadmap/beacon-chain/index.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-title: 信标链
-description: 了解信标链 - 引入权益证明的以太坊升级。
-lang: zh
-template: upgrade
-image: /images/upgrades/core.png
-alt:
-summaryPoint1: 信标链为以太坊生态系统引入了权益证明机制。
-summaryPoint2: 信标链于 2022 年 9 月与原有的以太坊工作量证明链合并。
-summaryPoint3: 信标链引入了共识逻辑和区块广播协议,为当前的以太坊保驾护航。
----
-
-
- 信标链于 2020 年 12 月 1 日上线,并且在 2022 年 9 月 15 日完成合并升级,将权益证明正式确定为太坊的共识机制。
-
-
-## 什么是信标链? {#what-is-the-beacon-chain}
-
-信标链是 2020 年推出的原始权益证明区块链的名称。 它的创立是为了在以太坊主网上运行权益证明共识逻辑之前确保该逻辑是可靠且可持续的。 因此,它与原有的工作量证明以太坊一起运行。 信标链是一个由“空”区块组成的链,但在以太坊上停止工作量证明并启动权益证明,需要指示信标链接受来自执行客户端的交易数据,将它们打包到区块,再将区块组织到一条运行权益证明共识机制的区块链上。 与此同时,原有的以太坊客户端停止挖矿、区块传播及旧的共识逻辑,并将这一切转交给信标链。 这一事件称为[合并](/roadmap/merge/)。 在合并发生后,就不再有两个区块链。 相反,只有一个权益证明以太坊,现在每个节点需要两个不同的客户端。 信标链现在是共识层,一个处理区块消息和共识逻辑的共识客户端的点对点网络,而原始客户端形成执行层,负责传播消息和执行交易,以及管理以太坊的状态。 这两层可以使用引擎应用程序接口相互通信。
-
-## 信标链有什么作用? {#what-does-the-beacon-chain-do}
-
-信标链是在以太坊[质押人](/staking/)开始验证真实的以太坊区块之前管理和协调以太坊质押人网络的帐户账本的名称。 它不处理交易或智能合约交互,因为这些任务在执行层完成。 信标链负责处理区块和证明、运行分叉选择算法以及管理奖励和惩罚等。 要了解更多内容,请参阅我们的[节点架构页面](/developers/docs/nodes-and-clients/node-architecture/#node-comparison)。
-
-## 信标链的影响 {#beacon-chain-features}
-
-### 质押介绍 {#introducing-staking}
-
-信标链将[权益证明机制](/developers/docs/consensus-mechanisms/pos/)引入以太坊。 这保证了以太坊的安全,并在此过程中让验证者获得更多以太币。 在实际操作中,质押将需要质押以太币,以激活验证者软件。 作为质押人,你运行该软件并在链中创建和验证新区块。
-
-质押的目的和以前的[挖矿](/developers/docs/consensus-mechanisms/pow/mining/)相似,但又在很多方面不同。 挖矿的前期支出庞大,需要投入强大的硬件和消耗大量能源,从而产生规模经济并促进集中化。 挖矿也没有提出任何将资产锁定作为抵押品的要求,这限制了被攻击后协议惩罚不良行为者的能力。
-
-和工作量证明相比,过渡到权益证明让以太坊的安全性与去中心化得到显著提升。 参与该网络的人越多,网络去中心化程度越高,面临攻击时也越安全。
-
-采用权益证明共识机制为[我们现在拥有的安全、环保和可扩展的以太坊](/roadmap/vision/)奠定了基础。
-
-
- 如果你有兴趣成为验证者并帮助保护以太坊,请点击此处了解更多关于质押的信息。
-
-
-### 设置分片 {#setting-up-for-sharding}
-
-在信标链与最初的以太坊主网合并后,以太坊社区开始寻求扩展该网络。
-
-权益证明的优势是,在任何给定时间都有全部已批准的区块生产者的记录,每个区块生产者都质押了以太币。 这个记录不但为分开治理奠定了基础,还可靠地划分了具体的网络责任。
-
-这种责任与工作量证明形成对比,在工作量证明中,矿工对网络没有义务,可以立即停止挖矿并永久关闭其节点而不会受到任何影响。 而且,也没有已知区块提议者的记录,并且没有可靠的方法安全地划分网络责任。
-
-[有关分片的更多信息](/roadmap/danksharding/)
-
-## 升级间的关系 {#relationship-between-upgrades}
-
-以太坊的所有升级都存在一些关联。 所以我们来回顾一下信标链对其他升级的影响。
-
-### 信标链和合并 {#merge-and-beacon-chain}
-
-最初,信标链与以太坊主网相互独立,但两者在 2022 合并。
-
-
- 合并
-
-
-### 分片和信标链 {#shards-and-beacon-chain}
-
-只有在已建立权益证明共识机制的情况下,分片才能安全进入以太坊生态系统。 信标链引入了质押,它与主网“合并”,为分片铺平了道路,以帮助进一步扩展以太坊。
-
-
- 分片链
-
-
-## 延伸阅读
-
-- [有关以太坊未来升级的更多信息](/roadmap/vision)
-- [有关节点架构的更多信息](/developers/docs/nodes-and-clients/node-architecture)
-- [更多关于关权益证明的信息](/developers/docs/consensus-mechanisms/pos)
diff --git a/public/content/translations/zh/11) Roadmap/roadmap/future-proofing/index.md b/public/content/translations/zh/11) Roadmap/roadmap/future-proofing/index.md
deleted file mode 100644
index 6ac54869fc4..00000000000
--- a/public/content/translations/zh/11) Roadmap/roadmap/future-proofing/index.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title: 打造面向未来的以太坊
-description: 无论未来会发生什么,这些升级都可以增强以太坊,使其成为可以适应未来需求的有韧性、去中心化的基础层。
-lang: zh
-image: /images/roadmap/roadmap-future.png
-alt: "以太坊路线图"
-template: roadmap
----
-
-路线图的部分内容并不是对于以太坊的短期扩展或保护而言必不可少,但可以为以太坊长期稳定性和可靠性奠定基础。
-
-## 量子抗性 {#quantum-resistance}
-
-当量子计算成为现实时,一些目前用于保护以太坊安全的[加密技术](/glossary/#cryptography)将会受到威胁。 尽管量子计算机可能还需要几十年才能对现代加密技术构成真正的威胁,但以太坊的构建方式要保证以太坊在未来几个世纪内都保持安全。 这意味着要尽快使[以太坊具备量子抗性](https://consensys.net/blog/developers/how-will-quantum-supremacy-affect-blockchain/)。
-
-以太坊开发者面临的挑战是,当前的[权益证明](/glossary/#pos)协议依赖于一种称为 BLS 的非常高效的签名方案对有效[区块](/glossary/#block)的投票进行聚合。 这种签名方案会被量子计算机破解,但是具有量子抗性的替代方案没有那么高效。
-
-在以太坊的多个地方使用的、用于生成密码学密钥的[“KZG”承诺方案](/roadmap/danksharding/#what-is-kzg)面临量子计算时存在漏洞。 目前,这个问题是通过“可信设置”来规避的,即多个用户生成的随机性无法被量子计算机逆向工程。 然而,理想的解决方案就是采用量子安全加密技术。 可以替代 BLS 方案的高效方法主要有两种:[基于 STARK ](https://hackmd.io/@vbuterin/stark_aggregation)和[基于点阵的](https://medium.com/asecuritysite-when-bob-met-alice/so-what-is-lattice-encryption-326ac66e3175)签名方案。 **这些方案仍处在研究和原型开发阶段**。
-
- 阅读了解 KZG 和可信设置的相关内容。
-
-## 简化以太坊,提高以太坊效率 {#simpler-more-efficient-ethereum}
-
-复杂性会导致出现可以被攻击者利用的错误或漏洞。 因此,路线图的一部分是简化以太坊,并删除那些在各种升级后留存但不再需要或可以改进的代码。 更精简、更简单的代码库更容易被开发者维护和推理。
-
-我们将对[以太坊虚拟机 (EVM)](/developers/docs/evm)进行多项更新,使其更简单和更高效。 其中包括[删除 SELFDESTRUCT 操作码](https://hackmd.io/@vbuterin/selfdestruct),该命令很少使用、不再需要,并且在某些情况下使用可能会带来危险,特别是当与以太坊存储模型的其他未来升级结合时。 [以太坊客户端](/glossary/#consensus-client)仍然支持一些旧的交易类型,这些类型现在完全可以被删除。 [燃料费](/glossary/#gas)的计算方式也可以改进,并且可以引入更高效的算法来支持一些加密操作。
-
-同样,现有以太坊客户端的其他部分也可以进行更新。 例如,目前执行和共识客户端使用不同类型的数据压缩。 当整个网络统一压缩方案时,客户端之间共享数据将变得更加简单直观。
-
-## 当前进展 {#current-progress}
-
-打造面向未来的以太坊所需的大部分升级**仍处于研究阶段,并且可能需要数年时间**才能实现。 诸如删除 SELFDESTRUCT 和统一执行执行和共识客户端中所用压缩方案之类的升级,可能会比抗量子加密更快推出。
-
-**延伸阅读**
-
-- [燃料](/developers/docs/gas)
-- [EVM 以太坊虚拟机](/developers/docs/evm)
-- [数据结构](/developers/docs/data-structures-and-encoding)
diff --git a/public/content/translations/zh/11) Roadmap/roadmap/index.md b/public/content/translations/zh/11) Roadmap/roadmap/index.md
deleted file mode 100644
index ca85ec6087c..00000000000
--- a/public/content/translations/zh/11) Roadmap/roadmap/index.md
+++ /dev/null
@@ -1,119 +0,0 @@
----
-title: 以太坊路线图
-description: 提高以太坊可扩展性、安全性和可持续性的途径。
-lang: zh
-template: roadmap
-image: /images/heroes/roadmap-hub-hero.jpg
-alt: "以太坊路线图"
-summaryPoints:
-buttons:
- -
- label: 进一步升级
- toId: 即将发生什么变化
- -
- label: 以往升级
- href: /history/
- variant: 简要
----
-
-以太坊已经是一个强大的全球协调平台,但它仍在不断改进。 我们制定的一套雄心勃勃的改进措施,将使现有以太坊升级为一个可以完全扩展、具有最大弹性的平台。 以太坊路线图呈现了这些升级。
-
-**若要了解以太坊之前的升级,请访问我们的[历史记录](/history/)页面**
-
-## 以太坊将发生什么变化? {#what-changes-are-coming}
-
-以太坊路线图概述了以太坊未来将对协议作出的具体改进。 总的来说,该路线图将给以太坊用户带来以下好处:
-
-
-
-
-
-
-
-
-## 为什么以太坊需要一份路线图? {#why-does-ethereum-need-a-roadmap}
-
-以太坊定期升级,以提高可扩展性、安全性或可持续性。 以太坊的核心优势之一是随着研发产生的新颖想法不断进化。 这种适应性使以太坊得以灵活应对新出现的挑战,紧跟最先进的技术突破。
-
-
-
-因为协议的技术性很强,所以路线图主要是研究人员和开发者多年来工作的结果,但任何有意向的人都可以参与进来。 想法通常都始于论坛上的讨论,比如[ethresear.ch] (https://ethresear.ch/)、[以太坊魔术师] (https://ethereum-magicians.org/) 或者以太坊研发 discord 服务器。 它们可能是对新发现的漏洞的响应、来自从事于应用程序层的组织(例如[去中心化应用程序] (/glossary/#dapp) 和交易所)的建议或终端用户面临的已知问题(例如费用或交易速度)。 这些想法一旦成熟,就可以作为 [以太坊改进建议](https://eips.ethereum.org/) 提出。 整个过程都是公开进行的,社区的任何人可以随时发表意见。
-
-[更多关于以太坊治理的信息](/governance/)
-
-
-
-
- ETH2 是什么?
-
- 在以太坊过渡到权益证明之前,“Eth2”(以太坊 2)一词通常用于描述以太坊的未来,但它已被逐步淘汰,取而代之的是更准确的术语。该术语最初被用于区分过渡到权益证明之前和之后的以太坊网络,有时也用于指代不同的以太坊客户端(执行客户端有时称为以太坊 1 客户端,而共识客户端有时称为以太坊 2 客户端)。
-
-
-
-## 以太坊路线图是否会随着时间的推移而改变? {#will-ethereums-roadmap-change-over-time}
-
-**是的,几乎肯定会**。 路线图是目前的以太坊升级计划,涵盖近期计划和未来计划。 我们预计路线图会随着新的信息和技术的出现而改变。
-
-将以太坊路线图视为改进以太坊的一整套计划;这是研究人员和开发人员针对以太坊最优发展道路做出的最佳假设。
-
-## 路线图将何时完成? {#when-will-the-roadmap-be-finished}
-
-一些升级的优先级较低,因此在接下来的 5-10 年内可能不会实施(例如量子抗性)。 由于许多路线图项目是以不同速度并行开发的,我们**很难准确预测每次升级的时间**。 随着时间的推移,升级的紧迫性也可能由于外部因素而发生变化(例如,量子计算机的性能和可用性突飞猛进可能会使抗量子计算加密技术的紧迫性提高)。
-
-思考以太坊发展的一种方法是类比生物进化。 虽然随着网络的性能、可扩展性和安全性越来越强,需要对协议进行的更改越来越少,但一个能够适应新挑战和保持健康的网络仍然比抗拒变化的网络更有可能成功。
-
-## 升级时我要做什么吗? {#do-i-have-to-do-anything-when-there-is-an-upgrade}
-
-升级往往不会对最终用户产生影响,除非提供更好的用户体验、更安全的协议以及更多与以太坊互动的选项。 **普通用户既不需要积极参与升级,也不需要采取任何行动**来保护他们的资产。 [节点](/glossary/#node)运营者需要更新他们的客户端来为升级做准备。 某些升级可能导致应用程序开发者作出更改。 例如,历史数据到期升级可能需要应用开发者从新的来源获取历史数据。
-
-## Verge、Splurge 等升级是什么? {#what-about-the-verge-splurge-etc}
-
-[Vitalik Buterin 提出了以太坊线路图](https://twitter.com/VitalikButerin/status/1741190491578810445)的愿景,根据对以太坊架构的影响,该路线图分为几个类别。 其中包括:
-
-- **Merge**:涉及从[工作量证明](/glossary/#pow)过渡到[权益证明](/glossary/#pos)的升级
-- **Surge**:涉及通过[卷叠](/glossary/#rollups)和数据分片进行扩展的升级
-- **Scourge**:涉及与抗审查、去中心化和[最大可提取价值](/glossary/#mev)的协议风险相关的升级
-- **Verge**:涉及更轻松地验证[区块](/glossary/#block)的升级
-- **Purge**:涉及降低运行节点的计算成本和简化协议的升级
-- **Splurge**:不属于上述类别的其他升级。
-
-我们决定不使用这些术语,因为我们希望使用更简单、更以用户为中心的模型。 虽然我们使用是以用户为中心的语言,但我们的愿景仍与 Vitalik 提出的愿景相同。
-
-## 什么是分片? {#what-about-sharding}
-
-分片是指将以太坊区块链分割开来,让一部分[验证者](/glossary/#validator)只负责所有数据的一小部分。 这最初是用于扩展以太坊的一种方式。 然而,[二层网络](/glossary/#layer-2)卷叠的发展速度远远快于预期,已经实现了大量扩容,并且在 Proto-Danksharding 实施后还将提供更多扩容。 这意味着不再需要"分片链",因此已将其从路线图中删除。
-
-## 正在寻求特定技术升级? {#looking-for-specific-technical-upgrades}
-
-- [Danksharding](/roadmap/danksharding) - Danksharding 通过向以太坊区块添加二进制大对象数据,为用户大大降低二层网络卷叠成本。
-- [质押提款](/staking/withdrawals) - 上海/卡佩拉升级启用了以太坊质押提款,允许用户解锁质押的以太币。
-- [单时隙最终确定性](/roadmap/single-slot-finality) - 让区块可以在同一时隙内提出和最终确定,无需等待 15 分钟。 这提高了应用程序的便利性,大大增加了攻击难度。
-- [提议者-构建者分离方案](/roadmap/pbs) - 将区块构建和区块提出工作分给不同验证者,为以太坊达成共识提供了一种更公平、更抗审查和更高效的方式。
-- [秘密领袖选举](/roadmap/secret-leader-election) - 采用巧妙的加密技术可以确保当前区块提议者的身份不被公开,从而保护他们免受某些类型的攻击。
-- [帐户抽象](/roadmap/account-abstraction) - 帐户抽象是一种在以太坊上为智能合约钱包提供本地支持而不必使用复杂中间件的升级。
-- [沃克尔树](/roadmap/verkle-trees) - 沃克尔树是一种数据结构,可用于在以太坊上启用无状态客户端。 这些“无状态”客户端只需要很小的存储空间,但仍然能够验证新的区块。
-- [无状态性](/roadmap/statelessness) - 无状态性客户端将能验证新区块,并且无需存储大量数据。 这可以为运营节点带来很多好处,而成本仅为目前成本的一小部分。
diff --git a/public/content/translations/zh/11) Roadmap/roadmap/merge/index.md b/public/content/translations/zh/11) Roadmap/roadmap/merge/index.md
deleted file mode 100644
index 9e5acd2856a..00000000000
--- a/public/content/translations/zh/11) Roadmap/roadmap/merge/index.md
+++ /dev/null
@@ -1,229 +0,0 @@
----
-title: 合并
-description: 了解合并 - 以太坊主网何时采用权益证明机制。
-lang: zh
-template: upgrade
-image: /images/upgrades/merge.png
-alt:
-summaryPoint1: 以太坊主网采用权益证明机制,但情况并非一直如此。
-summaryPoint2: 从原有的工作量证明机制过渡到权益证明机制的升级称为合并。
-summaryPoint3: 合并是指原有的以太坊主网与单独的权益证明区块链(即信标链)合并,现已成为一条链。
-summaryPoint4: 合并将使以太坊的能源消耗减少大约 99.95%。
----
-
-
- 合并于 2022 年 9 月 15 日执行, 它完成了以太坊向权益证明共识的过渡,以太坊正式弃用了工作量证明并将能源消耗减少了约 99.95%。
-
-
-## 什么是合并? {#what-is-the-merge}
-
-合并是指以太坊的原有执行层(从[创世块](/history/#frontier)开始就一直存在的主网)加入其新的权益证明共识层,即信标链。 合并摒弃了消耗大量能源的挖矿,而是通过质押以太币来保护网络的安全。 这是实现以太坊愿景 — 可扩展性、安全性和可持续性更强 — 这一过程中真正激动人心的一步。
-
-
-
-[信标链](/roadmap/beacon-chain/)最初是与[主网](/glossary/#mainnet)分开上线的。 以太坊主网(所有帐户、余额、智能合约和区块链状态)仍继续由[工作量证明](/developers/docs/consensus-mechanisms/pow/)保护,即便与此同时,与之一起运行的信标链采用[权益证明](/developers/docs/consensus-mechanisms/pos/)。 合并是指这两个系统最终整合在一起之时,而工作量证明被权益证明永久取代。
-
-想象一下,以太坊是一艘还没有完全准备好进行星际航行的就已经起飞的宇宙飞船。 借助信标链,社区构建了新的引擎和坚固的外壳。 经过大量测试,是时候在飞行途中通过“热插拔”用新引擎更换旧引擎了。 将新的、更高效引擎装入现有飞船后,飞船就能够开始许多光年的航行并占领整个宇宙。
-
-## 与主网合并 {#merging-with-mainnet}
-
-直到合并之前,工作量证明一直保护着以太坊主网的安全。 这使得我们都习惯的以太坊区块链在 2015 年 7 月诞生,并且具有我们熟悉的所有功能 — 交易、智能合约、帐户等等。
-
-纵观以太坊的历史,开发人员一直在为从工作量证明到权益证明的最终过渡做准备。 信标链于 2020 年 12 月 1 日创建,它作为独立的区块链与主网一起运行。
-
-信标链最开始并不处理主网上的交易。 而是通过对活跃的验证者及其帐户余额达成一致来就自己的状态达成共识。 经过广泛测试后,是时候让信标链就真实数据上达成共识了。 合并后,信标链将成为所有网络数据的共识引擎,包括执行层交易和帐户余额。
-
-合并代表正式转变成使用信标链作为区块生产引擎。 挖矿将不再是生产有效区块的手段。 而是由权益证明验证者承担这个角色,并且现在负责处理所有交易的有效性及提出区块。
-
-历史记录不会在合并中丢失。 随着主网与信标链合并,它还合并以太坊的整个交易历史记录。
-
-
-这种向权益证明的过渡改变了以太币的发行方式。 了解有关合并前后以太币发行的更多信息。
-
-
-### 用户与持有者 {#users-holders}
-
-**对于持有者/用户而言,合并不会带来任何变化。**
-
-_再次提醒:_作为以太币或以太坊上任何其他数字资产的用户或持有者,以及非节点运营的质押人,**不需要在合并之前对你的资金或钱包做任何事情以加入合并。**以太币还是以太币。 没有像“旧以太币”/“新以太币”或“以太坊 1”/“以太坊 2”这样说法,钱包在合并前后的工作方式一样 — 告诉你其他说法人很可能是骗子。
-
-虽然权益证明替代了工作量证明,但是以太坊自创世块以来的全部历史记录都完整保留且没有改变。 合并前你钱包里的所有资金在合并后仍可使用。 **你不需要采取任何行动来升级。**
-
-[有关以太坊安全的更多内容](/security/#eth2-token-scam)
-
-### 节点运营商与去中心化应用程序开发者 {#node-operators-dapp-developers}
-
-
-
-主要操作项目包括:
-
-1. 同时运行共识层客户端和执行层客户端;合并之后,获取执行数据的第三方端点将不可用。
-2. 使用共享 JWT 密钥对执行层和共识层客户端进行身份验证,以便它们能够安全地通信。
-3. 设置“费用接收人”地址,以接收你赚取的交易费的小费/矿工可提取价值。
-
-如果没有完成上述操作的前两项,会导致你的节点被视为“离线”,直到这两层都完成同步和身份验证。
-
-不设置“费用接收人”将仍然允许验证者像往常一样运行,但你将无法获得交易费小费和矿工可提取价值,这些你原本可以在你的验证者提出的区块中赢得。
-
-
-
-
-在合并之前,执行层客户端(比如 Geth、Erigon、Besu 或 Nethermind)足以接收、正确验证和传播由网络传播的区块。 合并之后,包含在执行负载中的交易的有效性也将取决于包含它的“共识区块”的有效性。
-
-因此,一个完整的以太坊节点现在同时需要执行层客户端和共识层客户端。 这两种客户端使用一个新的引擎应用程序接口协同工作。 该引擎应用程序接口需要使用 JWT 密钥进行身份验证,密钥提供给两种客户端以允许安全通信。
-
-主要行动项目包括:
-
-- 除了安装执行客户端外,还需要安装共识客户端
-- 使用共享的 JWT 秘钥对执行客户端和共识客户端进行身份验证,以便它们可以安全地彼此通信。
-
-如果不能及时完成上述项目,在合并之后你的节点会显示为“离线”,直到两层都同步并通过身份验证。
-
-
-
-
-
-合并导致共识层发生变化,其中还包括以下方面的变化:<
-
-
- - 区块结构
- - 时隙/区块时间
- - 操作码变化
- - 链上随机性的来源
- - 安全头部区块 和最终确定区块的概念
-
-
-有关详细信息,请查看 Tim Beiko 的博客文章“合并对以太坊的应用程序层有何影响”。
-
-
-
-## 合并和能源消耗 {#merge-and-energy}
-
-合并标志着以太坊工作量证明的终结,从此以太坊进入一个可持续性更强、更加环保的时代。 以太坊的能耗预计会下降 99.95%,这使得以太坊成为一个绿色环保的区块链。 了解有关[以太坊能源消耗](/energy-consumption/)的更多信息。
-
-## 合并与扩容 {#merge-and-scaling}
-
-合并还为工作量证明下无法实现的进一步可扩展性升级奠定了基础,使以太坊距离实现[以太坊愿景](/roadmap/vision/)中概述的全面可扩展、安全性和可持续性更近一步。
-
-## 合并的误区 {#misconceptions}
-
-
-
-以太坊节点有两种类型:可以提议区块的节点和不能提议区块的节点。
-
-可以提议区块的节点只占以太坊节点总数的一小部分。 这类节点包括工作量证明 (PoW) 下的挖矿节点和权益证明 (PoS) 下的验证者节点。 该类别需要投入经济资源(例如工作量证明中的图形处理单元哈希算力或权益证明中的质押以太币),以换取有时提出下一个区块并获得协议奖励的能力。
-
-网络上的其他节点(例如大部分节点)不需要投入任何经济资源,只需一台有着 1 到 2 TB的可用存储空间并且可以连接互联网的消费级计算机即可。 这些节点不提出区块,但它们仍然在网络安全中扮演着关键的角色,通过监听新的区块,在区块到达时根据网络共识规则验证它们的有效性,并对所有的区块产出负责任。 如果区块是有效的,节点将继续通过网络传播它。 如果区块出于任何原因无效,节点软件将会忽略它将他视为无效区块并停止传播。
-
-在任一共识机制(工作量证明或权益证明)下,任何人都可以运行非区块生产节点;我们强烈建议所有有能力的用户都这样做。 运行一个节点对以太坊非常有价值,并为任何运行节点的个人提供额外的好处,如改进的安全性、隐私性和抗审查性。
-
-让任何人都拥有运行自己的节点的能力对于维持以太坊网络的去中心化极其重要。
-
-更多关于运行你自己的节点的信息
-
-
-
-
-
-燃料费用是网络需求受限于网络容量的产物。 合并弃用了工作量证明,过渡到权益证明共识机制,但这并不会明显改变直接影响网络容量和吞吐量的任何参数。
-
-根据以卷叠为中心的路线图,工作重点是扩展用户在二层网络的活动,同时使一层主网成为安全的去中心化结算层,针对卷叠数据存储进行优化,帮助迅速降低卷叠交易费用。 转变成权益证明机制是实现这一点的关键先导步骤。 更多关于燃料和费用的信息。
-
-
-
-
-交易的“速度”可用多种方式衡量,既可以是入块时间,也可以是最终确定的时间。 这些变化都是很轻微的,用户不会注意到
-
-以前,工作量证明机制的目标是每 13.3 秒产生一个新的区块。 在权益证明机制下,时隙每 12 秒精确出现一次,每个时隙都是验证者发布区块的机会。 大多数时隙都有区块产出,但不一定全部都有(即验证者离线)。 在权益证明机制下,区块的产生频率比工作量证明下提升了约 10%。 这是一个相当微不足道的变化,用户不太可能注意到。
-
-权益证明引入了以前不存在的交易最终确定概念。 在工作量证明机制下,回滚一个区块的难度将随着在它之后因交易产生的区块数目的增加而呈指数增长,但这个难度却永远不会归零。 在权益证明机制下,区块打包在一起放入由验证者投票的时段中,时段为 6.4 分钟的时间跨度,包含 32 次出块机会。 当一个时段结束时,验证者投票来决定是否认为该时段“合理”。 如果验证者同意证明该时段的合理性,它将在下一个时段中最终确定。 撤销最终确定的交易在经济上是不可行的,因为它需要获得并销毁超过 1/3 的质押以太币总量。
-
-
-
-
-
-在刚刚合并后,质押者只能获得因提议区块而赚取的小费和最大可提取价值。 这些奖励会被记入由验证者(称为费用接收者)控制的非质押帐户,并可以立即获得。 这些奖励与因履行验证者职责而获得的协议奖励区分开。
-
-在上海/卡佩拉网络升级后,质押者现在可以指定一个提款地址,开始接收自动支付的任何超额质押余额(协议奖励中超过 32 以太币的部分)。 这次升级还使验证者可以在退出网络时解锁并收回全部余额。
-
-更多关于质押提款的信息
-
-
-
-
-上海/卡佩拉升级启用提款功能后,我们鼓励所有验证者将超过 32 以太币的质押余额提取出来,因为这些资金不会增加收益并且不提取还会被锁定。 根据年化利率(由质押的以太币总量决定),验证者可能会退出以提取他们的全部余额,或者使用他们的奖励增加质押,以赚取更多收益。
-
-这里有一项重要限制,协议对验证者的退出速度设置了限制,每个时段只允许退出一定数量的验证者(每 6.4 分钟退出 1 个)。 这一限制会根据活跃验证者的数量浮动,但每天可以退出网络的验证者数量为质押以太币总数的大约 0.33%。
-
-这样可以防止质押资金大规模流出。 另外,还可以防止掌握一大部分质押以太币总量的潜在攻击者进行可遭致罚没的行为,然后在同一时段、协议能够执行罚没之前退出/提取违规所得的所有验证者余额。
-
-以太坊故意将年化利率设置为动态,以便市场上的质押人权衡他们愿意为保护网络付出多少资金。 如果利率过低,验证者将按照协议限制的速度退出。 这样会逐渐提高所有留下来的验证者的年化利率,从而吸引新的质押人加入或者退出的质押人回归。
-
-
-## “以太坊 2”发生了什么? {#eth2}
-
-“以太坊 2”一词已弃用。 在将“以太坊 1”和“以太坊 2”合并为一条链之后,将不再需要区分两个不同 的以太坊网络;只有以太坊。
-
-为了减少混乱,社区更新了这些条款:
-
-- “以太坊 1”现在是处理交易和执行的“执行层”。
-- “以太坊 2”现在是处理权益证明共识的“共识层”。
-
-这些术语的更新仅会改变命名约定;不会改变以太坊的目标及路线图。
-
-[了解有关“以太坊 2”重命名的更多信息](https://blog.ethereum.org/2022/01/24/the-great-eth2-renaming/)
-
-## 升级间的关系 {#relationship-between-upgrades}
-
-以太坊所有升级都存在一些关联。 因此,让我们回顾一下合并与其他升级的关系。
-
-### 合并与信标链 {#merge-and-beacon-chain}
-
-合并表示正式采用信标链作为原有主网执行层的新共识层。 合并之后,将分配验证者以保护以太坊主网的安全,[工作量证明](/developers/docs/consensus-mechanisms/pow/)机制下的挖矿将不再是有效的区块生产方式。
-
-相反,区块由验证节点提出,验证节点质押以太币以获得参与共识的权利。 这些升级为未来的可扩展性升级(包括分片)奠定了基础。
-
-
- 信标链
-
-
-### 合并与上海升级 {#merge-and-shanghai}
-
-为了简化并确保顺利过渡到权益证明,合并升级没有包括某些预期的功能,如提取质押以太币的功能。 该功能是通过上海/卡佩拉升级单独启用的。
-
-如果感兴趣,请参阅 Vitalik 在 2021 年 4 月的 ETHGlobal 活动中发表的演讲“[合并后会发生什么](https://youtu.be/7ggwLccuN5s?t=101)”,了解更多信息。
-
-### 合并与分片 {#merge-and-data-sharding}
-
-最初的计划是在合并之前进行分片,以解决可扩展性问题。 然而,随着[二层网络扩容解决方案](/layer-2/)方兴未艾,工作重点已经变成首先从工作量证明过渡到权益证明。
-
-分片计划正在迅速发展,但随着扩展交易执行的二层网络技术的兴起和成功,分片计划已变为寻找最佳的负载分配方式,来存储来自卷叠合约中的压缩调用数据,这使得网络容量呈指数级增长。 如果不先过渡到权益证明,这是不可能的。
-
-
- 分片
-
-
-## 延伸阅读 {#further-reading}
-
-
-
-
diff --git a/public/content/translations/zh/11) Roadmap/roadmap/merge/issuance/index.md b/public/content/translations/zh/11) Roadmap/roadmap/merge/issuance/index.md
deleted file mode 100644
index 2a80fb9bd10..00000000000
--- a/public/content/translations/zh/11) Roadmap/roadmap/merge/issuance/index.md
+++ /dev/null
@@ -1,134 +0,0 @@
----
-title: 合并如何影响以太币供应
-description: 分析合并是如何影响以太币供应的
-lang: zh
----
-
-# 合并是如何影响以太币供应的 {#how-the-merge-impacts-ETH-supply}
-
-合并发生在 2022 年 9 月,是指以太坊网络从工作量证明过渡到权益证明。 过渡期间,以太币的发行方式发生了改变。 以前,新以太币主要有两个发行来源:执行层(即 主网)和共识层(即 信标链)。 合并后,执行层的发行量目前为 0。 下面,我们进行详细分析。
-
-## 以太币发行的组成部分 {#components-of-eth-issuance}
-
-我们可以把以太币的供应分为两个主要因素:发行和销毁。
-
-以太币的**发行**是指创建以前不存在的以太币的过程。 以太币的**销毁**是指将现有以太币销毁使其退出流通的过程。 发行和销毁比率依据几个参数来计算,它们之间的平衡决定了以太币的通胀/通缩率。
-
-
-
-- 在过渡到权益证明之前,大约每天向矿工发行 13,000 个以太币
-- 根据 1,400 万以太币质押总量,大约每天向质押人发行 1,700 个以太币
-- 实际的质押发行量根据以太币质押总量波动
-- **合并后,每天只发行大约 1,700 个以太币,将新以太币总发行量降低大约 88%**
-- 销毁:根据网络需要波动。 如果某一天的平均燃料价格至少为 16 Gwei,就能有效抵消发行给验证者的大约 1,700 个以太币,使当天以太币的净通胀率为 0 或更低。
-
-
-
-## 合并前(历史情况) {#pre-merge}
-
-### 执行层发行 {#el-issuance-pre-merge}
-
-在工作量证明下,矿工只和执行层交互,并且如果他是第一个提出下一个区块的矿工,则会获得区块奖励。 在 2019 年的[君士坦丁堡升级](/history/#constantinople)后,这种奖励是每个区块 2 个以太币。 而且,矿工发布[叔块](/glossary/#ommer)也会得到奖励,叔块是在最长链/规范链之外的有效区块。 每个叔块的最高奖励是 1.75 个以太币,_此外_,还有来自规范区块的奖励。 挖矿过程是一种经济密集型活动,历来需要大量发行以太币才能维持。
-
-### 共识层发行 {#cl-issuance-pre-merge}
-
-[信标链](/history/#beacon-chain-genesis)在 2020 年上线。 它由验证者使用权益证明保证安全,而非矿工。 信标链是通过以太坊用户将以太币单向存入主网(执行层)上的智能合约驱动的,信标链会侦听主网并在新链上为用户记入相同数量的以太币。 合并发生前,信标链的验证者并不处理交易,他们本质上是就验证者池的状态达成共识。
-
-信标链上的验证者在证明链的状态和提出区块时,会获得以太币奖励。 在每个时段(每 6.4 分钟),会根据验证者的表现计算和分配奖励(或惩罚)。 验证者的奖励**明显**少于之前工作量证明下提供的挖矿奖励(大约每 13.5 秒 2 个以太币),因为运行验证者节点并不是经济密集活动,因此不需要或不应该有那么高的奖励。
-
-### 合并前发行分析 {#pre-merge-issuance-breakdown}
-
-以太币总供应量:**大约 120,520,000 个以太币**(在 2022 年 9 月合并时)
-
-**执行层发行:**
-
-- 估计每 13.3 秒 2.08 个以太币\*:一年发行**大约 4,930,000** 个以太币
-- 造成的通胀率**大约为 4.09%**(每年 493 万个以太币/1.205 亿以太币总量)
-- \*包括了每个规范区块 2 个以太币,以及发布叔块后一段时间的平均 0.08 个以太币。 同样使用了 13.3 秒,即不受[难度炸弹](/glossary/#difficulty-bomb)任何影响的基本出块时间目标。 ([查看来源](https://bitinfocharts.com/ethereum/))
-
-**共识层发行:**
-
-- 按总质押量 14,000,000 个以太币计,以太币的发行率大约是 1,700 个以太币/天([查看来源](https://ultrasound.money/))
-- 因此一年发行**大约 620,500** 个以太币
-- 因此通胀率**大约是 0.52%**(每年 62.06 万个/总共 1.193 亿个)
-
-
-总计年化发行率(合并前):大约 4.61% (4.09% + 0.52%)
-大约 88.7% 的发行量会给执行层上的矿工 (4.09 / 4.61 * 100)
-大约 11.3% 的发行量会给共识层上的质押人 (0.52 / 4.61 * 100)
-
-
-## 合并后(现状) {#post-merge}
-
-### 执行层发行 {#el-issuance-post-merge}
-
-合并后,执行层的发行量为 0。 在升级后的共识层规则下,工作量证明不再是有效的区块产生方法。 所有执行层活动都被打包到“信标区块”中,后者由权益证明验证者发布和证明。 证明和发布信标区块的奖励在共识层单独核算。
-
-### 共识层发行 {#cl-issuance-post-merge}
-
-共识层发行与合并前一样继续进行,为证明和提出区块的验证者提供少量奖励。 验证者奖励继续计入在共识层上管理的_验证者余额_。 与可以在以太坊主网上交易的当前帐户(“执行”帐户)不同,这些单独的以太坊帐户无法自由地与其他以太坊帐户进行交易。 这些帐户中的资金只能提取到一个指定的执行地址。
-
-自 2023 年 4 月上海/卡佩拉升级以来,这些提款操作已经对质押人开放。 我们将鼓励质押人提取他们的_收益/奖励(超过 32 个以太币的余额)_,因为即便不提取,这些资金也不会增加他们的质押权重(最大值 32)。
-
-质押人也可以选择退出并提取他们的全部验证者余额。 为了确保以太坊稳定,对同时离开的验证者数量设置了上限。
-
-在一天内可以退出的验证者数量大约为全部数量的 0.33%。 默认每个时段可以退出四 (4) 个验证者(每 6.4 分钟退出一个,或每天退出 900 个)。 每增加 65,536(216) 个额外验证者,就允许多一个 (1) 验证者退出,但此规则仅适用于超过 262,144(218) 个验证者时。 例如,如果验证者数量超过 327,680,那么每个时段可以有五 (5) 个验证者退出(每天退出 1,125 个)。 当总活跃验证者数量超过 393,216 个时,可以有六 (6) 个验证者退出,以此类推。
-
-随着越来越多的验证者提款,退出验证者的最高数量会逐步减少至最少 4 个,意在防止大量质押的以太币被同时提取,导致网络不稳定。
-
-### 合并后的通胀分析 {#post-merge-inflation-breakdown}
-
-- 总以太币供应:**~120,520,000 以太币** (在2022年9月合并的时候)
-- 执行层发行量:**0**
-- 共识层发行量:同上,年化发行率**大约 0.52%**(质押总量为 1400 万个以太币)
-
-
-总计年化发行率:大约 0.52%
-每年以太币发行量净减少:大约 88.7% ((4.61% - 0.52%) / 4.61% * 100)
-
-
-## 销毁 {#the-burn}
-
-针对以太币发行的反制因素是以太币销毁率。 为了在以太坊上执行交易,必须支付最低费用(称为“基础费”),基础费随网络活动持续波动(区块到区块)。 该费用使用以太币支付,为了让交易有效_必须_支付。 基础费在交易过程中_销毁_并退出流通。
-
-
-费用销毁在 2021 年 8 月的伦敦升级后上线,在合并后保持不变。
-
-
-除了伦敦升级实现的费用销毁外,验证者也会因为离线受到惩罚,更糟糕的情况是,他们可能会因为违反某些规则致使网络安全受到威胁而被罚没。 这些惩罚导致验证者的以太币余额减少,罚没金额不会直接奖励给任何其他帐户,而是真正地销毁/退出流通。
-
-### 计算应对通紧的平均燃料价格 {#calculating-average-gas-price-for-deflation}
-
-如上述讨论,一天中以太币的发行量取决于质押的以太币总量。 在撰写本文时,发行量大约是 1700 个以太币/天。
-
-为了确定在指定 24 小时内完全抵消发行量所需的平均燃料价格,首先计算一天中的区块总数,假定出块时间是 12 秒:
-
-- `(1 个区块/12秒) * (60 秒/分钟) = 5 个区块/分钟`
-- `(5 个区块/分钟) * (60 分钟/小时) = 300 个区块/小时`
-- `(300 个区块/小时) * (24 小时/天) = 7200 个区块/天`
-
-每个区块的目标是 `15x10^6 gas/block`([有关燃料的更多信息](/developers/docs/gas/))。 通过这些,我们可以计算出抵消发行量所需的平均燃料价格(以 Gwei/燃料 为单位),假设每天的以太币总发行量是 1700 个以太币:
-
-- `7200 blocks/day * 15x10^6 gas/block *`**`Y gwei/gas`**`* 1 ETH/ 10^9 gwei = 1700 ETH/day`
-
-对 `Y` 求解:
-
-- `Y = (1700(10^9))/(7200 * 15(10^6)) = (17x10^3)/(72 * 15) = 16 gwei`(四舍五入到两位有效数字)
-
-另一种改变最后一步的方法是用变量 `X` 代替 `1700`,X 表示以太币日发行量,然后把其余部分简化为:
-
-- `Y = (X(10^3)/(7200 * 15)) = X/108`
-
-我们可以把它简化成 `X` 的函数:
-
-- `f(X) = X/108`,其中 `X` 是以太币日发行量,`f(X)` 代表抵消全部新发行的以太币所需的 Gwei 燃料价格。
-
-所以,如果根据质押的以太币总量 `X`(以太币日发行量)增加到 1800,则 `f(X)`(抵销所有发行量所需的 gwei)为 `17 gwei`(取两位有效数字)
-
-## 延伸阅读 {#further-reading}
-
-- [合并](/roadmap/merge/)
-- [Ultrasound.money](https://ultrasound.money/) - _实时显示以太币的发行和销毁的仪表板_
-- [绘制以太坊发行图表](https://www.attestant.io/posts/charting-ethereum-issuance/) - _Jim McDonald,2020 年_
diff --git a/public/content/translations/zh/11) Roadmap/roadmap/scaling/index.md b/public/content/translations/zh/11) Roadmap/roadmap/scaling/index.md
deleted file mode 100644
index 7488ee43ed2..00000000000
--- a/public/content/translations/zh/11) Roadmap/roadmap/scaling/index.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-title: 以太坊扩容
-description: 卷叠链下批量处理交易,从而降低用户的成本。 然而,目前卷叠使用数据的方法过于昂贵,这限制了交易费用的降低。 Proto-Danksharding 解决了这个问题。
-lang: zh
-image: /images/roadmap/roadmap-transactions.png
-alt: "以太坊路线图"
-template: roadmap
----
-
-以太坊使用[二层](/layer-2/#rollups)网络(也称为“卷叠”)进行扩展,卷叠批量处理交易并将结果发送到以太坊上。 尽管卷叠比以太坊主网便宜多达八倍,但还可以进一步优化,以降低最终用户的成本。 卷叠还依赖于一些中心化的组件,随着卷叠的成熟,开发者可以逐步移除这些组件。
-
-
-
- - 目前,卷叠比以太坊一层网络便宜大约 5-20 倍
- - 零知识卷叠将很快把费用降低约 40-100 倍
- - 即将进行的以太坊变更会再次扩容 100-1000 倍
- - 用户将从中受益,交易成本降至不足 0.001 美元
-
-
-
-## 让数据更实惠 {#making-data-cheaper}
-
-卷叠会收集、执行大量的交易,并将结果提交到以太坊。 这会生成大量数据,这些数据需要公开,以便任何人都能执行交易并验证卷叠运营商的诚实性。 如果有人发现交易有出入,就会提出质疑。
-
-### Proto-Danksharding {#proto-danksharding}
-
-过去卷叠数据永久存储在以太坊上,这导致费用高昂。 用户在卷叠中支付的超过 90% 的交易费用是由于这种数据存储造成的。 为了减少交易费用,我们可以将数据转移到新的临时“二进制大对象”中存储。 由于二进制大对象不是永久性存储,所以相对便宜。一旦不再需要这些数据,可以将它们从以太坊中删除。 长期存储卷叠数据成为需要者的责任,例如卷叠运营者、交易所、索引服务等。 向以太坊添加数据块交易是被称作“Proto-Danksharding”的升级的一部分。
-
-使用 Proto-Danksharding,可以向以太坊区块中添加许多二进制大对象。 这会进一步大幅(>100 倍)提高以太坊吞吐量、降低交易费用。
-
-### Danksharding {#danksharding}
-
-扩展二进制大对象数据的第二阶段非常复杂,因为它需要以新的方式检查卷叠数据在网络上的可用性,并依赖[验证者](/glossary/#validator)来分离他们的[区块](/glossary/#block)构建和区块提议责任。 同时,它还需要以一种加密方式证明验证者已验证二进制大对象数据的小子集。
-
-这个第二步名为[“Danksharding”](/roadmap/danksharding/)。 **它可能需要几年时间**才能完全实现。 Danksharding 依赖于其他开发工作,例如[分离区块构建和区块提出](/roadmap/pbs),以及进行新网络设计,让网络能够通过一次性随机采样少许千字节数据即可高效确认数据可用性,这称为“[数据可用性采样 (DAS)](/developers/docs/data-availability)”。
-
-更多关于 Danksharding 的信息
-
-## 去中心化卷叠 {#decentralizing-rollups}
-
-[卷叠](/layer-2)已经在对以太坊扩容。 一个[丰富的卷叠项目生态系统](https://l2beat.com/scaling/tvl)正在使用户能够在一系列安全保证下快速和低成本地进行交易。 然而,卷叠目前是通过中心化的排序者(在提交给以太坊之前进行所有交易处理和聚合的计算机)来引导的。 这容易审查,因为这些排序运营商可能会受到制裁、受贿、或因其他原因妥协。 与此同时,[卷叠在验证传入数据的方式上也存在差异](https://l2beat.com)。 最好的方法是让“验证者”提交[欺诈证明](/glossary/#fraud-proof)或有效性证明,但不是所有卷叠都实现了这一点。 甚至那些使用了有效性/欺诈证明的卷叠也仅使用少数已知的证明者。 因此,以太坊扩容的下一个重要步骤是向更多人分配运行排序者和证明者的责任。
-
-更多关于卷叠的信息
-
-## 当前进展 {#current-progress}
-
-Proto-Danksharding 是这些路线图项目中首个要实现的项目,将作为 2024 年 3 月的 Cancun-Deneb (“Dencun”)网络升级的一部分实现。 由于完整 Danksharding 依赖于其他几个路线图项目首先完成,所以**距离其实现可能仍需数年时间**。 卷叠基础设施去中心化很可能是一个渐进过程 - 存在许多不同的卷叠,它们正在建立的系统略有不同,并且完全去中心化的速度也不同。
-
-[更多关于 Dencun 网络升级的信息](/roadmap/dencun/)
-
-
diff --git a/public/content/translations/zh/11) Roadmap/roadmap/security/index.md b/public/content/translations/zh/11) Roadmap/roadmap/security/index.md
deleted file mode 100644
index 58f254d63ce..00000000000
--- a/public/content/translations/zh/11) Roadmap/roadmap/security/index.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title: 更安全的以太坊
-description: 以太坊是现有的最安全和去中心化的智能合约平台。 不过,我们仍有改进空间,从而确保以太坊能够抵御未来任何程度的攻击。
-lang: zh
-image: /images/roadmap/roadmap-security.png
-alt: "以太坊路线图"
-template: roadmap
----
-
-**以太坊已经是一个非常安全的**去中心化[智能合约](/glossary/#smart-contract)平台。 然而,我们仍可以进行一些改进,以确保以太坊能够抵御未来各种攻击。 这些改进包括对[以太坊客户端](/glossary/#consensus-client)处理竞争[区块](/glossary/#block)的方式进行微调,以及提高网络认为区块[“最终确定”](/developers/docs/consensus-mechanisms/pos/#finality)(这意味着在不对攻击者造成巨大经济损失的情况下无法改变区块)的速度。
-
-此外,还可以进行一些改进,使审查交易变得更加困难,比如对区块提议者隐藏区块的实际内容,或者采用新的方法来识别客户端何时在审查。 这些改进将共同升级[权益证明](/glossary/#pos)协议,使从个人到企业在内的所有用户都对他们在以太坊上的应用程序、数据和资产随即产生信心。
-
-## 质押提款 {#staking-withdrawals}
-
-从[工作量证明](/glossary/#pow)升级到权益证明的过程始于以太坊的先驱们在存款合约中“质押”以太币。 这些以太币用于保护网络。 2023 年 4 月 12 日进行了第二次更新,允许提取质押的以太币。 自那时起,验证者可以自由地质押或提取以太币。
-
-阅读关于提款的信息
-
-## 防御攻击 {#defending-against-attacks}
-
-可以对以太坊的权益证明协议进行一些改进。 其中一项称为[视图合并](https://ethresear.ch/t/view-merge-as-a-replacement-for-proposer-boost/13739) - 这是一种更安全的[分叉](/glossary/#fork)选择算法,可以增加实施某些复杂攻击的难度。
-
-减少以太坊[最终确定](/glossary/#finality)区块所需的时间可以改善用户体验,并防止复杂的“重组”攻击,即攻击者试图重组最近的区块以获取利润或审查特定交易。 [**单时隙最终确定性 (SSF)**](/roadmap/single-slot-finality/) 是一种**尽可能减少最终确定延迟的方式**。 现在,攻击者理论上可以说服其他验证者重新配置 15 分钟的区块。 采用单时隙确定性后,该数值为 0。 从个人到应用程序和交易所,所有用户都可以从中受益,快速确保他们的交易不会被撤销,而网络也可以从中受益,防范一整类攻击。
-
-了解单时隙确定性
-
-## 防范审查 {#defending-against-censorship}
-
-去中心化可以防止个人或一小部分[验证者](/glossary/#validator)的影响力过大。 新型质押技术有助于确保以太坊的验证者尽可能保持去中心化,同时还能防范硬件、软件和网络故障。 其中包括将验证者责任分散到多个[节点](/glossary/#node)的软件。 这被称为**分布式验证者技术 (DVT)**。 由于分布式验证者技术允许多台计算机共同参与验证,从而增加了冗余和容错性,因此我们鼓励[质押池](/glossary/#staking-pool)使用分布式验证者技术。 它还能将验证者密钥分散到多个系统中,而不是由一个运营商运行多个验证者。 这增加了不诚实运营商协调对以太坊的攻击的难度。 总之,它的想法是由_社区_而非个人运行验证者,从而提高安全性。
-
-了解分布式验证者技术
-
-实施**提议者-构建者器分离 (PBS)** 将大大提高以太坊对审查的固有防范能力。 提议者-构建者器分离可以让一个验证者创建区块,另一个验证者在以太坊网络中广播区块。 这可以确保在整个网络中更加公平地分享利润最大化的区块构建算法带来的收益,**防止质押随着时间的推移集中到表现最好的机构质押人**。 区块提议者可以从区块建造商市场中选择收益最高的区块。 要进行审查,区块提议者往往需要选择收益较低的区块,这**在经济上不合理,而且很容易被网络上的其他验证者发现**。
-
-提议者-构建者器分离还有一些潜在的附件功能,如加密交易和纳入清单,可以进一步提高以太坊的抗审查性。 这使得区块构建者和提议者无法看到其区块中包含的实际交易。
-
-了解提议者-构建者分离
-
-## 保护验证者 {#protecting-validators}
-
-老练的攻击者有可能识别出即将到来的验证者,并向它们发送垃圾邮件,以阻止它们提议区块。这被称为**拒绝服务 (DoS)**攻击。 实施[**秘密领袖选举 (SLE)**](/roadmap/secret-leader-election)可防止预先知道区块提议者,从而防范此类攻击。 其工作原理是对代表候选区块提议者的加密承诺进行不断混洗,并利用它们的顺序来决定选择哪个验证者,从而使验证者自己才能事先知道它们的顺序。
-
-了解秘密领袖选举
-
-## 当前进展 {#current-progress}
-
-**路线图上的安全升级已进入高级研究阶段**,但预计在一段时间内不会实现。 视图合并、提议者-构建者器分离、单时隙确定性和秘密领袖选举的下一步工作是最终确定规范并开始构建原型。
diff --git a/public/content/translations/zh/11) Roadmap/roadmap/user-experience/index.md b/public/content/translations/zh/11) Roadmap/roadmap/user-experience/index.md
deleted file mode 100644
index 9c3c9698480..00000000000
--- a/public/content/translations/zh/11) Roadmap/roadmap/user-experience/index.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-title: 提升用户体验
-description: 对于大多数人来说,使用以太坊仍然过于复杂。 为了促进以太坊的大规模普及,必须大幅降低其进入门槛 - 必须让用户在访问以太坊时,享受去中心化、无需许可和抗审查的好处,同时像使用传统的 Web2 应用程序一样丝滑顺畅。
-lang: zh
-image: /images/roadmap/roadmap-ux.png
-alt: "以太坊路线图"
-template: roadmap
----
-
-从管理[密钥](/glossary/#key)和[钱包](/glossary/#wallet)到发起交易,**以太坊的使用过程都需要简化**。 为了促进以太坊的大规模普及,必须大幅提升使用的便捷性,让用户在访问以太坊时,体验无需许可和抗审查的好处,同时像使用 [Web2](/glossary/#web2) 应用程序一样丝滑顺畅。
-
-## 超越助记词 {#no-more-seed-phrases}
-
-以太坊帐户由一对密钥保护,其中,公钥用于帐户识别,私钥用于消息签名。 私钥类似于主密码,提供以太坊帐户的完全访问权限。 对于更熟悉代表用户管理帐户的银行和 Web2 应用程序的人来说,这是一种完全不同的操作方式。 为了使以太坊在不依赖中心化第三方的情况下大规模普及,必须有一种方法,可以让用户简单顺畅地掌握自己的资产并控制自己的数据,且无需了解公私钥加密法和密钥管理。
-
-这个问题的解决办法是使用[智能合约](/glossary/#smart-contract)钱包与以太坊交互。 智能合约钱包提供了在密钥丢失或被盗时保护帐户的途径以及更好地发现和防范欺诈的机会,还可以让钱包拥有新功能。 虽然智能合约钱包现在已经存在,但很难构建,因为它们需要以太坊协议的更好支持。 这种额外支持被称为帐户抽象。
-
-更多关于帐户抽象的信息
-
-## 人人皆有节点
-
-运行[节点](/glossary/#node)的用户不必相信第三方将为他们提供数据,他们可以快速、匿名且无需许可地与以太坊[区块链](/glossary/#blockchain)交互。 然而,现在运行一个节点需要技术知识和大量磁盘空间,这意味着许多人不得不依赖第三方。
-
-以太坊将进行几项升级,使节点更容易运行,资源密集程度更低。 存储数据的方式将改为使用更具空间效率的结构,称为**沃克尔树**。 同时,通过[无状态性](/roadmap/statelessness)或[数据到期](/roadmap/statelessness/#data-expiry)升级,以太坊节点将不再需要存储完整的以太坊状态数据的副本,从而大幅降低硬盘空间需求。 [轻节点](/developers/docs/nodes-and-clients/light-clients/)将具备运行全节点的许多好处,但是在手机或简单的浏览器应用程序中就可以轻松运行。
-
-阅读关于沃克尔树的信息
-
-通过这些升级,运行节点的障碍实际上减少到零。 用户将可以安全、无需许可地访问以太坊,且不需要在计算机或手机上牺牲大量磁盘空间或 CPU,在使用应用程序时,也不必依赖第三方提供数据或网络访问权限。
-
-## 当前进展 {#current-progress}
-
-智能合约钱包已经推出,但需要进行更多升级以使其尽可能去中心化和无需许可。 EIP-4337 是一个成熟的提案,不需要对以太坊协议做出任何修改。 EIP-4337 需要的主要智能合约**于 2023 年 3 月部署**。
-
-**完全无状态性仍处于研究阶段**,可能还需要几年才能实现。 在通往完全无状态性的道路上有许多里程碑,包括可能不久后就会实现的数据到期。 可能需要首先完成其他路线图项目,例如[沃克尔树](/roadmap/verkle-trees/)和[提议者-构建者分离](/roadmap/pbs/)。
-
-沃克尔树测试网已经上线并运行,下一阶段是在私有测试网上运行启用沃克尔树的客户端,然后在公共测试网运行。 你可以通过在测试网部署智能合约或运行测试网客户端来帮助加速这一进程。
diff --git a/public/content/translations/zh/12) Roadmap 2/roadmap/account-abstraction/index.md b/public/content/translations/zh/12) Roadmap 2/roadmap/account-abstraction/index.md
deleted file mode 100644
index 9168d3eb128..00000000000
--- a/public/content/translations/zh/12) Roadmap 2/roadmap/account-abstraction/index.md
+++ /dev/null
@@ -1,126 +0,0 @@
----
-title: 帐户抽象
-description: 关于以太坊简化用户帐户和增强用户帐户安全性的计划的概述
-lang: zh
-summaryPoints:
- - 帐户抽象大大简化了构建智能合约钱包的过程
- - 智能合约钱包大大简化了管理以太坊帐户访问的过程
- - 丢失和泄露的密钥可以通过多重备份进行找回
----
-
-# 帐户抽象 {#account-abstraction}
-
-用户通过**[外部帐户 (EOA)](/glossary/#eoa)** 与以太坊进行交互。 这是当前开始交易或执行智能合约的唯一方式, 这限制了用户与以太坊的交互。 例如,这导致很难进行批量交易,并且要求用户一直让以太币帐户中有余额以支付燃料费。
-
-帐户抽象是解决这些问题的一种方式,可以让用户灵活地设置自己的帐户,以提高安全性和改善用户体验。 要完成帐户抽象,可以[升级外部帐户](https://eips.ethereum.org/EIPS/eip-3074),使它们能被智能合约控制,或者[升级智能合约](https://eips.ethereum.org/EIPS/eip-2938),使它们能够发起交易。 这两种方案都需要对以太坊协议进行更改。 还有第三种途径,即添加[第二个独立的交易系统](https://eips.ethereum.org/EIPS/eip-4337),与现有协议并行运行。 无论采取哪种路径,结果都是通过智能合约钱包访问以太坊,要么作为现有协议的一部分得到本地支持,要么通过附加的交易网络完成。
-
-智能合约钱包可以为用户带来许多好处,包括:
-
-- 灵活定义自己的安全规则
-- 丢失密钥后找回帐户
-- 在信赖的设备或个人之间共享帐户安全性
-- 支付他人的燃料费用,或让他人为你支付燃料费用
-- 批量交易(例如,一次性批准并执行兑换)
-- 增加去中心化应用程序和钱包开发者创新用户体验的机会
-
-由于目前只有外部帐户 ([EOA](/glossary/#eoa)) 可以发起交易,所以这些好处还没有得到本地支持。 外部帐户采用简单的公钥-私钥对。 它们的工作原理如下:
-
-- 如果你拥有私钥,可以在以太坊虚拟机 (EVM) 的规则范围内做_任何_事情。
-- 如果你没有私钥,将无法进行_任何操作_。
-
-如果你丢失了密钥则无法找回,而窃取者可以使用窃取的密钥立即获得帐户中的所有资金。
-
-智能合约钱包是解决这些问题的方法,但是目前它们很难编程,因为最终它们实现的任何逻辑都必须被转换为一系列外部帐户交易,才能被以太坊处理。 帐户抽象可以让智能合约自行发起交易,因此用户希望实现的任何逻辑都可以编码到智能合约钱包本身,并在以太坊上执行。
-
-最后,帐户抽象可以改善对智能合约钱包的支持,使其更易于构建且更安全地使用。 最终,通过帐户抽象化,用户可以享受以太坊的所有好处,而无需了解或关心底层技术。
-
-## 超越助记词 {#beyond-seed-phrases}
-
-目前,帐户是通过私钥保护的,而私钥是通过助记词计算出来的。 获得助记词的任何人都可以轻松掌握保护帐户的私钥,并获得其保护的所有资产。 如果私钥和助记词丢失,它们将永远无法找回,并且它们所控制的资产将永久冻结。 即使对于专业用户来说,保护这些助记词也很困难,而助记词钓鱼是用户遭受诈骗的最常见方式之一。
-
-帐户抽象通过使用智能合约来持有资产和授权交易,解决了这个问题。 然后,这些智能合约可以用自定义逻辑装饰,以尽可能提高安全性,并根据用户的需求进行定制。 最终,你仍是使用私钥来控制帐户访问,但是有了安全措施,帐户就更易于管理且更安全。
-
-例如,可以将备用密钥添加到钱包中,这样如果你丢失或意外泄露了主要密钥,可以通过备用密钥的授权将其替换为新的安全密钥。 你可以通过不同方式保护这些密钥,或者将它们分散到不同的受信任守护者。 这大大提高了窃取者完全控制你的资金的难度。 同样,你可以在钱包中添加规则以减轻主要密钥泄露的影响。例如,你可以允许低价值交易由单个签名验证,而高价值交易则需要由多个经过身份验证的签名者批准。 智能合约钱包还可以通过其他方式防止你遭到窃取。例如,你可以使用白名单来阻止其他所有交易,除了发送到可信地址或经过多个预先批准的密钥验证的交易。
-
-### 可以内置到智能合约钱包中的安全逻辑的示例:
-
-- **多重签名授权**:你可以在多个受信任的人或设备之间共享授权凭证。 然后,可以对合约进行配置,以便超过预设值的交易需要获得一定比例(例如 3/5)的受信任方的授权。 例如,高价值的交易可能需要在移动设备和硬件钱包上都获得批准,或者需要分散在受信任家庭成员的帐户的签名。
-- **帐户冻结**:如果设备丢失或被入侵,可以从另一个经过授权的设备上锁定帐户,以保护用户的资产安全。
-- **帐户找回**:丢失设备或忘记密码了? 在目前的模式下,这意味着你的资产可能被永远冻结。 通过使用智能合约钱包,你可以设置帐户白名单来授权新设备并重置访问权限。
-- **设置交易限制**:指定帐户一天/一周/一月可以转移的每日价值阈值。 这意味着,即使攻击者成功获得了你的帐户的访问权限,他们也无法一次性将所有资金转移走,而你有机会冻结帐户并重新设置访问权限。
-- **创建白名单**:仅允许与你确认安全的地址进行交易。 这意味着_即使_你的私钥被盗,攻击者也只能将资金发送到白名单上的目标帐户。 这些白名单需要多个签名才能更改。因此,除非攻击者能够获得你的多个备份密钥,否则无法将自己的地址添加到名单中。
-
-## 改善用户体验 {#better-user-experience}
-
-帐户抽象可以改善**整体用户体验**和**安全性**,因为它在协议层面上为智能合约钱包增加了支持。 最重要的原因是它将为智能合约、钱包和应用的开发者提供更大的创新自由度,使他们能够以我们目前还无法预料到的方式改进用户体验。 通过帐户抽象,我们将迎来一些明显改进,其中包括捆绑交易以提高速度和效率。 例如,简单的兑换应该是一键操作的,但在当前情况下,执行兑换之前需要签署多个交易来批准每个代币的支出。 帐户抽象通过允许交易捆绑消除了这一问题。 此外,捆绑的交易可以精确批准每个交易所需的适当代币价值,然后在交易完成后撤销批准,提供额外的安全性。
-
-通过帐户抽象,燃料管理也得到了很大改进。 不仅应用程序可以支付用户的燃料费,而且可以使用以太币以外的代币支付燃料费,从而使用户无需为提供交易资金而保持帐户中有以太币余额。 可以这样做,在合约内使用用户的代币兑换以太币,然后使用以太币支付燃料费。
-
-
-
-燃料管理是以太坊用户主要面临的问题之一,主要是因为以太币是唯一可用于支付交易费用的资产。 假设你的钱包内有 USDC 余额但没有以太币余额。 由于你无法支付燃料费用,所以无法转移或交换这些 USDC 代币。 你也无法将 USDC 交换成以太币,因为这个操作本身也需要支付燃料费用。 要解决这个问题,你需要从交易所或其他地址向你的帐户发送更多以太币。 通过智能合约钱包,你可以轻松使用 USDC 支付燃料费用,从而解放你的帐户。 你不再需要在所有帐户中保持以太币余额了。
-
-帐户抽象还可以让去中心化应用程序的开发者以创造性的方式进行燃料管理。 例如,你可以考虑与你最喜爱的去中心化交易所达成协议,每月支付固定费用以获得无限次交易的权限。 去中心化应用程序可能会作为你使用其平台的奖励或入门优惠,为你支付所有燃料费用。 当智能合约钱包在协议层面得到支持时,开发者在燃料管理方面进行创新将更加容易。
-
-
-
-受信任会话同样也有可能改变用户体验,尤其是对于游戏等可能需要在短时间内批准大量小额交易的应用程序而言。 单独批准每笔交易将破坏游戏体验,但永久批准则存在安全风险。 智能合约钱包可以在固定时间内批准不超过特定金额或仅与特定地址进行的特定交易。
-
-此外,帐户抽象会给购买方式带来变化,这也是一个有趣的方面。 目前,每笔交易都需要通过预先充入充足的适当代币的钱包批准和执行。 进行帐户抽象后,用户的体验会更像我们熟悉的在线购物体验,用户可以将商品添加到“购物车”中,然后一次性点击购买,所有必需的逻辑都由智能合约处理,而不是由用户处理。
-
-这只是帐户抽象可以提升用户体验的一些例子,还有许多我们尚未想象到的情况。 帐户抽象让开发者摆脱了当前以太坊外部帐户的限制,使他们能够在不放弃自我保管的情况下将 Web2 的良好特性引入 Web3,并创造性带来创新用户体验。
-
-## 帐户抽象将如何实施? {#how-will-aa-be-implemented}
-
-智能合约钱包目前已存在,但由于以太坊虚拟机不支持,所以实现起来会有一些挑战。 相反,它们采用的方法是将相对复杂的代码封装在标准的以太坊交易中。 以太坊可以改变这一点,允许智能合约发起交易,在以太坊智能合约中处理必要逻辑,而不是链下处理。 将逻辑放入智能合约还增加了以太坊的去中心化程度,因为不再需要由钱包开发者运行的"中继者"将用户签名的消息转换为常规的以太坊交易。
-
-
-
-EIP-2771 引入了元交易的概念,允许第三方为用户支付燃料费用,而无需对以太坊协议进行更改。 这个想法是将用户签名的交易发送到一个名为“转发者”的合约中。 转发者是一个受信任的实体,在将交易发送到燃料中继器之前验证交易的有效性。 这是链下完成的,无需支付燃料费用。 燃料中继器将交易传递到“接收者”合约,支付所需的燃料费用,使交易能够在以太坊上执行。 如果“接收者”知道并信任“转发者”,则交易将被执行。 该模型使得开发者能够为用户轻松实现无需支付燃料费用的交易。
-
-
-
-
-
-EIP-4337 是以去中心化方式使智能合约钱包获得本地支持的第一步,无需对以太坊协议进行更改。 它并未修改共识层以支持智能合约钱包,而是在正常的交易传播协议中单独添加了一个新系统。 这个更高层次的系统是围绕一个叫做 UserOperation
的新对象构建,它将用户的操作与相关的签名打包在一起。 这些 UserOperation
对象随后被广播到一个专用的内存池中,验证者在那里可以将它们收集到一个"捆绑交易"中。 捆绑交易代表了很多一系列单独的 UserOperations
,并且可以像普通交易那样被添加到以太坊区块中。验证者会使用类似的最大化费用选择模型来选择捆绑交易。
-
-在 EIP-4337 下,钱包的工作方式也会改变。 它不会让每个钱包重新实现常见但复杂的安全逻辑,而是会将这些功能外包给一个名为“入口点”的全局钱包合约。 该合约将处理支付费用和执行以太坊虚拟机代码等操作,以便钱包开发者可以专注于提供卓越的用户体验。
-
-注意 EIP 4337 入口点合约于 2023 年 3 月 1 日部署到以太坊主网上。 你可以在 Etherscan 上查看该合约。
-
-
-
-
-
-EIP-2938 旨在通过引入新的交易类型 AA_TX_TYPE
来更新以太坊协议,该交易类型包括三个字段:nonce
、target
和 data
,其中 nonce
是交易计数器,target
是入口点合约地址,data
是以太坊虚拟机字节码。 为了执行这些交易,需要向以太坊虚拟机添加两条新指令(也称为操作码):NONCE
和 PAYGAS
。 NONCE
操作码用于跟踪交易序列,而 PAYGAS
操作码用于计算并从合约余额中提取执行交易所需的燃料费用。 这些新功能使得以太坊能够为智能合约钱包提供本地支持,因为必要的基础设施已经内置在以太坊的协议中。
-
-请注意,EIP-2938 目前尚未激活。 目前社区更倾向于 EIP-4337,因为它不需要对协议进行更改。
-
-
-
-
-
-EIP-3074 旨在更新以太坊的外部帐户,允许其将控制权委托给智能合约。 这意味着智能合约逻辑可以批准源自外部帐户的交易。 这可以实现一些功能,如燃料赞助和批量交易。 要使其生效,需要向以太坊虚拟机添加两个新的操作码:AUTH
和 AUTHCALL
。 通过 EIP-3074,不需要合约就可以获得智能合约钱包的好处,取而代之的是一种特定类型的无状态、去信任、不可升级的合约(被称为“调用者”),用于处理交易。
-
-请注意,EIP-3074 目前尚未激活。 目前社区更倾向于 EIP-4337,因为它不需要对协议进行更改。
-
-
-
-## 当前进展 {#current-progress}
-
-智能合约钱包已经推出,但需要进行更多升级以使其尽可能去中心化和无需许可。 EIP-4337 是一个成熟的提案,不需要对以太坊的协议进行任何更改,因此可能可以迅速实施。 然而,当前并没有积极开发用于更改以太坊协议的升级,因此这些更改可能需要更长时间才能上线, 也有可能通过 EIP-4337 充分实现帐户抽象,不再需要更改协议。
-
-## 延伸阅读 {#further-reading}
-
-- [erc4337.io](https://www.erc4337.io/)
-- [帐户抽象面板探讨 — Devcon Bogota](https://www.youtube.com/watch?app=desktop&v=WsZBymiyT-8)
-- ["为什么帐户抽象对于去中心化应用程序而言是一场革命性的变革" — Devcon Bogota](https://www.youtube.com/watch?v=OwppworJGzs)
-- [“帐户抽象 ELI5” — Devcon Bogota](https://www.youtube.com/watch?v=QuYZWJj65AY)
-- [Vitalik“帐户抽象之路”说明](https://notes.ethereum.org/@vbuterin/account_abstraction_roadmap#Transaction-inclusion-lists)
-- [Vitalik 关于社交恢复钱包的博文](https://vitalik.eth.limo/general/2021/01/11/recovery.html)
-- [EIP-2938 说明](https://hackmd.io/@SamWilsn/ryhxoGp4D#What-is-EIP-2938)
-- [EIP-2938 文件](https://eips.ethereum.org/EIPS/eip-2938)
-- [EIP-4337 说明](https://medium.com/infinitism/erc-4337-account-abstraction-without-ethereum-protocol-changes-d75c9d94dc4a)
-- [EIP-4337 文件](https://eips.ethereum.org/EIPS/eip-4337)
-- [EIP-2771 文件](https://eips.ethereum.org/EIPS/eip-2771)
-- [“帐户抽象基础知识”-- 什么是帐户抽象(第一部分)](https://www.alchemy.com/blog/account-abstraction)
diff --git a/public/content/translations/zh/12) Roadmap 2/roadmap/danksharding/index.md b/public/content/translations/zh/12) Roadmap 2/roadmap/danksharding/index.md
deleted file mode 100644
index 2e16c7c8002..00000000000
--- a/public/content/translations/zh/12) Roadmap 2/roadmap/danksharding/index.md
+++ /dev/null
@@ -1,95 +0,0 @@
----
-title: Danksharding
-description: 了解 Proto-Danksharding 和 Danksharding - 用于扩展以太坊的两项连续升级。
-lang: zh
-summaryPoints:
- - Danksharding 是一项多阶段升级,旨在提高以太坊的可扩容性和容量。
- - Proto-Danksharding 是第一阶段,旨在将数据二进制大对象添加到区块中
- - 数据二进制大对象为卷叠提供了一种更经济地将数据发布到以太坊上的方式,这种成本节约可以通过更低的交易费使用户间接受益。
- - 随后,完整的 Danksharding 将验证数据二进制大对象的责任分散到节点子集,使以太坊进一步扩展到每秒处理超过 100,000 笔交易。
----
-
-# Danksharding {#danksharding}
-
-**Danksharding** 是让以太坊成为真正的可扩展区块链的方案,但要实现这个方案,需要进行一系列协议升级。 **Proto-Danksharding** 是这个过程中的一个中间步骤。 两者都是为了让用户在二层网络上的交易尽可能便宜,并将以太坊扩展到每秒处理 >100,000 次交易。
-
-## 什么是 Proto-Danksharding? {#what-is-protodanksharding}
-
-Proto-Danksharding,也称为 [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844),是一种让[卷叠](/layer-2/#rollups)以更经济的方式向区块添加数据的方法。 这一名称来自提出这个想法的两位研究人员:Protolambda 和 Dankrad Feist。 以往,卷叠在降低用户交易费用方面存在局限性,因为它们是将交易发布在 `CALLDATA` 中。
-
-这是一种昂贵的方法,因为数据经过所有以太坊节点处理,并且永远存在于链上,即使卷叠只在很短的时间内需要这些数据。 Proto-Danksharding 引入了可以发送并附加到区块上的数据二进制大对象。 这些二进制大对象中的数据不可通过以太坊虚拟机访问,并且在固定的时间(在写入时设置为 4096 个时段,或大约 18 天)后会自动删除。 这意味着卷叠可以更经济的方式发送其数据,节省的费用会让终端用户的交易更加便宜。
-
-
-
-卷叠是一种通过在链下批量处理交易然后将结果发布到以太坊来扩展以太坊的方法。 卷叠本质上由两部分组成:数据和执行检查。 数据是由卷叠处理的完整交易序列,用于产生要发布到以太坊的状态变化。 执行检查是由某个诚实的参与者(称为“证明者”)重新执行这些交易,以确保提出的状态变化是正确的。 为了进行执行检查,交易数据必须在足够长的时间内可用,以便任何人都可以下载和检查。 这意味着卷叠排序者的任何不诚实行为都可以被证明者发现和质疑。 但是,交易数据不需要永远可用。
-
-
-
-
-
-卷叠将其交易数据承诺发布在链上,并且在数据二进制大对象中提供实际的数据。 这意味着证明者可以检查承诺是否有效或质疑他们认为错误的数据。 在节点层面,数据二进制大对象保存在共识客户端中。 共识客户端证明他们已经检查了数据,并且数据已经在网络中传播。 如果数据永远保留,这些客户端会变得臃肿并导致运行节点的硬件要求很高。 然而,数据每隔 18 天将从节点中自动删除。 共识客户端的认证表明,证明者有足够的机会来验证数据。 实际数据可以由卷叠运营商、用户或其他人在链下存储。
-
-
-
-### 如何验证二进制大对象中的数据? {#how-are-blobs-verified}
-
-卷叠将其执行的交易发布在数据二进制大对象中。 它们也发布一个对数据的“承诺”。 为此,他们会对数据拟合一个多项式函数。 然后,这个函数可以在各个点计算。 例如,如果我们定义一个非常简单的函数 `f(x) = 2x-1`,那么可以在 `x = 1`、`x = 2`、`x = 3` 时计算这个函数,得到结果为 `1, 3, 5`。 证明者对数据应用相同的函数,并在相同的点计算。 如果原始数据被更改,函数就不会相同,因此在每个点计算出来的值也不会相同。 在实际操作中,承诺和证明会更加复杂,因为它们会被包裹在加密函数中。
-
-### 什么是 KZG? {#what-is-kzg}
-
-KZG 代表 Kate-Zaverucha-Goldberg - 是三位[原创作者](https://link.springer.com/chapter/10.1007/978-3-642-17373-8_11)名字的缩写。他们提出了一项将数据二进制大对象缩减为小型[密码“承诺”](https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html)的方案。 卷叠提交的数据二进制大对象必须经过验证,以确保卷叠没有错误行为。 这需要证明者重新执行二进制大对象中的交易,以检查承诺是否有效。 从概念上讲,这与执行客户端使用默克尔证明检验一层网络上的以太坊交易是否有效的方式相同。 KZG 是一种将多项式方程拟合到数据上的替代证明。 "承诺"在某些保密数据点处计算多项式。 证明者将在数据上拟合相同的多项式,并使用相同的数值计算它,以检验结果是否相同。 这种验证数据的方式与零知识技术兼容,一些卷叠在使用零知识技术,最终以太坊协议的其他部分也会使用。
-
-### 什么是 KZG 仪式? {#what-is-a-kzg-ceremony}
-
-KZG 仪式是指以太坊社区的许多人共同生成一个随机的私密数字字符串,用于验证一些数据的一种方式。 这个数字字符串必须是未知的,不能由任何人重新创建,这一点非常重要。 为了确保做到这一点,每个参加仪式的人都会收到前一位参与者发送的一个字符串。 然后,他们会创建一些新的随机值(例如:通过允许他们的浏览器测量鼠标的移动)并将这些值与前面的值混合在一起。 之后,他们将这个值发送给下一位参与者并将其在本地计算机中销毁。 在这个仪式中,只要有一个人诚实地执行了这一过程,攻击者就无法知道最终值是什么。
-
-EIP-4844 KZG 仪式曾经公开过,成千上万的人参与其中,并添加了自己的熵(随机值)。 总计贡献超过 14 万次,成为此类型全世界最大的一次仪式。 如果想破坏这个仪式,那么必须 100% 的参与者都不诚实。 从参与者的角度来看,如果他们知道自己是诚实的,就不需要相信其他任何人,因为他们知道自己确保了仪式的安全性(他们个人满足了,N 个参与者至少有一个诚实的要求)。
-
-
-
-当卷叠在二进制大对象中发布数据时,它们提供了一个发布到链上的“承诺”。 该承诺是在特定点对数据计算多项式拟合的结果。 这些点是由 KZG 仪式上生成的随机数决定的。 然后,证明者可以在相同的点上对多项式进行计算以验证数据 - 如果得出相同的值,则数据是正确的。
-
-
-
-
-
-如果有人知道用于承诺的随机位置,就可以很容易地生成一个可在这些特定点上拟合的新多项式(即“碰撞”)。 这意味着他们可以在二进制大对象中添加或删除数据,并且仍然提供有效的证明。 为了防止这种情况的出现,他们不向证明者提供实际的私密位置,而是使用椭圆曲线将位置封装在加密“黑盒”中并提供给证明者。 这样做可以有效打乱值,使得原始值无法被逆向工程,但通过一些巧妙的代数,证明者和验证者仍然可以在它们所代表的点上计算多项式。
-
-
-
-
- Danksharding 和 Proto-Danksharding 都没有采用传统的旨在将区块链分成多个部分的“分片”模式。 分片链不再是路线图的一部分。 相反,Danksharding 使用跨数据块的分布式数据采样来扩展以太坊。 这实施起来要简单得多。 这种模式有时被称为“数据分片”。
-
-
-## 什么是 Danksharding? {#what-is-danksharding}
-
-Danksharding 全面实现了从 Proto-Danksharding 开始的卷叠扩展。 Danksharding 将为以太坊带来大量空间,以便卷叠堆放他们的压缩交易数据。 这意味着以太坊能够轻松支持数百个单独卷叠,并实现每秒处理数百万次交易。
-
-它的实现方式是将附加到区块的二进制大对象从 Proto-Danksharding 阶段的 6 个增加至完整 Danksharding 时的 64 个。 所需的其余变更都是对共识客户端的运行方式进行更新,使它们能够处理新的较大二进制大对象。 其中的一些变更已经由于 Danksharding 之外的目的列入路线图。 例如,Danksharding 要求贯彻执行提议者与构建者分离的理念。 这一升级会将构建区块与提议区块的工作分开由不同的验证者完成。 同样,Danksharding 还要求进行数据可用性采样,但开发不存储大量历史数据的超轻量级客户端(“无状态客户端”)也要求这样做。
-
-
-
-要求提议者与构建者分离为了防止单个验证者需要为 32MB 的数据块数据生成昂贵的承诺和证明。 这会给家庭质押人造成太大的压力,要求他们投资购置更强大的硬件,这将不利于去中心化。 相反,这项昂贵的计算工作可以由专门的区块构建者负责。 之后,他们可以向区块提议者提供区块,以进行广播。 区块提议者只需要选择收益最高的区块即可。 任何人都能够以便宜快捷的方式验证数据块,这意味着所有普通验证者都可以检查区块构建者是否诚实。 这样一来,处理大型二进制大对象就不需要牺牲去中心化。 行为不端的区块构建者会被逐出网络并受到罚没 — 其他人会接替他们的位置,因为区块构建是收益很高的活动。
-
-
-
-
-
-要求进行数据可用性采样是为了让验证者快速、高效地验证二进制大对象数据。 通过数据可用性采样,验证者可以非常确定二进制大对象数据是否可用和正确提交。 每个验证者都可以随机在几个数据点采样并创建证明,这意味着验证者不必核对整个二进制大对象。 如果有数据丢失,可以快速识别并拒绝二进制大对象。
-
-
-
-### 当前进展 {#current-progress}
-
-完全实现 Danksharding 还需要几年时间。 与此同时,KZG 仪式在经过超过 14 万份贡献后结束,Proto-Danksharding 的 [EIP](https://eips.ethereum.org/EIPS/eip-4844) 也已成熟。 该提案已在所有测试网中全面实施,并于 2024 年 3 月随着 Cancun-Deneb(“Dencun”)网络升级在主网上线。
-
-### 延伸阅读 {#further-reading}
-
-- [Proto-Danksharding 说明](https://notes.ethereum.org/@vbuterin/proto_danksharding_faq) - _Vitalik Buterin_
-- [Dankrad 关于 Danksharding 的说明](https://notes.ethereum.org/@dankrad/new_sharding)
-- [Dankrad、Proto 和 Vitalik 关于 Danksharding 的讨论](https://www.youtube.com/watch?v=N5p0TB77flM)
-- [KZG 仪式](https://ceremony.ethereum.org/)
-- [Carl Beekhuizen 在以太坊开发者大会上关于可信设置的演讲](https://archive.devcon.org/archive/watch/6/the-kzg-ceremony-or-how-i-learnt-to-stop-worrying-and-love-trusted-setups/?tab=YouTube)
-- [更多关于针对二进制大对象进行数据可用性采样的信息](https://hackmd.io/@vbuterin/sharding_proposal#ELI5-data-availability-sampling)
-- [Dankrad Feist 关于 KZG 承诺和证明的演讲](https://youtu.be/8L2C6RDMV9Q)
-- [KZG 多项式承诺](https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html)
diff --git a/public/content/translations/zh/12) Roadmap 2/roadmap/dencun/index.md b/public/content/translations/zh/12) Roadmap 2/roadmap/dencun/index.md
deleted file mode 100644
index d73516213ab..00000000000
--- a/public/content/translations/zh/12) Roadmap 2/roadmap/dencun/index.md
+++ /dev/null
@@ -1,120 +0,0 @@
----
-title: Cancun-Deneb(坎昆)升级常见问题
-description: 有关 Cancun-Deneb(坎昆)网络升级的常见问题
-lang: zh
----
-
-# Cancun-Deneb(坎昆)升级 {#dencun}
-
-Cancun-Deneb(坎昆)是对以太坊网络的一次升级,其激活了 **Proto-Danksharding (EIP-4844)**,引入了临时**二进制大对象**数据以实现更便宜的[二层网络 (L2)](/glossory/#layer-2) 卷叠存储。
-
-一种新的交易类型使卷叠供应商能以更具成本效益的方式,在所谓的“二进制大对象”中储存数据。 二进制大对象保证可供网络使用约 18 天(准确来说,4096 个[时段](/glossary/#epoch))。 在这段时间之后,二进制大对象将从网络中删除,但应用程序仍可以使用证明来验证其数据的有效性。
-
-这显著降低了卷叠成本,限制了链增长,并有助于在保证安全性和节点运营者去中心化的同时支持更多用户。
-
-## 预计什么时候卷叠会反映出 Proto-Danksharding 带来的较低费用? {#when}
-
-- 此升级于时段 269569,即 \*\*2024 年 3 月 13 日下午 13:55(UTC 时间)\*\*激活
-- 所有主要卷叠供应商(如 Arbitrum 和 Optimism)都表示将在升级后立即支持二进制大对象
-- 支持单独卷叠的时间可能存在变化,因为每个供应商都必须升级其系统才能使用新的二进制大对象空间
-
-## 硬分叉后如何转换以太币? {#scam-alert}
-
-- **你的以太币不需要任何操作**。在以太坊坎昆升级之后,无需转换或升级以太币。 硬分叉后,你的帐户余额不会改变,你目前持有的以太币仍将以其现有的形式保持可用。
-- **当心诈骗!** **任何引导你对以太币进行“升级”的人都是骗子**。你不需要进行任何与此升级有关的操作。 你的资产不会受到任何影响。 请记住,随时了解动态是防御诈骗的最佳手段。
-
-[更多关于识别和规避诈骗的信息](/security/)
-
-## 坎昆网络升级将解决什么问题? {#network-impact}
-
-坎昆升级主要通过**便宜的费用**来解决**可扩展性**(处理更多用户和交易)问题,同时使网络**保持去中心化**。
-
-以太坊社区一直采取“以卷叠为中心”的方式成长,以二层网络卷叠作为安全地支持更多用户的主要手段。
-
-卷叠网络独立于主网进行交易处理(或“执行”),然后将结果的加密证明和/或压缩交易数据发布回主网以保存记录。 储存这些证明会产生费用(以[燃料](/glossary/#gas)的形式),而在 Proto-Danksharding 之前,所有网络节点运营者都必须永久储存它们,使其成为一项费用高昂的任务。
-
-在坎昆升级中引入 Proto-Danksharding 为这些证明增加了更便宜的存储,节点运营者只需要将这些数据储存约 18 天,之后就能安全地删除数据,这避免了硬件需求的提高。 由于卷叠的退出周期通常为 7 天,只要二进制大对象在此期间于一层网络上可用,它们的安全模型就不会改变。 18 天的删除窗口为这段时间提供了大幅缓冲。
-
-[更多关于以太坊扩容的信息](/roadmap/scaling/)
-
-## 如何访问之前的二进制大对象数据? {#historical-access}
-
-虽然常规以太坊节点将一直保存网络的当前状态,但二进制大对象历史数据可在其引入约 18 天后删除。 在废弃这些数据之前,以太坊会确保这些数据对所有网络参与者可用,从而有时间:
-
-- 让相关方下载和储存数据。
-- 完成所有卷叠挑战期。
-- 最终确定卷叠交易。
-
-可能出于多种原因需要二进制大对象历史数据,并且可以使用多个去中心化协议储存和访问这些数据:
-
-- **第三方索引协议**,如 The Graph,通过按照加密经济机制进行激励的节点运营者去中心化网络来储存这些数据。
-- **BitTorrent**,一种去中心化协议,使志愿者能够保存这些数据并将其分发给其他人。
-- **[以太坊门户网络](/developers/docs/networking-layer/portal-network/)**,目的是使用与 BitTorrent 类似的方式在参与者之间分发数据,通过节点运营者去中心化网络提供对所有以太坊数据的访问。
-- **个人用户**始终可以自由地储存其希望作为历史参考的任何数据的自有副本。
-- **卷叠供应商**被激励储存这些数据,以提升其用户的卷叠使用体验。
-- **区块浏览器**通常运行归档节点来索引和储存所有这些信息,使用户能够通过网络接口轻松访问历史参考。
-
-需要注意的是,恢复历史状态是基于 **1-of-N 信任模型**运行的。 这意味着你只需要来自单个可信来源的的数据,就能使用当前网络状态验证其正确性。
-
-## 该升级对更广泛的以太坊路线图有什么贡献? {#roadmap-impact}
-
-Proto-Danksharding 为 [Danksharding](/roadmap/danksharding/) 的完全实现奠定了基础。 Danksharding 旨在跨节点运营者分发卷叠数据存储,使每个运营者仅需处理合计数据的一小部分。 这种分发会增加每个区块的数据二进制大对象数量,这对于扩展以太坊以处理更多用户和交易至关重要。
-
-要在保持网络去中心化的同时,以便宜的费用和更高级的应用程序[支持数十亿以太坊用户](/roadmap/scaling/),这种可扩展性是至关重要的。 如果没有这些改变,节点运营者的硬件需求将会不断提升,导致需要越来越昂贵的设备。 较小的运营者将被迫退出,导致网络控制权集中在几个大型运营者手中,这与去中心化的原则背道而驰。
-
-## 该升级会影响所有以太坊共识和验证者客户端吗? {#client-impact}
-
-是的,Proto-Danksharding (EIP-4844) 要求更新执行客户端和共识客户端。 所有主要以太坊客户端都已发布支持该升级的版本。 为了在升级后与以太坊网络保持同步,节点运营者必须确保正在运行支持的客户端版本。 请注意,关于客户端发布的信息具有时效性,用户应参考最新更新以获取最新详情。 [查看支持的客户端版本详情](https://blog.ethereum.org/2024/02/27/dencun-mainnet-announcement#client-releases)。
-
-共识客户端处理验证者软件,该软件已全部更新为支持升级的版本。
-
-## Cancun-Deneb (坎昆) 升级如何影响 Goerli 或其他以太坊测试网? {#testnet-impact}
-
-- Devnets、Goerli、Sepolia 和 Holesky 已经全部经历坎昆升级,并且 Proto-Danksharding 完全正常运行
-- 卷叠开发者可以使用这些网络来测试 EIP-4844
-- 大多数用户完全不会受到这些测试网改变的影响
-
-## 二层网络上的所有交易都将使用临时二进制大对象空间吗?还是可以自行选择? {#calldata-vs-blobs}
-
-以太坊二层网络 (L2) 上的卷叠交易可以选择使用两种数据存储类型:临时二进制大对象空间或永久智能合约调用数据。 二进制大数据空间是一种经济的选择,以更低的成本提供临时存储。 它保证数据在所有必要挑战期内的可用性。 另一方面,智能合约调用数据提供永久但更昂贵的存储。
-
-主要由卷叠供应商决定使用二进制大对象空间还是调用数据。 他们会基于当前对二进制大对象空间的需求做出选择。 如果二进制大对象空间的需求很高,卷叠可能会选择调用数据以确保数据及时发布。
-
-尽管从理论上讲,用户可以选择自己喜欢的存储类型,但该决定通常由卷叠供应商做出。 为用户提供此选择权将会增加复杂性,尤其是在具有成本效益的捆绑交易中。 对于该选择的具体细节,用户应参考不同卷叠供应商的相关文档。
-
-## 4844 会减少一层网络燃料吗? {#l1-fee-impact}
-
-不会明显减少。 将会专门为二进制大对象空间引入新的燃料市场供卷叠供应商使用。 尽管通过将卷叠数据下放至二进制大对象可能会降低一层网络费用,但本次升级主要关注的是降低二层网络费用。 一层网络(主网)费用可能会因为二阶效应出现小幅降低。
-
-- 一层网络燃料的减少将与卷叠供应商采用/使用的二进制大对象数据成正比
-- 一层网络燃料很可能会对非卷叠相关活动保持竞争力
-- 使用二进制大对象空间的卷叠需要的一层网络燃料较少,短期内有助于推动一层网络燃料费降低
-- 二进制大对象空间仍有限制,因此,如果一个区块内的二进制大对象饱和/已满,卷叠就可能需要将其数据作为永久数据发布,同时,这将抬高一层网络和二层网络的燃料价格
-
-## 该升级会降低其他以太坊虚拟机一层网络区块链的费用吗? {#alt-l1-fee-impact}
-
-否。 Proto-Danksharding 只对将证明储存在以太坊一层网络(主网)上的二层卷叠有益。
-
-仅仅与以太坊虚拟机 (EVM) 兼容并不代表网络将从该升级中受益。 独立于以太坊运行的网络(无论是否兼容以太坊虚拟机)不会将其数据储存在以太坊上,也不会从该升级中得到任何好处。
-
-[更多关于二层网络卷叠的信息](/layer-2/)
-
-## 更愿意通过视频学习? {#visual-learner}
-
-
-
-_解读以太坊扩容,EIP-4844 — Finematics_
-
-
-
-_通过 Domothy 引入二进制大对象空间 101 — Bankless_
-
-## 扩展阅读{#further-reading}
-
-- [EIP4844.com](https://www.eip4844.com/)
-- [EIP-4844:分片二进制大对象交易 (Proto-Danksharding)](https://eips.ethereum.org/EIPS/eip-4844)
-- [坎昆升级主网公告](https://blog.ethereum.org/2024/02/27/dencun-mainnet-announcement) - _以太坊基金会博客_
-- [以太坊漫游指南:Proto-Danksharding](https://members.delphidigital.io/reports/the-hitchhikers-guide-to-ethereum/#proto-danksharding-eip-4844) - _Jon Charbonneau_
-- [Proto-Danksharding 常见问题](https://notes.ethereum.org/@vbuterin/proto_danksharding_faq) - _Vitalik Buterin_
-- [关于 EIP-4844 的深入解释:坎昆升级的核心](https://medium.com/@ebunker.io/an-in-depth-explanation-of-eip-4844-the-core-of-the-cancun-upgrade-de7b13761d2c) - _Ebunker_
-- [AllCoreDevs 更新 016](https://tim.mirror.xyz/HzH5MpK1dnw7qhBSmzCfdCIxpwpD6DpwlfxtaAwEFro) - _Tim Beiko_
diff --git a/public/content/translations/zh/12) Roadmap 2/roadmap/pbs/index.md b/public/content/translations/zh/12) Roadmap 2/roadmap/pbs/index.md
deleted file mode 100644
index 7e6400213f9..00000000000
--- a/public/content/translations/zh/12) Roadmap 2/roadmap/pbs/index.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-title: 提议者-构建者分离
-description: 学习以太坊验证者如何以及为什么要将区块构建和区块传播职责分离。
-lang: zh
----
-
-# 提议者-构建者分离 {#proposer-builder-separation}
-
-目前,以太坊验证者既构建区块,_也_广播区块。 他们将通过传播网络接收的交易打包成一个区块,然后发送到以太坊网络的对等节点。 **提议者-构建者分离 (PBS) **将这些工作分给多个验证者。 区块构建者将负责创建区块,并在每个时隙将它们提供给区块提议者。 区块提议者无法看到区块的内容,只是选择收益最高的区块,并向区块构建者支付费用,然后将区块发送给对等节点。
-
-进行这次重要升级有多项原因。 首先,它在协议级别创造了防止交易审查的机会。 其次,它防止可以更好地优化区块构建的盈利能力的机构参与者取代业余验证者。 第三,它通过推动 Danksharding 升级帮助拓展了以太坊。
-
-## 提议者-构建者分离和抗审查性 {#pbs-and-censorship-resistance}
-
-将区块构建者和区块提议者分开,大大增加了区块构建者审查交易的难度。 这是因为它可以添加相对复杂的纳入标准,确保在区块提出之前不进行任何审查。 由于区块提议者与区块构建者是不同的实体,它可以承担保护者的角色,防范区块构建者的审查。
-
-例如,可以引入纳入清单,以确保当验证者知道交易但看到它们没有被添加到区块中时,会将其作为下一个区块中必须添加的交易。 纳入清单由区块提议者的本地内存池(其知悉的交易列表)生成,并在提出区块之前发送给对等节点。 如果纳入清单中的任何交易缺失,提议者可以拒绝该区块,在提出区块之前添加缺失的交易,或者提出该区块,然后由其他验证者在接收时拒绝它。 这一想法还有一个可能更高效的版本,要求构建者必须充分利用可用的区块空间,如果他们没有这样做,则从提议者的纳入清单中添加交易。 这一领域仍在研究阶段,纳入清单的最佳配置尚未确定。
-
-[加密内存池](https://www.youtube.com/watch?v=fHDjgFcha0M&list=PLpktWkixc1gUqkyc1-iE6TT0RWQTBJELe&index=3)也可以使构建者和提议者在区块广播之后才能知道他们在区块中添加了哪些交易。
-
-
-
-强大的组织可以对验证者施压,让其对特定地址的交易进行审查。 选择屈服这种压力的验证者会在其交易池中检测被列入黑名单的地址,并将它们从其提议的区块中排除。 在提议者-构建者分离之后,这种情况将不可能再发生,因为区块提议者将不知道他们在区块中要广播哪些交易。 对于特定个体或应用程序,可能需要遵守审查规则,例如当他们所在地区的审查规则成为法律要求时。 在这些情况下,要在应用程序层面遵循审查要求,而协议仍然应保持无需许可和免受审查的状态。
-
-
-
-## 提议者-构建者分离和最大可提取价值 {#pbs-and-mev}
-
-**最大可提取价值 (MEV)**是指验证者通过对交易进行对其有利的排序,使其收益最大化。 常见的例子包括在去中心化交易所进行套利交换(如提前进行大额买卖)或寻找机会清算去中心化金融头寸。 将最大可提取价值最大化需要复杂的技术知识,还需要普通验证者安装定制软件,因此机构运营商在获取最大可提取价值方面极有可能胜过个人和业余验证者。 这意味着,中心化运营商的质押回报可能更高,从而形成一种中心化力量,抑制自行质押。
-
-提议者-构建者分离通过重新配置最大可提取价值的经济原理解决了这一问题。 区块提议者无需自行搜索最大可提取价值,只需从区块构建者提供的众多区块中挑选一个即可。 区块构建者可能已经完成了复杂的最大可提取价值提取工作,但其奖励归区块提议者所有。 这意味着,即使一小部分专业的区块构建者主导了最大可提取价值的提取,但奖励由网络上的任何验证者(包括个体和家庭质押人)获得。
-
-
-
-由于复杂的最大可提取价值策略提供了更高的回报,可以激励个人使用资金池质押,而非使用自有资金质押。 将区块构建与区块提出分开,意味着提取的最大可提取价值将被分配给更多的验证者,而不是集中在可以最有效地搜索最大可提取价值的验证者。 同时,允许专门的区块构建者存在,可以减轻个人构建区块的负担,也可以防止个人为自己窃取最大可提取值,同时最大程度上增加能够验证区块的诚实性的独立个人验证者的数量。 “证明者与验证者的不对称性”是一项重要概念,是指只要有一个强大的、最大程度去中心化的验证者网络能够证明区块的诚实性,就可以接受中心化的区块生成。 去中心化只是一种手段,而不是最终目标 - 我们想要的是诚实的区块链。
-
-
-## 提议者-构建者分离和 Danksharding {#pbs-and-danksharding}
-
-Danksharding 是可以让以太坊扩展到每秒处理 >100,000 笔交易并最大限度降低卷叠用户手续费的方法。 它依赖于提议者-构建者分离,因为它增加了区块构建者的工作量,要求区块构建者在不到 1 秒的时间内为高达 64 MB 的卷叠数据计算证明。 这可能需要能够为这项工作专门投入非常多的硬件的专业区块构建者。 然而,在目前的情况下,由于最大可提取价值的提取,区块构建可能会越来越集中到更先进、更强大的运营商。 提议者-构建者分离是接受这一现实的一种方式,可以防止其推动区块验证(重要部分)或质押奖励分配的中心化。 此外,还有一个重要的附带好处,那就是专业的区块构建者也愿意并能够计算 Danksharding 所需的数据证明。
-
-## 当前进展 {#current-progress}
-
-现在,提议者-构建者分离正处于高级研究阶段,但是在以太坊客户端推出其原型之前,仍然有一些重要的设计问题需要解决。 目前还没有最终确定的规范。 这意味着实现提议者-构建者分离可能还需要一年甚至更长时间。 点击查看最新[研究现状](https://notes.ethereum.org/@vbuterin/pbs_censorship_resistance)。
-
-## 延伸阅读 {#further-reading}
-
-- [研究现状:提议者-构建者分离的抗审查性](https://notes.ethereum.org/@vbuterin/pbs_censorship_resistance)
-- [有利于提议者-构建者分离的收费市场设计](https://ethresear.ch/t/proposer-block-builder-separation-friendly-fee-market-designs/9725)
-- [提议者-构建者分离和抗审查性](https://notes.ethereum.org/@fradamt/H1TsYRfJc#Secondary-auctions)
-- [纳入清单](https://notes.ethereum.org/@fradamt/H1ZqdtrBF)
diff --git a/public/content/translations/zh/12) Roadmap 2/roadmap/secret-leader-election/index.md b/public/content/translations/zh/12) Roadmap 2/roadmap/secret-leader-election/index.md
deleted file mode 100644
index 5d5c9adc92e..00000000000
--- a/public/content/translations/zh/12) Roadmap 2/roadmap/secret-leader-election/index.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: 秘密领袖选举
-description: 解释秘密领袖选举如何有助于保护验证者免受攻击
-lang: zh
-summaryPoints:
- - 区块提议者的 IP 地址可以提前获知,导致他们容易受到攻击
- - 秘密领袖选举隐藏了验证者的身份,使他们无法被提前获知
- - 这一想法可以进一步扩展,在每个时隙随机选择验证者。
----
-
-# 秘密领袖选举 {#single-secret-leader-election}
-
-在当前基于[权益证明](/developers/docs/consensus-mechanisms/pos)的共识机制中,即将出现的区块提议者的列表是公开的,并且可以映射他们的 IP 地址。 这意味着攻击者可以识别哪些验证者将要提出区块,并针对他们进行拒绝服务 (DOS) 攻击,使他们无法及时提出区块。
-
-这可能为攻击者创造获利的机会。 例如,为时隙 `n+1` 选择的区块提议者可以对时隙 `n` 中的提议者进行拒绝服务攻击,使其错过提出区块的机会。 这样可以让发起攻击的区块提议者提取两个时隙的最大可提取价值,或者获取本应分配到两个区块的所有交易,并将它们全部添加到一个区块,从而获得所有相关费用。 这对家庭验证者的影响可能比先进的机构验证者更大,机构验证者可以使用更先进的方法来保护自己免受拒绝服务攻击,因此可能推动中心化。
-
-这个问题有多种解决方案。 一种是[分布式验证器技术](https://github.com/ethereum/distributed-validator-specs),旨在将与运行验证器相关的各种任务分散到多台机器,以提供冗余,从而大大增加攻击者阻止在特定时隙中提议区块的难度。 然而,最强大的解决方案是**单一秘密领袖选举 (SSLE)**。
-
-## 单一秘密领袖选举 {#secret-leader-election}
-
-在单一秘密领袖选举中,使用巧妙的加密技术来确保只有被选定的验证者知道自己被选中。 要实现这一点,需要让每个验证者提交对他们都知道的秘钥的承诺。 然后将承诺打乱并重新配置,以便没有人可以将承诺映射到验证者,但每个验证者都知道哪个承诺属于自己。 之后,随机选择一个承诺。 如果验证者检测到其承诺被选择,就知道该他们提出一个区块了。
-
-这一想法的主要实现称为 [Whisk](https://ethresear.ch/t/whisk-a-practical-shuffle-based-ssle-protocol-for-ethereum/11763)。 其工作原理如下:
-
-1. 验证者提交共享秘钥的承诺。 承诺方案的设计使得承诺可以绑定到验证者身份,但绑定是随机的,以便没有第三方可以对绑定进行逆向工程,将特定承诺关联到特定验证者。
-2. 在一个时段开始时,使用 RANDAO 选择一组随机验证者来对 16,384 个验证者的承诺进行抽样。
-3. 对于接下来的 8182 个时隙(1 天),区块提议者使用自己的私有熵打乱承诺的子集并随机化。
-4. 打乱后,使用 RANDAO 创建有序的承诺列表。 该列表映射到以太坊时隙。
-5. 验证者看到他们的承诺附加到特定时隙,到该时隙时,他们提出一个区块。
-6. 重复这些步骤,以便给时隙的承诺分配始终远远早于当前时隙。
-
-这可以防止攻击者提前知道哪个特定验证者将提同下一个区块,从而防止拒绝服务攻击。
-
-## 非单一秘密领袖选举 (SnSLE) {#secret-non-single-leader-election}
-
-此外,还有一个单独的提案,旨在创建一个场景,其中每个验证者都有一次随机机会在每个时隙中提出一个区块,类似于工作量证明下的区块提出决定方式,这称为**非单一秘密领袖选举 (SnSLE)**。 要做到这一点,一种简单的方法是利用 RANDAO 函数来随机选择当今协议中的验证者。 RANDAO 的想法是,通过混合许多独立验证者提交的哈希值来生成足够随机的数字。 在非单一秘密领袖选举中,这些哈希值可用于选择下一个区块提议者,例如通过选择最低哈希值。 可以限制有效哈希值的范围,以调整每个时隙中选择单个验证者的可能性。 如果主张哈希值必须小于 `2^256 * 5 / N`,其中 `N` = 活跃验证者的数量,则在每个时隙中选择任何单个验证者的可能性将是 `5/N`。 在此示例中,至少有一个提议者在每个时隙中生成有效哈希的可能性为 99.3%。
-
-## 当前进展 {#current-progress}
-
-单一秘密领袖选举和非单一秘密领袖选举均处于研究阶段。 这两种想法都还没有最终的规范。 单一秘密领袖选举和非单一秘密领袖选举是相互竞争的提案,无法同时实施。 在发布之前,它们还需要更多的研究和开发、原型设计以及在公共测试网上实施。
-
-## 延伸阅读 {#further-reading}
-
-- [非单一秘密领袖选举](https://ethresear.ch/t/secret-non-single-leader-election/11789)
diff --git a/public/content/translations/zh/12) Roadmap 2/roadmap/single-slot-finality/index.md b/public/content/translations/zh/12) Roadmap 2/roadmap/single-slot-finality/index.md
deleted file mode 100644
index 1c2a369b79f..00000000000
--- a/public/content/translations/zh/12) Roadmap 2/roadmap/single-slot-finality/index.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-title: 单时隙确定性
-description: 关于单时隙确定性的解释
-lang: zh
----
-
-# 单时隙确定性 {#single-slot-finality}
-
-目前,以太坊区块大约需要 15 分钟才能最终确定。 然而,我们可以提高以太坊的共识机制验证区块的效率,大幅减少最终确定所需的时间。 区块可以在同一时隙内提议并最终确定,无需等待 15 分钟。 这一概念叫做**单时隙确定性 (SSF)** 。
-
-## 什么是最终确定性? {#what-is-finality}
-
-在以太坊基于权益证明的共识机制中,确定性是指在质押的以太币总数的至少 33% 被销毁之前,保证区块保持原状或继续留在区块链中。 这样可以实现“加密经济学”安全性,因为人们对区块链的信心来自于改变区块链的顺序或内容成本极高,因而理性的经济行为者不会试图这样做。
-
-## 为什么要追求更快实现确定性? {#why-aim-for-quicker-finality}
-
-目前,最终确定区块所需的时间太长。 大多数用户都不希望等待 15 分钟才能最终确定交易,而且对于希望实现高交易吞吐量的应用程序和交易所来说,等待如此长时间才能确定交易是否最终完成也极其不便。 区块提出和最终确定之间的延迟也使得短时间重组有了可乘之机,攻击者可以利用这种方式审查某些区块或提取最大可提取价值 (MEV)。 处理分阶段升级区块的机制也相当复杂,而且已多次打补丁以弥补安全漏洞,这使得它成为以太坊代码库中较容易出现细微漏洞的部分之一。 这些问题都可以通过将最终确定时间缩短到一个时隙来解决。
-
-## 去中心化/时间/费用的权衡 {#the-decentralization-time-overhead-tradeoff}
-
-新区块并非可以立即实现有保证的最终确定性;新区块的最终确定需要时间。 之所以出现这种现象,是因为只有代表网络上的质押以太币总数的至少 2/3 的验证者投票支持("认证"),区块才能被视为最终确定。 网络上的每个验证节点必须处理来自其他节点的认证,才能知道某个区块是否达到了这一 2/3 阈值。
-
-完成最后确认的时间越短,每个节点所需的算力就越强,因为它需要更快地完成认证处理。 此外,网络上的验证节点越多,每个区块需要处理的认证就越多,这也增加了所需的处理能力。 需要的处理能力越强,能参与的人数就越少,因为运行每个验证节点需要更加昂贵的硬件。 延长区块之间的时间可以降低每个节点所需的算力,但也会延长最终确认时间,因为认证的处理速度会变慢。
-
-因此,我们需要在费用(算力)、去中心化(参与验证区块链的节点数量)和最终确定时间之间进行权衡。 理想的系统机制能够平衡最少的算力、最大化的去中心以及最短的最终确定时间。
-
-以太坊现有的共识机制通过以下途径平衡了这三个参数:
-
-- **将最少质押数量设为 32 以太币**。 这就设定了单个节点需要处理的验证者认证数量的上限,因此也设定了每个节点的计算要求上限。
-- **将最终确定时间设置为大约 15 分钟**。 这使得验证者有充足的时间在普通家用计算机运行运算,从而安全地处理每个区块的认证。
-
-根据目前的机制设计,为了减少最终确定的时间,必须减少网络上的验证者数量或者提高每个节点的硬件要求。 不过,我们可以改进处理认证的方式,在不增加每个节点的费用的前提下提高认证处理数量。 更高效的处理将可以在单一时隙内完成最终确定,无需延长至两个时段。
-
-## 单时隙确定性的实现路径 {#routes-to-ssf}
-
-
-
-目前的共识机制结合了多个验证者的认证(这些验证者被称为委员会),以减少每个验证者为验证区块需要处理的信息数量。 每个验证者都有机会在每个时段(32 个时隙)认证,但在每个时隙内,只有一部分验证者可以认证,这称为“委员会”认证。 为此,他们被分为几个子网,其中几个验证者被选为“聚合者”。 每个这些聚合者将他们在其所在子网内看到的其他验证者的所有签名合并为单一聚合签名。 聚合最多个人签名的聚合者将聚合签名传送给区块提议者,后者将该聚合签名与其他委员会的聚合签名一起添加到区块。
-
-通过此过程,每个验证者完全可以在每个时段中投票,因为“32 个时隙*64 个委员会*每一个委员会 256 个验证者=每个时段 524,288 个验证者”。 在本文章撰写时(2023 年 2 月),有大约 513,000 个活跃验证者。
-
-按照这一方案,每个验证者只能在整个时段中通过分发他们的认证对区块投票。 然而,我们或许可以改进此机制,让每个验证者有机会在每个时隙内进行认证。
-
-
-自从以太坊共识机制设计问世以来,签名汇总方案 (BLS) 已经被证明比原先设想的扩展性更强,同时客户端处理和验证签名的能力也得到了提升。 事实证明,大量验证者在单时隙内处理认证是可行的。 例如,如果单时隙内一百万个验证者投票两次,时隙时间调整为 16 秒,则节点需要以每秒至少125,000 次聚合的速度认证签名,才能在单时隙内处理一百万次认证。 实际上,一台普通的计算机完成一次签名验证大约需要 500 纳秒,也就是说 125,000 次签名验证可以在大约 62.5 毫秒内完成 — 这远远低于 1 秒的阈值。
-
-通过创建超级委员会能够进一步提高效率,例如每个时隙随机选择 125,000 个验证者。 只有这些验证者才能对区块进行投票,因此只有这一部分的验证者能够决定是否最终确定区块。 这个想法是否可行取决于社区希望成功攻击以太坊的成本有多高。 这是因为攻击者获得_相应超级委员会_中三分之二的质押以太币,就可以最终确定不诚实的区块,无需获得三分之二的质押以太币总数。 这仍然是一个积极的研究领域,但有一点似乎有道理,对于一个大到需要首先成立超级委员会的验证者集合而言,攻击那些小委员会的成本会非常高(例如:以以太币为单位,攻击成本将是`2/3*125,000*32=~2,600,000 以太币`)。 攻击成本可以通过扩大验证者集合的规模进行调整(例如:调整验证者的规模,使攻击成本等于一百万以太币、四百万以太币、一千万以太币等)。 社区的[初步意见调查](https://youtu.be/ojBgyFl6-v4?t=755)似乎表明,一百万到两百万以太币是可接受的攻击成本,这意味着每个超级委员会约有 65,536 到 97,153 个验证者。
-
-然而,验证并不是真正的瓶颈 — 验证者节点的真正挑战是签名聚合。 要扩容签名聚合,可能需要增加每个子网中的验证者数量,增加子网的数量,或者增加额外聚合层(也就是说,设置委员会的委员会)。 部分解决措施可能是允许存在专业的聚合者 — 类似于通过提议者-构建者分离和 Danksharding,将区块构建和生成卷叠数据的承诺外包给专业区块构建者的做法。
-
-## 在单时隙确定性中,分叉选择规则的作用是什么? {#role-of-the-fork-choice-rule}
-
-目前的共识机制依赖于确定性工具(决定三分之二的验证者是否已经认证某个区块链的算法)和分叉选择规则(决定在面临多种选择时哪一区块链是正确选择的算法)的紧密结合。 分叉选择算法只考虑最后一个确定的区块_之后_的区块。 在单时隙确定性下,不会有分叉选择规则要考虑任何区块,因为区块的确认时隙与提议时隙相同。 这意味着在单时隙确定性下,_要么_分叉选择算法,_要么_确定性工具,将会随时保持活跃。 确定性工具会最终确定三分之二的验证者在线并诚信认证的区块。 如果一个区块不能超过这一三分之二阈值,那么分叉选择规则将会确定遵循哪条区块链。 这也为维持怠惰惩罚机制创造了机会,这种机制能够收回> 1/3 的验证者离线的区块链(有一些额外的细微差别)。
-
-## 未解决的问题 {#outstanding-issues}
-
-通过增加每个子网的验证者数量来扩容聚合的问题是,这会导致点对点网络的负载增加。 添加聚合层的问题是,这设计起来非常复杂并且会增加延迟(也就是说,它会让区块提议者接收所有子网聚合者的消息的时间延长)。 即使使用 BLS 签名聚合,也不清楚如何处理网上活跃的验证者数量超过了每个时隙的处理能力的情况。 一种可能的解决方法是,由于所有验证者都在每个时隙内认证并且在单时隙确定性下没有委员会,可完全取消有效余额 32 个以太币的上限,这意味着管理多个验证者的运营商能够合并它们的质押并减少运行的验证者,从而减少验证节点需要处理的信息数量,满足整个验证者集合的需求。 这取决于大质押人是否同意合并他们的验证者。 也可以对任何时间的验证者数量或者质押的以太币数量设置固定上限。 然而,这需要建立相应机制,决定允许哪些验证者参与,禁止哪些验证者参与,这种机制容易产生不希望的附带影响。
-
-## 当前进展 {#current-progress}
-
-单时隙确定性正处于研究阶段。 预计它不会在几年内推出,可能会在[沃克尔树](/roadmap/verkle-trees/)和 [Danksharding](/roadmap/danksharding/) 等其他重大升级之后推出。
-
-## 延伸阅读 {#further-reading}
-
-- [Vitalik 在 2022 年全球区块链技术前沿系列峰会关于单时隙确定性的演讲](https://www.youtube.com/watch?v=nPgUKNPWXNI)
-- [Vitalik 的说明:通往单时隙确定性的路径](https://notes.ethereum.org/@vbuterin/single_slot_finality)
diff --git a/public/content/translations/zh/12) Roadmap 2/roadmap/statelessness/index.md b/public/content/translations/zh/12) Roadmap 2/roadmap/statelessness/index.md
deleted file mode 100644
index fc43f529978..00000000000
--- a/public/content/translations/zh/12) Roadmap 2/roadmap/statelessness/index.md
+++ /dev/null
@@ -1,103 +0,0 @@
----
-title: 无状态性、状态数据到期和历史数据到期
-description: 历史数据到期和无状态以太坊的解释
-lang: zh
----
-
-# 无状态性、状态数据到期和历史数据到期 {#statelessness}
-
-对于实现真正的去中心化来说,能够在普通硬件上运行以太坊节点至关重要。 这是因为运行节点使用户通过独立进行加密检查来验证信息,而不是依赖第三方提供数据。 运行节点可以让用户直接将交易提交到以太坊对等网络,无需依赖中介。 如果只有拥有昂贵硬件的用户才能享受这些好处,去中心化就不可能实现。 相反,运行节点的处理和内存方面的要求应该非常普通,以便节点可以在手机、微型计算机上运行,或者在家用计算机上运行而几乎不被注意到。
-
-今天,高磁盘空间要求是阻碍大众访问节点的主要障碍。 这主要是因为需要存储以太坊的大量状态数据。 这种状态数据包含处理新区块和交易所必需的关键信息。 截至本文撰写时,建议使用 2TB 的高速固态硬盘运行以太坊全节点。 对于不删除任何旧数据的节点来说,存储需求每周增长约 14GB,而存储自创世块以来的所有数据的存档节点已接近 12TB(截至本文撰写时,即 2023 年 2 月)。
-
-较便宜的硬盘驱动器用于存储较久远的数据,但它们运行速度太慢,无法应对传入的区块。 保持现有的客户端存储模式的同时使数据存储更加便宜和方便,只是这一问题的暂时性不完全解决方法,因为以太坊的状态增长是“无限的”,这意味着存储要求只会不断增加,技术改进必须一直跟上状态增长的步伐。 相反,客户端必须寻找在不依赖于查阅本地数据库数据的情况下核对区块和交易的新方式。
-
-## 减少节点存储量 {#reducing-storage-for-nodes}
-
-有多种方法可以减少每个节点需要存储的数据量,每种方法都要求对以太坊的核心协议进行不同程度的更新:
-
-- **历史数据到期**:可以让节点删除早于 X 区块的状态数据,但不能改变以太坊客户端处理状态数据的模式
-- **状态数据过期**:让不常用的状态数据进入非活跃状态。 不活跃的数据在重新恢复前会被客户端忽略。
-- **弱无状态性**:只有区块生产者需要访问完整的状态数据,其他节点能够在没有本地状态数据库的情况下验证区块。
-- **强无状态性**:没有节点需要访问完整的状态数据。
-
-## 数据到期 {#data-expiry}
-
-### 历史数据到期 {#history-expiry}
-
-历史数据到期是指客户端删除它们不可能再需要的旧数据,以便仅存储一小部分历史数据,在新数据传入时丢弃旧数据。 客户端需要历史数据的原因有两个:同步和服务数据请求。 最初,客户端必须与从创世区块一直到链头区块的所有区块同步,以验证每个后续区块都正确。 如今,客户端使用“弱主观性检查站”向链头区块引导。 这些检查点都是受信任的起始点,类似于接近当前区块的创世区块,而不是最初的以太坊创世区块。 这意味着客户端能够丢弃最近的弱主观性检查点之前的所有信息,而不会失去同步到链头区块的能力。 客户端目前通过从本地数据库提取历史数据来服务历史数据请求(通过 JSON-RPC 发送)。 然而,在实施历史数据到期后,如果请求的数据已经被删除,将无法服务这类请求。 此时,提供此类历史数据需要一些创新方法。
-
-一种方案是客户端使用门户网络等方法向其他客户端索取历史数据。 门户网络是一个在开发中的用于提供历史数据的对等网络,其中每个节点存储一小部分以太坊历史数据,因此全部历史数据分散存在整个网络。 它通过寻找存储相关数据的节点并且向其索取数据来服务数据请求。 由于要求访问历史数据的基本都是应用程序,因此也可以让它们负责存储数据。 以太坊空间内也可能有足够的无私行为者愿意维护历史档案。 这可能是一个旨在管理历史数据存储的去中心化自治组织,它最好结合了所有这些方案。 这些提供者能够以多种方式提供数据,例如通过 torrent、FTP、菲乐币或者星际文件系统。
-
-历史数据到期在某种程度上有争议,因为到目前为止以太坊一直在隐晦地保证任何历史数据的可用性。 从创世块开始完全同步已经成为标准做法,即使它依赖通过快照重建一些较早的数据。 历史数据到期将提供这种保证的责任移出了以太坊核心协议。 如果它是最终能提供历史数据的中心化组织,将会带来新的审查风险。
-
-EIP-4444 尚未准备好上线,但在积极讨论中。 有趣的是,EIP-4444 所面临的挑战的技术性并不是那么强,主要在社区管理方面。 要让它上市,需要社区加入,其中包括可信赖实体不仅要同意,还要承诺存储和提供历史数据。
-
-此升级没有从根本上改变以太坊节点处理状态数据的方式,它仅仅改变了历史数据的访问方式。
-
-### 状态数据到期 {#state-expiry}
-
-状态数据到期是指从单个节点中删除最近未访问的状态数据。 可以采取以下几种方式实施:
-
-- **租金到期**:向帐户收取租金并且在租金为零后,将帐户视为到期
-- **时间到期**:如果某帐户在一段时间没有读写操作,让该帐户进入不活跃状态
-
-租金到期可以向希望保留在活跃的状态数据库中的帐户直接收取租金。 时间到期可以从最后一次帐户交互开始倒计时,也可以为所有帐户设置定期到期。 此外,还可以采用一些机制将时间和租金模式的元素结合到一起,例如,如果某帐户在时间到期之前支付了小额费用,将保持活跃状态。 对于状态数据到期,必须注意到不活跃的状态数据**未被删除**,它只是与活跃的状态数据分开存储。 不活跃的状态数据可以重新恢复到活跃状态。
-
-要实现这一点,或许可以创建有特定期限(可能约一年)的状态树。 当新的时段开始时,一个全新的状态树也随之创建。 只有当前状态树可以修改,其他所有状态数都不可修改。 以太坊节点只能保持现有的状态树和之前一个状态树。 这就需要用一种方法根据地址存在的时段给地址盖上时间戳。 [可能有几种方法](https://ethereum-magicians.org/t/types-of-resurrection-metadata-in-state-expiry/6607)可以做到这一点,但最重要的一种方法需要将[地址加长](https://ethereum-magicians.org/t/increasing-address-size-from-20-to-32-bytes/5485)以容纳额外的信息,此加长地址还更加安全。 在路线图中,这项升级被称为[地址空间扩展](https://ethereum-magicians.org/t/increasing-address-size-from-20-to-32-bytes/5485)
-
-与历史数据到期相同,在执行状态数据到期后,存储旧状态数据的责任会从个别用户转移至中心化提供商等其他实体、无私的社区成员,或门户网络等的更具前瞻性的去中心化解决方案。
-
-状态数据到期机制仍处于研究阶段,还未准备好上线。 状态数据到期的上线时间可能会比无状态客户端和历史数据到期晚,因为那些升级能够让大部分验证者轻松管理占用庞大空间的状态数据。
-
-## 无状态性 {#statelessness}
-
-无状态性一词有些误导性,因为它并不意味着“状态”的概念被完全消除,而是会改变以太坊节点处理状态数据的方式。 无状态性本身有两种形式:弱无状态性和强无状态性。 弱无状态性通过将存储状态数据的责任转给少数节点,从而让大部分节点实现无状态化。 强无状态性则会使所有节点无需再存储完整的状态数据。 这两种无状态性都会为普通验证者带来如下好处:
-
-- 近乎及时的同步速度
-- 无需按顺序验证区块
-- 将运行节点的硬件要求降至极低(例如在手机上运行)
-- 因为无需再进行读/写操作,所以节点可以在廉价硬盘上运行
-- 和以太坊加密技术的未来升级兼容
-
-### 弱无状态性 {#weak-statelessness}
-
-弱无状态性会更改以太坊节点验证状态变化的方式,但它并不会完全消除网络中所有节点存储状态的需求。 相反,弱无状态性会将状态存储的责任交给区块提议者,同时网络中的所有其他节点无需存储完整的状态数据即可验证区块。
-
-**在弱无状态性中,提出区块需要访问完整的状态数据,但验证区块不需要状态数据**
-
-要实现这一点,以太坊客户端中必须已经实施[沃克尔树](/roadmap/verkle-trees/)。 沃克尔树是一种用于存储以太坊状态数据的替代数据结构,可以在对等节点之间传递固定大小的较小“见证”数据以验证区块,而不是根据本地数据库验证区块。 此外,还需要实施[提议者-构建者分离](/roadmap/pbs/),因为这可以让区块构建者成为拥有更强大硬件的专业节点,而这些节点需要访问完整的状态数据。
-
-
-
-无状态性依赖于区块构建者保存完整状态数据的副本,以便生成可用于验证区块的见证。 其他节点不需要访问状态数据,验证区块所需的所有信息都可以在见证中获得。 这就造成了一种情况,即提出区块的成本很高,但验证区块的成本很低,这意味着运行区块提出节点的运营商会越来越少。 不过,只要有尽可能多的参与者能够独立验证区块提议者提出的区块是否有效,区块提议者的去中心化并不重要。
-
-阅读 Dankrad 的说明,了解更多信息
-
-
-区块提议者使用状态数据创建“见证” - 证明区块中的交易正在改变的状态值的最小数据集。 其他验证者并不持有状态数据,它们只存储状态根(整个状态的哈希值)。 它们接收区块和见证,并使用它们来更新状态根。 这使得验证节点变得非常轻量。
-
-弱无状态性现在处于高级研究阶段,但它依赖于提议者-构建者分离和沃克尔树的实施,以便在对等节点之间传递小见证。 这意味着弱无状态性可能还需要几年时间才可以在以太坊主网实现。
-
-### 强无状态性 {#strong-statelessness}
-
-强无状态性不需要任何节点存储状态数据。 取而代之的是,交易可以通过由区块生产者汇总的见证发送。 区块生产者只负责存储为相关帐户生成见证所需的状态数据。 因为用户发送见证和“访问列表”来声明他们正在与哪些帐户和存储密钥进行交互,所以状态存储责任几乎完全由用户来承担。 这样会使节点变得极为轻量,但也存在一些折中,例如节点更难与智能合约进行交易。
-
-研究人员已经对强无状态性进行了研究,但目前预计强无状态性不会成为以太坊路线图的一部分,更加可能的是,弱无状态性已足以满足以太坊的扩容需求。
-
-## 当前进展 {#current-progress}
-
-弱无状态性、历史数据到期和状态数据到期都处于研究阶段,预计几年后才会上线。 我们不能保证所有这些提案都能实现,例如,如果首先实现了状态数据到期,可能就不需要再实现历史数据到期。 此外,还需要首先完成其他路线图项目,例如[沃克尔树](/roadmap/verkle-trees)和[提议者-构建者分离](/roadmap/pbs)。
-
-## 延伸阅读 {#further-reading}
-
-- [Vitalik 关于无状态性的相关问答](https://www.reddit.com/r/ethereum/comments/o9s15i/impromptu_technical_ama_on_statelessness_and/)
-- [一种状态规模管理理论](https://hackmd.io/@vbuterin/state_size_management)
-- [重新恢复冲突最小化状态边界](https://ethresear.ch/t/resurrection-conflict-minimized-state-bounding-take-2/8739)
-- [实现无状态性的途径和状态数据到期](https://hackmd.io/@vbuterin/state_expiry_paths)
-- [EIP-4444 规范](https://eips.ethereum.org/EIPS/eip-4444)
-- [Alex Stokes 关于 EIP-4444 的讲解](https://youtu.be/SfDC_qUZaos)
-- [为什么无状态性如此重要?](https://dankradfeist.de/ethereum/2021/02/14/why-stateless.html)
-- [关于最初无状态客户端概念的说明](https://ethresear.ch/t/the-stateless-client-concept/172)
-- [更多关于状态数据到期的信息](https://hackmd.io/@vbuterin/state_size_management#A-more-moderate-solution-state-expiry)
-- [更多关于状态数据到期的信息](https://hackmd.io/@vbuterin/state_expiry_paths#Option-2-per-epoch-state-expiry)
diff --git a/public/content/translations/zh/12) Roadmap 2/roadmap/verkle-trees/index.md b/public/content/translations/zh/12) Roadmap 2/roadmap/verkle-trees/index.md
deleted file mode 100644
index 8420f9b6554..00000000000
--- a/public/content/translations/zh/12) Roadmap 2/roadmap/verkle-trees/index.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-title: 沃克尔树
-description: 沃克尔树的简要描述以及将如何用于升级以太坊
-lang: zh
-summaryPoints:
- - 了解沃克尔树是什么
- - 理解为什么沃克尔树是以太坊的重要升级
----
-
-# 沃克尔树 {#verkle-trees}
-
-沃克尔树("Vector commitment" 和 "Merkle Trees" 的组合)是一种数据结构,可用于升级以太坊节点,使其能够不再存储大量状态数据,同时不失去验证区块的能力。
-
-## 无状态性 {#statelessness}
-
-沃克尔树是实现无状态以太坊客户端的关键一步。 无状态客户端是指不需要为了验证传入的区块而存储整个状态数据库的客户端。 无状态客户端使用与区块一同传来的状态数据的“见证”来验证区块,而非使用以太坊状态数据的本地拷贝。 见证是执行一组特定交易所需的单个状态数据片段的集合,以及表明见证确实是完整数据的一部分的加密证据。 见证用于_替代_状态数据库。 要做到这一点,见证需要非常小,以便能够安全地在网络上广播并被验证者在 12 秒的时隙内处理。 当前的状态数据结构不合适,因为它形成的见证太大。 沃克尔树通过实现小型见证解决了这个问题,从而消除了无状态客户端的主要障碍之一。
-
-
-
-以太坊客户端目前使用一种名为默克尔帕特里夏树的数据结构来存储其状态数据。 单个帐户的信息被存储为该树的叶子,然后对这些叶子反复进行哈希处理,直到只剩下一个哈希值。 这个最终的哈希值被称为“根”。 为了验证区块,以太坊客户端需要执行区块中的所有交易并更新它们的本地状态树。 如果本地树的根与区块提议者提供的相同,则该区块被视为有效,因为区块提议者和验证节点进行的计算如有任何差异,都会导致根哈希值完全不同。 这样做的问题在于验证区块链要求每个客户端存储链头区块以及一些历史区块的整个状态树(Geth 中的默认设置是保存链头区块之后 128 个区块的状态数据)。 这要求客户端有非常大的磁盘空间,这成为在低成本、低功耗硬件上运行全节点的障碍。 一个解决方案是将状态树更新为一个更高效的结构(沃克尔树),该结构可以被概括为使用可以分享的小型数据“见证”来代替完整的状态数据。 将状态数据的形式改为沃克尔树是迈向无状态客户端的重要一步。
-
-
-
-## 什么是见证?我们为什么需要它们? {#what-is-a-witness}
-
-验证区块意味着重新执行区块中包含的交易,将更改应用到以太坊的状态数,并计算新的根哈希值。 区块经过验证是指,计算出的状态根哈希值与随该区块提供的根哈希值相同(因为这意味着区块提议者确实进行了他们所说的计算)。 在当今的以太坊客户端中,更新状态需要访问整个状态数,而它是一个必须本地存储的非常大的数据结构。 见证只包含执行区块中的交易所需的状态数据片段。 验证者只能使用这些片段来验证区块提议者是否正确执行了区块交易并更新了状态。 然而,这意味着见证需要在以太坊网络的对等节点之间非常快速地传输,能够在 12 秒的时隙内被每个节点安全地接收和处理。 如果见证过大,一些节点可能需要很长时间才能下载并跟上区块链的进度。 这会推动中心化,因为它意味着只有拥有快速互联网连接的节点才能参与验证区块。 有了沃克尔树,就无需将状态存储在硬盘上;验证区块所需的_一切信息_都包含在区块本身中。 遗憾的是,默克尔树产生的见证过于庞大,无法支持无状态客户端。
-
-## 为什么沃克尔树可以实现更小的见证? {#why-do-verkle-trees-enable-smaller-witnesses}
-
-默克尔树的结构使得见证非常大,无法在 12 秒的时隙内被安全地在对等节点之间广播。 这是因为见证是连接数据(保存在叶子中)和根哈希值的路径。 要验证数据,不仅需要有连接每个叶子和根节点的所有中间哈希值,还需要有所有“同级”节点。 证明中的每个节点都有一个同级节点,需要与之进行哈希运算以创建树上的下一个哈希值。 这需要大量数据。 沃克尔树缩短了树叶与树根之间的距离,并且不再要求为了验证根哈希值而提供同级节点,从而缩小了见证。 使用功能强大的多项式承诺方案替代哈希式的向量承诺,可以获得更高的空间效率。 多项式承诺允许固定大小的见证,无论它证明的叶子数量有多少。
-
-在多项式承诺方案下,见证的大小是可控的,可以轻松在对等网络上传输。 这样,客户端就能以最小的数据量验证每个区块的状态变化。
-
-
-
-见证的大小取决于它所包含的叶子的数量。 假设见证包含 1000 片叶子,在默克尔树中见证大小约为 3.5MB(假设该树有 7 个层级)。 而在沃克尔树(假设该树有 4 个层级)中,相同数据的见证大小约为 150 kB - **小了约 23 倍**。 见证的缩小将使无状态客户端见证的大小达到可接受的程度。 根据使用的特定多项式承诺,多项式见证的大小为 0.128 -1 kB。
-
-
-
-## 沃克尔树的结构是什么? {#what-is-the-structure-of-a-verkle-tree}
-
-沃克尔树是 `(key,value)` 对,其中键是 32 字节元素,由一个 31 字节的_词干_和一个单字节的_后缀_组成。 这些键分为_扩展_节点和_内部_节点。 扩展节点代表一个单一的词干,包含 256 个不同后缀的子节点。 内部节点也有 256 个子节点,但它们可以是其他扩展节点。 沃克尔树和默克尔树结构的主要区别在于,沃克尔树更扁平,这意味着连接叶子和根的中间节点更少,因此生成证明所需的数据也更少。
-
-![](./verkle.png)
-
-[阅读更多关于沃克尔树结构的信息](https://blog.ethereum.org/2021/12/02/verkle-tree-structure)
-
-## 当前进展 {#current-progress}
-
-沃克尔树测试网已经启动并运行,但要支持沃克尔树,还需要对客户端进行大量更新。 你可以通过在测试网部署智能合约或运行测试网客户端来帮助加速这一进程。
-
-[探索 Verkle Gen Devnet 2 测试网](https://verkle-gen-devnet-2.ethpandaops.io/)
-
-[观看 Guillaume Ballet 讲解 Condrieu 沃克尔测试网](https://www.youtube.com/watch?v=cPLHFBeC0Vg)(注意,Condrieu 测试网采用工作量证明机制,现已被 Verkle Gen Devnet 2 测试网取代)。
-
-## 延伸阅读 {#further-reading}
-
-- [沃克尔树实现无状态](https://verkle.info/)
-- [Dankrad Feist 在 PEEPanEIP 上关于沃克尔树的讲解](https://www.youtube.com/watch?v=RGJOQHzg3UQ)
-- [Guillaume Ballet 在 ETHGlobal 上关于沃克尔树的讲解](https://www.youtube.com/watch?v=f7bEtX3Z57o)
-- [Guillaume Ballet 在 Devcon 6 上的演讲“沃克尔树如何让以太坊变得高效精简”](https://www.youtube.com/watch?v=Q7rStTKwuYs)
-- [Piper Merriam 在 2020 年 ETHDenver 大会上关于无状态客户端的讲解](https://www.youtube.com/watch?v=0yiZJNciIJ4)
-- [Dankrad Fiest 在 Zero Knowledge 播客上关于沃克尔树和无状态性的讲解](https://zeroknowledge.fm/episode-202-stateless-ethereum-verkle-tries-with-dankrad-feist/)
-- [Vitalik Buterin 关于沃克尔树的讲解](https://vitalik.eth.limo/general/2021/06/18/verkle.html)
-- [Dankrad Feist 关于沃克尔树的讲解](https://dankradfeist.de/ethereum/2021/06/18/verkle-trie-for-eth1.html)
-- [沃克尔树的以太坊改进提案](https://notes.ethereum.org/@vbuterin/verkle_tree_eip#Illustration)
diff --git a/public/content/translations/zh/13) Foundational Docs/developers/docs/accounts/index.md b/public/content/translations/zh/13) Foundational Docs/developers/docs/accounts/index.md
deleted file mode 100644
index 85bab19bd78..00000000000
--- a/public/content/translations/zh/13) Foundational Docs/developers/docs/accounts/index.md
+++ /dev/null
@@ -1,136 +0,0 @@
----
-title: 以太坊帐户
-description: 对 以太坊帐户的解释--它们的数据结构以及它们与密钥对密码学的关系。
-lang: zh
----
-
-一个以太坊帐户是一个具有以太币 (ETH) 余额的实体,可以在以太坊上发送交易。 帐户可以由用户控制,也可以作为智能合约部署。
-
-## 前提条件 {#prerequisites}
-
-为了帮助你更好地理解这个页面,我们建议你首先阅读我们的[以太坊简介](/developers/docs/intro-to-ethereum/)。
-
-## 帐户类型 {#types-of-account}
-
-以太坊有两种帐户类型:
-
-- 外部所有的帐户 (EOA) – 由任何拥有私钥的人控制
-- 合约帐户 – 部署到网络上的智能合约,由代码控制。 了解[智能合约](/developers/docs/smart-contracts/)。
-
-这两种帐户类型都能:
-
-- 接收、持有和发送 ETH 和 token
-- 与已部署的智能合约进行交互
-
-### 主要区别 {#key-differences}
-
-**外部持有**
-
-- 创建帐户是免费的
-- 可以发起交易
-- 外部所有的帐户之间只能进行以太币和代币交易
-- 由一对加密密钥组成:控制帐户活动的公钥和私钥
-
-**合约**
-
-- 创建合约存在成本,因为需要使用网络存储空间
-- 只能在收到交易时发送交易
-- 从外部帐户向合约帐户发起的交易能触发可执行多种操作的代码,例如转移代币甚至创建新合约
-- 合约帐户没有私钥。 相反,它们由智能合约代码逻辑控制
-
-## 理解帐户 {#an-account-examined}
-
-以太坊帐户有四个字段:
-
-- `nonce` - 一个计数器,用来显示外部帐户发送的交易数量或合约帐户创建的合约数量。 每个帐户只能执行具有一个给定随机数的一笔交易,以防范重放攻击,重放攻击指多次广播和重复执行已签署的交易。
-- `balance` – 这个地址拥有的 Wei 数量。 Wei 是以太币的计数单位,每个 ETH 有 1e+18 个 Wei。
-- `codeHash` - 该哈希表示以太坊虚拟机 (EVM) 上的帐户_代码_。 合约帐户具有编程的代码片段,可以执行不同的操作。 如果帐户收到消息调用,则执行此 EVM 代码。 与其他帐户字段不同,不能更改。 所有代码片段都被保存在状态数据库的相应哈希下,供后续检索。 此哈希值称为 codeHash。 对于外部所有的帐户,codeHash 字段是空字符串的哈希。
-- `storageRoot` – 有时被称为存储哈希。 Merkle Patricia trie 根节点的 256 位哈希已编码了帐户的存储内容(256 位整数值映射),并编码为 Trie,作为来自 256 的 Keccak 256 位哈希的映射位整数键,用于 RLP 编码的256位整数值。 此 Trie 对此帐户存储内容的哈希进行编码,默认情况下为空。
-
-![显示帐户组成部分的图表](./accounts.png) _示意图节选自[以太坊虚拟机图解](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
-
-## 外部持有的帐户和密钥对 {#externally-owned-accounts-and-key-pairs}
-
-帐户由一对加密密钥组成:公钥和私钥。 它们有助于证明交易实际上是由发送者签名的,并防止伪造。 你的私钥是你用来签名交易的密钥,所以它保障你对与自己帐户相关的资金进行管理。 你从未真正持有加密货币,你持有私钥 – 资金总是在以太坊的账本上。
-
-这将防止恶意参与者广播虚假交易,因为你总是可以验证交易的发送者。
-
-如果 Alice 想要从她自己的帐户发送 ETH 到 Bob 的帐户,Alice 需要创建交易请求并将其发送到网络进行验证。 以太坊对公钥加密的使用确保了 Alice 可以证明她最初发起了交易请求。 没有加密机制,恶意对手 Eve 可以简单地公开广播一个看起来像“从 Alice 的帐户发送 5 ETH 到 Eve 帐户”的请求。而且没有人能够证实请求不是由 Alice 发送。
-
-## 帐户创建 {#account-creation}
-
-当你想要创建一个帐户时,大多数程序库会生成一个随机私钥。
-
-私钥由 64 个十六进制字符组成,可以用密码加密保存。
-
-例如:
-
-`fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036415f`
-
-使用[椭圆曲线加密法](https://wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm)从私钥生成公钥。 通过获取公钥 Keccak-256 哈希的最后 20 个字节并校验码前面添加 `0x`,可以为帐户获取公共地址。
-
-这意味着外部帐户 (EOA) 有一个 42 字符的地址( 20 字节区块,即 40 个十六进制字符,加上 `0x` 前缀)。
-
-例如:
-
-`0x5e97870f263700f46aa00d967821199b9bc5a120`
-
-下面的示例显示如何使用一种名为 [Clef](https://geth.ethereum.org/docs/tools/clef/introduction) 的签名工具生成一个新帐户。 Clef 是一个集成在以太坊客户端 [Geth](https://geth.ethereum.org) 中的帐户管理和签名工具。 `clef newaccount` 命令创建一个新的密钥对并保存在加密的密钥库中。
-
-```
-> clef newaccount --keystore
-
-Please enter a password for the new account to be created:
->
-
-------------
-INFO [10-28|16:19:09.156] Your new key was generated address=0x5e97870f263700f46aa00d967821199b9bc5a120
-WARN [10-28|16:19:09.306] Please backup your key file path=/home/user/go-ethereum/data/keystore/UTC--2022-10-28T15-19-08.000825927Z--5e97870f263700f46aa00d967821199b9bc5a120
-WARN [10-28|16:19:09.306] Please remember your password!
-生成帐户 0x5e97870f263700f46aa00d967821199b9bc5a120
-```
-
-[Geth 相关文档](https://geth.ethereum.org/docs)
-
-可以通过你的私钥获取公钥,但你不能通过公钥获取私钥。 确保私钥的安全性,以及顾名思义,**私密性**,至关重要。
-
-你需要一个私钥来签署消息和交易并输出签名。 然后其他人可以使用签名获取你的公钥,证明信息的作者。 在你的应用程序中,你可以使用 JavaScript 程序库向网络发送交易。
-
-## 合约帐户 {#contract-accounts}
-
-合约帐户也有一个 42 个字符组成的十六进制地址:
-
-例如:
-
-`0x06012c8cf97bead5deae237070f9587f8e7a266d`
-
-合约地址通常在将合约部署到以太坊区块链时给出。 地址产生自创建人的地址和从创建人地址发送的交易数量(“nonce”)。
-
-## 验证者密钥 {#validators-keys}
-
-以太坊还有一另种类型的密钥,它们是在以太坊从工作量证明过渡到权益证明共识时引入的。 它们是“BLS”密钥,用来识别验证者。 这些密钥可以有效地聚合,减少网络达成共识所需要的带宽。 没有这种密钥集合,验证者的最小质押金额将会高出许多。
-
-[更多关于验证者密钥的信息](/developers/docs/consensus-mechanisms/pos/keys/)。
-
-## 关于钱包的说明 {#a-note-on-wallets}
-
-帐户和钱包不同。 钱包是一个界面或应用程序,可让你与以太坊帐户(外部帐户或合约帐户)进行交互。
-
-## 视频演示 {#a-visual-demo}
-
-跟随 Austin 了解哈希函数和密钥对。
-
-
-
-
-
-## 延伸阅读 {#further-reading}
-
-- [了解以太坊帐户](https://info.etherscan.com/understanding-ethereum-accounts/) - etherscan
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
-
-## 相关主题 {#related-topics}
-
-- [智能合约](/developers/docs/smart-contracts/)
-- [交易](/developers/docs/transactions/)
diff --git a/public/content/translations/zh/13) Foundational Docs/developers/docs/blocks/index.md b/public/content/translations/zh/13) Foundational Docs/developers/docs/blocks/index.md
deleted file mode 100644
index 946bb76052c..00000000000
--- a/public/content/translations/zh/13) Foundational Docs/developers/docs/blocks/index.md
+++ /dev/null
@@ -1,152 +0,0 @@
----
-title: 区块
-description: 以太坊区块链中区块的概述 – 其数据结构、存在的意义以及区块如何生成
-lang: zh
----
-
-区块是指一批交易的组合,并且包含链中上一个区块的哈希。 这将区块连接在一起(成为一个链),因为哈希是从区块数据中加密得出的。 这可以防止欺诈,因为以前的任何区块中的任何改变都会使后续所有区块无效,而且所有哈希都会改变,所有运行区块链的人都会注意到。
-
-## 前提条件 {#prerequisites}
-
-区块是一个对初学者非常友好的主题。 为了帮助你更好地理解这个页面,我们建议你先阅读[帐户](/developers/docs/accounts/)、[交易](/developers/docs/transactions/)和我们的[以太坊简介](/developers/docs/intro-to-ethereum/)。
-
-## 为什么要有区块? {#why-blocks}
-
-为了确保以太坊网络上的所有参与者保持同步状态并就交易的确切历史达成共识,我们将交易分为多个区块。 这意味着同时有数十个(甚至数百个)交易被提交、达成一致并同步。
-
-![区块中的交易导致状态变化的图表](./tx-block.png) _示意图节选自[以太坊虚拟机图解](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
-
-通过间隔提交,所有网络参与者有足够时间达成共识:即使交易请求每秒发生数十次,但以太坊上的区块仅仅大约每十二秒创建并提交一次。
-
-## 区块如何工作 {#how-blocks-work}
-
-为了保存交易历史,区块被严格排序(创建的每个新区块都包含一个其父块的引用),区块内的交易也严格排序。 除极少数情况外,在任何特定时间,网络上的所有参与者都同意区块的确切数目和历史, 并且正在努力将当前的活动交易请求分批到下一个区块。
-
-随机选择的验证者在网络上构建完区块后,该区块将传播到整个网络;所有节点都将该区块添加至其区块链的末尾,然后挑选新的验证者来创建下一个区块。 目前,确切的区块构建过程和提交/共识过程由以太坊的“权益证明”协议规定。
-
-## 权益证明协议 {#proof-of-work-protocol}
-
-权益证明是指:
-
-- 验证节点必须向存款合约中质押 32 个以太币,作为抵押品防止发生不良行为。 这有助于保护网络,因为如果发生不诚实活动且可以证实,部分甚至全部质押金额将被销毁。
-- 在每个时隙(12 秒的时间间隔)中,会随机选择一个验证者作为区块提议者。 他们将交易打包并执行,然后确定一个新的“状态”。 他们将这些信息包装到一个区块中并传送给其他验证者。
-- 其他获悉新区块的验证者再次执行区块中包含的交易,确定他们同意对全局状态提出的修改。 假设该区块是有效的,验证者就将该区块添加进各自的数据库。
-- 如果验证者获悉在同一时隙内有两个冲突区块,他们会使用自己的分叉选择算法选择获得最多质押以太币支持的那一个区块。
-
-[有关权益证明的更多信息](/developers/docs/consensus-mechanisms/pos)
-
-## 区块包含什么? {#block-anatomy}
-
-一个区块中包含很多信息。 区块的最高层包含以下字段:
-
-| 字段 | 简介 |
-|:---------------- |:-------------- |
-| `时隙` | 区块所属的时隙 |
-| `proposer_index` | 提出区块的验证者的 ID |
-| `parent_root` | 上一个区块的哈希 |
-| `state_root` | 状态对象的根哈希 |
-| `正文` | 包含多个字段的对象,定义如下 |
-
-区块的 `body` 包含一些自有字段:
-
-| 栏目 | 简介 |
-|:-------------------- |:-------------- |
-| `randao_reveal` | 用于选择下一个区块提议者的值 |
-| `eth1_data` | 关于存款合约的信息 |
-| `涂鸦` | 用于标记区块的任意数据 |
-| `proposer_slashings` | 将要惩罚的验证者列表 |
-| `attester_slashings` | 将要受到惩没的证明者列表 |
-| `认证` | 支持当前区块的认证列表 |
-| `存款` | 存款合约新增存款的列表 |
-| `voluntary_exits` | 退出网络的验证者列表 |
-| `sync_aggregate` | 用于服务轻客户端的验证者子集 |
-| `execution_payload` | 从执行客户端传送来的交易 |
-
-`attestations` 字段包含区块中所有认证的列表。 认证有自己的数据类型,其中包含多条数据。 每个认证包含:
-
-| 栏目 | 简介 |
-|:------------------ |:------------ |
-| `aggregation_bits` | 参与此认证的验证者列表 |
-| `数据` | 具有多个子字段的容器 |
-| `签名` | 所有证明验证者的聚合签名 |
-
-`attestation` 中的 `data` 字段包含以下内容:
-
-| 栏目 | 简介 |
-|:------------------- |:-------------- |
-| `时隙` | 认证所涉及的时隙 |
-| `索引` | 证明验证者的索引 |
-| `beacon_block_root` | 包含此对象的信标区块的根哈希 |
-| `来源` | 最后一个合理的检查点 |
-| `target` | 最新的时段边界区块 |
-
-执行 `execution_payload` 中的交易会更新全局状态。 所有客户端重新执行 `execution_payload` 中的交易,以确保新状态与新区块 `state_root` 字段中的状态相符。 这就是客户端如何判断新区块是否有效且可以安全添加到其区块链的方式。 `execution payload` 本身是一个包含多个字段的对象。 还有一个 `execution_payload_header`,包含有关执行数据的重要摘要信息。 这些数据结构如下组织:
-
-`execution_payload_header` 包含以下字段:
-
-| 领域 | 简介 |
-|:------------------- |:------------------- |
-| `父_哈希值` | 父块的哈希值 |
-| `fee_recipient` | 向其支付交易费的帐户地址 |
-| `state_root` | 应用此区块中的更改后,全局状态的根哈希 |
-| `receipts_root` | 交易收据树的哈希 |
-| `logs_bloom` | 包含事件日志的数据结构 |
-| `prev_randao` | 在随机选择验证者时使用的值 |
-| `block_number` | 当前区块的编号 |
-| `gas_limit` | 此区块允许的最大燃料量 |
-| `gas_used` | 此区块中使用的实际燃料量 |
-| `时间戳` | 区块时间 |
-| `extra_data` | 作为原始字节的任意附加数据 |
-| `base_fee_per_gas` | 基础费值 |
-| `block_hash` | 执行区块的哈希 |
-| `transactions_root` | 有效载荷中交易的根哈希 |
-| `withdrawal_root` | 有效负载中提款的根哈希 |
-
-`execution_payload` 本身包含以下字段(请注意这与 header 相同,只是它包含的不是交易的根哈希,而是实际的交易列表和提款信息列表):
-
-| 栏目 | 简介 |
-|:------------------ |:------------------ |
-| `父_哈希值` | 父块的哈希值 |
-| `fee_recipient` | 支付交易费用的帐户地址 |
-| `state_root` | 应用此区块中的更改后,全局的根哈希值 |
-| `receipts_root` | 交易收据的哈希值 |
-| `logs_bloom` | 包含事件日志的数据结构 |
-| `prev_randao` | 在随机验证者选择中使用的值 |
-| `block_number` | 当前区块的编号 |
-| `gas_limit` | 此区块允许的最大的燃料量 |
-| `gas_used` | 此区块中使用的燃料实际量 |
-| `时间戳` | 区块时间 |
-| `extra_data` | 作为原始字节任意附加数据 |
-| `base_fee_per_gas` | 基本费用值 |
-| `block_hash` | 执行区块的哈希值 |
-| `交易` | 要执行交易的列表 |
-| `提款` | 提款对象列表 |
-
-`Withdrawals` 列表包含了 `withdrawal` 对象,结构如下:
-
-| 字段 | 描述 |
-|:---------------- |:------ |
-| `地址` | 提款帐户地址 |
-| `amount` | 提款金额 |
-| `索引` | 提款索引值 |
-| `validatorIndex` | 验证者索引值 |
-
-## 区块时间 {#block-time}
-
-区块时间是指两个区块之间的时间间隔。 在以太坊中,时间划分为每 12 秒一个单位,称为“时隙”。 在每个时隙内,选择一个单独的验证者提议区块。 假设所有验证者都在线且完全正常运行,则每个时隙内都会有一个区块产生,意味着区块时间是 12 秒。 但是,偶尔验证者在被要求提议区块时不在线,导致有时候一些时隙是空的。
-
-这种实现与基于工作量证明的系统不同。在工作量证明系统中,区块时间是带有概率性的,并由协议的目标挖矿难度调节。 以太坊的[平均区块时间](https://etherscan.io/chart/blocktime)是一个很好的例子,根据不变的新的 12 秒区块时间,可以清楚地推断出从工作量证明到权益证明的过渡。
-
-## 区块大小 {#block-size}
-
-最后一条重要提示是,区块本身的大小是有界限的。 每个区块的目标大小为 1500 万单位燃料,但区块的大小将根据网络需求而增加或减少,直至达到 3000 万单位燃料的区块限制(目标区块大小的 2 倍)。 区块的燃料限制可以相对于上一个区块的燃料限制上调或下调 1/1024 的比例。 因此,验证者可以通过共识来改变区块的燃料限制。 区块中所有交易消耗的总燃料量必须低于区块的燃料限制。 这很重要,因为它可以确保区块不能任意扩大。 如果区块可以任意扩大,由于空间和速度方面的要求,性能较差的全节点将逐渐无法跟上网络。 区块越大,在下一个时隙中及时处理它们需要的算力就越强大。 这是一种集中化的因素,可以通过限制区块大小来抵制。
-
-## 延伸阅读 {#further-reading}
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
-
-## 相关主题 {#related-topics}
-
-- [交易](/developers/docs/transactions/)
-- [燃料](/developers/docs/gas/)
-- [权益证明](/developers/docs/consensus-mechanisms/pos)
diff --git a/public/content/translations/zh/13) Foundational Docs/developers/docs/dapps/index.md b/public/content/translations/zh/13) Foundational Docs/developers/docs/dapps/index.md
deleted file mode 100644
index bf8745ad942..00000000000
--- a/public/content/translations/zh/13) Foundational Docs/developers/docs/dapps/index.md
+++ /dev/null
@@ -1,96 +0,0 @@
----
-title: 去中心化应用程序简介
-description:
-lang: zh
----
-
-去中心化应用程序 (dapp) 是在去中心化网络上构建的应用程序,结合了[智能合约](/developers/docs/smart-contracts/)和前端用户界面。 请注意,就像开放 API 一样,以太坊智能合约具有可访问性和透明性,所以你的 dapp 里甚至可以包含其他人写过的智能合约。
-
-## 前提条件 {#prerequisites}
-
-在学习 dapp 之前,你应该了解[区块链基础知识](/developers/docs/intro-to-ethereum/),并了解以太坊网络及其去中心化方式。
-
-## dapp 的定义 {#definition-of-a-dapp}
-
-一个 dapp 的后端代码在一个去中心化 P2P 网络上运行。 与此相对应的,是在中心化服务器上运行后端代码的应用程序。
-
-dapp 可以用任何语言编写(就像是一个 app)。它有前端代码和用户界面,能调用其后端。 此外,它的前端可以托管在去中心化存储上,例如 [IPFS](https://ipfs.io/)。
-
-- **去中心化** - dapp 在以太坊上运行,这是一个开放的公共去中心化平台,没有任何一个人或团体可以控制
-- **确定性** ,无论执行的环境如何,都执行相同的功能
-- **图灵完备** - dapp 可以根据所需资源执行任何操作
-- **隔离性** - 它们在称为 EVM 的虚拟环境中执行。即使智能合约出现问题,也不会妨碍区块链网络的正常运行
-
-### 智能合约 {#on-smart-contracts}
-
-要引入 dapp,我们需要引入智能合约 —— dapp 的后端,因为缺少更好的术语。 有关详细概述,请访问我们的[智能合约](/developers/docs/smart-contracts/)部分。
-
-智能合约是一种在以太坊网络上的计算机程序,它严格按照事先编写的代码来运行。 智能合约一旦部署到以太坊网络中,就无法更改。 Dapps 可以是去中心化的,就是由于它们受智能合约的既定逻辑控制,而不是个人或公司。 这也意味着你需要非常仔细地设计合约,并进行全面测试。
-
-## Dapp 开发的好处 {#benefits-of-dapp-development}
-
-- **零停机时间** – 一旦将某 dapp 的智能合约部署到区块链上,整个网络都能为那些希望与合约互动的客户提供服务。 因此,恶意参与者无法针对单个 dapp 发起 DoS 攻击。
-- **隐私** – 你不需要提供真实世界的身份来部署或与 dapp 进行交互。
-- **抵制审查** – 网络上没有任何一个实体可以阻止用户提交交易、部署 dapp 或读取区块链上的数据。
-- **数据完整性** – 由于采用了加密基元,存储在区块链上的数据是不可更改和无可争议的。 恶意行为者无法伪造已经公开的交易或其他数据。
-- **去信任的计算/可验证的行为** – 智能合约可以分析并保证以可预测的方式执行,而去信任中心化组织。 这在传统模式下是不存在的,比如我们使用网上银行系统时,我们要相信金融机构不会滥用我们的金融数据,不会篡改记录,也不会被黑客攻击。
-
-## Dapp 开发的缺陷 {#drawbacks-of-dapp-development}
-
-- **维护** – dapp 可能更难维护,因为发布到区块链的代码和数据更难修改。 在部署后,开发人员很难对去中心化应用程序(或其存储的底层数据)进行更新,即使在旧版本中发现了漏洞或安全风险。
-- **性能开销** – 巨大的性能开销,而且难以扩展更多性能。 为了达到以太坊所追求的安全、完整、透明和可靠的水平,每个节点都会运行和存储每一笔交易。 除此之外,达成权益证明共识也需要时间。
-- **网络拥塞** – 至少在当前模型中,如果一个 dapp 使用了太多的计算资源,整个网络都会承担影响。 目前,该网络每秒只能处理约 10-15 笔交易;如果交易发送的速度超过这个速度,未确认的交易池会迅速膨胀。
-- **用户体验** – 设计用户友好的体验可能更难。普通终端用户可能会发现,很难以真正安全的方式设置与区块链互动所需的工具堆栈。
-- **集中化** — 无论如何,建立在以太坊基础层之上的用户友好型和开发人员友好型解决方案最终看起来都像集中式服务。 例如,这种服务可以在服务器端存储密钥或其他敏感信息,使用中心化服务器为前端服务,或在写到区块链之前在中心化服务器上运行重要的业务逻辑。 这消除了区块链与传统模式相比的许多(并不是全部)优势。
-
-## 更愿意通过视频学习? {#visual-learner}
-
-
-
-## 用来创建去中心化应用程序的工具 {#dapp-tools}
-
-**Scaffold-ETH _ - 使用能自适应智能合约的前端,快速尝试 Solidity。_**
-
-- [GitHub](https://github.com/scaffold-eth/scaffold-eth-2)
-- [示例 dapp](https://punkwallet.io/)
-
-**创建以太坊应用程序 _- 使用一个命令创建以太坊驱动的应用程序。_**
-
-- [GitHub](https://github.com/paulrberg/create-eth-app)
-
-**一键去中心化 _- 用于从 [ABI](/glossary/#abi) 生成去中心化应用程序前端的免费和开放源代码软件工具。_**
-
-- [oneclickdapp.com](https://oneclickdapp.com)
-- [GitHub](https://github.com/oneclickdapp/oneclickdapp-v1)
-
-**Etherflow _ - 供以太坊开发者测试节点,并在浏览器中编写和调试 RPC 调用的免费和开放源代码软件工具。_**
-
-- [etherflow.quiknode.io](https://etherflow.quiknode.io/)
-- [GitHub](https://github.com/abunsen/etherflow)
-
-**thirdweb _- 为 Web3 开发提供各种语言的软件开发工具包、智能合约、工具和基础设施。_**
-
-- [主页](https://thirdweb.com/)
-- [相关文档](https://portal.thirdweb.com/)
-- [GitHub](https://github.com/thirdweb-dev/)
-
-**Crossmint _- 企业级 Web3 开发平台,可用于部署智能合约,支持信用卡和跨链支付方式,可利用应用程序接口创建、分发、销售、存储、编辑非同质化代币。_**
-
-- [crossmint.com](https://www.crossmint.com)
-- [相关文档](https://docs.crossmint.com)
-- [Discord](https://discord.com/invite/crossmint)
-
-## 延伸阅读 {#further-reading}
-
-- [探索去中心化应用程序](/dapps)
-- [Web 3.0 应用程序架构](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application) - _Preethi Kasireddy_
-- [2021 年去中心化应用程序指南](https://limechain.tech/blog/what-are-dapps-the-2021-guide/) - _LimeChain_
-- [什么是去中心化应用程序?](https://www.gemini.com/cryptopedia/decentralized-applications-defi-dapps) - _Gemini_
-- [热门去中心化应用程序](https://www.alchemy.com/dapps) - _Alchemy_
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
-
-## 相关主题 {#related-topics}
-
-- [以太坊堆栈简介](/developers/docs/ethereum-stack/)
-- [开发框架](/developers/docs/frameworks/)
diff --git a/public/content/translations/zh/13) Foundational Docs/developers/docs/evm/index.md b/public/content/translations/zh/13) Foundational Docs/developers/docs/evm/index.md
deleted file mode 100644
index 6a1431be867..00000000000
--- a/public/content/translations/zh/13) Foundational Docs/developers/docs/evm/index.md
+++ /dev/null
@@ -1,78 +0,0 @@
----
-title: 以太坊虚拟机 (EVM)
-description: 介绍以太坊虚拟机及其与状态、交易和智能合约的关系。
-lang: zh
----
-
-以太坊虚拟机 (EVM) 是一个去中心化虚拟环境,它在所有以太坊节点上一种安全一致地方式执行代码。 节点运行以太坊虚拟机,以执行智能合约,利用“[燃料](/gas/)”度量执行[操作](/developers/docs/evm/opcodes/)所需的计算工作,从而确保高效的资源分配和网络安全性。
-
-## 前提条件 {#prerequisites}
-
-对计算机科学中常见术语的基本了解,如[字节](https://wikipedia.org/wiki/Byte)、[内存](https://wikipedia.org/wiki/Computer_memory)和[堆栈](https://wikipedia.org/wiki/Stack_(abstract_data_type))是理解 EVM 的前提。 熟悉[哈希函数](https://wikipedia.org/wiki/Cryptographic_hash_function)和[默克尔树](https://wikipedia.org/wiki/Merkle_tree)等密码学/区块链概念也会很有帮助。
-
-## 从账本到状态机 {#from-ledger-to-state-machine}
-
-通常使用“分布式账本”的类比来描述像比特币这样的区块链,它使用密码学的基本工具来实现去中心化的货币。 账本保存着活动记录,而活动必须遵守一套规则,这些规则限制用户在修改账本时可以做什么和不可以做什么。 例如,比特币地址不能花费比之前收到的更多的比特币。 这些规则是比特币和许多其他区块链上所有交易的基础。
-
-虽然以太坊有自己的本机加密货币 (ETH),遵循几乎完全相同的直观规则,但它也支持更强大的功能:[智能合约](/developers/docs/smart-contracts/)。 对于此更复杂的功能,需要一个更复杂的类比。 以太坊不是分布式账本,而是分布式[状态机器](https://wikipedia.org/wiki/Finite-state_machine)。 以太坊的状态是一个大型数据结构,它不仅保存所有帐户和余额,而且还保存一个_机器状态_,它可以根据预定义的一组规则在不同的区块之间进行更改,并且可以执行任意的机器代码。 在区块中更改状态的具体规则由 EVM 定义。
-
-![EVM 组成结构图](./evm.png) _示意图节选自[以太坊虚拟机图解](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
-
-## 以太坊状态转换函数 {#the-ethereum-state-transition-function}
-
-EVM 的行为就像一个数学函数:在给定输入的情况下,它会产生确定性的输出。 因此,将以太坊更正式地描述为具有**状态转换函数**非常有帮助:
-
-```
-Y(S, T)= S'
-```
-
-给定一个旧的有效状态 `(S)`> 和一组新的有效交易 `(T)`,以太坊状态转换函数 ` Y(S,T)` 产生新的有效输出状态` S'`
-
-### 状态 {#state}
-
-在以太坊环境中,状态是一种称为[改进版默克尔帕特里夏树](/developers/docs/data-structures-and-encoding/patricia-merkle-trie/)的巨大数据结构,它保存所有通过哈希关联在一起的[帐户](/developers/docs/accounts/)并可回溯到存储在区块链上的单个根哈希。
-
-### 交易 {#transactions}
-
-交易是来自帐户的密码学签名指令。 交易分为两种:一种是消息调用交易,另一种是合约创建交易。
-
-合约创建交易会创建一个新的合约帐户,其中包含已编译的 [智能合约](/developers/docs/smart-contracts/anatomy/) 字节码。 每当另一个帐户对该合约进行消息调用时,它都会执行其字节码。
-
-## EVM 说明 {#evm-instructions}
-
-EVM 作为一个[堆栈机](https://wikipedia.org/wiki/Stack_machine)运行,其栈的深度为 1024 个项。 每个项目都是 256 位字,为了便于使用,选择了 256 位加密技术(如 Keccak-256 哈希或 secp256k1 签名)。
-
-在执行期间,EVM 会维护一个瞬态_内存_(作为字可寻址的字节数组),该内存不会在交易之间持久存在。
-
-然而,合约确实包含一个 Merkle Patricia _存储_ trie(作为可字寻址的字数组),该 trie 与帐户和部分全局状态关联。
-
-已编译的智能合约字节码作为许多 EVM [opcodes](/developers/docs/evm/opcodes)执行,它们执行标准的堆栈操作,例如 `XOR`、`AND`、`ADD`、`SUB`等。 EVM 还实现了一些区块链特定的堆栈操作,如 `ADDRESS`、`BALANCE`、`BLOCKHASH` 等。
-
-![表明 EVM 操作需要 Gas 的图表](../gas/gas.png) _示意图节选自[以太坊虚拟机图解](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
-
-## EVM 实现 {#evm-implementations}
-
-EVM 的所有实现都必须遵守以太坊黄皮书中描述的规范。
-
-在以太坊九年的历程中,以太坊虚拟机经过了几次修订,并且存在不同编程语言实现的以太坊虚拟机版本。
-
-[以太坊执行客户端](/developers/docs/nodes-and-clients/#execution-clients)都包含一个以太坊虚拟机实现。 此外,还有多个独立的实现,包括:
-
-- [Py-EVM](https://github.com/ethereum/py-evm) - _Python_
-- [evmone](https://github.com/ethereum/evmone) - _C++_
-- [ethereumjs-vm](https://github.com/ethereumjs/ethereumjs-vm) - _JavaScript_
-- [revm](https://github.com/bluealloy/revm) - _Rust_
-
-## 延伸阅读 {#further-reading}
-
-- [以太坊黄皮书](https://ethereum.github.io/yellowpaper/paper.pdf)
-- [Jellopaper aka KEVM:K 中的 EVM 语法](https://jellopaper.org/)
-- [The Beigepaper](https://github.com/chronaeon/beigepaper)
-- [以太坊虚拟机操作码](https://www.ethervm.io/)
-- [以太坊虚拟机操作码交互参考](https://www.evm.codes/)
-- [Solidity 文档的简短介绍](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html#index-6)
-- [精通以太坊 - 以太坊虚拟机](https://github.com/ethereumbook/ethereumbook/blob/develop/13evm.asciidoc)
-
-## 相关主题 {#related-topics}
-
-- [Gas](/developers/docs/gas/)
diff --git a/public/content/translations/zh/13) Foundational Docs/developers/docs/evm/opcodes/index.md b/public/content/translations/zh/13) Foundational Docs/developers/docs/evm/opcodes/index.md
deleted file mode 100644
index 7936185fd88..00000000000
--- a/public/content/translations/zh/13) Foundational Docs/developers/docs/evm/opcodes/index.md
+++ /dev/null
@@ -1,174 +0,0 @@
----
-title: 以太坊虚拟机的操作码
-description: 以下是以太坊虚拟机可用的所有操作码的列表。
-lang: zh
----
-
-## 概述 {#overview}
-
-本文是位于 [wolflo/evm-opcodes](https://github.com/wolflo/evm-opcodes) 的以太坊虚拟机参考页面的更新版本。 本文亦节选自[黄皮书](https://ethereum.github.io/yellowpaper/paper.pdf)、[Jello Paper](https://jellopaper.org/evm/)及 [geth](https://github.com/ethereum/go-ethereum) 实现。 本文旨在作为一份易于理解的参考资料,但并不十分严谨。 如果想确保正确性并了解每种边缘情况,建议使用 Jello Paper 或客户端实现。
-
-在寻找交互式参考? 请查看 [evm.codes](https://www.evm.codes/)。
-
-对于具有动态燃料成本的操作,请参考 [gas.md](https://github.com/wolflo/evm-opcodes/blob/main/gas.md)。
-
-💡温馨提示:要查看完整行,请在电脑上使用 `[shift] + scroll` 水平滚动浏览。
-
-| 堆栈 | 名称 | 燃料 | 起始堆栈 | 最终堆栈 | 内存 / 存储 | 注释 |
-|:-----:|:-------------- |:-----------------------------------------------------------------------------------------------:|:------------------------------------------------ |:-------------------------------------------- |:----------------------------------------------------------------------------- |:--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| 00 | 停止 | 0 | | | | halt execution |
-| 01 | ADD | 3 | `a, b` | `a + b` | | (u)int256 addition modulo 2\*\*256 |
-| 02 | MUL | 5 | `a, b` | `a * b` | | (u)int256 multiplication modulo 2\*\*256 |
-| 03 | SUB | 3 | `a, b` | `a - b` | | (u)int256 addition modulo 2\*\*256 |
-| 04 | DIV | 5 | `a, b` | `a // b` | | uint256 division |
-| 05 | SDIV | 5 | `a, b` | `a // b` | | int256 division |
-| 06 | MOD | 5 | `a, b` | `a % b` | | uint256 modulus |
-| 07 | SMOD | 5 | `a, b` | `a % b` | | int256 modulus |
-| 08 | ADDMOD | 8 | `a, b, N` | `(a + b) % N` | | (u)int256 addition modulo N |
-| 09 | MULMOD | 8 | `a, b, N` | `(a * b) % N` | | (u)int256 multiplication modulo N |
-| 0A | EXP | [A1](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a1-exp) | `a, b` | `a ** b` | | uint256 exponentiation modulo 2\*\*256 |
-| 0B | SIGNEXTEND | 5 | `b, x` | `SIGNEXTEND(x, b)` | | [sign extend](https://wikipedia.org/wiki/Sign_extension) `x` from `(b+1)` bytes to 32 bytes |
-| 0C-0F | _invalid_ | | | | | |
-| 10 | LT | 3 | `a, b` | `a < b` | | uint256 less-than |
-| 11 | GT | 3 | `a, b` | `a > b` | | uint256 greater-than |
-| 12 | SLT | 3 | `a, b` | `a < b` | | int256 less-than |
-| 13 | SGT | 3 | `a, b` | `a > b` | | int256 greater-than |
-| 14 | EQ | 3 | `a, b` | `a == b` | | (u)int256 equality |
-| 15 | ISZERO | 3 | `a` | `a == 0` | | (u)int256 iszero |
-| 16 | AND | 3 | `a, b` | `a && b` | | bitwise AND |
-| 17 | OR | 3 | `a, b` | `a \|\| b` | | bitwise OR |
-| 18 | XOR | 3 | `a, b` | `a ^ b` | | bitwise XOR |
-| 19 | NOT | 3 | `a` | `~a` | | bitwise NOT |
-| 1A | BYTE | 3 | `i, x` | `(x >> (248 - i * 8)) && 0xFF` | | `i`th byte of (u)int256 `x`, from the left |
-| 1B | SHL | 3 | `shift, val` | `val << shift` | | shift left |
-| 1C | SHR | 3 | `shift, val` | `val >> shift` | | logical shift right |
-| 1D | SAR | 3 | `shift, val` | `val >> shift` | | arithmetic shift right |
-| 1E-1F | _invalid_ | | | | | |
-| 20 | KECCAK256 | [A2](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a2-sha3) | `ost, len` | `keccak256(mem[ost:ost+len-1])` | | keccak256 |
-| 21-2F | _invalid_ | | | | | |
-| 30 | ADDRESS | 2 | `.` | `address(this)` | | address of executing contract |
-| 31 | BALANCE | [A5](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a5-balance-extcodesize-extcodehash) | `addr` | `addr.balance` | | balance, in wei |
-| 32 | ORIGIN | 2 | `.` | `tx.origin` | | address that originated the tx |
-| 33 | CALLER | 2 | `.` | `msg.sender` | | address of msg sender |
-| 34 | CALLVALUE | 2 | `.` | `msg.value` | | msg value, in wei |
-| 35 | CALLDATALOAD | 3 | `idx` | `msg.data[idx:idx+32]` | | read word from msg data at index `idx` |
-| 36 | CALLDATASIZE | 2 | `.` | `len(msg.data)` | | length of msg data, in bytes |
-| 37 | CALLDATACOPY | [A3](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a3-copy-operations) | `dstOst, ost, len` | `.` | mem[dstOst:dstOst+len-1] := msg.data[ost:ost+len-1] | copy msg data |
-| 38 | CODESIZE | 2 | `.` | `len(this.code)` | | length of executing contract's code, in bytes |
-| 39 | CODECOPY | [A3](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a3-copy-operations) | `dstOst, ost, len` | `.` | | mem[dstOst:dstOst+len-1] := this.code[ost:ost+len-1] | copy executing contract's bytecode |
-| 3A | GASPRICE | 2 | `.` | `tx.gasprice` | | gas price of tx, in wei per unit gas [\*\*](https://eips.ethereum.org/EIPS/eip-1559#gasprice) |
-| 3B | EXTCODESIZE | [A5](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a5-balance-extcodesize-extcodehash) | `addr` | `len(addr.code)` | | size of code at addr, in bytes |
-| 3C | EXTCODECOPY | [A4](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a4-extcodecopy) | `addr, dstOst, ost, len` | `.` | mem[dstOst:dstOst+len-1] := addr.code[ost:ost+len-1] | copy code from `addr` |
-| 3D | RETURNDATASIZE | 2 | `.` | `size` | | size of returned data from last external call, in bytes |
-| 3E | RETURNDATACOPY | [A3](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a3-copy-operations) | `dstOst, ost, len` | `.` | mem[dstOst:dstOst+len-1] := returndata[ost:ost+len-1] | copy returned data from last external call |
-| 3F | EXTCODEHASH | [A5](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a5-balance-extcodesize-extcodehash) | `addr` | `哈希值` | | hash = addr.exists ? keccak256(addr.code) : 0 |
-| 40 | BLOCKHASH | 20 | `blockNum` | `blockHash(blockNum)` | | |
-| 41 | COINBASE | 2 | `.` | `block.coinbase` | | 当前区块提议者地址 |
-| 42 | TIMESTAMP | 2 | `.` | `block.timestamp` | | timestamp of current block |
-| 43 | NUMBER | 2 | `.` | `block.number` | | number of current block |
-| 44 | PREVRANDAO | 2 | `.` | `randomness beacon` | | randomness beacon |
-| 45 | GASLIMIT | 2 | `.` | `block.gaslimit` | | gas limit of current block |
-| 46 | CHAINID | 2 | `.` | `chain_id` | | push current [chain id](https://eips.ethereum.org/EIPS/eip-155) onto stack |
-| 47 | SELFBALANCE | 5 | `.` | `address(this).balance` | | balance of executing contract, in wei |
-| 48 | BASEFEE | 2 | `.` | `block.basefee` | | base fee of current block |
-| 49 | BLOBHASH | 3 | `idx` | `tx.blob_versioned_hashes[idx]` | | [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) |
-| 4A | BLOBBASEFEE | 2 | `.` | `block.blobbasefee` | | 当前区块的二进制大对象基础费([EIP-7516](https://eips.ethereum.org/EIPS/eip-7516)) |
-| 4B-4F | _invalid_ | | | | | |
-| 50 | POP | 2 | `_anon` | `.` | | remove item from top of stack and discard it |
-| 51 | MLOAD | 3[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost` | `mem[ost:ost+32]` | | read word from memory at offset `ost` |
-| 52 | MSTORE | 3[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, val` | `.` | mem[ost:ost+32] := val | write a word to memory |
-| 53 | MSTORE8 | 3[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, val` | `.` | mem[ost] := val && 0xFF | write a single byte to memory |
-| 54 | SLOAD | [A6](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a6-sload) | `key` | `storage[key]` | | read word from storage |
-| 55 | SSTORE | [A7](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a7-sstore) | `key, val` | `.` | storage[key] := val | write word to storage |
-| 56 | JUMP | 8 | `dst` | `.` | | `$pc := dst` mark that `pc` is only assigned if `dst` is a valid jumpdest |
-| 57 | JUMPI | 10 | `dst, condition` | `.` | | `$pc := condition ? dst : $pc + 1` |
-| 58 | PC | 2 | `.` | `$pc` | | program counter |
-| 59 | MSIZE | 2 | `.` | `len(mem)` | | size of memory in current execution context, in bytes |
-| 5A | GAS | 2 | `.` | `gasRemaining` | | |
-| 5B | JUMPDEST | 1 | | | mark valid jump destination | a valid jump destination for example a jump destination not inside the push data |
-| 5C | TLOAD | 100 | `key` | `tstorage[key]` | | 从瞬态存储中读取字 ([EIP-1153](https://eips.ethereum.org/EIPS/eip-1153)) |
-| 5D | TSTORE | 100 | `key, val` | `.` | tstorage[key] := val | 向瞬态存储中写入字 ([EIP-1153](https://eips.ethereum.org/EIPS/eip-1153)) |
-| 5E | MCOPY | 3+3\*字+[A0](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `dstOst, ost, len` | `.` | mem[dstOst] := mem[ost:ost+len] | 将内存从一个区域复制到另一个区域 ([EIP-5656](https://eips.ethereum.org/EIPS/eip-5656)) |
-| 5F | PUSH0 | 2 | `.` | `uint8` | | push the constant value 0 onto stack |
-| 60 | PUSH1 | 3 | `.` | `uint8` | | push 1-byte value onto stack |
-| 61 | PUSH2 | 3 | `.` | `uint16` | | push 2-byte value onto stack |
-| 62 | PUSH3 | 3 | `.` | `uint24` | | push 3-byte value onto stack |
-| 63 | PUSH4 | 3 | `.` | `uint32` | | push 4-byte value onto stack |
-| 64 | PUSH5 | 3 | `.` | `uint40` | | push 5-byte value onto stack |
-| 65 | PUSH6 | 3 | `.` | `uint48` | | push 6-byte value onto stack |
-| 66 | PUSH7 | 3 | `.` | `uint56` | | push 7-byte value onto stack |
-| 67 | PUSH8 | 3 | `.` | `uint64` | | push 8-byte value onto stack |
-| 68 | PUSH9 | 3 | `.` | `uint72` | | push 9-byte value onto stack |
-| 69 | PUSH10 | 3 | `.` | `uint80` | | push 10-byte value onto stack |
-| 6A | PUSH11 | 3 | `.` | `uint88` | | push 11-byte value onto stack |
-| 6B | PUSH12 | 3 | `.` | `uint96` | | push 12-byte value onto stack |
-| 6C | PUSH13 | 3 | `.` | `uint104` | | push 13-byte value onto stack |
-| 6D | PUSH14 | 3 | `.` | `uint112` | | push 14-byte value onto stack |
-| 6E | PUSH15 | 3 | `.` | `uint120` | | push 15-byte value onto stack |
-| 6F | PUSH16 | 3 | `.` | `uint128` | | push 16-byte value onto stack |
-| 70 | PUSH17 | 3 | `.` | `uint136` | | push 17-byte value onto stack |
-| 71 | PUSH18 | 3 | `.` | `uint144` | | push 18-byte value onto stack |
-| 72 | PUSH19 | 3 | `.` | `uint152` | | push 19-byte value onto stack |
-| 73 | PUSH20 | 3 | `.` | `uint160` | | push 20-byte value onto stack |
-| 74 | PUSH21 | 3 | `.` | `uint168` | | push 21-byte value onto stack |
-| 75 | PUSH22 | 3 | `.` | `uint176` | | push 22-byte value onto stack |
-| 76 | PUSH23 | 3 | `.` | `uint184` | | push 23-byte value onto stack |
-| 77 | PUSH24 | 3 | `.` | `uint192` | | push 24-byte value onto stack |
-| 78 | PUSH25 | 3 | `.` | `uint200` | | push 25-byte value onto stack |
-| 79 | PUSH26 | 3 | `.` | `uint208` | | push 26-byte value onto stack |
-| 7A | PUSH27 | 3 | `.` | `uint216` | | push 27-byte value onto stack |
-| 7B | PUSH28 | 3 | `.` | `uint224` | | push 28-byte value onto stack |
-| 7C | PUSH29 | 3 | `.` | `uint232` | | push 29-byte value onto stack |
-| 7D | PUSH30 | 3 | `.` | `uint240` | | push 30-byte value onto stack |
-| 7E | PUSH31 | 3 | `.` | `uint248` | | push 31-byte value onto stack |
-| 7F | PUSH32 | 3 | `.` | `uint256` | | push 32-byte value onto stack |
-| 80 | DUP1 | 3 | `a` | `a, a` | | clone 1st value on stack |
-| 81 | DUP2 | 3 | `_, a` | `a, _, a` | | clone 2nd value on stack |
-| 82 | DUP3 | 3 | `_, _, a` | `a, _, _, a` | | clone 3rd value on stack |
-| 83 | DUP4 | 3 | `_, _, _, a` | `a, _, _, _, a` | | clone 4th value on stack |
-| 84 | DUP5 | 3 | `..., a` | `a, ..., a` | | clone 5th value on stack |
-| 85 | DUP6 | 3 | `..., a` | `a, ..., a` | | clone 6th value on stack |
-| 86 | DUP7 | 3 | `..., a` | `a, ..., a` | | clone 7th value on stack |
-| 87 | DUP8 | 3 | `..., a` | `a, ..., a` | | clone 8th value on stack |
-| 88 | DUP9 | 3 | `..., a` | `a, ..., a` | | clone 9th value on stack |
-| 89 | DUP10 | 3 | `..., a` | `a, ..., a` | | clone 10th value on stack |
-| 8A | DUP11 | 3 | `..., a` | `a, ..., a` | | clone 11th value on stack |
-| 8B | DUP12 | 3 | `..., a` | `a, ..., a` | | clone 12th value on stack |
-| 8C | DUP13 | 3 | `..., a` | `a, ..., a` | | clone 13th value on stack |
-| 8D | DUP14 | 3 | `..., a` | `a, ..., a` | | clone 14th value on stack |
-| 8E | DUP15 | 3 | `..., a` | `a, ..., a` | | clone 15th value on stack |
-| 8F | DUP16 | 3 | `..., a` | `a, ..., a` | | clone 16th value on stack |
-| 90 | SWAP1 | 3 | `a, b` | `b, a` | | |
-| 91 | SWAP2 | 3 | `a, _, b` | `b, _, a` | | |
-| 92 | SWAP3 | 3 | `a, _, _, b` | `b, _, _, a` | | |
-| 93 | SWAP4 | 3 | `a, _, _, _, b` | `b, _, _, _, a` | | |
-| 94 | SWAP5 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 95 | SWAP6 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 96 | SWAP7 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 97 | SWAP8 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 98 | SWAP9 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 99 | SWAP10 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 9A | SWAP11 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 9B | SWAP12 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 9C | SWAP13 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 9D | SWAP14 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 9E | SWAP15 | 3 | `a, ..., b` | `b, ..., a` | | |
-| 9F | SWAP16 | 3 | `a, ..., b` | `b, ..., a` | | |
-| A0 | LOG0 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len` | `.` | | LOG0(memory[ost:ost+len-1]) |
-| A1 | LOG1 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0` | `.` | | LOG1(memory[ost:ost+len-1], topic0) |
-| A2 | LOG2 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0, topic1` | `.` | | LOG2(memory[ost:ost+len-1], topic0, topic1) |
-| A3 | LOG3 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0, topic1, topic2` | `.` | | LOG3(memory[ost:ost+len-1], topic0, topic1, topic2) |
-| A4 | LOG4 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0, topic1, topic2, topic3` | `.` | | LOG4(memory[ost:ost+len-1], topic0, topic1, topic2, topic3) |
-| A5-EF | _invalid_ | | | | | |
-| F0 | CREATE | [A9](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a9-create-operations) | `val, ost, len` | `addr` | | addr = keccak256(rlp([address(this), this.nonce])) |
-| F1 | CALL | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | gas, addr, val, argOst, argLen, retOst, retLen
| `success` | mem[retOst:retOst+retLen-1] := returndata | |
-| F2 | CALLCODE | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | `gas, addr, val, argOst, argLen, retOst, retLen` | `success` | mem[retOst:retOst+retLen-1] = returndata | same as DELEGATECALL, but does not propagate original msg.sender and msg.value |
-| F3 | 返回 | 0[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, len` | `.` | | return mem[ost:ost+len-1] |
-| F4 | DELEGATECALL | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | `gas, addr, argOst, argLen, retOst, retLen` | `success` | mem[retOst:retOst+retLen-1] := returndata | |
-| F5 | CREATE2 | [A9](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a9-create-operations) | `val, ost, len, salt` | `addr` | | addr = keccak256(0xff ++ address(this) ++ salt ++ keccak256(mem[ost:ost+len-1]))[12:] |
-| F6-F9 | _invalid_ | | | | | |
-| FA | STATICCALL | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | `gas, addr, argOst, argLen, retOst, retLen` | `success` | mem[retOst:retOst+retLen-1] := returndata | |
-| FB-FC | _invalid_ | | | | | |
-| FD | 撤销 | 0[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, len` | `.` | | revert(mem[ost:ost+len-1]) |
-| FE | INVALID | [AF](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#af-invalid) | | | designated invalid opcode - [EIP-141](https://eips.ethereum.org/EIPS/eip-141) | |
-| FF | SELFDESTRUCT | [AB](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#ab-selfdestruct) | `addr` | `.` | | 将所有以太币发送到 `addr`;如果在创建合约的同一交易中执行,它会销毁该合约 |
diff --git a/public/content/translations/zh/13) Foundational Docs/developers/docs/gas/index.md b/public/content/translations/zh/13) Foundational Docs/developers/docs/gas/index.md
deleted file mode 100644
index 1751c2f7d7e..00000000000
--- a/public/content/translations/zh/13) Foundational Docs/developers/docs/gas/index.md
+++ /dev/null
@@ -1,139 +0,0 @@
----
-title: 燃料和费用
-description:
-lang: zh
----
-
-Gas 对以太坊网络至关重要。 正是这种燃料使它能够运行,正如车辆需要汽油一样。
-
-## 前提条件 {#prerequisites}
-
-为了更好地理解此页面,推荐先阅读[交易](/developers/docs/transactions/)和 [EVM](/developers/docs/evm/)。
-
-## 什么是燃料? {#what-is-gas}
-
-燃料是指在以太坊网络上执行特定操作所需的计算工作量。
-
-由于每笔以太坊交易都需要使用计算资源来执行,因此必须为这些资源付费,以确保以太坊不容易受到垃圾信息的攻击,并且不会陷入无限的计算循环。 计算费用以燃料费的形式支付。
-
-燃料费是**用于执行某些操作的燃料数量,乘以每单位燃料的成本**。 无论交易成功与否,都要支付燃料费。
-
-![显示以太坊虚拟机操作所需燃料的图表](./gas.png) _示意图节选自[以太坊虚拟机图解](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
-
-燃料费必须用以太坊的本币支付,即以太币 (ETH)。 燃料通常以 gwei 计价,gwei 是以太币的一种计量单位。 一个 gwei 等于一个以太币的十亿分之一(0.000000001 个以太币,或 10-9 个以太币)。
-
-比如,你可以说你的燃料费是 1 gwei,而不说 0.000000001 个以太币。
-
-"Gwei" 是 "giga-wei" 的缩写,意思是 “十亿个 wei”。 一个 gwei 等于十亿个 wei。 Wei 本身(以 [b-money](https://www.investopedia.com/terms/b/bmoney.asp) 的发明者 [Wei Dai](https://wikipedia.org/wiki/Wei_Dai) 的名字命名)是以太币的最小单位。
-
-## 如何计算燃料费? {#how-are-gas-fees-calculated}
-
-当提交交易时,你可以设置你愿意支付的燃料数量。 通过提供一定数量的燃料,你出价将你的交易添加到下一个区块中。 如果你提供的燃料太少,验证者就不太可能选择添加你的交易,这意味着你的交易可能会延迟执行或不会被执行。 如果提供太多,你可能浪费一些以太币。 那么,怎么知道你应该支付多少燃料费呢?
-
-你支付的总燃料费分为两部分:`base fee` 和 `priority fee`(小费)。
-
-`Base fee` 由协议设定——你必须至少支付这些金额,然后你的交易才会被视为有效。 `Priority fee` 是基础费以外的小费,它可以吸引验证者选择将你的交易添加到下一个区块。
-
-只支付 `base fee` 的交易从技术上讲是有效的,但不太可能被添加到区块,因为它没有激励验证者优先选择它而不是其他交易。 “合适的” `priority` 费由发送交易时的网络使用情况决定——如果有大量需求,那么你可能不得不将你的 `priority` 费设置得更高;但当需求较少时,你也可以减少该费用。
-
-例如,假设 Jordan 要向 Taylor 支付 1 个以太币。 一笔以太币转账需要 21,000 单位的燃料,基础费是10 gwei。 Jordan 支付了 2 gwei 作为小费。
-
-总费用等于:
-
-`使用的燃料单位数 *(基础费 + 优先费)`
-
-其中 `base fee` 由协议设置,`priority fee` 是用户设置的支付给验证者的小费。
-
-即 `21,000 * (10 + 2) = 252,000 gwei`(0.000252 个以太币)。
-
-当 Jordan 转账时,将从 Jordan 帐户中扣除 1.000252 个以太币。 Taylor 的帐户增加 1.0000 个以太币。 验证者收到价值 0.000042 个以太币的小费。 0.00021 个以太币的 `base fee` 被销毁。
-
-### 基础费 {#base-fee}
-
-每个区块都有一个基础费作为底价。 要想有资格添加到区块中,燃料费出价必须至少等于基础费。 基础费独立于当前区块计算,是由当前区块之前的区块决定的,这使得用户更容易预测交易费。 在创建区块时,它的**基础费将被“销毁”**并退出流通。
-
-基础费由一个公式计算得出,该公式将上一个区块的大小(所有交易中使用的燃料数量)与目标大小进行比较。 如果超过目标区块大小,每个区块的基础费将最多增加 12.5%。 这种指数级增长使得区块大小无限期保持高位在经济上不可行。
-
-| 区块编号 | 已包含燃料 | 费用增加 | 当前基本费用 |
-| ---- | -----:| -----:| ----------:|
-| 1 | 15M | 0% | 100 gwei |
-| 2 | 30M | 0% | 100 gwei |
-| 3 | 30M | 12.5% | 112.5 gwei |
-| 4 | 30M | 12.5% | 126.6 gwei |
-| 5 | 30M | 12.5% | 142.4 gwei |
-| 6 | 30M | 12.5% | 160.2 gwei |
-| 7 | 30M | 12.5% | 180.2 gwei |
-| 8 | 30M | 12.5% | 202.7 gwei |
-
-根据以上表格,要在 9 号区块创建交易,钱包会让用户明确知晓:要将交易添加到下一个区块的**最高基础费**等于 `current base fee * 112.5%` 或 `202.7 gwei * 112.5% = 228.1 gwei`。
-
-还请注意,考虑到完整区块前的基础费增加速度很快,我们不大可能看到它长时间处于峰值状态。
-
-| 区块编号 | 已包含燃料 | 费用增加 | 当前基本费用 |
-| ---- | -----:| -----:| ---------------:|
-| 30 | 30M | 12.5% | 2705.6 gwei |
-| ... | ... | 12.5% | ... |
-| 50 | 30M | 12.5% | 28531.3 gwei |
-| ... | ... | 12.5% | ... |
-| 100 | 30M | 12.5% | 10302608.6 gwei |
-
-### 优先费(小费) {#priority-fee}
-
-优先费(小费)激励验证者将交易添加到区块中。 如果没有小费,验证者会发现开采空区块在经济上可行,因为它们会获得相同的区块奖励。 小额小费是对验证者将交易添加到区块的最小激励。 在相同区块中,对于要优先于其他交易执行的交易,可以添加更高的小费来尝试使出价高于竞争性交易。
-
-### 最高费用 {#maxfee}
-
-要在网络上执行交易,用户可以为他们愿意支付的交易执行费用指定最高限额。 此可选参数称为 `maxFeePerGas`。 为了执行交易,最高费用必须超过基础费和小费的总和。 交易完成后,会将最高费用与基础费和小费总和之间的差额退还给交易发送人。
-
-### 区块大小 {#block-size}
-
-每个区块的目标大小为 1500 万单位燃料,但区块的大小将根据网络需求增减,最大不得超过 3000 万单位燃料的区块大小上限(目标区块大小的 2 倍)。 协议通过 _tâtonnement_ 过程使均衡区块大小平均达到 1,500 万单位燃料。 这意味着如果区块大小超出目标区块大小,协议将增加下一个区块的基础费。 同样,如果区块大小小于目标区块大小,协议将减少基础费。 基础费的调整金额与当前区块大小和目标区块大小的差距成比例。 [关于区块的更多信息](/developers/docs/blocks/)。
-
-### 实践中的燃料费计算 {#calculating-fees-in-practice}
-
-你可以明确说明自己愿意支付多少交易执行费。 然而,大多数钱包提供商会自动设置推荐的交易费(基础费 + 推荐的优先费)来降低用户操作的复杂程度。
-
-## 为什么存在燃料费? {#why-do-gas-fees-exist}
-
-简而言之,燃料费有助于确保以太坊网络的安全。 在网络上执行的每次计算都需要收费,这样可以防止不良行为者给网络带来垃圾信息。 为了防止代码中出现无意或恶意的无限循环或其他计算浪费,要求每笔交易对可以采用的代码执行计算步骤设置一个限制。 基本计算单位是“燃料”。
-
-尽管交易中包含费用限制,但交易中未使用的所有燃料将退还给用户(即退还 `max fee - (base fee + tip)`)。
-
-![未使用燃料退还示意图](../transactions/gas-tx.png) _示意图节选自[以太坊虚拟机图解](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
-
-## 什么是燃料限额? {#what-is-gas-limit}
-
-燃料限额是指你愿意在交易中消耗的最大燃料数量。 涉及[智能合约](/developers/docs/smart-contracts/)的更复杂交易需要进行更多的计算工作,因此相比简单的支付,它们需要更高的燃料限额。 标准以太币转账要求燃料限额为 21,000 单位燃料。
-
-例如,如果你对简单的以太币转账设置 50,000 单位燃料限额,以太坊虚拟机将消耗 21,000 单位,你将收到剩余的 29,000 单位。 然而,如果你设置的燃料太少,比如说,对于简单的以太币转账,设置燃料限额为 20,000 单位,以太坊虚拟机将消耗 20,000 单位燃料并尝试执行交易,但最后不会完成。 然后,以太坊虚拟机回滚所有变化,但由于验证者已经完成了价值 20k 单位燃料的工作,这些燃料就被消耗了。
-
-## 为什么燃料费会变得如此高? {#why-can-gas-fees-get-so-high}
-
-燃料费高是由于以太坊广受欢迎。 如果需求量太大,用户必须提供更高的小费,力争使出价高于其他用户的交易。 小费越高,交易进入下一个区块的可能性就越大。 此外,更复杂的智能合约应用可能会执行许多操作来支持其功能,使它们消耗大量的燃料。
-
-## 减少燃料成本的举措 {#initiatives-to-reduce-gas-costs}
-
-以太坊[可扩展性升级](/roadmap/)最终应该可以解决部分燃料费问题,并让以太坊平台有能力每秒处理数千笔交易,从而实现全面扩容。
-
-二层网络扩容是一项主要举措,可大大优化燃料成本、用户体验和可扩展性。 [关于二层网络扩容的更多信息](/developers/docs/scaling/#layer-2-scaling)。
-
-## 监控燃料费 {#monitoring-gas-fees}
-
-如果想要监控燃料价格,用较少的费用发送以太币,你可以使用多种不同的工具,例如:
-
-- [Etherscan 区块浏览器](https://etherscan.io/gastracker)_交易燃料价格估算器。_
-- [Blocknative ETH Gas Estimator](https://chrome.google.com/webstore/detail/blocknative-eth-gas-estim/ablbagjepecncofimgjmdpnhnfjiecfm) _支持类型 0 传统交易和类型 2 EIP-1559 交易的燃料估算 Chrome 插件。_
-- [Cryptoneur Gas Fees Calculator](https://www.cryptoneur.xyz/gas-fees-calculator) _按照你的当地货币计算主网、Arbitrum 和 Polygon 上进行的各类交易的燃料费。_
-
-## 相关工具 {#related-tools}
-
-- [Blocknative 的燃料平台](https://www.blocknative.com/gas)_由 Blocknative 的全局内存池数据平台提供支持的燃料估算应用程序接口_
-
-## 延伸阅读 {#further-reading}
-
-- [以太坊 Gas 详解](https://defiprime.com/gas)
-- [减少智能合约的燃料消耗](https://medium.com/coinmonks/8-ways-of-reducing-the-gas-consumption-of-your-smart-contracts-9a506b339c0a)
-- [权益证明与工作量证明](https://blockgeeks.com/guides/proof-of-work-vs-proof-of-stake/)
-- [面向开发者的燃料优化策略](https://www.alchemy.com/overviews/solidity-gas-optimization)
-- [EIP-1559 文档](https://eips.ethereum.org/EIPS/eip-1559)
-- [Tim Beiko 的 EIP-1559 资源](https://hackmd.io/@timbeiko/1559-resources)。
diff --git a/public/content/translations/zh/13) Foundational Docs/developers/docs/index.md b/public/content/translations/zh/13) Foundational Docs/developers/docs/index.md
deleted file mode 100644
index 47c7c2e0023..00000000000
--- a/public/content/translations/zh/13) Foundational Docs/developers/docs/index.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title: 以太坊开发文档
-description: ethereum.org 开发者相关文档简介。
-lang: zh
----
-
-本文档旨在帮助你构建以太坊。 它介绍了以太坊概念,解释了以太坊技术栈,并记录了以太坊更复杂的应用和使用案例的高级主题。
-
-基于开源社区的努力,你可以随时提出新的主题,添加新内容,并在认为可能有用的地方提供示例。 所有文档都可以通过 GitHub 编辑 — 如果不确定如何操作,[请遵循这些说明](https://github.com/ethereum/ethereum-org-website/blob/dev/docs/editing-markdown.md)。
-
-## 开发单元 {#development-modules}
-
-如果这是你首次尝试以太坊开发,我们建议从头开始,有始有终,从头到尾。
-
-### 基础主题 {#foundational-topics}
-
-
-
-### 以太坊堆栈 {#ethereum-stack}
-
-
-
-### 高级 {#advanced}
-
-
diff --git a/public/content/translations/zh/13) Foundational Docs/developers/docs/intro-to-ether/index.md b/public/content/translations/zh/13) Foundational Docs/developers/docs/intro-to-ether/index.md
deleted file mode 100644
index 571d4c71f0f..00000000000
--- a/public/content/translations/zh/13) Foundational Docs/developers/docs/intro-to-ether/index.md
+++ /dev/null
@@ -1,78 +0,0 @@
----
-title: 以太币简介
-description: 开发者讲解以太币加密货币
-lang: zh
----
-
-## 前提条件 {#prerequisites}
-
-为了更好地理解此页面,推荐先阅读:[以太坊简介](/developers/docs/intro-to-ethereum/)。
-
-## 什么是加密货币? {#what-is-a-cryptocurrency}
-
-加密货币是一种基于分布式账本(区块链)的交换媒介。
-
-交换媒介是指被广泛接受、可支付任何商品和服务的物品,而分类账是记录交易的数据存储系统。 区块链技术允许用户在分类账上进行交易,而不必依赖受信赖的第三方来维护分类账。
-
-第一个加密货币是由 Satoshi Nakamoto 创建的比特币。 自 2009 年比特币发行以来,人们已经在许多不同的区块链上制作了数以千计的加密货币。
-
-## 什么是以太币 (ETH)? {#what-is-ether}
-
-**以太币 (ETH)** 是用于以太坊网络上许多事物的加密货币。 从根本上讲,以太币是唯一可接受的交易费支付方式,并且在[合并](/roadmap/merge)之后,在主网上验证和提出区块需要以太币。 以太币还被用作 [去中心化金融](/defi) 借贷市场的主要抵押形式,非同质化代币市场的主要记账单位以及提供服务、销售实体商品赚取的付款等。
-
-以太坊允许开发者创建 [**去中心化应用程序 (dapp)**](/developers/docs/dapps),它们共享算力池。 这个共享池是有限的,因此以太坊需要一种机制来确定谁可以使用它。 否则,某个 dapp 可能会意外或恶意地消耗所有网络资源,从而导致其他应用程序无法访问算力池。
-
-ETH 加密货币支持以太坊算力的定价机制。 当用户想要完成一笔交易时,他们必须支付以太币,使他们的交易被区块链识别。 这些使用成本被称为 [gas 费用](/developers/docs/gas/),gas 费用的多少取决于执行交易所需的算力和全网当时的算力需求。
-
-因此,即使某恶意 dapp 无限循环提交,交易最终也会耗尽 ETH 并终止,从而使网络恢复正常。
-
-人们[经常](https://www.reuters.com/article/us-crypto-currencies-lending-insight-idUSKBN25M0GP#:~:text=price%20of%20ethereum) [会](https://abcnews.go.com/Business/bitcoin-slumps-week-low-amid-renewed-worries-chinese/story?id=78399845#:~:text=cryptocurrencies%20including%20ethereum) [混淆](https://www.cnn.com/2021/03/14/tech/nft-art-buying/index.html#:~:text=price%20of%20ethereum)以太坊和以太币 - 当他们谈及“以太坊价格”时,其实是指以太币价格。
-
-## 铸造 ETH {#minting-ether}
-
-铸造是指在以太坊分类账上创造新以太币的过程。 底层以太坊协议创造出新以太币,单一用户不可能创造。
-
-以太币铸造出来,用来奖励提议的每个区块,以及在每个时段的检查点奖励验证者执行的和达成共识有关的其他活动。 总发行量取决于验证者的数量和它们质押的以太币数量。 在所有验证者都诚实且在线的理想情况下,以太币总发行量会在所有验证者中等分,但现实中分配情况会因验证者的表现而异。 总发行量的大约 1/8 会奖励给区块提议者,剩余部分在其它验证者中分配。 区块提议者还会获得交易费小费和矿工可提取价值,但这些都来自流通中的以太币,而非新发行的以太币。
-
-## 燃烧 ETH {#burning-ether}
-
-除了通过区块奖励创建以太币,以太币也能通过“燃烧”过程销毁。 当 ETH 被燃烧掉,它也就永久退出流通。
-
-以太坊上的每一笔交易都会发生以太币销毁。 当用户为他们的交易支付费用时,网络根据交易需求设置的基础燃料费会被销毁。 以太币销毁再加上可变区块大小和最高燃料费,简化了以太坊上的交易费估算。 网络需求量高时,[区块](https://etherscan.io/block/12965263)燃烧的以太币数量可以多于铸造的以太币数量,有效地抵消了以太币的发行。
-
-销毁基础费抑制区块生产者操纵交易的能力。 例如,如果区块生产者获得了基础费,他们可以免费添加自己的交易,并提高其他所有人的基础费。 或者,矿工可以将基础费退还给一些链下用户,造成交易费市场更加不透明和复杂。
-
-## ETH 面额 {#denominations}
-
-由于以太坊上很多交易数额都比较小,因此以太币有几种面额,可以作为较小的记账单位。 在这些面额中,Wei 与 Gwei 特别重要。
-
-Wei 是最小的以太币面额,因此在[以太坊黄皮书](https://ethereum.github.io/yellowpaper/paper.pdf)等众多技术实现中,都以 Wei 为单位进行计算。
-
-Gwei(giga-wei 的缩写),常用于描述以太坊上的燃料费用。
-
-| 面额 | ETH 值 | 常见用法 |
-| ---- | ---------------- | ------ |
-| Wei | 10-18 | 技术实施 |
-| Gwei | 10-9 | 可读燃料费用 |
-
-## 传输 ETH {#transferring-ether}
-
-以太坊上的每笔交易都包含一个 `value` 字段,指定从发送者地址发送到接收者地址的以太币转账金额(以 Wei 为单位)。
-
-当接收者地址是[智能合约](/developers/docs/smart-contracts/)时,在智能合约执行其代码后,这些转账的以太币可用于支付燃料费用。
-
-[有关交易的更多信息](/developers/docs/transactions/)
-
-## 查询 ETH {#querying-ether}
-
-用户可以通过检查帐户的 `balance` 字段来查询任何[帐户](/developers/docs/accounts/)的以太币余额,该字段显示以太币持有数量(以 Wei 为单位)。
-
-[Etherscan](https://etherscan.io) 是一种常用工具,用于通过基于 Web 的应用程序检查地址余额。 例如,[此 Etherscan 页面](https://etherscan.io/address/0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae)显示以太坊基金会的余额。 也可以通过使用钱包或直接向节点提出请求来查询帐户余额。
-
-## 延伸阅读 {#further-reading}
-
-- [定义 ETH 和以太坊](https://www.cmegroup.com/education/courses/introduction-to-ether/defining-ether-and-ethereum.html) – _CME Group_
-- [以太坊白皮书](/whitepaper/):以太坊原始提案 这份资料包括了对 ETH 及其创建动机的整体描述。
-- [Gwei 计算器](https://www.alchemy.com/gwei-calculator):使用这个 Gwei 计算器可以轻松地换算 wei、Gwei 和 ETH。 只需输入任何数量的 wei、Gwei 或 ETH,就能够自动换算。
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
diff --git a/public/content/translations/zh/13) Foundational Docs/developers/docs/intro-to-ethereum/index.md b/public/content/translations/zh/13) Foundational Docs/developers/docs/intro-to-ethereum/index.md
deleted file mode 100644
index 5a85a4e2768..00000000000
--- a/public/content/translations/zh/13) Foundational Docs/developers/docs/intro-to-ethereum/index.md
+++ /dev/null
@@ -1,116 +0,0 @@
----
-title: 以太坊简介
-description: 面向 dapp 开发者介绍以太坊的核心概念。
-lang: zh
----
-
-## 什么是区块链? {#what-is-a-blockchain}
-
-对区块链最好的描述是将其描述为一个公共数据库,它由网络中的许多计算机更新和共享。
-
-"区块"指的是数据和状态是按顺序批量或"区块"存储的。 如果你向别人发送 ETH,需要将交易数据添加到一个区块中才算成功。
-
-"链"指的是每个区块加密引用其父块。 换句话说,区块被链接在一起。 在不改变所有后续区块的情况下,区块内数据是无法改变,但改变后续区块需要整个网络的共识。
-
-网络中的每台计算机都必须就每个新区块和链达成一致。 这些计算机被称为“节点”。 节点保证所有与区块链交互的人都有相同的数据。 要完成此分布式协议,区块链需要一个共识机制。
-
-以太坊采用[权益证明共识机制](/developers/docs/consensus-mechanisms/pos/)。 任何想在链上添加新区块的人都必须质押以太币(以太坊原生货币)做为抵押品并运行验证者软件。 接着,可以随机选择这些“验证者”来提出区块,再由其他验证者检查并添加到区块链中。 存在一种奖励和惩罚体系,有力地激励参与者尽可能地诚实和保持在线。
-
-如果你想了解如何对区块链数据进行哈希运算并随后附加到区块引用的历史记录中,请务必查看Anders Brownworth 进行的[这个演示](https://andersbrownworth.com/blockchain/blockchain)并观看下方的相关视频。
-
-观看 Anders 介绍区块链中的哈希:
-
-
-
-## 以太坊简介 {#what-is-ethereum}
-
-以太坊是一条区块链,其中嵌入了计算机。 它是以去中心化、无需许可、抗审查的方式构建应用程序和组织的基础。
-
-在以太坊宇宙中,有一台规范化计算机(称为以太坊虚拟机,或 EVM),其状态得到以太坊网络中所有人的一致同意。 每个参与以太坊网络的人(每个以太坊节点)都会保存一份该计算机的状态。 此外,任何参与者都可以广播请求这台计算机进行任意计算。 每当广播这样的请求时,网络上的其他参与者就会检查、验证并进行(“执行”)该计算。 该执行会导致以太坊虚拟机的状态变化,并且在整个网络中传播。
-
-计算请求被称为交易请求;所有交易的记录以及以太坊虚拟机的当前状态存储在区块链中,而区块链又由所有节点存储并达成一致。
-
-加密机制确保一旦交易被验证为有效并添加到区块链中后,之后就无法被篡改。 同样的机制还确保所有交易都以适当的“权限”签名和执行(除了 Alice 本人,任何人都不能从 Alice 的帐户发送数字资产)。
-
-## 什么是以太币? {#what-is-ether}
-
-**以太币 (ETH)** 是以太坊上的原生加密货币。 以太币的目的是允许计算市场化。 这种市场为参与者提供了一种经济激励,以验证并执行交易请求,为网络提供计算资源。
-
-任何广播交易请求的参与者还必须向网络提供一定数量的以太币作为奖金。 网络将燃烧部分奖金,并将剩余部分奖励给最终验证、执行交易,将其提交到区块链并广播到网络的任何人。
-
-支付的以太币数量对应于进行计算所需的资源。 这类奖励也可以阻止恶意参与者通过请求执行无穷计算或其他资源密集型脚本来故意堵塞网络,因为这些参与者必须为计算资源付费。
-
-以太币还用于通过以下三种主要方式为网络提供加密经济安全性:1) 作为一种奖励方式,奖励提议区块或指出其他验证者不诚实行为的验证者;2) 由验证者抵押,作为遏制不诚实行为的抵押品 — 如果验证者试图行为不端,它们的以太币可能会被销毁;3) 用于对新提议的区块的“投票”进行加权,并影响共识机制的分叉选择部分。
-
-## 什么是智能合约? {#what-are-smart-contracts}
-
-实际上,参与者不会每次在以太坊虚拟机上请求计算时都编写新代码。 相反,应用程序开发者将程序(可重用的代码片段)上传到以太坊虚拟机状态,用户发出请求以使用不同参数执行这些代码片段。 我们将这些上传至网络并由网络执行的程序称为智能合约。
-
-简单来说,你可以把智能合约想象成一种自动售货机:通过特定参数调用脚本后,如果满足某些特定条件,就会执行一些操作或计算。 例如,如果调用者将以太币发送给特定的接收者,简单的卖方智能合约就可以创建和分配数字资产所有权。
-
-任何开发者都可以创建智能合约,并使用区块链作为其数据层,将其公开给网络,但要向网络支付以太币。 然后,任何用户都可以调用智能合约来执行其代码,并再次向网络支付费用。
-
-因此,通过智能合约,开发者可以任意构建和部署面向用户的复杂应用程序和服务,例如市场、金融工具、游戏等。
-
-## 术语 {#terminology}
-
-### 区块链 {#blockchain}
-
-所有在以太坊网络历史上提交给以太坊网络的区块的序列。 如此命名,是因为每个区块都包含对前一个区块的引用,这有助于保持所有区块的顺序,因而维持了精确历史记录的顺序。
-
-### ETH 以太币 {#eth}
-
-**以太币 (ETH)** 是以太坊上的原生加密货币。 用户向其他用户支付以太币,让他们完成自己的代码执行请求。
-
-[有关以太币的更多信息](/developers/docs/intro-to-ether/)
-
-### EVM 以太坊虚拟机 {#evm}
-
-以太坊虚拟机是一个全局虚拟计算机,以太坊网络中的每个参与者都会存储并一致同意其状态。 任何参与者都可以请求在以太坊虚拟机上执行任意代码;代码执行会改变以太坊虚拟机的状态。
-
-[有关以太坊虚拟机的更多信息](/developers/docs/evm/)
-
-### Nodes 节点 {#nodes}
-
-存储以太坊虚拟机状态的实体计算机。 节点间相互通信,传播关于以太坊状态的信息及其新的状态变化。 任何用户还可以通过广播来自节点的代码执行请求来请求代码执行。 以太坊网络本身就是所有以太坊节点及其通信的集合。
-
-[有关节点的更多信息](/developers/docs/nodes-and-clients/)
-
-### 帐户 {#accounts}
-
-帐户是存储以太币之处。 用户可以初始化帐户,将以太币存入帐户,并将自己帐户中的以太币转账给其他用户。 帐户和帐户余额存储在以太坊虚拟机中的一个大表格中,是以太坊虚拟机总体状态的一部分。
-
-[有关帐户的更多信息](/developers/docs/accounts/)
-
-### 交易 {#transactions}
-
-“交易请求”是表示以太坊虚拟机上的代码执行请求的正式术语。“交易”是指已完成的交易请求和相关的以太坊虚拟机状态变化。 任何用户都可以从节点向网络广播交易请求。 为了使交易请求影响一致同意的以太坊虚拟机状态,就必须由其他节点对其进行验证、执行并“提交到网络”。 执行任何代码都会导致以太坊虚拟机状态变化;一旦提交后,该状态变化将广播到网络中的所有节点。 以下为一些交易示例:
-
-- 从我的帐户发送 X 个以太币到 Alice 的帐户。
-- 将一些智能合约代码发布到以太坊虚拟机状态中。
-- 使用 Y 参数执行 EVM 中 X 地址的智能合约代码。
-
-[有关交易的更多信息](/developers/docs/transactions/)
-
-### 区块 {#blocks}
-
-交易量巨大,因此交易分批或分区块“提交”。 区块通常包含数十至数百笔交易。
-
-[有关区块的更多信息](/developers/docs/blocks/)
-
-### 智能合约 {#smart-contracts}
-
-是指开发者发布到以太坊虚拟机状态中的可重用代码片段(程序)。 任何人都可以通过提出交易请求来请求执行智能合约代码。 因为开发者可以通过发布智能合约将任意可执行应用程序(游戏,市场,金融工具等)写入以太坊虚拟机,所以这些通常也称为 [dapp 或去中心化应用程序](/developers/docs/dapps/)。
-
-[有关智能合约的更多信息](/developers/docs/smart-contracts/)
-
-## 延伸阅读 {#further-reading}
-
-- [以太坊白皮书](/whitepaper/)
-- [那么,以太坊究竟是如何工作的?](https://medium.com/@preethikasireddy/how-does-ethereum-work-anyway-22d1df506369) - _Preethi Kasireddy_(**注意**此资源仍然有价值,但请注意它早于[合并](/roadmap/merge),因此仍然引用以太坊的工作量证明机制 - 实际上以太坊现在使用的是[权益证明](/developers/docs/consensus-mechanisms/pos)来保障安全)
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
-
-## 相关教程 {#related-tutorials}
-
-- [以太坊开发者指南,第 1 部分](/developers/tutorials/a-developers-guide-to-ethereum-part-one/) _ – 探索以太坊(非常适合使用 Python 和 web3.py 的初学者)_
diff --git a/public/content/translations/zh/13) Foundational Docs/developers/docs/networks/index.md b/public/content/translations/zh/13) Foundational Docs/developers/docs/networks/index.md
deleted file mode 100644
index 57d6cb8f842..00000000000
--- a/public/content/translations/zh/13) Foundational Docs/developers/docs/networks/index.md
+++ /dev/null
@@ -1,149 +0,0 @@
----
-title: 网络
-description: 概述以太坊网络以及在何处获得测试网络的以太币来测试你的应用程序。
-lang: zh
----
-
-以太坊网络是一组使用以太坊协议进行通信的互联计算机。 以太坊只有一个主网,但可以创建符合相同协议规则的独立网络用于测试和开发。 有许多独立的“网络”遵循该协议,但彼此之间没有交互。 你甚至可以在自己的计算机上本地启动一个以太坊网络,以测试你的智能合约和 web3 应用程序。
-
-以太坊帐户可在不同的网络上使用,但是帐户余额和交易历史记录不会结转到以太坊主网以外。 进行测试时,了解哪些网络可用以及如何获取可以试用的测试网以太币是很有用的。 一般来说,出于安全考虑,不建议在测试网上重复使用主网帐户,反之亦然。
-
-## 前提条件 {#prerequisites}
-
-你应该先了解[以太坊基础知识](/developers/docs/intro-to-ethereum/),然后再深入研究不同的网络,因为测试网络将提供一种低廉、安全的以太坊供你试用。
-
-## 公共网络 {#public-networks}
-
-每个人都能通过互联网连接到公共网络。 任何人都可以在公共区块链上读取或创造交易,并且可以验证已经执行的交易。 对等节点间的共识决定交易的添加和网络状态。
-
-### 以太坊主网 {#ethereum-mainnet}
-
-主网是指主要的以太坊生态区块链,所有具有实际价值的交易都发生在该链的分散账本中。
-
-大众和交易所涉及的 ETH 价格是主网的 ETH。
-
-### 以太坊测试网 {#ethereum-testnets}
-
-除了主网外,还有公开的测试网。 这是一种模拟生态环境的网络,协议开发者或智能合约开发者可以使用它们测试尚未部署在主网上的协议升级和智能合约。 你可以把它看作生产与装配服务器的模拟。
-
-在部署到主网之前,你应该在测试网测试编写的任何合约代码。 在与现有智能合约集成的去中心化应用程序中,大多数项目将副本部署到测试网。
-
-大多数测试网最初都使用需要许可的权威证明共识机制。 这意味着会选择少量节点来验证交易并创建新区块——在此过程中将他们的身份进行抵押。 或者,有些测试网采用开放的权益证明共识机制,每个人都可以测试运行验证者,就跟以太坊主网一样。
-
-测试网上的以太币被认为是没有实际价值的;然而,针对已变得稀少或难以获得的特定类型测试网以太币,仍存在一些交易市场。 由于实际中与以太坊(甚至在测试网上)进行交互时需要使用以太币,所以大多数人从水龙头免费获取测试网以太币。 大多数水龙头是网络应用程序,你可以给它输入一个请求发送以太币的地址。
-
-#### 我应该使用哪个测试网?
-
-客户端开发者目前还在维护的两个公共测试网是 Sepolia 和 Goerli。 Sepolia 是一个供合约和应用程序开发者测试其应用程序的网络。 Goerli 网络是让协议开发者测试网络升级,并让质押人测试运行验证者。
-
-#### Sepolia {#sepolia}
-
-**Sepolia 是应用程序开发时推荐使用的默认测试网**。 Sepolia 网络使用一种需要许可的验证者设置。 它相对较新,即它的状态和历史记录都非常小。 这意味着网络可以快速同步,并且在其上运行节点需要的存储空间更少。 这对于希望快速启动节点并直接与网络交互的用户来讲,是非常有用的。
-
-- 封闭式验证者设置,由客户端和测试团队控制
-- 与其他测试网相比,新测试网部署的应用程序较少
-- 同步速度快,运行节点需要的磁盘空间最小
-
-##### 资源
-
-- [网站](https://sepolia.dev/)
-- [GitHub](https://github.com/eth-clients/sepolia)
-- [Otterscan](https://sepolia.otterscan.io/)
-- [Etherscan 区块浏览器](https://sepolia.etherscan.io)
-- [Blockscout](https://eth-sepolia.blockscout.com/)
-
-##### 水龙头
-
-- [QuickNode Sepolia 水龙头](https://faucet.quicknode.com/drip)
-- [Grabteeth](https://grabteeth.xyz/)
-- [PoW 水龙头](https://sepolia-faucet.pk910.de/)
-- [Coinbase Wallet 水龙头 | Sepolia](https://coinbase.com/faucets/ethereum-sepolia-faucet)
-- [Alchemy Sepolia 水龙头](https://sepoliafaucet.com/)
-- [Infura Sepolia 水龙头](https://www.infura.io/faucet)
-- [Chainstack Sepolia 水龙头](https://faucet.chainstack.com/sepolia-faucet)
-- [以太坊生态系统水龙头](https://www.ethereum-ecosystem.com/faucets/ethereum-sepolia)
-
-#### Goerli _(长期支持)_ {#goerli}
-
-_注意:[Goerli 测试网已弃用](https://ethereum-magicians.org/t/proposal-predictable-ethereum-testnet-lifecycle/11575/17),它将在 2023 年被 [Holesovice](https://github.com/eth-clients/holesovice) 取代。 请考虑把你的应用程序迁移至 Sepolia。_
-
-Goerli 是用于测试验证和质押的测试网。 Goerli 网络对想要运行测试网验证者的用户开放。 因此,希望在部署到主网之前测试协议升级的质押人应该使用 Goerli。
-
-- 开放式验证者设置,质押者可以测试网络升级
-- 状态比较大,用于测试复杂的智能合约交互
-- 同步时间更长,运行节点需要更多存储空间
-
-##### 资源
-
-- [网站](https://goerli.net/)
-- [GitHub](https://github.com/eth-clients/goerli)
-- [Etherscan](https://goerli.etherscan.io)
-- [Blockscout](https://eth-goerli.blockscout.com/)
-
-##### 水龙头
-
-- [QuickNode Goerli 水龙头](https://faucet.quicknode.com/drip)
-- [Grabteeth](https://grabteeth.xyz/)
-- [PoW 水龙头](https://goerli-faucet.pk910.de/)
-- [Paradigm 水龙头](https://faucet.paradigm.xyz/)
-- [Alchemy Goerli 水龙头](https://goerlifaucet.com/)
-- [All That Node Goerli 水龙头](https://www.allthatnode.com/faucet/ethereum.dsrv)
-- [Coinbase Wallet 水龙头 | Goerli](https://coinbase.com/faucets/ethereum-goerli-faucet)
-- [Chainstack Goerli 水龙头](https://faucet.chainstack.com/goerli-faucet)
-
-要在 Goerli 测试网上启动验证者,请使用 ethstaker 的 ["cheap goerli validator" 启动板](https://goerli.launchpad.ethstaker.cc/en/)。
-
-### 二层网络测试网 {#layer-2-testnets}
-
-[二层网络 (L2)](/layer-2/) 是一种统称,用来描述一系列特定的以太坊扩容解决方案。 二层网络是一条扩展以太坊并继承以太坊安全保障的独立区块链。 二层网络测试网通常与公共以太坊测试网紧密关联。
-
-#### Arbitrum Goerli {#arbitrum-goerli}
-
-[Arbitrum](https://arbitrum.io/) 测试网。
-
-##### 水龙头
-
-- [Chainlink 水龙头](https://faucets.chain.link/)
-
-#### Optimistic Goerli {#optimistic-goerli}
-
-[Optimism](https://www.optimism.io/) 测试网。
-
-##### 水龙头
-
-- [Paradigm 水龙头](https://faucet.paradigm.xyz/)
-- [Coinbase Wallet 水龙头 | Optimism Goerli](https://coinbase.com/faucets/optimism-goerli-faucet)
-
-#### Starknet Goerli {#starknet-goerli}
-
-[Starknet](https://www.starknet.io) 的测试网。
-
-##### 水龙头
-
-- [Starknet 水龙头](https://faucet.goerli.starknet.io)
-
-## 私有网络 {#private-networks}
-
-如果以太坊网络的节点未连接到公共网络( 主网或测试网),则以太坊网络就是私有网络。 在这种情况下,私有仅指保留或隔离,而不是保护或安全。
-
-### 开发网络 {#development-networks}
-
-要开发以太坊应用程序,你需要在私有网络上运行该应用程序以了解它的运行情况,然后再进行部署。 如同在自己的计算机上创建用于 Web 开发的本地服务器,你可以创建本地区块链实例来测试你的去中心化应用程序。 这样,迭代将比公共测试网快很多。
-
-有一些项目和工具专门协助这方面的工作。 进一步了解[开发网络](/developers/docs/development-networks/)。
-
-### 联盟网络 {#consortium-networks}
-
-共识过程由一组预定义的受信任节点控制。 例如,在由知名学术机构组成的私有网络中,每个学术机构管理一个节点,并且区块由网络中的签名者阈值进行验证。
-
-如果说公共以太坊网络像公共互联网,那么联盟网络就像私有内部网。
-
-## 相关工具 {#related-tools}
-
-- [Chainlist](https://chainlist.org/) _ 以太坊虚拟机网络的列表,可将钱包和提供者连接到相应的链 ID 和网络 ID_
-- [基于以太坊虚拟机的链](https://github.com/ethereum-lists/chains) _给 Chainlist 提供支持的 GitHub 链元数据存储库_
-
-## 延伸阅读 {#further-reading}
-
-- [提案:可预测的以太坊测试网生命周期](https://ethereum-magicians.org/t/proposal-predictable-ethereum-testnet-lifecycle/11575/17)
-- [以太坊测试网的演变](https://etherworld.co/2022/08/19/the-evolution-of-ethereum-testnet/)
diff --git a/public/content/translations/zh/13) Foundational Docs/developers/docs/transactions/index.md b/public/content/translations/zh/13) Foundational Docs/developers/docs/transactions/index.md
deleted file mode 100644
index 6c6034cce4e..00000000000
--- a/public/content/translations/zh/13) Foundational Docs/developers/docs/transactions/index.md
+++ /dev/null
@@ -1,221 +0,0 @@
----
-title: 交易
-description: 以太坊交易 – 工作原理、数据结构以及如何通过应用发送。
-lang: zh
----
-
-交易是由帐户发出,带密码学签名的指令。 帐户将发起交易以更新以太坊网络的状态。 最简单的交易是将 ETH 从一个帐户转到另一个帐户。
-
-## 前提条件 {#prerequisites}
-
-为了帮助你更好地理解这个页面,我们建议先阅读[帐户](/developers/docs/accounts/)和我们的[以太坊简介](/developers/docs/intro-to-ethereum/)。
-
-## 什么是交易? {#whats-a-transaction}
-
-以太坊交易是指由外部持有帐户发起的行动,换句话说,是指由人管理而不是智能合约管理的帐户。 例如,如果 Bob 发送 Alice 1 ETH,则 Bob 的帐户必须减少 1 ETH,而 Alice 的帐户必须增加 1 ETH。 交易会造成状态的改变。
-
-![显示交易导致状态更改的图表](./tx.png) _示意图节选自[以太坊虚拟机图解](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
-
-改变 EVM 状态的交易需要广播到整个网络。 任何节点都可以广播在以太坊虚拟机上执行交易的请求;此后,验证者将执行交易并将由此产生的状态变化传播到网络的其他部分。
-
-交易需要付费并且必须包含在一个有效区块中。 为了使本概述更加简洁,我们将另行介绍燃料费和验证。
-
-所提交的交易包括下列信息:
-
-- `from` - 发送者的地址,该地址将签署交易。 这将是一个外部帐户,因为合约帐户不能发送交易。
-- `to` — 接收地址(如果是外部帐户,交易将传输值。 如果是合约帐户,交易将执行合约代码)
-- `signature` – 发送者的标识符。 当发送者的私钥签署交易并确保发送者已授权此交易时,生成此签名。
-- `nonce` - 一个有序递增的计数器,表示来自帐户的交易数量
-- `value` – 发送者向接收者转移的以太币数量(面值为 WEI,1 个以太币 = 1e+18wei)
-- `input data` – 可包括任意数据的可选字段
-- `gasLimit` – 交易可以消耗的最大数量的燃料单位。 [以太坊虚拟机](/developers/docs/evm/opcodes)指定每个计算步骤所需的燃料单位
-- `maxPriorityFeePerGas` - 作为小费提供给验证者的已消耗燃料的最高价格
-- `maxFeePerGas` - 愿意为交易支付的每单位燃料的最高费用(包括 `baseFeePerGas` 和 `maxPriorityFeePerGas`)
-
-燃料是指验证者处理交易所需的计算。 用户必须为此计算支付费用。 `gasLimit` 和 `maxPriorityFeePerGas` 决定支付给验证者的最高交易费。 [关于燃料的更多信息](/developers/docs/gas/)。
-
-交易对象看起来像这样:
-
-```js
-{
- from: "0xEA674fdDe714fd979de3EdF0F56AA9716B898ec8",
- to: "0xac03bb73b6a9e108530aff4df5077c2b3d481e5a",
- gasLimit: "21000",
- maxFeePerGas: "300"
- maxPriorityFeePerGas: "10"
- nonce: "0",
- value: "10000000000",
-}
-```
-
-但交易对象需要使用发送者的私钥签名。 这证明交易只可能来自发送者,而不是欺诈。
-
-Geth 这样的以太坊客户端将处理此签名过程。
-
-示例 [JSON-RPC](/developers/docs/apis/json-rpc) 调用:
-
-```json
-{
- "id": 2,
- "jsonrpc": "2.0",
- "method": "account_signTransaction",
- "params": [
- {
- "from": "0x1923f626bb8dc025849e00f99c25fe2b2f7fb0db",
- "gas": "0x55555",
- "maxFeePerGas": "0x1234",
- "maxPriorityFeePerGas": "0x1234",
- "input": "0xabcd",
- "nonce": "0x0",
- "to": "0x07a565b7ed7d7a678680a4c162885bedbb695fe0",
- "value": "0x1234"
- }
- ]
-}
-```
-
-示例响应:
-
-```json
-{
- "jsonrpc": "2.0",
- "id": 2,
- "result": {
- "raw": "0xf88380018203339407a565b7ed7d7a678680a4c162885bedbb695fe080a44401a6e4000000000000000000000000000000000000000000000000000000000000001226a0223a7c9bcf5531c99be5ea7082183816eb20cfe0bbc322e97cc5c7f71ab8b20ea02aadee6b34b45bb15bc42d9c09de4a6754e7000908da72d48cc7704971491663",
- "tx": {
- "nonce": "0x0",
- "maxFeePerGas": "0x1234",
- "maxPriorityFeePerGas": "0x1234",
- "gas": "0x55555",
- "to": "0x07a565b7ed7d7a678680a4c162885bedbb695fe0",
- "value": "0x1234",
- "input": "0xabcd",
- "v": "0x26",
- "r": "0x223a7c9bcf5531c99be5ea7082183816eb20cfe0bbc322e97cc5c7f71ab8b20e",
- "s": "0x2aadee6b34b45bb15bc42d9c09de4a6754e7000908da72d48cc7704971491663",
- "hash": "0xeba2df809e7a612a0a0d444ccfa5c839624bdc00dd29e3340d46df3870f8a30e"
- }
- }
-}
-```
-
-- `raw` 是采用[递归长度前缀 (RLP) ](/developers/docs/data-structures-and-encoding/rlp)编码形式的签名交易
-- `tx` 是已签名交易的 JSON 形式。
-
-如有签名哈希,可通过加密技术证明交易来自发送者并提交网络。
-
-### `data`字段 {#the-data-field}
-
-绝大多数交易都是从外部所有的帐户访问合约。 大多数合约用 Solidity 语言编写,并根据[应用程序二进制接口 (ABI)](/glossary/#abi) 解释其`data`字段。
-
-前四个字节使用函数名称和参数的哈希指定要调用的函数。 有时可以使用[本数据库](https://www.4byte.directory/signatures/)根据选择器识别函数。
-
-调用数据的其余部分是参数,[按照应用程序二进制接口规范中的规定进行编码](https://docs.soliditylang.org/en/latest/abi-spec.html#formal-specification-of-the-encoding)。
-
-例如,我们来看一下[这笔交易](https://etherscan.io/tx/0xd0dcbe007569fcfa1902dae0ab8b4e078efe42e231786312289b1eee5590f6a1)。 使用 **Click to see More(单击查看更多)**查看调用数据。
-
-函数选择器是 `0xa9059cbb`。 有几个[具有此签名的已知函数](https://www.4byte.directory/signatures/?bytes4_signature=0xa9059cbb)。 本例中[合约源代码](https://etherscan.io/address/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48#code)已经上传到 Etherscan,所以我们知道该函数是 `transfer(address, uint256)`。
-
-其余数据如下:
-
-```
-0000000000000000000000004f6742badb049791cd9a37ea913f2bac38d01279
-000000000000000000000000000000000000000000000000000000003b0559f4
-```
-
-根据应用程序二进制接口规范,整型值(例如地址,它是 20 字节整型)在应用程序二进制接口中显示为 32 字节的字,前面用零填充。 所以我们知道 `to` 地址是 [`4f6742badb049791cd9a37ea913f2bac38d01279`](https://etherscan.io/address/0x4f6742badb049791cd9a37ea913f2bac38d01279)。 `value` 是 0x3b0559f4 = 990206452。
-
-## 交易类型 {#types-of-transactions}
-
-以太坊有几种不同类型的交易:
-
-- 常规交易:从一个帐户到另一个帐户的交易。
-- 合约部署交易:没有“to”地址的交易,数据字段用于合约代码。
-- 执行合约:与已部署的智能合约进行交互的交易。 在这种情况下,“to”地址是智能合约地址。
-
-### 关于燃料 {#on-gas}
-
-如上所述,执行交易需要耗费[燃料](/developers/docs/gas/)。 简单的转账交易需要 21000 单位燃料。
-
-因此,如果 Bob 要在 `baseFeePerGas` 为 190 Gwei 且 `maxPriorityFeePerGas` 为 10 Gwei 时给 Alice 发送一个以太币,Bob 需要支付以下费用:
-
-```
-(190 + 10) * 21000 = 4,200,000 gwei
---或--
-0.0042 ETH
-```
-
-Bob 的帐户将会扣除 **1.0042 个以太币**(1 个以太币给 Alice,0.0042 个以太币作为燃料费用)
-
-Alice 的帐户将会增加 **+1.0 ETH**
-
-基础费将会燃烧 **-0.00399 ETH**
-
-验证者获得 **0.000210 个以太币**的小费
-
-
-![未使用燃料退还示意图](./gas-tx.png) _示意图节选自[以太坊虚拟机图解](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
-
-任何未用于交易的燃料都会退还给用户帐户。
-
-### 智能合约交互 {#smart-contract-interactions}
-
-任何涉及智能合约的交易都需要燃料。
-
-智能合约还可以包含被称为 [`view`](https://docs.soliditylang.org/en/latest/contracts.html#view-functions) 或 [`pure`](https://docs.soliditylang.org/en/latest/contracts.html#pure-functions) 的函数,这不会改变合约的状态。 像这样,从外部帐户调用这些函数不需要任何燃料。 这种情况下的 RPC 底层调用为 [`eth_call`](/developers/docs/apis/json-rpc#eth_call)。
-
-不同于使用 `eth_call` 进行访问,`view` 或 `pure` 函数通常也在内部(即从合约自身或其他合约)调用并消耗燃料。
-
-## 交易生命周期 {#transaction-lifecycle}
-
-交易提交后,就会发生以下情况:
-
-1. 以加密方式生成的交易哈希: `0x97d99bc7729211111a21b12c933c949d4f31684f1d6954ff477d0477538ff017`
-2. 然后,该交易被广播到网络,并添加到由所有其他待处理的网络交易组成的交易池中。
-3. 验证者必须选择你的交易并将它包含在一个区块中,以便验证交易并认为它“成功”。
-4. 随着时间的流逝,包含你的交易的区块将升级成“合理”状态,然后变成“最后确定”状态。 通过这些升级,可以进一步确定 你的交易已经成功并将无法更改。 区块一旦“最终确定”,只能通过耗费数十亿美元 的网络级攻击来更改。
-
-## 视频演示 {#a-visual-demo}
-
-跟随 Austin 了解交易、燃料和挖矿。
-
-
-
-## Typed Transaction Envelope交易 {#typed-transaction-envelope}
-
-以太坊最初有一种交易形式。 每笔交易都包含 Nonce、燃料价格、燃料限制、目的地地址、价值、数据、v、r 和 s。 这些字段为 [RLP 编码](/developers/docs/data-structures-and-encoding/rlp/),看起来像这样:
-
-`RLP([nonce, gasPrice, gasLimit, to, value, data, v, r, s])`
-
-以太坊经过演变,已经支持多种类型的交易,从而能够在不影响传统交易形式的情况下实现访问列表和 [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) 等新功能。
-
-[EIP-2718](https://eips.ethereum.org/EIPS/eip-2718)是允许这种行为的。 交易解释如下:
-
-`TransactionType || TransactionPayload`
-
-其中,字段定义如下:
-
-- `TransactionType` - 一个在 0 到 0x7f 之间的数字,总共为 128 种可能的交易类型。
-- `TransactionPayload` - 由交易类型定义的任意字节数组。
-
-基于 `TransactionType` 值,交易可被分为以下几类:
-
-1. **Type 0(传统)交易:**自以太坊推出以来使用的原始交易格式。 它们不包含 [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) 中的功能,例如动态燃料费计算或智能合约访问列表。 传统交易缺少以序列化形式表明其类型的特定前缀,在使用[递归长度前缀编码 (RLP)](/developers/docs/data-structures-and-encoding/rlp) 时以 `0xf8` 字节开头。 这些交易的 TransactionType 值为 `0x0`。
-
-2. **Type 1 交易:** 作为以太坊[柏林升级](/history/#berlin)的一部分在 [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930) 中引入,这些交易包含一个 `accessList` 参数。 该列表指定了交易预期访问的地址和存储密钥,有助于降低涉及智能合约的复杂交易的潜在[燃料](/developers/docs/gas/)花费。 EIP-1559 的费用市场变化不包含在 Type 1 交易中。 Type 1 交易还包括一个 `yParity` 参数,它可以是 `0x0` 或 `0x1`,表示 secp256k1 签名的 y 值奇偶性。 它们以字节 `0x01` 开头进行标识,其交易类型 (TransactionType) 值为 `0x1`。
-
-3. **Type 2 交易**通常称为 EIP-1559 交易,是在以太坊[伦敦升级](/history/#london)的 [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) 中引入的。 它们已成为以太坊网络上的标准交易类型。 这些交易引入了一种新的费用市场机制,通过将交易费分为基础费用和优先费用来提高可预测性。 它们以字节 `0x02` 开头,并包括 `maxPriorityFeePerGas` 和 `maxFeePerGas` 的字段。 Type 2 交易因其灵活性和效率,现已成为默认选择,特别是在网络严重拥堵期间,由于它能够帮助用户提高管理交易费用的可预测性,因此特别受到青睐。 这些交易的 TransactionType 值为 `0x2`。
-
-
-
-## 延伸阅读 {#further-reading}
-
-- [EIP-2718:Typed Transaction Envelope](https://eips.ethereum.org/EIPS/eip-2718)
-
-_你知道有什么社区资源帮助过你吗? 编辑并添加本页面!_
-
-## 相关主题 {#related-topics}
-
-- [帐户](/developers/docs/accounts/)
-- [以太坊虚拟机 (EVM)](/developers/docs/evm/)
-- [燃料](/developers/docs/gas/)
diff --git a/public/content/translations/zh/13) Foundational Docs/developers/docs/web2-vs-web3/index.md b/public/content/translations/zh/13) Foundational Docs/developers/docs/web2-vs-web3/index.md
deleted file mode 100644
index bf6c1dc77b2..00000000000
--- a/public/content/translations/zh/13) Foundational Docs/developers/docs/web2-vs-web3/index.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-title: Web2 与 Web3 的对比
-description:
-lang: zh
----
-
-Web2 指的是如今我们众所周知的互联网版本。 互联网由互联公司掌控,它们通过提供服务来换取个人数据。 就以太坊而言,Web3 指的是在区块链上运行的去中心化应用程序。 任何用户都可以参与这些应用程序,而无需出卖个人数据。
-
-在寻找更适合初学者的资源? 请参阅我们的 [Web3 简介](/web3/)。
-
-## Web3 的优势 {#web3-benefits}
-
-许多 Web3 开发者由于以太坊与生俱来的去中心化而选择构建去中心化应用程序:
-
-- 网络上的任何人都有使用服务的权限 – 换言之,不需要授予权限。
-- 没有人可以阻止或拒绝你访问服务。
-- 付款是通过原生代币以太币 (ETH) 构建的。
-- 以太坊是图灵完备的,这意味着你几乎可以进行任何编程。
-
-## 具体比较 {#practical-comparisons}
-
-| Web2 | Web3 |
-| --------------------------- | --------------------------------------------- |
-| Twitter 可以检查任何帐户或推文 | Web3 推文不可审查,因为控制已经去中心化 |
-| 支付服务可以决定不允许对某些类型的工作进行支付 | Web3 付款应用程序不需要个人数据,也不能阻止付款 |
-| 运行零工经济应用程序的服务器可能会停机,影响劳动者收入 | Web3 服务器不会停机 – 它们的后端是以太坊,一个由数以千计的计算机组成的去中心化网络 |
-
-这并不意味着所有服务都需要转变成去中心化应用程序。 上面的示例说明了 Web2 和 Web3 服务之间的主要差异。
-
-## Web3 的局限性 {#web3-limitations}
-
-当前,Web3 存在一些局限性:
-
-- 可扩展性——交易在 web3 上进度较慢,因为它们是去中心化的。 状态变化(例如支付)需要由节点处理并在整个网络中传播。
-- UX – 与 Web3 应用程序交互可能需要额外的步骤、软件和培训。 这可能是应用的一个障碍。
-- 可访问性 – 由于在现代 Web 浏览器中的集成不够,致使大多数用户无法访问 Web3。
-- 成本 – 因为成本高昂,大多数成功的去中心化应用程序仅将其代码的很小一部分放到区块链上。
-
-## 中心化与去中心化 {#centralization-vs-decentralization}
-
-在下表中,我们大致列举了中心化和去中心化数字网络的一些优缺点。
-
-| 中心化系统 | 去中心化系统 |
-| ------------------------------------------------------ | --------------------------------------------------------------------- |
-| 网络半径短(所有参与者都与中心化组织连接); 信息传递快,因为是由一个拥有大量计算资源的中心化组织处理的。 | 网络上最远的参与者可能彼此相距甚远。 网络中一方的信息广播可能需要很长时间才能传达给另一方。 |
-| 性能通常较高(吞吐量较高、总计算资源消耗较少)以及构建较为容易。 | 性能通常较低(吞吐量较低,总计算资源消耗较高),构建起来更为复杂。 |
-| 在出现相互冲突的数据时,解决办法明确且简单:最终信任的数据来源是中心化组织。 | 解决争端需要一项协议(通常是复杂的协议)。 如果其他参与者对参与者打算同步的数据状态提出相互冲突的主张。 |
-| 单点故障:恶意行为者可能能够以中心化组织为目标来破坏网络。 | 无单点故障:即使有很大比例的参与者受到攻击或下线,网络仍然可以运作。 |
-| 参与者之间的协调要容易得多,由中心化组织负责。 中心化组织可以迫使网络参与者接受升级、更新协议等,阻力较小。 | 协调往往很困难,因为没有任何单一角色在网络级的决策、协议升级等方面拥有最终发言权。 在最糟糕的情况下,当对协议更改有分歧时,网络容易破裂。 |
-| 中心化组织可以审查数据,可能会切断网络的某些部分与网络其他部分的交互。 | 审查制度要困难得多,因为信息有多种途径在网络上传播。 |
-| 网络准入由中心化组织控制。 | 任何人都可以加入网络;没有“守门人”。 理想的情况是,参与费用非常低。 |
-
-请注意,这些都是一般概况,可能不适用于每一个网络。 此外,在现实情况下,网络中心化/去中心化程度取决于一系列因素;没有一个网络完全中心化或完全去中心化。
-
-## 延伸阅读 {#further-reading}
-
-- [什么是 Web3?](/web3/) - _ethereum.org_
-- [Web 3.0 应用程序架构](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application) - _Preethi Kasireddy_
-- [去中心化的含义](https://medium.com/@VitalikButerin/the-meaning-of-decentralization-a0c92b76a274) _2017 年 2 月 6 日 - Vitalik Buterin_
-- [去中心化缘何如此重要](https://medium.com/s/story/why-decentralization-matters-5e3f79f7638e) _2018 年 2 月 18 日 - Chris Dixon_
-- [什么是 Web 3.0 以及为何它很重要](https://medium.com/fabric-ventures/what-is-web-3-0-why-it-matters-934eb07f3d2b) _2019 年 12 月 31 日 - Max Mersch 与 Richard Muirhead_
-- [我们为什么需要 Web 3.0](https://medium.com/@gavofyork/why-we-need-web-3-0-5da4f2bf95ab)_ 2018 年 9 月 12 日 - Gavin Wood_
diff --git a/public/content/translations/zh/13) Foundational Docs/developers/docs/wrapped-eth/index.md b/public/content/translations/zh/13) Foundational Docs/developers/docs/wrapped-eth/index.md
deleted file mode 100644
index 21e7998efbc..00000000000
--- a/public/content/translations/zh/13) Foundational Docs/developers/docs/wrapped-eth/index.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-title: 什么是包装以太币 (WETH)
-description: 包装以太币 (WETH) 简介 - 一种兼容 ERC20 的包装以太币 (ETH) 。
-lang: zh
----
-
-# 包装以太币 (WETH) {#intro-to-weth}
-
-以太币 (ETH) 是以太坊的主要货币。 它被用于多种目的,比如作为货币进行质押,以及支付计算的燃料费。 **包装以太币实际上是以太币的升级形式,具有许多应用程序和 [ERC-20 代币](/glossary/#erc-20)所需的一些附加功能**,这些也是以太坊上的另一种数字资产。 为了使用这些代币,以太币必须遵循与它们相同的规则,也称为 ERC-20 标准。
-
-为了弥补这个缺口,包装以太币 (WETH) 诞生了。 **包装以太币是一个智能合约,你可以向其中存入任意数量的以太币,并收到铸造的对应数量的包装以太币**,后者符合 ERC-20 代币标准。 包装以太币是以太币的一种表示,允许你以 ERC-20 代币(而非原生资产以太币)的形式与以太币进行交互。 你仍需要使用原生以太币来支付燃气费,因此在将它们存入智能合约时,确保留下一些。
-
-你可以使用包装以太币智能合约将包装以太币转换为以太币。 你可以通过包装以太币智能合约赎回任意数量的包装以太币,并将收到对应数量的以太币。 然后,存入的包装以太币会被销毁并移出包装以太币的流通量。
-
-**大约有 3% 的流通以太币被锁定在包装以太币代币合约中**,使其成为最常用的[智能合约](/glossary/#smart-contract)之一。 在用户与去中心化金融 (DeFi) 应用程序交互时,包装以太币尤为重要。
-
-## 为什么需要按 ERC-20 标准包装以太币? {#why-do-we-need-to-wrap-eth}
-
-[ERC-20](/developers/docs/standards/tokens/erc-20/) 定义了可转移令牌的标准接口,因此任何人都可以创建代币,与以太坊生态系统中使用此标准的应用程序和代币进行无缝交互。 由于**以太币早于 ERC-20 标准出现**,因此不符合该规范。 这意味着**你不能轻易地**将以太币兑换成其他 ERC-20 代币,或**在使用 ERC-20 标准的应用程序中使用以太币**。 包装以太币使你有机会进行以下操作:
-
-- **将以太币兑换为 ERC-20 代币**:你无法直接将以太币兑换为其他 ERC-20 代币。 包装以太币是符合 ERC-20 同质化代币标准的以太币表示,并且可以与其他 ERC-20 代币兑换。
-
-- **在去中心化应用程序中使用以太币**:由于以太币与 ERC-20 不兼容,开发者需要在去中心化应用程序中分别创建单独的接口(一个用于以太币,另一个用于 ERC-20 代币)。 包装以太币消除了这一障碍,使开发者能够在同一个去中心化应用程序中处理以太币和其他代币。 许多去中心化金融应用程序使用该标准,并创建用于兑换这些代币的市场。
-
-## 包装以太币 (WETH) 对比以太币 (ETH):有哪些不同? {#weth-vs-eth-differences}
-
-| | **以太币 (ETH)** | **包装以太币 (WETH)** |
-| --- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
-| 供应 | 以太币的供应由以太坊协议管理。 以太币的[发行](/roadmap/merge/issuance)由以太坊验证者在处理交易和创造区块时处理。 | 包装以太币是一种 ERC-20 代币,其供应由智能合约管理。 合约会在收到用户存入的以太币时发行新的包装以太币单位,或在用户希望用包装以太币赎回以太币时销毁包装以太币。 |
-| 所有权 | 所有权由以太坊协议通过你的帐户余额进行管理。 | 包装以太币的所有权由包装以太币代币智能合约进行管理,并由以太坊协议提供安全保护。 |
-| 燃料 | 以太币 (ETH) 是可接受的支付单位,用于支付以太坊网络上的计算。 燃料费以 Gwei(一种以太币单位)计价。 | 包装以太币代币在原生状态下不支持用于支付燃料。 |
-
-## 常见问题{#faq}
-
-
-
-你支付了燃料费,以使用包装以太币合约包装或解包以太币。
-
-
-
-
-
-包装以太币通常被认为是安全的,因为它是基于一个简单且经过实战考验的智能合约。 包装以太币合约也得到了正式验证,符合以太坊智能合约的最高安全标准。
-
-
-
-
-
-除了[包装以太币的规范实现](https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2)外,还有一些其他变体。 这些变体可能是应用程序开发者创建的自定义代币,或是在其他区块链上发行的版本,并且可能会有不同的行为或不同的安全属性。 **请务必仔细检查代币信息,以了解你正在与哪种包装以太币实现进行交互。**
-
-
-
-
-
-- [以太坊主网](https://etherscan.io/token/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)
-- [Arbitrum](https://arbiscan.io/token/0x82af49447d8a07e3bd95bd0d56f35241523fbab1)
-- [Optimism](https://optimistic.etherscan.io/token/0x4200000000000000000000000000000000000006)
-
-
-
-## 扩展阅读{#further-reading}
-
-- [WTF 是包装以太币吗?](https://weth.tkn.eth.limo/)
-- [Etherscan 上关于包装以太币代币的信息](https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2)
-- [包装以太币的形式化验证](https://zellic.io/blog/formal-verification-weth)
diff --git a/public/content/translations/zh/14) Community Pages/community/code-of-conduct/index.md b/public/content/translations/zh/14) Community Pages/community/code-of-conduct/index.md
deleted file mode 100644
index 1f2db077a45..00000000000
--- a/public/content/translations/zh/14) Community Pages/community/code-of-conduct/index.md
+++ /dev/null
@@ -1,77 +0,0 @@
----
-title: 行为守则
-description: 我们在以太坊社区中严格恪守的准则
-lang: zh
----
-
-# 行为守则 {#code-of-conduct}
-
-## 使命 {#mission}
-
-开发和维护最全面、触手可及的以太坊知识中心。
-
-## 价值观 {#values}
-
-Ethereum.org 社区致力于实现:
-
-- 教育性,旨在帮助每个人了解以太坊
-- 包容性
-- 可访问性
-- 社区驱动
-- 专注于以太坊的基础技术和用例
-- 专注于以太坊的概念和设计原则
-
-## 我们不是 {#what-we-are-not}
-
-- 以太坊基金会网站
-- 鼓吹投资或牟取暴利的平台
-- 鼓励或支持个别项目或组织的平台
-- 去中心化交易所、中心化交易所或任何其他形式的金融平台
-- 提供任何类型的财务或法律建议的平台
-
-## 行为守则 {#code-of-conduct}
-
-### 承诺 {#pledge}
-
-开放参与是 ethereum.org 的核心理念。 我们的网站和社区由成千上万的贡献者共同维护,只有当我们维持热情友好的参与环境时,这一点才有可能实现。 为此,本网站的贡献者承诺为所有 ethereum.org 平台及社区空间的参与者维持一个零骚扰的环境。 Ethereum.org 社区欢迎并重视希望以建设性和友好的方式参与进来的任何人,无论其年龄、残疾、族裔、性别特征、性别认同、经验水平、专业领域、教育程度、社会经济地位、国籍、个人外貌、种族、宗教或任何其他方面的多样性。
-
-### 适用范围 {#scope}
-
-本行为准则适用于所有 ethereum.org 空间(如 GitHub、Discord、Figma、Crowdin、Twitter 和其他在线平台),也适用于在现实世界的公共场所(如聚会、会议和活动)代表社区的情况。
-
-### 我们的准则 {#our-standards}
-
-下面是一些有助于创造积极环境的行为范例:
-
-- 使用友善包容的语言
-- 尊重不同的观点和经验
-- 优雅地接受并/或以同理心提供建设性批评
-- 冷静专业地处理争议或分歧
-- 对其他社区成员展现同理心以及友善包容的态度
-- 鼓励和支持社区中的新奇观点
-
-禁止参与者进行以下不端行为:
-
-- 任何形式的身体暴力,以身体暴力相威胁或鼓动身体暴力
-- 使用性挑逗的语言或图像,或存在冒犯性的性企图
-- 冒充他人或虚假宣称与某个个人或组织有关联。
-- 嘲弄、侮辱/诋毁性评论,以及人身或政治攻击
-- 在公共或私密频道对其他社区成员进行骚扰
-- 未经明确许可发布他人的私人信息,如住址或电子邮箱
-- 社会工程学攻击、欺骗或以其他方式操控其他社区成员
-- 以为个人谋取金钱或非金钱收益为目的,鼓吹投资、代币、项目等
-- 发布与主题无关内容,对服务器进行垃圾邮件攻击
-- 无视社区管理员的要求或警告
-- 进行其他任何被视为在专业场合不适宜的行为
-
-### 举报 {#reporting}
-
-通常情况下,违反行为准则的行为会引起社区关注,因为我们致力于通过公开透明的渠道处理事务,并鼓励社区成员进行自我监督。
-
-然而,如果你发现了需要关注的事情,可以向担任管理职责的人(例如,discord 督导)提出,这样他们就可以帮助调查并做出适当的响应。
-
-举报时,请尽量多提供细节,包括描述具体的事情和发生时间等。 这将有助于获得公正的结果。
-
-### 惩罚措施 {#enforcement}
-
-根据严重程度不同,违反行为准则的人会受到 ethereum.org 社区的警告、暂时或永久封禁。
diff --git a/public/content/translations/zh/14) Community Pages/community/events/index.md b/public/content/translations/zh/14) Community Pages/community/events/index.md
deleted file mode 100644
index 79260f8b713..00000000000
--- a/public/content/translations/zh/14) Community Pages/community/events/index.md
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title: 以太坊活动
-description: 如何加入以太坊社区。
-lang: zh
-hideEditButton: true
----
-
-# 活动预告 {#events}
-
-**每个月,世界各地都会举办大型以太坊活动。**你可以考虑参加附近的一个活动,认识更多的社区成员,了解就业机会,并培养新的技能。
-
-
-
-这是一个由我们社区维护的不完整列表。 想要将了解到的即将举行的以太坊活动添加到此列表? [请添加](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-events.json)!
-
-## 以太坊聚会 {#meetups}
-
-找不到适合你的活动? 尝试加入一个聚会。 聚会是指由各个以太坊爱好者团体举办的小型活动——这是对以太坊感兴趣的人们聚集在一起的机会,他们可以一起谈论并了解以太坊的最新发展。
-
-
-
-有兴趣举办自己的聚会? 查看 [BUIDL 网络](https://consensys.net/developers/buidlnetwork/),这是由 ConsenSys 发起的一项举措,旨在帮助支持以太坊的各个聚会社区。
-
-这是一个由我们社区制定的不完整列表。 你可以[在此处查找更多以太坊聚会](https://www.meetup.com/topics/ethereum/)。 想要将了解到的活跃聚会小组添加到此列表? [请添加](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-meetups.json)!
diff --git a/public/content/translations/zh/14) Community Pages/community/get-involved/index.md b/public/content/translations/zh/14) Community Pages/community/get-involved/index.md
deleted file mode 100644
index c4817e579ec..00000000000
--- a/public/content/translations/zh/14) Community Pages/community/get-involved/index.md
+++ /dev/null
@@ -1,135 +0,0 @@
----
-title: 如何加入?
-description: 如何加入以太坊社区。
-lang: zh
----
-
-# 如何加入? {#get-involved}
-
-以太坊社区中的成员具有许多不同的背景和技能。 无论你是开发人员、艺术家还是会计师,都可以加入。 以下建议列表可能会帮助你开始加入。
-
-首先,在我们的[行为准则](/community/code-of-conduct)中,阅读并了解 ethereum.org 的使命和价值观。
-
-## 开发人员 {#developers}
-
-- 访问 [ethereum.org/developers/](/developers/),了解和尝试使用以太坊
-- 参加你附近的一个 [ETHGlobal](http://ethglobal.co/) 黑客马拉松活动!
-- 查看[与你的专业领域或所选编程语言相关的项目](/developers/docs/programming-languages/)
-- 观看或参与[共识层和执行层会议](https://www.youtube.com/@EthereumProtocol/streams)
-- [生态系统支持计划的愿望清单](https://esp.ethereum.foundation/wishlist/) - 适用于工具、文档和基础设施领域,以太坊生态系统支持计划正在积极寻求这些领域的资助申请
-- [Web3Bridge](https://www.web3bridge.com/) - 加入有抱负的 web3 社区,一起积极寻找、培训和支持整个非洲的数百名开发人员和社区成员
-- 加入[以太币研发 Discord](https://discord.com/invite/VmG7Uxc)
-- 加入[以太坊猫牧人组织 Discord](https://discord.com/invite/Nz6rtfJ8Cu)
-
-## 研究人员 & 学者 {#researchers-and-academics}
-
-你是否有数学、密码学或经济学方面的背景? 你可能会对以太坊生态系统中正在进行的一些前沿工作感兴趣:
-
-- 加入[以太币研发 Discord](https://discord.com/invite/VmG7Uxc)
-- 撰写或审查以太坊改进提案
- - 撰写以太坊改进提案
- 1. 在[以太坊魔术师](https://ethereum-magicians.org)论坛上提交你的创想
- 2. 查阅 [EIP-1](https://eips.ethereum.org/EIPS/eip-1) - **是的,请阅读_整份_文件。**
- 3. 请遵循 EIP-1 中的指导准则。 在撰写提案草案时,请参考 EIP-1。
- - 了解如何成为[以太坊改进提案编辑人员](https://eips.ethereum.org/EIPS/eip-5069)
- - 你现在即可对以太坊改进提案进行同行评审! 请参阅[打开带有 `e-review` 标签的同行评审](https://github.com/ethereum/EIPs/pulls?q=is%3Apr+is%3Aopen+label%3Ae-review)。 在 `discussion-to` 链接上提供技术反馈。
- - 参与[以太坊改进提案治理](https://github.com/ethereum-cat-herders/EIPIP)
- - 加入[以太坊猫牧人组织 Discord](https://discord.com/invite/Nz6rtfJ8Cu)
- - [关于以太坊改进提案的更多信息](/eips/)
-- [Challenges.ethereum.org](https://challenges.ethereum.org/) - 一系列高额研究奖金,让你可以赚取超过 $100,000 USD
-- [Ethresear.ch](https://ethresear.ch) - 以太坊的主要研究论坛,也是世界上最具影响力的加密经济学论坛
-- [以太坊基金会研究团队 AMA](https://old.reddit.com/r/ethereum/comments/vrx9xe/ama_we_are_ef_research_pt_8_07_july_2022) - 正在进行中的研究人员问答系列。 下一部分开放时,任何人都可以提出问题。
-- [生态系统支持计划愿望清单](https://esp.ethereum.foundation/wishlist/) - 介绍以太坊生态系统支持计划正在积极征询资助申请的研究领域
-- [AllWalletDevs](https://allwallet.dev) - 供以太坊开发者、设计人员和感兴趣的用户定期聚会和讨论钱包的论坛
-
-[探索更多活跃研究领域](/community/research/)。
-
-## 非技术技能组合 {#non-technical}
-
-如果你不是开发者,可能很难知道以太坊如何入门。 下面提供几项建议以及针对特定专业背景的资源。
-
-### 在你的城市组织一场小聚会 {#meetups}
-
-- 不知道如何开始? [BUIDL 网络](https://consensys.net/developers/buidlnetwork/)可以提供帮助。
-
-### 撰写关于以太坊的内容 {#write-content}
-
-- 以太坊需要能用通俗易懂的语言阐述以太坊价值的优秀写手
-- 还没有准备好发布自己的文章? 可以考虑丰富社区资源中的现有内容,或者[为 ethereum.org 提出新内容](/contributing/)!
-
-### 主动提出为社区电话会议做会议纪要 {#take-notes}
-
-- 现在有许多开源社区电话会议,有人记录会议纪要将是一个极大的帮助。 如果你感兴趣,请加入 [Ethereum Cat Herders discord](https://discord.com/invite/Nz6rtfJ8Cu),并做简短的自我介绍!
-
-### 将以太坊的相关文章翻译成你的母语 {#translate-ethereum}
-
-- ethereum.org 具有一个翻译计划,可将网站和其他资源翻译成多种语言
-- 点击[这里](/contributing/translation-program)了解如何参与
-
-### 运行节点 {#run-a-node}
-
-加入数千位节点运营商的行列,共同加强以太坊的去中心化。
-
-- [关于如何运行节点的更多信息](/developers/docs/nodes-and-clients/run-a-node/)
-
-### 质押你的以太币 {#staking}
-
-通过质押以太币,你不但可以获得奖励,还能够帮助保护以太坊网络。
-
-- [有关质押的更多信息](/staking/)
-
-### 资助项目 {#support-projects}
-
-以太坊生态系统的使命是资助公共物品和有影响力的项目。 只需很少的捐赠,你就可以表达自己的支持,并让重要的工作得以完成。
-
-- [Gitcoin](https://gitcoin.co/fund)
-- [clr.fund](https://clr.fund/#/about)
-
-## 金融专业人士 & 会计师 {#financial-professionals}
-
-- 以太坊是“去中心化金融”生态系统的发源地,该系统是一个提供替代金融系统的协议和应用程序网络。 如果你是金融专业人士,可以查看 [DeFi Llama](https://defillama.com/) 或 [defprime](https://defiprime.com) 上的一些去中心化金融应用程序
-- 会计师? 以太坊上的资产(以太币、令牌、去中心化金融等)带来了许多新的会计问题。 你可以从查看一些项目开始,帮助加密货币用户克服他们的记账 & 会计挑战,如 [Rotki](https://rotki.com/)
-
-## 产品经理 {#product-managers}
-
-- 以太坊生态系统需要有才之士! 许多公司正在招聘产品经理。 如果你想从为开源项目做贡献开始,请联系[以太坊牧猫人组织](https://discord.com/invite/Nz6rtfJ8Cu)或 [RaidGuild](https://www.raidguild.org/)
-
-## 市场营销 {#marketing}
-
-- 以太坊生态系统中提供了许多市场营销和通信相关的职位!
-
-## 以太坊招聘职位 {#ethereum-jobs}
-
-**想在以太坊找到一份工作吗?**
-
-- [ethereum.org 招聘职位](/about/#open-jobs)
-- [以太坊基金会职位公告栏 (Lever)](https://jobs.lever.co/ethereumfoundation)
-- [以太坊基金会职位公告栏 (BambooHR)](https://ethereum.bamboohr.com/jobs/)
-- [JobStash](https://jobstash.xyz)
-- [Cryptocurrency 招聘职位](https://cryptocurrencyjobs.co/ethereum/)
-- [ConsenSys 职业机会](https://consensys.net/careers/)
-- [Crypto 招聘职位列表](https://cryptojobslist.com/ethereum-jobs)
-- [Bankless 职位公告栏](https://pallet.xyz/list/bankless/jobs)
-- [Web3 招聘职位](https://web3.career)
-- [Web3 Army](https://web3army.xyz/)
-- [Crypto Valley 招聘职位](https://cryptovalley.jobs/)
-- [以太坊招聘职位](https://startup.jobs/ethereum-jobs)
-- [CryptoJobster](https://cryptojobster.com/tag/ethereum/)
-
-## 加入去中心化自治组织 {#decentralized-autonomous-organizations-daos}
-
-“DAO”是指去中心化自治组织。 这些团队利用以太坊技术促进组织和协作。 例如,用于成员资格管理、提案投票或联合资产管理。 虽然去中心化自治组织仍处于试验阶段,但它们提供了机会,让你找到自己认同的团队,找到合作者并且扩大自己对以太坊社区的影响。 [更多关于去中心化自治组织的信息](/dao/)
-
-- [DAOSquare](https://daosquare.io/) [@DAOSquare](https://twitter.com/DAOSquare) - _在非技术领域推广去中心化自治组织这一概念,帮助人们通过去中心化自治组织创造价值_
-- [Developer DAO](https://www.developerdao.com/) [@developer_dao](https://twitter.com/developer_dao) - _由相信互联网为集体所有的构建者组成的社区_
-- [dOrg](https://dOrg.tech) [@dOrg_tech](https://twitter.com/dOrg_tech) - _以去中心化自治组织形式运行的自由职业者 Web3 开发团队_
-- [HausDAO](https://daohaus.club) [@nowdaoit](https://twitter.com/nowdaoit) - _DAOhaus 社区治理_
-- [LexDAO](https://lexdao.org) [@lex_DAO](https://twitter.com/lex_DAO) - _法律工程_
-- [Machi X](https://machix.com) [@MachiXOfficial](https://twitter.com/MachiXOfficial) - _艺术社区_
-- [MetaCartel Ventures](https://metacartel.xyz) [@VENTURE_DAO](https://twitter.com/VENTURE_DAO) - _为种子阶段前的加密项目提供风险投资_
-- [MetaGame](https://metagame.wtf) [@MetaFam](https://twitter.com/MetaFam) - _面向现实世界的 MMORPG 游戏机制_
-- [MetaFactory](https://metafactory.ai) [@TheMetaFactory](https://twitter.com/TheMetaFactory) - _数字化实体服装品牌_
-- [MolochDAO](https://molochdao.com) [@MolochDAO](https://twitter.com/MolochDAO) - _专注于资助以太坊发展的社区_
-- [Raid Guild](https://raidguild.org) [@RaidGuild](https://twitter.com/RaidGuild) - _由 Web3 构建者组成的团队_
-
-请记住,无论何时,无论通过何种方式,在为 ethereum.org 做贡献时,都请遵守 ethereum.org [行为准则](/community/code-of-conduct)!
diff --git a/public/content/translations/zh/14) Community Pages/community/grants/index.md b/public/content/translations/zh/14) Community Pages/community/grants/index.md
deleted file mode 100644
index 2c10e98226a..00000000000
--- a/public/content/translations/zh/14) Community Pages/community/grants/index.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title: 以太坊基金会与社区资助方案
-description: 以太坊生态系统的资助方案清单。
-lang: zh
----
-
-# 以太坊资助 {#ethereum-grants}
-
-下面列出的方案为向致力于促进以太坊生态系统成功和发展的项目提供各种资金支持。 根据本指南来寻求和申请资金,助力你的以太坊项目成功。
-
-这个列表由我们的社区管理。 如果有内容缺失或错误,请编辑此页面!
-
-## 庞大的以太坊生态系统 {#broad-ethereum-ecosystem}
-
-这些计划通过向大量项目提供资助来支持庞大的以太坊生态系统。 其中包括可扩容性、社区建设、安全、隐私等解决方案。 这些资助并非专门针对任何一个以太坊平台,如果不确定,可以从这里开始。
-
-- [以太坊基金会生态系统资助方案](https://esp.ethereum.foundation) - _资助有利于以太坊的开源项目,重点资助通用工具、基础设施、研究和公共物品_
-- [Moloch 去中心化自治组织](https://www.molochdao.com/) - _隐私、二层网络扩容、客户端安全性等_
-- [去中心化自治组织资助](https://docs.google.com/spreadsheets/d/1XHc-p_MHNRdjacc8uOEjtPoWL86olP4GyxAJOFO0zxY/edit#gid=0) - _资助组织的 Google 电子表格_
-- [学术资助](https://esp.ethereum.foundation/academic-grants) - _为以太坊相关学术工作提供资助_
-- [Blockworks Grantfarm](https://blockworks.co/grants/programs) - _Blockworks 编译了一份包含所有资助、提案征求和漏洞悬赏的完整名录。_
-
-## 特定项目 {#project-specific}
-
-这些项目为旨在开发和实验自己技术的项目建立了自己的资助。
-
-- [Aave 资助方案](https://aavegrants.org/) – _[Aave](https://aave.com/) 资助去中心化自治组织_
-- [Balancer](https://grants.balancer.community/) – _[Balancer](https://balancer.fi/) 生态系统基金_
-- [Chainlink 资助方案](https://chain.link/community/grants) - _[Chainlink](https://chain.link/) 社区资助_
-- [Decentraland 资助方案](https://governance.decentraland.org/grants/) – _[Decentraland](https://decentraland.org/) 去中心化自治组织元宇宙_
-- [Lido 生态系统资助组织 (LEGO)](https://lido.fi/lego) – _[Lido](https://lido.fi/) 金融生态系统_
-- [MetaMask 方案](https://metamaskgrants.org/) - _-[MetaMask](https://metamask.io/) 员工主导的资助去中心化自助组织_
-- [SKALE 网络资助方案](https://skale.space/developers#grants) - _[SKALE 网络](https://skale.space/)生态系统_
-- [Swarm 基金会资助计划](https://my.ethswarm.org/grants) - _[Swarm 基金会](https://www.ethswarm.org/)生态系统_
-- [The Graph](https://thegraph.com/ecosystem/grants/) – _[The Graph](https://thegraph.com/) 生态系统_
-- [Uniswap 资助计划](https://www.uniswapfoundation.org/approach) – _[Uniswap](https://uniswap.org/) 社区_
-
-## 二次方融资 {#quadratic-funding}
-
-以太坊的开源属性催生了一种有趣的新型募资模式:二次方融资。 这有可能改进我们在未来为各种公共产品募资的方式。 二次方募资确保获得最多资金的项目是那些具有最独特需求的项目。 换句话说,就是那些能够改善大多数人生活的项目。 [关于二次方融资的更多信息。](/defi/#quadratic-funding)
-
-- [Gitcoin](https://gitcoin.co/grants)
-- [clr.fund](https://clr.fund/)
-
-## 在以太坊工作 {#work-in-ethereum}
-
-没有准备好启动你自己的项目? 有数百家公司正在积极寻求热情人士的加入,为以太坊生态系统奉献力量。 正在寻找更多信息? [点击查看更多以太坊相关工作](/community/get-involved/#ethereum-jobs)
diff --git a/public/content/translations/zh/14) Community Pages/community/language-resources/index.md b/public/content/translations/zh/14) Community Pages/community/language-resources/index.md
deleted file mode 100644
index 4a9f80f5cd5..00000000000
--- a/public/content/translations/zh/14) Community Pages/community/language-resources/index.md
+++ /dev/null
@@ -1,153 +0,0 @@
----
-title: 语言资源
-description: 了解关于以太坊的非英文资源
-lang: zh
----
-
-# 语言资源 {#language-resources}
-
-以太坊社区是全球性的,包括数以百万计的非英语人士。
-
-我们的目标是提供所有语言的教育内容,帮助世界各地的人们克服语言障碍,成功加入以太坊社区。
-
-如果你更喜欢用你的母语阅读或者知道某人不会说英语,你可以在下面找到有用的非英语资源列表。 数十万以太坊爱好者齐聚这些在线论坛,分享消息、谈论近来的发展、热烈讨论技术问题并畅想未来。
-
-知道一个你语言的教育资源? [创建问题](https://github.com/ethereum/ethereum-org-website/issues/new/choose),以将其添加到列表!
-
-## Ethereum.org 资源 {#ethereum-org}
-
-Ethereum.org 已由母语者翻译成 40 多种语言,你可以使用每个页面顶部的语言选择器菜单找到这些语言。
-
-![语言选择器菜单](./language-selector-menu.png)
-
-如果你会使用两种语言,而且想帮助我们宣传到更多的人,你也可以参与 [ethereum.org 翻译计划](/contributing/translation-program/#translation-program),帮助我们翻译该网站。
-
-## 社区资源 {#community}
-
-### 巴西葡萄牙语 {#br-pt}
-
-**新闻**
-
-- [BeInCrypto](http://www.beincrypto.com.br) - 提供有关加密货币的新闻和文章,包括一个巴西交易所列表
-- [Cointelegraph](http://cointelegraph.com.br/category/analysis) - 巴西版 Cointelegraph,一个主要的加密货币新闻机构
-- [Livecoins](http://www.livecoins.com.br/ethereum) - 提供有关加密货币的新闻和工具
-- [Seudinheiro](http://www.seudinheiro.com/criptomoedas/) - 提供有关加密货币的新闻和报告
-- [Modular Crypto](https://modularcrypto.xyz/) - 提供加密货币新闻和教育文章
-
-**教育**
-
-- [web3dev](https://www.web3dev.com.br/) - Web3 开发者们的内容中心和 Discord 社区。
-- [Web3Brasil](https://github.com/web3brasil/web3brasil) - 提供有关 Web3 和去中心化金融的学习资源
-- [CriptoFacil](http://www.criptofacil.com/ultimas-noticias/) - 提供有关加密货币的新闻和教育,包括“以太坊入门”和“去中心化金融入门”
-- [CriptoAtivos](http://www.criptoativos.wiki.br/) - 提供来自加密货币空间、教育和博客的洞察
-- [Cointimes](http://www.cointimes.com.br/) - 提供有关加密货币的新闻和教育
-- [Web3 starter pack](https://docs.google.com/document/d/1X8PSTFH7FTw9J-gbKWM6Y430SWCBT8d4t4pJgFQHJ8E/) - 提供有关加密货币最常见和最基础问题解答的指南
-
-### 中文 {#zh}
-
-**通用资源**
-
-- [Ethereum.cn](https://www.ethereum.cn/) - 由社区维护网站内容,内容包括共识层升级、所有核心开发者会议记录、以太坊第二层等
-- [EthFans](https://github.com/editor-Ajian/EthFans.org-annual-collected-works/) - 从以太坊基础知识到高级主题,各种学习材料应有尽有
-- [Untimes](https://mp.weixin.qq.com/s/tvloZSDBSOQN9zDQj_91kA) - 由社区维护内容,内容涵盖以太坊、去中心化金融、非同质化代币和 Web3 相关知识
-- [123ETH](https://123eth.org/) - 以太坊生态系统的一个门户网站
-- [Zhen Xiao(肖臻)](http://zhenxiao.com/blockchain/) - 关于加密货币及其应用的免费在线课程
-- [以太坊白皮书](https://github.com/ethereum/wiki/wiki/[%E4%B8%AD%E6%96%87]-%E4%BB%A5%E5%A4%AA%E5%9D%8A%E7%99%BD%E7%9A%AE%E4%B9%A6) - 以太坊白皮书中文版
-
-**以太坊生态系统**
-
-- [ETHPlanet](https://www.ethplanet.org/) - 可在线或现场参加黑客马拉松,为大学生提供培训
-- [PrimitivesLane](https://www.primitiveslane.org/) - 一个以区块链技术为重点的非营利研究小组
-- [Ethereum Translation Community CN](https://www.notion.so/Ethereum-Translation-Community-CN-05375fe0a94c4214acaf90f42ba40171) - 一个致力于翻译以太坊教育类内容的社区
-
-**适用于开发人员**
-
-- [DappLearning](https://github.com/Dapp-Learning-DAO/Dapp-Learning) - 一个学习主流去中心化应用程序项目的学习小组,每周都会分享想法和意见
-- [LearnBlockchain](https://learnblockchain.cn/) - 一个分享区块链技术相关信息的开发者社区
-
-**试用于加密研究人员**
-
-- [安比实验室](https://mp.weixin.qq.com/s/69_tqBJpr_sbaKtR1sBRMw) - 一个解释加密和安全等内容的微信公众号
-- [星想法](https://mp.weixin.qq.com/s/9KgKTc_jtJ7bWKdbNPoqvQ) - 一个解释零知识证明技术的微信公众号
-
-### 捷克语 {#cs}
-
-- [Gwei.cz](https://gwei.cz) - 当地 Web3 社区,制作教育内容,组织在线和现场活动
-- [Gwei.cz Příručka](https://prirucka.gwei.cz/) - 以太坊初学者指南
-- [DAO Příručka](https://dao.gwei.cz/) - 去中心化自治组织初学者指南
-- [精通以太坊](https://ipfs.io/ipfs/bafybeidvuxhnsgfx3tncpfxheqglkjwmdxclknlgd7s7qggd2a6bzgb27m) - 精通以太坊(捷克语)
-
-### 法语 {#fr}
-
-- [Ethereum France](https://www.ethereum-france.com/) - Ethereum France 组织各种活动、制作内容并鼓励围绕以太坊展开讨论
-- [Ethereum.fr](https://ethereum.fr/) - 提供有关以太坊的新闻和教育
-- [BanklessFR](https://banklessfr.substack.com/) - Bankless 新闻通讯(法语)
-- [CryptoFR](https://cryptofr.com/category/44/ethereum-general) - 以太坊子页面上的加密货币论坛
-
-### 德语 {#de}
-
-- [Microsoft Learn (Solidity)](https://docs.microsoft.com/de-de/learn/modules/blockchain-learning-solidity/) - 使用 Solidity
-- [Microsoft Learn(智能合约)](https://docs.microsoft.com/de-de/learn/modules/blockchain-solidity-ethereum-smart-contracts/) - 用 Solidity 编写以太坊智能合约
-- [Microsoft Learn(以太坊网络)](https://docs.microsoft.com/de-de/learn/modules/blockchain-ethereum-networks/) - 连接并部署以太坊网络
-- [Microsoft Learn(区块链)](https://docs.microsoft.com/de-de/learn/paths/ethereum-blockchain-development/) - 区块链开发入门
-
-### 希伯来语 {#he}
-
-- [Udi Wertheimer - 比特币爱好者学习以太坊的基地](https://www.cryptojungle.co.il/udi-wertheimer-what-bitcoiners-can-learn-from-ethereum/)
-- [Omer Greismen (OpenZeppelin) - 我们如何防止一个 150 亿美元的智能合约遭受黑客攻击](https://www.cryptojungle.co.il/omer-greisman-openzeppelin/)
-- [Shy Datika (INX) - 代币化和证券的未来,包括以太坊是否为一种证券](https://www.cryptojungle.co.il/shy-datika-tokenization/)
-- [Roy Confino (Lemonade) - 以太坊保险](https://www.cryptojungle.co.il/roy-confino-insurance/)
-- [Idan Ofrat (Fireblocks) - 机构采用](https://www.cryptojungle.co.il/idan-ofrat-fireblocks/)
-- [Gal Weizman (MetaMask) - MetaMask 是什么](https://www.cryptojungle.co.il/gal-weizman-metamask/)
-- [Dror Aviely (Consensys) - 以太坊的中心](https://www.cryptojungle.co.il/dror-aviely-ethereum-center/)
-- [Nir Rozin - 成为一名加密朋克](https://www.cryptojungle.co.il/nir-rozin-cryptopunk/)
-- [Adan Kedem - 游戏与元宇宙](https://www.cryptojungle.co.il/adan-kedem-web3-gaming/)
-- [Uri Kolodny (Starkware) - 以太坊和区块链层](https://www.cryptojungle.co.il/uri-kolodny-starkware/)
-- [Udi Wertheimer - 以太坊 2.0 和竞争对手](https://www.cryptojungle.co.il/udi-on-eth2/)
-- [Ben Samocha(本人) - 以太坊 2.0 是一个机会吗?](https://www.cryptojungle.co.il/etherurm2-week-summary/)
-- [Alon Muroch (Bloxstaking) - 以太坊 2.0 是什么?](https://www.cryptojungle.co.il/alon-moroch-eth2/)
-- [Eilon Aviv (Collider Ventures) - 以太坊 2.0 可能会出现什么问题](https://www.cryptojungle.co.il/eilon-aviv-eth2-0/)
-- [Eilon Aviv (Collider Ventures) - 我们为什么需要以太坊 2.0](https://www.cryptojungle.co.il/eilon-aviv-ethereum-2-0/)
-
-### 意大利语 {#it}
-
-- [Ethereum Italia](https://www.ethereum-italia.it/) - 提供有关以太坊的教育、活动和新闻,专注于智能合约和区块链技术
-- [Ethereum Italia Podcast](https://www.ethereum-italia.it/podcast/) - 以太坊播客(意大利语)
-- [Microsoft Learn (Solidity)](https://docs.microsoft.com/it-it/learn/modules/blockchain-learning-solidity/) - 学习使用 Solidity
-- [Microsoft Learning(智能合约)](https://docs.microsoft.com/it-it/learn/modules/blockchain-solidity-ethereum-smart-contracts/) - 学习用 Solidity 编写智能合约
-- [Microsoft Learn(用去中心化应用程序)](https://docs.microsoft.com/it-it/learn/modules/blockchain-create-ui-decentralized-apps/) - 使用去中心化应用程序创建用户界面
-
-### 日语 {#ja}
-
-- [日本数字资产交易业协会](https://jvcea.or.jp/)
-- [日本加密货币商业协会](https://cryptocurrency-association.org/)
-- [区块链开发入门 - 学习 | Microsoft 文档](https://docs.microsoft.com/ja-jp/learn/paths/ethereum-blockchain-development/) - 此学习路径介绍区块链和以太坊平台上的开发
-- [精通以太坊](https://www.oreilly.co.jp/books/9784873118963/) - 精通以太坊(日文)
-- [Solidity 智能合约开发和以太坊实战](https://www.oreilly.co.jp/books/9784873119342/) - Solidity 智能合约开发和以太坊实战(日文)
-
-### 俄语 {#ru}
-
-- [Cyber Academy](https://cyberacademy.dev) - 面向 web3 构建者的教育空间
-- [Forklog](https://forklog.com) - 提供有关普通加密货币、不同区块链现有技术和未来升级的新闻和教育文章
-- [BeInCrypto](https://ru.beincrypto.com) - 提供新闻、加密货币价格和非技术性文章,通俗易懂地解释有关加密货币的所有内容
-
-### 西班牙语 {#es}
-
-- [Ethereum Madrid](https://ethereummadrid.com/) - 区块链、去中心化金融与治理课程、活动和博客
-- [Cointelegraph](https://es.cointelegraph.com/ethereum-for-beginners) - 以太坊初学者指南(西班牙语)
-- [在线教程](https://tutoriales.online/curso/solidity) - 在以太坊上学习 Solidity 和编程
-- [以太坊开发课程介绍](https://youtube.com/playlist?list=PLTqiwJDd_R8y9pfUBjhkVa1IDMwyQz-fU) - Solidity 基础知识以及测试和部署你的首个智能合约
-- [以太坊安全与黑客攻击课程介绍](https://youtube.com/playlist?list=PLTqiwJDd_R8yHOvteko_DmUxUTMHnlfci) - 了解真实智能合约中常见的漏洞和安全问题
-- [去中心化金融开发课程介绍](https://youtube.com/playlist?list=PLTqiwJDd_R8zZiP9_jNdaPqA3HqoW2lrS) - 了解去中心化金融智能合约如何在 Solidity 中运作,并创建自己的自动化做市商应用
-- [Cryptoversidad](https://www.youtube.com/c/Cryptoversidad) - 非技术类区块链教育(面向初学者到高阶学习者)。 全面学习加密货币和以太坊。
-
-### 土耳其语 {#tr}
-
-- [BTK Akademi](https://www.btkakademi.gov.tr/portal/course/blokzincir-ve-kripto-paralar-10569#!/about) - 专注于区块链和加密货币的课程
-- [重要的重命名:以太坊 2 有何变化?](https://miningturkiye.org/konu/ethereum-madenciligi-bitiyor-mu-onemli-gelisme.655/) - 《重要的重命名》博文的土耳其语译作,解释了“以太坊 2”术语的变化
-
-### 越南语 {#vi}
-
-- [Tino Group](https://wiki.tino.org/ethereum-la-gi/) - 以太坊、去中心化应用程序、钱包和常见问题概览
-- [Tap Chi Bitcoin](https://tapchibitcoin.io/tap-chi/tin-tuc-ethereum-eth) - 包含以太坊新闻和教育子页面的网站平台
-- [Coin68](https://coin68.com/ethereum-tieu-diem/) - 提供以太坊新闻和教育内容的加密货币门户网站
diff --git a/public/content/translations/zh/14) Community Pages/community/online/index.md b/public/content/translations/zh/14) Community Pages/community/online/index.md
deleted file mode 100644
index 866f8cecde7..00000000000
--- a/public/content/translations/zh/14) Community Pages/community/online/index.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-title: 线上社区
-description: 以太坊生态系统的资助方案清单。
-lang: zh
----
-
-# 在线社区 {#online-communities}
-
-数十万以太坊爱好者齐聚这些在线论坛,分享消息、谈论近来的发展、热烈讨论技术问题并畅想未来。
-
-## 论坛 {#forums}
-
-r/ethereum - 所有内容皆关乎以太坊
-r/ethfinance - 以太坊金融领域,包括去中心化金融
-r/ethdev - 专注于以太坊开发
-r/ethtrader - 趋势和市场分析
-r/ethstaker - 欢迎所有对以太坊质押感兴趣者
-Fellowship of Ethereum Magicians - 聚集于太坊技术标准的社区
-Ethereum Stackexchange - 让以太坊开发者相互讨论和并向他们提供帮助
-Ethereum Research - 最具影响力的加密经济研究留言板
-
-## 聊天室 {#chat-rooms}
-
-Ethereum Cat Herders - 专注于为以太坊开发提供项目管理支持的社区。
-Ethereum Hackers - 由 ETHGlobal 管理的 Discord 聊天室:全世界以太坊黑客的线上社区。
-CryptoDevs - 关注以太坊发展的 Discord 社区
-EthStaker Discord - 社区为现有和潜在的质押人提供的指导、教育、支持和资源。
-Ethereum.org 网站团队 - 拜访社区中的团队和成员并与他们讨论 ethereum.org 的网络开发和设计
-Matos Discord - Web3 创作者社区,构建者、业界人士和以太坊爱好者在这里聚会。 我们热衷于 Web3 的开发、设计和文化。 来吧,我们一起来构建。
-Solidity Gitter - 有关 Solidity 开发的聊天 (Gitter)
-Solidity Matrix - 有关 Solidity 开发的聊天 (Matrix)
-以太坊堆栈交易所 *- 问答论坛*
-Peeranha *- 去中心化问答论坛*
-
-## YouTube 和 Twitter {#youtube-and-twitter}
-
-以太坊基金会 - 及时了解以太坊基金会的最新动态
-@ethereum -以太坊基金会官方账号
-@ethdotorg - 为我们不断发展的全球社区构建的以太坊门户网站
-有影响力的以太坊 Twitter 帐户清单
-
-
-
-
-
-
- 了解更多有关去中心化自治组织的信息
-
-
-
diff --git a/public/content/translations/zh/14) Community Pages/community/research/index.md b/public/content/translations/zh/14) Community Pages/community/research/index.md
deleted file mode 100644
index e235bcd91df..00000000000
--- a/public/content/translations/zh/14) Community Pages/community/research/index.md
+++ /dev/null
@@ -1,399 +0,0 @@
----
-title: 活跃的以太坊研究领域
-description: 探索不同的开放研究领域,并了解如何参与其中。
-lang: zh
----
-
-# 活跃的以太坊研究领域 {#active-areas-of-ethereum-research}
-
-以太坊的主要优势之一就在于,有一个高度活跃的研究与工程社区在不断改进它。 全世界许多充满热情且技术熟练的人都希望致力于解决以太坊中尚未解决的问题,但找出这些问题的根源往往不那么容易。 本页概述了以太坊重要的活跃研究领域,作为介绍以太坊前沿领域的粗略指南。
-
-## 以太坊研究是怎样进行的 {#how-ethereum-research-works}
-
-以太坊研究是公开且透明的,体现了[去中心化科学 (DeSci)](https://hackernoon.com/desci-decentralized-science-as-our-chance-to-recover-the-real-science) 的原则。 其文化致力于最大程度提升研究工具及成果的开放性和交互性,例如通过可执行笔记本。 以太坊研究进展迅速,新的研究成果会在 [ethresear.ch](https://ethresear.ch/) 等论坛上公开发布和讨论,而不是通过传统的发布方式,经过几轮同行评审后再向社区转播。
-
-## 通用研究资源 {#general-research-resources}
-
-无论是哪种具体主题,都可以在 [ethresear.ch](https://ethresear.ch) 和[以太坊研发 Discord 频道](https://discord.gg/qGpsxSA)中找到大量和以太坊研究相关的信息。 这些是以太坊研究人员讨论最新想法和开发机会的主要平台。
-
-该报告由 [DelphiDigital](https://members.delphidigital.io/reports/the-hitchhikers-guide-to-ethereum) 于 2022 年 5 月发布,全面概述了以太坊路线图。
-
-## 资金来源 {#sources-of-funding}
-
-你可以参与以太坊研究,并因此获得报酬! 例如,[以太坊基金会](/foundation/)最近开展了一轮[学术资助活动](https://esp.ethereum.foundation/academic-grants)。 你可以在[以太坊资助页面](/community/grants/)找到相关信息,了解目前正在进行和即将开展的资助机会。
-
-## 协议研究 {#protocol-research}
-
-协议研究关注以太坊的基础层,基础层指一系列规则,它们定义节点如何连接、通信、交换和储存以太坊数据以及如何就区块链状态达成共识。 协议研究分为两个顶层类别:共识和执行。
-
-### 共识 {#consensus}
-
-共识研究专注于[以太坊的权益证明机制](/developers/docs/consensus-mechanisms/pos/)。 下面是一些共识研究课题的示例:
-
-- 发现和修补漏洞;
-- 量化加密经济安全性;
-- 提高客户端实现的安全性或性能;
-- 以及开发轻客户端。
-
-还开展了一些前瞻性研究,并对协议进行了一些重大重新设计(例如单时隙最终确定性),以实现以太坊的重要改进。 此外,共识客户端之间对等网络的效率、安全性和监测也是重要的研究课题。
-
-#### 背景阅读 {#background-reading}
-
-- [权益证明简介](/developers/docs/consensus-mechanisms/pos/)
-- [Casper-FFG 论文](https://arxiv.org/abs/1710.09437)
-- [Casper-FFG 的解释说明](https://arxiv.org/abs/1710.09437)
-- [Gasper 论文](https://arxiv.org/abs/2003.03052)
-
-#### 近期的研究 {#recent-research}
-
-- [Ethresear.ch 共识](https://ethresear.ch/c/consensus/29)
-- [可用性/最终确定性困境](https://arxiv.org/abs/2009.04987)
-- [单时隙最终确定性](https://ethresear.ch/t/a-model-for-cumulative-committee-based-finality/10259)
-- [提议者-构建者分离](https://notes.ethereum.org/@vbuterin/pbs_censorship_resistance)
-
-### 执行 {#execution}
-
-执行层专注于执行交易,运行[以太坊虚拟机 (EVM)](/developers/docs/evm/) 并生成执行有效载荷以传递给共识层。 有许多活跃的研究领域,包括:
-
-- 构建轻客户端支持;
-- 研究燃料限制;
-- 以及采用新数据结构(例如沃克尔树)。
-
-#### 背景阅读 {#background-reading-1}
-
-- [以太坊虚拟机简介](/developers/docs/evm)
-- [Ethresear.ch 执行层](https://ethresear.ch/c/execution-layer-research/37)
-
-#### 近期的研究 {#recent-research-1}
-
-- [数据库优化](https://github.com/ledgerwatch/erigon/blob/devel/docs/programmers_guide/db_faq.md)
-- [状态到期](https://notes.ethereum.org/@vbuterin/state_expiry_eip)
-- [状态到期路径](https://hackmd.io/@vbuterin/state_expiry_paths)
-- [沃克尔树和状态到期提案](https://notes.ethereum.org/@vbuterin/verkle_and_state_expiry_proposal)
-- [历史管理](https://eips.ethereum.org/EIPS/eip-4444)
-- [沃克尔树](https://vitalik.eth.limo/general/2021/06/18/verkle.html)
-- [数据可用性采样](https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding)
-
-## 客户端开发 {#client-development}
-
-以太坊客户端是以太坊协议的实现。 客户端开发通过将协议研究的成果融入客户端中,让这些成果转化为现实。 客户端开发包括更新客户端规范和搭建具体实现。
-
-一个以太坊节点需要运行两个软件:
-
-1. 一个共识客户端,用于追踪区块链头部、传播区块并处理共识逻辑
-2. 一个执行客户端,用于支持以太坊虚拟机并执行交易和智能合约
-
-查看[节点和客户端页面](/developers/docs/nodes-and-clients/)以了解关于节点和客户端的更多详细信息以及当前所有客户端实现的清单。 你也可以在[历史页面](/history/)找到所有以太坊升级的历史信息。
-
-### 执行客户端 {#execution-clients}
-
-- [执行客户端规范](https://github.com/ethereum/execution-specs)
-- [执行应用程序接口规范](https://github.com/ethereum/execution-apis)
-
-### 共识客户端 {#consensus-clients}
-
-- [共识客户端规范](https://github.com/ethereum/consensus-specs)
-- [信标应用程序接口规范](https://ethereum.github.io/beacon-APIs/#/Beacon/getStateRoot)
-
-## 扩容与性能 {#scaling-and-performance}
-
-以太坊扩容是以太坊研究人员关注的一个重大领域。 目前的方法包括将交易转移到卷叠上,并使用数据二进制大对象使交易尽可能经济实惠。 我们的[扩容页面](/developers/docs/scaling)提供了关于以太坊扩容的介绍信息。
-
-### 二层网络 {#layer-2}
-
-现在有一些二层网络协议,它们使用不同的技术对以太坊进行扩容,在以太坊一层网络上批量处理交易并保证交易安全。 这个课题发展十分迅速,具备很大的研究和发展潜力。
-
-#### 背景阅读 {#background-reading-2}
-
-- [二层网络简介](/layer-2/)
-- [Polynya:卷叠、数据可用性和模块化链](https://polynya.medium.com/rollups-data-availability-layers-modular-blockchains-introductory-meta-post-5a1e7a60119d)
-
-#### 近期的研究 {#recent-research-2}
-
-- [面向排序者的 Arbitrum 公平排序](https://eprint.iacr.org/2021/1465)
-- [ethresear.ch 二层网络](https://ethresear.ch/c/layer-2/32)
-- [以卷叠为中心的路线图](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698)
-- [L2Beat](https://l2beat.com/)
-
-### 链桥 {#bridges}
-
-二层网络中一个需要进行更多研究和开发的特别领域是安全且性能良好的链桥。 这包括不同二层网络之间以及一层网络与二层网络之间的链桥。 这是一个非常重要的研究领域,因为链桥往往是黑客攻击的目标。
-
-#### 背景阅读 {#background-reading-3}
-
-- [区块链桥简介](/bridges/)
-- [Vitalik 谈链桥](https://old.reddit.com/r/ethereum/comments/rwojtk/ama_we_are_the_efs_research_team_pt_7_07_january/hrngyk8/)
-- [区块链桥文章](https://medium.com/1kxnetwork/blockchain-bridges-5db6afac44f8)
-- [锁定在链桥上的价值](https://dune.com/eliasimos/Bridge-Away-\(from-Ethereum\))
-
-#### 近期的研究 {#recent-research-3}
-
-- [验证链桥](https://stonecoldpat.github.io/images/validatingbridges.pdf)
-
-### 分片 {#sharding}
-
-分片以太坊区块链长期以来都是发展路线图的一部分。 不过,“Danksharding”等新的扩容解决方案目前占据了中心位置。
-
-Proto-Danksharding 是完整 Danksharding 的先决条件 ,在 Cancun-Deneb ("Dencun") 网络升级后上线。
-
-[更多关于 Dencun 升级的信息](/roadmap/dencun/)
-
-#### 背景阅读 {#background-reading-4}
-
-- [Proto-Danksharding 注释](https://notes.ethereum.org/@vbuterin/proto_danksharding_faq)
-- [Bankless 的 Danksharding 视频](https://www.youtube.com/watch?v=N5p0TB77flM)
-- [以太坊分片研究纲要](https://notes.ethereum.org/@serenity/H1PGqDhpm?type=view)
-- [Danksharding (Polynya)](https://polynya.medium.com/danksharding-36dc0c8067fe)
-
-#### 近期的研究 {#recent-research-4}
-
-- [EIP-4844:Proto-Danksharding](https://eips.ethereum.org/EIPS/eip-4844)
-- [Vitalik 谈分片和数据可用性采样](https://hackmd.io/@vbuterin/sharding_proposal)
-
-### 硬件 {#hardware}
-
-使用普通硬件[运行节点](/developers/docs/nodes-and-clients/run-a-node/)是保持以太坊去中心化的基础。 因此,尽可能降低运行节点的硬件要求是目前正在积极研究的一个重要领域。
-
-#### 背景阅读 {#background-reading-5}
-
-- [基于 ARM 的以太坊](https://ethereum-on-arm-documentation.readthedocs.io/en/latest/)
-
-#### 近期的研究 {#recent-research-5}
-
-- [基于现场可编程门阵列的椭圆曲线数字签名算法](https://ethresear.ch/t/does-ecdsa-on-fpga-solve-the-scaling-problem/6738)
-
-## 安全 {#security}
-
-安全是一个广泛的话题,可能包括垃圾邮件/诈骗防范、钱包安全、硬件安全、加密经济安全、应用程序和客户端软件的错误查找和测试以及密钥管理。 拓宽这些领域的知识将有助于促进主流采用。
-
-### 加密与零知识证明 {#cryptography--zkp}
-
-零知识证明 (ZKP) 和加密对于构建以太坊及其应用程序的隐私性和安全性非常关键。 零知识是一个相对年轻但发展迅速的领域,有许多开放研究和开发机会。 它包括一些可能性,如开发更高效的 [Keccak 哈希算法](https://hackmd.io/sK7v0lr8Txi1bgION1rRpw?view#Overview)实现,寻找更好的多项式承诺,或是降低椭圆曲线数字签名算法公钥生成和签名验证电路的成本。
-
-#### 背景阅读 {#background-reading-6}
-
-- [0xparc 博客](https://0xparc.org/blog)
-- [zkp.science](https://zkp.science/)
-- [零知识播客](https://zeroknowledge.fm/)
-
-#### 近期的研究 {#recent-research-6}
-
-- [椭圆曲线密码学的近期进展](https://ethresear.ch/t/the-ec-fft-algorithm-without-elliptic-curve-and-isogenies/11346)
-- [Ethresear.ch 零知识](https://ethresear.ch/c/zk-s-nt-arks/13)
-
-### 钱包 {#wallets}
-
-以太坊钱包可以是浏览器扩展程序、桌面和移动应用程序,也可以是以太坊上的智能合约。 有关社交恢复钱包的研究目前很活跃,这种钱包可以降低与个人用户密钥管理相关的风险。 和钱包开发相关联的是对帐户抽象替代形式的研究,这是一个重要的新兴研究领域。
-
-#### 背景阅读 {#background-reading-7}
-
-- [钱包简介](/wallets/)
-- [钱包安全性简介](/security/)
-- [ethresear.ch 安全性](https://ethresear.ch/tag/security)
-- [EIP-2938 帐户抽象](https://eips.ethereum.org/EIPS/eip-2938)
-- [EIP-4337 帐户抽象](https://eips.ethereum.org/EIPS/eip-4337)
-
-#### 近期的研究 {#recent-research-7}
-
-- [以验证为核心的智能合约钱包](https://ethereum-magicians.org/t/validation-focused-smart-contract-wallets/6603)
-- [帐户的未来](https://ethereum-magicians.org/t/validation-focused-smart-contract-wallets/6603)
-- [EIP-3074 AUTH 和1 AUTHCALL 操作码](https://eips.ethereum.org/EIPS/eip-3074)
-- [在外部帐户地址发布代码](https://eips.ethereum.org/EIPS/eip-5003)
-
-## 社区、教育和宣传 {#community-education-and-outreach}
-
-为了帮助新用户熟悉以太坊,需要新的教育资源和宣传方法。 这可能包括博客帖子和文章、书籍、播客、网络迷因、教学资源、活动以及其他任何关于建设社区、欢迎新手和教育人们了解以太坊的内容。
-
-### 用户体验/用户界面 {#uxui}
-
-为了帮助更多人熟悉以太坊,以太坊生态系统必须改善用户体验/用户界面。 这要求设计师和产品专家重新审视钱包和应用程序的设计。
-
-#### 背景阅读 {#background-reading-8}
-
-- [Ethresear.ch 用户体验/用户界面](https://ethresear.ch/c/ui-ux/24)
-
-#### 近期的研究 {#recent-research-8}
-
-- [Web3 设计 Discord](https://discord.gg/FsCFPMTSm9)
-- [Web3 设计原则](https://www.web3designprinciples.com/)
-- [以太坊魔术师用户体验讨论](https://ethereum-magicians.org/t/og-council-ux-follow-up/9032/3)
-
-### 经济学 {#economics}
-
-以太坊中的经济学研究普遍遵循两个途径:验证依赖于经济激励的机制的安全性(“微观经济学”)和分析协议、应用程序和用户之间的价值流动(“宏观经济学”)。 有一些复杂的加密经济学因素与以太坊原生资产(以太币)及构建于其上的代币(例如非同质化代币和 ERC20 代币)有关。
-
-#### 背景阅读 {#background-reading-9}
-
-- [稳健激励小组](https://ethereum.github.io/rig/)
-- [Devconnect 上的 ETHconomics 研讨会](https://www.youtube.com/playlist?list=PLTLjFJ0OQOj5PHRvA2snoOKt2udVsyXEm)
-
-#### 近期的研究 {#recent-research-9}
-
-- [EIP1559 实证分析](https://arxiv.org/abs/2201.05574)
-- [流通量平衡](https://ethresear.ch/t/circulating-supply-equilibrium-for-ethereum-and-minimum-viable-issuance-during-the-proof-of-stake-era/10954)
-- [量化最大可提取价值:森林有多黑暗?](https://arxiv.org/abs/2101.05511)
-
-### 区块空间和费用市场 {#blockspace-fee-markets}
-
-区块空间市场管理最终用户交易的纳入,不管是直接在以太坊(一层网络)还是在卷叠等桥接网络(二层网络)上纳入。 在以太坊上,交易将提交到依据 EIP-1559 协议部署的费用市场,保护区块链免受垃圾邮件和定价拥堵的影响。 在两个网络上,交易可能产生外部效应,即最大可提取价值 (MEV),引发可捕捉或管理这些外部效应的新型市场结构。
-
-#### 背景阅读 {#background-reading-10}
-
-- [以太坊区块链的交易费机制设计:EIP-1559 的经济分析(Tim Roughgarden,2020 年)](https://timroughgarden.org/papers/eip1559.pdf)
-- [EIP-1559 的模拟(稳健激励小组)](https://ethereum.github.io/abm1559)
-- [基于首要原则的卷叠经济学](https://barnabe.substack.com/p/understanding-rollup-economics-from?utm_source=url)
-- [Flash Boys 2.0:去中心化交易所中的抢先交易、交易重新排序和共识不稳定性](https://arxiv.org/abs/1904.05234)
-
-#### 近期的研究 {#recent-research-10}
-
-- [多维 EIP-1559 的视频演示](https://youtu.be/QbR4MTgnCko)
-- [跨域最大可提取价值](http://arxiv.org/abs/2112.01472)
-- [最大可提取价值拍卖](https://ethresear.ch/t/mev-auction-auctioning-transaction-ordering-rights-as-a-solution-to-miner-extractable-value/6788)
-
-### 权益证明激励 {#proof-of-stake-incentives}
-
-验证者使用以太坊的原生资产(以太币)作为阻止不诚信行为的抵押品。 这类加密经济学决定了网络安全。 老练的验证者可能利用激励层的细微差别发起显式攻击。
-
-#### 背景阅读 {#background-reading-11}
-
-- [以太坊经济学大师课和经济模型](https://github.com/CADLabs/ethereum-economic-model)
-- [权益证明激励的模拟(稳健激励小组)](https://ethereum.github.io/beaconrunner/)
-
-#### 近期的研究 {#recent-research-11}
-
-- [通过提议者-构建者分离 (PBS) 增强交易的抗审查性](https://notes.ethereum.org/s3JToeApTx6CKLJt8AbhFQ)
-- [针对权益证明以太坊的三次攻击](https://arxiv.org/abs/2110.10086)
-
-### 流动性质押和衍生品 {#liquid-staking-and-derivatives}
-
-流动性质押让拥有不足 32 以太币的用户,也能通过将以太币兑换成代表已质押以太币且可在去中心化金融中使用的代币来获得质押收益。 然而,我们仍在探索与流动性质押相关的激励和市场动态,及其对以太坊安全性的影响(例如中心化风险)。
-
-#### 背景阅读 {#background-reading-12}
-
-- [Ethresear.ch 流动性质押](https://ethresear.ch/search?q=liquid%20staking)
-- [Lido:去信任以太坊质押之路](https://blog.lido.fi/the-road-to-trustless-ethereum-staking/)
-- [Rocket Pool:质押协议简介](https://medium.com/rocket-pool/rocket-pool-staking-protocol-part-1-8be4859e5fbd)
-
-#### 近期的研究 {#recent-research-12}
-
-- [处理 Lido 的提款](https://ethresear.ch/t/handling-withdrawals-in-lidos-eth-liquid-staking-protocol/8873)
-- [提款凭证](https://ethresear.ch/t/withdrawal-credential-rotation-from-bls-to-eth1/8722)
-- [流动性质押衍生品的风险](https://notes.ethereum.org/@djrtwo/risks-of-lsd)
-
-## 测试 {#testing}
-
-### 形式验证 {#formal-verification}
-
-形式验证是指编写代码以验证以太坊的共识规范正确无误。 该规范有一个用 Python 编写的可执行版本,需要维护和开发。 进一步研究可以帮助改进该规范的 Python 实现,并添加可以更稳健地验证正确性和发现问题的工具。
-
-#### 背景阅读 {#background-reading-13}
-
-- [形式验证简介](https://ptolemy.berkeley.edu/projects/embedded/research/vis/doc/VisUser/vis_user/node4.html)
-- [形式验证 (Intel)](https://www.cl.cam.ac.uk/~jrh13/papers/mark10.pdf)
-
-#### 近期的研究 {#recent-research-13}
-
-- [存款合约的形式验证](https://github.com/runtimeverification/deposit-contract-verification)
-- [信标链规范的形式验证](https://github.com/runtimeverification/deposit-contract-verification)
-
-## 数据科学与分析 {#data-science-and-analytics}
-
-我们需要更多的数据分析工具和仪表板,来提供有关以太坊活动和网络健康状况的详细信息。
-
-### 背景阅读 {#background-reading-14}
-
-- [Dune Analytics](https://dune.com/browse/dashboards)
-- [客户端多样性仪表板](https://clientdiversity.org/)
-
-#### 近期的研究 {#recent-research-14}
-
-- [稳健激励小组数据分析](https://ethereum.github.io/rig/)
-
-## 应用程序与工具 {#apps-and-tooling}
-
-应用程序层支持一个多样化的程序生态系统,这些程序在以太坊基础层上结算交易。 开发团队不断寻找新方法,来利用以太坊为重要的 Web2 应用程序创建可组合、无需许可且抗审查的版本,或者创建全新 Web3 原生概念。 同时,新工具也在持续开发中,降低了在以太坊上构建去中心化应用程序的复杂度。
-
-### 去中心化金融 {#defi}
-
-去中心化金融 (DeFi) 是构建在以太坊上的主要一类应用程序。 去中心化金融旨在创建可组合的“货币乐高”,允许用户通过智能合约存储、转账、借出、借入以及投资加密资产。 它是一个变化迅速、不断更新的领域。 需要持续不断地研究安全、高效和可访问的协议。
-
-#### 背景阅读 {#background-reading-15}
-
-- [去中心化金融](/defi/)
-- [Coinbase:去中心化金融是什么?](https://www.coinbase.com/learn/crypto-basics/what-is-defi)
-
-#### 近期的研究 {#recent-research-15}
-
-- [去中心化金融,中心化所有权?](https://arxiv.org/pdf/2012.09306.pdf)
-- [Optimism:通往低费用交易之路](https://medium.com/ethereum-optimism/the-road-to-sub-dollar-transactions-part-2-compression-edition-6bb2890e3e92)
-
-### 去中心化自治组织 {#daos}
-
-以太坊的一个有影响力的用例就是能够通过应用去中心化自治组织实现组织方式的去中心化。 当前正在进行大量研究,探索如何开发和利用以太坊上的去中心化自治组织,将其作为一种只需最少信任的协调工具来实施改进的治理形式,从而极大地扩展人们的选择,使之不再局限于传统的公司和组织。
-
-#### 背景阅读 {#background-reading-16}
-
-- [去中心化自治组织简介](/dao/)
-- [Dao Collective](https://daocollective.xyz/)
-
-#### 近期的研究 {#recent-research-16}
-
-- [去中心化自治组织生态系统详细规划](https://www.researchgate.net/publication/358694594_Mapping_out_the_DAO_Ecosystem_and_Assessing_DAO_Autonomy)
-
-### 开发者工具 {#developer-tools}
-
-以太坊开发者的工具正在迅速改进。 这一综合领域目前有大量的研发工作正在进行中。
-
-#### 背景阅读 {#background-reading-17}
-
-- [编程语言工具](/developers/docs/programming-languages/)
-- [开发者框架](/developers/docs/frameworks/)
-- [共识开发者工具列表](https://github.com/ConsenSys/ethereum-developer-tools-list)
-- [代币标准](/developers/docs/standards/tokens/)
-- [CryptoDevHub:以太坊虚拟机工具](https://cryptodevhub.io/wiki/ethereum-virtual-machine-tools)
-
-#### 近期的研究 {#recent-research-17}
-
-- [以太坊研发 Discord 共识工具频道](https://discordapp.com/channels/595666850260713488/746343380900118528)
-
-### 预言机 {#oracles}
-
-预言机以一种无需许可、去中心化的方式将链下数据导入到区块链上。 将这些数据导入到链上,去中心化应用程序就可以对现实世界的现象做出反应,例如现实世界的资产价格波动、链下应用程序中的事件,甚至天气变化。
-
-#### 背景阅读 {#background-reading-18}
-
-- [预言机简介](/developers/docs/oracles/)
-
-#### 近期的研究 {#recent-research-18}
-
-- [区块链预言机调查](https://arxiv.org/pdf/2004.07140.pdf)
-- [Chainlink 白皮书](https://chain.link/whitepaper)
-
-### 应用程序安全性 {#app-security}
-
-以太坊上的黑客攻击通常利用单个应用程序中的漏洞,而不是协议本身的漏洞。 黑客和应用程序开发者陷入了一场开发新型攻击和防御手段的军备竞赛。 这意味着始终需要进行重要的研发,以保障应用程序安全并免受黑客攻击。
-
-#### 背景阅读 {#background-reading-19}
-
-- [虫洞攻击报告](https://blog.chainalysis.com/reports/wormhole-hack-february-2022/)
-- [以太坊合约黑客攻击事后分析列表](https://forum.openzeppelin.com/t/list-of-ethereum-smart-contracts-post-mortems/1191)
-- [Rekt 新闻](https://twitter.com/RektHQ?s=20\&t=3otjYQdM9Bqk8k3n1a1Adg)
-
-#### 近期的研究 {#recent-research-19}
-
-- [ethresear.ch 应用程序](https://ethresear.ch/c/applications/18)
-
-### 技术栈 {#technology-stack}
-
-将整个以太坊技术栈去中心化是一项重要的研究领域。 目前,以太坊上的去中心化应用程序都有一定的中心化成分,因为它们依赖于中心化的工具或基础设施。
-
-#### 背景阅读 {#background-reading-20}
-
-- [以太坊堆栈](/developers/docs/ethereum-stack/)
-- [Coinbase:Web3 堆栈简介](https://blog.coinbase.com/a-simple-guide-to-the-web3-stack-785240e557f0)
-- [智能合约简介](/developers/docs/smart-contracts/)
-- [去中心化存储简介](/developers/docs/storage/)
-
-#### 近期的研究 {#recent-research-20}
-
-- [智能合约的可组合性](/developers/docs/smart-contracts/composability/)
diff --git a/public/content/translations/zh/14) Community Pages/community/support/index.md b/public/content/translations/zh/14) Community Pages/community/support/index.md
deleted file mode 100644
index d6c3d96fcc2..00000000000
--- a/public/content/translations/zh/14) Community Pages/community/support/index.md
+++ /dev/null
@@ -1,104 +0,0 @@
----
-title: 以太坊支持
-description: 在以太坊生态系统中获得支持。
-lang: zh
----
-
-# 以太坊支持 {#support}
-
-## 以太坊官方支持 {#official-support}
-
-你正在寻求以太坊官方支持吗? 你应该知道的第一件事是以太坊是去中心化的。 这意味着以太坊不属于任何中心化组织、实体或个人,因此没有官方支持渠道。
-
-了解以太坊的去中心化性质至关重要,因为任何自称是以太坊官方支持人员的人都可能在试图诈骗你! 预防诈骗的最好办法就是自学并认真对待安全问题。
-
-
- 以太坊安全和预防欺诈措施
-
-
-
- 学习以太坊基础知识
-
-
-尽管缺乏官方支持,但以太坊生态系统中的许多团体、社区和项目都乐于提供帮助,并且你可以在此页面上找到很多有用的信息和资源。 还有问题吗? 加入 [ethereum.org Discord](/discord/),我们会尽力提供帮助。
-
-## 常见问题 {#faq}
-
-### 我把以太币发到了错误的钱包中 {#wrong-wallet}
-
-以太坊上发送的交易是不可逆的。 如果你将以太币发送到错误的钱包,很遗憾,没有办法追回这些资金。 以太坊不属于任何中心化组织、实体或个人,这意味着没有人可以逆转交易。 因此,在发送交易之前,一定要仔细检查你的交易,这一点至关重要。
-
-### 如何领取以太坊的赠品? {#giveaway-scam}
-
-以太坊赠品是用来窃取你以太币的骗局。 不要被看起来好得令人难以置信的优惠所诱惑 — 如果你将以太币发送到赠品地址,你不但收不到赠品,还将无法追回你的资金。
-
-[关于预防诈骗的更多信息](/security/#common-scams)
-
-### 我的交易卡住了 {#stuck-transaction}
-
-如果你提交的交易费低于网络需求,以太坊上的交易有时会被卡住。 许多钱包提供了一个选项,即以更高的交易费重新提交同一项交易,使该交易得以处理。 或者,你可以发送交易到你自己的地址,并使用与待定交易相同的随机数,以取消待定交易。
-
-[如何在 MetaMask 上加速或取消待定交易](https://metamask.zendesk.com/hc/en-us/articles/360015489251-How-to-speed-up-or-cancel-a-pending-transaction)
-
-[如何取消待定以太坊交易](https://info.etherscan.com/how-to-cancel-ethereum-pending-transactions/)
-
-### 我如何在以太坊挖矿? {#mining-ethereum}
-
-以太坊不再支持挖矿。 在以太坊从[工作量证明](/glossary/#pow)过渡到[权益证明](/glossary/#pos)后,挖矿就终止了。 现在,以太坊使用验证者而不是矿工。 任何人都可以[质押](/glossary/#staking)以太币并运行验证者软件保护网络,从而获取质押奖励。
-
-### 我如何成为质押者/运行验证者? {#how-to-stake}
-
-要成为验证者,你必须在以太坊存款合约中质押 32 个以太币并搭建一个验证节点。 更多信息见[质押界面](/staking)和[质押启动版](https://launchpad.ethereum.org/)。
-
-## 构建去中心化应用程序 {#building-support}
-
-构建这类应用可能很困难。 以下提供了一些专注于开发的平台,其中有经验丰富的以太坊开发人员,他们会乐意提供帮助。
-
-- [Alchemy University](https://university.alchemy.com/#starter_code)
-- [CryptoDevs discord](https://discord.com/invite/5W5tVb3)
-- [以太坊堆栈交易所](https://ethereum.stackexchange.com/)
-- [StackOverflow](https://stackoverflow.com/questions/tagged/web3)
-- [Web3 University](https://www.web3.university/)
-- [LearnWeb3](https://discord.com/invite/learnweb3)
-
-你还可以在我们的[以太坊开发者资源](/developers/)部分找到文档和开发指南。
-
-### 工具 {#dapp-tooling}
-
-你的问题是否与某个特定的工具、项目或程序库有关? 大多数项目都有专用于用户支持的聊天服务器或论坛。
-
-以下是一些比较常见的例子:
-
-- [Solidity](https://gitter.im/ethereum/solidity)
-- [ethers.js](https://discord.gg/6jyGVDK6Jx)
-- [web3.js](https://discord.gg/GsABYQu4sC)
-- [安全帽](https://discord.gg/xtrMGhmbfZ)
-- [Alchemy](http://alchemy.com/discord)
-- [Tenderly](https://discord.gg/fBvDJYR)
-
-## 运行节点 {#node-support}
-
-如果你正在运行节点或验证者节点,下面是一些专门帮助你入门的社区。
-
-- [EthStaker discord](https://discord.gg/ethstaker)
-- [EthStaker reddit](https://www.reddit.com/r/ethstaker)
-
-大多数构建以太坊客户端的团队也有专门的、面向公众的平台,你可以在这些平台获取支持和提问。
-
-### 执行客户端 {#execution-clients}
-
-- [Geth](https://discord.gg/FqDzupGyYf)
-- [Nethermind](https://discord.gg/YJx3pm8z5C)
-- [Besu](https://discord.gg/p8djYngzKN)
-- [Erigon](https://github.com/ledgerwatch/erigon/issues)
-- [Reth](https://github.com/paradigmxyz/reth/discussions)
-
-### 共识客户端 {#consensus-clients}
-
-- [Prysm](https://discord.gg/prysmaticlabs)
-- [Nimbus](https://discord.gg/nSmEH3qgFv)
-- [Lighthouse](https://discord.gg/cyAszAh)
-- [Teku](https://discord.gg/7hPv2T6)
-- [Lodestar](https://discord.gg/aMxzVcr)
-
-你还可以[在此处了解如何运行节点](/developers/docs/nodes-and-clients/run-a-node/)。
diff --git "a/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/archive-nodes/index.md" "b/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/archive-nodes/index.md"
deleted file mode 100644
index a1bbe3abc98..00000000000
--- "a/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/archive-nodes/index.md"
+++ /dev/null
@@ -1,80 +0,0 @@
----
-title: 以太坊归档节点
-description: 归档节点概述
-lang: zh
-sidebarDepth: 2
----
-
-归档节点是以太坊客户端实例,配置用于构建所有历史状态的归档。 它是一种对某些用例有用的工具,但可能比全节点更难运行。
-
-## 前提条件 {#prerequisites}
-
-你应该理解[以太坊节点](/developers/docs/nodes-and-clients/)的概念、[它们的架构](/developers/docs/nodes-and-clients/node-architecture/)、[同步策略](/developers/docs/nodes-and-clients/#sync-modes),以及它们的[运行](/developers/docs/nodes-and-clients/run-a-node/)和[使用](/developers/docs/apis/json-rpc/)的实践。
-
-## 什么是归档节点
-
-为了理解归档节点的重要性,让我们澄清一下“状态”的概念。 以太坊可以被称为_基于交易的状态机_。 它由执行交易并改变其状态的帐户和应用程序组成。 关于每个帐户和合约的信息等全局数据储存在一个名为“状态”的字典树数据库当中。 这些都是由执行层 (EL) 客户端处理,包括:
-
-- 帐户余额和随机数
-- 合约代码和存储
-- 与共识相关的数据,例如质押存款合约
-
-为了与网络交互,验证和产生新的区块,以太坊客户端必须跟上最新的变化(链的头部),从而显示最新的状态。 一个配置为全节点的执行层客户端会验证并追踪网络的最新状态,但只缓存过去几个状态,例如与最后 128 个区块相关联的状态,这样它就可以处理链重组并提供对最近数据的快速访问。 最近的状态是所有客户端在验证传入交易和使用网络时需要的状态。
-
-你可以把状态想象成给定区块的瞬时网络快照,而归档是历史回放。
-
-历史状态可被安全修剪,因为它们对网络的运行不是必要条件,而且对于客户端来说,保留所有过时的数据没有意义。 在某个最近区块之前存在的状态(例如在头部之前 128个 区块)实际上会被丢弃。 全节点只保留历史区块链数据(区块和交易)和偶尔的历史快照,它们可以用来根据请求重新生成较旧的状态。 在以太坊虚拟机中重新执行过往交易就可以做到这一点;当所需状态离最近的快照很远时,可能对计算要求很高。
-
-然而,这意味着在全节点上访问历史状态会消耗大量计算资源。 客户端可能需要执行从创世块开始的所有过往交易并计算一个历史状态。 归档节点不仅会储存最近的状态,而且还会储存在创建每个区块以后的每个历史状态,进而解决这个问题。 它基本上是以更大的磁盘空间需求为代价。
-
-需要注意的是,网络不依赖于归档节点来保留和提供所有历史数据。 如上所述,所有历史中间状态都可以在全节点上派生出来。 任何全节点都会存储交易(目前不到 400G),而且可重放交易以构建整个归档。
-
-### 用例
-
-像发送交易、部署合约、验证共识等常规使用以太坊的方式不需要访问历史状态。 用户从不需要一个归档节点来进行标准的网络交互。
-
-状态归档的主要好处是快速访问关于历史状态的查询。 例如,归档节点会立即返回以下类似结果:
-
-- _帐户 0x1337…在区块 15537393 时的以太币余额是多少?_
-- _合约 0x 中的代币 0x 在区块 1920000 时的余额是多少?_
-
-如上所述,一个全节点需要通过以太坊虚拟机执行来生成这些数据,这会消耗 CPU 并花费时间。 归档节点在磁盘上访问它们,并立即提供响应。 此功能对于基础设施的某些部分十分有用,例如:
-
-- 服务提供商,如区块浏览器
-- 研究人员
-- 安全分析师
-- 去中心化应用程序开发者
-- 审计和合规
-
-还有一些免费[服务](/developers/docs/nodes-and-clients/nodes-as-a-service/)也允许访问历史数据。 由于运行一个归档节点的要求更高,这种访问通常是有限的,只适用于偶尔的访问。 如果你的项目需要不断地访问历史数据,你应该考虑自己运行一个。
-
-## 实现和使用
-
-在这种情况下,归档节点意味着由面向用户的执行层客户端提供数据,因为它们要处理状态数据库并提供 JSON-RPC 端点。 配置选项、同步时间和数据库大小可能因客户端而异。 详情请参考你的客户端提供的文档。
-
-在开始使用你自己的归档节点之前,了解一下客户端之间的差异,特别是各种[硬件要求](/developers/docs/nodes-and-clients/run-a-node/#requirements)。 大多数客户端没有针对这项特性进行优化,它们的归档需要超过 12TB 的空间。 相比之下,像 Erigon 这样的实现可以将相同的数据存储在不到 3TB 的空间内,这使它们成为运行归档节点的最有效方式。
-
-## 推荐的做法
-
-除了[运行节点的一般建议](/developers/docs/nodes-and-clients/run-a-node/)以外,归档节点可能对硬件和维护的要求更高。 考虑到 Erigon 的[关键特性](https://github.com/ledgerwatch/erigon#key-features),最实用的方法是使用 [Erigon](/developers/docs/nodes-and-clients/#erigon) 客户端实现。
-
-### 硬件
-
-始终确保满足客户端文档中给定模式的硬件要求。 归档节点的最大要求是磁盘空间。 根据不同的客户端,此项要求从 3TB 到 12TB 不等。 虽然人们可能认为机械硬盘是更适合存储大量数据的解决方案,不过,同步数据和持续地更新链头需要使用固态硬盘。 [SATA](https://www.cleverfiles.com/help/sata-hard-drive.html) 驱动器足够好,但它应该拥有可靠的质量,至少是 [TLC](https://blog.synology.com/tlc-vs-qlc-ssds-what-are-the-differences) 类型的。 磁盘可以安装在有足够插槽的台式电脑或服务器中。 这样的专用设备是运行高正常运行时间节点的理想选择。 在笔记本上运行是完全可以实现的,代价是需要牺牲一定的便携性。
-
-所有数据需要存放在一个卷中,因此必须对磁盘进行合并,例如采用 [RAID0](https://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_0) 方案或 [LVM](https://web.mit.edu/rhel-doc/5/RHEL-5-manual/Deployment_Guide-en-US/ch-lvm.html)。 你也可以考虑使用 [ZFS](https://en.wikipedia.org/wiki/ZFS),因为它支持“写时复制”,从而确保数据正确地写入磁盘,而不会出现任何低级错误。
-
-为了提高稳定性和安全性,防止发生意外的数据库损坏,你可以在系统支持时考虑使用 [ECC 内存](https://en.wikipedia.org/wiki/ECC_memory),尤其是在专业设置中。 内存大小通常建议与全节点相同,但更大的内存可以帮助加速同步。
-
-在初始同步期间,归档模式下的客户端将执行自创世块以来的每笔交易。 执行速度主要受 CPU 限制,所以更快的 CPU 可以帮助缩短初始同步时间。 在一台普通的消费者计算机上,初始同步所需的时间可能长达一个月。
-
-## 延伸阅读 {#further-reading}
-
-- [以太坊全节点 vs 归档节点](https://www.quicknode.com/guides/infrastructure/ethereum-full-node-vs-archive-node) - _QuickNode,2022 年 9 月_
-- [构建你自己的以太坊归档节点](https://tjayrush.medium.com/building-your-own-ethereum-archive-node-72c014affc09) - _Thomas Jay Rush,2021 年 8 月_
-- [如何设置 Erigon、Erigon 的远程过程调用和 TrueBlocks(抓取和应用程序接口)即服务](https://magnushansson.xyz/blog_posts/crypto_defi/2022-01-10-Erigon-Trueblocks) _– Magnus Hansson,2022 年 9 月更新_
-
-## 相关主题 {#related-topics}
-
-- [节点和客户端](/developers/docs/nodes-and-clients/)
-- [运行节点](/developers/docs/nodes-and-clients/run-a-node/)
diff --git "a/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/bootnodes/index.md" "b/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/bootnodes/index.md"
deleted file mode 100644
index 36d2bb54231..00000000000
--- "a/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/bootnodes/index.md"
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title: 以太坊的引导节点介绍
-description: 了解以太坊引导节点所需的基本信息
-lang: zh
----
-
-当新节点加入以太坊网络时,它需要连接到已经在网络上的节点,以便在后期发现新的对等节点。 这些进入以太坊网络的节点被称作引导节点。 客户端通常有一个硬编码的引导节点列表。 这些引导节点通常由以太坊基金会的开发团队或客户团队自己运行。 请注意,引导节点与静态节点不同。 静态节点会被重复调用,而引导节点仅在没有足够的对等节点可以连接时被调用,并且需要有一个节点来引导一些新的连接。
-
-## 连接到引导节点 {#connect-to-a-bootnode}
-
-大多数客户端都有内置的引导节点列表,但你可能也想运行自己的引导节点,或使用不在客户端硬编码列表中的引导节点。 在这种情况下,你可以在启动客户端时指定这些节点,如下所示(示例为 Geth,请查看你的客户端文档):
-
-```
-geth --bootnodes "enode://@:"
-```
-
-## 运行引导节点 {#run-a-bootnode}
-
-引导节点是不在 NAT([网络地址转换](https://www.geeksforgeeks.org/network-address-translation-nat/))后面的全节点。 只要全节点可以公开访问,它就可以充当引导节点。
-
-在启动节点时,它应该记录你的 [enode](/developers/docs/networking-layer/network-addresses/#enode),也就是其他人用来连接该节点的公开标识符。
-
-一般来说,每次重启都会重新生成 enode,因此请确保查看你的客户端文档,了解如何为引导节点生成长期的 enode。
-
-为了成为一个良好的引导节点,你可以增加能够与之连接的对等节点的最大数量。 运行能与许多对等节点连接的引导节点,这样做将大幅提高对带宽的要求。
-
-## 可用的引导节点 {#available-bootnodes}
-
-请在[此处](https://github.com/ethereum/go-ethereum/blob/master/params/bootnodes.go#L23)查看 go-ethereum 中内建的引导节点列表。 这些引导节点由以太坊基金会和 go-ethereum 团队负责维护。
-
-你还可以找到一些由志愿者维护的其他引导节点列表。 请务必始终包含至少一个官方引导节点,否则你可能会受到日蚀攻击。
diff --git "a/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/client-diversity/index.md" "b/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/client-diversity/index.md"
deleted file mode 100644
index 69f9f4fec56..00000000000
--- "a/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/client-diversity/index.md"
+++ /dev/null
@@ -1,109 +0,0 @@
----
-title: 客户端多样性
-description: 概括解释以太坊客户端多样性的重要性。
-lang: zh
-sidebarDepth: 2
----
-
-以太坊节点的行为是由其运行的客户端软件控制的。 有一些生产级的以太坊客户端,每个都是由不同的团队用不同的语言开发和维护。 这些客户端都是按照共同规范建立的,确保客户端相互之间无缝通信,具有相同的功能并提供一致的用户体验。 然而,目前各节点的客户端分布并不均匀,不足以发挥这种网络防御措施的全部潜力。 理想情况下,用户在各个客户端之间大致平均分布,以便在网络上最大程度地实现客户端多样性。
-
-## 前提条件 {#prerequisites}
-
-如果你还不了解什么是节点和客户端,请查看[节点和客户端](/developers/docs/nodes-and-clients/)。 [执行层](/glossary/#execution-layer)和[共识层](/glossary/#consensus-layer)的定义见词汇表。
-
-## 为什么会有多种客户端? {#why-multiple-clients}
-
-存在多种独立开发和维护的客户端,是因为客户端多样性使网络在面对攻击和漏洞时恢复能力更强。 多种客户端是以太坊独有的优势,而其他区块链依赖于单一客户端的无误性。 然而,仅仅拥有多种可用的客户端是不够的,这些客户端必须被社区采用,并且全部活跃节点必须相对均匀地分布在它们之间。
-
-## 为什么客户端多样性很重要? {#client-diversity-importance}
-
-拥有许多独立开发和维护的客户端对于去中心化网络的健康至关重要。 让我们来探究其中的原因。
-
-### 漏洞 {#bugs}
-
-当代表少数以太坊节点时,一种客户端中的漏洞对网络的风险较小。 由于许多客户端的节点分布大致均匀,大多数客户端出现同一问题的可能性很小,因此网络更加稳健。
-
-### 抵御攻击 {#resilience}
-
-客户端多样性还提供了抵御攻击的能力。 例如,要[欺骗特定客户端](https://twitter.com/vdWijden/status/1437712249926393858)让其接受链的某条分支,这种攻击不太可能成功,因为不大可能以相同方式利用其他客户端,并且规范链未损坏。 客户端多样性程度低增加了主要客户端受到黑客攻击的风险。 已经证实,客户端多样性是抵御网络受到恶意攻击的重要防御手段,例如,由于攻击者能够欺骗主要客户端 (Geth) 对每个区块执行数万次慢速磁盘输入/输出操作,2016 年的上海拒绝服务攻击得以实施。 由于有其他客户端在线且没有同样的漏洞,因此以太坊能够抵抗那次攻击并继续运行,同时修复了 Geth 中的漏洞。
-
-### 权益证明的最终确定性 {#finality}
-
-超过 33% 的以太坊节点的共识客户端中有一个漏洞,它可能会阻止共识层的最终确定,这意味着用户无法相信交易不会在某些时候被回滚或更改。 对于许多建立在以太坊之上的应用程序,尤其是去中心化金融,这将是一个很大的问题。
-
- 更糟糕的是,当拥有三分之二多数节点的客户端出现严重漏洞,可能会导致链错误地分叉并最终确定,让大量验证者困陷在无效链上。 如果这些验证者想重新加入正确的链,他们将面临罚没或缓慢而昂贵的自愿退出和重新激活过程。 罚没的轻重随过错节点数量而异,三分之二的大多数将受到最严重的惩罚(32 个以太币)。
-
-尽管这些情况不太可能发生,但为了降低这类风险,以太坊生态系统可以使客户端均衡分布在活跃节点上。 理想情况下,任何共识客户端任何时候都不会达到总节点数的 33%。
-
-### 共担责任 {#responsibility}
-
-采用主流客户端也需要人力成本。 这给小型开发团队带来了过多的压力和责任。 客户端多样性程度越低,维护主流客户端的开发者的责任负担就越大。 将这一责任分摊到多个团队,既有利于以太坊节点网络的健康,也有益于相关人员的健康。
-
-## 客户端多样性现状 {#current-client-diversity}
-
-![显示客户端多样性的饼状图](./client-diversity.png) _图表数据来自 [ethernodes.org](https://ethernodes.org) 和 [ clientdiversity.org](https://clientdiversity.org/)_
-
-上面的两个饼图显示了执行层和共识层客户端多样性现状的快照(在 2022 年 1 月撰写本文时)。 在执行层,[Geth](https://geth.ethereum.org/) 占据绝对主导地位,[Open Ethereum ](https://openethereum.github.io/) 以极大的差距位居第二,[Erigon](https://github.com/ledgerwatch/erigon) 和 [Nethermind](https://nethermind.io/) 分别占据第三和第四,其他客户端加起来占网络的比例不到 1%。 共识层最常用的客户端 [Prysm](https://prysmaticlabs.com/#projects) 不像 Geth 那样占据绝对主导地位,但仍占有网络的 60% 以上。 [Lighthouse](https://lighthouse.sigmaprime.io/) 和 [Teku](https://consensys.net/knowledge-base/ethereum-2/teku/) 分别占据约 20% 和约 14%,其他客户端很少使用。
-
-2022 年 1 月 23 日,从 [Ethernodes](https://ethernodes.org) 获得执行层数据。 共识客户端的数据来自 [Michael Sproul](https://github.com/sigp/blockprint)。 共识客户端数据更难获取,因为共识层客户端并不总是具有可以用来识别它们的明确痕迹。 这些数据是使用分类算法生成的,该算法有时会混淆一些非主流客户端(点击[此处](https://twitter.com/sproulM_/status/1440512518242197516)了解更多详细信息)。 在上图中,这些含糊的分类使用了“/”符号进行处理(例如 Nimbus/Teku)。 尽管如此,很明显大部分网络都在运行 Prysm。 这些数据是一组固定区块的快照(在本例中为时隙 2048001 与 2164916 之间的信标区块),Prysm 的主导地位曾经一度更高,超过 68%。 尽管只是快照,但上图中的数值可以让你清晰地了解客户端多样性现状的全局。
-
-现在,可以在 [clientdiversity.org](https://clientdiversity.org/) 查阅最新的共识层客户端多样性数据。
-
-## 执行层 {#execution-layer}
-
-迄今为止,围绕客户端多样性进行的对话主要集中在共识层。 然而,执行客户端 [Geth](https://geth.ethereum.org) 目前约占所有节点的 85%。 这一百分比是有问题的,原因与共识客户端一样。 例如,Geth 中影响交易处理或造成执行负载的漏洞,可能导致共识客户端最终确定有问题或有漏洞的交易。 因此,如果执行客户端分布更均匀,以太坊会更健康。理想情况是所有客户端占据的网络都不超过 33%。
-
-## 使用非主流客户端 {#use-minority-client}
-
-解决客户端多样性问题不仅需要个人用户选择非主流客户端,还需要矿池/验证者池以及主要去中心应用程序和交易所等机构改用客户端。 然而,所有用户都可以尽一份力量,纠正目前的失衡状况并且实现所有可用以太坊软件的使用正常化。 合并后,所有节点运营商都需要运行执行客户端和共识客户端。 选择下面建议的客户端组合将有助于提高客户端多样性。
-
-### 执行客户端 {#execution-clients}
-
-[Besu](https://www.hyperledger.org/use/besu)
-
-[Nethermind](https://downloads.nethermind.io/)
-
-[Erigon](https://github.com/ledgerwatch/erigon)
-
-[Go-Ethereum](https://geth.ethereum.org/)
-
-### 共识客户端 {#consensus-clients}
-
-[Nimbus](https://nimbus.team/)
-
-[Lighthouse](https://github.com/sigp/lighthouse)
-
-[Teku](https://consensys.net/knowledge-base/ethereum-2/teku/)
-
-[Lodestar](https://github.com/ChainSafe/lodestar)
-
-[Prysm](https://docs.prylabs.network/docs/getting-started)
-
-技术用户可以为非主流客户端编写更多教程和相关文档,并鼓励他们运营节点的对等体从主流客户端迁离,帮助加快这一进程。 [clientdiversity.org](https://clientdiversity.org/) 提供了改用非主流共识客户端的指南。
-
-## 客户端多样性仪表板 {#client-diversity-dashboards}
-
-一些仪表板提供了执行层和共识层客户端多样性实时统计数据。
-
-**共识层:**
-
-- [Rated.network](https://www.rated.network/)
-- [clientdiversity.org](https://clientdiversity.org/) **执行层:**
-
-- [supermajority.info](https://supermajority.info//)
-- [Ethernodes](https://ethernodes.org/)
-
-## 延伸阅读 {#further-reading}
-
-- [以太坊共识层的客户端多样性](https://mirror.xyz/jmcook.eth/S7ONEka_0RgtKTZ3-dakPmAHQNPvuj15nh0YGKPFriA)
-- [以太坊合并:运行主流客户端须自担风险!](https://dankradfeist.de/ethereum/2022/03/24/run-the-majority-client-at-your-own-peril.html) – _Dankrad Fiest,2022 年 3 月 24 日_
-- [客户端多样性的重要性](https://our.status.im/the-importance-of-client-diversity/)
-- [以太坊节点服务列表](https://ethereumnodes.com/)
-- [客户端多样性问题的“五个原因”](https://notes.ethereum.org/@afhGjrKfTKmksTOtqhB9RQ/BJGj7uh08)
-- [以太坊多样性及其解决方法 (YouTube)](https://www.youtube.com/watch?v=1hZgCaiqwfU)
-- [clientdiversity.org](https://clientdiversity.org/)
-
-## 相关主题 {#related-topics}
-
-- [运行以太坊节点](/run-a-node/)
-- [节点和客户端](/developers/docs/nodes-and-clients/)
diff --git "a/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/index.md" "b/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/index.md"
deleted file mode 100644
index 8ab66fdaa82..00000000000
--- "a/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/index.md"
+++ /dev/null
@@ -1,307 +0,0 @@
----
-title: 节点和客户端
-description: 以太坊节点和客户端软件的概述,以及如何设置节点和为什么应该这样做。
-lang: zh
-sidebarDepth: 2
----
-
-以太坊是一个由计算机组成的分布式网络,这些计算机运行可验证区块和交易数据的软件,称为节点。 该软件必须在你的计算机上运行,才能将其转化为以太坊节点。 一个节点由两个独立的软件(名为“客户端”)构成。
-
-## 前提条件 {#prerequisites}
-
-在更深入地探索并运行自己的以太坊客户端实例之前,你应该先理解对等网络的概念和[以太坊虚拟机基础知识](/developers/docs/evm/)。 请查看我们的[以太坊简介](/developers/docs/intro-to-ethereum/)。
-
-如果你不熟悉节点这一主题,我们建议你首先查看便于用户理解的[运行以太坊节点](/run-a-node)介绍。
-
-## 什么是节点和客户端? {#what-are-nodes-and-clients}
-
-“节点”是指任何以太坊客户端软件的实例,它连接到其他也运行以太坊软件的计算机,形成一个网络。 客户端是以太坊的实现,它根据协议规则验证数据并保持网络安全。 一个节点需要运行两种客户端软件:共识客户端和执行客户端。
-
-- 执行客户端(也称为执行引擎、EL 客户端或旧称“以太坊 1”客户端)侦听网络中广播的新交易,并在以太坊虚拟机中执行它们,并保存所有当前以太坊数据的最新状态和数据库。
-- 共识客户端(也称为信标节点、CL 客户端或旧称“以太坊 2”客户端)实现权益证明共识算法,使网络能够根据来自执行客户端的经验证数据达成一致。 此外还有名为“验证者”的第三种软件,它们可被添加到共识客户端中,使节点能参与保护网络安全。
-
-这些客户端软件相互协作,以追踪以太坊的链头,并允许用户与以太坊网络进行交互。 这种模块化设计称为[封装复杂性](https://vitalik.eth.limo/general/2022/02/28/complexity.html),包含多个协同运作的软件。 此方法让无缝实施[合并](/roadmap/merge)变得更简单,客户端软件更易于维护和开发,并且还能重复利用各个客户端(例如在[二层网络生态系统](/layer-2/)当中)。
-
-![关联执行和共识客户端](./eth1eth2client.png) 关联执行与共识客户端的简化图。
-
-### 客户端多样性 {#client-diversity}
-
-不同团队开发的各种编程语言中都有[执行客户端](/developers/docs/nodes-and-clients/#execution-clients)和[共识客户端](/developers/docs/nodes-and-clients/#consensus-clients)。
-
-多种客户端实现减少了对于单一代码库的依赖,使网络更强大。 它的理想目标是实现多样性,即没有任何客户端在网络中占据主导地位,从而排除潜在的单点故障。 语言多样化有助于拓宽开发者社区,并允许他们用自己喜欢的语言创建集成。
-
-了解有关[客户端多样性](/developers/docs/nodes-and-clients/client-diversity/)的更多信息。
-
-这些实现的共同点是它们都遵循同一套规范。 这些规范规定了以太坊网络和区块链如何运作。 此外,它们还定义了每项技术细节,你可以在以下内容中了解这些规范:
-
-- 最初为[以太坊黄皮书](https://ethereum.github.io/yellowpaper/paper.pdf)
-- [执行规范](https://github.com/ethereum/execution-specs/)
-- [共识规范](https://github.com/ethereum/consensus-specs)
-- 在各种[网络升级](/history/)中实现的[以太坊改进提案](https://eips.ethereum.org/)
-
-### 跟踪网络中的节点 {#network-overview}
-
-多种跟踪器提供以太坊网络中节点的实时概览。 请注意,由于去中心化网络的性质,这些爬虫只能提供有限的网络视图,并且可能会报告不同的结果。
-
-- [节点地图](https://etherscan.io/nodetracker)由 Etherscan 区块浏览器提供
-- [以太坊节点](https://ethernodes.org/)由 Bitfly 提供
-- [Nodewatch](https://www.nodewatch.io/) 由 Chainsafe 提供,爬取共识节点
-
-## 节点类型 {#node-types}
-
-如果你想[运行自己的节点](/developers/docs/nodes-and-clients/run-a-node/),就应该明白节点有几种类型并且使用数据的方式亦不同。 事实上,客户端可以运行三种类型的节点:轻节点、全节点和归档节点。 其他一些不同的同步策略选项还能缩短同步时间。 同步是指节点能以多快的速度获取最新的以太坊状态信息。
-
-### 全节点 {#full-node}
-
-全节点对区块链进行逐块验证,包括下载和验证每个块的块体和状态数据。 全节点分多种类别——有些全节点从创世区块开始,验证区块链整个历史中的每一个区块。 另一些全节点则从更近期的区块开始验证,而且它们信任这些区块是有效的(如 Geth 的“快照同步”)。 无论验证从哪里开始,全节点只保留相对较新数据的本地副本(通常是最近的 128 个区块),允许删除比较旧的数据以节省磁盘空间。 旧数据可以在需要时重新生成。
-
-- 存储全部区块链数据(会定期修剪,所以全节点并不存储包含创世块在内的所有状态数据)
-- 参与区块验证,验证所有区块和状态。
-- 全节点可以从本地储存中检索所有状态,或从“快照”中重新生成。
-- 为网络提供服务,并应要求提供数据。
-
-### 归档节点 {#archive-node}
-
-归档节点是从创世块开始验证每个区块的全节点,它们从不删除任何下载的数据。
-
-- 存储全节点中保存的所有内容,并建立历史状态存档。 如果你想查询区块 #4,000,000 的帐户余额,或者想简单可靠地测试自己的一组交易而不使用跟踪挖掘它们,则需要归档节点。
-- 这些数据以太字节为单位,这使得归档节点对普通用户的吸引力较低,但对于区块浏览器、钱包供应商和链分析等服务来说则很方便。
-
-以归档以外的任何方式同步客户端将导致区块链数据被修剪。 这意味着,不存在包含所有历史状态的归档,但全节点能够在需要时构建它们。
-
-了解有关[归档节点](/developers/docs/nodes-and-clients/archive-nodes)的更多信息。
-
-### 轻节点 {#light-node}
-
-轻节点只下载区块头,而不会下载每个区块。 这些区块头包含区块内容的摘要信息。 轻节点会向全节点请求其所需的任何其他信息。 然后,轻节点可以根据区块头中的状态根独自验证收到的数据。 轻节点可以让用户加入以太坊网络,无需运行全节点所需的功能强大的硬件或高带宽。 最终,轻节点也许能在手机和嵌入式设备中运行。 轻节点不参与共识(即它们不能成为矿工/验证者),但可以访问功能和安全保障和全节点相同的以太坊区块链。
-
-轻客户端是以太坊积极发展的一个领域,我们预计很快就会看到共识层和执行层的新轻客户端。 一些潜在的途径可在[广播网络](https://www.ethportal.net/)上提供轻客户端数据。 这些途径的优点在于,广播网络可以支持轻节点网络而不需要全节点来处理请求。
-
-以太坊目前还不支持大量轻节点,但轻节点支持是一个有望在不久的将来快速发展的领域。 特别是像 [Nimbus](https://nimbus.team/)、[Helios](https://github.com/a16z/helios) 以及 [LodeStar](https://lodestar.chainsafe.io/) 这样的客户端目前都非常关注轻节点。
-
-## 为什么应该运行以太坊节点? {#why-should-i-run-an-ethereum-node}
-
-运行节点可以让你直接以去信任方式私密地使用以太坊,同时通过保持网络更加稳健和去中心化来支持网络。
-
-### 对你的好处 {#benefits-to-you}
-
-运行你自己的节点使你能够以私密、自给自足的去信任方式使用以太坊。 你去信任网络,因为你可以使用自己的客户端验证数据。 “不要信任,直接验证”是一句在区块链领域非常流行的口头禅。
-
-- 你的节点根据共识规则独自验证所有交易和区块。 这意味着你不必依赖网络中的任何其他节点或完全信任它们。
-- 你可以将以太坊钱包与你自己的节点一起使用。 你可以更安全、更私密地使用去中心化应用程序,因为你不必将地址和余额泄露给中间商。 你可以用自己的客户端检查所有内容。 [MetaMask](https://metamask.io)、[Frame](https://frame.sh/) 和[许多其他钱包](/wallets/find-wallet/)提供远程过程调用导入,这让它们可以使用你的节点。
-- 你可以运行和自我托管其他依赖于以太坊数据的服务。 例如,可以是信标链验证者、二层网络等软件、基础设施、区块浏览器、支付机构等。
-- 你可以提供自己的自定义[远程过程调用端点](/developers/docs/apis/json-rpc/)。 你甚至可以公开地向社区提供这些端点,以帮助他们避免与大型中心化供应商合作。
-- 你可以使用**进程间通信 (IPC)** 连接到节点,或者重写节点将你的程序作为插件加载。 这样可以减少网络延迟,例如在使用 web3 库处理大量数据时或者当你需要尽快替换交易时(即抢先交易)会带来很大帮助。
-- 你可以直接质押以太币以保护网络并获得奖励。 请参见[单独质押](/staking/solo/)以便开始操作。
-
-![如何通过你的应用和节点访问以太坊](./nodes.png)
-
-### 对网络的好处 {#network-benefits}
-
-多样化的节点对于以太坊的健康、安全和运行弹性非常重要。
-
-- 全节点强制执行共识规则,因此无法欺骗它们接受不遵循规则的区块。 这在网络中提供了额外的安全性,因为如果所有节点都是轻节点,不进行完整验证,验证者可能会攻击网络。
-- 如果遇到攻击并且攻破了[权益证明](/developers/docs/consensus-mechanisms/pos/#what-is-pos)加密经济防御,全节点可以执行社交恢复以选择跟随最诚实的链。
-- 网络中的节点越多,网络就更加多样化和更加健壮,这是去中心化的最终目标,可实现一个抗审查的可靠系统。
-- 全节点使依赖区块链数据的轻量级客户端能够访问这些数据。 轻节点不存储整条区块链,而是通过[区块头中的状态根](/developers/docs/blocks/#block-anatomy)验证数据。 如果有需要,它们可以向全节点请求更多信息。
-
-如果你运行一个全节点,整个以太坊网络都会从中受益,即使你没有运行验证者。
-
-## 运行你自己的节点 {#running-your-own-node}
-
-是否有兴趣运行你自己的以太坊客户端?
-
-如需适合初学者的简介,请访问我们的[运行节点](/run-a-node)页面以了解更多信息。
-
-如果你是精通技术的用户,请深入了解有关如何[启动你自己的节点](/developers/docs/nodes-and-clients/run-a-node/)的更多详细信息和选项。
-
-## 替代方法 {#alternatives}
-
-设置自己的节点会耗费你的时间和资源,但你并非总是需要运行自己的实例。 在这种情况下,你可以使用第三方应用程序接口提供商。 有关使用这些服务的概述,请查看[节点即服务](/developers/docs/nodes-and-clients/nodes-as-a-service/)。
-
-如果有人在你的社区中运行带有公共应用程序接口的以太坊节点,你可以通过自定义的远程过程调用将你的钱包指向一个社区节点,并获得比一些随机的可信第三方更多的隐私保护。
-
-另一方面,如果你运行一个客户端,可以与可能需要它的朋友共享。
-
-## 执行客户端 {#execution-clients}
-
-以太坊社区维护着多种开源的执行客户端(以前名为“以太坊 1 客户端”,或直接被称为“以太坊客户端”),它们由不同的团队使用不同的编程语言开发。 这使得网络更强大、更[多样化](/developers/docs/nodes-and-clients/client-diversity/)。 它的理想目标是实现多样性,即没有任何客户端占据主导地位,从而减少任何单点故障。
-
-下表汇总了不同的客户端。 这些客户端均通过[客户端测试](https://github.com/ethereum/tests)并得到积极维护,以保持与网络升级同步。
-
-| 客户端 | 语言 | 操作系统: | 网络 | 同步策略 | 状态缓冲 |
-| ---------------------------------------------------------------------- | ---------- | ------------------- | ------------------ | -------------------------------------------------- | -------------- |
-| [Geth](https://geth.ethereum.org/) | Go | Linux、Windows、macOS | 主网、Sepolia、Holesky | [快照](#snap-sync)、[完全](#full-sync) | Archive、Pruned |
-| [Nethermind](https://www.nethermind.io/) | C#、.NET | Linux、Windows、macOS | 主网、Sepolia、Holesky | [快照](#snap-sync)(不提供服务)、快速、[完全](#full-sync) | Archive、Pruned |
-| [Besu](https://besu.hyperledger.org/en/stable/) | Java | Linux、Windows、macOS | 主网、Sepolia、Holesky | [快照](#snap-sync)、[快速](#fast-sync)、[完全](#full-sync) | Archive、Pruned |
-| [Erigon](https://github.com/ledgerwatch/erigon) | Go | Linux、Windows、macOS | 主网、Sepolia、Holesky | [完全](#full-sync) | Archive、Pruned |
-| [Reth](https://reth.rs/) | Rust语言 | Linux、Windows、macOS | 主网、Sepolia、Holesky | [完全](#full-sync) | Archive、Pruned |
-| [EthereumJS](https://github.com/ethereumjs/ethereumjs-monorepo)_(测试版)_ | TypeScript | Linux、Windows、macOS | Sepolia、Holesky | [完全](#full-sync) | 修剪 |
-
-有关受支持网络的更多信息,请仔细阅读[以太坊网络](/developers/docs/networks/)。
-
-每种客户端都有独特的用例和优势,所以你应该根据自己的偏好来选择。 多样性使得实现能够侧重于不同的功能和用户群。 你可能想根据功能、支持、编程语言或许可证选择一种客户端。
-
-### Besu {#besu}
-
-Hyperledger Besu 是一种企业级以太坊客户端,面向公共网络和许可网络。 它运行所有以太坊主网功能(从追踪到 GraphQL),可进行大范围监控,并通过开放的社区渠道和企业级商用服务等级协议获得 ConsenSys 支持。 Besu 用 Java 语言编写,并依照 Apache 2.0 获得许可。
-
-Besu 提供内容丰富的[文档](https://besu.hyperledger.org/en/stable/),以指导你了解有关其功能和设置的所有详细信息。
-
-### Erigon {#erigon}
-
-Erigon 以前称为 Turbo‐Geth,最初是 Go Ethereum 的一个分叉,注重速度和磁盘空间效率。 它是一种完全重新设计的以太坊实现,目前用 Go 语言编写,但以其他语言编写的实现也在开发中。 Erigon 的目标是成为更快、模块化程度更高和更优化的以太坊实现。 它可以在 3 天内使用大约 2TB 的磁盘空间执行完整的存档节点同步。
-
-### Go Ethereum {#geth}
-
-Go Ethereum(简称 Geth)是以太坊协议的原始实现之一。 目前,它是使用最为广泛的客户端,拥有最大的用户群,为用户和开发者提供各种工具。 Geth 用 Go 语言编写,完全开源,并依照 GNU LGPL v3 获得许可。
-
-在[相关文档](https://geth.ethereum.org/docs/)中了解有关 Geth 的更多信息。
-
-### Nethermind {#nethermind}
-
-Nethermind 是使用 C# .NET 技术栈创建的以太坊实现,依照 LGPL-3.0 获得许可,可在包括 ARM 在内的所有主要平台上运行。 它的优越性能体现在:
-
-- 优化虚拟机
-- 状态访问
-- 联网和丰富的功能,如 Prometheus/Grafana 仪表板、seq 企业日志支持、JSON-RPC 跟踪和分析插件。
-
-Nethermind 也有[详细的相关文档](https://docs.nethermind.io)、强大的开发支持、在线社区,并为高级用户提供全天候支持。
-
-### Reth {#reth}
-
-Reth(Rust 以太坊的简称)是一个以太坊全节点实现,专注于用户友好、高度模块化、高速度和高效率。 Reth 一开始由 Paradigm 开发和推动,并依照 Apache 和 MIT 许可证授权。
-
-Reth 已达到生产就绪,适用于质押或高正常运行时间服务之类的关键任务环境。 在需要大裕度高性能保证的使用案例中表现良好,例如远程过程调用、最大可提取价值、索引、模拟和对等网络活动。
-
-查看 [Reth Book](https://reth.rs/) 或 [Reth GitHub 仓库](https://github.com/paradigmxyz/reth?tab=readme-ov-file#reth)了解更多信息。
-
-### 开发中的客户端 {#execution-in-development}
-
-以下客户端仍处于早期开发阶段,尚不建议用于生产。
-
-#### EthereumJS {#ethereumjs}
-
-EthereumJS 执行客户端 (EthereumJS) 是用 TypeScript 编写的,由许多包组成,包括由区块、交易和默克尔帕特里夏树类表示的核心以太坊原语和核心客户端组件(包括以太坊虚拟机 (EVM) 的实现、区块链类和 DevP2P 网络堆栈)。
-
-通过阅读其[相关文档](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master)了解更多信息
-
-## 共识客户端 {#consensus-clients}
-
-有多种共识客户端(以前称为“以太坊 2 客户端”)支持[共识升级](/roadmap/beacon-chain/)。 它们负责所有共识相关的逻辑,包括分叉选择算法、处理认证与管理[权益证明](/developers/docs/consensus-mechanisms/pos)奖励及惩罚。
-
-| 客户端 | 语言 | 操作系统: | 网络 |
-| ------------------------------------------------------------- | ---------- | ------------------- | ------------------------------------------- |
-| [Lighthouse](https://lighthouse.sigmaprime.io/) | Rust | Linux、Windows、macOS | 信标链、Goerli、Pyrmont、Sepolia、Ropsten 等 |
-| [Lodestar](https://lodestar.chainsafe.io/) | TypeScript | Linux、Windows、macOS | 信标链、Goerli、Sepolia、Ropsten 等 |
-| [Nimbus](https://nimbus.team/) | Nim | Linux、Windows、macOS | 信标链、Goerli、Sepolia、Ropsten 等 |
-| [Prysm](https://docs.prylabs.network/docs/getting-started/) | Go | Linux、Windows、macOS | 信标链、Gnosis、Goerli、Pyrmont、Sepolia、Ropsten 等 |
-| [Teku](https://consensys.net/knowledge-base/ethereum-2/teku/) | Java | Linux、Windows、macOS | 信标链、Gnosis、Goerli、Sepolia、Ropsten 等 |
-
-### Lighthouse {#lighthouse}
-
-Lighthouse 是一种共识客户端实现,它用 Rust 语言编写,并依照 Apache-2.0 获得许可。 它由 Sigma Prime 维护,自信标链创世以来一直保持稳定且可直接投入生产。 各类企业、质押池和个人都依赖它。 从台式电脑到复杂的自动化部署,Lighthouse 的目标是在各种环境中实现安全、高性能和互操作性。
-
-你可以在 [Lighthouse 手册](https://lighthouse-book.sigmaprime.io/)中找到相关文档。
-
-### Lodestar {#lodestar}
-
-Lodestar 是一种生产就绪型共识客户端实现,它用 Typescript 语言编写,并依照 LGPL-3.0 获得许可。 它由 ChainSafe Systems 维护,是面向单独质押人、开发者和研究人员的最新共识客户端。 Lodestar 由信标节点和验证者客户端组成,并由以太坊协议的 JavaScript 实现提供支持。 Lodestar 旨在通过轻客户端提高以太坊的可用性,为更多开发者扩展可访问性,并进一步提高生态系统多样性。
-
-你可以在 [Lodestar 网站](https://lodestar.chainsafe.io/)上了解更多信息。
-
-### Nimbus {#nimbus}
-
-Nimbus 是一种共识客户端实现,它用 Nim 语言编写,并依照 Apache-2.0 获得许可。 它是一种供单独质押人和质押池使用的生产就绪型客户端。 Nimbus 专为提高资源效率而设计,可同样轻松地在资源有限的设备和企业级基础设施上运行,并且不会影响稳定性或奖励性能。 更少的资源占用意味着客户端在网络处于压力下时具有更大的安全边际。
-
-在 [Nimbus 相关文档](https://nimbus.guide/)中了解更多信息
-
-### Prysm {#prysm}
-
-Prysm 是一种功能齐全的开源共识客户端,它用 Go 语言编写,并依照 GPL-3.0 获得许可。 它具有可选的 Web 应用程序用户界面,并将单独质押人和机构用户的用户体验、相关文档和可配置性放在首位。
-
-访问 [Prysm 相关文档](https://docs.prylabs.network/docs/getting-started/)以了解更多信息。
-
-### Teku {#teku}
-
-Teku 是最早的信标链创世客户端之一。 除了常规目标(安全性、稳健性、稳定性、可用性、性能)外,Teku 还特别致力于恪守全部各类共识客户端标准。
-
-Teku 提供了非常灵活的部署选项。 信标节点和验证者客户端可以作为单个进程一起运行,这对于单独质押人来说非常方便;或者在处理复杂的质押操作时,节点也可以各自运行。 此外,Teku 实现了与 [Web3Signer](https://github.com/ConsenSys/web3signer/) 的完全互操作性,用于为密钥安全性签名并提供罚没防范措施。
-
-Teku 用 Java 语言编写,并依照 Apache 2.0 获得许可。 它由 ConsenSys 的 Protocols 团队开发,该团队还要对 Besu 和 Web3Signer 负责。 在 [Teku 相关文档](https://docs.teku.consensys.net/en/latest/)中了解更多信息。
-
-## 同步模式 {#sync-modes}
-
-为了追踪和验证网络中的最新数据,以太坊客户端需要与最新网络状态同步。 同步方法如下:从对等节点下载数据,用加密方法验证其完整性,并构建一个本地区块链数据库。
-
-同步模式代表了这个过程的不同方法,并进行了不同的折衷。 客户端在实现同步算法方面也各不相同。 有关实现的具体细节,请参考你所选客户端的官方文档。
-
-### 执行层同步模式 {#execution-layer-sync-modes}
-
-执行层可以在不同的模式下运行,以适应不同的使用案例,从重新执行区块链的世界状态到只从可信检查点同步链的小费。
-
-#### 完全同步 {#full-sync}
-
-完全同步会下载所有区块(包括区块头和区块体),并通过执行自创世块以来的每个区块,以增量方式重新生成区块链的状态。
-
-- 通过验证每笔交易,最大限度地减少信任并实现最高安全性。
-- 随着交易数量的增加,处理所有交易可能需要几天到几周时间。
-
-[存档节点](#archive-node)会执行完全同步,以构建(并保留)每个区块中每笔事务所做的状态更改的完整历史记录。
-
-#### 快速同步 {#fast-sync}
-
-与完全同步一样,快速同步会下载所有区块(包括区块头、交易和收据)。 不过,快速同步并不重新处理历史交易,而是依赖收据,直至到达最近的头部时,再切换到导入和处理区块,以提供一个完整的节点。
-
-- 快速同步策略。
-- 降低处理需求以减少带宽使用。
-
-#### 快照同步 {#snap-sync}
-
-快照同步同样是逐块验证链。 不同的是,快照同步不是从创世区块开始,而是从一个最近的已知为真实区块链一部分的受信任检查点开始。 节点会定期保存检查点,同时删除早于某个时间的数据。 这些快照被用于在需要时重新生成状态数据,而不是永久储存它。
-
-- 最快的同步策略,目前是以太坊主网的默认策略。
-- 节省大量磁盘空间和网络带宽,同时不牺牲安全性。
-
-[关于快照同步的更多信息](https://github.com/ethereum/devp2p/blob/master/caps/snap.md)。
-
-#### 轻量同步 {#light-sync}
-
-轻客户端模式下载所有区块头和区块数据,并对其中一些进行随机验证。 仅从可信的检查点同步链的头部。
-
-- 仅获取最新状态,同时依赖于对开发者和共识机制的信任。
-- 客户端在几分钟内便可以使用当前网络状态。
-
-**注意**:轻量同步暂不支持权益证明以太坊,新版本轻量同步应该很快就会发布!
-
-[关于轻客户端的更多信息](/developers/docs/nodes-and-clients/light-clients/)
-
-### 共识层同步模式 {#consensus-layer-sync-modes}
-
-#### 乐观同步 {#optimistic-sync}
-
-乐观同步是一种合并后同步策略,专为选择加入和向后兼容而设计,允许执行节点通过已确立的方法进行同步。 执行引擎可以在不进行完全验证的情况下_乐观地_导入信标区块,找到最新区块头,然后使用上述方法开始同步链。 接着,在执行客户端更新之后,它将通知共识客户端信标链中交易的有效性。
-
-[关于乐观同步的更多信息](https://github.com/ethereum/consensus-specs/blob/dev/sync/optimistic.md)
-
-#### 检查点同步 {#checkpoint-sync}
-
-检查点同步也称为“弱主观性同步”,在同步信标节点时可提供卓越的用户体验。 它基于[弱主观性](/developers/docs/consensus-mechanisms/pos/weak-subjectivity/)假设,因而能够从最近的弱主观性检查点而不是从创世块同步信标链。 检查点同步可大幅加快初始同步速度,其信任假设与从[创世块](/glossary/#genesis-block)同步时类似。
-
-在实践中,这意味着你的节点会连接到远程服务,以下载最近的最终确定状态并从该点继续验证数据。 提供数据的第三方会受到信任,因此要谨慎选择。
-
-关于[检查点同步](https://notes.ethereum.org/@djrtwo/ws-sync-in-practice)的更多信息
-
-## 延伸阅读 {#further-reading}
-
-- [以太坊 101 - 第二部分 - 了解节点](https://kauri.io/ethereum-101-part-2-understanding-nodes/48d5098292fd4f11b251d1b1814f0bba/a) _– Wil Barnes,2019 年 2 月 13 日_
-- [运行以太坊全节点:勉励者指南](https://medium.com/@JustinMLeroux/running-ethereum-full-nodes-a-guide-for-the-barely-motivated-a8a13e7a0d31) _– Justin Leroux,2019 年 11 月 7 日_
-
-## 相关主题 {#related-topics}
-
-- [区块](/developers/docs/blocks/)
-- [网络](/developers/docs/networks/)
-
-## 相关教程 {#related-tutorials}
-
-- [通过写入 MicroSD 卡将树莓派 4 变成验证者节点 – 安装指南](/developers/tutorials/run-node-raspberry-pi/) _– 写入你的树莓派 4,插入网线,连接固态硬盘并给设备供电,将树莓派 4 变成运行执行层(主网)和/或共识层(信标链/验证者)的以太坊全节点。_
diff --git "a/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/light-clients/index.md" "b/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/light-clients/index.md"
deleted file mode 100644
index d4b039c0178..00000000000
--- "a/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/light-clients/index.md"
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title: 轻客户端
-description: 以太坊轻客户端介绍。
-lang: zh
----
-
-运行全节点是与以太坊交互时最具去信任性、私密、去中心化而且抗审查性的方式。 借助全节点,你可以保留自己的区块链副本,从而即时查询并直接访问以太坊的点对点网络。 然而,运行全节点需要大量的内存、存储空间和 CPU 资源。 这意味着并不是每个人都能够运行自己的节点。 以太坊的发展路线图提供了多种解决方案,其中包括无状态性,但它还需要几年才能实现。 近期能实现的解决方法是放弃一些全节点的优点,以换取大幅度的性能提升,从而使节点可以在非常低的硬件要求下运行。 使用轻节点就是经权衡的做法。
-
-## 什么是轻客户端? {#what-is-a-light-client}
-
-轻节点是指运行轻量级客户端软件的节点。 它们不保留区块链数据的本地副本,也不独立验证所有更改,而是向一些提供商请求必要的数据。 提供商可能直接或通过某些中心化远程过程调用服务器和全节点连接。 然后,轻节点会验证数据,使其和链头保持同步。 轻节点仅处理区块头,只会偶尔下载实际的区块内容。 节点的轻量程度可能有所不同,具体取决于它们所运行的轻客户端和完整客户端软件的组合。 例如,最轻量级的配置可能是运行一个轻量级执行客户端和一个轻量级共识客户端。 许多节点也可能选择运行轻量级共识客户端和完整的执行客户端,或者轻量级执行客户端和完整的共识客户端。
-
-## 轻客户端如何运作? {#how-do-light-clients-work}
-
-以太坊在采用基于权益证明的共识机制时,引入了专门用于支持轻客户端的全新基础架构。 其工作原理是每隔 1.1 天随机选择一个包含 512 个验证者的子集,用于充当**同步委员会**。 同步委员会会在最新区块的头部签名。 每个区块头包含同步委员会中所有验证者的聚合签名,以及显示已签名和未签名验证者的“位域”。 每个区块头还包含预计参加下一个区块签名的验证者列表。 这意味着轻客户端可以迅速查看同步委员会是否已经为收到的数据提供签名,而且它们还可以通过比较收到的信息和在上一个区块中得到的预期信息,来验证同步委员会的真实性。 这样,轻客户端就可以不断更新其对最新以太坊区块的了解,而无需下载区块本身,因为区块头就包含有摘要信息。
-
-在执行层,没有针对轻量级执行客户端的单一规范。 轻量级执行客户端的范围可以是完整的执行客户端的“轻量级模式”,具有全节点的所有以太坊虚拟机和网络功能,但只验证区块头而不下载相关数据;它也可以是更简化的客户端,极度依赖向远程过程调用转发请求以便和以太坊进行交互。
-
-## 为什么轻客户端很重要? {#why-are-light-clients-important}
-
-轻客户端之所以重要,是因为它们允许用户验证传入的数据,而不是盲目地相信数据提供商是正确和诚实的,同时只使用全节点的一小部分计算资源。 轻客户端会将收到的数据和区块头进行比对,因为它们知道这些区块头已由随机的 512 个以太坊验证者中至少 2/3 的验证者签名。 这非常有力地证明数据是否正确。
-
-轻客户端只使用极少的计算能力、内存和存储空间,因此可以在手机上运行,也可以嵌入到应用或浏览器。 轻客户端是一种使以太坊访问信任最小化的方式,和信任第三方提供商一样流畅。
-
-让我们举一个简单的例子。 假设你想查看帐户余额, 你为此必须向以太坊节点发出请求。 该节点将检查其本地的以太坊状态副本,查看余额并返回给你。 如果你无法直接访问节点,将有中心化运营商提供这些数据并将其作为一项服务。 你可以向他们发送请求,他们会检查自己的节点,然后将结果发回给你。 这样做的问题是,你必须相信提供商会向你提供正确的信息。 如果不能亲自验证,你将永远无法知道这些信息是否正确。
-
-轻客户端可以解决这个问题。 你仍然可以向外部提供商请求数据,所收到的数据将附带证明,而你的轻节点可以对照它在区块头中收到的信息核实该证明。 这意味着以太坊会验证数据的正确性,而不是由其他可信的运营商来验证。
-
-## 轻型客户端能带来哪些创新? {#what-innovations-do-light-clients-enable}
-
-轻客户端的主要优点在于能让更多人独立访问以太坊,对硬件的要求几乎可以忽略不计,而对第三方的依赖也降到最低。 这对用户有好处,因为他们可以验证自己的数据;对网络也有好处,因为它增加了验证链的节点数量和多样性。
-
-能够在存储空间、内存和处理能力都非常小的设备上运行以太坊节点,这是轻客户端开启的主要创新领域之一。 如今,以太坊节点需要大量计算资源,而轻客户端可以嵌入到浏览器、在手机上运行,甚至可能在智能手表等更小的设备上运行。 这意味着带有嵌入式客户端的以太坊钱包可以在手机上运行。 因为移动钱包不必信任其数据的中心化提供商,所以它们可以更加分散。
-
-启用**物联网 (IoT)** 设备是它的延伸。 借助同步委员会提供的所有安全保证,轻客户端可被用于快速证明某些代币余额或非同质化代币的所有权,从而触发物联网网络上的某些操作。 试想一下,[自行车租赁服务](https://youtu.be/ZHNrAXf3RDE?t=929)使用带有嵌入式轻客户端的应用程序快速验证你是否拥有租赁服务的非同质化代币;如果是,则为你解锁一辆自行车,让你骑走!
-
-以太坊卷叠也将受益于轻客户端。 以太坊卷叠存在一些严重问题,其中之一是黑客会攻击允许资金从以太坊主网转移到卷叠的链桥。 卷叠用来检测用户是否已存款到链桥的预言机是它的一个漏洞。 如果预言机馈送错误数据,它们会使卷叠误以为用户已存款到链桥并错误地释放资金。 嵌入到卷叠的轻客户端可被用于防范遭破坏的预言机,因为存入链桥的存款可能附带证明,而卷叠可在释放任何代币前对该证明进行验证。 同样的概念也可适用于其他链间桥。
-
-轻客户端还可用于升级以太坊钱包。 你的钱包可以使用嵌入式轻客户端直接验证提供给你的数据,使你不必信任由远程过程调用提供商所提供的数据。 这将为你的钱包增加安全保障。 如果你的远程过程调用提供商不诚实并向你提供了错误的数据,嵌入式轻客户端将会告知你!
-
-## 轻客户端开发的现状如何? {#current-state-of-development}
-
-正在开发的轻客户端有很多种,包括执行、共识和结合执行/共识的轻客户端。 以下是我们在撰写本页时所知的轻客户端实现:
-
-- [Lodestar](https://github.com/ChainSafe/lodestar/tree/unstable/packages/light-client):TypeScript 中的共识轻客户端
-- [Helios](https://github.com/a16z/helios):Rust 中的执行和共识组合轻客户端
-- [Geth](https://github.com/ethereum/go-ethereum/tree/master/light):Go 中执行客户端(开发中)轻量级模式
-- [Nimbus](https://nimbus.guide/el-light-client.html):Nim 中的共识轻客户端
-
-据我们所知,这些轻客户端都还没部署到生产环境。
-
-轻客户端访问以太坊数据的方式还有很大改进空间。 目前,轻客户端依赖于使用客户端/服务器模式向全节点发出远程过程调用请求,但将来可以借助专用网络(如[门户网络](https://www.ethportal.net/))以更加去中心化的方式请求数据,该网络可以使用点对点广播协议向轻客户端提供数据。
-
-其他[路线图](/roadmap/)项,如[沃克尔树](/roadmap/verkle-trees/)和[无状态性](/roadmap/statelessness/)等,终将为轻客户端带来与全客户端同等的安全保障。
-
-## 延伸阅读 {#further-reading}
-
-- [Zsolt Felfodhi - Geth 轻客户端](https://www.youtube.com/watch?v=EPZeFXau-RE)
-- [Etan Kissling - 轻客户端网络](https://www.youtube.com/watch?v=85MeiMA4dD8)
-- [Etan Kissling - 合并后的轻客户端](https://www.youtube.com/watch?v=ZHNrAXf3RDE)
-- [Piper Merriam - 通往功能性轻客户端的曲折道路](https://snakecharmers.ethereum.org/the-winding-road-to-functional-light-clients/)
diff --git "a/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/node-architecture/index.md" "b/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/node-architecture/index.md"
deleted file mode 100644
index 8c3a8aa0bc4..00000000000
--- "a/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/node-architecture/index.md"
+++ /dev/null
@@ -1,57 +0,0 @@
----
-title: 节点架构
-description: 关于如何组织以太坊节点的介绍。
-lang: zh
----
-
-以太坊节点由[执行客户端](/developers/docs/nodes-and-clients/#execution-clients)和[共识客户端](/developers/docs/nodes-and-clients/#consensus-clients)这两种客户端构成。
-
-当以太坊使用[工作量证明](/developers/docs/consensus-mechanisms/pow/)时,执行客户端足以运行以太坊全节点。 然而,在实施[权益证明](/developers/docs/consensus-mechanisms/pow/)以后,执行客户端需要与另一种名为[“共识客户端”](/developers/docs/nodes-and-clients/#consensus-clients)的软件搭配使用。
-
-以下图表显示了两种以太坊客户端之间的关系。 这两种客户端与其各自的点对点(对等)网络连接。 分离对等网络是有必要的,因为执行客户端通过它们的对等网络广播交易,确保它们能够管理自己的本地交易池,同时共识客户端通过它们的对等网络广播区块,保证共识和链增长。
-
-![](node-architecture-text-background.png)
-
-要使这种双客户端结构发挥作用,共识客户端必须能够将大量交易传递给执行客户端。 在本地执行交易是客户端验证交易未违反任何以太坊规则的方式,并确保提议的以太坊状态更新是正确的。 同样,当节点被选为区块生产者时,共识客户端必须能够从 Geth 请求各种交易,以便将它们添加到新的区块,并通过执行它们来更新全局状态。 本地远程过程调用连接使用[引擎应用程序接口](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md)处理这种跨客户端通信。
-
-## 执行客户端的作用是什么? {#execution-client}
-
-执行客户端负责交易处理、交易广播、状态管理和支持以太坊虚拟机([以太坊虚拟机](/developers/docs/evm/))。 然而,它**不**负责区块构建、区块广播或处理共识逻辑。 这些都是共识客户端的责任。
-
-执行客户端会创建执行有效负载——交易列表、更新状态树和其他与执行相关的数据。 共识客户端在每个区块中添加执行有效负载。 执行客户端还要在新的区块中重新执行交易,以确保其有效性。 执行交易在执行客户端的嵌入式计算机中完成,这些计算机被称为[以太坊虚拟机 (EVM)](/developers/docs/evm)。
-
-执行客户端还通过[远程过程调用方法](/developers/docs/apis/json-rpc)提供用户界面,让用户可以查询以太坊区块链、提交交易和部署智能合约。 远程过程调用通常由 [Web3js](https://docs.web3js.org/)、[Web3py](https://web3py.readthedocs.io/en/v5/) 这样的库处理,或者由浏览器钱包等用户界面处理。
-
-简而言之,执行客户端是:
-
-- 以太坊的用户网关
-- 托管以太坊虚拟机、以太坊状态和交易池的地方。
-
-## 共识客户端的作用是什么? {#consensus-client}
-
-共识客户端处理使节点与以太坊网络保持同步的全部逻辑。 这包括从对等节点接收区块并运行分叉选择算法,从而确保节点始终遵循累积证明最多的链(由验证者有效余额加权计算而得)。 与执行客户端相似,共识客户端拥有自己的对等网络并通过该网络共享区块和认证。
-
-共识客户端不参与对区块的证明或提议——这是由验证者完成的,而验证者是共识客户端的一种可选附加组件。 没有验证者的共识客户端只会追踪链头,使节点保持同步。 因此,用户可以使用其执行客户端与以太坊进行交易,并确信它们在正确的链上。
-
-## 验证者 {#validators}
-
-节点运营商可以在存款合约中存入 32 个以太币来为其共识客户端添加一个验证者。 验证者客户端与共识客户端捆绑在一起,并且可随时添加到节点中。 验证者会处理认证和区块提议。 它们使节点能够累积奖励或因为惩罚而丢失以太币。 运行验证者软件还使节点有资格被选中来提议一个新区块。
-
-[关于质押的更多信息](/staking/)。
-
-## 节点组件比较 {#node-comparison}
-
-| 执行客户端 | 共识客户端 | 验证者 |
-| -------------------------- | ----------------- | ------------ |
-| 通过其对等网络广播交易 | 通过其对等网络广播区块和认证 | 提议区块 |
-| 执行/重新执行交易 | 运行分叉选择算法 | 累积奖励/惩罚 |
-| 验证传入的状态更改 | 追踪链头 | 认证 |
-| 管理状态和收据树 | 管理信标状态(包含共识和执行信息) | 需要质押 32 个以太币 |
-| 创建执行有效负载 | 跟踪 RanDAO 中累积的随机性 | 可被罚没 |
-| 公开 JSON-RPC 应用程序接口以便与以太坊交互 | 追踪合理化和最终确定 | |
-
-## 延伸阅读 {#further-reading}
-
-- [权益证明](/developers/docs/consensus-mechanisms/pos)
-- [提出区块](/developers/docs/consensus-mechanisms/pos/block-proposal)
-- [验证者奖惩](/developers/docs/consensus-mechanisms/pos/rewards-and-penalties)
diff --git "a/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/nodes-as-a-service/index.md" "b/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/nodes-as-a-service/index.md"
deleted file mode 100644
index 075e4c521b8..00000000000
--- "a/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/nodes-as-a-service/index.md"
+++ /dev/null
@@ -1,419 +0,0 @@
----
-title: 节点即服务
-description: 节点服务及其利弊和主流供应商的入门级概述。
-lang: zh
-sidebarDepth: 2
----
-
-## 简介 {#Introduction}
-
-运行自己的 [以太坊](/developers/docs/nodes-and-clients/#what-are-nodes-and-clients)节点可能会比较困难,特别是在刚开始时或在快速扩展时。 [许多服务](#popular-node-services)都可以为你运行优化的节点基础设施,藉此,你可以专注于开发你的应用程序或产品。 我们将解释节点服务运行的原理以及它们的优缺点,并列出供应商,如果有兴趣,就着手开始吧。
-
-## 前提条件 {#prerequisites}
-
-如果你还不了解什么是节点和客户端,请查看[节点和客户端](/developers/docs/nodes-and-clients/)。
-
-## 质押人 {#stakoooooooooooooors}
-
-单独的质押人必须运行自己的基础设施,而不是依赖第三方提供商。 这意味着运行一个执行客户端和一个共识客户端。 在[合并](/roadmap/merge)之前,可以只运行共识客户端并通过中心化的提供商来获取执行数据;但现在已不存在这种情况——单独的质押人必须同时运行两种客户端。 但是,有一些服务可以简化这个过程。
-
-[阅读有关运行节点的更多信息](/developers/docs/nodes-and-clients/run-a-node/)。
-
-本页描述的服务适用于非质押节点。
-
-## 节点服务运作原理 {#how-do-node-services-work}
-
-节点服务提供商在幕后为你运行分布式节点客户端,因此你无需自己运行。
-
-这些服务通常提供一个可用来写入和读取区块链的应用程序接口密钥。 除了主网之外,通常还包括[以太坊测试网](/developers/docs/networks/#ethereum-testnets)访问权限。
-
-有些服务提供你自己的专用节点但由他们代为管理,而另外一些服务则使用负载均衡器在各节点之间分配活动。
-
-几乎所有的节点服务都非常容易集成,只需要在你的代码中修改一行,就可以替换你自己的托管节点,甚至可以在服务本身之间切换。
-
-通常节点服务会运行各种[节点客户端](/developers/docs/nodes-and-clients/#execution-clients)和[节点](/developers/docs/nodes-and-clients/#node-types),使得用户可以通过一个应用程序接口访问全节点和归档节点以及客户端特定方法。
-
-值得注意的是,节点服务不存储也不应该存储你的私钥或信息。
-
-## 使用节点服务的好处是什么? {#benefits-of-using-a-node-service}
-
-使用节点服务的主要好处是不需要耗费工程时间来自己维护和管理节点。 这样,你就能够专注于构建自己的产品,而不必担心基础设施维护。
-
-无论是存储或带宽方面,还是宝贵的工程时间,运行自己的节点代价非常高昂。 在扩容时运行更多节点、将节点升级到最新版本以及确保状态一致性等等,这些事情让用户无法集中精力构建并将资源应用于自己喜爱的 Web3 产品上。
-
-## 使用节点服务的缺点是什么? {#cons-of-using-a-node-service}
-
-使用节点服务,你产品的基础设施部分走向了中心化。 因此,可能更喜欢对那些极为注重去中心化的项目采用自我托管节点,而不是外包给第三方。
-
-详细了解[运行自己节点的好处](/developers/docs/nodes-and-clients/#benefits-to-you)。
-
-## 主流节点服务 {#popular-node-services}
-
-下面列出了一些最受欢迎的以太坊节点服务提供商,如有遗漏,欢迎随时补充! 每种节点服务除了免费或付费层级外,还提供各种好处和功能。做出决定之前,你应该调查哪些服务最符合自己的需求。
-
-- [**Alchemy**](https://alchemy.com/)
- - [相关文档](https://docs.alchemyapi.io/)
- - 特性
- - 最大的免费层级,每月有 3 亿个计算单元(约 3000 万个 getLatestBlock 请求)
- - 对 Polygon、Starknet、Optimism、Arbitrum 的多链支持
- - 为大约 70% 的以太坊去中心化应用程序和去中心化金融最大交易量提供支持
- - 通过 Alchemy Notify 发布实时网络钩子警报
- - 一流的支持和可靠性/稳定性
- - Alchemy 的非同质化代币应用程序接口
- - 带有 Request Explorer、Mempool Watcher 和 Composer 的仪表板
- - 集成了测试网水龙头访问权限
- - 拥有 1.8 万用户的活跃 Discord 构建者社区
-
-- [**All That Node**](https://allthatnode.com/)
- - [相关文档](https://docs.allthatnode.com/)
- - 功能
- - 免费套餐每天 50,000 个请求
- - 支持 40 多种协议
- - 支持 JSON-RPC(EVM、Tendermint)、REST 和 Websocket API
- - 无限制访问归档数据
- - 全天候技术支持和 99.9% 的正常运行时间
- - 多链水龙头
- - 使用无限数量的 API 密钥进行无限制的端点访问
- - 支持追踪/调试 API
- - 自动更新
-
-- [**Amazon Managed Blockchain**](https://aws.amazon.com/managed-blockchain/)
- - [相关文档](https://aws.amazon.com/managed-blockchain/resources/)
- - 特性
- - 完全托管的以太坊节点
- - 可在六个地区使用
- - 基于 HTTP 的 JSON-RPC 和安全 WebSockets
- - 支持 3 条链
- - SLA、AWS 全天候支持
- - Go-ethereum 和 Lighthouse
-
-- [**Ankr**](https://www.ankr.com/)
- - [相关文档](https://docs.ankr.com/)
- - 特性
- - Ankr 协议 - 在超过 8 条链上开放式访问公共远程过程调用应用程序接口端点
- - 通过负载均衡和节点健康监测,为最近可用节点提供快速可靠的网关
- - 启用网络套接字安全端点和无速率上限的高级套餐
- - 一键式全节点和验证者节点部署,可用于 40 多条链
- - 随时扩容
- - 分析工具
- - 仪表板
- - 远程过程调用、安全套接字层超文本传输协议和网络套接字安全端点
- - 直接支持
-
-- [**Blast**](https://blastapi.io/)
- - [相关文档](https://docs.blastapi.io/)
- - 特性
- - 远程过程调用和网络套接字安全支持
- - 多区域节点托管
- - 去中心化基础设施
- - 公共应用程序接口
- - 专用免费计划
- - 多链支持(超过 17 条区块链)
- - 归档节点
- - 全天候 Discord 支持
- - 全天候监控和提醒
- - 整体服务等级协议 99.9%
- - 加密货币支付
-
-- [**BlockDaemon**](https://blockdaemon.com/)
- - [相关文档](https://ubiquity.docs.blockdaemon.com/)
- - 好处
- - 管理面板
- - 基于每个节点
- - 分析
-
-- [**BlockPI**](https://blockpi.io/)
- - [相关文档](https://docs.blockpi.io/)
- - 特性
- - 稳健的分布式节点结构
- - 多达 40 个安全套接字层超文本传输协议和网络套接字安全端点
- - 免费注册套餐和月度套餐
- - 追踪方法 + 归档数据支持
- - 套餐有效期最长为 90 天
- - 自定义计划和随用随付的付款方式
- - 加密货币支付
- - 直接支持与技术支持
-
-- [**Chainbase**](https://www.chainbase.com/)
- - [相关文档](https://docs.chainbase.com)
- - 特性
- - 高可用性、高速和可扩展的远程过程调用服务
- - 多链支持
- - 不收费
- - 用户友好的仪表板
- - 提供远程过程调用之外的区块链数据服务
-
-- [**ChainStack**](https://chainstack.com/)
- - [相关文档](https://docs.chainstack.com/)
- - 功能
- - 免费共享节点
- - 共享归档节点
- - GraphQL 支持
- - 远程过程调用和网络套接字安全端点
- - 专用全节点和归档节点
- - 专用部署的快速同步时间
- - 使用自己的云服务
- - 按小时计费定价
- - 全天候直接支持
-
-- [**DataHub**](https://datahub.figment.io)
- - [文档](https://docs.figment.io/)
- - 特性
- - 每月 3 百万个请求的免费套餐选项
- - RPC 、 HTTPS 和 WSS 端点
- - 专用全节点和归档节点
- - 自动扩容(容量折扣)
- - 免费归档数据
- - 服务分析
- - 仪表板
- - 全天候直接支持
- - 加密货币支付(企业)
-
-- [**DRPC**](https://drpc.org/)
- - [相关文档](https://docs.drpc.org/)
- - 特性
- - 去中心化远程过程调用节点
- - 超过 15 个节点提供商
- - 节点平衡
- - 免费套餐每月计算单元无限制
- - 数据验证
- - 自定义端点
- - HTTP 和 WSS 端点
- - 无限密钥(免费和付费套餐)
- - 灵活的回退选项
- - [公共端点](https://eth.drpc.org)
- - 免费共享归档节点
-
-- [**GetBlock**](https://getblock.io/)
- - [相关文档](https://getblock.io/docs/get-started/authentication-with-api-key/)
- - 功能
- - 访问超过 40 个区块链节点
- - 4 万个每日免费请求
- - 无限数量的应用程序接口密钥
- - 1GB/秒的高速连接
- - 追踪 + 归档
- - 高级分析
- - 自动更新
- - 技术支持
-
-- [**InfStones**](https://infstones.com/)
- - 功能
- - 免费套餐选项
- - 随时扩容
- - 分析
- - 仪表板
- - 独有的应用程序接口端点
- - 专用全节点
- - 专用部署的快速同步时间
- - 全天候直接支持
- - 访问超过 50 个区块链节点
-
-- [**Infura**](https://infura.io/)
- - [相关文档](https://infura.io/docs)
- - 功能
- - 免费套餐选项
- - 随时扩容
- - 付费归档数据
- - 直接支持
- - 仪表板
-
-- [**Kaleido**](https://kaleido.io/)
- - [相关文档](https://docs.kaleido.io/)
- - 功能
- - 免费初学者套餐
- - 一键部署以太坊节点
- - 可自定义的客户端和算法(Geth、Quorum 和 Besu || PoA、IBFT 和 Raft)
- - 500 多个管理和服务应用程序接口
- - 用于提交以太坊交易的 RESTful 接口(支持 Apache Kafka)
- - 用于事件传送的出站流(支持 Apache Kafka)
- - “脱链”和辅助服务的深度集合(例如双边加密消息传输)
- - 简单明了的配置入网,提供治理和基于角色的访问控制
- - 适用于管理员和最终用户的精细用户管理
- - 高度可扩展、复原力强的企业级基础设施
- - Cloud HSM 私钥管理
- - 以太坊主网网络共享
- - ISO 27k 和 SOC 2 Type 2 认证
- - 动态运行时配置(例如添加云集成、更改节点入口等)
- - 支持多云端、多区域及混合部署编排
- - 简单的基于质押即服务 (SaaS) 的每小时定价
- - 服务等级协议和全天候支持
-
-- [**Lava Network**](https://www.lavanet.xyz/)
- - [相关文档](https://docs.lavanet.xyz/)
- - 功能
- - 免费使用测试网
- - 适用于高正常运行时间的去中心化冗余
- - 开源
- - 完全去中心化的软件开发工具包
- - Ethers.js 集成
- - 直观的项目管理界面
- - 基于共识的数据完整性
- - 多链支持
-
-- [**Moralis**](https://moralis.io/)
- - [相关文档](https://docs.moralis.io/)
- - 功能
- - 免费共享节点
- - 免费共享归档节点
- - 注重隐私(无日志政策)
- - 跨链支持
- - 随时扩容
- - 仪表板
- - 独特的以太坊软件开发工具包
- - 独有的应用程序接口端点
- - 直接技术支持
-
-- [**NodeReal MegaNode**](https://nodereal.io/)
- - [相关文档](https://docs.nodereal.io/nodereal/meganode/introduction)
- - 功能
- - 可靠、快速而且可扩展的远程过程调用应用程序接口服务
- - 面向 Web3 开发者的增强型应用程序接口
- - 多链支持
- - 免费试用
-
-- [**NOWNodes**](https://nownodes.io/)
- - [文档](https://documenter.getpostman.com/view/13630829/TVmFkLwy)
- - 功能
- - 访问超过 50 个区块链节点
- - 免费应用程序接口密钥
- - 区块浏览器
- - 应用程序接口响应时间 ⩽ 1秒
- - 全天候支持团队
- - 个人帐户经理
- - 共享、归档、备份和专用节点
-
-- [**Pocket Network**](https://www.pokt.network/)
- - [文档](https://docs.pokt.network/home/)
- - 功能
- - 去中心化的远程过程调用协议和市场
- - 每天 100 万个请求的免费套餐(每个端点,最多 2 个)
- - [公共端点](https://docs.pokt.network/developers/public-endpoints)
- - Pre-Stake+ 计划(如果你每天需要超过 100 万个请求)
- - 支持超过 15 条区块链
- - 6400 多个节点为应用程序服务并赚取 POKT
- - 归档节点、包含追踪数据的归档节点及测试网节点支持
- - 以太坊主网节点客户端多样性
- - 无单点故障
- - 零停机
- - 具有成本效益的近零代币经济学(一次性质押 POKT 以获得网络带宽)
- - 无每月沉没成本,将你的基础设施变成资产
- - 协议中内置负载均衡
- - 随时无限增加每日请求数量和每小时节点数量
- - 最私密的抗审查选项
- - 开发者实战支持
- - [Pocket Portal](https://bit.ly/ETHorg_POKTportal) 仪表板和分析
-
-- [**QuickNode**](https://www.quicknode.com)
- - [文档](https://www.quicknode.com/docs/)
- - 功能
- - 全天候技术支持和开发者 Discord 社区
- - 区域负载均衡、多云端/元模型、低延迟网络
- - 多链支持(Optimism、Arbitrum、Polygon 及 11 个其他网络)
- - 快速且稳定的中间层(调用路由、缓存、索引)
- - 通过网络钩子进行智能合约监控
- - 直观的仪表板、分析套件、远程过程调用编写器
- - 高级安全功能(JWT、屏蔽、白名单)
- - 非同质化代币数据和分析应用程序接口
- - [已获 SOC2 认证](https://www.quicknode.com/security)
- - 适用于企业开发者
-
-- [**Rivet**](https://rivet.cloud/)
- - [文档](https://rivet.readthedocs.io/en/latest/)
- - 功能
- - 免费套餐选项
- - 随时扩容
-
-- [**SenseiNode**](https://senseinode.com)
- - [文档](https://docs.senseinode.com/)
- - 功能
- - 专用和共享节点
- - 仪表板
- - 在拉丁美洲不同地区的多个托管服务提供商上托管 AWS
- - Prysm 和 Lighthouse 客户端
-
-- [**SettleMint**](https://console.settlemint.com/)
- - [文档](https://docs.settlemint.com/)
- - 特性
- - 免费试用
- - 随时扩容
- - GraphQL 支持
- - 远程过程调用和网络套接字安全端点
- - 专用全节点
- - 使用自己的云服务
- - 分析工具
- - 仪表板
- - 按小时计费定价
- - 直接支持
-
-- [**Tenderly**](https://tenderly.co/web3-gateway)
- - [文档](https://docs.tenderly.co/web3-gateway/web3-gateway)
- - 特性
- - 免费套餐包含每月 2500 万个 Tenderly 单位
- - 免费访问历史数据
- - 读取繁重型工作负载的速度最多提高 8 倍
- - 100% 一致的读取访问
- - JSON-RPC 端点
- - 基于用户界面的远程过程调用请求构造器以及请求预览
- - 与 Tenderly 开发、调试和测试工具紧密集成
- - 模拟交易
- - 使用分析和过滤
- - 简单的访问密钥管理
- - 通过聊天、电邮和 Discord 提供专门的工程支持
-
-- [**Tokenview**](https://services.tokenview.io/)
- - [文档](https://services.tokenview.io/docs?type=nodeService)
- - 特性
- - 全天候技术支持和开发者 Telegram 社区
- - 多链支持(比特币、以太坊、Tron、BNB Smart Chain 和以太坊经典)
- - RPC 和 WSS 端点均开放使用
- - 无限制访问归档数据应用程序接口
- - 带有请求浏览器和内存池监视器的仪表板
- - 非同质化代币数据应用程序接口和网络钩子通知
- - 加密货币支付
- - 可满足更多行为需求的外部支持
-
-- [**Watchdata**](https://watchdata.io/)
- - [文档](https://docs.watchdata.io/)
- - 特性
- - 数据可靠性
- - 不间断连接,不会出现停机
- - 过程自动化
- - 不收费
- - 适合任何用户的高上限
- - 支持各种节点
- - 资源扩容
- - 处理速度快
-
-- [**ZMOK**](https://zmok.io/)
- - [文档](https://docs.zmok.io/)
- - 特性
- - 前台运行即服务
- - 带有搜索/过滤方法的全局交易内存池
- - 发送交易时,交易手续费和燃料均不受限制
- - 最快获取新区块和读取区块链
- - 每个应用程序接口调用的最优价格保证
-
-- [**Zeeve**](https://www.zeeve.io/)
- - [文档](https://www.zeeve.io/docs/)
- - 特性
- - 企业级无代码自动化平台,提供区块链节点和网络的部署、监控和管理
- - 超过 30 种支持的协议与集成,种类还在增加
- - 增值型 Web3 基础设施服务,如去中心化存储、去中心化身份和用于真实世界用例的区块链账本数据应用程序接口
- - 全天候支持和主动监控始终确保节点的健康
- - 远程过程调用端点提供对应用程序接口的验证访问,并通过直观的仪表板和分析实现无忧管理。
- - 提供托管云和自带云选项,支持所有主要云服务提供商,例如 AWS、Azure、Google Cloud、Digital Ocean 和本地服务
- - 我们每次都会通过智能路由接入到距离你的用户最近的节点
-
-
-## 延伸阅读 {#further-reading}
-
-- [以太坊节点服务列表](https://ethereumnodes.com/)
-
-## 相关主题 {#related-topics}
-
-- [节点和客户端](/developers/docs/nodes-and-clients/)
-
-## 相关教程 {#related-tutorials}
-
-- [使用 Alchemy 开始以太坊开发](/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/)
-- [使用 web3 和 Alchemy 发送交易指南](/developers/tutorials/sending-transactions-using-web3-and-alchemy/)
diff --git "a/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/run-a-node/index.md" "b/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/run-a-node/index.md"
deleted file mode 100644
index 5cd30210906..00000000000
--- "a/public/content/translations/zh/15) Foundational Docs \342\200\223 Nodes and Clients/developers/docs/nodes-and-clients/run-a-node/index.md"
+++ /dev/null
@@ -1,480 +0,0 @@
----
-title: 启动自己的以太坊节点
-description: 如何运行自己的以太坊客户端简介
-lang: zh
-sidebarDepth: 2
----
-
-运行你自己的节点为你提供各种好处,打开新的可能性,并为支持生态系统提供帮助。 这个页面将引导你启动自己的节点,并参与验证以太坊交易。
-
-注意,在[合并](/roadmap/merge)之后,运行以太坊节点需要两种客户端,即**执行层 (EL) **客户端和**共识层 (CL) **客户端。 本页面将展示如何安装、配置和连接这两种客户端以运行以太坊节点。
-
-## 前提条件 {#prerequisites}
-
-你应该明白什么是以太坊节点,以及你可能想要运行客户端的原因。 [节点和客户端](/developers/docs/nodes-and-clients/)涵盖了这一主题。
-
-如果你不熟悉运行节点这一主题,或者正在寻找技术含量较低的方式,建议你先参阅我们为了便于用户理解而编撰的[运行以太坊节点](/run-a-node)简介。
-
-## 选择一种方式 {#choosing-approach}
-
-要启动自己的以太坊节点,第一步是选择你的运行方式。 根据要求和各种可能性,你必须选择客户端实现(执行客户端和共识客户端)、环境(硬件、系统)和客户端设置参数。
-
-本页面将指导你做出这些决定,并帮助你找到运行以太坊实例的最合适方式。
-
-要选择客户端实现,请查看所有可用的主网就绪[执行客户端](/developers/docs/nodes-and-clients/#execution-clients)和[共识客户端](/developers/docs/nodes-and-clients/#consensus-clients),并了解[客户端多样性](/developers/docs/nodes-and-clients/client-diversity)。
-
-决定是在自己的[硬件还是云端](#local-vs-cloud)运行软件,同时考虑客户端的[要求](#requirements)。
-
-准备好环境后,使用带有高级选项的终端,通过[初学者友好界面](#automatized-setup)或[手动](#manual-setup)安装所选客户端。
-
-在节点运行和同步后,你便随时可以[使用该节点](#using-the-node),但请务必留意节点的[维护](#operating-the-node)。
-
-![客户端设置](./diagram.png)
-
-### 运行环境和硬件设施 {#environment-and-hardware}
-
-#### 本地或云端 {#local-vs-cloud}
-
-以太坊客户端能够在消费级电脑上运行,并且不需要任何专用硬件,例如矿机。 因此,你可以根据需要选择多种节点部署方案。 简而言之,我们考虑在本地物理计算机和云端服务器上运行节点:
-
-- 云端
- - 服务商提供了高可用的服务器以及静态公共 IP 地址
- - 获得专用或虚拟服务器比自己搭建更加方便
- - 取舍是:是否需要信赖云服务商三方
- - 由于全节点所需的存储大小,租用服务器的价格可能会很高
-- 自有硬件
- - 更去信任并且更有主动权
- - 只需一次性投入
- - 可以购买预先配置好的机器
- - 你必须亲自准备并维护机器和网络,并有可能亲自对机器和网络进行故障排除
-
-上面两种方案各有优点,总结如上。 如果你正在寻找云端解决方案,除了许多传统云计算服务商外,还有一些专注于部署以太坊节点的服务商, 查看[节点即服务](/developers/docs/nodes-and-clients/nodes-as-a-service/),了解有关托管节点的更多选项。
-
-#### 硬件 {#hardware}
-
-不过,一个抗审查的去中心化网络不应该依赖于云服务提供商。 而且,在自己的本地硬件上运行节点对该生态系统来说更健康。 从[估算数据](https://www.ethernodes.org/networkType/Hosting)来看,在云端运行大部分节点可能引发单点故障。
-
-以太坊客户端可以在你的计算机、笔记本电脑、服务器甚至单板计算机上运行。 虽然可以在你的个人计算机上运行客户端,但为你的节点配备一台专用机器可以显著提高其性能和安全性,同时最大限度地减少对你的主计算机的影响。
-
-使用自己的硬件非常容易。 一般人可以选择一些简单的选项,技术水平较高的人士则可以在高级设置当中进行抉择。 接下来,我们了解一下在你的机器上运行以太坊客户端的要求和方法。
-
-#### 要求 {#requirements}
-
-硬件要求因客户端不同而异,但通常不是很高,因为节点只需保持同步即可。 不要将其与需要更多算力的挖矿混淆。 不过,功能更强大的硬件的确可以优化同步时间和性能。
-
-在安装任何客户端之前,请确保计算机有足够的资源运行它。 你可以在下面找到最低要求和推荐要求。
-
-硬件的瓶颈通常是磁盘空间。 同步以太坊区块链是一种高强度的输入/输出密集型操作,并且需要大量空间。 最好使用在同步完成后还有数百 GB 可用空间的**固态硬盘 (SSD)**。
-
-数据库的大小和初始同步速度取决于所选客户端、其配置和[同步策略](/developers/docs/nodes-and-clients/#sync-modes)。
-
-你还要确保网络连接没有[带宽限制](https://wikipedia.org/wiki/Data_cap)。 我们建议你使用不计流量的网络连接,因为初始同步和广播到网络的数据可能超过你的限额。
-
-##### 操作系统
-
-所有客户端都支持主流操作系统——Linux、MacOS、Windows。 这意味着你可以在普通台式机或服务器上运行节点,并在这些设备上安装最适合你的操作系统 (OS)。 为了避免出现潜在的问题和安全漏洞,请确保你的操作系统为最新。
-
-##### 最低要求
-
-- 2 核以上 CPU
-- 8 GB 内存
-- 2 TB 固态硬盘
-- 10 MB/秒以上带宽
-
-##### 推荐的规格要求
-
-- 4 核以上高速 CPU
-- 16GB 以上内存
-- 2TB 以上高速固态硬盘
-- 25 MB/秒以上带宽
-
-你选择的同步模式和客户端将影响磁盘空间要求,但我们估计了下面每种客户端需要的磁盘空间。
-
-| 客户端 | 磁盘大小(快照同步) | 磁盘大小(完整归档) |
-| ---------- | ---------- | ---------- |
-| Besu | 800GB 以上 | 12TB 以上 |
-| Erigon | 未提供 | 2.5TB 以上 |
-| Geth | 500GB+ | 12TB 以上 |
-| Nethermind | 500GB+ | 12TB 以上 |
-| Reth | 未提供 | 2.2TB 以上 |
-
-- 注意:Erigon 和 Reth 不支持快照同步,但能支持完全修剪(Erigon 约需 2TB,Reth 约需 1.2TB)
-
-对于共识客户端,空间要求也取决于客户端实现和启用的功能(例如验证者、罚没者),但通常需要另外 200GB 磁盘空间存储信标数据。 由于验证者数量巨大,带宽负载也会增加。 你可以[在此分析中找到关于共识客户端要求的详细信息](https://mirror.xyz/0x934e6B4D7eee305F8C9C42b46D6EEA09CcFd5EDc/b69LBy8p5UhcGJqUAmT22dpvdkU-Pulg2inrhoS9Mbc)。
-
-#### 即插即用解决方案 {#plug-and-play}
-
-即插即用解决方案是使用自身硬件运行节点的最简单方式。 来自供应商的预配置机器提供最简洁的体验:订购、连接、运行。 一切都已预配置好并自动运行,你可以通过直观的指南和仪表板监测和控制软件。
-
-- [DappNode](https://dappnode.io/)
-- [Avado](https://ava.do/)
-
-#### 在单板计算机上运行以太坊 {#ethereum-on-a-single-board-computer}
-
-运行以太坊节点的一种经济简便的方法是使用单板计算机,甚至可以使用 ARM 架构的单板机,如树莓派。 [ARM 上的以太坊](https://ethereum-on-arm-documentation.readthedocs.io/en/latest/)为树莓派和其他 ARM 单板机提供便于运行的多种执行客户端和共识客户端映像。
-
-这类小型、实惠且高效的设备非常适合在家中运行节点,但请记住它们的性能有限。
-
-## 启动节点 {#spinning-up-node}
-
-实际的客户端设置可以使用自动启动器完成,或者通过直接设置客户端软件手动完成。
-
-对于初级用户,推荐的方法是使用启动器,这种软件可以指导你完成安装并自动执行客户端设置过程。 但是,如果你有一些终端使用经验,手动设置步骤应该很容易完成。
-
-### 引导式设置 {#automatized-setup}
-
-一些用户友好的项目旨在改善客户端设置体验。 这些启动器提供自动客户端安装和配置,有些甚至提供图形界面用于引导式设置和监测客户端。
-
-以下是一些可以帮助你安装和控制客户端的项目,只需单击几下即可:
-
-- [DappNode](https://docs.dappnode.io/docs/user/getting-started/choose-your-path) - DappNode 不仅仅可以在供应商提供的机器上安装。 该软件、实际的节点启动器和具有许多功能的控制中心可以在任意硬件上使用。
-- [eth-docker](https://eth-docker.net/) - 使用 Docker 进行的自动化设置专注于简便和安全的质押,它需要用户具备基本的终端和 Docker 知识。我们推荐进阶用户可以选择此项目。
-- [Stereum](https://stereum.net/ethereum-node-setup/) - 通过 SSH 连接在远程服务器上安装客户端的启动器,配备 GUI 设置指南、控制中心和许多其他功能。
-- [NiceNode](https://www.nicenode.xyz/) - 提供简便用户体验的启动器,可在你的计算机上运行节点。 只需选择客户端并单击几下即可启动它们。 仍在开发中。
-- [Sedge](https://docs.sedge.nethermind.io/docs/intro) - 节点设置工具,使用 CLI 向导自动生成 Docker 配置。 由 Nethermind 使用 Go 编写。
-
-### 手动客户端设置 {#manual-setup}
-
-另一种选择是手动下载、验证和配置客户端软件。 即使一些客户端提供图形界面,手动设置仍然需要一些基本的终端使用技能,但它可以提供更多功能。
-
-如上所述,设置自己的以太坊节点需要运行一对共识客户端和执行客户端。 一些客户端可能包括另一类型的轻客户端,并且无需任何其他软件即可同步。 但是,完全去信任验证需要同时实现这两种客户端。
-
-#### 获取客户端软件 {#getting-the-client}
-
-首先,你需要获取自己喜欢的[执行客户端](/developers/docs/nodes-and-clients/#execution-clients)和[共识客户端](/developers/docs/nodes-and-clients/#consensus-clients)软件。
-
-你可以仅下载适合你的操作系统和架构的可执行应用或安装包。 始终验证下载安装包的签名和校验和。 一些客户端还提供存储库或 Docker 映像,以简化安装和更新。 所有客户端都是开源的,因此你也可以使用源代码构建它们。 这是一种更高阶的方法,但在某些情况下,你可能需要这么做。
-
-上述客户端列表中的链接文档提供各个客户端的安装说明。
-
-以下是客户端的发布页面,你可以在其中找到它们的预构建二进制文件或安装说明:
-
-##### 执行客户端
-
-- [Besu](https://github.com/hyperledger/besu/releases)
-- [Erigon](https://github.com/ledgerwatch/erigon/releases)
-- [Geth](https://geth.ethereum.org/downloads/)
-- [Nethermind](https://downloads.nethermind.io/)
-- [Reth](https://reth.rs/installation/installation.html)
-
-另外值得注意的是,客户端多样性有关[执行层的问题](/developers/docs/nodes-and-clients/client-diversity/#execution-layer)之一。 我们建议读者考虑运行非主流执行客户端。
-
-##### 共识客户端
-
-- [Lighthouse](https://github.com/sigp/lighthouse/releases/latest)
-- [Lodestar](https://chainsafe.github.io/lodestar/install/source/)(不提供预构建的二进制文件,仅提供 Docker 映像或使用源代码进行构建)
-- [Nimbus](https://github.com/status-im/nimbus-eth2/releases/latest)
-- [Prysm](https://github.com/prysmaticlabs/prysm/releases/latest)
-- [Teku](https://github.com/ConsenSys/teku/releases)
-
-[客户端多样性](/developers/docs/nodes-and-clients/client-diversity/)对于运行验证者的共识节点来说至关重要。 如果大多数验证者都在运行单一客户端实现,网络安全就会面临风险。 因此,我们建议考虑选择非主流客户端。
-
-[查看最新的网络客户端使用情况](https://clientdiversity.org/),并了解关于[客户端多样性](/developers/docs/nodes-and-clients/client-diversity)的更多信息。
-
-##### 验证软件
-
-从互联网下载软件时,建议验证其完整性。 此步骤是可选的,但特别是对于像以太坊客户端这样的关键基础设施,务必要了解潜在的攻击向量并避免它们。 如果下载了预构建的二进制文件,则需要信任它,并冒着攻击者将可执行文件替换为恶意文件的风险。
-
-开发者使用他们的 PGP 密钥签署已发布的二进制文件,这样你就可以通过加密方式验证你正在运行他们创建的软件。 你只需要获取开发者使用的公钥,公钥可以在客户端发布页面或文档中找到。 下载客户端版本及其签名后,你可以使用 PGP 实现(例如 [GnuPG](https://gnupg.org/download/index.html))轻松验证它们。 查看有关在 [Linux](https://www.tecmint.com/verify-pgp-signature-downloaded-software/) 或 [Windows/MacOS](https://freedom.press/training/verifying-open-source-software/) 上使用 `gpg` 验证开源软件的教程。
-
-另一种验证方式是确保所下载软件的哈希(一种唯一的加密指纹)与开发者提供的哈希相符。 这种方式甚至比使用 PGP 更容易,并且一些客户端仅提供此选项。 只需在下载的软件上运行哈希函数并将其与发布页面中的哈希进行比较。 例如:
-
-```sh
-sha256sum teku-22.6.1.tar.gz
-
-9b2f8c1f8d4dab0404ce70ea314ff4b3c77e9d27aff9d1e4c1933a5439767dde
-```
-
-#### 客户端设置 {#client-setup}
-
-安装、下载或编译客户端软件后,你就可以运行它了。 这仅意味着必须使用正确的配置执行客户端。 客户端提供丰富的配置选项,你可以通过它们启用各种功能。
-
-我们从可以显著影响客户端性能和数据使用的选项开始介绍。 [同步模式](/developers/docs/nodes-and-clients/#sync-modes)是指下载和验证区块链数据的不同方法。 在启动节点前,你应该决定使用哪种网络和同步模式。 最重要的考虑因素是客户端需要的磁盘空间和同步时间。 关注客户端文档以便确定默认的同步模式。 如果默认的同步模式不适合你,请根据安全级别、可用数据和成本选择另一种同步模式。 除了同步算法之外,你还可以设置修剪不同类型的旧数据。 修剪可以删除过时的数据,例如删除最近区块上无法访问的状态树节点。
-
-其他基本配置选项包括:选择网络(主网或测试网)、为远程过程调用或 WebSocket 启用超文本传输协议端点等。 你可以在客户端相关文档中找到所有功能和选项。 你可以通过使用对应的标记在 CLI 或配置文件中直接执行客户端,以便设置不同的客户端配置。 每种客户端都有一点差异;有关配置选项的详细信息,请始终参阅其官方文档或帮助页面。
-
-进行测试时,你可能更愿意在其中一个测试网上运行客户端。 [参阅受支持网络概览](/developers/docs/nodes-and-clients/#execution-clients)。
-
-要了解如何运行具有基本配置的执行客户端,请见下一节中的示例。
-
-#### 启动执行客户端 {#starting-the-execution-client}
-
-启动以太坊客户端软件之前,请最后检查环境是否已就绪。 例如,请确保:
-
-- 针对所选的网络和同步模式,磁盘空间足够。
-- 内存和 CPU 未被其他程序停止。
-- 操作系统已更新至最新版本。
-- 系统有正确的时间和日期。
-- 路由器和防火墙接受监听端口上的连接。 默认情况下,以太坊客户端使用监听 (TCP) 端口和发现端口 (UDP),两者默认均在 30303 上。
-
-首先在测试网上运行客户端,这有助于确保一切都正常运行。
-
-你需要在一开始就声明所有非默认的客户端配置。 你可以使用标记或配置文件来声明你的首选配置。 每种客户端的功能集和配置语法都不同。 请查看你的客户端相关文档,了解具体细节。
-
-执行客户端和共识客户端通过[引擎应用程序接口](https://github.com/ethereum/execution-apis/tree/main/src/engine)中指定的经过身份验证的端点进行通信。 为了连接到共识客户端,执行客户端必须在已知路径上生成 [`jwtsecret`](https://jwt.io/)。 出于安全和稳定性的原因,客户端应该在同一台机器上运行,并且两种客户端都必须知道该路径,因为该路径用于验证它们之间的本地远程过程调用连接。 执行客户端还必须为经过身份验证的应用程序接口定义一个监听端口。
-
-此令牌由客户端软件自动生成,但在某些情况下,你可能需要自己生成它。 你可以使用 [OpenSSL](https://www.openssl.org/) 生成该令牌:
-
-```sh
-openssl rand -hex 32 > jwtsecret
-```
-
-#### 运行执行客户端 {#running-an-execution-client}
-
-本节将指导你启动执行客户端。 它仅提供基本配置示例,该示例将使用以下设置启动客户端:
-
-- 指定要连接的网络,在我们的示例中为主网
- - 你也可以选择[任一测试网络](/developers/docs/networks/),用于设置的初步测试
-- 定义数据目录,包括区块链在内的所有数据都将存储在其中
- - 确保用真实路径代替该路径,例如指向外置驱动器的路径
-- 启用与客户端通信的接口
- - 包括用于与共识客户端通信的 JSON-RPC 和引擎应用程序接口
-- 为经过身份验证的应用程序接口定义 `jwtsecret` 的路径
- - 确保将示例路径替换为客户端可以访问的真实路径,例如 `/tmp/jwtsecret`
-
-请记住,这只是一个基本示例,所有其他设置都将设置为默认值。 请关注每种客户端的相关文档以了解默认的值、设置和功能。 有关更多功能的信息,例如运行验证者、监测等,请参考具体客户端的相关文档。
-
-> 请注意,示例中的反斜杠 `\` 仅用于设置格式;配置标记可以在一行中定义。
-
-##### 运行 Besu
-
-此示例在主网上启动 Besu,将区块链数据以默认格式存储在 `/data/ethereum` 下,启用 JSON-RPC 和引擎远程过程调用以连接共识客户端。 使用令牌 `jwtsecret` 对引擎应用程序接口进行身份验证,并且只允许来自 `localhost` 的调用。
-
-```sh
-besu --network=mainnet \
- --data-path=/data/ethereum \
- --rpc-http-enabled=true \
- --engine-rpc-enabled=true \
- --engine-host-allowlist="*" \
- --engine-jwt-enabled=true \
- --engine-jwt-secret=/path/to/jwtsecret
-```
-
-Besu 还带有一个启动器选项,它会询问一系列问题并生成配置文件。 使用以下命令运行交互式启动器:
-
-```sh
-besu --Xlauncher
-```
-
-[Besu 相关文档](https://besu.hyperledger.org/en/latest/HowTo/Get-Started/Starting-node/)包含更多选项和配置详细信息。
-
-##### 运行 Erigon
-
-此示例在主网上启动 Erigon,将区块链数据存储在 `/data/ethereum` 下,启用 JSON-RPC,定义允许的命名空间,并启用身份验证以连接由 `jwtsecret` 路径定义的共识客户端。
-
-```sh
-erigon --chain mainnet \
- --datadir /data/ethereum \
- --http --http.api=engine,eth,web3,net \
- --authrpc.jwtsecret=/path/to/jwtsecret
-```
-
-默认情况下,Erigon 使用 8GB 机械硬盘执行完全同步,这将产生超过 2TB 的归档数据。 确保 `datadir` 指向有足够可用空间的磁盘,或者考虑使用可以修剪不同类型数据的 `--prune` 标记。 查看 Erigon 的 `--help` 了解更多信息。
-
-##### 运行 Geth
-
-此示例在主网上启动 Geth,将区块链数据存储在 `/data/ethereum` 下,启用 JSON-RPC 并定义允许的命名空间。 它还会启用身份验证(以便连接需要使用 `jwtsecret` 路径的共识客户端)以及定义允许哪些连接的选项,在我们的示例中仅允许来自 `localhost` 的连接。
-
-```sh
-geth --mainnet \
- --datadir "/data/ethereum" \
- --http --authrpc.addr localhost \
- --authrpc.vhosts="localhost" \
- --authrpc.port 8551
- --authrpc.jwtsecret=/path/to/jwtsecret
-```
-
-查看[相关文档中的所有配置选项](https://geth.ethereum.org/docs/fundamentals/command-line-options),并了解关于[运行 Geth 和共识客户端](https://geth.ethereum.org/docs/getting-started/consensus-clients)的更多信息。
-
-##### 运行 Nethermind
-
-Nethermind 提供各种[安装选项](https://docs.nethermind.io/nethermind/first-steps-with-nethermind/getting-started)。 该软件包附带各种二进制文件,包括一个带有引导式设置的启动器,它将帮助你以交互方式创建配置。 或者,你会找到可执行文件 Runner,并且可以使用配置标记运行它。 默认情况下已启用 JSON-RPC。
-
-```sh
-Nethermind.Runner --config mainnet \
- --datadir /data/ethereum \
- --JsonRpc.JwtSecretFile=/path/to/jwtsecret
-```
-
-Nethermind 相关文档提供了有关运行 Nethermind 和共识客户端的[完整指南](https://docs.nethermind.io/nethermind/first-steps-with-nethermind/running-nethermind-post-merge)。
-
-执行客户端将启动其核心功能及所选端点,并开始寻找对等节点。 成功发现对等节点后,该客户端开始同步。 执行客户端将等待来自共识客户端的连接。 当客户端成功同步到最新状态时,最新的区块链数据将可用。
-
-##### 运行 Reth
-
-此示例使用默认数据位置在主网上启动 Reth。 启用 JSON-RPC 和引擎远程过程调用身份验证以连接由 `jwtsecret` 路径定义的共识客户端,并仅允许来自 `localhost` 的调用。
-
-```sh
-reth node \
- --authrpc.jwtsecret /path/to/jwtsecret \
- --authrpc.addr 127.0.0.1 \
- --authrpc.port 8551
-```
-
-查看[配置 Reth](https://reth.rs/run/config.html?highlight=data%20directory#configuring-reth) 以了解更多关于默认数据目录的信息。 [Reth 的相关文档](https://reth.rs/run/mainnet.html)包含更多选项和配置详情。
-
-#### 启动共识客户端 {#starting-the-consensus-client}
-
-共识客户端必须以正确的端口配置启动,才能与执行客户端建立本地远程过程调用连接。 它在运行时必须使用公开的执行客户端端口作为配置参数。
-
-共识客户端还需要执行客户端的 `jwt-secret` 的路径,以便对它们之间的远程过程调用连接进行身份验证。 与上面的执行示例类似,每种共识客户端都有一个配置标记,该标记使用 jwt 令牌文件的路径作为参数。 此路径必须与提供给执行客户端的 `jwt-secret` 路径一致。
-
-如果你打算运行验证者,确保添加一个配置标记以指定接收费用的以太坊地址。 这是为你的验证者积攒以太币奖励的地址。 每种共识客户端都有一个将以太坊地址作为参数的选项,例如 `--suggested-fee-recipient=0xabcd1`。
-
-在测试网上启动信标节点时,可以使用公共端点进行[检查点同步](https://notes.ethereum.org/@launchpad/checkpoint-sync),从而大大节省同步时间。
-
-#### 运行共识客户端 {#running-a-consensus-client}
-
-##### 运行 Lighthouse
-
-在运行 Lighthouse 之前,请在 [Lighthouse 手册](https://lighthouse-book.sigmaprime.io/installation.html)中详细了解如何安装和配置它。
-
-```sh
-lighthouse beacon_node \
- --network mainnet \
- --datadir /data/ethereum \
- --http \
- --execution-endpoint http://127.0.0.1:8551 \
- --execution-jwt /path/to/jwtsecret
-```
-
-##### 运行 Lodestar
-
-通过编译或下载 Docker 映像来安装 Lodestar 软件。 在[相关文档](https://chainsafe.github.io/lodestar/)和更全面的[设置指南](https://hackmd.io/@philknows/rk5cDvKmK)中了解更多信息。
-
-```sh
-lodestar beacon \
- --rootDir="/data/ethereum" \
- --network=mainnet \
- --eth1.enabled=true \
- --execution.urls="http://127.0.0.1:8551" \
- --jwt-secret="/path/to/jwtsecret"
-```
-
-##### 运行 Nimbus
-
-Nimbus 包括共识客户端和执行客户端。 它也可以在各种设备上运行,甚至可以在算力很一般的设备上运行。 [安装依赖项和 Nimbus ](https://nimbus.guide/quick-start.html)后,你可以运行它的共识客户端:
-
-```sh
-nimbus_beacon_node \
- --network=mainnet \
- --web3-url=http://127.0.0.1:8551 \
- --rest \
- --jwt-secret="/path/to/jwtsecret"
-```
-
-##### 运行 Prysm
-
-Prysm 带有脚本,可实现轻松自动安装。 详细信息可以在 [Prysm 相关文档](https://docs.prylabs.network/docs/install/install-with-script)中找到。
-
-```sh
-./prysm.sh beacon-chain \
- --mainnet \
- --datadir /data/ethereum \
- --execution-endpoint=http://localhost:8551 \
- --jwt-secret=/path/to/jwtsecret
-```
-
-##### 运行 Teku
-
-```sh
-teku --network mainnet \
- --data-path "/data/ethereum" \
- --ee-endpoint http://localhost:8551 \
- --ee-jwt-secret-file "/path/to/jwtsecret"
-```
-
-当共识客户端连接到执行客户端读取存款合约并识别验证者时,它也连接到其他对等信标节点并开始从创世块同步共识时隙。 信标节点达到当前时段后,信标应用程序接口将可供验证者使用。 了解关于[信标节点应用程序接口](https://eth2docs.vercel.app/)的更多信息。
-
-### 添加验证者 {#adding-validators}
-
-共识客户端充当验证者要连接的信标节点。 每种共识客户端都有自己的验证者软件,后者在各自的相关文档中都有详细描述。
-
-运行自己的验证者便可以进行[单独质押](/staking/solo/),这是支持以太坊网络的最有影响的去信任方法。 然而,单独质押需要存入 32 个以太币。 若想在自己的节点上运行验证者并质押较少数量的以太币,你可能会对由无需许可的节点运营商组成的去中心化池感兴趣,例如 [Rocket Pool](https://rocketpool.net/node-operators)。
-
-开始质押和生成验证者密钥的最简单方法是使用 [Holesky 测试网质押启动板](https://holesky.launchpad.ethereum.org/),它允许你通过[在 Holesky 上运行节点](https://notes.ethereum.org/@launchpad/holesky)来测试你的设置。 当准备好使用主网时,你可以使用[主网质押启动板](https://launchpad.ethereum.org/)重复这些步骤。
-
-研读[质押页面](/staking)以了解质押选项概述。
-
-### 使用节点 {#using-the-node}
-
-执行客户端提供[远程过程调用应用程序接口端点](/developers/docs/apis/json-rpc/);在以太坊网络上,你可以通过多种方式使用这些端点提交交易、与智能合约交互或部署智能合约:
-
-- 使用合适的协议(例如,`curl`)手动调用端点
-- 附加提供的控制台(例如 `geth attach`)
-- 使用 Web3 库在应用中实现端点,例如 [web3.py](https://web3py.readthedocs.io/en/stable/overview.html#overview) 和 [ethers](https://github.com/ethers-io/ethers.js/)
-
-不同的客户端有不同的远程过程调用端点实现。 不过,你可以选择一种标准 JSON-RPC 与每种客户端搭配使用。 想要了解概况,[请阅读 JSON-RPC 文档](/developers/docs/apis/json-rpc/)。 需要从以太坊网络中获取信息的应用,可以使用此远程过程调用。 例如,受欢迎的钱包 MetaMask 可让你[连接到自己的远程过程调用端点](https://metamask.zendesk.com/hc/en-us/articles/360015290012-Using-a-Local-Node),该端点具有卓越的隐私和安全优势。
-
-共识客户端都公开一个[信标应用程序接口](https://ethereum.github.io/beacon-APIs),可用于检查共识客户端的状态,或者通过使用 [Curl](https://curl.se) 等工具发送请求来下载区块和共识数据。 更多相关信息可在每种共识客户端的相关文档中找到。
-
-#### 访问远程过程调用 {#reaching-rpc}
-
-执行客户端 JSON-RPC 的默认端口是 `8545`,但可以在配置中修改本地端点的端口。 默认情况下,远程过程调用接口只能在计算机的本地主机上访问。 为了让该端口可被远程访问,你可以通过将地址改为 `0.0.0.0` 公开它。 这样就可以通过本地网络或公共互联网协议地址访问该端口。 大多数情况下,你还需要在路由器上设置端口转发。
-
-在互联网上公开端口时应保持谨慎,因为这会让互联网上的任何人都可以控制你的节点。 恶意行为者可以通过访问你的节点让你的系统下线,或者如果你将客户端用作钱包,他们会窃取你的资金。
-
-解决该问题的办法是,禁止修改可能有危害的远程过程调用方法。 例如,对于 Geth,你可以使用标记 `—http.api web3,eth,txpool` 声明可修改的方法。
-
-开发边缘层应用程序接口或 Web 服务器应用(如 Nginx)并将它们连接到客户端的本地地址和端口,这样做可扩展对远程过程调用接口的访问。 利用中间层还让开发者能够设置远程过程调用接口的安全 `https` 连接证书。
-
-设置 Web 服务器、代理或面向外部的表现层状态转换应用程序接口,并不是访问节点的远程过程调用端点的唯一方法。 另一种设置可公开访问端点且保护隐私的方法是,将节点托管在自己的 [Tor](https://www.torproject.org/) 洋葱服务上。 这将让你在本地网络外部无需静态公共互联网协议地址或开放的端口也能访问此远程过程调用端口。 然而,使用此配置可能只允许通过 Tor 网络访问远程过程调用端点,但并非所有应用程序都支持 Tor 网络,从而可能导致发生连接问题。
-
-为此,你必须创建自己的[洋葱服务](https://community.torproject.org/onion-services/)。 查看有关洋葱服务设置的[相关文档](https://community.torproject.org/onion-services/setup/)以托管你自己的节点。 你可以将其指向具有远程过程调用端口代理的 Web 服务器,或者直接指向远程过程调用。
-
-最后,访问内部网络最流行的方式之一是通过虚拟专用网连接。 根据你的用例和需要访问节点的用户数,也许可以选择安全的虚拟专用网连接。 [OpenVPN](https://openvpn.net/) 是一种功能完善的安全套接层虚拟专用网,它使用行业标准安全套接字层/传输层安全协议实现了开放式系统互联二层或三层安全网络扩展,支持基于证书、智能卡和/或用户名/密码凭据的灵活客户端身份验证方法,并允许用户或群组特定的访问控制策略(使用应用于虚拟专用网虚拟接口的防火墙规则)。
-
-### 运行节点 {#operating-the-node}
-
-你应该定期监控你的节点,确保它正常运行。 你可能还需要偶尔对它进行维护。
-
-#### 保持节点在线 {#keeping-node-online}
-
-你的节点不必一直在线,但你应该尽可能让节点保持在线,使其与网络保持同步。 你可以将其关闭以重新启动,但请记住:
-
-- 如果正在向磁盘写入最近的网络状态,关闭节点可能需要花费几分钟。
-- 强制关闭会破坏数据库,这可能需要你重新同步整个节点。
-- 客户端将无法与网络同步,重启后,客户端需要重新同步。 虽然节点可以从它最近一次关闭的位置开始同步,但此过程需要的时间取决于它离线的时间。
-
-_但是,共识层的验证者节点就需要一直在线。_验证者节点离线将影响所有依赖它的服务。 如果你是为了_质押_而运行节点,应该尽可能地减少停机时间。
-
-#### 创建客户端服务 {#creating-client-services}
-
-考虑创建一个在启动时自动运行客户端的服务。 例如,在 Linux 服务器上,最佳做法是创建一种服务,例如使用 `systemd`,为有限权限的用户执行配置正确的客户端并自动重启。
-
-#### 更新客户端 {#updating-clients}
-
-你应该通过安装最新的安全补丁、功能和[以太坊改进提案](/eips/),让客户端软件更新到最新版本。 特别是在[硬分叉](/history/)之前,确保运行正确的客户端版本。
-
-> 在重要的网络更新之前,以太坊基金会在其[博客](https://blog.ethereum.org)上发布相关文章。 你可以[订阅这些公告](https://blog.ethereum.org/category/protocol#subscribe),以便在你的节点需要更新时收到邮件通知。
-
-更新客户端非常简单。 每种客户端在其相关文档中都有具体说明,但通常更新过程仅包括下载最新版本并使用正确的可执行文件重启而已。 客户端应该会从上一次中断的位置继续,但请应用所有更新。
-
-每种客户端实现都有一个人类可读的版本字符串,该字符串在点对点协议中使用但也可以从命令行访问。 该版本字符串让用户可以检查他们运行的客户端版本是否正确,并支持区块浏览器和用来量化网络上特定客户端分布的其他分析工具。 有关版本字符串的更多信息,请参阅各客户端相关文档。
-
-#### 运行额外服务 {#running-additional-services}
-
-运行自己的节点,可以让你使用需要直接访问以太坊客户端远程过程调用的服务。 这些服务构建在以太坊上,如[二层网络解决方案](/developers/docs/scaling/#layer-2-scaling)、钱包后端、区块浏览器、开发者工具和其他以太坊基础设施。
-
-#### 监测节点 {#monitoring-the-node}
-
-为了正确监测节点,请考虑收集指标。 客户端提供了指标端点,因此你可以获得有关节点的全面数据。 使用 [InfluxDB](https://www.influxdata.com/get-influxdb/) 或 [Prometheus](https://prometheus.io/) 等工具创建数据库,并且可以在 [Grafana](https://grafana.com/) 等软件中将其可视化并转换成图表。 在可视化节点和整个网络时,Grafana 有许多设置和各种仪表版可供使用。 例如,查看[有关监测 Geth 的教程](/developers/tutorials/monitoring-geth-with-influxdb-and-grafana/)。
-
-在监测过程中,请务必密切关注机器的性能。 在节点初始同步期间,客户端软件可能会占用大量 CPU 和内存资源。 除了 Grafana,你也可以使用操作系统自带的 `htop` 或 `uptime` 等工具来监测节点。
-
-## 延伸阅读 {#further-reading}
-
-- [以太坊质押指南](https://github.com/SomerEsat/ethereum-staking-guides) _ – Somer Esat,定期更新_
-- [指南 | 如何在主网上为以太坊质押设置验证者](https://www.coincashew.com/coins/overview-eth/guide-or-how-to-setup-a-validator-on-eth2-mainnet) _– CoinCashew,定期更新_
-- [有关在测试网上运行验证者的 ETHStaker 指南](https://github.com/remyroy/ethstaker#guides) – _ETHStaker,定期更新_
-- [面向节点运营商的合并常见问题解答](https://notes.ethereum.org/@launchpad/node-faq-merge) - _2022 年 7 月_
-- [分析成为已验证以太坊全节点的硬件要求](https://medium.com/coinmonks/analyzing-the-hardware-requirements-to-be-an-ethereum-full-validated-node-dc064f167902)_ - Albert Palau,2018 年 9 月 24 日_
-- [运行以太坊全节点:勉励者指南](https://medium.com/@JustinMLeroux/running-ethereum-full-nodes-a-guide-for-the-barely-motivated-a8a13e7a0d31) _– Justin Leroux,2019 年 11 月 7 日_
-- [在以太坊主网上运行 Hyperledger Besu 节点:优点、要求和设置](https://pegasys.tech/running-a-hyperledger-besu-node-on-the-ethereum-mainnet-benefits-requirements-and-setup/) _– Felipe Faraggi,2020 年 5 月 7 日_
-- [部署具有监测堆栈的 Nethermind 以太坊客户端](https://medium.com/nethermind-eth/deploying-nethermind-ethereum-client-with-monitoring-stack-55ce1622edbd) _– Nethermind.eth,2020 年 7 月 8 日_
-
-## 相关主题 {#related-topics}
-
-- [节点和客户端](/developers/docs/nodes-and-clients/)
-- [区块](/developers/docs/blocks/)
-- [网络](/developers/docs/networks/)
diff --git "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/index.md" "b/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/index.md"
deleted file mode 100644
index 401a2d5fc06..00000000000
--- "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/index.md"
+++ /dev/null
@@ -1,92 +0,0 @@
----
-title: 共识机制
-description: 解释分布式系统中的协商一致协议及其在以太坊中扮演的角色。
-lang: zh
----
-
-“共识机制”一词常常泛指“权益证明”、“工作量证明”或“权威证明”协议。 不过,这些协议只是共识机制的组成部分,用于防范[女巫攻击](/glossary/#sybil-attack)。 共识机制是由一整套想法、协议和激励构成的体系,使得一系列分布式节点能够就区块链状态达成一致。
-
-## 前提条件 {#prerequisites}
-
-为了更好地理解此页面,我们建议你先阅读[以太坊简介](/developers/docs/intro-to-ethereum/)。
-
-## 什么是共识? {#what-is-consensus}
-
-我们所说的共识,是指达成了广泛的一致。 比如,一群人去看电影, 如果他们对于提议“看某部电影”没有任何异议,那么就可以说共识达成了。 如果存在异议,那么他们就必须通过某种方法决定看哪一部电影。 在极端情况下,这群人就会分开。
-
-对于以太坊区块链来说,达成共识的过程是标准化的,达成共识意味着全网络中至少 66% 的节点就网络的全局状态达成一致。
-
-## 什么是共识机制? {#what-is-a-consensus-mechanism}
-
-共识机制是一整套由协议、激励和想法构成的体系,使得整个网络的节点能够就区块链状态达成一致。
-
-以太坊采用基于权益证明的共识机制,其加密经济的安全性来自于对质押人的锁定资本实施的一系列奖励和罚没措施。 这种激励体系鼓励各个质押人诚信运行验证者节点,并惩罚那些有不良行为的质押人,让攻击网络的行为付出极其高昂的代价。
-
-还有一个协议,用于规范如何选择诚实的验证者,让它们提议或验证区块、处理交易并投票支持其链头部的视图。 极少数情况下,如果链头部附近的同一位置存在多个区块,就会利用一个分叉选择机制来选择区块组成“最重的”链。区块权重根据为相应区块投票的验证者数量进行计算,并由验证者质押的以太币余额进行加权。
-
-有些关于共识的重要概念并未在规范中明确定义,例如由潜在“带外社交协调”提供的额外安全保障,可作为防止网络攻击的最后防线。
-
-这些部分共同组成了共识机制。
-
-## 共识机制类型 {#types-of-consensus-mechanisms}
-
-### 基于工作量证明 {#proof-of-work}
-
-和比特币类似,以太坊也曾经使用基于**工作量证明 (PoW)** 的共识协议。
-
-#### 区块创建 {#pow-block-creation}
-
-矿工相互竞争以创建新的包括已处理交易的区块。 优胜者将与网络中的其他矿工分享该新区块,以获得新铸造的以太币。 数学问题解决速度最快的计算机可以在比赛中获胜。 这将生成当前区块和之前的区块之间的加密链接。 解决此问题就是要在“工作量证明”中开展的工作了。 规范链随后由一条叉选择规则确定,该规则选择了一组区块,这些区块在挖矿方面做得最多。
-
-#### 安全性 {#pow-security}
-
-因为用户需要拥有网络中 51% 的算力才能够欺骗整条链,因此网络的安全得以保证。 这将需要巨大的设备与能源投入,支出很有可能超过收益。
-
-关于[工作量证明](/developers/docs/consensus-mechanisms/pow/)的更多信息
-
-### 基于权益证明 {#proof-of-stake}
-
-以太坊目前使用基于**权益证明 (PoS)** 的共识协议。
-
-#### 区块创建 {#pos-block-creation}
-
-验证者创建区块。 每个时隙中都会随机选择一个验证者成为区块提议者。 区块提议者的共识客户端请求配对执行客户端对交易打包,作为“执行负载”。 然后它们将“执行负载”包装成共识数据并形成一个区块,再把这个区块发送给以太坊网络上的其他节点。 这样的区块生产会得到以太币奖励。 在极少数情况下,一个时隙中产生了多个可能的区块,或节点在不同时间收到区块,分叉选择算法就会选择使形成的链具有最大认证权重的那个区块(认证权重是指为该区块提供认证的验证者数量,并根据验证者质押的以太币余额调整)。
-
-#### 安全性 {#pos-security}
-
-权益证明体系保障加密经济的安全,因为攻击者若试图控制整条链,就必须销毁大量以太币。 奖励机制会奖励诚实的质押人,而惩罚机制则阻止质押人作出恶意行为。
-
-有关[权益证明](/developers/docs/consensus-mechanisms/pos/)的更多信息
-
-### 直观指南 {#types-of-consensus-video}
-
-观看视频,详细了解以太坊采用的不同类型共识机制:
-
-
-
-### Sybil 抗性和链选择 {#sybil-chain}
-
-仅仅工作量证明和权益证明还不能成为共识协议,然而为了简便起见,通常将它们称为共识协议。 它们实际上是女巫攻击防御机制和区块作者选择器;它们是决定最新区块的作者的一种方式。 另一个重要组成部分是链选择(又称分叉选择)算法,它让节点可以在同一位置有多个区块的情况下在链头部选择一个正确区块。
-
-**女巫攻击防御**衡量一种协议如何抗衡女巫攻击。 防御这种攻击对去中心化区块链至关重要,并使矿工和验证者能够在资源投入的基础上获得平等奖励。 通过让用户消耗大量能源或提供大量抵押品,工作量证明和权益证明可以防止这种情况。 这些保护措施通过经济手段对女巫攻击形成威慑。
-
-**链选择规则**用于决定哪条链才是“正确”的。 比特币使用“最长链”规则。这意味着,任何最长的区块链,都会被其他节点作为有效链接受并与之协作。 对于工作量证明链,最长链由链上累积的工作量证明总难度决定。 以太坊曾经也使用过最长链规则;然而权益证明机制下运行的以太坊采用了经过更新的分叉选择算法,衡量链的“权重”。 权重是验证者投票的累积总数,并以验证者质押的以太币余额加权。
-
-以太坊使用被称为 [Gasper](/developers/docs/consensus-mechanisms/pos/gasper/) 的共识机制,该机制结合了 [Casper 友好的最终确定性工具权益证明](https://arxiv.org/abs/1710.09437)和 [GHOST 分叉选择规则](https://arxiv.org/abs/2003.03052)。
-
-## 延伸阅读 {#further-reading}
-
-- [什么是区块链共识算法?](https://academy.binance.com/en/articles/what-is-a-blockchain-consensus-algorithm)
-- [什么是 Nakamoto 共识? 完整的初学者指南](https://blockonomi.com/nakamoto-consensus/)
-- [Casper 的工作原理](https://medium.com/unitychain/intro-to-casper-ffg-9ed944d98b2d)
-- [关于工作量证明区块链的安全性和性能](https://eprint.iacr.org/2016/555.pdf)
-- [拜占庭问题](https://en.wikipedia.org/wiki/Byzantine_fault)
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
-
-## 相关主题 {#related-topics}
-
-- [工作量证明](/developers/docs/consensus-mechanisms/pow/)
-- [矿工](/developers/docs/consensus-mechanisms/pow/mining/)
-- [权益证明](/developers/docs/consensus-mechanisms/pos/)
-- [权威证明](/developers/docs/consensus-mechanisms/poa/)
diff --git "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md" "b/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md"
deleted file mode 100644
index b53ab8cac41..00000000000
--- "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md"
+++ /dev/null
@@ -1,163 +0,0 @@
----
-title: 以太坊权益证明的攻击与防御
-description: 了解针对权益证明以太坊实施的已知攻击向量以及如何进行防御。
-lang: zh
----
-
-盗窃者和破坏者不断寻找机会来攻击以太坊客户端软件。 本页面概述了以太坊共识层已知的攻击向量以及如何防御这些攻击。 此页面上的信息改编自[加长版](https://mirror.xyz/jmcook.eth/YqHargbVWVNRQqQpVpzrqEQ8IqwNUJDIpwRP7SS5FXs)。
-
-## 前言 {#prerequisites}
-
-阅读本文需要一些[权益证明](/developers/docs/consensus-mechanisms/pos/)的基础知识。 另外,如果对以太坊[激励层](/developers/docs/consensus-mechanisms/pos/rewards-and-penalties)以及分叉选择算法 [LMD-GHOST](/developers/docs/consensus-mechanisms/pos/gasper) 有基本的了解,也会有所帮助。
-
-## 攻击者想要什么? {#what-do-attackers-want}
-
-一个常见的误解是成功的攻击者可以产生新的以太币或者从任意帐户中耗尽以太币。 这些都是不可能的,因为所有的交易都由网络上的所有执行客户端来执行。 它们必须满足有效性的基本条件(例如,使用发送人私钥签名交易,发送人有足够的余额,等等),否则它们会被恢复原状。 攻击者实际上可能会针对三类结果:重组、双重最终确定性或最终确定性延迟。
-
-**“重组”**是把区块重新调整成新的顺序,也许还会在规范链中增加或减少一些区块。 恶意重组可能会确保特定区块被包含或者被排除,从而允许通过前台运行和后台运行的交易(矿工可提取价值)进行双重支出或价值提取。 重组也能用来阻止某些交易被包含在规范链 - 审查的一种形式。 重组的最极端形式是“最终确定性逆转”,它会移除或代替之前已被最终确定的区块。 这只有在超过 ⅓ 的质押以太币总量被攻击者销毁时才可能 - 这种保证被称为“经济最终确定性” - 稍后会详细介绍。
-
-**双重最终确定性**是一种不太可能但是会很严重的情况,两个分叉能够同时最终确定,在链中造成永久性分裂。 对于愿意冒 34% 的质押以太币总量风险的攻击者来说,这在理论上是可行的。 社区将被迫在链下进行协调,达成应该遵循哪一条链的共识,这需要社交层的力量。
-
-**最终确定性延迟**攻击会阻止网络达到最终确定链的部分的必要条件。 如果没有最终确定性,那就很难信任构造在以太坊上的金融应用。 最终确定性延迟攻击的目的可能只是破坏以太坊而不是直接获利,除非攻击者有一些战略性空头头寸。
-
-对社交层的攻击可能旨在破坏公众对以太坊的信任、让以太币贬值、减少使用或者削弱以太坊社区,以便让带外协作更加困难。
-
-在确定了敌人为什么攻击以太坊后,接下来的部分看看他们是_如何_做的。
-
-## 攻击方式 {#methods-of-attack}
-
-### 0 层网络攻击 {#layer-0}
-
-首先,没有积极参与以太坊(通过运行客户端软件)的个人可以针对社交层(0 层网络)进行攻击。 0 层网络是以太坊构建的基础,因此它代表了潜在的攻击面,其后果会波及堆栈的其余部分。 包括这些例子:
-
-- 一个混淆视听的活动可以削弱社区对以太坊路线图、开发者团队、应用等的信任。 这会减少愿意参与保护网络安全的人数,降低去中心化和加密经济安全的程度。
-- 针对开发者社区的攻击和/或恐吓。 这会导致开发者自愿退出,并减缓以太坊的进展。
-
-- 过度监管也被认为是一种针对 0 层网络的攻击,因为它能够快速的抑制参与和使用。
-- 知识丰富但怀有恶意的行为者渗透到开发者社区,其目的是通过避重就轻的讨论、延迟关键决策、制造垃圾邮件等来减缓进展。
-- 贿赂以太坊生态系统的重要人物,以此来影响决策过程。
-
-在很多情况下,攻击者只需要一点资金或者技术诀窍,就能让这些攻击变得特别危险。 一个 0 层网络攻击造成的影响可能是一个加密经济攻击的数倍。 例如,如果恶意的多数质押拥有者实现了审查或最终确定性逆转,那么破坏社会层可能会使带外协调社区响应变得更加困难。
-
-对 0 层网络攻击的防御可能不是那么简单,但是可以确立一些基本原则。 其中一个是保持关于以太坊公共信息的整体高信噪比,由社区中的诚实成员创建,并且通过博客、discord 服务器、注释规范、书籍、播客和 Youtube 来进行传播。 在 ethereum.org,我们竭力保持信息的准确,并且把信息尽可能的翻译成更多的语言。 使用高质量信息和模因来填充空间是一种对误导信息的有效防御。
-
-另一个对抗社交层攻击的重要措施是有一个清晰的使命宣言和治理协议。 以太坊将自己定位为智能合约一层网络中的去中心化和安全冠军,同时也高度重视可扩展性和可持续性。 无论以太坊社区出现什么分歧,这些核心原则都不会受到损害。 根据这些核心原则对叙述进行评估,以及在 EIP(以太坊改进提案)进展中通过连续多轮评审对其进行检查,有助于社区区分良好行为者与不良行为者,并且限制恶意行为者影响以太坊未来方向的范围。
-
-最后,以太坊社区保持开放并欢迎所有参与者至关重要。 有门槛和排外性的社区特别容易遭受社交层攻击,因为很容易建立“我们和他们”的说法。 部落主义和有毒的极简主义会伤害社区和削弱 0 层网络安全性。 在网络安全有既得利益的以太坊人应该审视他们在网上和现实中的行为,把自己看作对以太坊 0 层网络安全的直接贡献者。
-
-### 攻击协议 {#attacking-the-protocol}
-
-所有人都能运行以太坊客户端软件。 为了把验证者添加到客户端,用户需要在存款合约质押 32 个以太币。 验证者允许用户通过提议和证明新区块,活跃参与以太坊网络的安全建设。 验证者现在可以发声来影响区块链的未来内容 - 他们可以表现诚实并通过奖励来增加他们的以太币储备,他们也可以冒着风险尝试操纵这个过程来给他们自己谋利。 其中一个发动攻击的方式是积累大部分的总质押并且通过它投票反对诚实的验证者。 攻击者控制的质押比例越大,他们的投票就越有力,特别是在我们稍后将探讨的某些经济里程碑。 然而,大部分攻击者并不能积累足够的以太币来启动这样的攻击,因此,他们使用一些微妙的技术操纵大部分的诚实者来实现这种攻击。
-
-从根本上说,所有小额质押攻击都是两种验证者不当行为的细微变种:活跃不足(无法证明/提议或行动缓慢)或过度活跃(在一个时隙多次提议/证明)。 在最普通的形式中,这些行为能被分叉选择算法和激励层轻松处理,但是也存在其他一些更聪明的方法让系统做出对攻击者有利的反应。
-
-### 使用少量以太币攻击 {#attacks-by-small-stakeholders}
-
-#### 重组 {#reorgs}
-
-有不少论文说明了如何仅使用少量的总质押以太币,达到重组和最终确定性延迟的以太坊攻击。 这些攻击通常依赖于攻击者向其他验证者隐瞒信息,然后以微妙的方式和/或适当的时机释放它。 它们的目的通常是替换规范链中的一些诚实的区块。 [Neuder et al 2020](https://arxiv.org/pdf/2102.02247.pdf) 展示了发动攻击的验证者如何为一个特定的时隙 `n+1` 创建和证明一个区块 (`B`),但不让它向网络上的其他节点传播。 反之,它们会保留已被证明的区块,直到下一个时隙 `n+2`。 诚实的验证者为时隙 `n+2` 提议一个区块 (`C`)。 几乎同时,攻击者释放它们所扣留的区块 (`B`) 及其认证,然后使用它们的投票在时隙 `n+2` 证明 `B` 是链的头部,有效否认诚实区块 `C` 的存在。 当诚实区块 `D` 被释放时,分叉选择算法认为构建在 `B` 之上的 `D` 重于构建在 `C` 上的 `D`。 因此,攻击者可以在时隙 `n+2` 使用事前重组的单区块从规范链移除诚实区块 `C`。 [攻击者拥有 34%](https://www.youtube.com/watch?v=6vzXwwk12ZE) 的质押将很可能在这次攻击中成功,如[这篇笔记](https://notes.ethereum.org/plgVdz-ORe-fGjK06BZ_3A#Fork-choice-by-block-slot-pair)所解释。 不过,从理论上讲,这种攻击可以用更少的质押进行。 [Neuder et al 2020](https://arxiv.org/pdf/2102.02247.pdf) 描述这次攻击使用了 30% 的质押,但后续展示了 [2% 总质押](https://arxiv.org/pdf/2009.04987.pdf)的可行性。我们将在下一部分研究 [单一验证者](https://arxiv.org/abs/2110.10086#)使用平衡技术。
-
-![事前重组](reorg-schematic.png)
-
-上面描述的单区块重组攻击的概念图(改编自 https://notes.ethereum.org/plgVdz-ORe-fGjK06BZ_3A#Fork-choice-by-block-slot-pair)
-
-更加复杂的攻击可以将诚实验证者分成不同的组,不同的组对于链头部有不同的看法。 这被称为**平衡攻击**。 攻击者等待提议区块的机会,当机会到来时他们会摸棱两可并且提议两个区块。 他们会把这两个区块分别发送给各一半的诚实验证者。 分叉选择算法将会检测到摸棱两可的情况,然后区块提议者会被罚没以及从网络移除,但是这两个区块仍然存在,并且各一半的验证者会证明各自的分叉。 与此同时,剩余的恶意验证者会暂缓他们的认证。 然后,在分叉选择算法执行时,有选择性地将利于一个或另一个分叉的认证释放给足够多的验证者,从而让累积的认证权重向一个或另一个分叉倾斜。 这可以无限期地持续下去,攻击验证者在两个分叉上保持了验证者的平均分配。 由于这两个分叉都不能吸引 2/3 的绝对多数,网络不会最终确定。
-
-**弹跳攻击**类似。 投票同样被攻击验证者扣留。 但他们没有释放投票来保持两个分叉的平均分配,而是在适当的时候使用他们的投票来证明在分叉 A 和分叉 B 之间变换的检查点的合理性。两个分叉之间的合理性翻转阻止了有成对的合理来源和目标检查点在任一链的最终确定,从而让最终确定性进程停止。
-
-
-
-弹跳攻击和平衡攻击都依赖于攻击者对网络的消息时机有良好的控制,而这是不可能的。 不过,有一些防御措施被加入到协议中,其形式是给快速信息提供额外的权重,而非慢速信息。 这被称为[提议者权重增强](https://github.com/ethereum/consensus-specs/pull/2730)。 为了应对弹跳攻击,对分叉选择算法进行了更新,这样最新被证明的检查点只能在[每个时段的前 1/3 时隙](https://ethresear.ch/t/prevention-of-bouncing-attack-on-ffg/6114)期间切换到另一条链。 这个条件阻止了攻击者保存投票以便后续实施 - 分叉选择算法只忠于它在前 1/3 时段选择的检查点,在这个时间内大部分诚实的验证者已经完成了投票。
-
-这些措施结合在一起形成了这样一种场景:诚实的区块提议者在时隙开始时快速发送他们的区块,然后约有 1/3 时隙(4秒)的时间段,新区块可能导致分叉选择算法切换到另一条链。 在同一截止时间后,与较早到达的验证者相比,来自较慢验证者的认证会被降低权重。 这极大地支持了快速提议者和验证者决定链的头部,同时大大减少了平衡或弹跳攻击成功的可能性。
-
-值得注意的是,被单独增强的提议者只能防御“廉价的重组”,即那些有少量质押的攻击者实施的攻击。 实际上,提议者增强本身可以被较大数量质押拥有者所利用。 [这个帖子](https://ethresear.ch/t/change-fork-choice-rule-to-mitigate-balancing-and-reorging-attacks/11127)的作者描述了攻击者如何利用 7% 质押有策略地实施他们的投票,欺骗诚实验证者在他们的分支上进行构建,从而重组出一个诚实的区块。 这种攻击需要非常理想的延迟条件设计,这不太可能。 攻击者的胜算仍然很低,更多的质押意味着冒更多的资本风险和更强力的经济抑制因素。
-
-[专门针对“最新消息驱动”规则的平衡攻击](https://ethresear.ch/t/balancing-attack-lmd-edition/11853)也被提出,尽管有提议者增强,它仍被认为是可行的。 攻击者设置两个互相竞争的链,摸棱两可地提出他们的区块提议并把每个区块都传播给对应的一半网络,以及在分叉之间设置精确的平衡。 然后串通验证者来摸棱两可地投票并掌握好时机,让一半的网络先接收分叉 `A` 的投票,另一半的网络先接收 `B` 的投票。 因为“最新消息驱动”规则会丢弃第二个认证,只为每个验证者保留第一个,一半的网络看到给 `A` 的投票,看不到给 `B` 的投票,另一半网络看到给 `B` 的投票,看不到给 `A` 的投票。 作者描述了“最新消息驱动”规则给了对手“非凡的力量”来发动平衡攻击。
-
-通过[更新分叉选择算法](https://github.com/ethereum/consensus-specs/pull/2845),“最新消息驱动”攻击向量已变得不可行,因为更新后的分叉选择算法会完全丢弃模棱两可的验证者。 分叉选择算法让摸棱两可的验证者对于未来的影响非常有限。 这阻止了上述的平衡攻击,同时保持抵抗雪崩攻击的弹性。
-
-另一类攻击,称为[**雪崩攻击**](https://ethresear.ch/t/avalanche-attack-on-proof-of-stake-ghost/11854/3),它在一篇 [2022 年 3 月的论文](https://arxiv.org/pdf/2203.01315.pdf)中有所描述。 为了发动雪崩攻击,攻击者需要控制几个连续的区块提议者。 在每个区块提议的时隙,攻击者扣留他们的区块,把他们收集起来,直到诚实链达到与扣留区块相等的子树权重。 然后,扣留的区块会被释放,以便他们最大程度地摸棱两可。 作者认为提议者增强 - 对平衡攻击和弹跳攻击的主要防御方法 - 不能对抗某些雪崩攻击的变种。 然而,作者只论证了在高度理想的以太坊分叉选择算法版本(他们使用幽灵协议,但不是最新消息驱动)中进行攻击。
-
-LMD-GHOST 分叉选择算法的“最新消息驱动”部分减轻了雪崩攻击。 LMD 的意思是“最新消息驱动”,它是指一个由每个验证者保存的表格,表格包含从其他验证者收到的最新消息。 如果表格中已经存在从某个验证者接收到的消息,那么来自该验证者的新消息的时隙需要比表格中已有消息的时隙更晚,该字段才会更新。 实际上,这意味着在每个时隙中,第一条被接收到的消息会被接受,其余任何摸棱两可的消息会被忽略。 换言之,共识客户端不对模棱两可进行计数 - 他们使用从每个验证者发出的第一个到达的消息,模棱两可的则会被丢弃,以防止雪崩攻击。
-
-未来还有几个潜在的分叉选择规则升级,它们能增加由提议者增强提供的安全性。 其中一个是[视图合并](https://ethresear.ch/t/view-merge-as-a-replacement-for-proposer-boost/13739):在时隙开始前,证明者冻结它们的分叉选择视图 `n` 秒,然后提议者会帮助它们同步网络中链的视图。 另一个潜在的升级是[单时隙最终确定性](https://notes.ethereum.org/@vbuterin/single_slot_finality),它通过在一个时隙后最终确定链,来抵抗基于消息时机的攻击。
-
-#### 最终确定性延迟 {#finality-delay}
-
-在[同一篇论文](https://econcs.pku.edu.cn/wine2020/wine2020/Workshop/GTiB20_paper_8.pdf),首次描述了低成本单区块重组攻击,也描述了最终确定性延迟(也被称为“活性失败”)攻击,它依赖于攻击者成为时段边界的区块提议者。 这非常重要,因为这些时段边界区块会成为检查点,Casper 友好确定工具使用这些检查点来最终确定链的部分。 攻击者扣留他们的区块,直到足够多的诚实验证者使用它们友好确定工具投票来支持上一个时段边界区块作为当前最终确定的目标。 然后,他们就会释放扣留的区块。 他们证明他们的区块,并且其余诚实验证者也用不同的目标检查点创建分叉。 如果他们准确把握时机,他们就会阻止最终确定性,因为这将没有 2/3 的绝对多数来证明任何一个分叉。 质押越小,就要越精准地把握时机,因为攻击者直接控制的认证会越少,并且攻击者能够控制提出特定时段边界区块的验证者的胜算就越低。
-
-#### 长程攻击 {#long-range-attacks}
-
-还有一种针对权益证明区块链的攻击。在这种攻击中,参与创世区块的验证者会维护一条独立的、与诚实分叉同时存在的分叉,并且最终说服诚实的验证者在很久之后的某个合适的时间切换到该链。 这类型的攻击在以太坊不可能发生,因为最终确定性小工具保证所有的验证者在固定间隙(“检查点”)同意诚实链的状态。 这种简单机制抵制了长程攻击者,因为以太坊客户端不会重组最终确定的区块。 加入网络的新节点会寻找一个被信任的最近状态哈希(一个[主观性弱](https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/)的“检查点”),并将其作为一个伪创世块,在这基础上进行构建。 由此,在新节点开始给它自己验证信息之前,创建了一个进入网络的“信任网关”。
-
-#### 拒绝服务 {#denial-of-service}
-
-以太坊权益证明机制在每个时隙从所有验证者中挑选出一个验证者成为区块提议者。 这可以通过一个公开的函数来计算,对手有可能在提议者提出区块前一小段时间,提前识别出下一个区块提议者。 然后,攻击者可以向区块提议者发送垃圾邮件,阻止他们与其他节点交换信息。 对于网络上其余的人来说,相当于区块提议者离线,并且时隙会变空。 这相当于一种对于特定验证者的审查,阻止他们向区块链添加信息。 实现单一秘密领导者选举 (SSLE) 或者非单一秘密领导者选举能减少拒绝服务攻击的风险,因为只有区块提议者知道自己被选中,而选举结果是无法提前获知的。 但这还没有实现,只是[研发](https://ethresear.ch/t/secret-non-single-leader-election/11789)的活跃领域。
-
-所有这些都指向一个事实,那就是使用少数质押成功攻击以太坊非常困难。 这里所描述的可行攻击需要一个理想的分叉选择算法、不可能的网络条件,或者攻击向量已经被客户端软件小补丁修复。 当然,这不排除存在零日攻击的可能性,不过这也证明了少数质押攻击者要有效实施攻击,需要有非常高的技术能力、共识层知识以及运气。 从攻击者的角度来看,他们最好的选择可能是尽可能多地积累以太币,然后带着更大比例的总质押回来。
-
-### 使用超过或等于总质押 33% 的攻击者 {#attackers-with-33-stake}
-
-如果攻击者有更多质押以太币来投票,以及有更多验证者在每个时隙被选中提议区块,上述提到的所有攻击就更容易成功。 因此,一个恶意验证者的目标是控制尽可能多的质押以太币。
-
-对于攻击者来说,33% 的质押以太币是一个基准,因为一旦超过这个数量,他们无需精确控制其他验证者行为就能阻止链最终确定。 他们可以一起消失。 如果 1/3 或更多的质押以太币恶意地证明或无法证明,那么就不存在 2/3 的绝对多数,链也无法最终确定。 对此的防御方法是怠惰惩罚。 怠惰惩罚识别那些无法证明或与大多数证明不一致的验证者。 这些无证明验证者的质押以太币将逐渐流失,直到他们集体所代表的数量少于 1/3 的总数,这样链才能再次最终确定。
-
-怠惰惩罚的目的是让链可以再次最终确定。 不管怎样,攻击者也会失去一部分的质押以太币。 代表 33% 总质押以太币的验证者如果持续不活跃,将付出昂贵的代价,即使没有被罚没。
-
-假设以太坊网络是异步的(即,在消息发送和接收之间存在延迟),控制 34% 总质押的攻击者就可以引起双重最终确定性。 因为当攻击者被选为区块提议者时,他们就可以模棱两可,然后联合他们所有的验证者进行双重投票。 这造成了一个区块链分叉存在的情况,每个分叉都有 34% 的质押以太币给它投票。 每个分叉只需要剩余验证者 50% 的投票,两个分叉就可以得到绝对多数所支持,在这种情况下,两条链都能最终确定(因为 34% 攻击验证者 + 剩余的 66% 的一半 = 每个分叉 67%)。 互相竞争的区块将被约 50% 的诚实验证者接收,因此为了让攻击可行,攻击者需要在一定程度上控制消息在网络传播的时机,以便他们可以将一半的诚实验证者推到每条链上。 攻击者必须销毁他们的全部质押(以目前验证者数量来说,是约 1000 万以太币的 34%)以便达到这种双重最终确定性,因为 34% 的验证者将同时进行双重投票 - 有着最大的相关性惩罚的罚没罪行。 对这种攻击的防御方法是攻击者将承担 34% 的总质押以太币被销毁的巨大成本。 从这种攻击中恢复需要以太坊社区在“带外”进行协调,选择同意哪一个分叉,然后忽略其他分叉。
-
-### 使用约 50% 总质押的攻击者 {#attackers-with-50-stake}
-
-拥有 50% 质押以太币的恶意验证者团队理论上可以将链分成两个相同大小的分叉,然后使用他们全部 50% 质押投出与诚实验证者团体相反的投票,以此来维持两个分叉以及阻止最终确定性。 对两个分叉的怠惰惩罚将导致两条链都会最终确定。 在这种情况下,唯一的方法就是使用社交层进行恢复。
-
-对于一个敌对的验证者团体来说,不太可能可以持续精确控制 50% 的总质押,因为诚实验证者的数量是流动变化的,网络也会发生延迟等等 - 巨大的攻击成本以及低成功率对于理性攻击者来说是一种强力的抑制因素,尤其是用于获取_超过_ 50% 的小额额外投资可以释放非常强大的力量时。
-
-如果攻击者拥有超过 50% 的总质押,就可以支配分叉选择算法。 这时,攻击者可以使用大多数投票来证明,而且有足够的控制权力进行短期重组,而无需欺骗诚实验证者。 诚实的验证者会效仿,因为他们的分叉选择算法也会把攻击者支持的链视为最重的,因此链可以最终确定。 这使得攻击者可以审查某些交易,以有利于他们的方式进行短距重组以及重新排序区块来提取最大的矿工可提取价值。 对此的防御手段是让攻击者付出大多数质押的巨大成本(目前略低于 190 亿美元),这会让攻击者面临风险,因为社交层可能会介入并采纳诚实的少数分支,让攻击者的质押大幅度贬值。
-
-### 使用超过或等于 66% 总质押的攻击者 {#attackers-with-66-stake}
-
-拥有 66% 或更多总质押以太币的攻击者,可以在无需胁迫任何诚实验证者的情况下最终确定他们所支持的链。 攻击者只需要给他们所支持的分叉进行投票并最终确定它,因为他们有绝对多数的不诚实投票。 作为绝对多数的质押拥有者,攻击者始终可以控制最终确定的区块的内容,拥有着支出、回退和再次支出、审查某些交易以及随意重组链的能力。 通过购买额外的以太币来控制 66% 而非 51%,攻击者实际上购买了事后重组和最终确定性逆转的能力(即改变过去并控制未来)。 唯一实际可操作的防御方法是攻击者需要付出 66% 总质押以太币的高昂成本,然后选择回退到社交层来协调采纳替代的分支。 我们将在下一部分详细探讨这一点。
-
-## 人:最后的防线 {#people-the-last-line-of-defense}
-
-如果不诚实的验证者设法最终确定他们所支持的链版本,以太坊社区将陷入困境。 规范链将在其历史记录中包含不诚实部分,同时诚实的验证者可能会因证明另一条(诚实)链而被惩罚。 注意,最终确定的但不正确的链也可能是大多数客户端的漏洞引起的。 最后,最终的回退需要依赖于社交层 - 0 层网络 - 来解决。
-
-以太坊权益证明共识的其中一个优势是存在[一系列的防御策略](https://youtu.be/1m12zgJ42dI?t=1712),在面对攻击的时候社区可以实施这些策略。 最起码的响应是在不实施任何惩罚的情况下强制攻击者的验证者离开网络。 为了重新进入网络,攻击者需要加入到一个激活队列,确保验证者组逐步增加。 例如,添加足够的验证者让质押的以太币翻倍需要约 200 天,攻击者要再一次尝试 51% 攻击,需要提前 200 天收买诚实的验证者。 但是,社区也可以决定更严厉地惩罚攻击者,方法是撤销以往的奖励或者销毁一定比例的(高达 100%)质押资本。
-
-不管攻击者受到什么惩罚,社区都必须一起确认不诚实链实际上是否无效,尽管它被以太坊客户端的分叉选择算法所支持。社区应该在诚实的链上构建。 诚实的验证者可以集体同意在被社区认可的以太坊区块链分叉上进行构建,例如,该分叉可能在攻击开始之前就已经从规范链上分叉出来,或者攻击者的验证者被强行移除。 诚实的验证者受到激励来构建这条链,因为他们可以避免因无法证明(或无法正确地证明)攻击者的链而受到惩罚。 建立在以太坊上的交易所、入口和应用可能更愿意位于诚实链上,并且跟随诚实验证者的诚实区块链。
-
-但是,这是一个重大的治理挑战。 有些用户和验证者会在切换回诚实链时无可避免地产生损失,因为攻击后被验证的区块中的交易可能会回滚,从而扰乱应用层。这很容易破坏一些相信“代码就是法律”的用户的道德原则。 交易所和应用很可能已经把脱链行为和现在可能要回滚的链上交易关联起来,并开始一连串的撤回和修订,很难公平地进行取舍,特别是如果不义之财混杂在其中,存入了去中心化金融或其他衍生品,会对诚实用户产生二次影响。 毫无疑问,那些因为精明或机缘巧合已经从不诚实链获利的一些用户甚至机构,可能会反对分叉以此保护他们的利益。 目前已经有呼吁要求社区对大于 51% 攻击的响应进行演练,以便可以快速执行合理的协调缓解措施。 Vitalik 发起一些有用的讨论,在 ethresear.ch 上:[这里](https://ethresear.ch/t/timeliness-detectors-and-51-attack-recovery-in-blockchains/6925)和[这里](https://ethresear.ch/t/responding-to-51-attacks-in-casper-ffg/6363),以及在 Twitter 上:[这里](https://twitter.com/skylar_eth/status/1551798684727508992?s=20&t=oHZ1xv8QZdOgAXhxZKtHEw)。 协调的社会响应的目的应该是非常有针对性和具体地惩罚攻击者并尽量减少对其他用户的影响。
-
-治理已经是一个复杂的话题。 管理 0 层网络紧急响应通过不诚实行为确定下来的链,对于以太坊社区来说毋庸置疑是一个挑战,但在以太坊历史上[已经发生过](/history/#dao-fork-summary) [2 次](/history/#tangerine-whistle)。
-
-尽管如此,在现实世界的最后回滚中,还是有一些令人相当满意的东西。 最后,即使在我们之上有着如此惊人的技术堆栈,但如果最坏的情况发生了,现实中的人们也必将协调出一条属于他们的出路。
-
-## 摘要 {#summary}
-
-本页面探讨了攻击者试图利用以太坊权益证明共识协议的一些方法。 随着总质押以太币比例不断增加,探讨了攻击者可能造成的重组和最终确定性延迟。 总的来说,更富裕的攻击者成功的几率更大,因为他们的质押将变成有力的投票,从而影响未来区块的内容。 在一定阈值的质押以太币数量下,攻击者的力量会上升:
-
-33%:最终确定性延迟
-
-34%:最终确定性延迟、双重最终确定性
-
-51%:最终确定性延迟、双重最终确定性、审查、控制区块链的未来
-
-66%:最终确定性延迟、双重最终确定性、审查、控制区块链的未来以及过去
-
-还有一系列更加复杂的运用少量质押以太币发起的攻击,但是需要非常有经验的攻击者良好地控制消息在诚实验证者之间的传播时机,以便让形势对攻击者有利。
-
-总的来说,尽管存在这些潜在的攻击向量,但是攻击成功的概率非常低,低于在工作量证明机制下实施的同类攻击。 这是因为攻击者需要冒着巨大的质押以太币成本风险,以便利用他们的投票力量压倒诚实的验证者。 内置的“恩威并济”激励层可以防止大多数的恶意行为,尤其是对于拥有少量质押的攻击者。 更微妙的弹跳和平衡攻击也不太可能成功,因为在现实的网络条件下,很难良好地控制消息向特定验证者传递,如果发现了已知的弹跳、平衡和雪崩攻击向量,客户端团队也能通过补丁快速修复。
-
-34%、51% 或者 66% 攻击可能需要带外的社会协调来解决。 虽然对于社区来说是痛苦的,但是社区的带外响应能力对于攻击者来说是一种强大的抑制力量。 以太坊的社交层是最终的后盾 - 从技术性取得成功的攻击仍然会被社区同意采用诚实链所瓦解。 攻击者和以太坊社区之间存在一场竞赛 - 花费在 66% 攻击上的数十亿美元可能会被成功的社交协调所抹除,从而给攻击者留下沉重的包袱,因为它们质押的以太币将在被以太坊社区忽略的不诚实链上无法流动。 最终为攻击者带来利益的可能性非常低,这足以成为一种有效的威慑。 这就是为什么投资于维持有共同价值观和凝聚力的社交层如此重要。
-
-## 延伸阅读 {#further-reading}
-
-- [此页面的更详细版本](https://mirror.xyz/jmcook.eth/YqHargbVWVNRQqQpVpzrqEQ8IqwNUJDIpwRP7SS5FXs)
-- [Vitalik 关于结算最终确定性的看法](https://blog.ethereum.org/2016/05/09/on-settlement-finality/)
-- [有关最新消息驱动的幽灵协议的论文](https://arxiv.org/abs/2003.03052)
-- [“Casper-FFG”论文](https://arxiv.org/abs/1710.09437)
-- [Gasper 论文](https://arxiv.org/pdf/2003.03052.pdf)
-- [提议者权重增强共识层规范](https://github.com/ethereum/consensus-specs/pull/2730)
-- [ethresear.ch 的弹跳攻击](https://ethresear.ch/t/prevention-of-bouncing-attack-on-ffg/6114)
-- [单一秘密领导者选举研究](https://ethresear.ch/t/secret-non-single-leader-election/11789)
diff --git "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/attestations/index.md" "b/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/attestations/index.md"
deleted file mode 100644
index ec900c1c007..00000000000
--- "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/attestations/index.md"
+++ /dev/null
@@ -1,92 +0,0 @@
----
-title: 认证
-description: 关于在权益证明以太坊上进行认证的描述。
-lang: zh
----
-
-验证者需要在每个时段创建、签名和广播认证。 本页面概述了这些认证是什么样的,以及他们是如何被处理和如何在共识客户端交流的。
-
-## 什么是认证? {#what-is-an-attestation}
-
-每个[时段](/glossary/#epoch)(6.4 分钟)验证者都会向网络提议一个认证。 这个认证是针对时段中的一个特定时隙。 认证的目的是投票赞成验证者对于链的看法,特别是最近的合理区块和当前时段的第一个区块(被称为`来源`和`目标`检查点)。 所有参与的验证者的信息都会合并,使得网络可以达成关于区块链状态的共识。
-
-认证包含以下组成部分:
-
-- `aggregation_bits`:验证者的位列表,其位置映射到委员会中的验证者索引;(0/1) 数值表示验证者是否签名了`数据`(即,他们是否活跃和同意区块提议者)
-- `data`:与认证相关的细节,如下方的定义
-- `signature`:聚合了个人验证者签名的 BLS 签名
-
-证明验证者的第一项任务是创建 `data`。 `data` 包含以下信息:
-
-- `slot`:认证指向的时隙号
-- `index`:一个数字,用来识别在给定的时隙中,验证者所属的委员会
-- `beacon_block_root`:验证者在链头看到的区块的根哈希(应用分叉选择算法的结果)
-- `source`:最终确定性投票的一部分,表示验证者认为的最新的合理区块
-- `target`:最终确定性投票的一部分,表示验证者认为的当前时段的第一个区块
-
-一旦 `data` 构造完成,验证者就可以将 `aggregation_bits` 中对应于他们自己的验证者索引的位从 0 翻转到 1,以表明他们已经参与。
-
-最终,验证者签名认证并且在网络进行广播。
-
-### 聚合的认证 {#aggregated-attestation}
-
-对于验证者来说,在网络传递此数据需要大量的开销。 因此,在更加广泛地广播前,个人验证者的认证会在子网内进行聚合。 这包括聚合签名,以便广播的认证包含共识 `data` 和一个签名,后者结合了所有同意 `data` 的验证者的签名。 这可以使用 `aggregation_bits` 来检查,因为它提供了委员会中每个验证者的索引(其 ID 在 `data` 中提供),可用于查询个人签名。
-
-在每个时段,每个子网中会有 16 个验证者被选为`聚合者`。 聚合者收集所有在广播网络听到的,与他们自己的 `data` 相同的所有认证。 每一个匹配认证的发送者被记录在 `aggregation_bits` 中。 然后聚合者将聚合的认证广播到更广泛的网络上。
-
-当一个验证者被选为区块提议者时,他们打包从子网到新区块最新时隙的聚合认证。
-
-### 认证纳入生命周期 {#attestation-inclusion-lifecycle}
-
-1. 生成
-2. 传播
-3. 聚合
-4. 传播
-5. 纳入
-
-认证的生命周期在下面的示意图中概述:
-
-![认证生命周期](./attestation_schematic.png)
-
-## 奖励 {#rewards}
-
-验证者提交认证将获得奖励。 认证奖励决于参与标志(来源、目标和头)、基础奖励和参与率。
-
-每个参与标志都可以为真 (true) 或假 (false),这取决于提交的认证及其纳入延迟。
-
-最佳情况是全部三个标志都为真 (true),此时对于每个正确标志,验证者将获得:
-
-`奖励 += 基础奖励 * 标志权重 * 标志认证率 / 64`
-
-标志认证率使用给定标志的所有认证验证者的有效余额之和与总活跃有效余额相比较得出。
-
-### 基础奖励 {#base-reward}
-
-基础奖励根据证明验证者的数量及其有效质押以太币余额来计算:
-
-`base reward = validator effective balance x 2^6 / SQRT(Effective balance of all active validators)`
-
-#### 纳入延迟 {#inclusion-delay}
-
-在验证者对链头 (`block n`) 进行投票,并且 `block n+1` 还没有被提出的时候。 认证自然会在**一个区块后**被包含,因此,投票给 `block n` 称为链头的所有认证被包含在 `block n+1` 中,其**纳入延迟**为 1。 如果纳入延迟加倍到两个时隙,那么认证奖励将减半,因为认证奖励等于基础奖励乘以纳入延迟的倒数。
-
-### 认证场景 {#attestation-scenarios}
-
-#### 缺失投票验证者 {#missing-voting-validator}
-
-验证者最多有 1 个时段来提交他们的认证。 如果在时段 0 缺失了认证,那就可以在时段 1 中提交并且附带纳入延迟。
-
-#### 缺失聚合者 {#missing-aggregator}
-
-每个时段总共有 16 个聚合者。 此外,随机验证者订阅了**两个子网的 256 个时段**,在聚合者缺失的情况下作为备份。
-
-#### 缺失区块提议者 {#missing-block-proposer}
-
-请注意,在某些情况下,幸运的聚合者可能也会成为区块提议者。 如果因为区块提议者缺失导致认证没有被包含,下一个区块提议者会捡起聚合的认证并将其包含到下一个区块中。 但是,**纳入延迟**将会增加 1。
-
-## 延伸阅读 {#further-reading}
-
-- [Vitalik 的注释共识规范中的认证](https://github.com/ethereum/annotated-spec/blob/master/phase0/beacon-chain.md#attestationdata)
-- [eth2book.info 中的认证](https://eth2book.info/capella/part3/containers/dependencies/#attestationdata)
-
-_还有哪些社区资源对你有所帮助? 编辑并添加本页面!_
diff --git "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/block-proposal/index.md" "b/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/block-proposal/index.md"
deleted file mode 100644
index 9899a21041b..00000000000
--- "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/block-proposal/index.md"
+++ /dev/null
@@ -1,69 +0,0 @@
----
-title: 提出区块
-description: 解释在权益证明以太坊中如何提议区块。
-lang: zh
----
-
-区块是区块链的基本单位。 区块是在节点之间传递、达成共识并添加到每个节点数据库中的离散的信息单元。 本页解释它们是如何产生的。
-
-## 前提条件 {#prerequisites}
-
-区块提议是权益证明协议的一部分。 为了帮助理解本页面,我们建议你阅读有关[权益证明](/developers/docs/consensus-mechanisms/pos/)和[区块架构](/developers/docs/blocks/)的内容。
-
-## 谁产生区块? {#who-produces-blocks}
-
-验证者帐户提议区块。 验证者帐户由节点运营商管理,节点运营商运行验证者软件作为其执行和共识客户端的一部分,并且已经向存款合约中存入了至少 32 个以太币。 然而,每个验证者只是偶尔负责提议一个区块。 以太坊以时隙和时段来度量时间。 每个时隙是 12 秒,32 个时隙(6.4 分钟)组成一个时段。 每个时隙都是在以太坊上添加一个新区块的机会。
-
-### 随机选择 {#random-selection}
-
-在每个时隙以伪随机的方式选择一个验证者来提议区块。 在区块链中没有真正的随机性,因为如果每个节点生成真正的随机数,它们就无法达成共识。 相反,目的是使验证者的选择过程不可预测。 以太坊使用一种叫做 RANDAO 的算法来实现随机性,它将来自区块提议者的一个哈希与一个随每个区块更新的种子混合起来。 这个值用于在所有验证者中选择一个特定的验证者。 验证者的选择提前两个时段固定,这是为了防范某些类型的种子操纵。
-
-虽然验证者在每个时隙中都会向 RANDAO 添加内容,但全局 RANDAO 值仅在每个时段更新一次。 为了计算下一个区块提议者的索引,RANDAO 值在每个时隙与时隙号混合,以给出唯一的值。 单独验证者被选中的概率并不是简单的 `1/N`(其中 `N` = 活跃验证者的总数)。 相反,它是按照每个验证者的有效以太币余额进行加权的。 最大有效余额为 32 个以太币(这意味着 `balance < 32 ETH` 会产生低于 `balance == 32 ETH` 的权重,而 `balance > 32 ETH` 不会产生高于 `balance == 32 ETH` 的权重)。
-
-每个时隙中只选择一个区块提议者。 在正常情况下,单个区块生产者会在他们专属的时隙中创建并发布单个区块。 为同一个时隙创建两个区块是一种可罚没的行为,通常被称为“模棱两可”。
-
-## 区块是如何创建的? {#how-is-a-block-created}
-
-区块提议者预计会广播一个已签名的信标链区块,该区块建立在根据他们自己在本地运行的分叉选择算法所看到的最近链头之上。 分叉选择算法会应用上一个时隙留下的任何排队认证,然后在其历史记录中查找具有最大累积认证权重的区块。 该区块便是由提议者创建的新区块的父区块。
-
-区块提议者通过从其自己的本地数据库和链视图中收集数据来创建区块。 区块的内容如下代码片段所示:
-
-```rust
-class BeaconBlockBody(Container):
- randao_reveal: BLSSignature
- eth1_data: Eth1Data
- graffiti: Bytes32
- proposer_slashings: List[ProposerSlashing, MAX_PROPOSER_SLASHINGS]
- attester_slashings: List[AttesterSlashing, MAX_ATTESTER_SLASHINGS]
- attestations: List[Attestation, MAX_ATTESTATIONS]
- deposits: List[Deposit, MAX_DEPOSITS]
- voluntary_exits: List[SignedVoluntaryExit, MAX_VOLUNTARY_EXITS]
- sync_aggregate: SyncAggregate
- execution_payload: ExecutionPayload
-```
-
-`randao_reveal` 字段取一个可验证的随机值,该值是区块提议者通过签署当前的时段编号创建的。 `eth1_data` 是就区块提议者对存款合约的看法进行的投票,包括存款默克尔树的根和使新存款能够被验证的总存款数。 `graffiti` 是一个可选字段,可以用来在区块中添加一条消息。 `proposer_slashings` 和 `attester_slashings` 字段包含了某些验证者根据区块提议者对链的看法已经犯下可罚没行为的证据。 `deposits` 是区块提议者所知道的新验证者存款的列表,`voluntary_exits` 是区块提议者从共识层广播网络上监听到的希望退出的验证者的列表。 `sync_aggregate` 是一个向量,显示哪些验证者之前被分配到一个同步委员会(服务于轻量客户端数据的验证者子集)并参与了数据签名。
-
-`execution_payload` 使得关于交易的信息可以在执行和共识客户端之间传递。 `execution_payload` 是一个被嵌套在信标链区块内部的执行数据区块。 `execution_payload` 中的字段反映了以太坊黄皮书中概述的区块结构,只不过其中没有叔块,并且 `prev_randao` 取代了 `difficulty`。 执行客户端可以访问它在自己的广播网络上监听到的本地交易池。 这些交易在本地执行,以生成一个被称为“后状态”的更新的状态树。 这些交易被包括在 `execution_payload` 中名为 `transactions` 的列表中,后状态则在 `state-root` 字段中提供。
-
-所有这些数据都被收集在一个信标链区块中,经过签名并广播给区块提议者的对等者,再由他们传播给他们的对等者,以此类推。
-
-阅读更多关于[区块剖析](/developers/docs/blocks)的内容。
-
-## 区块发生了什么? {#what-happens-to-blocks}
-
-区块被添加到区块提议者的本地数据库,并通过共识层广播网络广播给对等者。 当一个验证者接收到区块时,它会验证其中的数据,包括检查区块是否有正确的父区块、是否对应正确的时隙、提议者索引是否符合预期、RANDAO 揭示是否有效以及提议者是否被罚没。 `execution_payload` 被解包,验证者的执行客户端重新执行列表中的交易,以检查所提议的状态变化。 假设区块通过了所有这些检查,每个验证者将区块添加到自己的规范链中。 然后,在下一个时隙中重新开始这个过程。
-
-## 区块奖励 {#block-rewards}
-
-区块提议者会收到他们工作的报酬。 有一个 `base_reward`,它是根据活跃验证者的数量和他们的有效余额来计算的。 然后,区块提议者会收到区块中包含的每个有效认证的 `base_reward` 的一部分;认证区块的验证者越多,区块提议者获得的奖励就越高。 还有一个奖励是报告应该被罚没的验证者,数额等于每个被罚没的验证者的 `1/512 * effective balance`。
-
-[关于奖励和惩罚的更多信息](/developers/docs/consensus-mechanisms/pos/rewards-and-penalties)
-
-## 延伸阅读 {#further-reading}
-
-- [区块简介](/developers/docs/blocks/)
-- [权益证明简介](/developers/docs/consensus-mechanisms/pos/)
-- [以太坊共识规范](https://github.com/ethereum/consensus-specs)
-- [Gasper 简介](/developers/docs/consensus-mechanisms/pos/)
-- [升级以太坊](https://eth2book.info/)
diff --git "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/faqs/index.md" "b/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/faqs/index.md"
deleted file mode 100644
index 86050a1e3c6..00000000000
--- "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/faqs/index.md"
+++ /dev/null
@@ -1,172 +0,0 @@
----
-title: 常见问题
-description: 常见问题:权益证明以太坊
-lang: zh
----
-
-## 权益证明是什么? {#what-is-proof-of-stake}
-
-权益证明是一种算法类别,通过确保攻击者因欺诈行为而损失有价值的资产,可以为区块链提供安全性。 权益证明系统需要一组验证者提供一些资产,如果验证者从事某些被证明为欺诈的行为,则可以销毁这些资产。 以太坊使用权益证明机制来保护区块链的安全性。
-
-## 权益证明与工作量证明相比有何不同? {#comparison-to-proof-of-work}
-
-权益证明和工作量证明都是从经济上抑制恶意行为者的机制,以防止其向网络发送垃圾或进行欺诈行为。 在两种情况下,积极参与共识的节点都会“向网络中”投入某些资产,如果他们行为不当,便会失去这些资产。
-
-在工作量证明中,这种资产是能源。 节点,也称为矿工,会运行一个算法,目的是比任何其他节点更快地计算出一个值。 最快的节点有权向链中提议一个区块。 要更改链的历史记录或主导区块提议,矿工必须拥有足够的算力,以便它们始终赢得比赛。 由于代价高昂且执行难度极大,这一过程保护了区块链免受攻击。 使用工作量证明挖矿所需的能源是矿工支付的现实世界资产。
-
-权益证明要求节点(称为验证者)向智能合约明确提交一种加密资产。 如果验证者行为不当,这种加密货币可以被销毁,因为他们是将自己的资产直接质押到链中而不是通过能量消耗的方式间接质押。
-
-工作量证明需要在挖矿过程中消耗大量的电力,因此能耗要高得多。 而权益证明只需要非常少量的能量 - 以太坊验证者甚至可以在树莓派等低功耗设备上运行。 以太坊的权益证明机制被认为比工作量证明机制更安全,因为攻击的代价更高,并且给攻击者造成的后果更严重。
-
-工作量证明与权益证明是一个有争议的话题。 [Vitalik Buterin 的博客](https://vitalik.eth.limo/general/2017/12/31/pos_faq.html#what-are-the-benefits-of-proof-of-stake-as-opposed-to-proof-of-work)以及 Justin Drake 和 Lyn Alden 间的辩论很好地总结了各方论点。
-
-
-
-## 权益证明的能效高吗? {#is-pos-energy-efficient}
-
-由此可见, 权益证明网络上的节点能耗很低。 一项第三方研究得出的结论是,整个基于权益证明的以太坊网络每年消耗约 0.0026 亿千瓦时的电量,仅相当于美国博彩行业电力消耗量的 1/13000 左右。
-
-[关于以太坊能源消耗的更多信息](/energy-consumption/)。
-
-## 权益证明安全吗? {#is-pos-secure}
-
-以太坊的权益证明是非常安全的。 这种机制经过了八年的研究、开发和严格测试,才得以投入使用。 安全保证有别于使用工作量证明的区块链。 在权益证明机制中,可以主动惩罚(“罚没”)恶意验证者并将其从验证者组中驱逐出去,这将导致其损失大量的以太币。 而在工作量证明中,攻击者在拥有足够哈希能力的情况下可以不断重复攻击。 与工作量证明以太坊相比,对权益证明以太坊发起同等攻击的成本也更高。 要影响链的活性,至少需要网络上已质押以太币总数的 33%(除非进行极为复杂、成功概率极低的攻击)。 要控制未来区块的内容,至少需要已质押以太币总量的 51%,而要重写历史记录,则需要超过质押总量的 66%。 以太坊协议将在 33% 或 51% 攻击场景中销毁这些资产,并通过社会共识来应对 66% 攻击场景。
-
-- [关于保护以太坊权益证明机制免受攻击的更多信息](/developers/docs/consensus-mechanisms/pos/attack-and-defense)
-- [关于权益证明设计的更多信息](https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51)
-
-## 权益证明机制降低了以太坊的费用吗? {#does-pos-make-ethereum-cheaper}
-
-否。 发送交易的成本(燃料费)由动态费用市场决定,随着网络需求的增加而增加。 共识机制对此没有直接影响。
-
-[关于燃料的更多信息](/developers/docs/gas)。
-
-## 什么是节点、客户端和验证者? {#what-are-nodes-clients-and-validators}
-
-节点是连接到以太坊网络的计算机。 客户端是在计算机上运行,将其转化为节点的软件。 有两种类型的客户端:执行客户端和共识客户端。 两种客户端都是创建节点所需的。 验证者是共识客户端一个可选的附加功能,使节点能够参与权益证明共识。 这意味着当被选中时创建和提议区块,以及认证其在网络上监听到的区块。 要运行验证者,节点运营商必须在存款合约中存入 32 个以太币。
-
-- [关于节点和客户端的更多信息](/developers/docs/nodes-and-clients)
-- [关于质押的更多信息](/staking)
-
-## “权益证明”是一个新的概念吗? {#is-pos-new}
-
-否。 早在 2011 年,BitcoinTalkk 论坛上有一位用户就[提出了将权益证明作为比特币的升级形态的想法](https://bitcointalk.org/index.php?topic=27787.0)。 11 年后,才准备好在以太坊主网上实施。 一些其他的区块链比以太坊更早实施了权益证明,但不是以太坊的特定机制(称为 Gasper)。
-
-## 以太坊的权益证明有什么特别之处? {#why-is-ethereum-pos-special}
-
-以太坊的权益证明机制在其设计上是独一无二的。 它不是第一个设计和实施的权益证明机制,但它是最完善的。 该权益证明机制被称为“Casper”。 Casper 定义了如何选择验证者来提议区块、如何及何时进行认证、如何计数认证、给予验证者的奖励和惩罚、罚没条件、故障转移机制(如“怠惰惩罚”),以及“最终确定性”的条件。 最终确定性是指一个区块被认为是规范链的永久部分的条件,即它必须得到网络上已质押的以太币总量至少 66% 的投票。 研究人员专门为以太坊开发了 Casper,以太坊是第一个也是唯一一个实现了它的区块链。
-
-除了 Casper,以太坊的权益证明还使用了一种叫做 LMD-GHOST 的分叉选择算法。 这是在出现两个区块存在于同一个时隙的情况下所需的。 这会创建区块链的两个分叉。 LMD-GHOST 选择具有最大认证“权重”的分叉。 权重是指按验证者有效余额加权后的认证数量。 LMD-GHOST 是以太坊独有的。
-
-Casper 和 LMD_GHOST 的组合被称为 Gasper。
-
-[关于 Gasper 的更多信息](/developers/docs/consensus-mechanisms/pos/gasper/)
-
-## 什么是罚没? {#what-is-slashing}
-
-罚没是指销毁验证者的部分质押额并将验证者从网络中逐出的行为。 罚没中损失的以太币数量随着被罚没的验证者数量而变化 - 这意味着串通的验证者会受到比个人更严厉的惩罚。
-
-[关于罚没的更多信息](/developers/docs/consensus-mechanisms/pos/rewards-and-penalties#slashing)
-
-## 为什么成为验证者需要质押 32 个以太币? {#why-32-eth}
-
-验证者必须质押以太币,这样他们就有了当行为不当时便会损失的东西。 之所以要质押 32 个以太币,是为了让节点能够在适度的硬件上运行。 如果每个验证者的最少以太币数量更低,那么验证者的数量,继而每个时隙必须处理的消息数量就会增加,而这意味着需要更强大的硬件来运行节点。
-
-## 验证者是如何被选中的? {#how-are-validators-selected}
-
-每个时隙都会以伪随机的方式选择一个验证者来提议区块,使用的算法被称为 RANDAO,它将区块提议者的哈希与一个随每个区块更新的种子混合在一起。 这个值用于在所有验证者中选择一个特定的验证者。 验证者的选择会提前两个时段固定。
-
-[关于如何选择验证者的更多信息](/developers/docs/consensus-mechanisms/pos/block-proposal)
-
-## 什么是权益粉碎攻击? {#what-is-stake-grinding}
-
-权益粉碎攻击是针对权益证明网络的攻击类别,这种情况下,攻击者试图将验证者选择算法偏向于选择他们自己的验证者。 对 RANDAO 发起权益粉碎攻击需要已质押的以太币总数的约一半。
-
-[关于权益粉碎攻击的更多信息](https://eth2book.info/altair/part2/building_blocks/randomness/#randao-biasability)
-
-## 什么是社交罚没? {#what-is-social-slashing}
-
-社交罚没是指社区协调区块链的分叉以应对攻击的能力。 它使社区能够从攻击者最终化不诚实的链中恢复过来。 它也可以用于对抗审查攻击。
-
-- [关于社交罚没的更多信息](https://ercwl.medium.com/the-case-for-social-slashing-59277ff4d9c7)
-- [Vitalik Buterin 关于社交罚没的观点](https://vitalik.eth.limo/general/2017/12/31/pos_faq.html#what-is-proof-of-stake)
-
-## 我会受到罚没吗? {#will-i-get-slashed}
-
-作为验证者,除非你故意从事恶意行为,否则不会受到罚没。 罚没机制只会在极其特定的情况下实施,比如验证者在同一时隙提议多个区块或者在其认证中出现自相矛盾等行为,这类情况很少会在正常操作中意外发生。
-
-[关于罚没条件的更多信息](https://eth2book.info/altair/part2/incentives/slashing)
-
-## 什么是无利害关系问题? {#what-is-nothing-at-stake-problem}
-
-无利害关系问题是一些权益证明机制中的一个概念性问题,其中只有奖励而没有惩罚。 如果没有任何利害关系,那么一个务实的验证者同样愿意验证任何甚至多个区块链分叉,因为这将增加他们的奖励。 以太坊通过使用最终确定性条件和罚没机制来确保只有一个规范链,以解决此问题。
-
-[关于无利害关系问题的更多信息](https://vitalik.eth.limo/general/2017/12/31/pos_faq.html#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed)
-
-## 什么是分叉选择算法? {#what-is-a-fork-choice-algorithm}
-
-分叉选择算法实施规则,确定哪条链是规范链。 在最优条件下,没有必要使用分叉选择规则,因为每个时隙只有一个区块提议者和一个可供选择的区块。 但是,偶尔会出现同一个时隙内有多个区块或者由于晚到的信息导致链头附近的区块组织方式存在多个选择的情况。 在这些情况下,所有客户端都必须以相同的方式执行一些规则,确保它们都选择正确的区块序列。 分叉选择算法的代码中体现了这些规则。
-
-以太坊的分叉选择算法被称为 LMD-GHOST。 它会选择具有最大认证权重的分叉,也就是得到了最多质押以太币投票的分叉。
-
-[关于 LMD-GHOST 的更多信息](/developers/docs/consensus-mechanisms/pos/gasper/#fork-choice)
-
-## 什么是权益证明中的最终确定性? {#what-is-finality}
-
-权益证明中的最终确定性是指保证给定的区块是规范链的永久部分,并且只有在出现共识失败的情况下才会被回滚,这时攻击者将会销毁已质押以太币总数的 33%。 这是“加密经济”的最终确定性,而不是与工作量证明区块链相关的“概率最终确定性”。 在概率最终确定性中,区块没有明确的确定/非确定状态——只不过随着时间的推移,区块从链上被删除的可能性越来越小,用户将自行决定他们什么时候有足够的信心认为区块是“安全的”。 而在加密经济的最终确定性下,成对的检查点区块必须获得已质押以太币 66% 以上的选票。 如果满足这个条件,这两个检查点之间的区块将被明确“最终确定”。
-
-[关于最终确定性的更多信息](/developers/docs/consensus-mechanisms/pos/#finality)
-
-## 什么是“弱主观性”? {#what-is-weak-subjectivity}
-
-弱主观性是权益证明网络的一个特点,其中社交信息用于确认区块链的当前状态。 新节点或长时间离线后重新加入网络的节点可以获得最新的状态,以便节点能够立即查看它们是否位于正确的链上。 这些状态被称为“弱主观性检查点”,它们可以从其他带外节点运营者处获取,也可以从区块链浏览器或多个公共端点获取。
-
-[关于弱主观性的更多信息](/developers/docs/consensus-mechanisms/pos/weak-subjectivity)
-
-## 权益证明能抗审查吗? {#is-pos-censorship-resistant}
-
-抗审查性当前很难证明。 然而,与工作量证明不同,权益证明提供了协调罚没以处罚审查验证者的选择。 该协议即将修改为将区块构建者与区块提议者分开,并实施构建者必须在每个区块中包括的交易列表。 此提案被称为“提议者-构建者分离”,有助于防止验证者审查交易。
-
-[关于“提议者-构建者分离”的更多信息](https://notes.ethereum.org/@fradamt/H1TsYRfJc#Original-basic-scheme)
-
-## 以太坊的权益证明系统会受到 51% 攻击吗? {#pos-51-attack}
-
-由此可见, 权益证明和工作量证明一样,容易受到 51% 攻击。 攻击者不需要掌控 51% 的网络算力,而是需要掌控已质押以太币总数的 51%。 如果攻击者累积了总质押量的 51%,则能够控制分叉选择算法。 这使得攻击者能够审查某些交易,进行短程重组,以及通过以有利于他们的方式重新排序区块来提取矿工可提取价值。
-
-[关于权益证明攻击的更多信息](/developers/docs/consensus-mechanisms/pos/attack-and-defense)
-
-## 什么是社交协调,为什么需要它? {#what-is-social-coordination}
-
-社交协调是以太坊的最后一道防线,它可以使一个由于遭到攻击而最终化了不诚实区块的区块链恢复到诚实状态。 在这种情况下,以太坊社区将不得不进行“带外”社交协调并同意使用诚实的少数分支,同时罚没攻击者的验证者。 这需要应用程序和交易所也认可诚实的分叉。
-
-[了解关于社交协调的更多信息](/developers/docs/consensus-mechanisms/pos/attack-and-defense#people-the-last-line-of-defense)
-
-## 在权益证明中,富人会变得更富有吗? {#do-rich-get-richer}
-
-将越多的以太币用于抵押,一个人就能运行越多的验证者,也能获得更多的奖励。 奖励与抵押的以太币数量成线性比例,每个人获得相同百分比的回报。 工作量证明比权益证明更能让富人富裕起来,因为大规模购买硬件的富裕矿工将受益于规模经济,这意味着财富和奖励之间的关系是非线性的。
-
-## 权益证明是否比工作量证明更中心化? {#is-pos-decentralized}
-
-不,由于采矿成本增加、价格高昂迫使个人和小公司退出等原因,工作量证明更倾向于集中化。 目前权益证明存在的问题是流动性质押衍生品的影响。 这些是代表某些提供者所质押的以太币的代币,任何人都可以在二级市场上交换,而无需实际解除以太币的质押。 流动性质押衍生品允许用户质押的以太币数量少于 32 个,但也会产生中心化风险,即少数几个大型组织最终可能控制大部分的质押份额。 这就是为什么[单独质押](/staking/solo)成为以太坊的最佳选择。
-
-[关于流动性质押衍生品中的权益中心化的更多信息](https://notes.ethereum.org/@djrtwo/risks-of-lsd)
-
-## 为什么我只能质押以太币? {#why-can-i-only-stake-eth}
-
-ETH 是以太坊的原生货币。 为计算有效余额以用于加权投票和确保安全性,必须有一种单一的货币来计量所有权益。 以太币本身是以太坊的一个基本组成部分,而不是一个智能合约。 如果加入其他货币,将会显著增加质押的复杂性并降低其安全性。
-
-## 以太坊是唯一使用权益证明的区块链吗? {#is-ethereum-the-only-pos-blockchain}
-
-不,现在有多种使用权益证明的区块链。 但是没有一个和以太坊完全相同;以太坊的权益证明机制是独一无二的。
-
-## 什么是合并? {#what-is-the-merge}
-
-合并是指以太坊关闭其基于工作量证明的共识机制并开启其基于权益证明的共识机制的时刻。 合并发生在 2022 年 9 月 15 日。
-
-[关于合并的更多信息](/roadmap/merge)
-
-## 什么是活性和安全性? {#what-are-liveness-and-safety}
-
-活性和安全性是区块链的两个基本安全问题。 活性是指最终链的可用性。 如果链停止最终化或用户无法轻松访问它,这些都是活性失败。 极高的访问成本也可能被认为是一种活性失败。 安全性是指攻击链,即最终化彼此冲突的检查点的难度有多大。
-
-[阅读关于 Casper 论文的更多信息](https://arxiv.org/pdf/1710.09437.pdf)
diff --git "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/gasper/index.md" "b/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/gasper/index.md"
deleted file mode 100644
index e4fcd08375a..00000000000
--- "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/gasper/index.md"
+++ /dev/null
@@ -1,52 +0,0 @@
----
-title: Gasper
-description: 关于信标链协议权益证明机制的说明。
-lang: zh
----
-
-Gasper 是友好的最终确定性工具 Gasper (Casper-FFG) 和 LMD-GHOST 分叉选择算法的组合。 它们组成了一种共识机制,使采用权益证明的以太坊保持安全。 Casper 是一种能将特定区块更新为“最终确定”状态的机制,使网络的新加入者确信他们正在同步规范链。 当区块链出现多个分叉时,分叉选择算法使用累计投票来确保节点可以轻松选择正确的分叉。
-
-**请注意**,Casper-FFG 的初始定义已稍作更新,以纳入 Gasper。 撰写此页面时,我们考量的是更新后的版本。
-
-## 前提条件
-
-为理解此材料,需要阅读[权益证明](/developers/docs/consensus-mechanisms/pos/)的介绍页面。
-
-## Gasper 的作用 {#role-of-gasper}
-
-Gasper 在权益证明区块链中具有最重要的地位——节点提供以太币作为安全保证金,但如果他们在提议或验证区块链时过于懒惰或不诚实,保证金就会被销毁。 Gasper 是一种定义验证者如何受到奖惩的机制,决定要接受和拒绝哪个区块,以及将区块建在哪个区块链分叉上。
-
-## 什么是最终确定性? {#what-is-finality}
-
-“最终确定性”是某些区块的属性,意味着除非出现严重的共识失败,且攻击者至少销毁了总质押以太币的 1/3,否则这些区块将不能回滚。 最终确定的区块可以解读为区块链是确定无疑了的。 区块必须完成“两步走”升级程序才能最终确定下来。
-
-1. 区块必须获得总质押以太币 2/3 的投票,才能纳入规范链。 此条件可将区块升级至“合理”状态。 合理的区块不大可能回滚,但满足某些条件时也可以回滚。
-2. 当一个合理区块上有另一个区块被合理化,那前者就被升级为“最终确定”状态。 确定一个区块就是承诺将该区块纳入规范链。 除非攻击者销毁数百万以太币(几十亿美元),否则该区块不会回滚。
-
-并非每个时隙都会发生这种区块升级。 相反,只有时段边界的区块才能是“合理”和“最终确定”状态。 这些区块一般被称为“检查点”。 升级涉及成对的检查点。 两个连续的检查点之间必须存在"绝对多数链接🔗"(即:总质押以太币中有 2/3 投票认为检查点 B 是检查点 A 的正确衍生物),才能将存在时间更长的检查点升级为“最终确定”,而较新的区块则升级为“合理”。
-
-由于最终确定需要三分之二同意某个区块是规范的,因此除非能满足以下条件,否则攻击者不可能另外创建一条最终确定链:
-
-1. 拥有或控制总质押以太币的 2/3。
-2. 至少销毁总质押以太币的 1/3。
-
-之所以要满足第一个条件,是因为要最终确定一条链,需要质押以太币 2/3 的投票。 而第二个条件是因为,如果总质押的 2/3 对两个分叉表示支持,那么必然有 1/3 对两个分叉均进行了投票。 双重投票是会触发最大惩罚的罚没条件,总质押的 1/3 会被销毁。 截至 2022 年 5 月,此条件需要攻击者销毁价值约 100 亿美元的以太币。 Gasper 中用来合理化和最终确定区块的算法是[友好的最终确定性工具 Casper (Casper-FFG)](https://arxiv.org/pdf/1710.09437.pdf) 的微调版。
-
-### 激励和罚没 {#incentives-and-slashing}
-
-验证者将因诚实地提议和验证区块而获得奖励。 奖励将以发放以太币的形式提供,这些以太币将加入他们的质押额。 另一方面,缺席和调用时未能响应的验证者将会错过这些奖励,有时还会损失一小部分现有质押额。 然而,离线的处罚较小,在大多数情况下,仅仅是错失奖励的机会成本。 但是,有些验证者的操作很难无意为之,并且常为恶意行为,例如,为同一时隙提议多个区块、为同一时隙验证多个区块或者与以前的检查点投票背道而驰。 这些都是要接受更严厉惩罚的“可罚没”行为,罚没结果是验证者的部分质押额遭到销毁,以及验证者被移出验证者网络。 整个过程需要 36 天。 第一天,进行最高 1 个以太币的初次惩罚。 随后,被罚没验证者的以太币将在退出期一点点耗尽,但到第 18 天,他们会收到一个“相关性惩罚”,即当更多的验证者都在大致相同的时间受罚时,惩罚将更重。 最大的惩罚是全部质押。 这些奖励和惩罚为激励诚实的验证者和挫伤网络攻击而立。
-
-### 怠惰惩罚 {#inactivity-leak}
-
-除了安全性,Gasper 还提供“合理的活性”。 条件是只要有三分之二的质押以太币遵守协议地诚实投票,不论是否发生其他任何活动(比如攻击、延迟问题或罚没),区块链都将被最终确定。 换言之,要阻止区块链被最终确定,必须以某种方式破坏总质押以太币的 1/3。 在 Gasper 中,有另一条防线防止活性失败,即“怠惰惩罚”。 如果链未能在四个时段内最终确定,便会激活此机制。 对于未能积极证明主链的验证者,其质押货币将逐渐耗尽,直到主链重新获得总质押 2/3 的投票,以确保活性失败只是暂时的。
-
-### 分叉选择 {#fork-choice}
-
-Casper-FFG 的原始定义包含一个分叉选择算法,该算法规定:`follow the chain containing the justified checkpoint that has the greatest height`,其中高度被定义为与创世区块之间的最大距离。 在 Gasper 中,原来的分叉选择规则被弃用,转而采用一种更复杂的算法,即 LMD-GHOST。 请务必了解,在正常情况下,分叉选择规则是不必要的 - 每个时隙都有一个区块提议者,并有诚实的验证者证明此区块。 只有在网络异步性较大或不诚实的区块提议者模棱两可的情况下,才需要分叉选择算法。 然而,当这些情况确实出现时,分叉选择算法是确保正确链的关键防御。
-
-LMD-GHOST 代表“最新消息驱动的最贪婪、最重的观测子树(Latest Message-Driven Greedy Heaviest Observed Sub-Tree)”。 该术语充满行话,用来定义一种算法:选择具有最大证明累积权重的分叉作为规范分叉(最贪婪、最重的子树);如果从验证者那里收到多条消息,则只考虑最新的那个(最新消息驱动)。 在将最重的区块添加到规范链之前,每位验证者都会使用这个规则来评估每个区块。
-
-## 延伸阅读 {#further-reading}
-
-- [Gasper:GHOST 和 Casper 的结合](https://arxiv.org/pdf/2003.03052.pdf)
-- [友好的最终确定性小工具 Capser](https://arxiv.org/pdf/1710.09437.pdf)
diff --git "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/index.md" "b/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/index.md"
deleted file mode 100644
index 4c7dff6399f..00000000000
--- "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/index.md"
+++ /dev/null
@@ -1,99 +0,0 @@
----
-title: 权益证明(PoS)
-description: 权益证明共识算法以及其在以太坊中作用的解释。
-lang: zh
----
-
-权益证明 (PoS) 是支撑以太坊[共识机制](/developers/docs/consensus-mechanisms/)的基础。 以太坊于 2022 年启动了权益证明机制,这是因为和原先的[工作量证明](/developers/docs/consensus-mechanisms/pow)架构相比,以太坊更安全、能耗更低并且更利于实现新的扩容解决方案。
-
-## 前提条件 {#prerequisites}
-
-为了更好地理解本文,我们建议你首先阅读以下内容 [共识机制](/developers/docs/consensus-mechanisms/)。
-
-## 什么是权益证明? {#what-is-pos}
-
-权益证明是一种证明验证者已经将有价值物品质押到网络上的方法。如果验证者有失信行为,这些物品可能会被销毁。 在以太坊的权益证明机制下,验证者明确地通过以太币将资产质押到以太坊上的智能合约中。 之后,验证者负责检查在网络上传播的新区块是否有效,偶尔自己也创建和传播新区块。 当他们试图欺骗网络(例如,在应该发送一个区块时提出多个区块,或者发送冲突的认证)时,他们质押的部分或全部以太币可能会被销毁。
-
-## 验证者 {#validators}
-
-要想作为验证者参与,用户必须向存款合约中存入 32 以太币并运行三种独立的软件:执行客户端、共识客户端和验证者客户端。 存入以太币时,用户会进入一个激活队列,限制新验证者加入网络的速度。 激活后,验证者将从以太坊网络上的对等节点接收新区块。 区块中的交易会被重新执行,以检查提议的以太坊状态变更是否有效,并检查区块的签名。 然后验证者在整个网络上发送支持该区块的投票(称为认证)。
-
-在工作量证明中,生成区块的时间是由挖矿难度决定的,而在权益证明中,节奏是固定的。 权益证明以太坊中的时间分为时隙(12 秒)和时段(32 个时隙)。 在每个时隙中随机选择一位验证者作为区块提议者。 该验证者负责创建新区块并发送给网络上的其他节点。 另外在每个时隙中,都会随机选择一个验证者委员会,通过他们的投票确定所提出区块的有效性。 将验证者集合划分为若干个委员会对于保持网络负荷易于管理非常重要。 委员会将验证者集合分成不同部分,以便每个活跃的验证者在每个时段都会出示证明,但并不在每个时隙都这样做。
-
-## 如何在以太坊权益证明中执行交易 {#transaction-execution-ethereum-pos}
-
-下面提供了关于如何在以太坊权益证明中执行交易的全面解释。
-
-1. 用户使用他们的私钥创建并签署[交易](/developers/docs/transactions/)。 这通常由钱包或库处理,例如 [ether.js](https://docs.ethers.io/v5/)、[web3js](https://docs.web3js.org/)、[web3py](https://web3py.readthedocs.io/en/v5/) 等,但本质上是用户在使用以太坊 [JSON-RPC 应用程序接口](/developers/docs/apis/json-rpc/)向节点发出请求。 用户定义他们准备支付一定量的燃料作为给验证者的小费,以鼓励他们将交易纳入在一个区块中。 [小费](/developers/docs/gas/#priority-fee)支付给验证者,而[基础费](/developers/docs/gas/#base-fee)被销毁。
-2. 交易被提交给以太坊[执行客户端](/developers/docs/nodes-and-clients/#execution-client)验证有效性。 这意味着确保发送人有足够的以太币来完成交易,并且他们已经使用正确的密钥来签名交易。
-3. 如果交易有效,执行客户端将其添加到其本地内存池(待处理交易列表),并通过执行层广播网络将其广播到其他节点。 当其他节点听到关于交易的消息时,它们也将其添加到本地内存池中。 高级用户可能会避免广播他们的交易,而是将其转发给专门的区块构建器,例如 [Flashbots Auction](https://docs.flashbots.net/flashbots-auction/overview)。 这使他们能够在即将到来的区块中组织交易以获得最大利润([最大可提取价值](/developers/docs/mev/#mev-extraction))。
-4. 网络上的验证节点之一是当前时隙的区块提议者(之前已使用 RANDAO 以伪随机方式选择)。 该节点负责构建和广播下一个要添加到以太坊区块链的区块并更新全局状态。 该节点由三部分组成:执行客户端、共识客户端和验证者客户端。 执行客户端将来自本地内存池的交易捆绑到“执行负载”中,并在本地执行它们以生成状态更改。 此信息被传递到共识客户端。在该客户端,执行有效载荷被包装为“信标区块”的一部分。该信标区块还包含有关奖励、惩罚、罚没、认证等的信息,从而使网络能够就链头的区块顺序达成一致。 [连接共识客户端和执行客户端](/developers/docs/networking-layer/#connecting-clients)中更详细地描述了执行客户端和共识客户端之间的通信。
-5. 其他节点在共识层广播网络上接收新的信标区块, 并将其传递给它们的执行客户端。在执行客户端上,交易在本地重新执行以确保提议的状态更改有效。 然后,验证者客户端证明该区块是有效的,并且根据他们对链的看法,这是逻辑上的下一个区块(这意味着它建立在具有最大认证权重的链上,如[分叉选择规则](/developers/docs/consensus-mechanisms/pos/#fork-choice)所定义)。 该块被添加到证明它的每个节点的本地数据库中。
-6. 如果一笔交易已经成为两个检查点之间具有“绝对多数链接”的链的一部分,那么可以认为该交易已经“最终确定”。 检查点发生在每个时段的开始,并且它们的存在是为了考虑到只有活跃验证者的子集在每个时隙中提供证明,但所有活跃验证者在每个时段内都会提供证明。 因此,只有在时段之间才能证明“超过半数链接”(这是指网络上总质押以太币的 66% 同意两个检查点的情况)。
-
-有关最终确定性的更多详细信息,请参见下文。
-
-## 最终确定性 {#finality}
-
-交易在分布式网络中具有“最终确定性”是指,该交易是区块的一部分,而且除非销毁大量以太币,否则便无法改变。 在权益证明以太坊上,通过“检查点”区块来管理最终确定性。 每个时段中的第一个区块是检查点。 验证者为其认为有效的“检查点对”投票。 如果一对检查点获得了质押以太币总数中三分之二以上的投票,那么这对检查点将被升级。 这两个(目标)中较新的一个会变成“合理”状态。 较旧的一个检查点已经是合理状态,因为它是上一个时段中的“目标”。 现在,这个检查点会升级为“最终确定”状态。
-
-要回滚最终确定的区块,攻击者将承担至少相当于质押以太币总数三分之一的损失。 这篇[以太坊基金会博文](https://blog.ethereum.org/2016/05/09/on-settlement-finality/)解释了其确切原因。 因为最终确定性需要获得三分之二多数投票,攻击者可以用质押以太币总数的三分之一投票来阻止网络实现最终确定性。 有一种可以防御这种攻击行为的机制:[怠惰惩罚](https://eth2book.info/bellatrix/part2/incentives/inactivity)。 当链超过四个时段无法最终确定时,这项机制会触发。 怠惰惩罚逐渐消耗与其投票与大多数投票相反的验证者的质押以太币,使得大多数验证者重新获得三分之二多数投票并最终确定链。
-
-## 加密经济的安全性 {#crypto-economic-security}
-
-运行验证者是一种承诺。 验证者应当保持足够的硬件和连接,来参与区块的验证和提出。 作为回报,验证者将获得以太币(他们的质押余额增加)。 另一方面,作为验证者参与,也为用户为了个人利益或破坏而攻击网络开辟了新的渠道。 为了防止这种情况,如果验证者在被调用时未能参与,他们就会错过以太币奖励;如果他们有不诚实行为,他们现有的质押可能会被销毁。 主要有两种行为被视为不诚实:在一个时隙中提出多个区块(模棱两可)和提交相互矛盾的认证。
-
-被罚没以太币的金额取决于大致同一时间受到罚没的验证者数量。 这称为[“相关性惩罚”](https://eth2book.info/bellatrix/part2/incentives/slashing#the-correlation-penalty),相关性惩罚可以是轻微的(单个验证者被罚没质押以太币的 1%),也可以是导致验证者质押的以太币全部被销毁(大额罚没事件)。 这种惩罚在强制退出期执行,首先是第 1 天的立即惩罚(最多 1 个以太币),接着是第 18 天的相关性惩罚,最后是第 36 天的逐出网络。 如果验证者在网络上但不提交投票,他们每天都会受到轻微的认证惩罚。 对于攻击者来说,这些措施都意味着协同攻击的代价将极其高昂。
-
-## 分叉选择 {#fork-choice}
-
-当网络以最佳状态诚信运行时,链头始终只会有一个新区块并且所有验证者都会证明它。 然而,由于网络延迟或因为区块提议者提出多个区块(模棱两可),验证者可能看到不同的链头视图。 因此,共识客户端需要一种算法来确定支持哪一个区块。 权益证明以太坊中使用的算法称为 [LMD-GHOST](https://arxiv.org/pdf/2003.03052.pdf)。它的工作原理是确定其历史记录中具有最大证明权重的分叉。
-
-## 权益证明和安全性 {#pos-and-security}
-
-正如在工作量证明中一样,权益证明中仍然存在 [51% 攻击](https://www.investopedia.com/terms/1/51-attack.asp)的威胁,但对于攻击者来说风险却更大。 攻击者需要获得 51% 的质押以太币。 然后他们可以通过自己的认证确保他们首选的分叉拥有最多累积认证。 共识客户端使用累积认证的“权重”确定正确的链,所以攻击者能够使他们的分叉成为规范区块。 然而与工作量证明相比,权益证明的优势在于,社区能够灵活地发动反击。 例如,诚实的验证者可以决定继续在非主流链上构建并忽略攻击者的分叉,同时鼓励应用程序、交易所和池也这样做。 他们还可以决定强行将攻击者从网络中移除并销毁攻击者质押的以太币。 这些都是对 51% 攻击的强有力的经济防御措施。
-
-除了 51% 攻击,不良行为者也可能尝试其他形式的恶意活动,例如:
-
-- 远程攻击(尽管确定性工具能抵消这种攻击向量)
-- 近程“重组”(尽管提议者权重提升和认证期限可以缓解这种情况)
-- 弹跳和平衡攻击(也能通过提议者权重提升来缓解,并且这些攻击无论如何都只在理想化的网络条件下得到证明)
-- 雪崩攻击(通过只考虑最新信息的分叉选择算法规则来抵消)
-
-总的来说,已经证实以太坊实施的权益证明在经济方面比工作量证明更安全。
-
-## 优点和缺点 {#pros-and-cons}
-
-| 优点 | 缺点 |
-| -------------------------------------------------------------------------- | --------------------------------- |
-| 质押使个人更容易参与其中保障网络的安全,促进去中心化。 验证者节点可以在普通笔记本电脑上运行。 质押池让用户可以在没有 32 个以太币的情况下质押。 | 与工作量证明相比,权益证明仍处于起步阶段,并且经过的实践检验较少。 |
-| 权益质押更加去中心化。 规模经济不像适用于工作量证明挖矿那样适用于权益证明。 | 实现权益证明比实现工作量证明更加复杂。 |
-| 权益证明的加密经济安全性高于工作量证明 | 用户需要运行三种软件才能参与以太坊的权益证明。 |
-| 需要发行较少的新以太币就可以激励网络参与者 | |
-
-### 与工作量证明相比 {#comparison-to-proof-of-work}
-
-以太坊原来使用的是工作量证明,但在 2022 年 9 月转换为使用权益证明。 权益证明相较于工作量证明有如下一些优点:
-
-- 能效更高 – 无需在工作量证明计算中使用大量能源
-- 门槛更低、硬件要求下降 – 无需购买高性能硬件以便获得创建新区块的机会
-- 中心化风险降低 – 权益证明应该可以增加保护网络安全的节点
-- 由于能源需求低,发行较少的以太币就可以激励大家参与
-- 与工作量证明相比,对不当行为的经济处罚让 51% 攻击的代价变得更高。
-- 如果 51% 攻击是为了攻破加密经济的防御,那么社区可以求助于诚实链的社交恢复。
-
-## 延伸阅读 {#further-reading}
-
-- [权益证明机制常见问题](https://vitalik.eth.limo/general/2017/12/31/pos_faq.html) _Vitalik Buterin_
-- [What is Proof of Stake](https://consensys.net/blog/blockchain-explained/what-is-proof-of-stake/) _ConsenSys_
-- [What Proof of Stake Is And Why It Matters](https://bitcoinmagazine.com/culture/what-proof-of-stake-is-and-why-it-matters-1377531463) _Vitalik Buterin_
-- [为什么采用权益证明机制(2020 年 11 月)](https://vitalik.eth.limo/general/2020/11/06/pos2020.html) _Vitalik Buterin_
-- [权益证明:我如何爱上弱主观性](https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/) _Vitalik Buterin_
-- [权益证明以太坊的攻击和防御](https://mirror.xyz/jmcook.eth/YqHargbVWVNRQqQpVpzrqEQ8IqwNUJDIpwRP7SS5FXs)
-- [权益证明设计原则](https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51) _Vitalik Buterin_
-- [视频:Vitalik buterin 向 Lex Fridman 解释权益证明](https://www.youtube.com/watch?v=3yrqBG-7EVE)
-
-## 相关主题 {#related-topics}
-
-- [工作量证明](/developers/docs/consensus-mechanisms/pow/)
-- [权威证明](/developers/docs/consensus-mechanisms/poa/)
diff --git "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/keys/index.md" "b/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/keys/index.md"
deleted file mode 100644
index 9e3f3d50076..00000000000
--- "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/keys/index.md"
+++ /dev/null
@@ -1,96 +0,0 @@
----
-title: 权益证明以太坊中的密钥
-description: 对以太坊权益证明共识机制中使用的密钥的说明
-lang: zh
----
-
-以太坊使用公钥-私钥加密法来保护用户资产的安全。 公钥被用作以太坊地址的基础 — 即,它对公众是可见的,并被用来当作唯一标识符。 私钥(或密钥)只能被帐户拥有者获取。 私钥用于‘签名’交易和数据,以便密码学能证明拥有者批准一个特定私钥的某些行为。
-
-以太坊的密钥使用 [椭圆曲线加密法](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography) 生成。
-
-然而,在以太坊从[工作量证明](/developers/docs/consensus-mechanisms/pow)转换到[权益证明](/developers/docs/consensus-mechanisms/pos)的时候,一种新类型的密钥被加入到以太坊。 原来的密钥仍然像之前那样工作—基于椭圆曲线的密钥确保帐户安全没有变化。 然而,通过质押以太币和运行验证者来参与权益证明时,用户需要一种新类型的密钥。 这一需求是由于扩容挑战带来的,信息需要在大量验证者之间传递,这些信息需要一种密码学方法来方便汇总,以减少网络达成共识所需的沟通数量。
-
-这种新型密钥采用[** Boneh-Lynn-Shacham (BLS) **签名方案](https://wikipedia.org/wiki/BLS_digital_signature)。 BLS 能够对签名进行高效聚合,同时允许对聚合的单个验证者密钥进行逆向工程,它对于管理验证者之间的行动非常理想。
-
-## 两种类型的验证者密钥 {#two-types-of-keys}
-
-在转换到权益证明之前,以太坊用户只有一个基于椭圆曲线的私钥来访问他们的资金。 随着权益证明的引入,那些希望成为单独质押人的用户也需要一个**验证者密钥**和一个**提款密钥**。
-
-### 验证者密钥 {#validator-key}
-
-验证者的签名密钥由两个元素组成:
-
-- 验证者**私**钥
-- 验证者**公**钥
-
-验证者私钥的目的是签名链上操作,如区块提议和认证。 因此,这些密钥必须存放在热钱包中。
-
-这种灵活性的优势是可以快速地把验证者的签名密钥从一台设备转移到另一台,然而,如果密钥丢失或者被盗,盗窃者可以通过这些方式**恶意地行动**:
-
-- 通过以下方式罚没验证者:
- - 作为一个提议者,在同一时隙签名两个不同的信标区块
- - 作为一个证明人,签名“包围”另一份认证的认证
- - 作为一个证明人,签名两个具有相同目标的不同证明
-- 促使自愿退出,从而停止验证者质押,并授权提款密钥拥有者获取以太币余额。
-
-当用户把以太币存入到质押存款合约时,**验证者公钥**会被包含在交易数据中。 这被称为_存款数据_,它让以太坊可以识别验证者。
-
-### 提款凭证 {#withdrawal-credentials}
-
-每个验证者都有一个被称为_提款凭证_的属性。 此 32 字节字段的开头要么是 `0x00`,表示 BLS 提款凭证,要么是 `0x01`,表示指向执行地址的凭证。
-
-具有 `0x00` BLS 密钥的验证者必须更新这些凭证,使其指向执行地址,以便激活从质押进行超额余额支付或全额提款。 这可以通过在初始密钥生成期间在存款数据中提供执行地址,_或者_通过稍后使用提款密钥签署并广播 `BLSToExecutionChange` 信息来实现。
-
-### 提款密钥 {#withdrawal-key}
-
-更新提款凭证需要更新提款密钥以指向执行地址(如果在初始存款期间没有设置的话)。 这将使超额余额支付得以开始处理,并且还将允许用户全额提取其质押的以太币。
-
-和验证者密钥一样,提款密钥也由两个部分组成:
-
-- 提款**私**钥
-- 提款**公**钥
-
-在将提款凭证更新为 `0x01` 类型之前丢失此密钥,意味着失去对验证者余额的访问权限。 验证者仍然可以对认证和区块进行签名,因为这些操作只需要验证者的私钥,但如果提款密钥丢失,那就几乎没有任何奖励。
-
-把验证者密钥和以太坊帐户密钥分开,可以让一个用户运行多个验证者。
-
-![验证者密钥示意图](validator-key-schematic.png)
-
-## 从助记词派生密钥 {#deriving-keys-from-seed}
-
-如果每次质押 32 个以太币都需要一套新的 2 个完全独立的密钥,那么密钥管理将很快变得难以操作,特别是对于运行多个验证者的用户来说。 相反,多个验证者密钥可以从一个共同的密钥进行派生,并且存储这个密钥就能允许访问多个验证者密钥。
-
-当[用户访问](https://ethereum.stackexchange.com/questions/19055/what-is-the-difference-between-m-44-60-0-0-and-m-44-60-0)自己的钱包时,[助记符](https://en.bitcoinwiki.org/wiki/Mnemonic_phrase)和路径是用户经常遇到的突出特征。 助记符是一连串的词语,作为私钥的初始种子。 当与其他数据结合时,助记符生成一个被称为‘主密钥’的哈希。 这可以被视为一棵树的根部。 根部的分支可以使用层次路径来派生,从而子节点可以作为其父节点的哈希和它们在树中的索引的组合而存在。 阅读 [BIP-32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) 和 [BIP-19](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) 基于助记词的密钥生成标准。
-
-这些路径有以下结构,对于和硬件钱包打过交道的用户来说应该比较熟悉:
-
-```
-m/44'/60'/0'/0`
-```
-
-路径中的斜线将私钥的组成部分分开,如下所示:
-
-```
-master_key / purpose / coin_type / account / change / address_index
-```
-
-这个逻辑可以使用户把尽可能多的验证者绑定到一个**助记词**,因为虽然树的根部是共同的,但在分支上却可以产生差异化。 用户可以从助记词**派生任意数量的密钥**。
-
-```
- [m / 0]
- /
- /
-[m] - [m / 1]
- \
- \
- [m / 2]
-```
-
-每个分支都用一个 `/` 来分割,因此 `m/2` 意味着由主密钥开始,接着是分支 2。 在下面的示意图中,一个助记词用来存储三个提款密钥,每个密钥都有两个相关的验证者。
-
-![验证者密钥逻辑](multiple-keys.png)
-
-## 延伸阅读 {#further-reading}
-
-- [由 Carl Beekhuizen 发表的以太坊基金会博客](https://blog.ethereum.org/2020/05/21/keys/)
-- [EIP-2333 BLS12-381 密钥生成](https://eips.ethereum.org/EIPS/eip-2333)
diff --git "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/pos-vs-pow/index.md" "b/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/pos-vs-pow/index.md"
deleted file mode 100644
index 5bcad99bdc1..00000000000
--- "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/pos-vs-pow/index.md"
+++ /dev/null
@@ -1,69 +0,0 @@
----
-title: 权益证明与工作量证明
-description: 以太坊权益证明共识机制与工作量证明共识机制的比较
-lang: zh
----
-
-以太坊启动之时,权益证明机制仍需要进行大量的研究和开发,才能依靠它保护以太坊的安全。 工作量证明是一种较为简单的机制,已经在比特币中得到验证,这意味着核心开发者可以立即实现它以启动以太坊。 在此之后,权益证明机制又经过了 8 年研发,才达到可以实现的阶段。
-
-本页解释了以太坊从工作量证明向权益证明过渡的依据以及相关权衡考虑。
-
-## 安全性 {#security}
-
-以太坊的研究人员认为权益证明机制比工作量证明机制更安全。 然而,权益证明机制直到最近才在真正的以太坊主网上实现,并且不如工作量证明机制那样久经考验。 以下部分将讨论权益证明的安全模型相对于工作量证明的优缺点。
-
-### 攻击成本 {#cost-to-attack}
-
-在权益证明机制中,验证者需要在智能合约中托管(质押)至少 32 个以太币。 以太坊可以通过销毁质押的以太币来惩罚不当行为的验证者。 为了达成共识,至少要有总质押数 66%的以太币投票支持一组特定的区块。 被至少 66% 的质押以太币投票支持的区块成为“最终确定”区块,这意味着它们不能被移除或重组。
-
-攻击网络可能意味着阻止区块链最终确定,或者确保规范链中出现特定的区块组织结构,从而以某种方式使攻击者受益。 这需要攻击者改变达成诚信共识的途径,要么通过积累大量以太币并直接进行投票,要么诱使诚实的验证者按特定方式投票。 除了欺骗诚实验证者的复杂低概率攻击之外,攻击以太坊的成本是攻击者必须积累足够的质押以对他们有利的方式影响共识的成本。
-
-攻击的最低成本至少为总质押数的 33%。 持有至少达到总质押数 33% 的攻击者可以通过离线来导致最终确定延迟。 这对网络来说是一个相对较小的问题,因为有一种称为“怠惰惩罚”的机制,可以罚没离线验证者的质押,直到多数在线验证者的质押达到总质押数的 66% 并且能够再次确定区块链。 理论上,攻击者可以通过在被要求成为区块生产者时创建两个区块而不是一个,并利用其所有的验证者进行双重投票,从而使用略微超过 33% 的总质押数来形成双重最终确定性。 每个分叉只需要剩余诚实验证者中的 50% 先查看每个区块,因此如果攻击者能够恰到好处地控制消息的时机,他们可能能够最终确定这两条分叉。 这种攻击成功的可能性很低,但如果攻击者能够导致双重最终确定性,以太坊社区将不得不决定跟随其中一条分叉,这种情况下,攻击者的验证者将必然在另一个分叉上遭到罚没。
-
-如果拥有总质押数的 33%以上,攻击者有机会对以太坊网络产生轻微(最终确定性延迟)或更严重(双重最终确定性)的影响。 网络上质押了超过 14,000,000 个以太币,而且代表性的价格为每个以太币 1000 美元,那么进行这些攻击的最低成本为 `1000 x 14,000,000 x 0.33 = $4,620,000,000`。 攻击者会由于受到罚没而损失这一大笔钱,并且可能被网络驱逐。 要再次发起攻击,攻击者必须(再次)积累超过 33% 的质押数并(再次)销毁。 每次尝试攻击网络将耗费超过 46 亿美元(每个以太币的价格为 1000 美元,总共质押了 1400 万个以太币)。 在攻击者受到罚没时,他们也会被从网络中驱逐,而且他们必须加入激活队列才能重新加入网络。 这意味着重复攻击的频次不仅受到攻击者积攒超过 33% 的总质押数快慢的限制,还受到将其所有验证者加入网络所需的时间的限制。 每次进行攻击时,攻击者将变得更穷,而其他社区成员则由于产生的供应冲击变得更富。
-
-其他攻击需要的以太币要多得多,如 51% 攻击或使用超过 66% 的总质押数进行的最终确定性逆转,它们对攻击者来说代价更高。
-
-对比工作量证明。 在工作量证明以太坊上,发起攻击的成本是持续拥有超过 50% 的总网络算力的成本。 这相当于硬件和足够算力的运行成本,以持续地超越其他矿工来计算工作量证明解决方案。 以太坊主要是使用图形处理器 (GPU) 进行挖矿,而不是应用型专用集成电路 (ASIC),这降低了成本(尽管如果以太坊继续采用工作量证明机制,ASIC 挖矿可能会变得更受欢迎)。 要攻击工作量证明以太坊网络,攻击者必须购买大量硬件设备,并支付电费来运行这些设备。然而,总成本仍然比累积足够以太币以发起攻击的成本低。 工作量证明机制下,51% 攻击的成本比权益证明机制下大约低 [20 倍](https://youtu.be/1m12zgJ42dI?t=1562)。 如果检测到攻击,并且区块链进行硬分叉以消除攻击者的更改,那么攻击者可以反复使用相同的硬件攻击新的分叉。
-
-### 复杂性 {#complexity}
-
-权益证明比工作量证明复杂得多。 这一点可能成为支持工作量证明的理由,因为在较简单的协议中意外引入漏洞或不想要的影响会更加困难。 然而,这种复杂性已经被多年的研究和开发、模拟和测试网实现所克服。 权益证明协议已由五个独立团队在执行层和共识层使用五种编程语言独立实现,提供了抵御客户端漏洞的复原力。
-
-为了安全地开发和测试权益证明共识逻辑,在以太坊主网实现权益证明的两年前,信标链就已经启动。 信标链作为一个测试权益证明的沙盒环境,因为信标链是一条在线区块链,它现实了权益证明共识逻辑但并未涉及真实的以太坊交易,而是只针对自身达成共识。 在信标链在足够长的时间内保持稳定和无漏洞的状态后,它就与以太坊主网进行了“合并”。 所有这些都有助于克服权益证明的复杂性,使得发生意外后果和客户端漏洞的风险极低。
-
-### 攻击面 {#attack-surface}
-
-权益证明比工作量证明复杂,这意味着需要处理更多潜在的攻击途径。 与单个对等网络连接客户端不同,权益证明中存在两个对等网络,分别实现不同的协议。 在每个时隙内预先选择一个特定的验证者提议一个区块,可能会导致拒绝服务攻击,其中大量的网络流量会使该特定验证者下线。
-
-还有一些方法可以让攻击者精心安排他们的区块或认证的发布时间,以便诚实网络中有一定部分接收到这些信息,影响他们以特定方式投票。 最后一点,攻击者可以简单地积攒足够多的以太币进行质押,并主导共识机制。 所有这些[攻击途径都有相应的防御措施](/developers/docs/consensus-mechanisms/pos/attack-and-defense),但在工作量证明机制中并不存在这些需要防御的攻击途径。
-
-## 去中心化 {#decentralization}
-
-权益证明比工作量证明更加去中心化,这是因为挖矿硬件的装备竞争往往会迫使个人和小型组织退出。 虽然从技术上讲,任何人都可以使用普通硬件开始挖矿,但相比机构化的挖矿操作,他们获得任何奖励的可能性几乎微乎其微。 而在权益证明中,质押的成本和质押的回报率对于每个人来说都是相同的。 目前运行一个验证者需要质押 32 个以太币。
-
-另一方面,流动性质押衍生品的发明引发了中心化的担忧,因为一些大型提供商管理着大量质押的以太币。 这个问题确实存在并且需要尽快纠正,但实际情况可能和表面看起来略有不同。 中心化的质押服务提供商并不一定对验证者进行中心化控制,通常这只是一种创建中心化以太币池的方式,让许多独立的节点运营者能够进行质押,而不需要每个参与者都持有 32 个以太币。
-
-对于以太坊来说,最好的选择是让验证者在家用计算机本地运行,最大程度地实现去中心化。 这就是为什么以太坊拒绝提高运行节点/验证者的硬件要求。
-
-## 可持续性 {#sustainability}
-
-权益证明是一种保护区块链的低碳方式。 在工作量证明机制下,矿工们会争夺开采区块的权利。 当矿工能够更快地执行计算时,他们的成功几率会更高,从而刺激他们对硬件和能源消耗的投资。 在以太坊过渡到权益证明之前,就已经发现了这一点。 在向权益证明机制过渡之前,以太坊的能源消耗约为 78 太瓦时/年,相当于一个小国家的能源消耗量。 然而,过渡到权益证明后,能源消耗减少了约 99.98%。 权益证明使以太坊成为一个节能、低碳平台。
-
-[更多关于以太坊能源消耗的信息](/energy-consumption)
-
-## 发行 {#issuance}
-
-权益证明以太坊在支付其安全性时发行的代币数量比工作量证明以太坊少得多,因为验证者无需支付高昂的电力费用。 因此,以太币可以降低通货膨胀率,甚至在大量以太币被销毁时,以太币会出现通缩。 通货膨胀水平更低意味着以太坊的安全成本比工作量证明机制下更低。
-
-## 更愿意通过视频学习? {#visual-learner}
-
-观看 Justin Drake 解释权益证明相对于工作量证明的优势:
-
-
-
-## 延伸阅读 {#further-reading}
-
-- [Vitalik 的权益证明设计理念](https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51)
-- [Vitalik 的权证明常见问题](https://vitalik.eth.limo/general/2017/12/31/pos_faq.html#what-is-proof-of-stake)
-- [权益证明与工作量证明的“简介”视频](https://www.youtube.com/watch?v=M3EFi_POhps)
diff --git "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md" "b/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md"
deleted file mode 100644
index 9a334def4f6..00000000000
--- "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md"
+++ /dev/null
@@ -1,90 +0,0 @@
----
-title: 权益证明机制下的奖励和惩罚
-description: 了解关于权益证明以太坊的协议内激励。
-lang: zh
----
-
-以太坊使用其原生加密货币以太币 (ETH) 来保证其安全。 希望参与验证区块和识别链头的节点运营商,在以太坊上的[存款合约](/staking/deposit-contract/)中存入以太币。 他们运行验证者软件检查从点对点网络接收到的新区块的有效性,以及应用分叉选择算法来识别链头,然后收到用以太币支付的报酬。
-
-对于验证者来说有两个主要角色:1) 检查新区块并且“证明”它们是否有效,2) 当从整个验证者池子被随机选中时,提议新的区块。 如果验证者无法完成其中任何一项的任务,将错过以太币的支付。 验证者有时也需要负责签名聚合以及参与同步委员会。
-
-还有些操作很难无意为之,并且标志着一些恶意的意图,例如,为同一时隙提议多个区块和为同一时隙验证多个区块。 这些是“可被罚没的”行为,将导致验证者被移出网络之前有一些以太币(高达 1 ETH)被销毁,这个过程需要 36 天。 被罚没验证者的以太币将在退出期一点点耗尽,但到第 18 天,他们会收到一个“相关性惩罚”,即当更多的验证者都在大致相同的时间受罚时,惩罚将更重。 共识机制的激励结构会奖励诚实者和惩罚不良行为者。
-
-所有的奖励和惩罚都在每个时段实施一次。
-
-阅读了解更多详情...
-
-## 奖励和惩罚 {#rewards}
-
-### 奖励 {#rewards}
-
-当验证者作出与大多数其他验证者一致的投票时,当验证者提议区块时,以及当验证者参与同步委员会时,他们会受到奖励。 每个时段奖励的数额是从 `base_reward` 计算的。 这是计算其他奖励的基本单位。 `base_reward` 代表了在每个时段的最佳条件下每个验证者的平均奖励。 这是根据验证者的有效余额以及活跃验证者的总数计算的,如下所示:
-
-```
-base_reward = effective_balance * (base_reward_factor / (base_rewards_per_epoch * sqrt(sum(active_balance))))
-```
-
-其中,`base_reward_factor` 是 64,`base_rewards_per_epoch` 是 4,`sum(active balance)` 是所有活跃验证者的质押以太币总数。
-
-这意味着基础奖励与验证者的有效余额成正比,与网络中的验证者数量成反比。 验证者越多,整体发行量越大(如 `sqrt(N)`),但每个验证者的 `base_reward` 越小(如`1/sqrt(N)`)。 这些因素影响质押节点的年化利率。 在 [Vitalik 的笔记](https://notes.ethereum.org/@vbuterin/rkhCgQteN?type=view#Base-rewards)阅读这方面的原理。
-
-总奖励由五个部分之和组成,每个部分都有一个权重,决定每个部分在总奖励中的比重。 这些部分是:
-
-```
-1. 来源投票:验证者给正确的来源检查点进行了及时投票
-2. 目标投票:验证者给正确的目标检查点进行了及时投票
-3. 头部投票:验证者给正确的头部区块进行了及时投票
-4. 同步委员会奖励:验证者参与了同步委员会
-5. 提议者奖励:验证者在正确的时隙提议了区块
-```
-
-每个部分的权重如下所示:
-
-```
-TIMELY_SOURCE_WEIGHT uint64(14)
-TIMELY_TARGET_WEIGHT uint64(26)
-TIMELY_HEAD_WEIGHT uint64(14)
-SYNC_REWARD_WEIGHT uint64(2)
-PROPOSER_WEIGHT uint64(8)
-```
-
-这些权重加起来等于 64。 奖励的计算方法是适用权重的总和除以 64。 如果验证者及时给来源、目标和头部投票,提议一个区块以及参与同步委员会,他们就能获取 `64/64 * base_reward == base_reward`。 然而,验证者通常不是区块提议者,所以它们的最大奖励是 `64-8 /64 * base_reward == 7/8 * base_reward`。 既不是区块提议者,也不参与同步委员会的验证者能收到 `64-8-2 / 64 * base_reward == 6.75/8 * base_reward`。
-
-还增加一个额外奖励来激励快速认证。 这就是 `inclusion_delay_reward`。 这个值等于 `base_reward` 乘以 `1/delay`,其中 `delay` 是分隔区块提议和认证的时隙数。 例如,如果在区块提议的一个时隙内提交认证,那么认证者将获得 `base_reward * 1/1 == base_reward`。 如果认证在下一个时隙到达,认证者将收到 `base_reward * 1/2`,以此类推。
-
-包含在区块中的**每一个有效认证**都能让区块提议者获得 `8 / 64 * base_reward`,所以奖励的实际值与证明验证者的数量成比例。 通过在所提议区块中包含其他验证者的不良行为证据,区块提议者也能增加奖励。 这些奖励是鼓励验证者诚实的“胡萝卜”。 一个包含罚没的区块提议者将被奖励 `slashed_validators_effective_balance / 512`。
-
-### 惩罚 {#penalties}
-
-到目前为止,我们已经考虑了行为良好的验证者,但对于那些没有及时作出头部、来源和目标投票或者投票非常慢的验证者呢?
-
-错失目标和来源投票的惩罚等于认证者提交这些投票时获取到的奖励。 这意味着没有奖励会添加到他们的余额中,反而会从余额中移除同等价值。 错失头部投票没有惩罚(即,头部投票只有奖励,没有惩罚)。 也没有与 `inclusion_delay` 值相关的惩罚 - 只是不会把奖励添加到验证者余额。 区块提议失败也没有惩罚。
-
-在[共识规范](https://github.com/ethereum/consensus-specs/blob/dev/specs/altair/beacon-chain.md)中阅读更多关于奖励和惩罚的内容。 Bellatrix 升级调整了奖励和惩罚 - 观看 Danny Ryan 和 Vitalik 在[“以太坊改进提案解读”视频](https://www.youtube.com/watch?v=iaAEGs1DMgQ)中对此的讨论。
-
-## 罚没 {#slashing}
-
-罚没是一种更加严重的行为,将导致验证者被强制移出网络并且他们质押的以太币会损失。 有三种方式会让验证者被罚没,所有这些都相当于不诚实地提议或认证区块:
-
-- 在同一时隙提议或签名两个不同的区块
-- 认证一个“包围”另一个区块的区块(有效地更改历史)
-- 通过证明同一个区块的两名候选人进行“双重投票”
-
-如果这些行为被检测到,验证者就会被罚没。 这意味着 1/32 的质押以太币(最多是 1 个以太币)将被立即销毁,然后一个为期36天的移除期开始。 在移除期内,验证者的质押将逐渐流失。 在中间点(第 18 天),会有一个额外的惩罚,其幅度与罚没事件之前 36 天内所有被罚没验证者的质押以太币总数成比例。 这意味着被罚没的验证者越多,罚没的幅度就会增加。 最大的罚没幅度是所有罚没验证者的全部有效余额(即,如果有很多的验证者被罚没,那么他们将失去全部的质押)。 另一方面,一次单独的罚没事件只会销毁一小部分的验证者质押。 这个与罚没验证者的数量成比例的中间点惩罚被称为“相关性惩罚”。
-
-## 怠惰惩罚 {#inactivity-leak}
-
-如果共识层超过四个时段都还没有最终确定,则会激活称为“怠惰惩罚”的紧急协议。 怠惰惩罚的最终目的是给该链恢复最终确定性创建必要条件。 正如上文所解释的那样,最终确定性需要 2/3 多数的总质押以太币来同意来源和目标检查点。 如果超过 1/3 验证者总数的验证者离线或者提交正确认证失败,那么就不可能有超过 2/3 的绝对多数来最终确定检查点。 怠惰惩罚会让非活跃验证者的质押逐渐流失,直到他们控制的总质押少于 1/3,这就允许了其余的活跃验证者可以最终确定该链。 不管非活跃验证者的池子有多大,其余的活跃验证者最终都会控制超过 2/3 的质押。 质押损失对于非活跃验证者尽快重新激活有着强大的激励! 在 Medalla 测试网曾遇到过一个怠惰惩罚的场景,少于 66% 的活跃验证者能够在当前区块链头部达成共识。 怠惰惩罚被激活,最终重新获得最终确定性!
-
-共识机制的奖励、惩罚和罚没的设计,可鼓励个人验证者做出正确行为。 然而,从这些设计选择中催生了一个这样一个系统:它强烈激励在多个客户端平均分配验证者,并应强烈抑制单一客户端的主导地位。
-
-## 延伸阅读 {#further-reading}
-
-- [升级以太坊:激励层](https://eth2book.info/altair/part2/incentives)
-- [以太坊混合型 Casper 协议中的激励措施](https://arxiv.org/pdf/1903.04205.pdf)
-- [Vitalik 的注释规范](https://github.com/ethereum/annotated-spec/blob/master/phase0/beacon-chain.md#rewards-and-penalties-1)
-- [防止以太坊 2 罚没的技巧](https://medium.com/prysmatic-labs/eth2-slashing-prevention-tips-f6faa5025f50)
-
-_来源_
-
-- _[https://benjaminion.xyz/eth2-annotated-spec/phase0/beacon-chain/](https://benjaminion.xyz/eth2-annotated-spec/phase0/beacon-chain/)_
diff --git "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md" "b/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md"
deleted file mode 100644
index fbc3b77473c..00000000000
--- "a/public/content/translations/zh/16) Foundational Docs \342\200\223 Proof-of-Stake/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md"
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title: 弱主观性
-description: 关于弱主观性及其在权益证明版以太坊中的作用。
-lang: zh
----
-
-区块链的主观性是指对社会信息的依赖,以就当前状态达成一致。 根据从网络上其他对等点收集到的信息,会有多个有效分叉供选择。 与主观性相对的是客观性,后者指只有一个可能有效的链,必须应用编码规则才能使所有节点达成一致。 还有第三种状态,称为弱主观性, 是指检索完社会信息的一些初始来源后,可以取得客观进展的区块链。
-
-## 前提条件 {#prerequisites}
-
-理解此页必须首先理解[权益证明](/developers/docs/consensus-mechanisms/pos/)的基础知识。
-
-## 弱主观性解决了哪些问题? {#problems-ws-solves}
-
-主观性是权益证明区块链所固有的,因为从多个分叉中选择正确的链是通过计算历史投票来完成的。 这使区块链暴露在多个攻击途径下,包括以下类型的长期攻击:很早就参与了区块链的节点维护一个替代分叉,并会在稍后因自己的利益释放此分叉。 另外,如果 33% 的验证者取出他们的质押物,但仍继续证明和生产区块,他们可能会生成一个与规范链相冲突的替代分叉。 新的节点或已经离线很长时间的节点可能不知道这些攻击验证者已经取出了他们的资金,所以攻击者可能会诱骗他们跟随不正确的链。 以太坊可以通过施加限制来解决这些攻击途径,因为这些限制可将机制的主观方面(也就是信任假设)降至最低。
-
-## 弱主观性检查点 {#ws-checkpoints}
-
-在权益证明版以太坊中,弱主观性的实现要用到“弱主观性检查点”, 即网络上所有节点都同意加入规范链的状态根。 它们的作用与创世区块的"普遍事实"相同,只是它们不在区块链的创世块位置上。 分叉选择算法相信该检查点中确定的区块链状态是正确的,并且独立和客观地验证了从该点开始的区块链。 检查点起到了"回滚限制"的作用,因为位于弱主观性检查点之前的区块不能改变。 如此,只需将远程分叉作为机制设计的一部分界定为无效,就能破坏远程攻击。 确保弱主观性检查点之间相隔的距离小于验证者提款期,这样便可保证分叉链的验证者在提取质押前至少被罚没一些阈值量,且新验证者不能被已经提取质押的验证者骗到错误的分叉上。
-
-## 弱主观性检查点和最终确定区块的区别 {#difference-between-ws-and-finalized-blocks}
-
-以太坊节点对最终确定区块和弱主观性检查点的处理方式不同。 如果一个节点意识到有两个相互竞争的最终确定区块,它就会在这两个区块之间纠结,因为它没有办法自动识别哪个是规范分叉。 这是共识失败的表现。 相反,节点只会拒绝任何与其弱主观性检查点有冲突的区块。 从节点的角度来看,弱主观性检查点代表了一个绝对的真理,即不能被其对等点的新信息所破坏。
-
-## 多弱为弱? {#how-weak-is-weak}
-
-以太坊权益证明的主观方面要求从可信的同步来源获得最新状态(弱主观性检查点)。 得到坏的弱主观性检查点的风险非常低,因为它们可以通过对照多个独立的公开来源(如区块浏览器或多个节点)进行检查。 然而,运行任何软件应用程序总是需要一定程度的信任,例如,相信软件开发人员开发的是诚实的软件。
-
-一个弱主观性检查点甚至可以成为客户端软件的一部分。 可以说,攻击者可以破坏软件中的检查点,就可以同样容易地破坏软件本身。 在这个问题上没有真正的加密经济路线,但在以太坊中,不可信开发者的影响得到了最小化,因为有多个独立的客户端团队,每个团队都在用不同的语言构建同等的软件,他们都是维护诚信链的既得利益者。 区块浏览器也可以提供弱主观性检查点,或者提供一种方法,将从其他地方获得的检查点与其他来源进行交叉对比。
-
-最终,可以从其他节点请求检查点;也许另一个运行完整节点的以太坊用户可以提供一个检查点,然后验证者可以根据区块浏览器的数据进行验证。 总的来说,信任弱主观性检查点的提供者和信任客户端开发人员可视为同样的问题, 即所需的整体信任度很低。 需要注意的是,这些考虑只有在大多数验证者密谋生成另一个区块链分叉这种不太可能的情况下才变得重要。 在任何其他情况下,只有一条以太坊链可以选择。
-
-## 延伸阅读 {#further-reading}
-
-- [以太坊 2 中的弱主观性](https://notes.ethereum.org/@adiasg/weak-subjectvity-eth2)
-- [Vitalik:我如何爱上弱主观性](https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/)
-- [弱主观性(Teku 文档)](https://docs.teku.consensys.net/en/latest/Concepts/Weak-Subjectivity/)
-- [阶段 0 的弱主观性指南](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/weak-subjectivity.md)
-- [以太坊 2.0 的弱主观性分析](https://github.com/runtimeverification/beacon-chain-verification/blob/master/weak-subjectivity/weak-subjectivity-analysis.pdf)
diff --git "a/public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/poa/index.md" "b/public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/poa/index.md"
deleted file mode 100644
index cd309777e72..00000000000
--- "a/public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/poa/index.md"
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: 权威证明 (PoA)
-description: 权威证明共识协议的解释及其在区块链生态系统中的作用。
-lang: zh
----
-
-**权威证明 (PoA)** 是一种基于信誉的共识算法,它是[权益证明](/developers/docs/consensus-mechanisms/pos/)的一个修改版本。 主要应用于私有链、测试网以及本地开发网络。 权威证明是一种基于信誉的共识算法,它与权益证明中基于质押的机制不同,要求信任一组经授权的签名者来生成区块。
-
-## 前提条件 {#prerequisites}
-
-为了更好地理解本页内容,建议您先阅读有关[交易](/developers/docs/transactions/)、[区块](/developers/docs/blocks/)和[共识机制](/developers/docs/consensus-mechanisms/)的相关信息。
-
-## 什么是权威证明 (PoA)? {#what-is-poa}
-
-权威证明是\*\*[权益证明](/developers/docs/consensus-mechanisms/pos/)的一个修改版本,它是一种基于信誉的共识算法,而不是权益证明中基于质押的机制。 权威证明最早由 Gavin Wood 于 2017 年提出,这种共识机制主要用于私有链、测试网和本地开发网络,因为它不像工作量证明那样需要高质量的资源,还通过让一小部分节点存储区块链数据并生成区块,克服了权益证明存在的可扩展性问题。
-
-权威证明要求信任一组在[创世区块](/glossary/#genesis-block)中设定的授权签名者。 在多数最新实现中,所有授权签名者在决定链共识时都保留了同等的权力和特权。 信誉质押依据的理念是,每个授权验证者通过了解你的客户 (KYC) 流程等或通过让一家知名组织成为唯一验证者而为所有人所熟知;这样一来,如果验证者行为不当,他们的身份是已知的。
-
-目前有多种权威证明实现,但标准以太坊实现是实现了 [EIP-225](https://eips.ethereum.org/EIPS/eip-225) 的 **Clique**。 Clique 对开发者友好,是一种易于实施的标准,支持所有客户端同步类型。 其他实现包括 [IBFT 2.0](https://besu.hyperledger.org/stable/private-networks/concepts/poa) 和 [Aura](https://openethereum.github.io/Chain-specification) 。
-
-## 工作原理 {#how-it-works}
-
-在权威证明中,选定一组授权签名者来创建新区块。 新的区块只能由这些基于信誉被挑选出来的签名者来创建。 每个签名者轮流获得机会,在特定时间范围内创建一个区块。 区块创建时间是固定的,签名者必须在该时间范围内创建一个区块。
-
-在这种情况下,信誉并不是一个量化的东西,而是像微软和谷歌等知名企业的信誉一样。因此,受信任签名者的选择并非基于算法,而是类似于正常人类的信任行为。例如,微软在成百上千家初创企业之间创建了一个权威证明私有网络,并将自己设定为唯一受信任的签名者,但未来也可能添加谷歌等其他知名签名者。毫无疑问,这些初创企业会信任微软一直诚实地使用该网络。 这种方式解决了因不同目的而建立的不同小规模/私有网络的去中心化运作需求,同时减少了对矿工(会耗费大量电力和资源)的需求。 一些私有网络使用权威验证标准,例如 VeChain,而有些则对其进行了修改,例如 Binance 使用的[质押权威证明](https://academy.binance.com/en/glossary/proof-of-staked-authority-posa)便是权威证明和权益证明的定制修改版本。
-
-投票过程由签名者自己完成。 每个签名者在创建新区块时,都会投票决定在其区块中增减签名者。 票数由节点进行统计,并根据票数是否达到特定阈值“SIGNER_LIMIT”来添加或移除签名者。
-
-可能会出现发生小分叉的情况,区块的难度取决于是否轮到该区块签名。 “轮到”区块的难度为 2,“未轮到”区块的难度为 1。 在小分叉的情况下,大多数签名者“轮到”密封区块的链将会积累最大难度并获胜。
-
-## 攻击矢量 {#attack-vectors}
-
-### 恶意签名者 {#malicious-signers}
-
-恶意用户可能会被添加到签名者列表中,或者签名密钥/机器可能被泄露。 在这种情况下,协议必须能够抵御重组和垃圾邮件攻击。 建议的解决方案是,在 N 个授权签名者的列表中,任何签名者只能铸造每 K 个区块中的 1 个区块。这可以确保损害有限,其余验证者可以投票淘汰恶意用户。
-
-### 审查 {#censorship-attack}
-
-另一个有趣的攻击矢量是,如果一个签名者(或一组签名者)试图审查投票将其从授权列表中删除的区块。 为解决这个问题,允许的签名者铸币频率被限制不超过每 N/2 次中的 1 次。 这就确保了恶意签名者至少需要控制 51% 的签名帐户,此时他们实际上就成为了链上新的真实性来源。
-
-### 垃圾邮件 {#spam-attack}
-
-另一个小型攻击矢量是恶意签名者在他们铸造的每个区块中注入新的投票提案。 由于节点需要统计所有投票以创建实际的授权签名者列表,因此它们必须记录一段时间内的所有投票。 如果不限制投票窗口,它可能会缓慢但无限制地增长。 解决方案是设置一个由 W 个区块组成的移动窗口,在此窗口过后,投票会被视为过时。 合理的窗口可能是 1-2 时段。
-
-### 并发区块 {#concurrent-blocks}
-
-在权威证明网络中,当有 N 个授权签名者时,每个签名者被允许铸造每 K 个区块中的 1 个区块,这意味着在任何给定时间点都有 N-K+1 个验证者被允许铸造区块。 为了防止这些验证者争抢区块,每个签名者应该在发布新区块的时间上增加一个小的随机“偏移量”。 尽管这个过程确保了小分叉很少见,但同主网一样,偶尔的分叉仍然可能发生。 如果发现某个签名者滥用权力并造成混乱,其他签名者可以投票将其淘汰。
-
-例如,如果有 10 个授权签名者,每个签名者被允许创建每 20 个区块中的 1 个区块,那么在任何给定时间内,都有 11 个验证者可以创建区块。 为了防止他们竞相创建区块,每个签名者都会在发布新区块的时间上增加一个小的随机“偏移量”。 这减少了小分叉的发生,但同以太坊主网一样,仍允许偶尔分叉。 如果签名者滥用权力并造成混乱,就可能被投票淘汰出网络。
-
-## 优点和缺点 {#pros-and-cons}
-
-| 优点 | 缺点 |
-| ------------------------------------------ | ------------------------------------------- |
-| 与权益证明和权威证明等其他流行机制相比,可扩展性更强,因为它基于有限数量的区块签名者 | 权威证明网络的验证节点通常相对较少。 这使得权威证明网络更加中心化。 |
-| 权威证明区块链的运行和维护成本极低 | 由于区块链要求实体具有公认的信誉,因此成为授权签名者对于普通人来说通常是遥不可及的。 |
-| 由于验证新区块只需要有限数量的签名者,因此交易确认速度非常快,可在 1 秒内完成。 | 恶意签名者可以重新组织、重复支出、审查网络中的交易,这些攻击已得到缓解,但仍有可能发生 |
-
-## 扩展阅读{#further-reading}
-
-- [EIP-225](https://eips.ethereum.org/EIPS/eip-225) _Clique 标准_
-- [权威证明研究](https://github.com/cryptoeconomics-study/website/blob/master/docs/sync/2.4-lecture.md) _Cryptoeconomics_
-- [什么是权威证明](https://forum.openzeppelin.com/t/proof-of-authority/3577) _OpenZeppelin_
-- [权威证明解释](https://academy.binance.com/en/articles/proof-of-authority-explained) _binance_
-- [区块链中的权威证明](https://medium.com/techskill-brew/proof-of-authority-or-poa-in-blockchain-part-11-blockchain-series-be15b3321cba)
-- [Clique 解释](https://medium.com/@Destiner/clique-cross-client-proof-of-authority-algorithm-for-ethereum-8b2a135201d)
-- [已废弃权威证明、Aura 规范](https://openethereum.github.io/Chain-specification)
-- [IBFT 2.0,另一种权威证明实现](https://besu.hyperledger.org/stable/private-networks/concepts/poa)
-
-### 更愿意通过视频学习? {#visual-learner}
-
-观看权威证明的直观解释:
-
-
-
-## 相关话题 {#related-topics}
-
-- [工作量证明](/developers/docs/consensus-mechanisms/pow/)
-- [权益证明](/developers/docs/consensus-mechanisms/pos/)
diff --git "a/public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/index.md" "b/public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/index.md"
deleted file mode 100644
index 89781d11ee7..00000000000
--- "a/public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/index.md"
+++ /dev/null
@@ -1,109 +0,0 @@
----
-title: 工作量证明 (PoW)
-description: 工作量证明共识协议的解释及其在以太坊中的作用。
-lang: zh
----
-
-以太坊网络最初采用一种称为**[工作量证明 (PoW)](/developers/docs/consensus-mechanisms/pow)** 的共识机制。 这种机制允许以太坊网络的节点就以太坊区块链上记录的所有信息的状态达成共识,并防止某些产生经济影响的攻击。 然而,以太坊在 2022 年终结了工作量证明并开始采用[权益证明](/developers/docs/consensus-mechanisms/pos)。
-
-
- 工作量证明现已弃用。 以太坊不再使用工作量证明作为其部分共识机制。 它改用权益证明。 阅读有关权益证明和质押的更多信息。
-
-
-## 前提条件 {#prerequisites}
-
-为了更好地理解此页面,建议提前阅读[交易](/developers/docs/transactions/)、[区块](/developers/docs/blocks/)和[共识机制](/developers/docs/consensus-mechanisms/)。
-
-## 什么是工作量证明 (POW) {#what-is-pow}
-
-中本聪共识采用工作量证明,一度允许去中心化的以太坊网络对帐户余额和交易顺序等达成共识(即所有节点都同意)。 这种机制防止用户“重复支付”他们的货币,同时确保极难攻击或操作以太坊区块链。 这些安全特性现在由权益证明提供,后者采用称为 [Gasper](/developers/docs/consensus-mechanisms/pos/gasper/) 的共识机制。
-
-## 工作量证明和挖矿 {#pow-and-mining}
-
-工作量证明是一种基础性算法,它为矿工在工作量证明区块链上进行的工作设置难度和规则。 挖矿就是“工作”本身。 挖矿是向区块链中添加有效区块。 这很重要,因为链的长度有助于网络跟随区块链的正确分叉。 “工作”完成得越多,链越长,区块编号就越大,就更能确定网络达到最新状态。
-
-[有关挖矿的更多信息](/developers/docs/consensus-mechanisms/pow/mining/)
-
-## 以太坊的工作量证明机制如何运作? {#how-it-works}
-
-以太坊交易处理到区块中。 在现已弃用的工作量证明以太坊中,每个区块包含:
-
-- 区块的难度,例如:3,324,092,183,262,715
-- 混合哈希(mixHash),例如:`0x44bca881b07a6a09f83b130798072441705d9a665c5ac8bdf2f39a3cdf3bee29`
-- nonce--例如:`0xd3ee432b4fb3d26b`
-
-这些区块数据与工作量证明直接相关。
-
-### 工作量证明机制 {#the-work}
-
-工作量证明协议 Ethash 要求矿工经过激烈的试错竞赛,找到一个区块的随机数。 只有具备有效随机数的区块才能加入区块链中。
-
-当矿工们争相创建区块时,他们会反复通过一个数学函数放置一个数据集,此数据集只能通过下载和运行整条区块链获得(矿工们都是这样做的)。 该数据集用来产生一个低于目标随机数的混合哈希,而此目标随机数由区块难度决定。 做到这些最好的方式是试错。
-
-难度决定了哈希的目标值。 目标值越小,有效哈希的集合就越小。 一旦生成哈希,其他矿工和客户端就很容易验证哈希。 即使一条交易记录出现改变,整个哈希就会变得完全不同,表示出现欺诈。
-
-哈希使得欺诈更容易被发现。 此外,工作量证明作为一个流程,同样有效威慑了对区块链的攻击。
-
-### 工作量证明和安全性 {#security}
-
-激励矿工在以太坊主链上挖矿。 对于一小部分矿工而言,没有任何激励措施让他们去开辟一条自己的新链 - 因为这破坏了体系。 区块链依赖于唯一状态来判断真实性。
-
-工作量证明的目标是延长链。 最长的链是最可信的有效链,因为需要完成最多的计算工作来生成它。 在以太坊的工作量证明体系中,几乎不可能创建新的区块来清除交易、创建虚假交易或维护第二条链。 那是因为恶意矿工总是需要比其他人更快地解出区块随机数。
-
-要持续创建恶意但有效的区块,恶意矿工将需要超过 51% 的网络挖矿算力才能击败其他人。 这种海量的“工作”需要大量昂贵的算力,而且消耗的能源甚至可能超过攻击所得的收益。
-
-### 工作量证明的经济模型 {#economics}
-
-工作量证明还负责向系统中发行新货币并激励矿工完成工作。
-
-自[君士坦丁堡升级](/history/#constantinople)以来,成功创建区块的矿工将获得两个新铸造的以太币及部分交易费作为奖励。 叔块也会获得 1.75 个以太币的补偿。 叔块是由一个矿工创建的有效区块,几乎与此同时另一个矿工创建了规范区块。要确定规范区块,最终取决于哪条链构建于第一个区块之上。 叔块通常是由于网络延迟而出现。
-
-## 最终确定性 {#finality}
-
-如果交易属于一个无法更改的区块时,它就在以太坊上具有“最终确定性”。
-
-由于矿工以去中心化的方式工作,有可能同时开采出两个有效区块。 这就产生了一个临时分叉。 最后,在后续区块被开采出并添加到其中一条链使其更长时,这条链就会成为被接受的链。
-
-但更复杂的是,在临时分叉上被拒绝的交易可能没有包含在被接受的主链上。 这意味着区块是可逆的。 因此,最终确定性是指你在认为交易不可逆之前需要等待的一段时间。 在以前的工作量证明以太坊中,一个特定区块 `N` 之后开采出的区块越多,就更加确信区块 `N` 内的交易是成功的且不可回滚。 现在,基于权益证明机制,最终确定是区块的明确属性,而不再是概率性的。
-
-## 工作量证明能源消耗 {#energy}
-
-对工作量证明提出的一项主要批评是保证网络安全所需的能源消耗。 为了维持安全和去中心化,采用工作量证明的以太坊每年消耗大量能源。 在即将过渡到权益证明之际,以太坊矿工的总能源消耗大约为 70 亿千瓦时/年(大约与捷克共和国相当 - 数据来自 2022 年 7 月 18 日 [digiconomist](https://digiconomist.net/))。
-
-## 优点和缺点 {#pros-and-cons}
-
-| 优点 | 缺点 |
-| -------------------------------------------------------------------------------------------------------------------- | --------------------------------- |
-| 工作量证明并无对错。 你不需要以太币来启动,出块奖励允许你从 0 ETH 获得正的收益。 而在[权益证明](/developers/docs/consensus-mechanisms/pos/)中,你需要以太币来启动获取收益的过程。 | 工作量证明消耗了大量能源,对环境不利。 |
-| 工作量证明是一个经过考验和测试的共识机制,多年来一直保持了比特币和以太坊的安全性和去中心化。 | 如果你想要挖矿,需要花大量的启动资金去购买专业设备。 |
-| 与权益证明方式相比,工作量证明是比较容易实施的。 | 因为算力的不断增加,矿池可能会主导挖矿过程,导致中心化和安全风险。 |
-
-## 与权益证明对比 {#compared-to-pos}
-
-从更高层面上看,权益证明和工作量证明的最终目标相同,即帮助去中心化网络安全地达成共识。 但它们在实现方式和人员上有些不同:
-
-- 权益证明 (PoS) 让质押 ETH 不再需要算力。
-- 权益证明 (PoS) 将矿工替换为验证者。 验证者通过质押他们的 ETH 来创建新的区块。
-- 验证者不会竞争创建区块,而是由算法随机选择。
-- 终局性是很清晰的:在特定的检查节点,如果 2/3 验证者确定了区块,这个区块将被视为最终状态。 验证者必须在区块压上自己全部质押,因此如果他们试图串通更改区块链,他们就会失去他们的全部质押。
-
-[有关权益证明的更多信息](/developers/docs/consensus-mechanisms/pos/)
-
-## 更愿意通过视频学习? {#visual-learner}
-
-
-
-## 延伸阅读 {#further-reading}
-
-- [多数攻击](https://en.bitcoin.it/wiki/Majority_attack)
-- [关于结算终局性](https://blog.ethereum.org/2016/05/09/on-settlement-finality/)
-
-### 视频 {#videos}
-
-- [对工作量证明协议的技术说明](https://youtu.be/9V1bipPkCTU)
-
-## 相关主题 {#related-topics}
-
-- [矿工](/developers/docs/consensus-mechanisms/pow/mining/)
-- [权益证明](/developers/docs/consensus-mechanisms/pos/)
-- [权威证明](/developers/docs/consensus-mechanisms/poa/)
diff --git "a/public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/mining/index.md" "b/public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/mining/index.md"
deleted file mode 100644
index 1942eef4da8..00000000000
--- "a/public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/mining/index.md"
+++ /dev/null
@@ -1,81 +0,0 @@
----
-title: 挖矿
-description: 解释以太坊上挖矿的工作原理。
-lang: zh
----
-
-
-工作量证明不再是以太坊共识机制的基础,这意味着挖矿已终结。 取而代之的是,以太坊将由质押了以太币的验证者保护。 你可以立即开始质押以太币。 阅读更多关于合并、权益证明和质押的信息。 此页面仅展示历史内容。
-
-
-## 前提条件 {#prerequisites}
-
-为了更好地了解此页面,推荐先阅读[交易](/developers/docs/transactions/)、[区块](/developers/docs/blocks/)和[工作量证明](/developers/docs/consensus-mechanisms/pow/)。
-
-## 以太坊挖矿是什么? {#what-is-ethereum-mining}
-
-挖矿是指创建要添加到以太坊区块链的交易块的过程,在以太坊现已弃用的工作量证明架构中进行。
-
-挖矿一词源于将加密货币比作黄金的比喻。 黄金或贵金属很稀缺,数字代币也很稀缺,在工作量证明体系中,只能通过挖矿增加总量。 在工作量证明以太坊中,只能通过挖矿进行发行。 然而,与黄金或贵金属不同,以太坊挖矿也是一种通过在区块链中创建、验证、发布和传播区块来保护网络的方式。
-
-以太币挖矿 = 保护网络安全
-
-挖矿是任何工作量证明区块链的命脉。 在过渡到权益证明之前,以太坊矿工,即运行软件的计算机,利用它的时间和算力处理交易并产生区块。
-
-## 为什么存在矿工? {#why-do-miners-exist}
-
-在以太坊这样的去中心化系统中,需要确保每个人都同意交易的顺序。 矿工通过解决计算难题来产生区块并保护网络免受攻击,从而帮助实现这一目标。
-
-[关于工作量证明的更多信息](/developers/docs/consensus-mechanisms/pow/)
-
-以前任何人都能使用他们的计算机在以太坊网络上挖矿。 然而,并非每个人都可以通过挖矿实现以太币 (ETH) 获利。 在大多数情况下,矿工必须购买专用计算机硬件,并且能够获得廉价能源。 普通计算机不太可能获得足够的区块奖励来支付相关的挖矿成本。
-
-### 挖矿成本 {#cost-of-mining}
-
-- 建造和维护矿机所需硬件的潜在成本
-- 矿机的电力成本
-- 如果你在矿池中挖矿,这些矿池通常对矿池生成的每个区块收取固定百分比的费用
-- 支持矿机的潜在成本(通风、能源监测、电线等)
-
-要进一步探索挖矿收益,请使用挖矿收益计算器,例如 [Etherscan](https://etherscan.io/ether-mining-calculator) 提供的挖矿收益计算器。
-
-## 如何挖掘以太坊交易 {#how-ethereum-transactions-were-mined}
-
-以下内容将简要介绍如何在以太坊工作量证明中挖掘交易。 在[这里](/developers/docs/consensus-mechanisms/pos/#transaction-execution-ethereum-pos)可以找到对以太坊权益证明中该过程的类比介绍。
-
-1. 用户编写和通过一些[帐户](/developers/docs/accounts/)私钥来签署[交易](/developers/docs/transactions/)请求。
-2. 用户通过一些[节点](/developers/docs/nodes-and-clients/)将自己的交易请求广播到整个以太坊网络。
-3. 在听到新的转账请求时,每个以太坊网络节点会添加这笔交易到本地的内存池,这些内存池包括他们收到的没有被添加到区块链以承认的所有转账请求。
-4. 在这个时候,一个挖矿节点将几十或上百个交易请求汇总到潜在[区块](/developers/docs/blocks/)中,从而尽量多收取[交易](/developers/docs/gas/)手续费,同时保证不超出区块燃料限制。 采矿节点将:
- 1. 验证每个交易请求的有效性(例如没有人试图将以太币从他们没有签名的帐户中转移出来,请求是否有格式错误等),然后执行请求的本地代码,改变本地副本 EVM 的状态。 矿工获得每个交易请求的转账的手续费到他们的帐户。
- 2. 一旦在本地 EVM 副本上验证并执行了块中的所有转账请求,就开始为潜在块生成工作证明“合法性证书”。
-5. 最终,矿工将完成为包含我们特定交易请求的区块生成的证书。 然后,矿工广播完成的区块,其中包括证书和校验新 EVM 状态。
-6. 其他节点将收到新的区块。 他们将验证证书,执行区块上所有的转账(包括最初由用户广播的交易),然后校验新 EVM 状态,之后执行所有满足 EVM 校验和的转账。 只有这样,这些节点才会将该块附加到区块链的尾部,并接受新的 EVM 状态作为新的规范状态。
-7. 每个节点将从其未完成的本地内存池的转账请求中删除新区块中已经存在的转账请求。
-8. 加入网络的新节点将按顺序下载所有块,包括未被打包的交易块。 初始化本地 EVM 副本(作为空白状态的 EVM 开始),在本地 EVM 副本上执行每个块中的每个转账,校验各块的校验和。
-
-每个交易都只会被挖掘(首次包含在新区块中并传播)一次,但在推进规范以太坊虚拟机状态的过程中,每个参与者都会执行和验证交易。 这凸显出区块链的核心准则之一:**不信任,就验证**。
-
-## 叔块 {#ommer-blocks}
-
-基于工作量证明的区块挖掘是概率性的,这意味着有时由于网络延迟而同时公布了两个有效的区块。 在这种情况下,协议必须确定最长链(因此大多数即是最“有效的”),同时针对已提交但未被包含的有效区块,给予矿工部分奖励以确保公平。 这促使网络进一步去中心化,因为小矿工群体可能面临更大的延迟,但仍然可以通过[叔块](/glossary/#ommer)奖励获得收益。
-
-对于父区块的同级区块来说,“ommer”一词不分性别,因而为首选,但有时也被称为“uncle”(叔)。 **因为以太坊切换到权益证明机制后,叔块就不会被挖掘了**,因为每个时隙中只选择了一名提议者。 通过查看被挖掘叔块的[历史图表](https://ycharts.com/indicators/ethereum_uncle_rate),你可以看到这种变化。
-
-## 直观演示 {#a-visual-demo}
-
-跟随 Austin 了解挖矿和工作量证明区块链。
-
-
-
-## 挖矿算法 {#mining-algorithm}
-
-以太坊主网只使用过一种挖矿算法:[“Ethash”](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/)。 Ethash 是一种初始研发算法[“Dagger-Hashimoto”](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/)的后续版本。
-
-[有关挖矿算法的更多信息](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/)。
-
-## 相关主题 {#related-topics}
-
-- [燃料](/developers/docs/gas/)
-- [以太坊虚拟机](/developers/docs/evm/)
-- [工作量证明](/developers/docs/consensus-mechanisms/pow/)
diff --git "a/public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md" "b/public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md"
deleted file mode 100644
index faa0ed58c54..00000000000
--- "a/public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md"
+++ /dev/null
@@ -1,334 +0,0 @@
----
-title: Dagger-Hashimoto
-description: 详细了解 Dagger-Hashimoto 算法。
-lang: zh
----
-
-Dagger-Hashimoto 是以太坊挖矿算法的原始研究实现和规范。 但是,Dagger-Hashimoto 已被 [Ethash](#ethash) 取代。 在 2022 年 9 月 15 日实施[合并](/roadmap/merge/)后,挖矿完全关闭。 此后,以太坊采用[权益证明](/developers/docs/consensus-mechanisms/pos)机制保护安全。 本页面展示与历史有关的内容,其中的信息不再与合并后的以太坊相关。
-
-## 前提条件 {#prerequisites}
-
-为了更好地了解此页面,建议提前阅读[工作量证明共识](/developers/docs/consensus-mechanisms/pow)、[挖矿](/developers/docs/consensus-mechanisms/pow/mining)和[挖矿算法](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms)。
-
-## Dagger-Hashimoto 算法 {#dagger-hashimoto}
-
-Dagger-Hashimoto 旨在实现两个目标:
-
-1. **ASIC 抗性**:为算法打造专用硬件的益处应尽可能小。
-2. **轻量级客户端可验证性**:区块应能被轻量级客户端高效验证。
-
-在作出进一步修改后,我们还要具体说明如何在必要时实现第三个目标,但要以增加复杂性为代价:
-
-**完整链存储**:挖矿需要存储完整的区块链状态(因为以太坊状态子树的不规则结构,我们预计将有可能进行一些修改,特别是一些经常用到的合约,但我们希望尽量减少这种情况)。
-
-## 有向无环图世代 {#dag-generation}
-
-以下算法代码将在 Python 中定义。 首先,我们定义了 `encode_int`,用于将指定精度的无符号整数封送为字符串。 同时还定义了它的逆函数。
-
-```python
-NUM_BITS = 512
-
-def encode_int(x):
- "Encode an integer x as a string of 64 characters using a big-endian scheme"
- o = ''
- for _ in range(NUM_BITS / 8):
- o = chr(x % 256) + o
- x //= 256
- return o
-
-def decode_int(s):
- "Unencode an integer x from a string using a big-endian scheme"
- x = 0
- for c in s:
- x *= 256
- x += ord(c)
- return x
-```
-
-接下来我们假设 `sha3` 是一个需要输入整数,然后输出整数的函数,而 `dbl_sha3` 是一个 double-sha3 函数;如果将此引用代码转换为实现,使用以下代码:
-
-```python
-from pyethereum import utils
-def sha3(x):
- if isinstance(x, (int, long)):
- x = encode_int(x)
- return decode_int(utils.sha3(x))
-
-def dbl_sha3(x):
- if isinstance(x, (int, long)):
- x = encode_int(x)
- return decode_int(utils.sha3(utils.sha3(x)))
-```
-
-### 参数 {#parameters}
-
-该算法使用的参数有:
-
-```python
-SAFE_PRIME_512 = 2**512 - 38117 # Largest Safe Prime less than 2**512
-
-params = {
- "n": 4000055296 * 8 // NUM_BITS, # Size of the dataset (4 Gigabytes); MUST BE MULTIPLE OF 65536
- "n_inc": 65536, # Increment in value of n per period; MUST BE MULTIPLE OF 65536
- # with epochtime=20000 gives 882 MB growth per year
- "cache_size": 2500, # Size of the light client's cache (can be chosen by light
- # client; not part of the algo spec)
- "diff": 2**14, # Difficulty (adjusted during block evaluation)
- "epochtime": 100000, # Length of an epoch in blocks (how often the dataset is updated)
- "k": 1, # Number of parents of a node
- "w": w, # Used for modular exponentiation hashing
- "accesses": 200, # Number of dataset accesses during hashimoto
- "P": SAFE_PRIME_512 # Safe Prime for hashing and random number generation
-}
-```
-
-`P` 在这种情况下为优先选择,因此 `log₂(P)` 仅略小于 512。512 对应于我们用来代表我们数目的 512 字节。 请注意,实际上只需要存储有向无环图的后半部分,因此,实际内存要求最初为 1 GB,每年增长 441 MB。
-
-### Dagger 建图 {#dagger-graph-building}
-
-Dagger 建图基本式的定义如下:
-
-```python
-def produce_dag(params, seed, length):
- P = params["P"]
- picker = init = pow(sha3(seed), params["w"], P)
- o = [init]
- for i in range(1, length):
- x = picker = (picker * init) % P
- for _ in range(params["k"]):
- x ^= o[x % i]
- o.append(pow(x, params["w"], P))
- return o
-```
-
-基本上,建图从单个节点 `sha3(seed)` 开始,然后根据随机的先前节点按顺序添加到其他节点上。 创建一个新的节点后,将计算种子的模块化能力,以随机选择一些小于 `i` 的索引(使用上述 `x % i`),并且使用这些索引上的节点值进行计算,以产生新的 `x` 值,随后该值被提供给一个小的工作量证明函数(基于 XOR),最终在索引 `i` 生成图值。 这种特殊设计背后的基本原理是强制按顺序访问有向无环图。如果当前值未知,则无法确定要访问的下一个有向无环图的值。 最后,模幂运算会使结果更加恶化。
-
-这种算法依赖于数字理论的若干结果。 讨论情况见下文附录。
-
-## 轻量级客户端评估 {#light-client-evaluation}
-
-上述构图旨在实现图中每个节点的重构,只计算少量节点的子树,并且仅需少量的辅助内存。 请注意,当 k=1 时,子树只是一个上升到有向无环图第一个元素的值链。
-
-轻量级客户端中,有向无环图的计算函数如下:
-
-```python
-def quick_calc(params, seed, p):
- w, P = params["w"], params["P"]
- cache = {}
-
- def quick_calc_cached(p):
- if p in cache:
- pass
- elif p == 0:
- cache[p] = pow(sha3(seed), w, P)
- else:
- x = pow(sha3(seed), (p + 1) * w, P)
- for _ in range(params["k"]):
- x ^= quick_calc_cached(x % p)
- cache[p] = pow(x, w, P)
- return cache[p]
-
- return quick_calc_cached(p)
-```
-
-本质上,它只是对上述算法的重写,删除了计算整个有向无环图值的循环,并用递归调用或缓存查找替换了早期的节点查找。 请注意,对于 `k=1` 的情况,缓存是不必要的,尽管进一步的优化实际上预先计算了有向无环图的前几千个值,并将其作为静态缓存进行计算;有关此代码实现,请参见附录。
-
-## 有向无环图的双倍缓冲 {#double-buffer}
-
-在完整客户端中,使用了上述公式生成的 2 个有向无环图的[_双倍缓冲_](https://wikipedia.org/wiki/Multiple_buffering)。 具体概念是,根据上述参数,每个 `epochtime` 生成一个有向无环图。 但客户端使用的并非是最新生成的有向无环图,而是前一个。 这样做的好处是,有向无环图可以随着时间的推移而被替换掉,无需包含矿工必须突然重新计算所有数据的步骤。 否则,定期的链处理可能会突然暂时放缓,并大幅提高中心化程度。 因此,在重新计算所有数据之前的几分钟时间内,存在 51% 的攻击风险。
-
-要生成用于块工作计算的有向无环图集,算法如下:
-
-```python
-def get_prevhash(n):
- from pyethereum.blocks import GENESIS_PREVHASH
- from pyethereum import chain_manager
- if n <= 0:
- return hash_to_int(GENESIS_PREVHASH)
- else:
- prevhash = chain_manager.index.get_block_by_number(n - 1)
- return decode_int(prevhash)
-
-def get_seedset(params, block):
- seedset = {}
- seedset["back_number"] = block.number - (block.number % params["epochtime"])
- seedset["back_hash"] = get_prevhash(seedset["back_number"])
- seedset["front_number"] = max(seedset["back_number"] - params["epochtime"], 0)
- seedset["front_hash"] = get_prevhash(seedset["front_number"])
- return seedset
-
-def get_dagsize(params, block):
- return params["n"] + (block.number // params["epochtime"]) * params["n_inc"]
-
-def get_daggerset(params, block):
- dagsz = get_dagsize(params, block)
- seedset = get_seedset(params, block)
- if seedset["front_hash"] <= 0:
- # No back buffer is possible, just make front buffer
- return {"front": {"dag": produce_dag(params, seedset["front_hash"], dagsz),
- "block_number": 0}}
- else:
- return {"front": {"dag": produce_dag(params, seedset["front_hash"], dagsz),
- "block_number": seedset["front_number"]},
- "back": {"dag": produce_dag(params, seedset["back_hash"], dagsz),
- "block_number": seedset["back_number"]}}
-```
-
-## Hashimoto {#hashimoto}
-
-初始 Hashimoto 旨在将区块链用作数据集,执行从区块链中选择 N 个索引的计算,收集这些索引处的交易,对这些数据执行 XOR,并返回结果哈希值。 Thaddeus Dryja 的初始算法(为了保持一致性,被转化成 Python),具体如下:
-
-```python
-def orig_hashimoto(prev_hash, merkle_root, list_of_transactions, nonce):
- hash_output_A = sha256(prev_hash + merkle_root + nonce)
- txid_mix = 0
- for i in range(64):
- shifted_A = hash_output_A >> i
- transaction = shifted_A % len(list_of_transactions)
- txid_mix ^= list_of_transactions[transaction] << i
- return txid_mix ^ (nonce << 192)
-```
-
-不幸的是,虽然 Hashimoto 被视为内存硬件,但它依靠的是 256 位计算,计算量非常之大。 然而,Dagger-Hashimoto 在索引其数据集时仅使用最低有效 64 位来解决此问题。
-
-```python
-def hashimoto(dag, dagsize, params, header, nonce):
- m = dagsize / 2
- mix = sha3(encode_int(nonce) + header)
- for _ in range(params["accesses"]):
- mix ^= dag[m + (mix % 2**64) % m]
- return dbl_sha3(mix)
-```
-
-使用双 SHA3 可以实现零数据、近乎即时的预验证,仅验证是否提供了正确的中间值。 此工作量证明的外层对专用集成电路高度友好且相当薄弱,但它的存在使分布式拒绝服务变得更加困难,因为必须完成少量工作才能生成不会立即被拒绝的区块。 以下为轻量级客户端版本:
-
-```python
-def quick_hashimoto(seed, dagsize, params, header, nonce):
- m = dagsize // 2
- mix = sha3(nonce + header)
- for _ in range(params["accesses"]):
- mix ^= quick_calc(params, seed, m + (mix % 2**64) % m)
- return dbl_sha3(mix)
-```
-
-## 挖矿与验证 {#mining-and-verifying}
-
-现在,将它们全部整合到挖矿算法中:
-
-```python
-def mine(daggerset, params, block):
- from random import randint
- nonce = randint(0, 2**64)
- while 1:
- result = hashimoto(daggerset, get_dagsize(params, block),
- params, decode_int(block.prevhash), nonce)
- if result * params["diff"] < 2**256:
- break
- nonce += 1
- if nonce >= 2**64:
- nonce = 0
- return nonce
-```
-
-以下为验证算法:
-
-```python
-def verify(daggerset, params, block, nonce):
- result = hashimoto(daggerset, get_dagsize(params, block),
- params, decode_int(block.prevhash), nonce)
- return result * params["diff"] < 2**256
-```
-
-轻量级客户端的友好验证:
-
-```python
-def light_verify(params, header, nonce):
- seedset = get_seedset(params, block)
- result = quick_hashimoto(seedset["front_hash"], get_dagsize(params, block),
- params, decode_int(block.prevhash), nonce)
- return result * params["diff"] < 2**256
-```
-
-另外,请注意 Dagger-Hashimoto 对区块头有着额外的要求:
-
-- 为了使双层验证起效,区块头必须同时具有随机数和中间值 pre-sha3
-- 在某处,区块头必须存储当前种子集的 sha3
-
-## 延伸阅读 {#further-reading}
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
-
-## 附录 {#appendix}
-
-如前所述,用于生成有向无环图的随机数生成依赖于数论的一些结果。 Lehmer 随机数生成程序是 `picker` 变量的基础,因此我们首先确保它具有很宽的周期。 其次,只要一开始 `x ∈ [2,P-2]`,我们便能证明 `pow(x,3,P)` 不会将 `x` 映射到 `1` 或 `P-1`。 最后,我们证明 `pow(x,3,P)` 在被视为散列函数时具有较低的冲突率。
-
-### Lehmer 随机数生成程序 {#lehmer-random-number}
-
-虽然 `produce_dag` 函数不需要生成无偏随机数,但潜在的威胁是 `seed**i % P` 只取少数几个值。 这可以为矿工识别模式提供优势。
-
-为了避免这种情况,可采用数论结果。 [_安全素数_](https://en.wikipedia.org/wiki/Safe_prime)定义为素数 `P`,从而 `(P-1)/2` 也是素数。 [乘数组](https://en.wikipedia.org/wiki/Multiplicative_group_of_integers_modulo_n)中 `x` 的_顺序_ (乘数组 `ℤ/nℤ`)定义为最小 `m`,以使 xᵐ mod P ≡ 1
-鉴于这些定义,我们得到:
-
-> 观察 1。 令 `x` 成为乘法组 `ℤ/Pℤ` 的一员,以获得安全素数 `P`。 如果 `x mod P ≠ 1 mod P` 和 `x mod P ≠ P-1 mod P`,那么 `x` 的顺序是 ` P-1` 或 `(P-1)/2`。
-
-_证明_。 由于 `P` 是一个安全素数,那么根据 \[Lagrange's Theorem\]\[lagrange\],我们得到 `x` 的顺序为 `1`、`2`、`(P-1)/2` 或 `P-1`。
-
-`x` 的顺序不能是 `1`,因为根据费马小定理,我们得出:
-
-xP-1 mod P ≡ 1
-
-因此,`x` 必须是 `ℤ/nℤ` 的乘法单位,并且是唯一的乘法单位。 由于我们假设 `x ≠ 1`,所以这是不可能的。
-
-`x` 的顺序不能是 `2`,除非 `x = P-1`,因为这将违反 `P` 是素数的事实。
-
-从以上命题中,我们可以知道,迭代 `(picker * init) % P` 的循环长度至少为 `(P-1)/2`。 这是因为我们选择 `P` 作为安全素数,强度几乎翻倍,且 `init` 处于 `[2,2**256+1]` 区间内。 考虑到 `P` 的量级,我们不应期待模幂运算具有周期性。
-
-在有向无环图中分配第一个单元时(变量标签为 `init`),我们会计算 `pow(sha3(seed) + 2, 3, P)`。 初看起来,这并不能保证结果既不是 `1` 也不是 `P-1`。 然而,既然 `P-1` 是一个安全素数,我们还提供以下额外保证,这是观察 1 的必然结果:
-
-> 观察 2。 令 `x` 成为乘法组 `ℤ/Pℤ` 的一员,以获得安全素数 `P`,并让 `w` 成为自然数。 如果 `x mod P ≠ 1 mod P`、`x mod P ≠ P-1 mod P`,且 `w mod P ≠ P-1 mod P`、`w mod P ≠ 0 mod P`,那么 `xʷ mod P ≠ 1 mod P` 且 `xʷ mod P ≠ P-1 mod P`
-
-### 模幂运算用作散列函数 {#modular-exponentiation}
-
-对于特定的 `P` 值和 `w` 值,函数 `pow(x, w, P)` 可能存在许多冲突。 例如,`pow(x,9,19)` 的值只能接受 `{1,18}`。
-
-鉴于 `P` 为素数,可以使用以下结果,选择一个用于模幂运算哈希函数的适当 `w` 值:
-
-> 观察 3。 令 `P` 为素数;当且仅当用于 `ℤ/Pℤ` 中所有 `a` 和 `b` 满足以下条件时,`w` 和 `P-1` 才能为互素。
->
->
-> `aʷ mod P ≡ bʷ mod P`,当且仅当 `a mod P ≡ b mod P`
->
-
-因此,鉴于 `P` 为素数,且 `w` 与 `P-1` 为互素,我们得出 `|{pow(x, w, P) : x ∈ ℤ}| = P`,表示散列函数具有尽可能小的冲突率。
-
-在特殊情况下,`P` 是我们选择的安全素数,那么 `P-1` 仅有系数 1、2、`(P-1)/2` 和 `P-1`。 由于 `P` > 7,我们知道 3 与 `P-1` 互素,因此 `w=3` 满足上述命题。
-
-## 更有效的缓存评估算法 {#cache-based-evaluation}
-
-```python
-def quick_calc(params, seed, p):
- cache = produce_dag(params, seed, params["cache_size"])
- return quick_calc_cached(cache, params, p)
-
-def quick_calc_cached(cache, params, p):
- P = params["P"]
- if p < len(cache):
- return cache[p]
- else:
- x = pow(cache[0], p + 1, P)
- for _ in range(params["k"]):
- x ^= quick_calc_cached(cache, params, x % p)
- return pow(x, params["w"], P)
-
-def quick_hashimoto(seed, dagsize, params, header, nonce):
- cache = produce_dag(params, seed, params["cache_size"])
- return quick_hashimoto_cached(cache, dagsize, params, header, nonce)
-
-def quick_hashimoto_cached(cache, dagsize, params, header, nonce):
- m = dagsize // 2
- mask = 2**64 - 1
- mix = sha3(encode_int(nonce) + header)
- for _ in range(params["accesses"]):
- mix ^= quick_calc_cached(cache, params, m + (mix & mask) % m)
- return dbl_sha3(mix)
-```
diff --git "a/public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md" "b/public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md"
deleted file mode 100644
index caca3fb051b..00000000000
--- "a/public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md"
+++ /dev/null
@@ -1,1014 +0,0 @@
----
-title: Ethash
-description: Ethash 算法详细介绍。
-lang: zh
----
-
-
- Ethash 是以太坊的工作量证明挖矿算法。 工作量证明现在已经被**完全关闭**,取而代之,以太坊现在使用权益证明来保证安全。 阅读更多关于合并、权益证明和质押的信息。 此页面是为了满足对历史的兴趣!
-
-
-[Ethash](https://github.com/ethereum/wiki/wiki/Ethash) 是 [Dagger-Hashimoto](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto) 算法的修改版本。 Ethash 工作量证明是[内存密集型](https://wikipedia.org/wiki/Memory-hard_function)算法,这被认为使算法可抵御专用集成电路。 Ethash 专用集成电路最终被开发出来,但在工作量证明被关闭之前,图形处理单元挖矿仍然是一个可行的选择。 Ethash 仍然用于在其他非以太坊工作量证明网络上挖掘其他币。
-
-## Ethash 是如何工作的? {#how-does-ethash-work}
-
-内存硬度通过工作量证明算法实现,需要根据随机数和区块头选择固定资源子集。 该资源(大小为几 GB)称为有向无环图。 有向无环图每 30000 个区块更改一次(大约 125 小时的窗口,称为一个时段(大约 5.2 天)),需要一段时间才能生成。 由于有向无环图仅依赖于区块高度,因此可以预先生成,但如果没有,则客户端需要等到此过程结束才能生成区块。 如果客户端没有提前预生成和缓存有向无环图,网络可能会在每个时段过渡时遇到严重的区块延迟。 请注意,不需要生成有向无环图即可验证,工作量证明本质上允许使用低端中央处理器和小内存进行验证。
-
-该算法采取的一般路线如下:
-
-1. 有一个**种子**,可以通过扫描区块头直到该点来为每个区块计算种子。
-2. 从种子中可以计算出 **16 MB 的伪随机缓存**。 轻量级客户端存储缓存。
-3. 我们可以从缓存中生成一个 **1 GB 数据集**,数据集中每个项目仅依赖于一小部分缓存中的项目。 全客户端和矿工存储数据集。 数据集随着时间的流逝而呈线性增长。
-4. 采矿会抢走数据集的随机片段并将它们散列在一起。 可以通过使用缓存来重新生成你需要的数据集中的特定区块,以较低的内存进行验证,以使你只需要存储缓存。
-
-每隔 30000 个区块更新一次大数据集,因此,矿工的绝大部分工作都是读取数据集,而不是对其进行修改。
-
-## 定义 {#definitions}
-
-我们采用以下定义:
-
-```
-WORD_BYTES = 4 # bytes in word
-DATASET_BYTES_INIT = 2**30 # bytes in dataset at genesis
-DATASET_BYTES_GROWTH = 2**23 # dataset growth per epoch
-CACHE_BYTES_INIT = 2**24 # bytes in cache at genesis
-CACHE_BYTES_GROWTH = 2**17 # cache growth per epoch
-CACHE_MULTIPLIER=1024 # Size of the DAG relative to the cache
-EPOCH_LENGTH = 30000 # blocks per epoch
-MIX_BYTES = 128 # width of mix
-HASH_BYTES = 64 # hash length in bytes
-DATASET_PARENTS = 256 # number of parents of each dataset element
-CACHE_ROUNDS = 3 # number of rounds in cache production
-ACCESSES = 64 # number of accesses in hashimoto loop
-```
-
-### 使用“SHA3” {#sha3}
-
-以太坊的开发恰逢 SHA3 标准的制定, 标准进程对最终确定的哈希算法的填充做了后期改动,使得以太坊的 “sha3_256”和“sha3_512”哈希值不是标准的 sha3 哈希值,而是在其他情况下 常被称为“Keccak-256”和“Keccak-512”的变量。 讨论请见[此处](https://eips.ethereum.org/EIPS/eip-1803)、[此处](http://ethereum.stackexchange.com/questions/550/which-cryptographic-hash-function-does-ethereum-use)或[此处](http://bitcoin.stackexchange.com/questions/42055/what-is-the-approach-to-calculate-an-ethereum-address-from-a-256-bit-private-key/42057#42057)。
-
-请记住这一点,因为下面的算法描述中提到了“sha3”哈希值。
-
-## 参数 {#parameters}
-
-Ethash 的缓存和数据集的参数取决于区块号。 缓存大小和数据集大小都呈线性增长;然而,我们总是取低于线性增长阈值的最高素数,以降低意外规律导致循环行为的风险。
-
-```python
-def get_cache_size(block_number):
- sz = CACHE_BYTES_INIT + CACHE_BYTES_GROWTH * (block_number // EPOCH_LENGTH)
- sz -= HASH_BYTES
- while not isprime(sz / HASH_BYTES):
- sz -= 2 * HASH_BYTES
- return sz
-
-def get_full_size(block_number):
- sz = DATASET_BYTES_INIT + DATASET_BYTES_GROWTH * (block_number // EPOCH_LENGTH)
- sz -= MIX_BYTES
- while not isprime(sz / MIX_BYTES):
- sz -= 2 * MIX_BYTES
- return sz
-```
-
-附录中提供了数据集和缓存大小值表。
-
-## 缓存生成 {#cache-generation}
-
-现在,我们来指定生成缓存的函数:
-
-```python
-def mkcache(cache_size, seed):
- n = cache_size // HASH_BYTES
-
- # Sequentially produce the initial dataset
- o = [sha3_512(seed)]
- for i in range(1, n):
- o.append(sha3_512(o[-1]))
-
- # Use a low-round version of randmemohash
- for _ in range(CACHE_ROUNDS):
- for i in range(n):
- v = o[i][0] % n
- o[i] = sha3_512(map(xor, o[(i-1+n) % n], o[v]))
-
- return o
-```
-
-缓存生成过程中,先按顺序填充 32 MB 内存,然后从 [_严格内存硬哈希函数 _(2014)](http://www.hashcash.org/papers/memohash.pdf) 执行两次 Sergio Demian Lerner 的 _RandMemoHash_ 算法。 输出一组 524288 个 64 字节值。
-
-## 数据聚合函数 {#date-aggregation-function}
-
-我们使用灵感来自 [FNV 哈希](https://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function)的算法,在部分情况下,这种算法可用作逻辑异或的不相关替代。 请注意,我们使用全 32 位输入乘以素数,与之相对地,FNV-1 spec 用 1 个字节(8 个字节)依次乘以素数。
-
-```python
-FNV_PRIME = 0x01000193
-
-def fnv(v1, v2):
- return ((v1 * FNV_PRIME) ^ v2) % 2**32
-```
-
-请注意,即使黄皮书也指出 fnv 为 v1\*(FNV_PRIME ^ v2),所有当前实现始终采用上述定义。
-
-## 完整数据集计算 {#full-dataset-calculation}
-
-整个 1 GB 数据集中每个 64 字节项目的计算如下:
-
-```python
-def calc_dataset_item(cache, i):
- n = len(cache)
- r = HASH_BYTES // WORD_BYTES
- # initialize the mix
- mix = copy.copy(cache[i % n])
- mix[0] ^= i
- mix = sha3_512(mix)
- # fnv it with a lot of random cache nodes based on i
- for j in range(DATASET_PARENTS):
- cache_index = fnv(i ^ j, mix[j % r])
- mix = map(fnv, mix, cache[cache_index % n])
- return sha3_512(mix)
-```
-
-基本上,我们将来自 256 个伪随机选择的缓存节点的数据聚集起来求哈希值,以计算数据集节点。 然后生成整个数据集:
-
-```python
-def calc_dataset(full_size, cache):
- return [calc_dataset_item(cache, i) for i in range(full_size // HASH_BYTES)]
-```
-
-## 主循环 {#main-loop}
-
-现在,我们指定了类似“hashimoto”的主要循环。在此循环中,我们聚合整个数据集的数据,以生成特定区块头和随机数的最终值。 在下面的代码中,`header` 代表一个_被截断_区块头的递归长度前缀表示的 SHA3-256 _哈希值_。被截断是指区块头被截去了 **mixHash** 和**随机数**字段。 `nonce` 是指一个 64 位无符号整数的八个字节,按大端序排列。 因此 `nonce[::-1]` 是上述值的八字节小端序表示:
-
-```python
-def hashimoto(header, nonce, full_size, dataset_lookup):
- n = full_size / HASH_BYTES
- w = MIX_BYTES // WORD_BYTES
- mixhashes = MIX_BYTES / HASH_BYTES
- # combine header+nonce into a 64 byte seed
- s = sha3_512(header + nonce[::-1])
- # start the mix with replicated s
- mix = []
- for _ in range(MIX_BYTES / HASH_BYTES):
- mix.extend(s)
- # mix in random dataset nodes
- for i in range(ACCESSES):
- p = fnv(i ^ s[0], mix[i % w]) % (n // mixhashes) * mixhashes
- newdata = []
- for j in range(MIX_BYTES / HASH_BYTES):
- newdata.extend(dataset_lookup(p + j))
- mix = map(fnv, mix, newdata)
- # compress mix
- cmix = []
- for i in range(0, len(mix), 4):
- cmix.append(fnv(fnv(fnv(mix[i], mix[i+1]), mix[i+2]), mix[i+3]))
- return {
- "mix digest": serialize_hash(cmix),
- "result": serialize_hash(sha3_256(s+cmix))
- }
-
-def hashimoto_light(full_size, cache, header, nonce):
- return hashimoto(header, nonce, full_size, lambda x: calc_dataset_item(cache, x))
-
-def hashimoto_full(full_size, dataset, header, nonce):
- return hashimoto(header, nonce, full_size, lambda x: dataset[x])
-```
-
-基本上,我们保持着一个宽 128 字节的“混合物”,并多次按顺序从整个数据集中获取 128 字节,并使用 `fnv` 函数将其与混合物结合起来。 使用 128 字节的序列访问,以便每轮算法总是能从随机访问内存获取完整的页面,从而尽量减少转译后备缓冲区的疏忽,而专用集成电路在理论上能够避免这些疏忽。
-
-如果此算法的输出低于所需目标,即证明随机数是有效的。 请注意,在最后额外应用 `sha3_256` 将确保中间随机数的存在。提供此证据可以证明至少做了少量工作;而且此快速外部工作量证明验证可以用于反分布式拒绝服务目的。 也可提供统计保证,说明结果是一个无偏 256 位数字。
-
-## 挖矿 {#mining}
-
-挖矿算法定义如下:
-
-```python
-def mine(full_size, dataset, header, difficulty):
- # zero-pad target to compare with hash on the same digit
- target = zpad(encode_int(2**256 // difficulty), 64)[::-1]
- from random import randint
- nonce = randint(0, 2**64)
- while hashimoto_full(full_size, dataset, header, nonce) > target:
- nonce = (nonce + 1) % 2**64
- return nonce
-```
-
-## 定义种子哈希 {#seed-hash}
-
-为了计算用于在给定区块上挖掘的种子哈希值,我们使用以下算法:
-
-```python
- def get_seedhash(block):
- s = '\x00' * 32
- for i in range(block.number // EPOCH_LENGTH):
- s = serialize_hash(sha3_256(s))
- return s
-```
-
-请注意,为了顺利挖矿和验证,我们建议在单个线程中预先计算未来的种子哈希值和数据集。
-
-## 延伸阅读 {#further-reading}
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
-
-## 附录 {#appendix}
-
-如果你有兴趣将上述 python spec 作为代码运行,则应在头部添加以下代码。
-
-```python
-import sha3, copy
-
-# Assumes little endian bit ordering (same as Intel architectures)
-def decode_int(s):
- return int(s[::-1].encode('hex'), 16) if s else 0
-
-def encode_int(s):
- a = "%x" % s
- return '' if s == 0 else ('0' * (len(a) % 2) + a).decode('hex')[::-1]
-
-def zpad(s, length):
- return s + '\x00' * max(0, length - len(s))
-
-def serialize_hash(h):
- return ''.join([zpad(encode_int(x), 4) for x in h])
-
-def deserialize_hash(h):
- return [decode_int(h[i:i+WORD_BYTES]) for i in range(0, len(h), WORD_BYTES)]
-
-def hash_words(h, sz, x):
- if isinstance(x, list):
- x = serialize_hash(x)
- y = h(x)
- return deserialize_hash(y)
-
-def serialize_cache(ds):
- return ''.join([serialize_hash(h) for h in ds])
-
-serialize_dataset = serialize_cache
-
-# sha3 hash function, outputs 64 bytes
-def sha3_512(x):
- return hash_words(lambda v: sha3.sha3_512(v).digest(), 64, x)
-
-def sha3_256(x):
- return hash_words(lambda v: sha3.sha3_256(v).digest(), 32, x)
-
-def xor(a, b):
- return a ^ b
-
-def isprime(x):
- for i in range(2, int(x**0.5)):
- if x % i == 0:
- return False
- return True
-```
-
-### 数据大小 {#data-sizes}
-
-以下查找表列表显示了大约 2048 个数据大小和缓存大小时段。
-
-```python
-def get_datasize(block_number):
- return data_sizes[block_number // EPOCH_LENGTH]
-
-def get_cachesize(block_number):
- return cache_sizes[block_number // EPOCH_LENGTH]
-
-data_sizes = [
-1073739904, 1082130304, 1090514816, 1098906752, 1107293056,
-1115684224, 1124070016, 1132461952, 1140849536, 1149232768,
-1157627776, 1166013824, 1174404736, 1182786944, 1191180416,
-1199568512, 1207958912, 1216345216, 1224732032, 1233124736,
-1241513344, 1249902464, 1258290304, 1266673792, 1275067264,
-1283453312, 1291844992, 1300234112, 1308619904, 1317010048,
-1325397376, 1333787776, 1342176128, 1350561664, 1358954368,
-1367339392, 1375731584, 1384118144, 1392507008, 1400897408,
-1409284736, 1417673344, 1426062464, 1434451072, 1442839168,
-1451229056, 1459615616, 1468006016, 1476394112, 1484782976,
-1493171584, 1501559168, 1509948032, 1518337664, 1526726528,
-1535114624, 1543503488, 1551892096, 1560278656, 1568669056,
-1577056384, 1585446272, 1593831296, 1602219392, 1610610304,
-1619000192, 1627386752, 1635773824, 1644164224, 1652555648,
-1660943488, 1669332608, 1677721216, 1686109312, 1694497664,
-1702886272, 1711274624, 1719661184, 1728047744, 1736434816,
-1744829056, 1753218944, 1761606272, 1769995904, 1778382464,
-1786772864, 1795157888, 1803550592, 1811937664, 1820327552,
-1828711552, 1837102976, 1845488768, 1853879936, 1862269312,
-1870656896, 1879048064, 1887431552, 1895825024, 1904212096,
-1912601216, 1920988544, 1929379456, 1937765504, 1946156672,
-1954543232, 1962932096, 1971321728, 1979707264, 1988093056,
-1996487552, 2004874624, 2013262208, 2021653888, 2030039936,
-2038430848, 2046819968, 2055208576, 2063596672, 2071981952,
-2080373632, 2088762752, 2097149056, 2105539712, 2113928576,
-2122315136, 2130700672, 2139092608, 2147483264, 2155872128,
-2164257664, 2172642176, 2181035392, 2189426048, 2197814912,
-2206203008, 2214587264, 2222979712, 2231367808, 2239758208,
-2248145024, 2256527744, 2264922752, 2273312128, 2281701248,
-2290086272, 2298476672, 2306867072, 2315251072, 2323639168,
-2332032128, 2340420224, 2348808064, 2357196416, 2365580416,
-2373966976, 2382363008, 2390748544, 2399139968, 2407530368,
-2415918976, 2424307328, 2432695424, 2441084288, 2449472384,
-2457861248, 2466247808, 2474637184, 2483026816, 2491414144,
-2499803776, 2508191872, 2516582272, 2524970368, 2533359232,
-2541743488, 2550134144, 2558525056, 2566913408, 2575301504,
-2583686528, 2592073856, 2600467328, 2608856192, 2617240448,
-2625631616, 2634022016, 2642407552, 2650796416, 2659188352,
-2667574912, 2675965312, 2684352896, 2692738688, 2701130624,
-2709518464, 2717907328, 2726293376, 2734685056, 2743073152,
-2751462016, 2759851648, 2768232832, 2776625536, 2785017728,
-2793401984, 2801794432, 2810182016, 2818571648, 2826959488,
-2835349376, 2843734144, 2852121472, 2860514432, 2868900992,
-2877286784, 2885676928, 2894069632, 2902451584, 2910843008,
-2919234688, 2927622784, 2936011648, 2944400768, 2952789376,
-2961177728, 2969565568, 2977951616, 2986338944, 2994731392,
-3003120256, 3011508352, 3019895936, 3028287104, 3036675968,
-3045063808, 3053452928, 3061837696, 3070228352, 3078615424,
-3087003776, 3095394944, 3103782272, 3112173184, 3120562048,
-3128944768, 3137339264, 3145725056, 3154109312, 3162505088,
-3170893184, 3179280256, 3187669376, 3196056704, 3204445568,
-3212836736, 3221224064, 3229612928, 3238002304, 3246391168,
-3254778496, 3263165824, 3271556224, 3279944576, 3288332416,
-3296719232, 3305110912, 3313500032, 3321887104, 3330273152,
-3338658944, 3347053184, 3355440512, 3363827072, 3372220288,
-3380608384, 3388997504, 3397384576, 3405774208, 3414163072,
-3422551936, 3430937984, 3439328384, 3447714176, 3456104576,
-3464493952, 3472883584, 3481268864, 3489655168, 3498048896,
-3506434432, 3514826368, 3523213952, 3531603584, 3539987072,
-3548380288, 3556763264, 3565157248, 3573545344, 3581934464,
-3590324096, 3598712704, 3607098752, 3615488384, 3623877248,
-3632265856, 3640646528, 3649043584, 3657430144, 3665821568,
-3674207872, 3682597504, 3690984832, 3699367808, 3707764352,
-3716152448, 3724541056, 3732925568, 3741318016, 3749706368,
-3758091136, 3766481536, 3774872704, 3783260032, 3791650432,
-3800036224, 3808427648, 3816815488, 3825204608, 3833592704,
-3841981568, 3850370432, 3858755968, 3867147904, 3875536256,
-3883920512, 3892313728, 3900702592, 3909087872, 3917478784,
-3925868416, 3934256512, 3942645376, 3951032192, 3959422336,
-3967809152, 3976200064, 3984588416, 3992974976, 4001363584,
-4009751168, 4018141312, 4026530432, 4034911616, 4043308928,
-4051695488, 4060084352, 4068472448, 4076862848, 4085249408,
-4093640576, 4102028416, 4110413696, 4118805632, 4127194496,
-4135583104, 4143971968, 4152360832, 4160746112, 4169135744,
-4177525888, 4185912704, 4194303616, 4202691968, 4211076736,
-4219463552, 4227855488, 4236246656, 4244633728, 4253022848,
-4261412224, 4269799808, 4278184832, 4286578048, 4294962304,
-4303349632, 4311743104, 4320130432, 4328521088, 4336909184,
-4345295488, 4353687424, 4362073472, 4370458496, 4378852736,
-4387238528, 4395630208, 4404019072, 4412407424, 4420790656,
-4429182848, 4437571456, 4445962112, 4454344064, 4462738048,
-4471119232, 4479516544, 4487904128, 4496289664, 4504682368,
-4513068416, 4521459584, 4529846144, 4538232704, 4546619776,
-4555010176, 4563402112, 4571790208, 4580174464, 4588567936,
-4596957056, 4605344896, 4613734016, 4622119808, 4630511488,
-4638898816, 4647287936, 4655675264, 4664065664, 4672451968,
-4680842624, 4689231488, 4697620352, 4706007424, 4714397056,
-4722786176, 4731173248, 4739562368, 4747951744, 4756340608,
-4764727936, 4773114496, 4781504384, 4789894784, 4798283648,
-4806667648, 4815059584, 4823449472, 4831835776, 4840226176,
-4848612224, 4857003392, 4865391488, 4873780096, 4882169728,
-4890557312, 4898946944, 4907333248, 4915722368, 4924110976,
-4932499328, 4940889728, 4949276032, 4957666432, 4966054784,
-4974438016, 4982831488, 4991221376, 4999607168, 5007998848,
-5016386432, 5024763776, 5033164672, 5041544576, 5049941888,
-5058329728, 5066717056, 5075107456, 5083494272, 5091883904,
-5100273536, 5108662144, 5117048192, 5125436032, 5133827456,
-5142215296, 5150605184, 5158993024, 5167382144, 5175769472,
-5184157568, 5192543872, 5200936064, 5209324928, 5217711232,
-5226102656, 5234490496, 5242877312, 5251263872, 5259654016,
-5268040832, 5276434304, 5284819328, 5293209728, 5301598592,
-5309986688, 5318374784, 5326764416, 5335151488, 5343542144,
-5351929472, 5360319872, 5368706944, 5377096576, 5385484928,
-5393871232, 5402263424, 5410650496, 5419040384, 5427426944,
-5435816576, 5444205952, 5452594816, 5460981376, 5469367936,
-5477760896, 5486148736, 5494536832, 5502925952, 5511315328,
-5519703424, 5528089984, 5536481152, 5544869504, 5553256064,
-5561645696, 5570032768, 5578423936, 5586811264, 5595193216,
-5603585408, 5611972736, 5620366208, 5628750464, 5637143936,
-5645528192, 5653921408, 5662310272, 5670694784, 5679082624,
-5687474048, 5695864448, 5704251008, 5712641408, 5721030272,
-5729416832, 5737806208, 5746194304, 5754583936, 5762969984,
-5771358592, 5779748224, 5788137856, 5796527488, 5804911232,
-5813300608, 5821692544, 5830082176, 5838468992, 5846855552,
-5855247488, 5863636096, 5872024448, 5880411008, 5888799872,
-5897186432, 5905576832, 5913966976, 5922352768, 5930744704,
-5939132288, 5947522432, 5955911296, 5964299392, 5972688256,
-5981074304, 5989465472, 5997851008, 6006241408, 6014627968,
-6023015552, 6031408256, 6039796096, 6048185216, 6056574848,
-6064963456, 6073351808, 6081736064, 6090128768, 6098517632,
-6106906496, 6115289216, 6123680896, 6132070016, 6140459648,
-6148849024, 6157237376, 6165624704, 6174009728, 6182403712,
-6190792064, 6199176064, 6207569792, 6215952256, 6224345216,
-6232732544, 6241124224, 6249510272, 6257899136, 6266287744,
-6274676864, 6283065728, 6291454336, 6299843456, 6308232064,
-6316620928, 6325006208, 6333395584, 6341784704, 6350174848,
-6358562176, 6366951296, 6375337856, 6383729536, 6392119168,
-6400504192, 6408895616, 6417283456, 6425673344, 6434059136,
-6442444672, 6450837376, 6459223424, 6467613056, 6476004224,
-6484393088, 6492781952, 6501170048, 6509555072, 6517947008,
-6526336384, 6534725504, 6543112832, 6551500672, 6559888768,
-6568278656, 6576662912, 6585055616, 6593443456, 6601834112,
-6610219648, 6618610304, 6626999168, 6635385472, 6643777408,
-6652164224, 6660552832, 6668941952, 6677330048, 6685719424,
-6694107776, 6702493568, 6710882176, 6719274112, 6727662976,
-6736052096, 6744437632, 6752825984, 6761213824, 6769604224,
-6777993856, 6786383488, 6794770816, 6803158144, 6811549312,
-6819937664, 6828326528, 6836706176, 6845101696, 6853491328,
-6861880448, 6870269312, 6878655104, 6887046272, 6895433344,
-6903822208, 6912212864, 6920596864, 6928988288, 6937377152,
-6945764992, 6954149248, 6962544256, 6970928768, 6979317376,
-6987709312, 6996093824, 7004487296, 7012875392, 7021258624,
-7029652352, 7038038912, 7046427776, 7054818944, 7063207808,
-7071595136, 7079980928, 7088372608, 7096759424, 7105149824,
-7113536896, 7121928064, 7130315392, 7138699648, 7147092352,
-7155479168, 7163865728, 7172249984, 7180648064, 7189036672,
-7197424768, 7205810816, 7214196608, 7222589824, 7230975104,
-7239367552, 7247755904, 7256145536, 7264533376, 7272921472,
-7281308032, 7289694848, 7298088832, 7306471808, 7314864512,
-7323253888, 7331643008, 7340029568, 7348419712, 7356808832,
-7365196672, 7373585792, 7381973888, 7390362752, 7398750592,
-7407138944, 7415528576, 7423915648, 7432302208, 7440690304,
-7449080192, 7457472128, 7465860992, 7474249088, 7482635648,
-7491023744, 7499412608, 7507803008, 7516192384, 7524579968,
-7532967296, 7541358464, 7549745792, 7558134656, 7566524032,
-7574912896, 7583300992, 7591690112, 7600075136, 7608466816,
-7616854912, 7625244544, 7633629824, 7642020992, 7650410368,
-7658794112, 7667187328, 7675574912, 7683961984, 7692349568,
-7700739712, 7709130368, 7717519232, 7725905536, 7734295424,
-7742683264, 7751069056, 7759457408, 7767849088, 7776238208,
-7784626816, 7793014912, 7801405312, 7809792128, 7818179968,
-7826571136, 7834957184, 7843347328, 7851732352, 7860124544,
-7868512384, 7876902016, 7885287808, 7893679744, 7902067072,
-7910455936, 7918844288, 7927230848, 7935622784, 7944009344,
-7952400256, 7960786048, 7969176704, 7977565312, 7985953408,
-7994339968, 8002730368, 8011119488, 8019508096, 8027896192,
-8036285056, 8044674688, 8053062272, 8061448832, 8069838464,
-8078227328, 8086616704, 8095006592, 8103393664, 8111783552,
-8120171392, 8128560256, 8136949376, 8145336704, 8153726848,
-8162114944, 8170503296, 8178891904, 8187280768, 8195669632,
-8204058496, 8212444544, 8220834176, 8229222272, 8237612672,
-8246000768, 8254389376, 8262775168, 8271167104, 8279553664,
-8287944064, 8296333184, 8304715136, 8313108352, 8321497984,
-8329885568, 8338274432, 8346663296, 8355052928, 8363441536,
-8371828352, 8380217984, 8388606592, 8396996224, 8405384576,
-8413772672, 8422161536, 8430549376, 8438939008, 8447326592,
-8455715456, 8464104832, 8472492928, 8480882048, 8489270656,
-8497659776, 8506045312, 8514434944, 8522823808, 8531208832,
-8539602304, 8547990656, 8556378752, 8564768384, 8573154176,
-8581542784, 8589933952, 8598322816, 8606705024, 8615099264,
-8623487872, 8631876992, 8640264064, 8648653952, 8657040256,
-8665430656, 8673820544, 8682209152, 8690592128, 8698977152,
-8707374464, 8715763328, 8724151424, 8732540032, 8740928384,
-8749315712, 8757704576, 8766089344, 8774480768, 8782871936,
-8791260032, 8799645824, 8808034432, 8816426368, 8824812928,
-8833199488, 8841591424, 8849976448, 8858366336, 8866757248,
-8875147136, 8883532928, 8891923328, 8900306816, 8908700288,
-8917088384, 8925478784, 8933867392, 8942250368, 8950644608,
-8959032704, 8967420544, 8975809664, 8984197504, 8992584064,
-9000976256, 9009362048, 9017752448, 9026141312, 9034530688,
-9042917504, 9051307904, 9059694208, 9068084864, 9076471424,
-9084861824, 9093250688, 9101638528, 9110027648, 9118416512,
-9126803584, 9135188096, 9143581312, 9151969664, 9160356224,
-9168747136, 9177134464, 9185525632, 9193910144, 9202302848,
-9210690688, 9219079552, 9227465344, 9235854464, 9244244864,
-9252633472, 9261021824, 9269411456, 9277799296, 9286188928,
-9294574208, 9302965888, 9311351936, 9319740032, 9328131968,
-9336516736, 9344907392, 9353296768, 9361685888, 9370074752,
-9378463616, 9386849408, 9395239808, 9403629184, 9412016512,
-9420405376, 9428795008, 9437181568, 9445570688, 9453960832,
-9462346624, 9470738048, 9479121536, 9487515008, 9495903616,
-9504289664, 9512678528, 9521067904, 9529456256, 9537843584,
-9546233728, 9554621312, 9563011456, 9571398784, 9579788672,
-9588178304, 9596567168, 9604954496, 9613343104, 9621732992,
-9630121856, 9638508416, 9646898816, 9655283584, 9663675776,
-9672061312, 9680449664, 9688840064, 9697230464, 9705617536,
-9714003584, 9722393984, 9730772608, 9739172224, 9747561088,
-9755945344, 9764338816, 9772726144, 9781116544, 9789503872,
-9797892992, 9806282624, 9814670464, 9823056512, 9831439232,
-9839833984, 9848224384, 9856613504, 9865000576, 9873391232,
-9881772416, 9890162816, 9898556288, 9906940544, 9915333248,
-9923721088, 9932108672, 9940496512, 9948888448, 9957276544,
-9965666176, 9974048384, 9982441088, 9990830464, 9999219584,
-10007602816, 10015996544, 10024385152, 10032774016, 10041163648,
-10049548928, 10057940096, 10066329472, 10074717824, 10083105152,
-10091495296, 10099878784, 10108272256, 10116660608, 10125049216,
-10133437312, 10141825664, 10150213504, 10158601088, 10166991232,
-10175378816, 10183766144, 10192157312, 10200545408, 10208935552,
-10217322112, 10225712768, 10234099328, 10242489472, 10250876032,
-10259264896, 10267656064, 10276042624, 10284429184, 10292820352,
-10301209472, 10309598848, 10317987712, 10326375296, 10334763392,
-10343153536, 10351541632, 10359930752, 10368318592, 10376707456,
-10385096576, 10393484672, 10401867136, 10410262144, 10418647424,
-10427039104, 10435425664, 10443810176, 10452203648, 10460589952,
-10468982144, 10477369472, 10485759104, 10494147712, 10502533504,
-10510923392, 10519313536, 10527702656, 10536091264, 10544478592,
-10552867712, 10561255808, 10569642368, 10578032768, 10586423168,
-10594805632, 10603200128, 10611588992, 10619976064, 10628361344,
-10636754048, 10645143424, 10653531776, 10661920384, 10670307968,
-10678696832, 10687086464, 10695475072, 10703863168, 10712246144,
-10720639616, 10729026688, 10737414784, 10745806208, 10754190976,
-10762581376, 10770971264, 10779356288, 10787747456, 10796135552,
-10804525184, 10812915584, 10821301888, 10829692288, 10838078336,
-10846469248, 10854858368, 10863247232, 10871631488, 10880023424,
-10888412032, 10896799616, 10905188992, 10913574016, 10921964672,
-10930352768, 10938742912, 10947132544, 10955518592, 10963909504,
-10972298368, 10980687488, 10989074816, 10997462912, 11005851776,
-11014241152, 11022627712, 11031017344, 11039403904, 11047793024,
-11056184704, 11064570752, 11072960896, 11081343872, 11089737856,
-11098128256, 11106514816, 11114904448, 11123293568, 11131680128,
-11140065152, 11148458368, 11156845696, 11165236864, 11173624192,
-11182013824, 11190402688, 11198790784, 11207179136, 11215568768,
-11223957376, 11232345728, 11240734592, 11249122688, 11257511296,
-11265899648, 11274285952, 11282675584, 11291065472, 11299452544,
-11307842432, 11316231296, 11324616832, 11333009024, 11341395584,
-11349782656, 11358172288, 11366560384, 11374950016, 11383339648,
-11391721856, 11400117376, 11408504192, 11416893568, 11425283456,
-11433671552, 11442061184, 11450444672, 11458837888, 11467226752,
-11475611776, 11484003968, 11492392064, 11500780672, 11509169024,
-11517550976, 11525944448, 11534335616, 11542724224, 11551111808,
-11559500672, 11567890304, 11576277376, 11584667008, 11593056128,
-11601443456, 11609830016, 11618221952, 11626607488, 11634995072,
-11643387776, 11651775104, 11660161664, 11668552576, 11676940928,
-11685330304, 11693718656, 11702106496, 11710496128, 11718882688,
-11727273088, 11735660416, 11744050048, 11752437376, 11760824704,
-11769216128, 11777604736, 11785991296, 11794381952, 11802770048,
-11811157888, 11819548544, 11827932544, 11836324736, 11844713344,
-11853100928, 11861486464, 11869879936, 11878268032, 11886656896,
-11895044992, 11903433088, 11911822976, 11920210816, 11928600448,
-11936987264, 11945375872, 11953761152, 11962151296, 11970543488,
-11978928512, 11987320448, 11995708288, 12004095104, 12012486272,
-12020875136, 12029255552, 12037652096, 12046039168, 12054429568,
-12062813824, 12071206528, 12079594624, 12087983744, 12096371072,
-12104759936, 12113147264, 12121534592, 12129924992, 12138314624,
-12146703232, 12155091584, 12163481216, 12171864704, 12180255872,
-12188643968, 12197034112, 12205424512, 12213811328, 12222199424,
-12230590336, 12238977664, 12247365248, 12255755392, 12264143488,
-12272531584, 12280920448, 12289309568, 12297694592, 12306086528,
-12314475392, 12322865024, 12331253632, 12339640448, 12348029312,
-12356418944, 12364805248, 12373196672, 12381580928, 12389969024,
-12398357632, 12406750592, 12415138432, 12423527552, 12431916416,
-12440304512, 12448692352, 12457081216, 12465467776, 12473859968,
-12482245504, 12490636672, 12499025536, 12507411584, 12515801728,
-12524190592, 12532577152, 12540966272, 12549354368, 12557743232,
-12566129536, 12574523264, 12582911872, 12591299456, 12599688064,
-12608074624, 12616463488, 12624845696, 12633239936, 12641631616,
-12650019968, 12658407296, 12666795136, 12675183232, 12683574656,
-12691960192, 12700350592, 12708740224, 12717128576, 12725515904,
-12733906816, 12742295168, 12750680192, 12759071872, 12767460736,
-12775848832, 12784236928, 12792626816, 12801014656, 12809404288,
-12817789312, 12826181504, 12834568832, 12842954624, 12851345792,
-12859732352, 12868122496, 12876512128, 12884901248, 12893289088,
-12901672832, 12910067584, 12918455168, 12926842496, 12935232896,
-12943620736, 12952009856, 12960396928, 12968786816, 12977176192,
-12985563776, 12993951104, 13002341504, 13010730368, 13019115392,
-13027506304, 13035895168, 13044272512, 13052673152, 13061062528,
-13069446272, 13077838976, 13086227072, 13094613632, 13103000192,
-13111393664, 13119782528, 13128157568, 13136559232, 13144945024,
-13153329536, 13161724288, 13170111872, 13178502784, 13186884736,
-13195279744, 13203667072, 13212057472, 13220445824, 13228832128,
-13237221248, 13245610624, 13254000512, 13262388352, 13270777472,
-13279166336, 13287553408, 13295943296, 13304331904, 13312719488,
-13321108096, 13329494656, 13337885824, 13346274944, 13354663808,
-13363051136, 13371439232, 13379825024, 13388210816, 13396605056,
-13404995456, 13413380224, 13421771392, 13430159744, 13438546048,
-13446937216, 13455326848, 13463708288, 13472103808, 13480492672,
-13488875648, 13497269888, 13505657728, 13514045312, 13522435712,
-13530824576, 13539210112, 13547599232, 13555989376, 13564379008,
-13572766336, 13581154432, 13589544832, 13597932928, 13606320512,
-13614710656, 13623097472, 13631477632, 13639874944, 13648264064,
-13656652928, 13665041792, 13673430656, 13681818496, 13690207616,
-13698595712, 13706982272, 13715373184, 13723762048, 13732150144,
-13740536704, 13748926592, 13757316224, 13765700992, 13774090112,
-13782477952, 13790869376, 13799259008, 13807647872, 13816036736,
-13824425344, 13832814208, 13841202304, 13849591424, 13857978752,
-13866368896, 13874754688, 13883145344, 13891533184, 13899919232,
-13908311168, 13916692096, 13925085056, 13933473152, 13941866368,
-13950253696, 13958643584, 13967032192, 13975417216, 13983807616,
-13992197504, 14000582272, 14008973696, 14017363072, 14025752192,
-14034137984, 14042528384, 14050918016, 14059301504, 14067691648,
-14076083584, 14084470144, 14092852352, 14101249664, 14109635968,
-14118024832, 14126407552, 14134804352, 14143188608, 14151577984,
-14159968384, 14168357248, 14176741504, 14185127296, 14193521024,
-14201911424, 14210301824, 14218685056, 14227067264, 14235467392,
-14243855488, 14252243072, 14260630144, 14269021568, 14277409408,
-14285799296, 14294187904, 14302571392, 14310961792, 14319353728,
-14327738752, 14336130944, 14344518784, 14352906368, 14361296512,
-14369685376, 14378071424, 14386462592, 14394848128, 14403230848,
-14411627392, 14420013952, 14428402304, 14436793472, 14445181568,
-14453569664, 14461959808, 14470347904, 14478737024, 14487122816,
-14495511424, 14503901824, 14512291712, 14520677504, 14529064832,
-14537456768, 14545845632, 14554234496, 14562618496, 14571011456,
-14579398784, 14587789184, 14596172672, 14604564608, 14612953984,
-14621341312, 14629724288, 14638120832, 14646503296, 14654897536,
-14663284864, 14671675264, 14680061056, 14688447616, 14696835968,
-14705228416, 14713616768, 14722003328, 14730392192, 14738784128,
-14747172736, 14755561088, 14763947648, 14772336512, 14780725376,
-14789110144, 14797499776, 14805892736, 14814276992, 14822670208,
-14831056256, 14839444352, 14847836032, 14856222848, 14864612992,
-14872997504, 14881388672, 14889775744, 14898165376, 14906553472,
-14914944896, 14923329664, 14931721856, 14940109696, 14948497024,
-14956887424, 14965276544, 14973663616, 14982053248, 14990439808,
-14998830976, 15007216768, 15015605888, 15023995264, 15032385152,
-15040768384, 15049154944, 15057549184, 15065939072, 15074328448,
-15082715008, 15091104128, 15099493504, 15107879296, 15116269184,
-15124659584, 15133042304, 15141431936, 15149824384, 15158214272,
-15166602368, 15174991232, 15183378304, 15191760512, 15200154496,
-15208542592, 15216931712, 15225323392, 15233708416, 15242098048,
-15250489216, 15258875264, 15267265408, 15275654528, 15284043136,
-15292431488, 15300819584, 15309208192, 15317596544, 15325986176,
-15334374784, 15342763648, 15351151744, 15359540608, 15367929728,
-15376318336, 15384706432, 15393092992, 15401481856, 15409869952,
-15418258816, 15426649984, 15435037568, 15443425664, 15451815296,
-15460203392, 15468589184, 15476979328, 15485369216, 15493755776,
-15502146944, 15510534272, 15518924416, 15527311232, 15535699072,
-15544089472, 15552478336, 15560866688, 15569254528, 15577642624,
-15586031488, 15594419072, 15602809472, 15611199104, 15619586432,
-15627975296, 15636364928, 15644753792, 15653141888, 15661529216,
-15669918848, 15678305152, 15686696576, 15695083136, 15703474048,
-15711861632, 15720251264, 15728636288, 15737027456, 15745417088,
-15753804928, 15762194048, 15770582656, 15778971008, 15787358336,
-15795747712, 15804132224, 15812523392, 15820909696, 15829300096,
-15837691264, 15846071936, 15854466944, 15862855808, 15871244672,
-15879634816, 15888020608, 15896409728, 15904799104, 15913185152,
-15921577088, 15929966464, 15938354816, 15946743424, 15955129472,
-15963519872, 15971907968, 15980296064, 15988684928, 15997073024,
-16005460864, 16013851264, 16022241152, 16030629248, 16039012736,
-16047406976, 16055794816, 16064181376, 16072571264, 16080957824,
-16089346688, 16097737856, 16106125184, 16114514816, 16122904192,
-16131292544, 16139678848, 16148066944, 16156453504, 16164839552,
-16173236096, 16181623424, 16190012032, 16198401152, 16206790528,
-16215177344, 16223567744, 16231956352, 16240344704, 16248731008,
-16257117824, 16265504384, 16273898624, 16282281856, 16290668672,
-16299064192, 16307449216, 16315842176, 16324230016, 16332613504,
-16341006464, 16349394304, 16357783168, 16366172288, 16374561664,
-16382951296, 16391337856, 16399726208, 16408116352, 16416505472,
-16424892032, 16433282176, 16441668224, 16450058624, 16458448768,
-16466836864, 16475224448, 16483613056, 16492001408, 16500391808,
-16508779648, 16517166976, 16525555328, 16533944192, 16542330752,
-16550719616, 16559110528, 16567497088, 16575888512, 16584274816,
-16592665472, 16601051008, 16609442944, 16617832064, 16626218624,
-16634607488, 16642996096, 16651385728, 16659773824, 16668163712,
-16676552576, 16684938112, 16693328768, 16701718144, 16710095488,
-16718492288, 16726883968, 16735272832, 16743661184, 16752049792,
-16760436608, 16768827008, 16777214336, 16785599104, 16793992832,
-16802381696, 16810768768, 16819151744, 16827542656, 16835934848,
-16844323712, 16852711552, 16861101952, 16869489536, 16877876864,
-16886265728, 16894653056, 16903044736, 16911431296, 16919821696,
-16928207488, 16936592768, 16944987776, 16953375616, 16961763968,
-16970152832, 16978540928, 16986929536, 16995319168, 17003704448,
-17012096896, 17020481152, 17028870784, 17037262208, 17045649536,
-17054039936, 17062426496, 17070814336, 17079205504, 17087592064,
-17095978112, 17104369024, 17112759424, 17121147776, 17129536384,
-17137926016, 17146314368, 17154700928, 17163089792, 17171480192,
-17179864192, 17188256896, 17196644992, 17205033856, 17213423488,
-17221811072, 17230198912, 17238588032, 17246976896, 17255360384,
-17263754624, 17272143232, 17280530048, 17288918912, 17297309312,
-17305696384, 17314085504, 17322475136, 17330863744, 17339252096,
-17347640192, 17356026496, 17364413824, 17372796544, 17381190016,
-17389583488, 17397972608, 17406360704, 17414748544, 17423135872,
-17431527296, 17439915904, 17448303232, 17456691584, 17465081728,
-17473468288, 17481857408, 17490247552, 17498635904, 17507022464,
-17515409024, 17523801728, 17532189824, 17540577664, 17548966016,
-17557353344, 17565741184, 17574131584, 17582519168, 17590907008,
-17599296128, 17607687808, 17616076672, 17624455808, 17632852352,
-17641238656, 17649630848, 17658018944, 17666403968, 17674794112,
-17683178368, 17691573376, 17699962496, 17708350592, 17716739968,
-17725126528, 17733517184, 17741898112, 17750293888, 17758673024,
-17767070336, 17775458432, 17783848832, 17792236928, 17800625536,
-17809012352, 17817402752, 17825785984, 17834178944, 17842563968,
-17850955648, 17859344512, 17867732864, 17876119424, 17884511872,
-17892900224, 17901287296, 17909677696, 17918058112, 17926451072,
-17934843776, 17943230848, 17951609216, 17960008576, 17968397696,
-17976784256, 17985175424, 17993564032, 18001952128, 18010339712,
-18018728576, 18027116672, 18035503232, 18043894144, 18052283264,
-18060672128, 18069056384, 18077449856, 18085837184, 18094225792,
-18102613376, 18111004544, 18119388544, 18127781248, 18136170368,
-18144558976, 18152947328, 18161336192, 18169724288, 18178108544,
-18186498944, 18194886784, 18203275648, 18211666048, 18220048768,
-18228444544, 18236833408, 18245220736]
-
-cache_sizes = [
-16776896, 16907456, 17039296, 17170112, 17301056, 17432512, 17563072,
-17693888, 17824192, 17955904, 18087488, 18218176, 18349504, 18481088,
-18611392, 18742336, 18874304, 19004224, 19135936, 19267264, 19398208,
-19529408, 19660096, 19791424, 19922752, 20053952, 20184896, 20315968,
-20446912, 20576576, 20709184, 20840384, 20971072, 21102272, 21233216,
-21364544, 21494848, 21626816, 21757376, 21887552, 22019392, 22151104,
-22281536, 22412224, 22543936, 22675264, 22806464, 22935872, 23068096,
-23198272, 23330752, 23459008, 23592512, 23723968, 23854912, 23986112,
-24116672, 24247616, 24378688, 24509504, 24640832, 24772544, 24903488,
-25034432, 25165376, 25296704, 25427392, 25558592, 25690048, 25820096,
-25951936, 26081728, 26214208, 26345024, 26476096, 26606656, 26737472,
-26869184, 26998208, 27131584, 27262528, 27393728, 27523904, 27655744,
-27786688, 27917888, 28049344, 28179904, 28311488, 28441792, 28573504,
-28700864, 28835648, 28966208, 29096768, 29228608, 29359808, 29490752,
-29621824, 29752256, 29882816, 30014912, 30144448, 30273728, 30406976,
-30538432, 30670784, 30799936, 30932672, 31063744, 31195072, 31325248,
-31456192, 31588288, 31719232, 31850432, 31981504, 32110784, 32243392,
-32372672, 32505664, 32636608, 32767808, 32897344, 33029824, 33160768,
-33289664, 33423296, 33554368, 33683648, 33816512, 33947456, 34076992,
-34208704, 34340032, 34471744, 34600256, 34734016, 34864576, 34993984,
-35127104, 35258176, 35386688, 35518528, 35650624, 35782336, 35910976,
-36044608, 36175808, 36305728, 36436672, 36568384, 36699968, 36830656,
-36961984, 37093312, 37223488, 37355072, 37486528, 37617472, 37747904,
-37879232, 38009792, 38141888, 38272448, 38403392, 38535104, 38660672,
-38795584, 38925632, 39059264, 39190336, 39320768, 39452096, 39581632,
-39713984, 39844928, 39974848, 40107968, 40238144, 40367168, 40500032,
-40631744, 40762816, 40894144, 41023552, 41155904, 41286208, 41418304,
-41547712, 41680448, 41811904, 41942848, 42073792, 42204992, 42334912,
-42467008, 42597824, 42729152, 42860096, 42991552, 43122368, 43253696,
-43382848, 43515712, 43646912, 43777088, 43907648, 44039104, 44170432,
-44302144, 44433344, 44564288, 44694976, 44825152, 44956864, 45088448,
-45219008, 45350464, 45481024, 45612608, 45744064, 45874496, 46006208,
-46136768, 46267712, 46399424, 46529344, 46660672, 46791488, 46923328,
-47053504, 47185856, 47316928, 47447872, 47579072, 47710144, 47839936,
-47971648, 48103232, 48234176, 48365248, 48496192, 48627136, 48757312,
-48889664, 49020736, 49149248, 49283008, 49413824, 49545152, 49675712,
-49807168, 49938368, 50069056, 50200256, 50331584, 50462656, 50593472,
-50724032, 50853952, 50986048, 51117632, 51248576, 51379904, 51510848,
-51641792, 51773248, 51903296, 52035136, 52164032, 52297664, 52427968,
-52557376, 52690112, 52821952, 52952896, 53081536, 53213504, 53344576,
-53475776, 53608384, 53738816, 53870528, 54000832, 54131776, 54263744,
-54394688, 54525248, 54655936, 54787904, 54918592, 55049152, 55181248,
-55312064, 55442752, 55574336, 55705024, 55836224, 55967168, 56097856,
-56228672, 56358592, 56490176, 56621888, 56753728, 56884928, 57015488,
-57146816, 57278272, 57409216, 57540416, 57671104, 57802432, 57933632,
-58064576, 58195264, 58326976, 58457408, 58588864, 58720192, 58849984,
-58981696, 59113024, 59243456, 59375552, 59506624, 59637568, 59768512,
-59897792, 60030016, 60161984, 60293056, 60423872, 60554432, 60683968,
-60817216, 60948032, 61079488, 61209664, 61341376, 61471936, 61602752,
-61733696, 61865792, 61996736, 62127808, 62259136, 62389568, 62520512,
-62651584, 62781632, 62910784, 63045056, 63176128, 63307072, 63438656,
-63569216, 63700928, 63831616, 63960896, 64093888, 64225088, 64355392,
-64486976, 64617664, 64748608, 64879424, 65009216, 65142464, 65273792,
-65402816, 65535424, 65666752, 65797696, 65927744, 66060224, 66191296,
-66321344, 66453056, 66584384, 66715328, 66846656, 66977728, 67108672,
-67239104, 67370432, 67501888, 67631296, 67763776, 67895104, 68026304,
-68157248, 68287936, 68419264, 68548288, 68681408, 68811968, 68942912,
-69074624, 69205568, 69337024, 69467584, 69599168, 69729472, 69861184,
-69989824, 70122944, 70253888, 70385344, 70515904, 70647232, 70778816,
-70907968, 71040832, 71171648, 71303104, 71432512, 71564992, 71695168,
-71826368, 71958464, 72089536, 72219712, 72350144, 72482624, 72613568,
-72744512, 72875584, 73006144, 73138112, 73268672, 73400128, 73530944,
-73662272, 73793344, 73924544, 74055104, 74185792, 74316992, 74448832,
-74579392, 74710976, 74841664, 74972864, 75102784, 75233344, 75364544,
-75497024, 75627584, 75759296, 75890624, 76021696, 76152256, 76283072,
-76414144, 76545856, 76676672, 76806976, 76937792, 77070016, 77200832,
-77331392, 77462464, 77593664, 77725376, 77856448, 77987776, 78118336,
-78249664, 78380992, 78511424, 78642496, 78773056, 78905152, 79033664,
-79166656, 79297472, 79429568, 79560512, 79690816, 79822784, 79953472,
-80084672, 80214208, 80346944, 80477632, 80608576, 80740288, 80870848,
-81002048, 81133504, 81264448, 81395648, 81525952, 81657536, 81786304,
-81919808, 82050112, 82181312, 82311616, 82443968, 82573376, 82705984,
-82835776, 82967744, 83096768, 83230528, 83359552, 83491264, 83622464,
-83753536, 83886016, 84015296, 84147776, 84277184, 84409792, 84540608,
-84672064, 84803008, 84934336, 85065152, 85193792, 85326784, 85458496,
-85589312, 85721024, 85851968, 85982656, 86112448, 86244416, 86370112,
-86506688, 86637632, 86769344, 86900672, 87031744, 87162304, 87293632,
-87424576, 87555392, 87687104, 87816896, 87947968, 88079168, 88211264,
-88341824, 88473152, 88603712, 88735424, 88862912, 88996672, 89128384,
-89259712, 89390272, 89521984, 89652544, 89783872, 89914816, 90045376,
-90177088, 90307904, 90438848, 90569152, 90700096, 90832832, 90963776,
-91093696, 91223744, 91356992, 91486784, 91618496, 91749824, 91880384,
-92012224, 92143552, 92273344, 92405696, 92536768, 92666432, 92798912,
-92926016, 93060544, 93192128, 93322816, 93453632, 93583936, 93715136,
-93845056, 93977792, 94109504, 94240448, 94371776, 94501184, 94632896,
-94764224, 94895552, 95023424, 95158208, 95287744, 95420224, 95550016,
-95681216, 95811904, 95943872, 96075328, 96203584, 96337856, 96468544,
-96599744, 96731072, 96860992, 96992576, 97124288, 97254848, 97385536,
-97517248, 97647808, 97779392, 97910464, 98041408, 98172608, 98303168,
-98434496, 98565568, 98696768, 98827328, 98958784, 99089728, 99220928,
-99352384, 99482816, 99614272, 99745472, 99876416, 100007104,
-100138048, 100267072, 100401088, 100529984, 100662592, 100791872,
-100925248, 101056064, 101187392, 101317952, 101449408, 101580608,
-101711296, 101841728, 101973824, 102104896, 102235712, 102366016,
-102498112, 102628672, 102760384, 102890432, 103021888, 103153472,
-103284032, 103415744, 103545152, 103677248, 103808576, 103939648,
-104070976, 104201792, 104332736, 104462528, 104594752, 104725952,
-104854592, 104988608, 105118912, 105247808, 105381184, 105511232,
-105643072, 105774784, 105903296, 106037056, 106167872, 106298944,
-106429504, 106561472, 106691392, 106822592, 106954304, 107085376,
-107216576, 107346368, 107478464, 107609792, 107739712, 107872192,
-108003136, 108131392, 108265408, 108396224, 108527168, 108657344,
-108789568, 108920384, 109049792, 109182272, 109312576, 109444928,
-109572928, 109706944, 109837888, 109969088, 110099648, 110230976,
-110362432, 110492992, 110624704, 110755264, 110886208, 111017408,
-111148864, 111279296, 111410752, 111541952, 111673024, 111803456,
-111933632, 112066496, 112196416, 112328512, 112457792, 112590784,
-112715968, 112852672, 112983616, 113114944, 113244224, 113376448,
-113505472, 113639104, 113770304, 113901376, 114031552, 114163264,
-114294592, 114425536, 114556864, 114687424, 114818624, 114948544,
-115080512, 115212224, 115343296, 115473472, 115605184, 115736128,
-115867072, 115997248, 116128576, 116260288, 116391488, 116522944,
-116652992, 116784704, 116915648, 117046208, 117178304, 117308608,
-117440192, 117569728, 117701824, 117833024, 117964096, 118094656,
-118225984, 118357312, 118489024, 118617536, 118749632, 118882112,
-119012416, 119144384, 119275328, 119406016, 119537344, 119668672,
-119798464, 119928896, 120061376, 120192832, 120321728, 120454336,
-120584512, 120716608, 120848192, 120979136, 121109056, 121241408,
-121372352, 121502912, 121634752, 121764416, 121895744, 122027072,
-122157632, 122289088, 122421184, 122550592, 122682944, 122813888,
-122945344, 123075776, 123207488, 123338048, 123468736, 123600704,
-123731264, 123861952, 123993664, 124124608, 124256192, 124386368,
-124518208, 124649024, 124778048, 124911296, 125041088, 125173696,
-125303744, 125432896, 125566912, 125696576, 125829056, 125958592,
-126090304, 126221248, 126352832, 126483776, 126615232, 126746432,
-126876608, 127008704, 127139392, 127270336, 127401152, 127532224,
-127663552, 127794752, 127925696, 128055232, 128188096, 128319424,
-128449856, 128581312, 128712256, 128843584, 128973632, 129103808,
-129236288, 129365696, 129498944, 129629888, 129760832, 129892288,
-130023104, 130154048, 130283968, 130416448, 130547008, 130678336,
-130807616, 130939456, 131071552, 131202112, 131331776, 131464384,
-131594048, 131727296, 131858368, 131987392, 132120256, 132250816,
-132382528, 132513728, 132644672, 132774976, 132905792, 133038016,
-133168832, 133299392, 133429312, 133562048, 133692992, 133823296,
-133954624, 134086336, 134217152, 134348608, 134479808, 134607296,
-134741056, 134872384, 135002944, 135134144, 135265472, 135396544,
-135527872, 135659072, 135787712, 135921472, 136052416, 136182848,
-136313792, 136444864, 136576448, 136707904, 136837952, 136970048,
-137099584, 137232064, 137363392, 137494208, 137625536, 137755712,
-137887424, 138018368, 138149824, 138280256, 138411584, 138539584,
-138672832, 138804928, 138936128, 139066688, 139196864, 139328704,
-139460032, 139590208, 139721024, 139852864, 139984576, 140115776,
-140245696, 140376512, 140508352, 140640064, 140769856, 140902336,
-141032768, 141162688, 141294016, 141426496, 141556544, 141687488,
-141819584, 141949888, 142080448, 142212544, 142342336, 142474432,
-142606144, 142736192, 142868288, 142997824, 143129408, 143258944,
-143392448, 143523136, 143653696, 143785024, 143916992, 144045632,
-144177856, 144309184, 144440768, 144570688, 144701888, 144832448,
-144965056, 145096384, 145227584, 145358656, 145489856, 145620928,
-145751488, 145883072, 146011456, 146144704, 146275264, 146407232,
-146538176, 146668736, 146800448, 146931392, 147062336, 147193664,
-147324224, 147455936, 147586624, 147717056, 147848768, 147979456,
-148110784, 148242368, 148373312, 148503232, 148635584, 148766144,
-148897088, 149028416, 149159488, 149290688, 149420224, 149551552,
-149683136, 149814976, 149943616, 150076352, 150208064, 150338624,
-150470464, 150600256, 150732224, 150862784, 150993088, 151125952,
-151254976, 151388096, 151519168, 151649728, 151778752, 151911104,
-152042944, 152174144, 152304704, 152435648, 152567488, 152698816,
-152828992, 152960576, 153091648, 153222976, 153353792, 153484096,
-153616192, 153747008, 153878336, 154008256, 154139968, 154270912,
-154402624, 154533824, 154663616, 154795712, 154926272, 155057984,
-155188928, 155319872, 155450816, 155580608, 155712064, 155843392,
-155971136, 156106688, 156237376, 156367424, 156499264, 156630976,
-156761536, 156892352, 157024064, 157155008, 157284416, 157415872,
-157545536, 157677248, 157810496, 157938112, 158071744, 158203328,
-158334656, 158464832, 158596288, 158727616, 158858048, 158988992,
-159121216, 159252416, 159381568, 159513152, 159645632, 159776192,
-159906496, 160038464, 160169536, 160300352, 160430656, 160563008,
-160693952, 160822208, 160956352, 161086784, 161217344, 161349184,
-161480512, 161611456, 161742272, 161873216, 162002752, 162135872,
-162266432, 162397888, 162529216, 162660032, 162790976, 162922048,
-163052096, 163184576, 163314752, 163446592, 163577408, 163707968,
-163839296, 163969984, 164100928, 164233024, 164364224, 164494912,
-164625856, 164756672, 164887616, 165019072, 165150016, 165280064,
-165412672, 165543104, 165674944, 165805888, 165936832, 166067648,
-166198336, 166330048, 166461248, 166591552, 166722496, 166854208,
-166985408, 167116736, 167246656, 167378368, 167508416, 167641024,
-167771584, 167903168, 168034112, 168164032, 168295744, 168427456,
-168557632, 168688448, 168819136, 168951616, 169082176, 169213504,
-169344832, 169475648, 169605952, 169738048, 169866304, 169999552,
-170131264, 170262464, 170393536, 170524352, 170655424, 170782016,
-170917696, 171048896, 171179072, 171310784, 171439936, 171573184,
-171702976, 171835072, 171966272, 172097216, 172228288, 172359232,
-172489664, 172621376, 172747712, 172883264, 173014208, 173144512,
-173275072, 173407424, 173539136, 173669696, 173800768, 173931712,
-174063424, 174193472, 174325696, 174455744, 174586816, 174718912,
-174849728, 174977728, 175109696, 175242688, 175374272, 175504832,
-175636288, 175765696, 175898432, 176028992, 176159936, 176291264,
-176422592, 176552512, 176684864, 176815424, 176946496, 177076544,
-177209152, 177340096, 177470528, 177600704, 177731648, 177864256,
-177994816, 178126528, 178257472, 178387648, 178518464, 178650176,
-178781888, 178912064, 179044288, 179174848, 179305024, 179436736,
-179568448, 179698496, 179830208, 179960512, 180092608, 180223808,
-180354752, 180485696, 180617152, 180748096, 180877504, 181009984,
-181139264, 181272512, 181402688, 181532608, 181663168, 181795136,
-181926592, 182057536, 182190016, 182320192, 182451904, 182582336,
-182713792, 182843072, 182976064, 183107264, 183237056, 183368384,
-183494848, 183631424, 183762752, 183893824, 184024768, 184154816,
-184286656, 184417984, 184548928, 184680128, 184810816, 184941248,
-185072704, 185203904, 185335616, 185465408, 185596352, 185727296,
-185859904, 185989696, 186121664, 186252992, 186383552, 186514112,
-186645952, 186777152, 186907328, 187037504, 187170112, 187301824,
-187429184, 187562048, 187693504, 187825472, 187957184, 188087104,
-188218304, 188349376, 188481344, 188609728, 188743616, 188874304,
-189005248, 189136448, 189265088, 189396544, 189528128, 189660992,
-189791936, 189923264, 190054208, 190182848, 190315072, 190447424,
-190577984, 190709312, 190840768, 190971328, 191102656, 191233472,
-191364032, 191495872, 191626816, 191758016, 191888192, 192020288,
-192148928, 192282176, 192413504, 192542528, 192674752, 192805952,
-192937792, 193068608, 193198912, 193330496, 193462208, 193592384,
-193723456, 193854272, 193985984, 194116672, 194247232, 194379712,
-194508352, 194641856, 194772544, 194900672, 195035072, 195166016,
-195296704, 195428032, 195558592, 195690304, 195818176, 195952576,
-196083392, 196214336, 196345792, 196476736, 196607552, 196739008,
-196869952, 197000768, 197130688, 197262784, 197394368, 197523904,
-197656384, 197787584, 197916608, 198049472, 198180544, 198310208,
-198442432, 198573632, 198705088, 198834368, 198967232, 199097792,
-199228352, 199360192, 199491392, 199621696, 199751744, 199883968,
-200014016, 200146624, 200276672, 200408128, 200540096, 200671168,
-200801984, 200933312, 201062464, 201194944, 201326144, 201457472,
-201588544, 201719744, 201850816, 201981632, 202111552, 202244032,
-202374464, 202505152, 202636352, 202767808, 202898368, 203030336,
-203159872, 203292608, 203423296, 203553472, 203685824, 203816896,
-203947712, 204078272, 204208192, 204341056, 204472256, 204603328,
-204733888, 204864448, 204996544, 205125568, 205258304, 205388864,
-205517632, 205650112, 205782208, 205913536, 206044736, 206176192,
-206307008, 206434496, 206569024, 206700224, 206831168, 206961856,
-207093056, 207223616, 207355328, 207486784, 207616832, 207749056,
-207879104, 208010048, 208141888, 208273216, 208404032, 208534336,
-208666048, 208796864, 208927424, 209059264, 209189824, 209321792,
-209451584, 209582656, 209715136, 209845568, 209976896, 210106432,
-210239296, 210370112, 210501568, 210630976, 210763712, 210894272,
-211024832, 211156672, 211287616, 211418176, 211549376, 211679296,
-211812032, 211942592, 212074432, 212204864, 212334016, 212467648,
-212597824, 212727616, 212860352, 212991424, 213120832, 213253952,
-213385024, 213515584, 213645632, 213777728, 213909184, 214040128,
-214170688, 214302656, 214433728, 214564544, 214695232, 214826048,
-214956992, 215089088, 215219776, 215350592, 215482304, 215613248,
-215743552, 215874752, 216005312, 216137024, 216267328, 216399296,
-216530752, 216661696, 216790592, 216923968, 217054528, 217183168,
-217316672, 217448128, 217579072, 217709504, 217838912, 217972672,
-218102848, 218233024, 218364736, 218496832, 218627776, 218759104,
-218888896, 219021248, 219151936, 219281728, 219413056, 219545024,
-219675968, 219807296, 219938624, 220069312, 220200128, 220331456,
-220461632, 220592704, 220725184, 220855744, 220987072, 221117888,
-221249216, 221378368, 221510336, 221642048, 221772736, 221904832,
-222031808, 222166976, 222297536, 222428992, 222559936, 222690368,
-222820672, 222953152, 223083968, 223213376, 223345984, 223476928,
-223608512, 223738688, 223869376, 224001472, 224132672, 224262848,
-224394944, 224524864, 224657344, 224788288, 224919488, 225050432,
-225181504, 225312704, 225443776, 225574592, 225704768, 225834176,
-225966784, 226097216, 226229824, 226360384, 226491712, 226623424,
-226754368, 226885312, 227015104, 227147456, 227278528, 227409472,
-227539904, 227669696, 227802944, 227932352, 228065216, 228196288,
-228326464, 228457792, 228588736, 228720064, 228850112, 228981056,
-229113152, 229243328, 229375936, 229505344, 229636928, 229769152,
-229894976, 230030272, 230162368, 230292416, 230424512, 230553152,
-230684864, 230816704, 230948416, 231079616, 231210944, 231342016,
-231472448, 231603776, 231733952, 231866176, 231996736, 232127296,
-232259392, 232388672, 232521664, 232652608, 232782272, 232914496,
-233043904, 233175616, 233306816, 233438528, 233569984, 233699776,
-233830592, 233962688, 234092224, 234221888, 234353984, 234485312,
-234618304, 234749888, 234880832, 235011776, 235142464, 235274048,
-235403456, 235535936, 235667392, 235797568, 235928768, 236057152,
-236190272, 236322752, 236453312, 236583616, 236715712, 236846528,
-236976448, 237108544, 237239104, 237371072, 237501632, 237630784,
-237764416, 237895232, 238026688, 238157632, 238286912, 238419392,
-238548032, 238681024, 238812608, 238941632, 239075008, 239206336,
-239335232, 239466944, 239599168, 239730496, 239861312, 239992384,
-240122816, 240254656, 240385856, 240516928, 240647872, 240779072,
-240909632, 241040704, 241171904, 241302848, 241433408, 241565248,
-241696192, 241825984, 241958848, 242088256, 242220224, 242352064,
-242481856, 242611648, 242744896, 242876224, 243005632, 243138496,
-243268672, 243400384, 243531712, 243662656, 243793856, 243924544,
-244054592, 244187072, 244316608, 244448704, 244580032, 244710976,
-244841536, 244972864, 245104448, 245233984, 245365312, 245497792,
-245628736, 245759936, 245889856, 246021056, 246152512, 246284224,
-246415168, 246545344, 246675904, 246808384, 246939584, 247070144,
-247199552, 247331648, 247463872, 247593536, 247726016, 247857088,
-247987648, 248116928, 248249536, 248380736, 248512064, 248643008,
-248773312, 248901056, 249036608, 249167552, 249298624, 249429184,
-249560512, 249692096, 249822784, 249954112, 250085312, 250215488,
-250345792, 250478528, 250608704, 250739264, 250870976, 251002816,
-251133632, 251263552, 251395136, 251523904, 251657792, 251789248,
-251919424, 252051392, 252182464, 252313408, 252444224, 252575552,
-252706624, 252836032, 252968512, 253099712, 253227584, 253361728,
-253493056, 253623488, 253754432, 253885504, 254017216, 254148032,
-254279488, 254410432, 254541376, 254672576, 254803264, 254933824,
-255065792, 255196736, 255326528, 255458752, 255589952, 255721408,
-255851072, 255983296, 256114624, 256244416, 256374208, 256507712,
-256636096, 256768832, 256900544, 257031616, 257162176, 257294272,
-257424448, 257555776, 257686976, 257818432, 257949632, 258079552,
-258211136, 258342464, 258473408, 258603712, 258734656, 258867008,
-258996544, 259127744, 259260224, 259391296, 259522112, 259651904,
-259784384, 259915328, 260045888, 260175424, 260308544, 260438336,
-260570944, 260700992, 260832448, 260963776, 261092672, 261226304,
-261356864, 261487936, 261619648, 261750592, 261879872, 262011968,
-262143424, 262274752, 262404416, 262537024, 262667968, 262799296,
-262928704, 263061184, 263191744, 263322944, 263454656, 263585216,
-263716672, 263847872, 263978944, 264108608, 264241088, 264371648,
-264501184, 264632768, 264764096, 264895936, 265024576, 265158464,
-265287488, 265418432, 265550528, 265681216, 265813312, 265943488,
-266075968, 266206144, 266337728, 266468032, 266600384, 266731072,
-266862272, 266993344, 267124288, 267255616, 267386432, 267516992,
-267648704, 267777728, 267910592, 268040512, 268172096, 268302784,
-268435264, 268566208, 268696256, 268828096, 268959296, 269090368,
-269221312, 269352256, 269482688, 269614784, 269745856, 269876416,
-270007616, 270139328, 270270272, 270401216, 270531904, 270663616,
-270791744, 270924736, 271056832, 271186112, 271317184, 271449536,
-271580992, 271711936, 271843136, 271973056, 272105408, 272236352,
-272367296, 272498368, 272629568, 272759488, 272891456, 273022784,
-273153856, 273284672, 273415616, 273547072, 273677632, 273808448,
-273937088, 274071488, 274200896, 274332992, 274463296, 274595392,
-274726208, 274857536, 274988992, 275118656, 275250496, 275382208,
-275513024, 275643968, 275775296, 275906368, 276037184, 276167872,
-276297664, 276429376, 276560576, 276692672, 276822976, 276955072,
-277085632, 277216832, 277347008, 277478848, 277609664, 277740992,
-277868608, 278002624, 278134336, 278265536, 278395328, 278526784,
-278657728, 278789824, 278921152, 279052096, 279182912, 279313088,
-279443776, 279576256, 279706048, 279838528, 279969728, 280099648,
-280230976, 280361408, 280493632, 280622528, 280755392, 280887104,
-281018176, 281147968, 281278912, 281411392, 281542592, 281673152,
-281803712, 281935552, 282066496, 282197312, 282329024, 282458816,
-282590272, 282720832, 282853184, 282983744, 283115072, 283246144,
-283377344, 283508416, 283639744, 283770304, 283901504, 284032576,
-284163136, 284294848, 284426176, 284556992, 284687296, 284819264,
-284950208, 285081536]
-```
diff --git "a/public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md" "b/public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md"
deleted file mode 100644
index e7ad74eda7a..00000000000
--- "a/public/content/translations/zh/17) Foundational Docs \342\200\223 Proof-of-Work/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md"
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title: 挖矿算法
-description: 以太坊挖矿所用的算法的详细介绍
-lang: zh
----
-
-
-工作量证明不再是以太坊共识机制的基础,这意味着挖矿已终结。 取而代之的是,以太坊将由质押了以太币的验证者保护。 你可以立即开始质押以太币。 阅读更多关于合并、权益证明和质押的信息。 此页面仅为满足对历史的兴趣。
-
-
-以太坊挖矿使用过一种称为 Ethash 的算法。 该算法的基本思想是,矿工尝试使用蛮力计算找到一个随机数输入,使得生成的哈希小于一个取决于计算难度的阈值。 此难度级别可以动态调整,从而允许定期进行区块生产。
-
-## 前提条件 {#prerequisites}
-
-为了更好地理解本页内容,推荐你先阅读[工作量证明共识](/developers/docs/consensus-mechanisms/pow)和[挖矿](/developers/docs/consensus-mechanisms/pow/mining)。
-
-## Dagger Hashimoto {#dagger-hashimoto}
-
-Dagger Hashimoto 是以太坊挖矿的先导研究算法,现已被 Ethash 取代。 它是两种不同算法:Dagger 和 Hashimoto的融合。 它只是一个研究实现,并在以太坊主网启动时被 Ethash 取代。
-
-[Dagger](http://www.hashcash.org/papers/dagger.html) 会生成一个[有向无环图](https://en.wikipedia.org/wiki/Directed_acyclic_graph),将共同取哈希值的内容随机划分。 其核心原理是,每个随机数只取总数据树的一小部分。 挖矿禁止为每个随机数重新计算子树,因此需要总存储树,但若为验证某个随机数的价值,则可以重新计算。 Dagger 的设计目的是替代诸如Scrypt的已有算法。后者是“内存困难算法”,但当它们的内存困难程度增加到可信的安全水平时将很难验证。 然而,Dagger 容易受到共享内存硬件加速的影响,因此我们放弃了这种算法,转而采用了其他研究途径。
-
-[Hashimoto](http://diyhpl.us/%7Ebryan/papers2/bitcoin/meh/hashimoto.pdf) 算法通过实现输入/输出密集的特性(即,内存读取速度是挖矿过程中的限制因素)来增加对专用集成电路的抵抗性。 理论上来说使用内存比使用计算能力更容易;已有价值数十亿美元的经费投入被用于研究针对不同应用场景的内存优化,通常涉及近随机访问模式(即“随机存取存储器”)。 因此,现有的内存对评价算法效率的能力更接近最优。 Hashimoto 使用区块链作为数据源,同时满足上述第 (1) 和第 (3) 条。
-
-Dagger-Hashimoto 是在 Dagger 和 Hashimoto 的基础上改进而来的以太币挖矿算法。 Dagger Hashimoto 和 Hashimoto 的差别在于,Dagger Hashimoto 的数据来源并非是区块链,而是自定义生成的数据集,这些数据集将基于所有 N 区块上的区块数据进行更新。 这些数据集采用 Dagger 算法生成,可为轻量级客户端的验证算法高效计算特定于每个随机数的子集。 Dagger Hashimoto 算法和 Dagger 算法的差别在于,与原来的 Dagger 不同,用于查询区块的数据集只是暂时的,只会偶尔更新(例如每周更新一次)。 这意味着生成数据集的工作量接近于零,所以 Sergio Lerner 关于共享内存加速的论据变得微不足道。
-
-有关 [Dagger-Hashimoto](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto) 的更多信息。
-
-## Ethash {#ethash}
-
-Ethash 是在现已弃用的工作量证明架构下,实际用于真正的以太坊主网的挖矿算法。 Ethash 实际上是为 Dagger Hashimoto 算法进行重要更新后的一个特殊版本命名的新名称,但它仍然继承了其前身的基本原理。 以太坊主网只采用过 Ethash——Dagger Hashimoto 是挖矿算法的研发版本,在以太坊主网开始挖矿前被取代。
-
-[有关 Ethash 的更多信息](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash)。
-
-## 延伸阅读 {#further-reading}
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/apis/backend/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/apis/backend/index.md"
deleted file mode 100644
index abf79b3467f..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/apis/backend/index.md"
+++ /dev/null
@@ -1,207 +0,0 @@
----
-title: 后端应用程序接口库
-description: 以太坊客户端应用程序接口的介绍,使你能够从你的应用程序中与区块链进行交互。
-lang: zh
----
-
-为了使软件应用程序能够与以太坊区块链进行交互(例如:读取区块链数据或发送交易信息到网络),软件必须连接到以太坊节点。
-
-为此,每个以太坊客户端都执行[JSON-RPC](/developers/docs/apis/json-rpc/)规范,以使应用程序可以依赖统一的[方法](/developers/docs/apis/json-rpc/#json-rpc-methods)集。
-
-如果你想使用特定的编程语言去连接以太坊的节点,你可自行选择,但是在社区中已有几个方便的库,可以更方便地实现应用程序与以太坊的连接。 通过这些库,开发者可以方便地写下直观的一行函数来初始化(后端的)JSON RPC 请求并用于与以太坊进行交互。
-
-## 前置要求 {#prerequisites}
-
-了解[以太坊堆栈](/developers/docs/ethereum-stack/)和[以太坊客户端](/developers/docs/nodes-and-clients/)可能会对你有所帮助。
-
-## 为什么要使用库? {#why-use-a-library}
-
-这些库降低了与一个以太坊节点交互的复杂性。 它们还提供实用的函数(例如:将 ETH 转化为 Gwei),而作为开发者,你可以花费更少的时间来处理以太坊客户端的复杂问题,从而将更多的时间集中于处理你的应用程序的独特功能。
-
-## 可用的库 {#available-libraries}
-
-### 基础设施和节点服务 {#infrastructure-and-node-services}
-
-**Alchemy -** **_以太坊开发平台_**
-
-- [alchemy.com](https://www.alchemy.com/)
-- [相关文档](https://docs.alchemy.com/)
-- [GitHub](https://github.com/alchemyplatform)
-- [Discord](https://discord.com/invite/alchemyplatform)
-
-**All That Node -** **_节点即服务。_**
-
-- [All That Node.com](https://www.allthatnode.com/)
-- [相关文档](https://docs.allthatnode.com)
-- [Discord](https://discord.gg/GmcdVEUbJM)
-
-**Blast by Bware Labs -** **_面向以太坊主网和测试网的去中心化应用程序接口。_**
-
-- [blastapi.io](https://blastapi.io/)
-- [相关文档](https://docs.blastapi.io)
-- [Discord](https://discord.gg/bwarelabs)
-
-**BlockPi -** **_提供更高效、更快速的 RPC 服务_**
-
-- [blockpi.io](https://blockpi.io/)
-- [相关文档](https://docs.blockpi.io/)
-- [GitHub](https://github.com/BlockPILabs)
-- [Discord](https://discord.com/invite/xTvGVrGVZv)
-
-**Cloudflare 以太坊网关。**
-
-- [cloudflare-eth.com](https://www.cloudflare.com/application-services/products/web3/)
-
-**Etherscan - 区块浏览器和交易应用程序接口**
-- [相关文档](https://docs.etherscan.io/)
-
-**GetBlock -** **_ 用于 Web3 开发的区块链即服务_**
-
-- [GetBlock.io](https://getblock.io/)
-- [相关文档](https://getblock.io/docs/)
-
-**Infura -** **_以太坊应用程序接口即服务。_**
-
-- [infura.io](https://infura.io)
-- [相关文档](https://docs.infura.io/api)
-- [GitHub](https://github.com/INFURA)
-
-**Node RPC - _经济高效的以太坊虚拟机 JSON-RPC 供应商_**
-
-- [noderpc.xyz](https://www.noderpc.xyz/)
-- [相关文档](https://docs.noderpc.xyz/node-rpc)
-
-**NOWNodes - _全节点和全区块浏览器。_**
-
-- [NOWNodes.io](https://nownodes.io/)
-- [相关文档](https://documenter.getpostman.com/view/13630829/TVmFkLwy#intro)
-
-**QuickNode -** **_区块链基础设施即服务。_**
-
-- [quicknode.com](https://quicknode.com)
-- [相关文档](https://www.quicknode.com/docs/welcome)
-- [Discord](https://discord.gg/quicknode)
-
-**Rivet -** **_由开源软件提供支持的以太坊和以太坊经典应用程序接口即服务。_**
-
-- [rivet.cloud](https://rivet.cloud)
-- [相关文档](https://rivet.cloud/docs/)
-- [GitHub](https://github.com/openrelayxyz/ethercattle-deployment)
-
-**Zmok -** **_注重速度的以太坊节点即 JSON-RPC/WebSockets 应用程序接口。_**
-
-- [zmok.io](https://zmok.io/)
-- [GitHub](https://github.com/zmok-io)
-- [相关文档](https://docs.zmok.io/)
-- [Discord](https://discord.gg/fAHeh3ka6s)
-
-### 开发工具 {#development-tools}
-
-**Ethers-kt - ****_ 面向基于以太坊虚拟机区块链的高性能异步 Kotlin/Java/Android 库。_**
-
-- [GitHub](https://github.com/Kr1ptal/ethers-kt)
-- [示例](https://github.com/Kr1ptal/ethers-kt/tree/master/examples)
-- [Discord](https://discord.gg/rx35NzQGSb)
-
-**Nethereum -** **_面向区块链的开源 .NET 集成库。_**
-
-- [GitHub](https://github.com/Nethereum/Nethereum)
-- [相关文档](http://docs.nethereum.com/en/latest/)
-- [Discord](https://discord.com/invite/jQPrR58FxX)
-
-**Python 工具 -** **_通过 Python 和以太坊交互的各种库。_**
-
-- [py.ethereum.org](https://python.ethereum.org/)
-- [web3.py GitHub](https://github.com/ethereum/web3.py)
-- [web3.py 聊天](https://gitter.im/ethereum/web3.py)
-
-**QuikNode -** **_终极区块链开发平台。_**
-
-- [Tatum](https://tatum.io/)
-- [GitHub](https://github.com/tatumio/)
-- [相关文档](https://docs.tatum.io/)
-- [Discord](https://discord.gg/EDmW3kjTC9)
-
-**web3j -** **_面向以太坊的 Java/Android/Kotlin/Scala 集成库。_**
-
-- [GitHub](https://github.com/web3j/web3j)
-- [相关文档](https://docs.web3j.io/)
-- [Gitter](https://gitter.im/web3j/web3j)
-
-### 区块链服务 {#blockchain-services}
-
-**BlockCypher -** **_以太坊 Web 应用程序接口。_**
-
-- [blockcypher.com](https://www.blockcypher.com/)
-- [相关文档](https://www.blockcypher.com/dev/ethereum/)
-
-**公链 -** **_以太坊的一体化 web3 数据基础设施。_**
-
-- [chainbase.com](https://chainbase.com/)
-- [相关文档](https://docs.chainbase.com/)
-- [Discord](https://discord.gg/Wx6qpqz4AF)
-
-**Chainstack -** **_共享及专用的以太坊节点即服务。_**
-
-- [chainstack.com](https://chainstack.com)
-- [相关文档](https://docs.chainbase.com/docs)
-- [以太坊应用程序接口参考](https://docs.chainstack.com/reference/ethereum-getting-started)
-
-**Coinbase 云节点 -** **_区块链基础设施应用程序接口。_**
-
-- [Coinbase 云节点](https://www.coinbase.com/cloud)
-- [相关文档](https://docs.cloud.coinbase.com/)
-
-**Figment 数据中心 -** **_以太坊主网和测试网的 Web3 应用程序接口服务。_**
-
-- [数据中心](https://www.figment.io/)
-- [相关文档](https://docs.figment.io/)
-
-**Moralis -** **_企业级以太坊虚拟机应用程序接口提供商。_**
-
-- [moralis.io](https://moralis.io)
-- [相关文档](https://docs.moralis.io/)
-- [GitHub](https://github.com/MoralisWeb3)
-- [Discord](https://moralis.io/joindiscord/)
-- [论坛](https://forum.moralis.io/)
-
-**NFTPort -** **_以太坊数据和铸币应用程序接口。_**
-
-- [nftport.xyz](https://www.nftport.xyz/)
-- [相关文档](https://docs.nftport.xyz/)
-- [GitHub](https://github.com/nftport/)
-- [Discord](https://discord.com/invite/K8nNrEgqhE)
-
-**Tokenview -** **_ 通用多重加密区块链应用程序接口平台。_**
-
-- [services.tokenview.io](https://services.tokenview.io/)
-- [相关文档](https://services.tokenview.io/docs?type=api)
-- [GitHub](https://github.com/Tokenview)
-
-**Watchdata -** **_提供对以太坊区块链简单可靠的API访问。_**
-
-- [Watchdata](https://watchdata.io/)
-- [相关文档](https://docs.watchdata.io/)
-- [Discord](https://discord.com/invite/TZRJbZ6bdn)
-
-**Covalent - ****_适用于 200 多条链的丰富区块链应用程序接口。_**
-
-- [covalenthq.com](https://www.covalenthq.com/)
-- [相关文档](https://www.covalenthq.com/docs/api/)
-- [GitHub](https://github.com/covalenthq)
-- [Discord](https://www.covalenthq.com/discord/)
-
-
-## 延伸阅读 {#further-reading}
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
-
-## 相关主题 {#related-topics}
-
-- [节点和客户端](/developers/docs/nodes-and-clients/)
-- [开发框架](/developers/docs/frameworks/)
-
-## 相关教程 {#related-tutorials}
-
-- [设置 Web3js 以在 JavaScript 中使用以太坊区块链](/developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/) _– 在项目中设置 web3.js 的说明。_
-- [在 JavaScript 中调用智能合约](/developers/tutorials/calling-a-smart-contract-from-javascript/) _使用 DAI 代币,从而借助 JavaScript 调用合约函数。_
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/apis/javascript/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/apis/javascript/index.md"
deleted file mode 100644
index 02548f5b65a..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/apis/javascript/index.md"
+++ /dev/null
@@ -1,295 +0,0 @@
----
-title: JavaScript 应用编程接口库
-description: 以太坊 JavaScript 应用程序接口的介绍,使你能够从你的应用程序中与区块链进行交互。
-lang: zh
----
-
-为了使网页应用程序能够与以太坊区块链进行交互(例如:读取区块链数据或发送交易信息到网络),软件必须连接到以太坊节点。
-
-为此,每种以太坊客户端都实现了 [JSON-RPC](/developers/docs/apis/json-rpc/) 规范,因而应用程序可以依赖一组统一的[方法](/developers/docs/apis/json-rpc/#json-rpc-methods)。
-
-如果你想要用 JavaScript 连接到一个以太坊节点, 可以使用原生 JavaScript,不过生态系统中存在一些方便的库,使得这个事情变得更加容易。 通过这些库,开发者可以方便地写下直观的一行函数来初始化(后端的)JSON RPC 请求并用于与以太坊进行交互。
-
-请注意,[合并](/roadmap/merge/)后,运行节点需要两种互联的以太坊软件 - 执行客户端和共识客户端。 请确保你的节点同时包含执行客户端和共识客户端。 如果你的节点不在本地计算机上(例如,你的节点在 AWS 实例上运行),请相应地更新教程中的 IP 地址。 有关更多信息,请参阅我们关于[运行节点](/developers/docs/nodes-and-clients/run-a-node/)的页面。
-
-## 前提条件 {#prerequisites}
-
-除了了解 JavaScript 外,了解[以太坊堆栈](/developers/docs/ethereum-stack/)和[以太坊客户端](/developers/docs/nodes-and-clients/)也许是有帮助的。
-
-## 为什么要使用库? {#why-use-a-library}
-
-这些库降低了与一个以太坊节点直接交互的复杂性。 它们还提供实用功能(例如:将以太币转换为 Gwei),因此作为开发者,你可以花费更少的时间处理以太坊客户端的复杂问题,而将更多的时间集中于处理应用程序的独特功能。
-
-## 库功能 {#library-features}
-
-### 连接到以太坊节点 {#connect-to-ethereum-nodes}
-
-使用提供程序,这些库允许你连接到以太坊并读取它的数据,不管是通过 JSON-RPC、INFURA、Etherscan、Alchemy 还是 Metamask。
-
-**Ethers 示例**
-
-```js
-// 一个浏览器提供程序包装了一个标准 Web3 提供程序,后者由
-// MetaMask 作为 window.ethereum 注入每个页面
-const provider = new ethers.BrowserProvider(window.ethereum)
-
-// MetaMask 插件还允许为交易签名,
-// 以发送以太币并付款改变区块链内的状态。
-// 为此,我们需要帐户签名者...
-const signer = provider.getSigner()
-```
-
-**Web3js 示例**
-
-```js
-var web3 = new Web3("http://localhost:8545")
-// or
-var web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"))
-
-// change provider
-web3.setProvider("ws://localhost:8546")
-// or
-web3.setProvider(new Web3.providers.WebsocketProvider("ws://localhost:8546"))
-
-// Using the IPC provider in node.js
-var net = require("net")
-var web3 = new Web3("/Users/myuser/Library/Ethereum/geth.ipc", net) // mac os path
-// or
-var web3 = new Web3(
- new Web3.providers.IpcProvider("/Users/myuser/Library/Ethereum/geth.ipc", net)
-) // mac os path
-// on windows the path is: "\\\\.\\pipe\\geth.ipc"
-// on linux the path is: "/users/myuser/.ethereum/geth.ipc"
-```
-
-一旦设置,你将能够查询区块链的以下内容:
-
-- 区块号
-- 燃料估算
-- 智能合约事件
-- 网络 ID
-- 以及更多...
-
-### 钱包功能 {#wallet-functionality}
-
-这些库为你提供了创建钱包、管理密匙和签署交易的功能。
-
-这里提供了 Ethers 中的一个示例
-
-```js
-// 从助记符创建一个钱包实例...
-mnemonic =
- "announce room limb pattern dry unit scale effort smooth jazz weasel alcohol"
-walletMnemonic = Wallet.fromPhrase(mnemonic)
-
-// ...或者来自一个私钥
-walletPrivateKey = new Wallet(walletMnemonic.privateKey)
-
-walletMnemonic.address === walletPrivateKey.address
-// true
-
-// 根据签名者应用程序接口,该地址为 Promise
-walletMnemonic.getAddress()
-// { Promise: '0x71CB05EE1b1F506fF321Da3dac38f25c0c9ce6E1' }
-
-// 钱包地址也可同步使用
-walletMnemonic.address
-// '0x71CB05EE1b1F506fF321Da3dac38f25c0c9ce6E1'
-
-// 内部加密组件
-walletMnemonic.privateKey
-// '0x1da6847600b0ee25e9ad9a52abbd786dd2502fa4005dd5af9310b7cc7a3b25db'
-walletMnemonic.publicKey
-// '0x04b9e72dfd423bcf95b3801ac93f4392be5ff22143f9980eb78b3a860c4843bfd04829ae61cdba4b3b1978ac5fc64f5cc2f4350e35a108a9c9a92a81200a60cd64'
-
-// 钱包助记词
-walletMnemonic.mnemonic
-// {
-// locale: 'en',
-// path: 'm/44\'/60\'/0\'/0/0',
-// phrase: 'announce room limb pattern dry unit scale effort smooth jazz weasel alcohol'
-// }
-
-// 注意:使用私钥创建的钱包
-// 没有助记词(派生阻止了它)
-walletPrivateKey.mnemonic
-// null
-
-// 为信息签名
-walletMnemonic.signMessage("Hello World")
-// { Promise: '0x14280e5885a19f60e536de50097e96e3738c7acae4e9e62d67272d794b8127d31c03d9cd59781d4ee31fb4e1b893bd9b020ec67dfa65cfb51e2bdadbb1de26d91c' }
-
-tx = {
- to: "0x8ba1f109551bD432803012645Ac136ddd64DBA72",
- value: utils.parseEther("1.0"),
-}
-
-// 为交易签名
-walletMnemonic.signTransaction(tx)
-// { Promise: '0xf865808080948ba1f109551bd432803012645ac136ddd64dba72880de0b6b3a7640000801ca0918e294306d177ab7bd664f5e141436563854ebe0a3e523b9690b4922bbb52b8a01181612cec9c431c4257a79b8c9f0c980a2c49bb5a0e6ac52949163eeb565dfc' }
-
-// connect 方法返回连接到提供程序
-// 的 Wallet 的新实例
-wallet = walletMnemonic.connect(provider)
-
-// 查询网络
-wallet.getBalance()
-// { Promise: { BigNumber: "42" } }
-wallet.getTransactionCount()
-// { Promise: 0 }
-
-// 发送以太币
-wallet.sendTransaction(tx)
-```
-
-[阅读完整文档](https://docs.ethers.io/v5/api/signer/#Wallet)
-
-一旦设置,你将能够:
-
-- 创建帐户
-- 发送交易
-- 签署交易
-- 以及更多...
-
-### 与智能合约交互的方法 {#interact-with-smart-contract-functions}
-
-JavaScript 客户端库允许你的应用程序通过读取已编译合约的应用程序二进制接口 (ABI) 来调用智能合约函数。
-
-ABI 本质上是以 JSON 格式解释了合约的功能,并且允许你像普通 JavaScript 对象一样使用它。
-
-以下 Solidity 合约:
-
-```solidity
-contract Test {
- uint a;
- address d = 0x12345678901234567890123456789012;
-
- function Test(uint testInt) { a = testInt;}
-
- event Event(uint indexed b, bytes32 c);
-
- event Event2(uint indexed b, bytes32 c);
-
- function foo(uint b, bytes32 c) returns(address) {
- Event(b, c);
- return d;
- }
-}
-```
-
-将会产生以下 JSON 代码:
-
-```json
-[{
- "type":"constructor",
- "payable":false,
- "stateMutability":"nonpayable"
- "inputs":[{"name":"testInt","type":"uint256"}],
- },{
- "type":"function",
- "name":"foo",
- "constant":false,
- "payable":false,
- "stateMutability":"nonpayable",
- "inputs":[{"name":"b","type":"uint256"}, {"name":"c","type":"bytes32"}],
- "outputs":[{"name":"","type":"address"}]
- },{
- "type":"event",
- "name":"Event",
- "inputs":[{"indexed":true,"name":"b","type":"uint256"}, {"indexed":false,"name":"c","type":"bytes32"}],
- "anonymous":false
- },{
- "type":"event",
- "name":"Event2",
- "inputs":[{"indexed":true,"name":"b","type":"uint256"},{"indexed":false,"name":"c","type":"bytes32"}],
- "anonymous":false
-}]
-```
-
-这意味着你可以:
-
-- 发送一笔交易到指定的智能合约上,并执行智能合约上的方法
-- 调用方法去评估对燃料的需求量。这个方法的执行是在以太坊虚拟机中执行的。
-- 部署一个合约
-- 以及更多...
-
-### 实用功能 {#utility-functions}
-
-这些实用功能为你提供了方便的快捷操作,让以太坊的构建变得更轻松一些。
-
-以太币的默认价值单位是 Wei。 1 个以太币 = 1,000,000,000,000,000,000 WEI – 这意味着你需要处理很多的数字。 使用 `web3.utils.toWei` 可以将以太币转换为 Wei。
-
-在 ethers 中,它看起来是这样的:
-
-```js
-// 获取帐户中的资产(通过地址或者 ENS 名)
-balance = await provider.getBalance("ethers.eth")
-// { BigNumber: "2337132817842795605" }
-
-// 通常来说开发者可能会需要为用户格式化一下输出
-// 用户更喜欢以 ether(而非 wei)表示的价值
-ethers.utils.formatEther(balance)
-// '2.337132817842795605'
-```
-
-- [Web3js 实用功能](https://docs.web3js.org/api/web3-utils)
-- [Ethers 实用功能](https://docs.ethers.io/v5/api/utils/)
-
-## 可用的库 {#available-libraries}
-
-**Web3.js -** **_以太坊 JavaScript API。_**
-
-- [相关文档](https://docs.web3js.org/)
-- [GitHub](https://github.com/ethereum/web3.js/)
-
-**Ethers.js -** **_JavaScript 和 TypeScript 中完整的以太坊钱包实现和实用工具。_**
-
-- [相关文档](https://docs.ethers.io/)
-- [GitHub](https://github.com/ethers-io/ethers.js/)
-
-**Graph -** **_用于为以太坊和星际文件系统数据建立索引并使用 GraphQL 对其进行查询的协议。_**
-
-- [图表](https://thegraph.com/)
-- [Graph Explorer](https://thegraph.com/explorer/)
-- [相关文档](https://thegraph.com/docs/)
-- [GitHub](https://github.com/graphprotocol/)
-- [Discord](https://thegraph.com/discord)
-
-**light.js -** **_针对轻客户端优化的高级响应式 JS 库。_**
-
-- [GitHub](https://github.com/openethereum/js-libs/tree/master/packages/light.js)
-
-**Web3-wrapper -** **_可替代 Web3.js 的 Typescript。_**
-
-- [相关文档](https://0x.org/docs/web3-wrapper#introduction)
-- [GitHub](https://github.com/0xProject/0x-monorepo/tree/development/packages/web3-wrapper)
-
-**Alchemyweb3 -** **_Web3.js 的包装器,带自动重试和增强的应用程序接口。_**
-
-- [相关文档](https://docs.alchemy.com/reference/api-overview)
-- [GitHub](https://github.com/alchemyplatform/alchemy-web3)
-
-**Alchemy 非同质化代币应用程序接口 -** **_ 用于提取非同质化代币数据的应用程序接口,包括所有权、元数据属性等数据。_**
-
-- [相关文档](https://docs.alchemy.com/alchemy/enhanced-apis/nft-api)
-- [GitHub](https://github.com/alchemyplatform/alchemy-web3)
-
-**viem -** **_以太坊的 TypeScript 接口。_**
-
-- [相关文档](https://viem.sh)
-- [GitHub](https://github.com/wagmi-dev/viem)
-
-## 延伸阅读 {#further-reading}
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
-
-## 相关主题 {#related-topics}
-
-- [节点和客户端](/developers/docs/nodes-and-clients/)
-- [开发框架](/developers/docs/frameworks/)
-
-## 相关教程 {#related-tutorials}
-
-- [设置 Web3js 以在 JavaScript 中使用以太坊区块链](/developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/) _– 在项目中设置 web3.js 的说明。_
-- [在 JavaScript 中调用智能合约](/developers/tutorials/calling-a-smart-contract-from-javascript/) _使用 DAI 代币,从而借助 JavaScript 调用合约函数。_
-- [使用 Web3 和 Alchemy 发送交易](/developers/tutorials/sending-transactions-using-web3-and-alchemy/) _– 从后端发送交易分步指南。_
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/apis/json-rpc/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/apis/json-rpc/index.md"
deleted file mode 100644
index f3e86b50f63..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/apis/json-rpc/index.md"
+++ /dev/null
@@ -1,1771 +0,0 @@
----
-title: JSON-RPC 应用程序接口
-description: 面向以太坊客户端的无状态、轻量级远程过程调用 (RPC) 协议。
-lang: zh
----
-
-为了让软件应用程序与以太坊区块链交互(通过读取区块链数据或向网络发送交易),它必须连接到以太坊节点。
-
-为此,每种[以太坊客户端](/developers/docs/nodes-and-clients/#execution-clients)均实现了 [JSON-RPC 规范](https://github.com/ethereum/execution-apis),因而应用程序可以依赖一组统一的方法,而与具体节点或客户端实现无关。
-
-[JSON-RPC](https://www.jsonrpc.org/specification) 是一种无状态的、轻量级远程过程调用 (RPC) 协议。 它定义了一些数据结构及其处理规则。 它与传输无关,因为这些概念可以在同一进程,通过接口、超文本传输协议或许多不同的消息传递环境中使用。 它使用 JSON (RFC 4627) 作为数据格式。
-
-## 客户端实现 {#client-implementations}
-
-每个客户端在执行 JSON-RPC 规范时可以使用不同的编程语言。 更多与特定编程语言相关的详细信息,请查阅[客户端文档](/developers/docs/nodes-and-clients/#execution-clients)。 我们建议查看每个客户端文档以获取最新的应用程序接口支持信息。
-
-## 便利性库 {#convenience-libraries}
-
-虽然你可以选择通过 JSON 应用程序接口直接与以太坊客户端交互,但是对于去中心化应用程序开发者来说,常常有更容易的选项。 许多 [JavaScript](/developers/docs/apis/javascript/#available-libraries) 和[后端应用程序接口](/developers/docs/apis/backend/#available-libraries)库已经存在,可以在 JSON-RPC 应用程序接口之上提供封装。 通过这些库,开发者可以用他们选择的语言写下直观的一行函数来初始化(后端的)JSON RPC 请求并用于与以太坊进行交互。
-
-## 共识客户端应用程序接口 {#consensus-clients}
-
-本页主要处理以太坊执行客户端使用的 JSON-RPC 应用程序接口。 但是,共识客户端也有一个远程过程调用应用程序接口,允许用户直接从节点查询有关节点的信息、请求信标区块、信标状态和其他与共识相关的信息。 此应用程序接口记录在[信标应用程序接口网页](https://ethereum.github.io/beacon-APIs/#/)上。
-
-内部应用程序接口还用于节点内的客户端间通信——也就是说,它使共识客户端和执行客户端能够交换数据。 这种内部应用程序接口称为“引擎应用程序接口”,其规范见 [GitHub](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md)。
-
-## 执行客户端规范 {#spec}
-
-[阅读 GitHub 上完整的 JSON-RPC 应用程序接口规范](https://github.com/ethereum/execution-apis)。 该应用程序接口在[执行执行应用程序接口网页](https://ethereum.github.io/execution-apis/api-documentation/)上有文档,还包含一个可试验所有可用方法的检查器。
-
-## 约定 {#conventions}
-
-### 十六进制值编码 {#hex-encoding}
-
-两种关键数据类型通过 JSON 传递:未格式化的字节数组和数量。 两者都使用十六进制编码传递,但对格式化有不同的要求。
-
-#### 数量 {#quantities-encoding}
-
-当对数量(整数、编号)进行编码时:编码为十六进制(以“0x”为前缀),最紧凑的表示方法(例外:0 应表示为“0x0”)。
-
-以下是一些示例:
-
-- 0x41(十进制中是 65)
-- 0x400(十进制中是 1024)
-- 错误:0x(后面至少有一位,0 是“0x0”)
-- 错误:0x0400(不允许有前导零)
-- 错误:ff(必须有前缀 0x)
-
-### 无格式数据 {#unformatted-data-encoding}
-
-当对无格式数据(字节数组、帐户地址、哈希、字节码数组)进行编码时:编码为十六进制,以“0x”为前缀,每字节两个十六进制数字。
-
-以下是一些示例:
-
-- 0x41(大小为 1,“A”)
-- 0x004200(大小为 3,“0B0”)
-- 0x(大小为 0,“”)
-- 错误:0xf0f0f(位数必须是偶数)
-- 错误:004200(必须以 0x 为前缀)
-
-### 默认区块参数 {#default-block}
-
-以下方法有额外的默认区块参数:
-
-- [eth_getBalance](#eth_getbalance)
-- [eth_getCode](#eth_getcode)
-- [eth_getTransactionCount](#eth_gettransactioncount)
-- [eth_getStorageAt](#eth_getstorageat)
-- [eth_call](#eth_call)
-
-当发出作用于以太坊状态的请求时,最后一个默认区块参数决定了区块的高度。
-
-默认区块参数可以使用以下选项:
-
-- `HEX String` - 整数区块号
-- `String "earliest"` - 表示最早/创世区块
-- `String "latest"` - 最新提议的区块
-- `String "safe"` - 最新且安全的头部区块
-- `String "finalized"` - 最新的最终确定的区块
-- `String "pending"` - 未决状态/交易
-
-## 示例
-
-在此页面上,我们提供了如何通过命令行工具 [curl](https://curl.se) 使用单个 JSON_RPC 应用程序接口端点的示例。 这些单独的端点示例位于下面的 [Curl 示例](#curl-examples)部分。 在页面下方,我们还提供了一个[端到端示例](#usage-example),用于使用 Geth 节点、JSON_RPC 应用程序接口和 curl 编译和部署智能合约。
-
-## Curl 示例 {#curl-examples}
-
-下面提供了通过向以太坊节点发出 [curl](https://curl.se) 请求来使用 JSON_RPC 应用程序接口的示例。 每个示例都包括对特定端点、其参数、返回类型的描述,以及应该如何使用它的工作示例。
-
-Curl 请求可能会返回与内容类型相关的错误消息。 这是因为 `--data` 选项将内容类型设置为 `application/x-www-form-urlencoded`。 如果你的节点确实抱怨此问题,请通过在调用开始时放置 `-H "Content-Type: application/json"` 来手动设置标头。 这些示例也未包括网址/互联网协议与端口组合,该组合必须是 curl 的最后一个参数(例如 `127.0.0.1:8545`)。 包含这些附加数据的完整 curl 请求采用以下形式:
-
-```shell
-curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' 127.0.0.1:8545
-```
-
-## Gossip、State、History {#gossip-state-history}
-
-少数核心 JSON-RPC 方法需要来自以太坊网络的数据,并且整齐地分为三个主要类别:_Gossip、State 和 History_。 使用这些部分中的链接跳转到每个方法,或使用目录浏览整个方法列表。
-
-### Gossip 方法 {#gossip-methods}
-
-> 这些方法用于跟踪链头。 这就是交易如何在网络中传播、如何找到进入区块的方式,以及客户端如何发现新区块的方式。
-
-- [eth_blockNumber](#eth_blocknumber)
-- [eth_sendRawTransaction](#eth_sendrawtransaction)
-
-### State 方法 {#state_methods}
-
-> 用于报告所有已存储数据的当前状态的方法。 “状态”就像一大块共享内存,包括帐户余额、合约数据和燃料估算。
-
-- [eth_getBalance](#eth_getbalance)
-- [eth_getStorageAt](#eth_getstorageat)
-- [eth_getTransactionCount](#eth_gettransactioncount)
-- [eth_getCode](#eth_getcode)
-- [eth_call](#eth_call)
-- [eth_estimateGas](#eth_estimategas)
-
-### History 方法 {#history_methods}
-
-> 将每个区块的历史记录追溯到创世块。 这就像一个大的仅附加文件,包括所有区块头、区块体、叔块和交易收据
-
-- [eth_getBlockTransactionCountByHash](#eth_getblocktransactioncountbyhash)
-- [eth_getBlockTransactionCountByNumber](#eth_getblocktransactioncountbynumber)
-- [eth_getUncleCountByBlockHash](#eth_getunclecountbyblockhash)
-- [eth_getUncleCountByBlockNumber](#eth_getunclecountbyblocknumber)
-- [eth_getBlockByHash](#eth_getblockbyhash)
-- [eth_getBlockByNumber](#eth_getblockbynumber)
-- [eth_getTransactionByHash](#eth_gettransactionbyhash)
-- [eth_getTransactionByBlockHashAndIndex](#eth_gettransactionbyblockhashandindex)
-- [eth_getTransactionByBlockNumberAndIndex](#eth_gettransactionbyblocknumberandindex)
-- [eth_getTransactionReceipt](#eth_gettransactionreceipt)
-- [eth_getUncleByBlockHashAndIndex](#eth_getunclebyblockhashandindex)
-- [eth_getUncleByBlockNumberAndIndex](#eth_getunclebyblocknumberandindex)
-
-## JSON-RPC 应用程序接口实战
-
-你可以使用[实战工具](https://ethereum-json-rpc.com)来发现与尝试应用程序接口方法。 它还为你展示了各个节点提供商支持哪些方法和网络。
-
-## JSON-RPC 应用程序接口方法 {#json-rpc-methods}
-
-### web3_clientVersion {#web3_clientversion}
-
-返回当前客户端版本。
-
-**参数**
-
-无
-
-**返回值**
-
-`String` - 当前客户端版本
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}'
-// Result
-{
- "id":67,
- "jsonrpc":"2.0",
- "result": "Geth/v1.12.1-stable/linux-amd64/go1.19.1"
-}
-```
-
-### web3_sha3 {#web3_sha3}
-
-返回给定数据的 Keccak-256(_不是_标准化的 SHA3-256)。
-
-**参数**
-
-1. `DATA` - 要转换为 SHA3 哈希的数据
-
-```js
-params: ["0x68656c6c6f20776f726c64"]
-```
-
-**返回值**
-
-`DATA` - 给定字符串的 SHA3 结果。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"web3_sha3","params":["0x68656c6c6f20776f726c64"],"id":64}'
-// Result
-{
- "id":64,
- "jsonrpc": "2.0",
- "result": "0x47173285a8d7341e5e972fc677286384f802f8ef42a5ec5f03bbfa254cb01fad"
-}
-```
-
-### net_version {#net_version}
-
-返回当前网络 id。
-
-**参数**
-
-无
-
-**返回值**
-
-`String` - 当前网络 id。
-
-当前网络 ID 的完整列表可在 [chainlist.org](https://chainlist.org) 获得。 下面是部分常见网络 ID:
-
-- `1`:以太坊主网
-- `5`:Goerli 测试网
-- `11155111`:Sepolia 测试网
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"net_version","params":[],"id":67}'
-// Result
-{
- "id":67,
- "jsonrpc": "2.0",
- "result": "3"
-}
-```
-
-### net_listening {#net_listening}
-
-如果客户端正在主动监听网络连接,则返回 `true`。
-
-**参数**
-
-无
-
-**返回值**
-
-`Boolean` - 监听时为 `true`,否则为 `false`。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"net_listening","params":[],"id":67}'
-// Result
-{
- "id":67,
- "jsonrpc":"2.0",
- "result":true
-}
-```
-
-### net_peerCount {#net_peercount}
-
-返回当前连接到客户端的对等点数。
-
-**参数**
-
-无
-
-**返回值**
-
-`QUANTITY` - 表示已连接的对等点数的整数。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"net_peerCount","params":[],"id":74}'
-// Result
-{
- "id":74,
- "jsonrpc": "2.0",
- "result": "0x2" // 2
-}
-```
-
-### eth_protocolVersion {#eth_protocolversion}
-
-返回当前的以太坊协议版本。 请注意,此方法在 [Geth 中不可用](https://github.com/ethereum/go-ethereum/pull/22064#issuecomment-788682924)。
-
-**参数**
-
-无
-
-**返回值**
-
-`String` - 当前的以太坊协议版本
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_protocolVersion","params":[],"id":67}'
-// Result
-{
- "id":67,
- "jsonrpc": "2.0",
- "result": "54"
-}
-```
-
-### eth_syncing {#eth_syncing}
-
-返回一个对象,其中包含有关同步状态的数据或 `false`。
-
-**参数**
-
-无
-
-**返回值**
-
-准确的返回数据因客户端实现而异。 节点未进行同步时,所有客户端返回 `False`,并且所有客户端返回以下字段。
-
-`Object|Boolean`,具有同步状态数据的对象,或 `FALSE`(不进行同步时):
-
-- `startingBlock`: `QUANTITY` - 导入开始进行的区块(只有当同步进行到其区块头时才会被重置)
-- `currentBlock`: `QUANTITY` - 当前区块,同 eth_blockNumber
-- `highestBlock`: `QUANTITY` - 估计的最高区块
-
-然而,各个客户端还可能提供额外数据。 例如 Geth 返回以下字段:
-
-```json
-{
- "jsonrpc": "2.0",
- "id": 1,
- "result": {
- "currentBlock": "0x3cf522",
- "healedBytecodeBytes": "0x0",
- "healedBytecodes": "0x0",
- "healedTrienodes": "0x0",
- "healingBytecode": "0x0",
- "healingTrienodes": "0x0",
- "highestBlock": "0x3e0e41",
- "startingBlock": "0x3cbed5",
- "syncedAccountBytes": "0x0",
- "syncedAccounts": "0x0",
- "syncedBytecodeBytes": "0x0",
- "syncedBytecodes": "0x0",
- "syncedStorage": "0x0",
- "syncedStorageBytes": "0x0"
- }
-}
-```
-
-然而 Besu 返回:
-
-```json
-{
- "jsonrpc": "2.0",
- "id": 51,
- "result": {
- "startingBlock": "0x0",
- "currentBlock": "0x1518",
- "highestBlock": "0x9567a3",
- "pulledStates": "0x203ca",
- "knownStates": "0x200636"
- }
-}
-```
-
-有关更多详细信息,请参阅特定客户端的文档。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}'
-// Result
-{
- "id":1,
- "jsonrpc": "2.0",
- "result": {
- startingBlock: '0x384',
- currentBlock: '0x386',
- highestBlock: '0x454'
- }
-}
-// Or when not syncing
-{
- "id":1,
- "jsonrpc": "2.0",
- "result": false
-}
-```
-
-### eth_coinbase {#eth_coinbase}
-
-返回客户端的 coinbase 地址。
-
-**参数**
-
-无
-
-**返回值**
-
-`DATA`,20 字节 - 当前的 coinbase 地址。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_coinbase","params":[],"id":64}'
-// Result
-{
- "id":64,
- "jsonrpc": "2.0",
- "result": "0x407d73d8a49eeb85d32cf465507dd71d507100c1"
-}
-```
-
-### eth_chainId {#eth_chainId}
-
-返回链 ID,用于签署受重放攻击保护的交易。
-
-**参数**
-
-无
-
-**返回值**
-
-`chainId`,十六进制字符串值,代表当前链 ID 的整数。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":67}'
-// Result
-{
- "id":67,
- "jsonrpc": "2.0",
- "result": "0x1"
-}
-```
-
-### eth_mining {#eth_mining}
-
-如果客户端正在积极挖掘新区块,则返回 `true`。 此方法只能在工作量证明网络中返回 `true`,并且在[合并](/roadmap/merge/)后可能无法用于某些客户端。
-
-**参数**
-
-无
-
-**返回值**
-
-`Boolean` - 如果客户端正在挖矿,则返回 `true`,否则返回 `false`。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_mining","params":[],"id":71}'
-//
-{
- "id":71,
- "jsonrpc": "2.0",
- "result": true
-}
-```
-
-### eth_hashrate {#eth_hashrate}
-
-返回节点挖矿时使用的每秒哈希数。 此方法只能在工作量证明网络中返回 `true`,并且在[合并](/roadmap/merge/)后可能无法用于某些客户端。
-
-**参数**
-
-无
-
-**返回值**
-
-`QUANTITY` - 每秒哈希数。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_hashrate","params":[],"id":71}'
-// Result
-{
- "id":71,
- "jsonrpc": "2.0",
- "result": "0x38a"
-}
-```
-
-### eth_gasPrice {#eth_gasprice}
-
-返回当前燃料价格的估计值,以 wei 为单位。 例如,Besu 客户端检查最后 100 个区块,并默认返回燃料单价中位数。
-
-**参数**
-
-无
-
-**返回值**
-
-`QUANTITY` - 表示当前燃料价格(以 wei 为单位)的整数。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":73}'
-// Result
-{
- "id":73,
- "jsonrpc": "2.0",
- "result": "0x1dfd14000" // 8049999872 Wei
-}
-```
-
-### eth_accounts {#eth_accounts}
-
-返回客户端拥有的地址列表。
-
-**参数**
-
-无
-
-**返回值**
-
-`Array of DATA`,20 字节 - 客户端拥有的地址。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[],"id":1}'
-// Result
-{
- "id":1,
- "jsonrpc": "2.0",
- "result": ["0x407d73d8a49eeb85d32cf465507dd71d507100c1"]
-}
-```
-
-### eth_blockNumber {#eth_blocknumber}
-
-返回最新区块的编号。
-
-**参数**
-
-无
-
-**返回值**
-
-`QUANTITY` - 表示客户端所在的当前区块编号的整数。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":83}'
-// Result
-{
- "id":83,
- "jsonrpc": "2.0",
- "result": "0x4b7" // 1207
-}
-```
-
-### eth_getBalance {#eth_getbalance}
-
-返回给定地址的帐户余额。
-
-**参数**
-
-1. `DATA`,20 字节 - 需要检查余额的地址。
-2. `QUANTITY|TAG` - 整数区块号,或字符串 `"latest"`、`"earliest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
-
-```js
-params: ["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"]
-```
-
-**返回值**
-
-`QUANTITY` - 表示当前余额的整数(以 wei 为单位)。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"],"id":1}'
-// Result
-{
- "id":1,
- "jsonrpc": "2.0",
- "result": "0x0234c8a3397aab58" // 158972490234375000
-}
-```
-
-### eth_getStorageAt {#eth_getstorageat}
-
-从给定地址的存储位置返回值。
-
-**参数**
-
-1. `DATA`,20 字节 - 存储地址。
-2. `QUANTITY` - 表示存储位置的整数。
-3. `QUANTITY|TAG` - 整数区块号,或字符串 `"latest"`、`"earliest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
-
-**返回值**
-
-`DATA` - 此存储位置处的值。
-
-**示例** 正确位置的计算取决于要检索的存储。 考虑通过地址 `0x391694e7e0b0cce554cb130d723a9d27458f9298` 部署在 `0x295a70b2de5e3953354a6a8344e616ed314d7251` 的以下合约。
-
-```
-contract Storage {
- uint pos0;
- mapping(address => uint) pos1;
- function Storage() {
- pos0 = 1234;
- pos1[msg.sender] = 5678;
- }
-}
-```
-
-检索 pos0 的值比较简单:
-
-```js
-curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x0", "latest"], "id": 1}' localhost:8545
-{"jsonrpc":"2.0","id":1,"result":"0x00000000000000000000000000000000000000000000000000000000000004d2"}
-```
-
-检索映射的元素要难一些。 映射中的元素位置通过以下方式计算:
-
-```js
-keccak(LeftPad32(key, 0), LeftPad32(map position, 0))
-```
-
-这意味着要检索 pos1["0x391694e7e0b0cce554cb130d723a9d27458f9298"] 处的存储,我们需要通过以下方法计算位置:
-
-```js
-keccak(
- decodeHex(
- "000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" +
- "0000000000000000000000000000000000000000000000000000000000000001"
- )
-)
-```
-
-可以使用 Web3 库附带的 geth 控制台进行计算:
-
-```js
-> var key = "000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001"
-undefined
-> web3.sha3(key, {"encoding": "hex"})
-"0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9"
-```
-
-现在获取该存储:
-
-```js
-curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9", "latest"], "id": 1}' localhost:8545
-{"jsonrpc":"2.0","id":1,"result":"0x000000000000000000000000000000000000000000000000000000000000162e"}
-```
-
-### eth_getTransactionCount {#eth_gettransactioncount}
-
-返回从一个地址_发送_的交易数量。
-
-**参数**
-
-1. `DATA`,20 字节 - 地址。
-2. `QUANTITY|TAG` - 整数区块号,或字符串 `"latest"`、`"earliest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
-
-```js
-params: [
- "0x407d73d8a49eeb85d32cf465507dd71d507100c1",
- "latest", // state at the latest block
-]
-```
-
-**返回值**
-
-`QUANTITY` - 表示从该地址发送的交易数量的整数。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionCount","params":["0x407d73d8a49eeb85d32cf465507dd71d507100c1","latest"],"id":1}'
-// Result
-{
- "id":1,
- "jsonrpc": "2.0",
- "result": "0x1" // 1
-}
-```
-
-### eth_getBlockTransactionCountByHash {#eth_getblocktransactioncountbyhash}
-
-返回匹配给定区块哈希的区块中的交易数量。
-
-**参数**
-
-1. `DATA`,32 字节 - 区块的哈希
-
-```js
-params: ["0xd03ededb7415d22ae8bac30f96b2d1de83119632693b963642318d87d1bece5b"]
-```
-
-**返回值**
-
-`QUANTITY` - 表示此区块中的交易数量的整数。
-
-**示例**
-
-```js
-// 请求
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByHash","params":["0xd03ededb7415d22ae8bac30f96b2d1de83119632693b963642318d87d1bece5b"],"id":1}'
-// 结果
-{
- "id":1,
- "jsonrpc": "2.0",
- "result": "0x8b" // 139
-}
-```
-
-### eth_getBlockTransactionCountByNumber {#eth_getblocktransactioncountbynumber}
-
-返回匹配给定区块编号的区块中的交易数量。
-
-**参数**
-
-1. `QUANTITY|TAG` - 整数区块号,或字符串 `"earliest"`、`"latest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
-
-```js
-params: [
- "0x13738ca", // 20396234
-]
-```
-
-**返回值**
-
-`QUANTITY` - 表示此区块中的交易数量的整数。
-
-**示例**
-
-```js
-// 请求
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByNumber","params":["0x13738ca"],"id":1}'
-// 结果
-{
- "id":1,
- "jsonrpc": "2.0",
- "result": "0x8b" // 139
-}
-```
-
-### eth_getUncleCountByBlockHash {#eth_getunclecountbyblockhash}
-
-返回匹配给定区块哈希的区块中的叔块数量。
-
-**参数**
-
-1. `DATA`,32 字节 - 区块的哈希
-
-```js
-params: ["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2"]
-```
-
-**返回值**
-
-`QUANTITY` - 表示此区块中的叔块数量的整数。
-
-**示例**
-
-```js
-// 请求
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockHash","params":["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2"],"id":1}'
-// 结果
-{
- "id":1,
- "jsonrpc": "2.0",
- "result": "0x1" // 1
-}
-```
-
-### eth_getUncleCountByBlockNumber {#eth_getunclecountbyblocknumber}
-
-返回匹配给定区块编号的区块中的叔块数量。
-
-**参数**
-
-1. `QUANTITY|TAG` - 整数区块号,或字符串 `"latest"`、`"earliest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
-
-```js
-params: [
- "0xe8", // 232
-]
-```
-
-**返回值**
-
-`QUANTITY` - 表示此区块中的叔块数量的整数。
-
-**示例**
-
-```js
-// 请求
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockNumber","params":["0xe8"],"id":1}'
-// 结果
-{
- "id":1,
- "jsonrpc": "2.0",
- "result": "0x0" // 0
-}
-```
-
-### eth_getCode {#eth_getcode}
-
-返回位于给定地址的代码。
-
-**参数**
-
-1. `DATA`,20 字节 - 地址
-2. `QUANTITY|TAG` - 整数区块号,或字符串 `"latest"`、`"earliest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
-
-```js
-params: [
- "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
- "0x5daf3b", // 6139707
-]
-```
-
-**返回值**
-
-`DATA` - 给定地址处的代码。
-
-**示例**
-
-```js
-// 请求
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getCode","params":["0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "0x5daf3b"],"id":1}'
-// 结果
-{
- "id":1,
- "jsonrpc": "2.0",
- "result": "0x6060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b9578063095ea7b31461014757806318160ddd146101a157806323b872dd146101ca5780632e1a7d4d14610243578063313ce5671461026657806370a082311461029557806395d89b41146102e2578063a9059cbb14610370578063d0e30db0146103ca578063dd62ed3e146103d4575b6100b7610440565b005b34156100c457600080fd5b6100cc6104dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561010c5780820151818401526020810190506100f1565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610187600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061057b565b604051808215151515815260200191505060405180910390f35b34156101ac57600080fd5b6101b461066d565b6040518082815260200191505060405180910390f35b34156101d557600080fd5b610229600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061068c565b604051808215151515815260200191505060405180910390f35b341561024e57600080fd5b61026460048080359060200190919050506109d9565b005b341561027157600080fd5b610279610b05565b604051808260ff1660ff16815260200191505060405180910390f35b34156102a057600080fd5b6102cc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b18565b6040518082815260200191505060405180910390f35b34156102ed57600080fd5b6102f5610b30565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033557808201518184015260208101905061031a565b50505050905090810190601f1680156103625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037b57600080fd5b6103b0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bce565b604051808215151515815260200191505060405180910390f35b6103d2610440565b005b34156103df57600080fd5b61042a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610be3565b6040518082815260200191505060405180910390f35b34600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a2565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105735780601f1061054857610100808354040283529160200191610573565b820191906000526020600020905b81548152906001019060200180831161055657829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156106dc57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156107b457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156108cf5781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561084457600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a2757600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610ab457600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040518082815260200191505060405180910390a250565b600260009054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bc65780601f10610b9b57610100808354040283529160200191610bc6565b820191906000526020600020905b815481529060010190602001808311610ba957829003601f168201915b505050505081565b6000610bdb33848461068c565b905092915050565b60046020528160005260406000206020528060005260406000206000915091505054815600a165627a7a72305820deb4c2ccab3c2fdca32ab3f46728389c2fe2c165d5fafa07661e4e004f6c344a0029"
-}
-```
-
-### eth_sign {#eth_sign}
-
-Sign 方法如下计算以太坊特定的签名:`sign(keccak256("\x19Ethereum Signed Message:\n" + len(message) + message)))`。
-
-通过在消息中添加前缀,计算出的签名就可以识别为以太坊特定签名。 这可以防止滥用行为,如恶意去中心化应用程序可以签署任意数据(例如交易)并使用签名冒充受害者。
-
-注意:签名时使用的地址必须已解锁。
-
-**参数**
-
-1. `DATA`,20 字节 - 地址
-2. `DATA`,N 字节 - 要签名的消息
-
-**返回值**
-
-`DATA`:签名
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sign","params":["0x9b2055d370f73ec7d8a03e965129118dc8f5bf83", "0xdeadbeaf"],"id":1}'
-// Result
-{
- "id":1,
- "jsonrpc": "2.0",
- "result": "0xa3f20717a250c2b0b729b7e5becbff67fdaef7e0699da4de7ca5895b02a170a12d887fd3b17bfdce3481f10bea41f45ba9f709d39ce8325427b57afcfc994cee1b"
-}
-```
-
-### eth_signTransaction {#eth_signtransaction}
-
-为交易签名,随后可使用 [eth_sendRawTransaction](#eth_sendrawtransaction) 方法将该交易提交到网络。
-
-**参数**
-
-1. `Object` - 交易对象
-
-- `type`:
-- `from`: `DATA`,20 字节 - 发送交易的地址。
-- `to`: `DATA`,20 字节 -(创建新合约时可选)将交易定向到的地址。
-- `gas`: `QUANTITY` -(可选,默认值:90000)表示为交易执行提供的燃料的整数。 它将返回未使用的燃料。
-- `gasPrice`: `QUANTITY` -(可选,默认值:待确定)表示用于每笔已支付燃料的 gasPrice 的整数,以 Wei 为单位。
-- `value`: `QUANTITY` -(可选)表示与此交易一起发送的值的整数,以 Wei 为单位。
-- `data`: `DATA` - 合约的编译代码或调用的方法签名和编码参数的哈希。
-- `nonce`: `QUANTITY` -(可选)表示随机数的整数。 它允许覆盖你自己的使用相同随机数的待处理交易。
-
-**返回值**
-
-`DATA`,由指定帐户签名的 RLP 编码的交易对象。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"id": 1,"jsonrpc": "2.0","method": "eth_signTransaction","params": [{"data":"0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675","from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155","gas": "0x76c0","gasPrice": "0x9184e72a000","to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567","value": "0x9184e72a"}]}'
-// Result
-{
- "id": 1,
- "jsonrpc": "2.0",
- "result": "0xa3f20717a250c2b0b729b7e5becbff67fdaef7e0699da4de7ca5895b02a170a12d887fd3b17bfdce3481f10bea41f45ba9f709d39ce8325427b57afcfc994cee1b"
-}
-```
-
-### eth_sendTransaction {#eth_sendtransaction}
-
-创建新的消息调用交易或创建合约(如果数据字段包含代码),然后使用 `from` 中指定的帐户签名。
-
-**参数**
-
-1. `Object` - 交易对象
-
-- `from`: `DATA`,20 字节 - 发送交易的地址。
-- `to`: `DATA`,20 字节 -(创建新合约时可选)将交易定向到的地址。
-- `gas`: `QUANTITY` -(可选,默认值:90000)表示为交易执行提供的燃料的整数。 它将返回未使用的燃料。
-- `gasPrice`: `QUANTITY` -(可选,默认值:待确定)表示用于每个已支付燃料的 gasPrice 的整数。
-- `value`: `QUANTITY` -(可选)表示与此交易一起发送的值的整数。
-- `input`: `DATA` - 合约的编译代码或调用的方法签名和编码参数的哈希。
-- `nonce`: `QUANTITY` -(可选)表示随机数的整数。 它允许覆盖你自己的使用相同随机数的待处理交易。
-
-```js
-params: [
- {
- from: "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
- to: "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
- gas: "0x76c0", // 30400
- gasPrice: "0x9184e72a000", // 10000000000000
- value: "0x9184e72a", // 2441406250
- input:
- "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675",
- },
-]
-```
-
-**返回值**
-
-`DATA`,32 字节 - 交易哈希,或者如果交易尚不可用,则为零哈希。
-
-创建合约时,在交易被提议到区块后,使用 [eth_getTransactionReceipt](#eth_gettransactionreceipt) 获取合约地址。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sendTransaction","params":[{see above}],"id":1}'
-// Result
-{
- "id":1,
- "jsonrpc": "2.0",
- "result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
-}
-```
-
-### eth_sendRawTransaction {#eth_sendrawtransaction}
-
-为已签名的交易创建新的消息调用交易或创建合约。
-
-**参数**
-
-1. `DATA`,签名的交易数据。
-
-```js
-params: [
- "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675",
-]
-```
-
-**返回值**
-
-`DATA`,32 字节 - 交易哈希,或者如果交易尚不可用,则为零哈希。
-
-创建合约时,在交易被提议到区块后,使用 [eth_getTransactionReceipt](#eth_gettransactionreceipt) 获取合约地址。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params":[{see above}],"id":1}'
-// Result
-{
- "id":1,
- "jsonrpc": "2.0",
- "result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
-}
-```
-
-### eth_call {#eth_call}
-
-立即执行新的消息调用,但不在区块链上创建交易。 通常用来执行只读智能合约的函数,例如 ERC-20 合约的 `balanceOf` 函数。
-
-**参数**
-
-1. `Object` - 交易调用对象
-
-- `from`: `DATA`,20 字节 -(可选)发送交易的地址。
-- `to`: `DATA`,20 字节 - 将交易定向到的地址。
-- `gas`: `QUANTITY` -(可选)表示为交易执行提供的燃料的整数。 eth_call 消耗零燃料,但某些执行可能需要此参数。
-- `gasPrice`: `QUANTITY` -(可选)表示用于每个已支付燃料的 gasPrice 的整数
-- `value`: `QUANTITY` -(可选)表示与此交易一起发送的值的整数
-- `input`: `DATA` -(可选)方法签名和编码参数的哈希。 有关详细信息,参见 [Solidity 文档中的以太坊合约应用程序二进制接口](https://docs.soliditylang.org/en/latest/abi-spec.html)。
-
-2. `QUANTITY|TAG` - 整数区块号,或字符串 `"latest"`、`"earliest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
-
-**返回值**
-
-`DATA` - 已执行合约的返回值。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_call","params":[{see above}],"id":1}'
-// Result
-{
- "id":1,
- "jsonrpc": "2.0",
- "result": "0x"
-}
-```
-
-### eth_estimateGas {#eth_estimategas}
-
-生成并返回允许交易完成所需燃料数量的估算值。 交易不会添加到区块链中。 请注意,出于各种原因,包括以太坊虚拟机的机制和节点性能,估算值可能远远超过交易实际使用的燃料数量。
-
-**参数**
-
-参见 [eth_call](#eth_call) 的参数,但所有属性都是可选的。 如果没有指定燃料限制,geth 将使用待处理区块的区块燃料限制作为上限。 因此,当所需燃料数量高于待处理区块的燃料限制时,返回的估算值可能不足以执行调用/交易。
-
-**返回值**
-
-`QUANTITY` - 使用的燃料数量。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_estimateGas","params":[{see above}],"id":1}'
-// Result
-{
- "id":1,
- "jsonrpc": "2.0",
- "result": "0x5208" // 21000
-}
-```
-
-### eth_getBlockByHash {#eth_getblockbyhash}
-
-根据哈希返回关于区块的信息。
-
-**参数**
-
-1. `DATA`,32 字节 - 区块的哈希。
-2. `Boolean` - 如果为 `true` 则返回完整的交易对象,如果为 `false` 则仅返回交易的哈希。
-
-```js
-params: [
- "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae",
- false,
-]
-```
-
-**返回值**
-
-`Object` - 区块对象,或 `null`(当没有找到区块时):
-
-- `number`: `QUANTITY` - 区块编号。 如果是待处理区块,则为 `null`。
-- `hash`: `DATA`,32 字节 - 区块的哈希。 如果是待处理区块,则为 `null`。
-- `parentHash`: `DATA`,32 字节 - 父块的哈希。
-- `nonce`: `DATA`,8 字节 - 已生成的工作量证明的哈希。 如果是待处理区块,则为 `null`。
-- `sha3Uncles`: `DATA`,32 字节 - 区块中的叔块数据的 SHA3。
-- `logsBloom`: `DATA`,256 字节 - 区块日志的布隆过滤器。 如果是待处理区块,则为 `null`。
-- `transactionsRoot`: `DATA`,32 字节 - 区块交易树的根。
-- `stateRoot`: `DATA`,32 字节 - 区块最终状态树的根。
-- `receiptsRoot`: `DATA`,32 字节 - 区块收据树的根。
-- `miner`: `DATA`,20 字节 - 获得挖矿奖励的受益人的地址。
-- `difficulty`: `QUANTITY` - 表示此区块难度的整数。
-- `totalDifficulty`: `QUANTITY` - 表示到此区块为止链的总难度的整数。
-- `extraData`: `DATA` - 此区块的“额外数据”字段。
-- `size`: `QUANTITY` - 表示此区块大小的整数,以字节为单位。
-- `gasLimit`: `QUANTITY` - 此区块允许的最大燃料数量。
-- `gasUsed`: `QUANTITY` - 此区块中所有交易使用的总燃料数量。
-- `timestamp`: `QUANTITY` - 整理区块时的 unix 时间戳。
-- `transactions`: `Array` - 交易对象数组,或 32 字节交易哈希,取决于最后一个给定的参数。
-- `uncles`: `Array` - 叔块哈希数组。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByHash","params":["0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae", false],"id":1}'
-// Result
-{
-{
-"jsonrpc": "2.0",
-"id": 1,
-"result": {
- "difficulty": "0x4ea3f27bc",
- "extraData": "0x476574682f4c5649562f76312e302e302f6c696e75782f676f312e342e32",
- "gasLimit": "0x1388",
- "gasUsed": "0x0",
- "hash": "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae",
- "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
- "miner": "0xbb7b8287f3f0a933474a79eae42cbca977791171",
- "mixHash": "0x4fffe9ae21f1c9e15207b1f472d5bbdd68c9595d461666602f2be20daf5e7843",
- "nonce": "0x689056015818adbe",
- "number": "0x1b4",
- "parentHash": "0xe99e022112df268087ea7eafaf4790497fd21dbeeb6bd7a1721df161a6657a54",
- "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
- "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
- "size": "0x220",
- "stateRoot": "0xddc8b0234c2e0cad087c8b389aa7ef01f7d79b2570bccb77ce48648aa61c904d",
- "timestamp": "0x55ba467c",
- "totalDifficulty": "0x78ed983323d",
- "transactions": [
- ],
- "transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
- "uncles": [
- ]
-}
-}
-```
-
-### eth_getBlockByNumber {#eth_getblockbynumber}
-
-根据区块编号返回关于区块的信息。
-
-**参数**
-
-1. `QUANTITY|TAG` - 整数区块号,或字符串 `"earliest"`、`"latest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
-2. `Boolean` - 如果为 `true` 则返回完整的交易对象,如果为 `false` 则仅返回交易的哈希。
-
-```js
-params: [
- "0x1b4", // 436
- true,
-]
-```
-
-**返回值** 参见 [eth_getBlockByHash](#eth_getblockbyhash)
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["0x1b4", true],"id":1}'
-```
-
-结果参见 [eth_getBlockByHash](#eth_getblockbyhash)
-
-### eth_getTransactionByHash {#eth_gettransactionbyhash}
-
-根据交易哈希返回关于所请求交易的信息。
-
-**参数**
-
-1. `DATA`,32 字节- 交易的哈希
-
-```js
-params: ["0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b"]
-```
-
-**返回值**
-
-`Object` - 交易对象,或者如果没有找到交易,则为 `null`:
-
-- `blockHash`: `DATA`,32 字节 - 此交易所在区块的哈希。 如果是待处理区块,则为 `null`。
-- `blockNumber`: `QUANTITY` - 此交易所在区块的区块编号。 如果是待处理区块,则为 `null`。
-- `from`: `DATA`,20 字节 - 发送者的地址。
-- `gas`: `QUANTITY` - 发送者提供的燃料。
-- `gasPrice`: `QUANTITY` - 发送者提供的燃料价格,以 Wei 为单位。
-- `hash`: `DATA`,32 字节 - 交易的哈希。
-- `input`: `DATA` - 与交易一起发送的数据。
-- `nonce`: `QUANTITY` - 发送者在此交易之前进行的交易数量。
-- `to`: `DATA`,20 字节 - 接收者的地址。 如果是合约创建交易,则为 `null`。
-- `transactionIndex`: `QUANTITY` - 表示区块中的交易索引位置的整数。 如果是待处理区块,则为 `null`。
-- `value`: `QUANTITY` - 传输的值,以 Wei 为单位。
-- `v`: `QUANTITY` - 椭圆曲线加密法恢复 ID
-- `r`: `QUANTITY` - 椭圆曲线加密法签名 r
-- `s`: `QUANTITY` - 椭圆曲线加密法签名 s
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByHash","params":["0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b"],"id":1}'
-// Result
-{
- "jsonrpc":"2.0",
- "id":1,
- "result":{
- "blockHash":"0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2",
- "blockNumber":"0x5daf3b", // 6139707
- "from":"0xa7d9ddbe1f17865597fbd27ec712455208b6b76d",
- "gas":"0xc350", // 50000
- "gasPrice":"0x4a817c800", // 20000000000
- "hash":"0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b",
- "input":"0x68656c6c6f21",
- "nonce":"0x15", // 21
- "to":"0xf02c1c8e6114b1dbe8937a39260b5b0a374432bb",
- "transactionIndex":"0x41", // 65
- "value":"0xf3dbb76162000", // 4290000000000000
- "v":"0x25", // 37
- "r":"0x1b5e176d927f8e9ab405058b2d2457392da3e20f328b16ddabcebc33eaac5fea",
- "s":"0x4ba69724e8f69de52f0125ad8b3c5c2cef33019bac3249e2c0a2192766d1721c"
- }
-}
-```
-
-### eth_getTransactionByBlockHashAndIndex {#eth_gettransactionbyblockhashandindex}
-
-根据区块哈希和交易索引位置返回关于交易的信息。
-
-**参数**
-
-1. `DATA`,32 字节 - 区块的哈希。
-2. `QUANTITY` - 表示交易索引位置的整数。
-
-```js
-params: [
- "0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2",
- "0x0", // 0
-]
-```
-
-**返回值** 参见 [eth_getTransactionByHash](#eth_gettransactionbyhash)
-
-**示例**
-
-```js
-// 请求
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockHashAndIndex","params":["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2", "0x0"],"id":1}'
-```
-
-结果参见 [eth_getTransactionByHash](#eth_gettransactionbyhash)
-
-### eth_getTransactionByBlockNumberAndIndex {#eth_gettransactionbyblocknumberandindex}
-
-根据区块编号和交易索引位置返回关于交易的信息。
-
-**参数**
-
-1. `QUANTITY|TAG` - 整数区块号,或字符串 `"earliest"`、`"latest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
-2. `QUANTITY` - 交易索引位置。
-
-```js
-params: [
- "0x9c47cf", // 10241999
- "0x24", // 36
-]
-```
-
-**返回值** 参见 [eth_getTransactionByHash](#eth_gettransactionbyhash)
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockNumberAndIndex","params":["0x9c47cf", "0x24"],"id":1}'
-```
-
-结果参见 [eth_getTransactionByHash](#eth_gettransactionbyhash)
-
-### eth_getTransactionReceipt {#eth_gettransactionreceipt}
-
-根据交易哈希返回交易的收据。
-
-**注意**:收据不可用于待处理的交易。
-
-**参数**
-
-1. `DATA`,32 字节- 交易的哈希
-
-```js
-params: ["0x85d995eba9763907fdf35cd2034144dd9d53ce32cbec21349d4b12823c6860c5"]
-```
-
-**返回值** `Object` - 交易收据对象,或者如果没有找到收据,则为 `null`:
-
-- `transactionHash`: `DATA`,32 字节- 交易的哈希。
-- `transactionIndex`: `QUANTITY` - 表示区块中的交易索引位置的整数。
-- `blockHash`: `DATA`,32 字节 - 此交易所在区块的哈希。
-- `blockNumber`: `QUANTITY` - 此交易所在区块的区块编号。
-- `from`: `DATA`,20 字节 - 发送者的地址。
-- `to`: `DATA`,20 字节 - 接收者的地址。 如果是合约创建交易,则为 null。
-- `cumulativeGasUsed` : `QUANTITY` - 当在区块中执行此交易时使用的燃料总量。
-- `effectiveGasPrice` : `QUANTITY` - 为每单位燃料支付的基础费和小费的总和。
-- `gasUsed`: `QUANTITY` - 仅此特定交易使用的燃料数量。
-- `contractAddress`: `DATA`,20 字节 - 如果交易是创建合约的,则为创建的合约地址,否则为 `null`。
-- `logs`: `Array` - 此交易生成的日志对象数组。
-- `logsBloom`: `DATA`,256 字节 - 轻客户端用于快速检索相关日志的布隆过滤器。
-- `type`: `QUANTITY` - 表示交易类型的整数,`0x0` 表示传统交易,`0x1` 表示访问列表类型,`0x2` 表示动态费用。
-
-它还返回_以下两者之一_:
-
-- `root` : `DATA`,32 字节的交易后状态根(拜占庭升级之前)
-- `status`: `QUANTITY`,`1`(成功)或 `0`(失败)
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0x85d995eba9763907fdf35cd2034144dd9d53ce32cbec21349d4b12823c6860c5"],"id":1}'
-// Result
-{
- "jsonrpc": "2.0",
- "id": 1,
- "result": {
- "blockHash":
- "0xa957d47df264a31badc3ae823e10ac1d444b098d9b73d204c40426e57f47e8c3",
- "blockNumber": "0xeff35f",
- "contractAddress": null, // string of the address if it was created
- "cumulativeGasUsed": "0xa12515",
- "effectiveGasPrice": "0x5a9c688d4",
- "from": "0x6221a9c005f6e47eb398fd867784cacfdcfff4e7",
- "gasUsed": "0xb4c8",
- "logs": [{
- // logs as returned by getFilterLogs, etc.
- }],
- "logsBloom": "0x00...0", // 256 byte bloom filter
- "status": "0x1",
- "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
- "transactionHash":
- "0x85d995eba9763907fdf35cd2034144dd9d53ce32cbec21349d4b12823c6860c5",
- "transactionIndex": "0x66",
- "type": "0x2"
- }
-}
-```
-
-### eth_getUncleByBlockHashAndIndex {#eth_getunclebyblockhashandindex}
-
-根据哈希和叔块索引位置返回关于区块的叔块的信息。
-
-**参数**
-
-1. `DATA`,32 字节 - 区块的哈希。
-2. `QUANTITY` - 叔块的索引位置。
-
-```js
-params: [
- "0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2",
- "0x0", // 0
-]
-```
-
-**返回值** 参见 [eth_getBlockByHash](#eth_getblockbyhash)
-
-**示例**
-
-```js
-// 请求
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleByBlockHashAndIndex","params":["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2", "0x0"],"id":1}'
-```
-
-结果参见 [eth_getBlockByHash](#eth_getblockbyhash)
-
-**注意**:叔块不包含个人交易。
-
-### eth_getUncleByBlockNumberAndIndex {#eth_getunclebyblocknumberandindex}
-
-根据编号和叔块索引位置返回关于区块的叔块的信息。
-
-**参数**
-
-1. `QUANTITY|TAG` - 整数区块号,或字符串 `"earliest"`、`"latest"`、`"pending"`、`"safe"` 或 `"finalized"`,参见[默认区块参数](/developers/docs/apis/json-rpc/#default-block)
-2. `QUANTITY` - 叔块的索引位置。
-
-```js
-params: [
- "0x29c", // 668
- "0x0", // 0
-]
-```
-
-**返回值** 参见 [eth_getBlockByHash](#eth_getblockbyhash)
-
-**注意**:叔块不包含个人交易。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleByBlockNumberAndIndex","params":["0x29c", "0x0"],"id":1}'
-```
-
-结果参见 [eth_getBlockByHash](#eth_getblockbyhash)
-
-### eth_newFilter {#eth_newfilter}
-
-基于筛选器选项创建一个筛选器对象,以在状态更改(日志)时发出通知。 要检查状态是否已更改,请调用 [eth_getFilterChanges](#eth_getfilterchanges)。
-
-**关于指定主题筛选器的说明:** 主题是顺序相关的。 以下主题过滤器将匹配日志中包含主题 [A, B] 的交易:
-
-- `[]`“任意值”
-- `[A]`“第一个位置为 A(之后的位置为任意值)”
-- `[null, B]`“第一个位置为任意值,且第二个位置为 B(之后的位置为任意值)”
-- `[A, B]`“第一个位置为 A,且第二个位置为 B(之后的位置为任意值)”
-- `[[A, B], [A, B]]`“第一个位置为(A OR B),且第二个位置为(A OR B)(之后的位置为任意值)”
-- **参数**
-
-1. `Object` - 筛选器选项:
-
-- `fromBlock`: `QUANTITY|TAG` -(可选,默认值:`"latest"`)整型区块编号,或者`"latest"`表示最近提议的区块,`"safe"`表示最新的安全区块,`"finalized"`表示最近最终化的区块,或者`"pending"`、`"earliest"`表示尚未在区块中的交易。
-- `toBlock`: `QUANTITY|TAG` - (可选,默认值:`"latest"`)整型区块编号,或者`"latest"`表示最近提议的区块,`"safe"`表示最新的安全区块,`"finalized"`表示最近最终化的区块,或者`"pending"`、`"earliest"`表示尚未在区块中的交易。
-- `address`: `DATA|Array`,20 字节 -(可选)日志起源的合约地址或地址列表。
-- `topics`: `Array of DATA` -(可选)32 字节 `DATA` 主题数组。 主题是顺序相关的。 每个主题也可以是带有“或”选项的 DATA 数组。
-
-```js
-params: [
- {
- fromBlock: "0x1",
- toBlock: "0x2",
- address: "0x8888f1f195afa192cfee860698584c030f4c9db1",
- topics: [
- "0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- null,
- [
- "0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x0000000000000000000000000aff3454fce5edbc8cca8697c15331677e6ebccc",
- ],
- ],
- },
-]
-```
-
-**返回值** `QUANTITY` - 筛选器 ID。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newFilter","params":[{"topics":["0x12341234"]}],"id":73}'
-// Result
-{
- "id":1,
- "jsonrpc": "2.0",
- "result": "0x1" // 1
-}
-```
-
-### eth_newBlockFilter {#eth_newblockfilter}
-
-在节点中创建一个筛选器,以在新区块到达时发出通知。 要检查状态是否已更改,请调用 [eth_getFilterChanges](#eth_getfilterchanges)。
-
-**参数** 无
-
-**返回值** `QUANTITY` - 筛选器 ID。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newBlockFilter","params":[],"id":73}'
-// Result
-{
- "id":1,
- "jsonrpc": "2.0",
- "result": "0x1" // 1
-}
-```
-
-### eth_newPendingTransactionFilter {#eth_newpendingtransactionfilter}
-
-在节点中创建一个筛选器,以在新的待处理交易到达时发出通知。 要检查状态是否已更改,请调用 [eth_getFilterChanges](#eth_getfilterchanges)。
-
-**参数** 无
-
-**返回值** `QUANTITY` - 筛选器 ID。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newPendingTransactionFilter","params":[],"id":73}'
-// Result
-{
- "id":1,
- "jsonrpc": "2.0",
- "result": "0x1" // 1
-}
-```
-
-### eth_uninstallFilter {#eth_uninstallfilter}
-
-卸载具有给定 ID 的筛选器。 当不再需要监控时应始终调用该方法。 此外,在一段时间内未使用 [eth_getFilterChanges](#eth_getfilterchanges) 请求筛选器时,筛选器便会超时。
-
-**参数**
-
-1. `QUANTITY` - 筛选器 ID。
-
-```js
-params: [
- "0xb", // 11
-]
-```
-
-**返回值** `Boolean` - 如果成功卸载筛选器,则为 `true`,否则为 `false`。
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_uninstallFilter","params":["0xb"],"id":73}'
-// Result
-{
- "id":1,
- "jsonrpc": "2.0",
- "result": true
-}
-```
-
-### eth_getFilterChanges {#eth_getfilterchanges}
-
-筛选器轮询方法,返回自上次轮询以来产生的日志的数组。
-
-**参数**
-
-1. `QUANTITY` - 筛选器 ID。
-
-```js
-params: [
- "0x16", // 22
-]
-```
-
-**返回值** `Array` - 日志对象数组,或者如果自上次轮询以来没有任何更改,则为空数组。
-
-- 对于使用 `eth_newBlockFilter` 创建的过滤器,返回值是区块哈希(`DATA`,32 字节),例如 `["0x3454645634534..."]`。
-- 对于使用 `eth_newPendingTransactionFilter` 创建的筛选器,返回值是交易哈希(`DATA`,32 字节),例如 `["0x6345343454645..."]`。
-- 对于使用 `eth_newFilter` 创建的过滤器,日志是具有以下参数的对象:
- - `removed`: `TAG` - 当日志由于链重组被删除时,为 `true`。 如果是有效日志,则为 `false`。
- - `logIndex`: `QUANTITY` - 表示区块中的日志索引位置的整数。 如果是待处理日志,则为 `null`。
- - `transactionIndex`: `QUANTITY` -表示从中创建日志的交易索引位置的整数。 如果是待处理日志,则为 `null`。
- - `transactionHash`: `DATA`,32 字节 - 从中创建此日志的交易的哈希。 如果是待处理日志,则为 `null`。
- - `blockHash`: `DATA`,32 字节 - 此日志所在区块的哈希。 如果是待处理区块,则为 `null`。 如果是待处理日志,则为 `null`。
- - `blockNumber`: `QUANTITY` - 此日志所在区块的区块编号。 如果是待处理区块,则为 `null`。 如果是待处理日志,则为 `null`。
- - `address`: `DATA`,20 字节 - 此日志的来源地址。
- - `data`: `DATA` - 包含日志的零个或多个 32 字节非索引参数。
- - `topics`: `Array of DATA` - 0 到 4 个 32 字节 `DATA` 类型的索引日志参数的数组。 (在 _Solidity_ 中:第一个主题是事件签名的_哈希_(例如 `Deposit(address,bytes32,uint256)`),除非你使用 `anonymous` 说明符声明了该事件。)
-- **示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getFilterChanges","params":["0x16"],"id":73}'
-// Result
-{
- "id":1,
- "jsonrpc":"2.0",
- "result": [{
- "logIndex": "0x1", // 1
- "blockNumber":"0x1b4", // 436
- "blockHash": "0x8216c5785ac562ff41e2dcfdf5785ac562ff41e2dcfdf829c5a142f1fccd7d",
- "transactionHash": "0xdf829c5a142f1fccd7d8216c5785ac562ff41e2dcfdf5785ac562ff41e2dcf",
- "transactionIndex": "0x0", // 0
- "address": "0x16c5785ac562ff41e2dcfdf829c5a142f1fccd7d",
- "data":"0x0000000000000000000000000000000000000000000000000000000000000000",
- "topics": ["0x59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a5"]
- },{
- ...
- }]
-}
-```
-
-### eth_getFilterLogs {#eth_getfilterlogs}
-
-返回与具有给定 ID 的筛选器匹配的所有日志的数组。
-
-**参数**
-
-1. `QUANTITY` - 筛选器 ID。
-
-```js
-params: [
- "0x16", // 22
-]
-```
-
-**返回值** 参见 [eth_getFilterChanges](#eth_getfilterchanges)
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getFilterLogs","params":["0x16"],"id":74}'
-```
-
-结果参见 [eth_getFilterChanges](#eth_getfilterchanges)
-
-### eth_getLogs {#eth_getlogs}
-
-返回与给定筛选器对象匹配的所有日志的数组。
-
-**参数**
-
-1. `Object` - 筛选器选项:
-
-- `fromBlock`: `QUANTITY|TAG` -(可选,默认值:`"latest"`)整型区块编号,或者`"latest"`表示最近提议的区块,`"safe"`表示最新的安全区块,`"finalized"`表示最近最终化的区块,或者`"pending"`、`"earliest"`表示尚未在区块中的交易。
-- `toBlock`: `QUANTITY|TAG` - (可选,默认值:`"latest"`)整型区块编号,或者`"latest"`表示最近提议的区块,`"safe"`表示最新的安全区块,`"finalized"`表示最近最终化的区块,或者`"pending"`、`"earliest"`表示尚未在区块中的交易。
-- `address`: `DATA|Array`,20 字节 -(可选)日志起源的合约地址或地址列表。
-- `topics`: `Array of DATA` -(可选)32 字节 `DATA` 主题数组。 主题是顺序相关的。 每个主题也可以是带有“或”选项的 DATA 数组。
-- `blockhash`: `DATA`,32 字节 -(可选,**future**),添加 EIP-234 后,`blockHash` 将是一个新的过滤器选项,它会将返回的日志限制为具有 32 字节哈希 `blockHash` 的单一区块。 使用 `blockHash` 相当于 `fromBlock` = `toBlock` = 具有哈希 `blockHash` 的区块编号。 如果 `blockHash` 出现在筛选条件中,则 `fromBlock` 和 `toBlock` 都不允许。
-
-```js
-params: [
- {
- topics: [
- "0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- ],
- },
-]
-```
-
-**返回值** 参见 [eth_getFilterChanges](#eth_getfilterchanges)
-
-**示例**
-
-```js
-// Request
-curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getLogs","params":[{"topics":["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b"]}],"id":74}'
-```
-
-结果参见 [eth_getFilterChanges](#eth_getfilterchanges)
-
-## 使用示例 {#usage-example}
-
-### 使用 JSON_RPC 部署合约 {#deploying-contract}
-
-本节演示如何仅使用远程过程调用接口部署合约。 一些其他部署合约的途径可以消除这种复杂性 — 例如,使用在远程过程调用接口之上构建的库,如 [web3.js](https://web3js.readthedocs.io/) 和 [web3.py](https://github.com/ethereum/web3.py)。 这些简化通常更容易理解且不易出错,但了解幕后发生的操作仍然很有帮助。
-
-以下是一个名为 `Multiply7` 的简单智能合约,将使用 JSON-RPC 接口将其部署到以太坊节点。 本教程假设读者已经在运行 Geth 节点。 [此处](/developers/docs/nodes-and-clients/run-a-node)提供了更多关于节点和客户端的信息。 请参阅单独的[客户端](/developers/docs/nodes-and-clients/)文档,了解如何为非 Geth 客户端启动超文本传输协议 JSON-RPC。 大多数客户端默认在 `localhost:8545` 上提供服务。
-
-```javascript
-contract Multiply7 {
- event Print(uint);
- function multiply(uint input) returns (uint) {
- Print(input * 7);
- return input * 7;
- }
-}
-```
-
-首先确保启用了超文本传输协议远程过程调用接口。 这意味着我们在启动时为 Geth 提供 `--http` 标记。 在此示例中,我们使用私有开发链上的 Geth 节点。 使用这种方法,我们不需要真实网络上的以太币。
-
-```bash
-geth --http --dev console 2>>geth.log
-```
-
-这将在 `http://localhost:8545` 上启动超文本传输协议远程过程调用接口。
-
-我们可以通过使用 [curl](https://curl.se) 检索 Coinbase 地址和余额来验证接口是否正在运行。 请注意,这些示例中的数据在你的本地节点上会有所不同。 如果你想尝试这些命令,请将第二个 curl 请求中的请求参数替换为第一个 curl 请求返回的结果。
-
-```bash
-curl --data '{"jsonrpc":"2.0","method":"eth_coinbase", "id":1}' -H "Content-Type: application/json" localhost:8545
-{"id":1,"jsonrpc":"2.0","result":["0x9b1d35635cc34752ca54713bb99d38614f63c955"]}
-
-curl --data '{"jsonrpc":"2.0","method":"eth_getBalance", "params": ["0x9b1d35635cc34752ca54713bb99d38614f63c955", "latest"], "id":2}' -H "Content-Type: application/json" localhost:8545
-{"id":2,"jsonrpc":"2.0","result":"0x1639e49bba16280000"}
-```
-
-因为数字是十六进制编码的,所以余额以十六进制字符串返回(以 wei 为单位)。 如果我们想要获得数字形式的以太币余额,可以使用 Geth 控制台中的 Web3。
-
-```javascript
-web3.fromWei("0x1639e49bba16280000", "ether")
-// "410"
-```
-
-现在我们的私有开发链上有一些以太币,我们可以部署合约了。 第一步是将 Multiply7 合约编译为可以发送到以太坊虚拟机的字节码。 要安装 Solidity 编译器 solc,请遵循 [Solidity 文档](https://docs.soliditylang.org/en/latest/installing-solidity.html)。 (你可能希望使用较旧的 `solc` 版本来匹配[我们的示例中使用的编译器版本](https://github.com/ethereum/solidity/releases/tag/v0.4.20)。)
-
-下一步是将 Multiply7 合约编译为可以发送到以太坊虚拟机的字节码。
-
-```bash
-echo 'pragma solidity ^0.4.16; contract Multiply7 { event Print(uint); function multiply(uint input) public returns (uint) { Print(input * 7); return input * 7; } }' | solc --bin
-
-======= :Multiply7 =======
-Binary:
-6060604052341561000f57600080fd5b60eb8061001d6000396000f300606060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063c6888fa1146044575b600080fd5b3415604e57600080fd5b606260048080359060200190919050506078565b6040518082815260200191505060405180910390f35b60007f24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da600783026040518082815260200191505060405180910390a16007820290509190505600a165627a7a7230582040383f19d9f65246752244189b02f56e8d0980ed44e7a56c0b200458caad20bb0029
-```
-
-现在我们有了编译后的代码,我们需要确定部署它需要花费多少燃料。 远程过程调用接口有一个 `eth_estimateGas` 方法,可以给我们一个估算值。
-
-```bash
-curl --data '{"jsonrpc":"2.0","method": "eth_estimateGas", "params": [{"from": "0x9b1d35635cc34752ca54713bb99d38614f63c955", "data": "0x6060604052341561000f57600080fd5b60eb8061001d6000396000f300606060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063c6888fa1146044575b600080fd5b3415604e57600080fd5b606260048080359060200190919050506078565b6040518082815260200191505060405180910390f35b60007f24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da600783026040518082815260200191505060405180910390a16007820290509190505600a165627a7a7230582040383f19d9f65246752244189b02f56e8d0980ed44e7a56c0b200458caad20bb0029"}], "id": 5}' -H "Content-Type: application/json" localhost:8545
-{"jsonrpc":"2.0","id":5,"result":"0x1c31e"}
-```
-
-最后,部署合约。
-
-```bash
-curl --data '{"jsonrpc":"2.0","method": "eth_sendTransaction", "params": [{"from": "0x9b1d35635cc34752ca54713bb99d38614f63c955", "gas": "0x1c31e", "data": "0x6060604052341561000f57600080fd5b60eb8061001d6000396000f300606060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063c6888fa1146044575b600080fd5b3415604e57600080fd5b606260048080359060200190919050506078565b6040518082815260200191505060405180910390f35b60007f24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da600783026040518082815260200191505060405180910390a16007820290509190505600a165627a7a7230582040383f19d9f65246752244189b02f56e8d0980ed44e7a56c0b200458caad20bb0029"}], "id": 6}' -H "Content-Type: application/json" localhost:8545
-{"id":6,"jsonrpc":"2.0","result":"0xe1f3095770633ab2b18081658bad475439f6a08c902d0915903bafff06e6febf"}
-```
-
-交易被节点接受并返回交易哈希。 此哈希可用于跟踪交易。 下一步是确定我们的合约部署到的地址。 每个已执行的交易都将创建一个收据。 此收据包含有关交易的各种信息,例如交易包含在哪个区块中以及以太坊虚拟机使用了多少燃料。 如果交易 创建了合约,它还将包含合约地址。 我们可以使用远程过程调用方法 `eth_getTransactionReceipt` 检索收据。
-
-```bash
-curl --data '{"jsonrpc":"2.0","method": "eth_getTransactionReceipt", "params": ["0xe1f3095770633ab2b18081658bad475439f6a08c902d0915903bafff06e6febf"], "id": 7}' -H "Content-Type: application/json" localhost:8545
-{"jsonrpc":"2.0","id":7,"result":{"blockHash":"0x77b1a4f6872b9066312de3744f60020cbd8102af68b1f6512a05b7619d527a4f","blockNumber":"0x1","contractAddress":"0x4d03d617d700cf81935d7f797f4e2ae719648262","cumulativeGasUsed":"0x1c31e","from":"0x9b1d35635cc34752ca54713bb99d38614f63c955","gasUsed":"0x1c31e","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0xe1f3095770633ab2b18081658bad475439f6a08c902d0915903bafff06e6febf","transactionIndex":"0x0"}}
-```
-
-我们的合约是在 `0x4d03d617d700cf81935d7f797f4e2ae719648262` 上创建的。 结果为空而不是收据,意味着该交易尚未添加到区块中。 稍等片刻,检查你的共识客户端是否正在运行,然后重试。
-
-#### 与智能合约交互 {#interacting-with-smart-contract}
-
-在本示例中,我们将使用 `eth_sendTransaction` 将交易发送到合约的 `multiply` 方法。
-
-`eth_sendTransaction` 需要几个参数,具体而言,`from`、`to` 和 `data`。 `From` 是我们帐户的公共地址,`to` 是合约地址。 `data` 参数包含有效载荷,它定义了必须调用哪个方法以及使用哪些参数。 这就是 [ABI(应用程序二进制接口)](https://docs.soliditylang.org/en/latest/abi-spec.html)的用武之地。 应用程序二进制接口是一个 JSON 文件,它定义了如何为以太坊虚拟机定义和编码数据。
-
-有效载荷的字节定义了调用合约中的哪个方法。 这是函数名称及其参数类型的 Keccak 哈希的前 4 个字节(十六进制编码)。 Multiply 函数接受 uint,它是 uint256 的别名。 这为我们提供了:
-
-```javascript
-web3.sha3("multiply(uint256)").substring(0, 10)
-// "0xc6888fa1"
-```
-
-下一步是对参数进行编码。 只有一个 uint256,比如值 6。 应用程序二进制接口有一个部分指定了如何编码 uint256 类型。
-
-`int: enc(X)` 是 X 的大端序二进制补码编码,对于负 X 在高位(左侧)填充 0xff,对于正 X 填充零 > 字节,使得长度为 32 字节的倍数。
-
-此编码为 `0000000000000000000000000000000000000000000000000000000000000006`。
-
-结合函数选择器和编码后的参数,我们的数据将是 `0xc6888fa10000000000000000000000000000000000000000000000000000000000000006`。
-
-现在可以将其发送到节点:
-
-```bash
-curl --data '{"jsonrpc":"2.0","method": "eth_sendTransaction", "params": [{"from": "0xeb85a5557e5bdc18ee1934a89d8bb402398ee26a", "to": "0x6ff93b4b46b41c0c3c9baee01c255d3b4675963d", "data": "0xc6888fa10000000000000000000000000000000000000000000000000000000000000006"}], "id": 8}' -H "Content-Type: application/json" localhost:8545
-{"id":8,"jsonrpc":"2.0","result":"0x759cf065cbc22e9d779748dc53763854e5376eea07409e590c990eafc0869d74"}
-```
-
-由于发送了交易,因此返回了交易哈希。 检索收据将得出:
-
-```javascript
-{
- blockHash: "0xbf0a347307b8c63dd8c1d3d7cbdc0b463e6e7c9bf0a35be40393588242f01d55",
- blockNumber: 268,
- contractAddress: null,
- cumulativeGasUsed: 22631,
- gasUsed: 22631,
- logs: [{
- address: "0x6ff93b4b46b41c0c3c9baee01c255d3b4675963d",
- blockHash: "0xbf0a347307b8c63dd8c1d3d7cbdc0b463e6e7c9bf0a35be40393588242f01d55",
- blockNumber: 268,
- data: "0x000000000000000000000000000000000000000000000000000000000000002a",
- logIndex: 0,
- topics: ["0x24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da"],
- transactionHash: "0x759cf065cbc22e9d779748dc53763854e5376eea07409e590c990eafc0869d74",
- transactionIndex: 0
- }],
- transactionHash: "0x759cf065cbc22e9d779748dc53763854e5376eea07409e590c990eafc0869d74",
- transactionIndex: 0
-}
-```
-
-收据中包含一个日志。 此日志由以太坊虚拟机在交易执行时生成并包含在收据中。 `multiply` 函数显示 `Print` 事件在输入乘以 7 时触发。 由于 `Print` 事件的参数是 uint256,我们可以根据应用程序二进制接口规则对其进行解码,这将为我们提供预期的十进制数 42。 除了数据之外,值得注意的是,主题可用于确定哪个事件创建了日志:
-
-```javascript
-web3.sha3("Print(uint256)")
-// "24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da"
-```
-
-以上只是对一些最常见任务的简要介绍,展示了 JSON-RPC 的直接用法。
-
-## 相关主题 {#related-topics}
-
-- [JSON-RPC 规范](http://www.jsonrpc.org/specification)
-- [节点和客户端](/developers/docs/nodes-and-clients/)
-- [JavaScript API](/developers/docs/apis/javascript/)
-- [后端应用程序接口](/developers/docs/apis/backend/)
-- [执行客户端](/developers/docs/nodes-and-clients/#execution-clients)
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/data-and-analytics/block-explorers/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/data-and-analytics/block-explorers/index.md"
deleted file mode 100644
index 2573bcd3d1e..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/data-and-analytics/block-explorers/index.md"
+++ /dev/null
@@ -1,257 +0,0 @@
----
-title: 区块浏览器
-description: 这是对于区块浏览器的介绍,让你进入区块链数据世界的大门,在这里你可以查询交易、帐户、合约以及更多以太坊区块链相关数据。
-lang: zh
-sidebarDepth: 3
----
-
-区块浏览器是你进入以太坊数据世界的大门。 你可以用它查看区块、交易、验证者、帐户和其他链上活动的实时数据。
-
-## 前提条件 {#prerequisites}
-
-你应该理解以太坊的基本概念,以便你能够理解区块浏览器向你展示的数据。 开始[介绍以太坊](/developers/docs/intro-to-ethereum/)。
-
-## 服务 {#services}
-
-- [Etherscan](https://etherscan.io/) -_ 还支持中文、韩语、俄语和日语_
-- [3xpl](https://3xpl.com/ethereum)
-- [Beaconcha.in](https://beaconcha.in/)
-- [Blockchair](https://blockchair.com/ethereum) -_ 还支持西班牙语、法语、意大利语、荷兰语、葡萄牙语、俄语、中文和波斯语_
-- [Blockscout](https://eth.blockscout.com/)
-- [Chainlens](https://www.chainlens.com/)
-- [DexGuru 区块浏览器](https://ethereum.dex.guru/)
-- [Etherchain](https://www.etherchain.org/)
-- [Ethernow](https://www.ethernow.xyz/)
-- [Ethplorer](https://ethplorer.io/) -_ 还支持中文、西班牙语、法语、土耳其语、俄语、韩语和越南语_
-- [EthVM](https://www.ethvm.com/)
-- [OKLink](https://www.oklink.com/eth)
-- [Rantom](https://rantom.app/)
-
-## 开源工具 {#open-source-tools}
-
-- [Otterscan](https://otterscan.io/)
-- [lazy-etherscan](https://github.com/woxjro/lazy-etherscan)
-
-## 数据 {#data}
-
-以太坊从设计上是透明的,所有信息都可以验证。 区块浏览器为获取这些信息提供了一个界面。 这适用于以太坊的主网络和测试网,如果你需要这些数据的话。 数据被分为执行数据和共识数据。 执行数据指已在一个特定区块内执行的交易。 共识数据指区块本身以及提出它们的验证者们。
-
-以下是你可以从区块浏览器获得的数据类型概要。
-
-### 执行数据 {#execution-data}
-
-每隔 12 秒就会有新的区块被添加到以太坊(除非区块提议者错过了提议机会),因此有几近稳定的数据流被添加到区块浏览器中。 区块里面包含着许多你可能会觉得有用的重要数据:
-
-**标准数据**
-
-- 区块高度 – 区块编号以及创建当前区块时的区块链长度(以区块为单位)
-- 时间戳 - 区块提议的时间
-- 交易 – 区块中包含的交易数量
-- 交易费接收人 - 从交易中获取燃料费小费的地址
-- 区块奖励 - 奖励给提议该区块的验证者的以太币数额
-- 大小 - 区块内的数据大小(以字节为单位)
-- 消耗的燃料 – 区块中的交易消耗的燃料单位总数
-- 燃料限制 – 区块中的交易设置的总燃料限制
-- 燃料基础费 - 要将交易纳入区块所需的最小倍数
-- 燃烧的费用 - 在区块内被燃烧的以太币数量
-- 额外数据 – 任何由构建者加入区块的额外数据
-
-**高级数据**
-
-- 哈希 - 表示区块头的加密哈希(区块的唯一标识符)
-- 父哈希 - 当前区块的前一个区块的哈希
-- 状态根 – 存储整个系统状态的默克尔前缀树的根哈希。
-
-### 燃料 {#gas}
-
-区块浏览器不仅会为你提供有关交易和区块中的燃料使用量的数据,还会为你提供有关网络当前燃料价格的信息。 这将帮助你了解网络使用情况,提交安全的交易和避免燃料超支。 寻找可以帮助你将这些信息获取到你自己的产品界面的应用程序接口。 燃料特定的数据涵盖:
-
-- 安全但缓慢的交易所需的估计燃料单位数(以及估计的价格和持续时间)
-- 一般交易所需的估计燃料单位数(以及估计的价格和持续时间)
-- 快速交易所需的估计燃料单位数(以及估计的价格和持续时间)
-- 基于燃料价格的平均确认时间
-- 正在消耗燃料的合约 – 换句话说,正在网络上大量使用的流行产品
-- 正在消费燃料的帐户 – 换句话说,频繁使用网络的用户
-
-### 交易 {#transactions}
-
-区块浏览器已成为人们跟踪交易进度的常用位置, 这是因为你可以获得的详细程度提供了额外的确定性。 交易数据包含:
-
-**标准数据**
-
-- 交易哈希 – 交易被提交时生成的哈希
-- 状态 – 指示交易是待处理、失败还是成功
-- 区块 – 包含该交易的区块
-- 时间戳 – 交易被包含进验证者提议的区块的时间
-- 发送者 – 提交交易的帐户的地址
-- 接收者 – 与交易交互的接收者或智能合约的地址
-- 转移的代币 – 作为交易的一部分被转移的代币列表
-- 价值 – 被转移的全部以太币价值
-- 交易费用 – 支付给验证者处理交易的金额(计算方法:燃料价格\*使用的燃料)
-
-**高级数据**
-
-- 燃料限制 – 此交易可以消耗的最大燃料单位数
-- 消耗的燃料 – 交易消耗的实际燃料单位数量
-- 燃料价格 – 每燃料单位设定的价格
-- 随机数 – `from` 地址的交易号(请记住,它从 0 开始,所以随机数 ` 100` 实际上是该帐户提交的第 101 个交易
-- 输入数据 – 交易所需的任何额外信息
-
-### 帐户 {#accounts}
-
-你可以访问关于帐户的很多数据。 这就是为什么建议使用多个帐户,这样你的资产和价值传输才不会轻易地被追踪。 还有一些解决方案正在开发之中,以使交易和帐户活动更加隐秘。 以下是帐户的可用数据:
-
-**用户帐户**
-
-- 帐户地址 - 你可以用来向其发送资金的公共地址
-- 以太币余额 - 与该帐户关联的以太币金额
-- 总以太币价值 - 以太币的价值
-- 代币 - 与帐户关联的代币及其价值
-- 交易历史 - 此帐户为发送者或接收者的所有交易的列表
-
-**智能合约**
-
-智能合约帐户拥有用户帐户将拥有的所有数据,但一些区块浏览器甚至还会显示一些代码信息。 示例包括:
-
-- 合约创建者 - 将合约部署到主网的地址
-- 创建交易 - 包括部署到主网的交易
-- 源代码 - 智能合约的 solidity 或 vyper 代码
-- 合约 ABI - 合约的应用程序二进制接口 — 合约发出的调用和接收到的数据
-- 合约创建代码 - 智能合约的编译字节码 — 在你编译使用 Solidity 或 Vyper 等编写的智能合约时创建
-- 合约事件 - 智能合约中调用的方法的历史 — 基本上是一种查看合约如何使用以及使用频率的方法
-
-### 代币 {#tokens}
-
-代币是一种合约,因此它们将具有与智能合约相似的数据。 但是因为它们有价值并且可以交易,所以它们还有其他数据点:
-
-- 类型 - 遵循 ERC-20、ERC-721 还是其他代币标准
-- 价格 - 如果是 ERC-20 代币,则具有当前市场价值
-- 市值 - 如果是 ERC-20,则将有一个市值(根据价格\*总供应量计算)
-- 总供应量 - 流通中的代币数量
-- 持有者 - 持有代币的地址数量
-- 转账 - 代币在帐户之间转移的次数
-- 交易历史 - 包括代币在内的所有交易的历史
-- 合约地址 - 部署到主网的代币的地址
-- 小数 - ERC-20 代币可分割并且有小数位
-
-### 网络 {#network}
-
-一些区块数据更全面地关注以太坊的健康状况。
-
-- 总交易量 - 自以太坊创建以来的交易数量
-- 每秒交易数 - 每秒可处理的交易数
-- 以太币价格 - 1 个以太币的当前市场价
-- 以太币总供应量 - 流通中的以太币数量 — 请记住,新的以太币是随着每个区块的创建而以区块奖励的形式创建的
-- 市值 - 价格\*供应量的计算结果
-
-## 共识层数据 {#consensus-layer-data}
-
-### 时段 {#epoch}
-
-出于安全原因,在每个时段(每 6.4 分钟)结束时都会创建随机化验证者委员会。 时段数据包含:
-
-- 时段编号
-- 最终状态 - 时段是否已经完成(是/否)
-- 时间 - 时段结束的时间
-- 认证 - 时段中的认证数量(针对时隙内区块的投票)
-- 存款 - 时段内包含的以太币存款数量(验证者必须质押以太币才能成为验证者)
-- 罚没 - 对区块提议者或证明者的惩罚数量
-- 投票参与 - 用于证明区块的质押以太币数量
-- 验证者 - 该时段活跃的验证者数量
-- 平均验证者余额 - 活跃验证者的平均余额
-- 时隙 - 时段内包含的时隙数量(时隙包含一个有效区块)
-
-### 时隙 {#slot}
-
-时隙是创建区块的机会,每个时隙的可用数据包括:
-
-- 时段 - 时隙有效的时段
-- 时隙编号
-- 状态 - 时隙的状态(提议/缺失)
-- 时间 - 时隙的时间戳
-- 提议者 - 为该时隙提议区块的验证者
-- 区块根 - 信标区块的哈希树根
-- 父根 - 前一个区块的哈希
-- 状态根 - 信标状态的哈希树根
-- 签名
-- Randao 揭示
-- 涂鸦 - 区块提议者可以在其区块提议中包含 32 个字节长的消息
-- 执行数据
- - 区块哈希
- - 存款计数
- - 存款根
-- 认证 – 该区块在此时隙中的认证数量
-- 存款 - 此时隙内的存款数量
-- 自愿退出 - 此时隙中退出的验证者数量
-- 罚没 - 对区块提议者或证明者的惩罚数量
-- 投票 - 在此时隙中为区块投票的验证者
-
-### 区块 {#blocks-1}
-
-权益证明将时间划分为时隙和时段。 这意味着新的数据!
-
-- 提议者 - 经算法选择提议新区块的验证者。
-- 时段 - 提议区块的时段。
-- 时隙 - 提议区块的时隙。
-- 认证 - 时隙中包含的认证数量 — 认证同投票一样,表明区块已准备号进入信标链
-
-### 验证者 {#validators}
-
-验证者负责提议区块并在时隙中对区块进行证明。
-
-- 验证者编号 - 代表验证者的唯一编号
-- 当前余额 - 验证者包括奖励在内的余额
-- 有效余额 - 验证者用于质押的余额
-- 收入 - 验证者收到的奖励或惩罚
-- 状态 - 验证者当前是否在线和是否活跃
-- 认证有效性 - 将验证者的认证纳入链中的平均时间
-- 激活资格 - 验证者被激活用于验证的日期(和时段)
-- 活跃开始时间 - 验证者激活的日期(和时段)
-- 提议的区块 - 验证者提议的区块
-- 认证 - 验证者提供的认证
-- 存款 - 验证人质押存款的发送者地址、交易哈希、区块号、时间戳、金额和状态
-
-### 认证 {#attestations}
-
-认证就像是投票“同意”将区块加入到链中。 它们的数据与认证记录和做证明的验证者有关。
-
-- 时隙 - 进行认证的时隙
-- 委员会索引 - 给定时隙的委员会索引
-- 聚合位 - 表示认证中所有参与验证者的聚合认证
-- 验证者 - 提供认证的验证者
-- 信标区块根 - 指向验证者正在证明的区块
-- 来源 - 指向最新的合理化时段
-- 目标 - 指向最新的时段边界
-- 签名
-
-### 网络 {#network-1}
-
-共识层最高层数据包括以下内容:
-
-- 当前时段
-- 当前时隙
-- 活跃验证者 - 活跃验证者的数量
-- 待定验证者 - 等待激活的验证者数量
-- 质押的以太币 - 网络中质押的以太币金额
-- 平均余额 - 验证者的平均以太币余额
-
-## 区块浏览器 {#block-explorers}
-
-- [Etherscan](https://etherscan.io/) - 可以用来获取以太坊主网和 Goerli 测试网数据的区块浏览器
-- [3xpl](https://3xpl.com/ethereum) - 一个可以下载数据集的无广告开源以太坊浏览器
-- [Beaconcha.in](https://beaconcha.in/) - 用于以太坊主网和 Goerli 测试网的开源区块浏览器
-- [Blockchair](https://blockchair.com/ethereum) - 最具隐私保护性的以太坊浏览器。 也用于排序和过滤(内存池)数据
-- [Etherchain](https://www.etherchain.org/) - 以太坊主网的区块浏览器
-- [Ethplorer](https://ethplorer.io/) - 专注于以太坊主网和 Kovan 测试网代币的区块浏览器
-- [Rantom](https://rantom.app/) - 是一个好用的开源去中心化金融非同质化代币交易查看器,用于提供详细的交易信息。&
-- [Ethernow](https://www.ethernow.xyz/) - 一个实时交易浏览器,可让您查看以太坊主网预链层
-
-## 延伸阅读 {#further-reading}
-
-_还有哪些社区资源对你有所帮助? 编辑本页面以添加!_
-
-## 相关主题 {#related-topics}
-
-- [交易](/developers/docs/transactions/)
-- [帐户](/developers/docs/accounts/)
-- [网络](/developers/docs/networks/)
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/data-and-analytics/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/data-and-analytics/index.md"
deleted file mode 100644
index bb20600b35d..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/data-and-analytics/index.md"
+++ /dev/null
@@ -1,55 +0,0 @@
----
-title: 数据和分析学
-description: 如何获取在链分析和数据以用于你的去中心化应用程序。
-lang: zh
----
-
-## 介绍 {#Introduction}
-
-随着网络利用率不断提高,链上数据中将有越来越多的宝贵信息。 随着数据量的迅速增加,计算和汇总此信息以报告或驱动一个去中心化应用程序可能变成很费时间和体力的过程。
-
-利用现有数据提供商可以加快发展,产生更准确的结果,并减少正在进行的维护工作。 这将使一个团队能够集中精力处理试图在项目中提供的核心功能。
-
-## 前提条件 {#prerequisites}
-
-你应该理解[区块浏览器](/developers/docs/data-and-analytics/block-explorers/) 的基本概念,以便更好地理解在数据分析环境中使用它们。 此外,熟悉[索引](/glossary/#index)概念,以了解它们给系统设计带来的好处。
-
-就架构基础而言,也要从理论上了解[应用程序接口](https://www.wikipedia.org/wiki/API)和 [REST](https://www.wikipedia.org/wiki/Representational_state_transfer) 是什么。
-
-## 区块浏览器 {#block-explorers}
-
-许多[区块浏览器](/developers/docs/data-and-analytics/block-explorers/)提供 [RESTful](https://www.wikipedia.org/wiki/Representational_state_transfer) [应用程序接口](https://www.wikipedia.org/wiki/API)网关,它将使开发者可以看见关于区块、交易、验证者、帐户和其他链上活动的实时数据。
-
-然后开发者可以处理和转换此数据,让他们的用户有独特的洞察力并与[区块链](/glossary/#blockchain)交互。 例如,[Etherscan](https://etherscan.io) 在每个 12 秒时隙都提供执行和共识数据。
-
-## Graph {#the-graph}
-
-[Graph 网络](https://thegraph.com/)是用于组织区块链数据的去中心化索引协议。 通过 Graph 网络,开发者可以建立完全在公共基础设施上运行的无服务器应用程序,而不是建立和管理链外和集中的数据存储来聚合链上数据。
-
-使用 [GraphQL](https://graphql.org/),开发人员可以查询任何管理的开放应用程序接口(称为子图),以获取驱动去中心化应用程序所需的信息。 通过查询这些索引子图,报告和去中心化应用程序不仅可以获得性能和可扩展性优势,还可以获得网络共识提供的内置准确性。 当网络中新增改进和/或子图表时,你的项目可以快速迭代,以利用这些增强功能。
-
-## 客户端多样性
-
-[客户端多样性](/developers/docs/nodes-and-clients/client-diversity/)对于以太坊网络的整体健康很重要,因为它提供了对错误和漏洞利用的弹性。 目前,出现了一些客户端多样性仪表板,包括 [clientdiversity.org](https://clientdiversity.org/)、[rated.network](https://www.rated.network)、[supermajority.info](https://supermajority.info//) 和 [Ethernodes](https://ethernodes.org/)。
-
-## Dune Analytics {#dune-analytics}
-
-[Dune Analytics](https://dune.com/) 对区块链数据进行预处理,并存入关系型数据库(PostgreSQL 和 DatabricksSQL)表中,以便用户可以使用结构化查询语言 (SQL) 查询区块链数据并基于查询结果构建仪表板。 链上数据被组织为 4 个原始表:`blocks`、`transactions`、(事件)`logs` 和(调用)`traces`。 常见的合约和协议都已解码,并且每个都有自己的事件集和调用表。 这些事件和调用表被进一步处理并按协议类型组织成抽象表,例如去中心化交易所、借贷、稳定币等。
-
-## SubQuery 网络 {#subquery-network}
-
-[SubQuery](https://subquery.network/) 是一个领先的数据索引器,为开发者的 Web3 项目提供快速、可靠、去中心化和定制的应用程序接口。 SubQuery 为超过 165 个生态系统(包括以太坊)的开发者赋能,利用丰富的索引数据,为他们的用户构建直观的、沉浸式体验。 SubQuery 网络通过其富有韧性且去中心化的网络基础设施,为你势不可挡的应用程序提供支持。 使用 SubQuery 的区块链开发者工具包来构建未来的 Web3 应用程序,无需花费时间为数据处理活动搭建定制的后端。
-
-在使用[ SubQuery 托管服务](https://managedservice.subquery.network/)或[ SubQuery 去中心化网络](https://app.subquery.network/dashboard)之前,请先访问[以太坊快速入门指南](https://academy.subquery.network/quickstart/quickstart_chains/ethereum-gravatar.html),在本地 Docker 环境中花几分钟索引以太坊区块链数据作为测试。
-
-## Ethernow - 内存池数据程序 {#ethernow}
-[Blocknative](https://www.blocknative.com/) 提供对其以太坊历史[内存池数据归档](https://www.ethernow.xyz/mempool-data-archive)的开放访问。 这使得研究者和社区优秀项目能够探索以太坊主网的链前层。 该数据集得到积极维护,代表了以太坊生态系统中最全面的内存池交易事件历史记录。 在 [Ethernow](https://www.ethernow.xyz/) 了解更多信息。
-
-## 延伸阅读 {#further-reading}
-
-- [Graph 网络概览](https://thegraph.com/docs/en/about/network/)
-- [Graph 查询实战](https://thegraph.com/explorer/subgraph/graphprotocol/graph-network-mainnet?version=current)
-- [EtherScan 上的应用程序接口代码示例](https://etherscan.io/apis#contracts)
-- [Beaconcha.in 信标链浏览器](https://beaconcha.in)
-- [Dune 基础知识](https://docs.dune.com/#dune-basics)
-- [SubQuery 以太坊快速入门指南](https://academy.subquery.network/indexer/quickstart/quickstart_chains/ethereum-gravatar.html)
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/development-networks/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/development-networks/index.md"
deleted file mode 100644
index a4cb2557fd4..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/development-networks/index.md"
+++ /dev/null
@@ -1,83 +0,0 @@
----
-title: 开发网络
-description: 对以太坊应用的开发网络环境与开发工具的概览。
-lang: zh
----
-
-当使用智能合约来开发一个以太坊应用时,你可能想要在部署之前在本地查看它是如何工作的。
-
-这和在本地运行一个本地网页服务器相似。为了测试你的去中心化应用程序,你可以使用开发网络创建一个本地的区块链。 这些以太坊开发网络提供了能够比公共测试网更快的迭代功能(例如你不需要从测试网获取以太币)。
-
-## 前置要求 {#prerequisites}
-
-你应该先理解[以太坊堆栈](/developers/docs/ethereum-stack/)和[以太坊网络](/developers/docs/networks/)基础知识才能进入开发网络。
-
-## 什么是开发网络? {#what-is-a-development-network}
-
-实质上开发网络是指哪些对本地开发特殊设计的以太坊客户端(会对以太坊进行部署应用)。
-
-**为什么不在本地运行一个标准的以太坊节点?**
-
-你_可以_[运行节点](/developers/docs/nodes-and-clients/#running-your-own-node),但由于开发网络是以开发为目的而建立的,它们往往会打包一些快捷方便的功能,例如:
-
-- 为本地区块链提供数据,这个功能很重要(例如使用以太币余额的帐户)
-- 用接收的每笔交易,按照顺序即时产生区块,毫不延迟。
-- 增强调试和日志功能
-
-## 可用工具 {#available-projects}
-
-**注意**:大多数[开发框架](/developers/docs/frameworks/)包含一个内置的开发网络。 我们建议从一个框架开始[设置你的本地开发环境](/developers/local-environment/)。
-
-### Ganache {#ganache}
-
-快速构建一个个人的以太坊区块链,你可以用它来运行测试,执行命令,并在控制链的运行方式时检查状态。
-
-Ganache提供了一个桌面应用程序 (Ganache UI) 以及一个命令行工具 (`ganache-cli`)。 它是 Truffle 工具套装的一部分。
-
-- [网站](https://www.trufflesuite.com/ganache)
-- [GitHub](https://github.com/trufflesuite/ganache)
-- [相关文档](https://www.trufflesuite.com/docs/ganache/overview)
-
-### 安全帽网络 {#hardhat-network}
-
-一个专门用于开发的本地以太坊网络。 该网络允许你部署合约,运行测试并调试代码。
-
-安全帽网络内置了安全帽,安全帽是专业人员的以太坊开发环境。
-
-- [网站](https://hardhat.org/)
-- [GitHub](https://github.com/nomiclabs/hardhat)
-
-### 本地信标链 {#local-beacon-chains}
-
-一些共识客户端具有内置工具,用于启动本地信标链以进行测试。 提供了 Lighthouse、Nimbus 和 Lodestar 的说明:
-
-- [使用 Lodestar 的本地测试网](https://chainsafe.github.io/lodestar/usage/local/)
-- [使用 Lightthouse 的本地测试网](https://lighthouse-book.sigmaprime.io/setup.html#local-testnets)
-- [使用 Nimbus 的本地测试网](https://github.com/status-im/nimbus-eth1/blob/master/fluffy/docs/local_testnet.md)
-
-### 公共以太坊测试链 {#public-beacon-testchains}
-
-以太坊还有两个维护中的公共测试网实现:Goerli 和 Sepolia。 推荐使用获得长期支持的测试网 Goerli,任何人都可以自由地在其上验证。 Sepolia 是一个较新、较小的测试链,预计在可预见的未来也会得到维护。Sepolia 上有具有权限的验证者集,这意味着不可以对此测试网上的新验证者进行常规访问。 Ropsten 链预计在 2022 第四季度弃用,Rinkeby 链预计将在 2023 第二/第三季度弃用。
-
-- [Goerli 质押启动板](https://goerli.launchpad.ethereum.org/)
-- [Ropsten、Rinkeby 和 Kiln 弃用公告](https://blog.ethereum.org/2022/06/21/testnet-deprecation)
-
-### Kurtosis 以太坊包 {#kurtosis}
-
-Kurtosis 是一个用于多容器测试环境的构建系统,让开发者能够在本地构建区块链网络的可复现实例。
-
-以太坊 Kurtosis 包可用于通过 Docker 或 Kubernetes 快速实例化一个可参数化和高度可扩展的私有以太坊测试网。 该包支持所有主要的执行层 (EL) 和共识层 (CL) 客户端。 Kurtosis 可从容处理代表性网络的所有本地端口映射和服务连接,以用于与以太坊核心基础设施相关的验证和测试工作流程。
-
-- [以太坊网络包](https://github.com/kurtosis-tech/ethereum-package)
-- [网站](https://www.kurtosis.com/)
-- [GitHub](https://github.com/kurtosis-tech/kurtosis)
-- [相关文档](https://docs.kurtosis.com/)
-
-## 延伸阅读 {#further-reading}
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
-
-## 相关主题 {#related-topics}
-
-- [开发框架](/developers/docs/frameworks/)
-- [设置本地开发环境](/developers/local-environment/)
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/ethereum-stack/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/ethereum-stack/index.md"
deleted file mode 100644
index d58c9f614aa..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/ethereum-stack/index.md"
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title: 以太坊堆栈简介
-description: 一次从不同层面对以太坊堆栈原理的浏览,并且了解如何让不同的以太坊堆栈融为一体。
-lang: zh
----
-
-就像其他任何一种堆栈结构,完整的“以太栈”会基于不同的目的在不同的项目之间变换。
-
-然而,以太坊的核心技术是提供一种心智模型,这种模型帮助解决了以太坊区块如何在不同的应用之间的交互的问题。 理解堆栈的层级将有助于你理解可以将以太坊融入软件项目的不同方法。
-
-## 级别 1:以太坊虚拟机 {#ethereum-virtual-machine}
-
-[以太坊虚拟机 (EVM)](/developers/docs/evm/) 是智能合约在以太坊上的运行环境。 以太坊区块链上的所有智能合约和状态更改都由[交易](/developers/docs/transactions/)执行。 以太坊虚拟机处理以在太坊网络上执行的所有交易。
-
-与任何虚拟机一样,以太坊虚拟机在执行代码和执行机器(以太坊节点)之间创建一个抽象级别。 目前,在世界各地散布着成千上万的正在执行的以太坊虚拟机节点。
-
-在后台,那些以太坊虚拟机会使用操作码执行一些特殊的任务。 这些(140 个惟一的)操作码使以太坊虚拟机具有 [图灵完备](https://en.wikipedia.org/wiki/Turing_completeness),这意味着只要提供足够的资源,以太坊虚拟机几乎可以计算任何东西。
-
-作为去中心化应用程序的开发者,除了了解以太坊虚拟机的存在之外,你不需要了解更多关于以太坊虚拟机的信息,并且可以在以太坊上畅通无阻地授权所有应用程序。
-
-## 级别 2:智能合约 {#smart-contracts}
-
-[智能合约](/developers/docs/smart-contracts/)是在以太坊区块链上运行的可执行程序。
-
-智能合约使用了特定的[编程语言](/developers/docs/smart-contracts/languages/)来编译到以太坊虚拟机字节码(调用操作码的低级机器说明)。
-
-智能合约不仅是开放源码库,而且它们基本上是运行 24/7 的开放应用程序接口服务,不能被取消。 智能合约提供了为用户和应用程序([去中心化应用程序](/developers/docs/dapps/))之间交互的公开方法,无需许可。 任何应用程序都可能会与已部署的智能合约集成组成功能,如添加[数据源](/developers/docs/oracles/)或支持代币交换。 任何人都可以在以太坊上部署智能合约,以便添加自定义功能来满足其应用程序的需要。
-
-作为一个去中心化应用程序开发者,如果你需要在以太坊区块链上添加自定义功能,需要通过写智能合约来实现。 你可能会发现你可以仅仅通过与现有智能合约进行整合来满足你项目的大部分或全部的需要。例如,如果你想要支持支付稳定币或启用分散交换代币。
-
-## 级别 3:以太坊节点 {#ethereum-nodes}
-
-为了让应用程序与以太坊区块链交互,它必须连接到 [以太坊节点](/developers/docs/nodes-and-clients/)。 正在连接到一个节点,你可以读取区块链数据和/或将交易发送到网络。
-
-以太坊节点是运行着软件的电脑,这些软件也就是一个以太坊客户端。 客户端是一种以太坊的实现,它可以验证每个区块中的所有交易,从而确保网络安全和数据准确。 **以太坊节点是以太坊区块链**。 他们集体存储以太坊区块链的状态,并根据改变区块链状态的交易达成共识。
-
-通过将应用程序连接到以太坊节点(通过 [JSON RPC 应用程序接口](/developers/docs/apis/json-rpc/)),应用程序可以从区块链(例如用户帐户余额)读取数据,并向网络广播新交易(例如在用户帐户之间传输以太币或执行智能合约的功能)。
-
-## 级别 4:以太坊客户端应用程序接口 {#ethereum-client-apis}
-
-许多方便的库(由以太坊开源社区建立和维护)允许你的终端用户应用程序连接到以太坊区块链并进行通信。
-
-如果你的面向用户应用程序是一个 web 应用程序,你可以直接选择在你的前端使用 `npm 安装`一个 [JavaScript 应用程序接口](/developers/docs/apis/javascript/)。 或许你会选择使用 [Python](/developers/docs/programming-languages/python/) 或 [Java](/developers/docs/programming-languages/java/) 的应用程序接口在后端实现此功能。
-
-虽然这些应用程序接口不是栈必须的一部分,但它们抽象并消减了与以太坊节点直接互动的大部分复杂性。 它们还提供好用的函数(例如:将 ETH 转化为 Gwei),而作为开发者,你可以花费更少的时间处理以太坊客户端的复杂问题,从而将更多的时间集中于处理你的应用程序的独特功能。
-
-## 级别 5:终端用户应用程序 {#end-user-applications}
-
-在栈的顶层是面向用户的应用程序。 这些是你今天经常用和构建的标准应用程序:主要是网络程序和移动应用程序。
-
-开发这些用户界面的方式基本上保持不变。 用户常常不需要知道他们所使用的应用程序是使用区块链构建的。
-
-## 准备好选择技术栈了吗? {#ready-to-choose-your-stack}
-
-查看我们的指南为你的以太坊应用程序 [设置本地开发环境](/developers/local-environment/)。
-
-## 延伸阅读 {#further-reading}
-
-- [一个 Web 3.0 应用的架构](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application) - _Preethi Kasireddy_
-
-_还有哪些社区资源对你有所帮助? 编辑并添加本页面!_
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/frameworks/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/frameworks/index.md"
deleted file mode 100644
index 1546fb93b74..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/frameworks/index.md"
+++ /dev/null
@@ -1,147 +0,0 @@
----
-title: 去中心化应用程序开发框架
-description: 探索框架的优势并比较现有的选项。
-lang: zh
----
-
-## 框架介绍 {#introduction-to-frameworks}
-
-构建一个完整的去中心化应用程序需要不同的技术。 软件框架包括许多需要的功能,或提供简单的插件系统来选择你需要的工具。
-
-这些框架带有很多非常规的功能,比如:
-
-- 编一个本地区块链的程序功能。
-- 编辑和测试你智能合约的实用工具。
-- 客户端开发附加组件,以在同一项目/仓库中构建你的面向用户的应用。
-- 无论是在本地运行的实例,还是在以太坊的公共网络之一,可以连接到以太网并且部署合约的配置。
-- 去中心化的应用分发 - 与诸如 IPFS 之类的存储选项集成。
-
-## 前置要求 {#prerequisites}
-
-在更深入介绍这个框架之前,我们推荐你先阅读下面对于[去中心化应用程序](/developers/docs/dapps/)的简介以及[以太坊堆栈](/developers/docs/ethereum-stack/)。
-
-## 可用的框架 {#available-frameworks}
-
-**Foundry** - **_Foundry 是一款快速、便携、模块化的以太坊应用程序开发工具包_**
-
-- [安装 Foundry](https://book.getfoundry.sh/)
-- [Foundry 手册](https://book.getfoundry.sh/)
-- [Telegram 上的 Foundry 社区聊天](https://t.me/foundry_support)
-- [强大的 Foundry](https://github.com/crisgarner/awesome-foundry)
-
-**安全帽 -** **_ 面向专业人员的以太坊开发环境。_**
-
-- [hardhat.org](https://hardhat.org)
-- [GitHub](https://github.com/nomiclabs/hardhat)
-
-**Ape -** **_ 面向 Pythonista、数据科学家和安全专业人员的智能合约开发工具。_**
-
-- [相关文档](https://docs.apeworx.io/ape/stable/)
-- [GitHub](https://github.com/ApeWorX/ape)
-
-**Web3j -** **_ Java 虚拟机上的区块链应用程序开发平台。_ **
-
-- [主页](https://www.web3labs.com/web3j-sdk)
-- [相关文档](https://docs.web3j.io)
-- [GitHub](https://github.com/web3j/web3j)
-
-**Ethers-kt - ****_ 面向基于以太坊虚拟机区块链的高性能异步 Kotlin/Java/Android 库。_**
-
-- [GitHub](https://github.com/Kr1ptal/ethers-kt)
-- [示例](https://github.com/Kr1ptal/ethers-kt/tree/master/examples)
-- [Discord](https://discord.gg/rx35NzQGSb)
-
-**Create Eth App -** **_ 使用一个命令创建以太坊支持的应用程序。 提供众多 UI 框架和去中心化金融模板供选择。_**
-
-- [GitHub](https://github.com/paulrberg/create-eth-app)
-- [模板](https://github.com/PaulRBerg/create-eth-app/tree/develop/templates)
-
-**Scaffold-Eth -** **_Ethers.js + 安全帽 + React 组件和 web3 钩子函数:构建智能合约支持的去中心化应用程序所需的一切资源,这里都有。_**
-
-- [GitHub](https://github.com/scaffold-eth/scaffold-eth-2)
-
-**Tenderly -** **_Web3 开发平台,可帮助区块链开发者构建、测试、调试、监测和操作智能合约并改善去中心化应用程序的用户体验。_**
-
-- [网站](https://tenderly.co/)
-- [相关文档](https://docs.tenderly.co/ethereum-development-practices)
-
-**The Graph -** **_ 用于高效查询区块链数据的图表。_**
-
-- [网站](https://thegraph.com/)
-- [教程](/developers/tutorials/the-graph-fixing-web3-data-querying/)
-
-**Alchemy -** **_以太坊开发平台_**
-
-- [alchemy.com](https://www.alchemy.com/)
-- [GitHub](https://github.com/alchemyplatform)
-- [Discord](https://discord.com/invite/alchemyplatform)
-
-**NodeReal -** **_以太坊开发平台。_**
-
-- [Nodereal.io](https://nodereal.io/)
-- [GitHub](https://github.com/node-real)
-- [Discord](https://discord.gg/V5k5gsuE)
-
-**thirdweb SDK -** **_使用我们强大的软件开发工具包和命令行接口,构建能够与你的智能合约交互的 web3 应用程序。_**
-
-- [相关文档](https://portal.thirdweb.com/sdk/)
-- [GitHub](https://github.com/thirdweb-dev/)
-
-**Chainstack -** **_Web3(以太坊和其他区块链)开发平台。_**
-
-- [chainstack.com](https://www.chainstack.com/)
-- [GitHub](https://github.com/chainstack)
-- [Discord](https://discord.gg/BSb5zfp9AT)
-
-**Crossmint -** **_企业级 Web3 开发平台,允许你在各大链以太坊虚拟机链(及其他链)上构建非同质化代币应用程序。_**
-
-- [网站](https://www.crossmint.com)
-- [相关文档](https://docs.crossmint.com)
-- [Discord](https://discord.com/invite/crossmint)
-
-**Brownie -** **_ 基于 Python 的开发环境和测试框架。_**
-
-- [相关文档](https://eth-brownie.readthedocs.io/en/latest/)
-- [GitHub](https://github.com/eth-brownie/brownie)
-- **Brownie 当前未维护**
-
-**Truffle -** **_开发环境、测试框架、构建管道及其他工具。_**
-
-- [trufflesuite.com](https://www.trufflesuite.com/)
-- [GitHub](https://github.com/trufflesuite/truffle)
-- **Truffle 开发已结束** - [了解更多](https://twitter.com/trufflesuite/status/1704946902393860589?t=NlIWeLTbBSAaJmS5uUAhSA&s=19)
-
-**OpenZeppelin SDK -** **_终极智能合约工具包:一套帮助你开发、编译、升级、部署智能合约并与之交互的工具。_**
-
-- [OpenZeppelin SDK](https://openzeppelin.com/sdk/)
-- [GitHub](https://github.com/OpenZeppelin/openzeppelin-sdk)
-- [社区论坛](https://forum.openzeppelin.com/c/support/17)
-- **OpenZeppelin SDK 开发已结束**
-
-**Catapulta -** **_多链智能合约部署工具,在区块浏览器中自动执行验证,追踪已部署的智能合约并分享部署报告,使 Foundry 和 Hardhat 项目即插即用。_**
-
-- [网站](https://catapulta.sh/)
-- [相关文档](https://catapulta.sh/docs)
-- [Github](https://github.com/catapulta-sh)
-
-**Covalent - ****_适用于 200 多条链的丰富区块链应用程序接口。_**
-
-- [covalenthq.com](https://www.covalenthq.com/)
-- [相关文档](https://www.covalenthq.com/docs/api/)
-- [GitHub](https://github.com/covalenthq)
-- [Discord](https://www.covalenthq.com/discord/)
-
-**Wake -** **_用于合约测试、模糊测试、部署、漏洞扫描和代码导航的一体化 Python 框架。_**
-
-- [主页](https://getwake.io/)
-- [相关文档](https://ackeeblockchain.com/wake/docs/latest/)
-- [GitHub](https://github.com/Ackee-Blockchain/wake)
-- [VS Code 扩展程序](https://marketplace.visualstudio.com/items?itemName=AckeeBlockchain.tools-for-solidity)
-
-## 延伸阅读 {#further-reading}
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
-
-## 相关主题 {#related-topics}
-
-- [设置本地开发环境](/developers/local-environment/)
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/ides/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/ides/index.md"
deleted file mode 100644
index 8f46f5cbe1b..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/ides/index.md"
+++ /dev/null
@@ -1,71 +0,0 @@
----
-title: 集成开发环境
-description:
-lang: zh
----
-
-当建立一个[集成开发环境](https://wikipedia.org/wiki/Integrated_development_environment)时,以太坊上的应用编程类似于任何其他软件项目编程。 这里有许多选项可供选择,最后,请选择一个最适合你偏好的集成开发环境或代码编辑器。 对你的以太坊开发来说,最好的集成开发环境很可能就是你在传统软件开发中使用过的集成开发环境。
-
-## 基于网络的集成开发环境 {#web-based-ides}
-
-如果你想在[设置本地开发环境](/developers/local-environment/)之前摆弄一下代码,这些网络应用是为以太坊智能合约开发定制的。
-
-**[Remix](https://remix.ethereum.org/)** - **_基于 Web 的集成开发环境,内置静态分析和区块链测试虚拟机_**
-
-- [相关文档](https://remix-ide.readthedocs.io/en/latest/#)
-- [Gitter](https://gitter.im/ethereum/remix)
-
-**[ChainIDE](https://chainide.com/)** - **_一个支持多链的云端集成开发环境_**
-
-- [相关文档](https://chainide.gitbook.io/chainide-english-1/)
-- [帮助论坛](https://forum.chainide.com/)
-
-**[Replit(Solidity 新手教程 - Beta)](https://replit.com/@replit/Solidity-starter-beta)** - **_一种可定制的以太坊开发环境,提供热重载、错误检查和一流的测试网支持_**
-
-- [相关文档](https://docs.replit.com/)
-
-**[Tenderly Sandbox](https://sandbox.tenderly.co/)** - **_一种快捷的原型构建环境,让你可以使用 Solidity 和 JavaScript 在浏览器中编写、执行并调试智能合约_**
-
-**[EthFiddle](https://ethfiddle.com/)** - **_基于 Web 的集成开发环境 ( IDE ),可让你编写、编译和调试智能合约_**
-
-- [Gitter](https://gitter.im/loomnetwork/ethfiddle)
-
-## 桌面 IDE {#desktop-ides}
-
-大多数成熟的集成开发环境都包含增强以太坊开发体验的插件。 至少,它们能为[智能合约语言](/developers/docs/smart-contracts/languages/)提供语法突出显示。
-
-**Visual Studio Code -** **_专业跨平台集成开发环境,获得以太坊官方支持_**
-
-- [Visual Studio Code](https://code.visualstudio.com/)
-- [Azure Blockchain Workbench](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/microsoft-azure-blockchain.azure-blockchain-workbench?tab=Overview)
-- [代码示例](https://github.com/Azure-Samples/blockchain/blob/master/blockchain-workbench/application-and-smart-contract-samples/readme.md)
-- [GitHub](https://github.com/microsoft/vscode)
-
-**Atom -** **_21 世纪可被黑客攻击的文本编辑器_**
-
-- [Atom](https://atom.io/)
-- [GitHub](https://github.com/atom)
-- [以太坊包](https://atom.io/packages/search?utf8=%E2%9C%93&q=keyword%3Aethereum&commit=Search)
-
-**JetBrains 集成开发环境(IntelliJ IDEA 等) -** **_面向软件开发者和团队的基本工具_**
-
-- [JetBrains](https://www.jetbrains.com/)
-- [GitHub](https://github.com/JetBrains)
-- [IntelliJ Solidity](https://github.com/intellij-solidity/intellij-solidity/)
-
-**Remix Desktop -** **_在本地计算机上体验 Remix 集成开发环境_**
-
-- [下载](https://github.com/ethereum/remix-desktop/releases)
-- [GitHub](https://github.com/ethereum/remix-desktop)
-
-## 插件与扩展 {#plugins-extensions}
-
-- [solidity](https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity) - 面向 Visual Studio Code 的以太坊 Solidity 语言
-- [面向 VS Code 的 Solidity + 安全帽](https://marketplace.visualstudio.com/items?itemName=NomicFoundation.hardhat-solidity) - 安全帽团队提供 Solidity 和安全帽支持
-- [Prettier Solidity](https://github.com/prettier-solidity/prettier-plugin-solidity) - 使用 Prettier 的代码格式化工具
-
-## 延伸阅读 {#further-reading}
-
-- [以太坊集成开发环境 (IDE)](https://www.alchemy.com/list-of/web3-ides-on-ethereum) _- Alchemy 提供的以太坊集成开发环境列表_
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/dart/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/dart/index.md"
deleted file mode 100644
index eb7e441cf59..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/dart/index.md"
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title: 面向 Dart 开发者的以太坊资源
-description: 学习如何使用 Dart 语言进行以太坊开发
-lang: zh
-incomplete: true
----
-
-## 智能合约和 Solidity 语言入门 {#getting-started-with-smart-contracts-and-solidity}
-
-## 教程 {#tutorials}
-
-- [Flutter 和区块链 – Hello World 去中心化应用程序](https://www.geeksforgeeks.org/flutter-and-blockchain-hello-world-dapp/)带你了解所有步骤,内容包括:
- 1. 安装 [Truffle 开发套件](https://www.trufflesuite.com/)
- 2. 使用 [Solidity](https://soliditylang.org/) 编写一个智能合约
- 3. 使用 Dart 编写一个用户界面
-- 如果你已经了解基础知识,[使用 Flutter 构建移动去中心化应用程序](https://medium.com/dash-community/building-a-mobile-dapp-with-flutter-be945c80315a)的篇幅要短得多,效果可能更好
-- 如果你喜欢通过观看视频来学习,可以观看[构建你的第一个区块链 Flutter 应用程序](https://www.youtube.com/watch?v=3Eeh3pJ6PeA),时长大约一个小时
-- 如果你不想花这么多时间,你可能喜欢[在以太坊上使用 Flutter 和 Dart 创建去中心化的区块链应用](https://www.youtube.com/watch?v=jaMFEOCq_1s),时长仅约 20 分钟
-- 使用 WalletConnect 开发的 Web3Modal 库,将 MetaMask 集成到 Flutter 应用程序中<0> - 这个短视频教你使用 WallectConnect 开发的 Web3Modal <1>库,一步步地将 MetaMask 集成到你的 Flutter 应用程序中
-
- - [Flutter 去中心化应用程序简易钱包](https://youtu.be/JMfIBpuAhKA)和[首个 Flutter 去中心化应用程序 - Solidity、Truffle、Ganache](https://youtu.be/bHw2gQZxJ_s) - 这些视频展示了如何使用 Truffle 和 Ganache 在 Flutter 中构建简易的去中心化应用程序
-- [Solidity & Flutter 移动区块链开发者训练营课程](https://youtube.com/playlist?list=PL4V4Unlk5luhQ26ERO6hWEbcUwHDSSmVH) - 全栈移动区块链开发者课程播放列表
-
-
-
-## 使用以太坊客户端 {#working-with-ethereum-clients}
-
-你可以使用以太坊来创建去中心化应用程序(或称“dapp”),这种应用可以利用加密货币和区块链技术。 目前至少有两个为 Dart 维护的库,用于调用以太坊的 [JSON-RPC 应用程序接口](/developers/docs/apis/json-rpc/)。
-
-1. [来自 simonbutler.eu 的 Web3dart](https://pub.dev/packages/web3dart)
-1. [来自 darticulate.com 的以太坊 5.0.0](https://pub.dev/packages/ethereum)
-
-还有其他的一些库,可用于操作特定的以太坊地址或者让你检索各种加密货币的价格。 [你可以在这里查看完整的列表](https://pub.dev/dart/packages?q=ethereum)。
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/delphi/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/delphi/index.md"
deleted file mode 100644
index 1eff5a22461..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/delphi/index.md"
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: 面向 Delphi 开发者的以太坊
-description: 学习如何使用 Delphi 编程语言为以太坊开发
-lang: zh
-incomplete: true
----
-
-
-
-学习如何使用 Delphi 编程语言为以太坊开发
-
-
-
-使用以太坊来创建去中心化应用程序,发挥加密货币和区块链技术的优势。 这些去中心化应用程序可以是值得信赖的,也即一旦被部署到以太坊上,它们将总是按程序运行。 这些应用程序可以控制数字资产,以便创造新的金融应用; 它们可以是去中心化的,也即没有任何单一实体或个人能够控制它们,而且它们几乎是不可能被审查的。
-
-在以太坊顶部构建去中心化应用程序,并使用 Delphi 编程语言与智能合约交互!
-
-## 智能合约和 Solidity 语言入门 {#getting-started-with-smart-contracts-and-the-solidity-language}
-
-**迈出第一步,将 Delphi 与以太坊集成**
-
-需要更基础的入门知识? 请查看 [ethereum.org/learn](/learn/) 或者 [ethereum.org/developers](/developers/)。
-
-- [区块链详解](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
-- [理解智能合约](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
-- [编写你的第一个智能合约](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
-- [学习如何编写和部署 Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
-
-## 初学者参考文献和链接 {#beginner-references-and-links}
-
-**介绍 Delphereum 库**
-
-- [什么是 Delphereum?](https://github.com/svanas/delphereum/blob/master/README.md)
-- [连接 Delphi 到本地(内存)区块链中](https://medium.com/@svanas/connecting-delphi-to-a-local-in-memory-blockchain-9a1512d6c5b0)
-- [连接 Delphi 到以太坊主网络](https://medium.com/@svanas/connecting-delphi-to-the-ethereum-main-net-5faf1feffd83)
-- [连接 Delphi 到智能合约](https://medium.com/@svanas/connecting-delphi-to-smart-contracts-3146b12803a1)
-
-**现在想要跳过设置,直接跳转到样本?**
-
-- [3 分钟的智能合约和 Delphi - 第 1 部分](https://medium.com/@svanas/a-3-minute-smart-contract-and-delphi-61d998571d)
-- [3 分钟的智能合约和 Delphi - 第 2 部分](https://medium.com/@svanas/a-3-minute-smart-contract-and-delphi-part-2-446925faa47b)
-
-## 面向中等程度用户的文章 {#intermediate-articles}
-
-- [在 Delphi 中生成一个以太坊认证的消息签名](https://medium.com/@svanas/generating-an-ethereum-signed-message-signature-in-delphi-75661ce5031b)
-- [使用 Delphi 交易以太币](https://medium.com/@svanas/transferring-ether-with-delphi-b5f24b1a98a4)
-- [使用 Delphi 交易基于 ERC-20 的代币](https://medium.com/@svanas/transferring-erc-20-tokens-with-delphi-bb44c05b295d)
-
-## 面向高等程度用户的使用模式 {#advanced-use-patterns}
-
-- [Delphi 和以太坊域名服务](https://medium.com/@svanas/delphi-and-ethereum-name-service-ens-4443cd278af7)
-- [QuikNode、以太坊和 Delphi](https://medium.com/@svanas/quiknode-ethereum-and-delphi-f7bfc9671c23)
-- [Delphi 和以太坊黑暗森林](https://svanas.medium.com/delphi-and-the-ethereum-dark-forest-5b430da3ad93)
-- [在 Delphi 中用一个代币交换另一个代币](https://svanas.medium.com/swap-one-token-for-another-in-delphi-bcb999c47f7)
-
-想要获取更多的资源? 请查看 [ethereum.org/developers](/developers/)。
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/dot-net/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/dot-net/index.md"
deleted file mode 100644
index 73e05baaa9d..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/dot-net/index.md"
+++ /dev/null
@@ -1,86 +0,0 @@
----
-title: 面向 .NET 开发者的以太坊
-description: 学习如何使用并通过基于 .NET 的项目及工具参与以太坊的开发
-lang: zh
-incomplete: true
----
-
-学习如何使用并通过基于 .NET 的项目及工具参与以太坊的开发
-
-使用以太坊来创建去中心化应用程序(或称“dapp”),发挥加密货币和区块链技术的优势。 这些去中心化应用程序可以是值得信赖的,也即一旦被部署到以太坊上,它们将总是按程序运行。 这些应用程序可以控制数字资产,以便创造新的金融应用; 它们可以是去中心化的,也即没有任何单一实体或个人能够控制它们,而且它们几乎是不可能被审查的。
-
-使用 Microsoft 技术堆栈中的工具和语言在以太坊上搭建去中心化应用程序和与智能合约交互 —— .NET Framework/.NET Core/.NET Standard 支持 VSCode 和 Visual Studio 等工具上的 C#、# Visual Basic .NET、F#。 使用 Microsoft Azure 区块链在 Azure 上部署一条以太坊区块链,几分钟即可完成。 将人们对 .NET 的喜爱带到以太坊上!
-
-## 智能合约和 Solidity 语言入门 {#getting-started-with-smart-contracts-and-the-solidity-language}
-
-**迈出集成 .NET 与以太坊的第一步**
-
-需要更基础的入门知识? 请查看 [ethereum.org/learn](/learn/) 或者 [ethereum.org/developers](/developers/)。
-
-- [区块链详解](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
-- [理解智能合约](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
-- [编写你的第一个智能合约](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
-- [学习如何编写和部署 Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
-
-## 初学者参考文献和链接 {#beginner-references-and-links}
-
-**介绍 Nethereum 库和 VS Code Solidity**
-
-- [开始了解 Nethereum](https://docs.nethereum.com/en/latest/getting-started/)
-- [安装 VS Code Solidity](https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity)
-- [.NET 开发者创建和调用以太坊智能合约的工作流](https://medium.com/coinmonks/a-net-developers-workflow-for-creating-and-calling-ethereum-smart-contracts-44714f191db2)
-- [智能合约与 Nethereum 的集成](https://kauri.io/#collections/Getting%20Started/smart-contracts-integration-with-nethereum/#smart-contracts-integration-with-nethereumm)
-- [使用 Nethereum 连接 .NET 和以太坊区块链智能合约](https://medium.com/my-blockchain-development-daily-journey/interfacing-net-and-ethereum-blockchain-smart-contracts-with-nethereum-2fa3729ac933),也可参考此[中文版](https://medium.com/my-blockchain-development-daily-journey/%E4%BD%BF%E7%94%A8nethereum%E9%80%A3%E6%8E%A5-net%E5%92%8C%E4%BB%A5%E5%A4%AA%E7%B6%B2%E5%8D%80%E5%A1%8A%E9%8F%88%E6%99%BA%E8%83%BD%E5%90%88%E7%B4%84-4a96d35ad1e1)
-- [Nethereum——开源的区块链 .NET 集成库](https://kauri.io/#collections/a%20hackathon%20survival%20guide/nethereum-an-open-source-.net-integration-library/)
-- [使用 Nethereum 将以太坊交易写入 SQL 数据库](https://medium.com/coinmonks/writing-ethereum-transactions-to-sql-database-using-nethereum-fd94e0e4fa36)
-- [查看如何使用 C# 和 VisualStudio 轻松地部署以太坊智能合约](https://koukia.ca/deploy-ethereum-smart-contracts-using-c-and-visualstudio-5be188ae928c)
-
-**现在想要跳过设置,直接跳转到样本?**
-
-- [训练场](http://playground.nethereum.com/) - 与以太坊进行交互,学习如何通过浏览器使用 Nethereum。
- - 查询帐户余额[C#](http://playground.nethereum.com/csharp/id/1001)[VB.NET](http://playground.nethereum.com/vb/id/2001)
- - 查询 ERC20 智能合约余额[C#](http://playground.nethereum.com/csharp/id/1005)[VB.NET](http://playground.nethereum.com/vb/id/2004)
- - 转账以太币至帐户 [C#](http://playground.nethereum.com/csharp/id/1003) [VB.NET](http://playground.nethereum.com/vb/id/2003)
- - ... 以及更多!
-
-## 面向中等程度用户的文章 {#intermediate-articles}
-
-- [Nethereum 练习册/样本列表](http://docs.nethereum.com/en/latest/Nethereum.Workbooks/docs/)
-- [部署你自己的开发测试链](https://github.com/Nethereum/Testchains)
-- [Solidity 的 VSCode Codegen 插件](https://docs.nethereum.com/en/latest/nethereum-codegen-vscodesolidity/)
-- [Unity 和以太坊:为何以及如何?](https://www.raywenderlich.com/5509-unity-and-ethereum-why-and-how)
-- [为以太坊 dapp 创建 ASP.NET Core Web API](https://tech-mint.com/blockchain/create-asp-net-core-web-api-for-ethereum-dapps/)
-- [使用 Nethereum Web3 来实现一个供应链追踪系统](http://blog.pomiager.com/post/using-nethereum-web3-to-implement-a-supply-chain-traking-system4)
-- [Nethereum 区块处理](https://nethereum.readthedocs.io/en/latest/nethereum-block-processing-detail/),包含了[C# 操作样本](http://playground.nethereum.com/csharp/id/1025)
-- [Nethereum Websocket Streaming](https://nethereum.readthedocs.io/en/latest/nethereum-subscriptions-streaming/)
-- [Kaleido 和 Nethereum](https://kaleido.io/kaleido-and-nethereum/)
-- [Quorum 和 Nethereum](https://github.com/Nethereum/Nethereum/blob/master/src/Nethereum.Quorum/README.md)
-
-## 面向高等程度用户的使用模式 {#advanced-use-patterns}
-
-- [Azure Key Vault 和 Nethereum](https://github.com/Azure-Samples/bc-community-samples/tree/master/akv-nethereum)
-- [Nethereum.DappHybrid](https://github.com/Nethereum/Nethereum.DappHybrid)
-- [Ujo Nethereum 后端参考架构](https://docs.nethereum.com/en/latest/nethereum-ujo-backend-sample/)
-
-## .NET 项目、工具和其他有趣内容 {#dot-net-projects-tools-and-other-fun-stuff}
-
-- [Nethereum 训练场](http://playground.nethereum.com/) - _在浏览器中编译、创建和运行 Nethereum 代码片段_
-- [Nethereum Codegen Blazor](https://github.com/Nethereum/Nethereum.CodeGen.Blazor) - _在 Blazor 中具有 UI 的 Nethereum 代码生成_
-- [Nethereum Blazor](https://github.com/Nethereum/NethereumBlazor) - _.NET Wasm SPA 轻区块链浏览器和简单钱包_
-- [Wonka Business Rules Engine](https://docs.nethereum.com/en/latest/wonka/) - _业务规则引擎(同时适用于 .NET 平台和以太坊平台),本质上是由元数据驱动的_
-- [Nethermind](https://github.com/NethermindEth/nethermind) - _面向 Linux、Windows、MacOS 操作系统的 .NET Core 以太坊客户端_
-- [eth-utils](https://github.com/ethereum/eth-utils/) - _使用以太坊相关代码库的实用函数工具_
-- [TestChains](https://github.com/Nethereum/TestChains) - _预先配置的 .NET devchains,用于快速回应 (PoA)_
-
-想要获取更多的资源? 请查看 [ethereum.org/developers](/developers/)。
-
-## .NET 社区贡献者 {#dot-net-community-contributors}
-
-在 Nethereum,我们主要活跃于 [Gitter](https://gitter.im/Nethereum/Nethereum) 上,任何人都可以前来提问/回答问题,获得帮助或者前来逛逛。 可以随意在 [Nethereum GitHub 存储库](https://github.com/Nethereum)上提交拉取请求或者打开一个问题,或者仅仅浏览我们提供的许多小项目/示例项目。 你可以在 [Discord](https://discord.gg/jQPrR58FxX) 上找到我们!
-
-如果你是 Nethermind 的新手并且需要入门帮助,请加入我们的 [Discord](http://discord.gg/PaCMRFdvWT)。 我们的开发人员随时准备回答你的问题。 不要犹豫,在 [Nethermind GitHub 存储库](https://github.com/NethermindEth/nethermind)上打开一个拉取请求或提出任何问题。
-
-## 其他汇总列表 {#other-aggregated-lists}
-
-[Nethereum 官方网站](https://nethereum.com/)
-[Nethermind 官方网站](https://nethermind.io/)
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/golang/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/golang/index.md"
deleted file mode 100644
index 3c3d9bc2453..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/golang/index.md"
+++ /dev/null
@@ -1,85 +0,0 @@
----
-title: 面向 Go 开发者的以太坊
-description: 学习如何使用基于 Go 的项目和工具参与以太坊的开发
-lang: zh
-incomplete: true
----
-
-学习如何使用基于 Go 的项目和工具参与以太坊的开发
-
-使用以太坊创建去中心化应用程序(即"dapps")。 这些去中心化应用程序可被信任,意味着一旦被部署到以太坊上,它们将总是按既定程序运行。 它们是去中心化的,意味着它们运行在一个点对点网络中并且不存在单点故障。 不存在单一实体或者个人可以控制它们,它们也几乎不可能被审查。 它们可以通过控制数字资产来创建新的应用。
-
-## 智能合约和 Solidity 语言入门 {#getting-started-with-smart-contracts-and-solidity}
-
-**迈出集成 Go 与以太坊的第一步**
-
-需要更基础的入门知识? 请查看 [ethereum.org/learn](/learn/) 或者 [ethereum.org/developers](/developers/)。
-
-- [区块链详解](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
-- [理解智能合约](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
-- [编写你的第一个智能合约](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
-- [学习如何编写和部署 Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
-- [智能合约教程](https://github.com/ethereum/go-ethereum/wiki/Contract-Tutorial)
-
-## 初学者文章和书籍 {#beginner-articles-and-books}
-
-- [选择以太坊客户端](https://www.trufflesuite.com/docs/truffle/reference/choosing-an-ethereum-client)
-- [开始使用 Geth](https://medium.com/@tzhenghao/getting-started-with-geth-c1a30b8d6458)
-- [使用 Golang 连接到以太坊](https://www.youtube.com/watch?v=-7uChuO_VzM)
-- [使用 Golang 部署以太坊智能合约](https://www.youtube.com/watch?v=pytGqQmDslE)
-- [一步步教你测试和部署以太坊 Go 语言智能合约](https://hackernoon.com/a-step-by-step-guide-to-testing-and-deploying-ethereum-smart-contracts-in-go-9fc34b178d78)
-- [电子书:使用 Go 开发以太坊](https://goethereumbook.org/) - _使用 Go 开发以太坊应用程序_
-
-## 面向中等程度用户的文章和文档 {#intermediate-articles-and-docs}
-
-- [Go 以太坊相关文档](https://geth.ethereum.org/docs/) - _官方以太坊 Golang 相关文档_
-- [Erigon 程序员指南](https://github.com/ledgerwatch/erigon/blob/devel/docs/programmers_guide/guide.md) - _图文指南,包括状态树、多重证明和交易处理_
-- [Erigon 和无状态以太坊](https://youtu.be/3-Mn7OckSus?t=394) - _2020 年以太坊社区会议 (EthCC 3)_
-- [Erigon:优化以太坊客户端](https://www.youtube.com/watch?v=CSpc1vZQW2Q) - _2018 年开发者大会 4_
-- [Go 以太坊 GoDoc](https://godoc.org/github.com/ethereum/go-ethereum)
-- [在 Go 上使用 Geth 创建去中心化应用程序](https://kauri.io/#collections/A%20Hackathon%20Survival%20Guide/creating-a-dapp-in-go-with-geth/)
-- [用 Golang 和 Geth 使用以太坊专用网络](https://myhsts.org/tutorial-learn-how-to-work-with-ethereum-private-network-with-golang-with-geth.php)
-- [使用 Go 对以太坊上的 Solidity 合约进行单元测试](https://medium.com/coinmonks/unit-testing-solidity-contracts-on-ethereum-with-go-3cc924091281)
-- [使用 Geth 作为库的快速参考](https://medium.com/coinmonks/web3-go-part-1-31c68c68e20e)
-
-## 面向高等程度用户的使用模式 {#advanced-use-patterns}
-
-- [使用 GETH 模拟后端搭建](https://kauri.io/#collections/An%20ethereum%20test%20toolkit%20in%20Go/the-geth-simulated-backend/#_top)
-- [基于以太坊和 Quorum 的区块链即服务应用程序](https://blockchain.dcwebmakers.com/blockchain-as-a-service-apps-using-ethereum-and-quorum.html)
-- [以太坊区块链应用程序中的分布式存储星际文件系统和 Swarm](https://blockchain.dcwebmakers.com/work-with-distributed-storage-ipfs-and-swarm-in-ethereum.html)
-- [移动客户端:各种库和 Inproc 以太坊节点](https://github.com/ethereum/go-ethereum/wiki/Mobile-Clients:-Libraries-and-Inproc-Ethereum-Nodes)
-- [原生去中心化应用程序:到以太坊合约的 Go 绑定](https://github.com/ethereum/go-ethereum/wiki/Native-DApps:-Go-bindings-to-Ethereum-contracts)
-
-## Go 项目和工具 {#go-projects-and-tools}
-
-- [Geth / Go Ethereum](https://github.com/ethereum/go-ethereum) - _以太坊协议的官方 Go 实现_
-- [Go Ethereum Code Analysis](https://github.com/ZtesoftCS/go-ethereum-code-analysis) - _审查和分析 Go 以太坊源代码_
-- [Erigon](https://github.com/ledgerwatch/erigon) - _Go 以太坊的更快衍生品,专注于归档节点_
-- [Golem](https://github.com/golemfactory/golem) - _Golem 正在创建一个算力全球市场_
-- [Quorum](https://github.com/jpmorganchase/quorum) - _支持数据隐私的许可型以太坊实现_
-- [Prysm](https://github.com/prysmaticlabs/prysm) - _以太坊 'Serenity' 2.0 Go 实现_
-- [Eth Tweet](https://github.com/yep/eth-tweet) - _去中心化 Twitter:运行在以太坊区块链上的微博客服务_
-- [Plasma MVP Golang](https://github.com/kyokan/plasma) — _Golang 实现以及最小可执行 Plasma 规范拓展_
-- [Open Ethereum Mining Pool](https://github.com/sammy007/open-ethereum-pool) - _以太坊开源矿池_
-- [Ethereum HD Wallet](https://github.com/miguelmota/go-ethereum-hdwallet) - _使用 Go 的以太坊硬件钱包衍生品_
-- [Multi Geth](https://github.com/multi-geth/multi-geth) - _支持多种以太坊网络_
-- [Geth Light Client](https://github.com/zsfelfoldi/go-ethereum/wiki/Geth-Light-Client) - _轻量级以太坊子协议的 Geth 实现_
-- [以太坊 Golang 软件开发工具包](https://github.com/everFinance/goether) - _Golang 中的简单以太坊钱包实现和实用程序_
-- [Covalent Golang 软件开发工具包](https://github.com/covalenthq/covalent-api-sdk-go) - _通过 Go 软件开发工具包高效访问多达 200 个区块链的区块链数据_
-
-想要获取更多的资源? 请查看 [ethereum.org/developers](/developers/)。
-
-## Go 社区贡献者 {#go-community-contributors}
-
-- [Geth Discord](https://discordapp.com/invite/nthXNEv)
-- [Geth Gist](https://gitter.im/ethereum/go-ethereum)
-- [Gophers Slack](https://invite.slack.golangbridge.org/) - [#ethereum 频道](https://gophers.slack.com/messages/C9HP1S9V2)
-- [StackExchange - 以太坊](https://ethereum.stackexchange.com/)
-- [Multi Geth Gitter](https://gitter.im/ethoxy/multi-geth)
-- [Ethereum Gitter](https://gitter.im/ethereum/home)
-- [Geth light Client Gitter](https://gitter.im/ethereum/light-client)
-
-## 其他汇总列表 {#other-aggregated-lists}
-
-- [强大的以太坊](https://github.com/btomashvili/awesome-ethereum)
-- [Consensys:以太坊开发工具的权威清单](https://media.consensys.net/an-definitive-list-of-ethereum-developer-tools-2159ce865974) | [GitHub 源](https://github.com/ConsenSys/ethereum-developer-tools-list)
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/index.md"
deleted file mode 100644
index 5def3068072..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/index.md"
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title: 编程语言
-description:
-lang: zh
----
-
-一个常见的误解是开发者必须编写[智能合约](/developers/docs/smart-contracts/)才能在以太坊上构建。 这是错误的。 以太坊网络及其社区的一个美好之处是你可以使用任意编程语言[参与](/community/)其中。
-
-以太坊及其社区拥抱开源。 你可以找到各种语言的社区项目 - 客户端实现、API、开发框架、测试工具。
-
-## 选择你的语言 {#data}
-
-选择你使用的编程语言以便查找项目、资源和虚拟社区:
-
-- [面向 Dart 开发者的以太坊资源](/developers/docs/programming-languages/dart/)
-- [面向 Delphi 开发者的以太坊资源](/developers/docs/programming-languages/delphi/)
-- [面向 .NET 开发者的以太坊资源](/developers/docs/programming-languages/dot-net/)
-- [面向 Go 开发者的以太坊资源](/developers/docs/programming-languages/golang/)
-- [面向 Java 开发者的以太坊资源](/developers/docs/programming-languages/java/)
-- [面向 JavaScript 开发者的以太坊资源](/developers/docs/programming-languages/javascript/)
-- [面向 Python 开发者的以太坊资源](/developers/docs/programming-languages/python/)
-- [面向 Ruby 开发者的以太坊资源](/developers/docs/programming-languages/ruby/)
-- [面向 Rust 开发者的以太坊资源](/developers/docs/programming-languages/rust/)
-
-### 如果不支持我的语言怎么办 {#other-lang}
-
-如果你想链接到资源或指向额外编程语言的虚拟社区,你可以通过[提出问题](https://github.com/ethereum/ethereum-org-website/issues/new/choose) 来申请新页面。
-
-如果只想使用当前不支持的语言 编写与区块链对接的代码,你可以使用 [JSON-RPC 接口](/developers/docs/apis/json-rpc/)连接以太坊网络。 任何可以使用 TCP/IP 的编程 语言都可以使用此接口。
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/java/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/java/index.md"
deleted file mode 100644
index 8dcc277a79d..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/java/index.md"
+++ /dev/null
@@ -1,65 +0,0 @@
----
-title: 面向 Java 开发者的以太坊资源
-description: 学习如何使用并通过基于 Java 的项目及工具参与以太坊的开发
-lang: zh
-incomplete: true
----
-
-学习如何使用并通过基于 Java 的项目及工具参与以太坊的开发
-
-使用以太坊来创建去中心化应用程序(或称“dapp”),发挥加密货币和区块链技术的优势。 这些去中心化应用程序可以是值得信赖的,也即一旦被部署到以太坊上,它们将总是按程序运行。 这些应用程序可以控制数字资产,以便创造新的金融应用; 它们可以是去中心化的,也即没有任何单一实体或个人能够控制它们,而且它们几乎是不可能被审查的。
-
-## 智能合约和 Solidity 语言入门 {#getting-started-with-smart-contracts-and-solidity}
-
-**迈出第一步,将 Java 与以太坊进行集成**
-
-需要更基础的入门知识? 请查看 [ethereum.org/learn](/learn/) 或者 [ethereum.org/developers](/developers/)。
-
-- [区块链详解](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
-- [理解智能合约](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
-- [编写你的第一个智能合约](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
-- [学习如何编写和部署 Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
-
-## 使用以太坊客户端 {#working-with-ethereum-clients}
-
-了解如何使用 [Web3J](https://github.com/web3j/web3j) 和 Hyperledger Besu 这两个领先的 Java 以太坊客户端。
-
-- [使用 Java 、Eclipse 和 Web3J 连接以太坊客户端](https://kauri.io/article/b9eb647c47a546bc95693acc0be72546/connecting-to-an-ethereum-client-with-java-eclipse-and-web3j)
-- [使用 Java 和 Web3j 管理以太坊帐户](https://kauri.io/article/925d923e12c543da9a0a3e617be963b4/manage-an-ethereum-account-with-java-and-web3j)
-- [从智能合约中生成 Java 包装器](https://kauri.io/article/84475132317d4d6a84a2c42eb9348e4b/generate-a-java-wrapper-from-your-smart-contract)
-- [与以太坊智能合约互动](https://kauri.io/article/14dc434d11ef4ee18bf7d57f079e246e/interacting-with-an-ethereum-smart-contract-in-java)
-- [监听以太坊智能合约事件](https://kauri.io/article/760f495423db42f988d17b8c145b0874/listening-for-ethereum-smart-contract-events-in-java)
-- [使用 Besu (Pantheon), Linux 下的 Java 以太坊客户端](https://kauri.io/article/276dd27f1458443295eea58403fd6965/using-pantheon-the-java-ethereum-client-with-linux)
-- [在 Java 集成测试中运行一个 Hyperledger Besu (Pantheon) 节点](https://kauri.io/article/7dc3ecc391e54f7b8cbf4e5fa0caf780/running-a-pantheon-node-in-java-integration-tests)
-- [Web3j 备忘单](https://kauri.io/web3j-cheat-sheet-(java-ethereum)/5dfa1ea941ac3d0001ce1d90/c)
-
-学习如何使用 [ethers-kt](https://github.com/Kr1ptal/ethers-kt),一个用来同基于以太坊虚拟机的区块链互动的高性能异步 Kotlin 库。 面向 Java 虚拟机和 Android 平台。
-- [转移 ERC20 代币](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/abi/TransferERC20.kt)
-- [带事件监听的 UniswapV2 Swap](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/tokenswapwitheventlistening/TokenSwapWithEventListening.kt)
-- [以太币 / ERC20 余额追踪器](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/balancetracker/BalanceTracker.kt)
-
-## 面向中等程度用户的文章 {#intermediate-articles}
-
-- [使用星际文件系统在 Java 应用程序中管理存储](https://kauri.io/article/3e8494f4f56f48c4bb77f1f925c6d926/managing-storage-in-a-java-application-with-ipfs)
-- [使用 Web3j 在 Java 中管理 ERC20 代币](https://kauri.io/article/d13e911bbf624108b1d5718175a5e0a0/manage-erc20-tokens-in-java-with-web3j)
-- [Web3j 交易管理器](https://kauri.io/article/4cb780bb4d0846438d11885a25b6d7e7/web3j-transaction-managers)
-
-## 面向高等程度用户的使用模式 {#advanced-use-patterns}
-
-- [使用 Eventeum 构建 Java 智能合约数据缓存](https://kauri.io/article/fe81ee9612eb4e5a9ab72790ef24283d/using-eventeum-to-build-a-java-smart-contract-data-cache)
-
-## Java 项目和工具 {#java-projects-and-tools}
-
-- [Hyperledger Besu (Pantheon)(以太坊客户端)](https://docs.pantheon.pegasys.tech/en/stable/)
-- [Web3J(与以太坊客户端交互的库)](https://github.com/web3j/web3j)
-- [ethers-kt(面向基于以太坊虚拟机区块链的高性能异步 Kotlin/Java/Android 库)](https://github.com/Kr1ptal/ethers-kt)
-- [Eventeum(事件侦听器)](https://github.com/ConsenSys/eventeum)
-- [Mahuta(IPFS 开发者工具)](https://github.com/ConsenSys/mahuta)
-
-想要获取更多的资源? 请浏览 [ethereum.org/developers](/developers/)。
-
-## Java 社区贡献者 {#java-community-contributors}
-
-- [IO Builders](https://io.builders)
-- [Kauri](https://kauri.io)
-- [Besu HL 聊天室](https://chat.hyperledger.org/channel/besu)
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/javascript/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/javascript/index.md"
deleted file mode 100644
index 37a56e5829a..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/javascript/index.md"
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: 面向 JavaScript 开发者的以太坊资源
-description: 学习如何使用并通过基于 JavaScript 的项目及工具参与以太坊的开发。
-lang: zh
----
-
-JavaScript是以太坊生态中最受欢迎的语言之一。 事实上,有一个 [团队](https://github.com/ethereumjs) 致力于尽可能多地在以太坊引入 JavaScript。
-
-有机会在[堆栈的所有级别](/developers/docs/ethereum-stack/)使用 JavaScript(或接近)。
-
-## Javascript 和以太坊的交互 {#interact-with-ethereum}
-
-### JavaScript API 库 {#javascript-api-libraries}
-
-如果你想要写入 JavaScript 来查询区块链、发送交易等,则最方便的方法是使用 [JavaScript API 库](/developers/docs/apis/javascript/)。 这些 API 允许开发者轻松与[以太坊网络节点](/developers/docs/nodes-and-clients/)交互。
-
-你可以使用这些库与以太坊上的智能合约交互,因此只需要使用 JavaScript 与既有合约交互就可以构建一个 dapp。
-
-**参阅:**
-
-- [Web3.js](https://web3js.readthedocs.io/)
-- [Ethers.js](https://docs.ethers.io/) _– 包含 JavaScript 和 TypeScript 的完整以太坊钱包的实现和工具。_
-- [viem](https://viem.sh) – 一个用于以太坊的 TypeScript 接口,提供与以太坊交互的底层无状态基元。
-
-### 智能合约 {#smart-contracts}
-
-作为 JavaScript 开发者,如果希望编写自己的智能合约,你可能想要了解 [Solidity](https://solidity.readthedocs.io)。 这是最受欢迎的智能合约语言,它在语法上类似于 JavaScript,可能会更容易学习。
-
-关于[智能合约](/developers/docs/smart-contracts/)的更多信息。
-
-## 理解协议 {#understand-the-protocol}
-
-### 以太坊虚拟机 {#the-ethereum-virtual-machine}
-
-有用 JavaScript 实现的[以太坊虚拟机](/developers/docs/evm/)。 它支持最新的分叉(fork)规则。 分叉规则是指因计划的升级而对 EVM 进行的改造。
-
-它被拆分成各种 JavaScript 软件包,以便你可以更好地了解:
-
-- 帐户
-- 区块
-- 区块链本身
-- 交易
-- 更多...
-
-这将有助于你理解像“一个帐户的数据结构是什么?”这样的问题。
-
-如果你倾向于阅读代码,下面的 JavaScript 代码可以很好地成为通读文档的替代方案。
-
-**参阅 monorepo**
-[`ethereumjs`](https://github.com/ethereumjs/ethereumjs-vm)
-
-### 节点和客户端 {#nodes-and-clients}
-
-目前正在开发的 Ethereumjs 客户端允许你发掘以太坊客户端如何使用你能理解的语言 (JavaScript) 工作!
-
-它曾经在独立的[`存储库`](https://github.com/ethereumjs/ethereumjs-client)中托管,然而,后来作为一个包整合进了 EthereumVM monorepo。
-
-**参阅客户端**
-[`ethereumjs-client`](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/client)
-
-## 其它项目 {#other-projects}
-
-以太坊的 JavaScript 领域内还有许多其它东西:
-
-- 钱包工具库。
-- 生成、导入和导出以太坊密钥的工具。
-- 一个 `merkle-patricia-tree` 的实现 - 一种在以太坊黄皮书中描述的数据结构。
-
-可以在 [EthereumJS 存储库](https://github.com/ethereumjs)中深入了解你最感兴趣的内容
-
-## 延伸阅读 {#further-reading}
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/python/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/python/index.md"
deleted file mode 100644
index 5b2b8efb332..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/python/index.md"
+++ /dev/null
@@ -1,90 +0,0 @@
----
-title: 面向 Python 开发者的以太坊资源
-description: 学习如何使用并通过基于 Python 的项目及工具参与以太坊的开发
-lang: zh
-incomplete: true
----
-
-学习如何通过基于 Python 的项目和工具参与以太坊的开发
-
-使用以太坊来创建去中心化应用程序 (或称“dapp”),发挥加密货币和区块链技术的优势。 这些 dapp 可以是值得信赖的,也即一旦被部署到以太坊上,它们将总是按程序运行。 这些应用程序可以控制数字资产,以便创造新的金融应用; 它们可以是去中心化的,也即没有任何单一实体或个人能够控制它们,而且它们几乎是不可能被审查的。
-
-## 智能合约和 Solidity 语言入门 {#getting-started-with-smart-contracts-and-solidity}
-
-**迈出第一步,将 Python 与以太坊集成**
-
-需要更基础的入门知识? 请查看 [ethereum.org/learn](/learn/) 或者 [ethereum.org/developers](/developers/)。
-
-- [区块链详解](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
-- [理解智能合约](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
-- [编写你的第一个智能合约](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
-- [学习如何编写和部署 Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
-
-## 初学者文章 {#beginner-articles}
-
-- [以太坊开发者指南 (Python)](https://snakecharmers.ethereum.org/a-developers-guide-to-ethereum-pt-1/)
-- [2023 区块链报告中的 Python 状态](https://tradingstrategy.ai/blog/the-state-of-python-in-blockchain-in-2023)
-- [基于 Vyper 的智能合约简介](https://kauri.io/#collections/Getting%20Started/an-introduction-to-smart-contracts-with-vyper/)
-- [使用 Python 和 Brownie 部署你自己的 ERC20 代币](https://betterprogramming.pub/python-blockchain-token-deployment-tutorial-create-an-erc20-77a5fd2e1a58)
-- [如何使用 Python Flask 开发 Ethereum 合约?](https://medium.com/coinmonks/how-to-develop-ethereum-contract-using-python-flask-9758fe65976e)
-- [Web3.py 简介 · 面向 Python 开发者的以太坊资源](https://www.dappuniversity.com/articles/web3-py-intro)
-- [如何通过 Python 和 web3.py 调用智能合约函数?](https://stackoverflow.com/questions/57580702/how-to-call-a-smart-contract-function-using-python-and-web3-py)
-
-## 面向中等程度用户的文章 {#intermediate-articles}
-
-- [面向 Python 程序员的去中心化应用程序开发](https://levelup.gitconnected.com/dapps-development-for-python-developers-f52b32b54f28)
-- [创建 Python 以太坊接口:第 1 部分](https://hackernoon.com/creating-a-python-ethereum-interface-part-1-4d2e47ea0f4d)
-- [基于 Python 的以太坊智能合约开发:完整(入门)教程](https://hackernoon.com/ethereum-smart-contracts-in-python-a-comprehensive-ish-guide-771b03990988)
-- [使用 Brownie 和 Python 部署智能合约](https://dev.to/patrickalphac/using-brownie-for-to-deploy-smart-contracts-1kkp)
-- [使用 Brownie 在 OpenSea 上创建非同质化代币](https://www.freecodecamp.org/news/how-to-make-an-nft-and-render-on-opensea-marketplace/)
-
-## 面向高等程度用户的使用模式 {#advanced-use-patterns}
-
-- [使用 Python 编译、部署和调用以太坊智能合约](https://yohanes.gultom.id/2018/11/28/compiling-deploying-and-calling-ethereum-smartcontract-using-python/)
-- [使用 Slither 分析 Solidity 智能合约](https://kauri.io/#collections/DevOps/analyze-solidity-smart-contracts-with-slither/#analyze-solidity-smart-contracts-with-slither)
-- [Blockchain Fintech 教程:使用 Python 借贷和借贷](https://blog.chain.link/blockchain-fintech-defi-tutorial-lending-borrowing-python/)
-
-## Python 项目和工具 {#python-projects-and-tools}
-
-### 活跃: {#active}
-
-- [Web3.py](https://github.com/ethereum/web3.py) - _用于与以太坊交互的 Python 库_
-- [Vyper](https://github.com/ethereum/vyper/) - _一种适用于以太坊虚拟机的 Python 智能合约语言_
-- [Ape](https://github.com/ApeWorX/ape) - _面向 Pythonista、数据科学家和安全专业人员的智能合约开发工具_
-- [py-evm](https://github.com/ethereum/py-evm) - _以太坊虚拟机的实现_
-- [eth-tester](https://github.com/ethereum/eth-tester) - _用于测试以太坊应用程序的工具_
-- [eth-utils](https://github.com/ethereum/eth-utils/) - _使用以太坊相关代码库的实用程序函数_
-- [py-solc-x](https://pypi.org/project/py-solc-x/) - _适用于 solc Solidity 编译器(支持 0.5.x)的 Python 装饰器_
-- [pymaker](https://github.com/makerdao/pymaker) - _面向 Maker 合约的 Python 应用程序接口_
-- [siwe](https://github.com/spruceid/siwe-py) - _面向 Python 的以太坊登录服务 (siwe)_
-- [用于以太坊集成的 Web3 去中心化金融](https://github.com/tradingstrategy-ai/web3-ethereum-defi) - _一个 Python 包,具有适用于 ERC-20、Uniswap 和其他流行项目的现成集成_
-- [Wake](https://getwake.io) - _用于合约测试、模糊测试、部署、漏洞扫描和代码导航的一体化 Python 框架(语言服务器 - [Solidity 工具](https://marketplace.visualstudio.com/items?itemName=AckeeBlockchain.tools-for-solidity))_
-
-### 已归档/不再维护: {#archived--no-longer-maintained}
-
-- [Trinity](https://github.com/ethereum/trinity) - _以太坊的 Python 客户端_
-- [Mamba](https://github.com/arjunaskykok/mamba) - _一个用 Vyper 语言编写、编译和部署智能合约的框架_
-- [Brownie](https://github.com/eth-brownie/brownie) - _一个用于部署、测试以太坊智能合约并与之交互的 Python 框架_
-- [pydevp2p](https://github.com/ethereum/pydevp2p) - _使用 Python 实现 P2P 协议栈_
-- [py-wasm](https://github.com/ethereum/py-wasm) - _使用 Python 实现的 Web 汇编解释器_
-
-想要获取更多的资源? 请查看 [ethereum.org/developers](/developers/)。
-
-## 使用 Python 工具的项目 {#projects-using-python-tooling}
-
-以下基于以太坊的项目使用本页提到的工具。 相关的开源代码库可作为一个很好的参考,例如代码和最佳做法。
-
-- [Yearn Finance](https://yearn.finance/) 和 [Yearn Vault Contracts 库](https://github.com/yearn/yearn-vaults)
-- [Curve](https://curve.fi/) 和 [Curve 智能合约库](https://github.com/curvefi/curve-contract)
-- [BadgerDAO](https://badger.com/) 和 [使用 Brownie 工具链的智能合约](https://github.com/Badger-Finance/badger-system)
-- [Sushiswap](https://sushi.com/) 使用 [Python 来管理和部署他们的归属合约](https://github.com/sushiswap/sushi-vesting-protocols)
-- 因 Alpha Homora 而知名的 [Alpha Finance](https://alphafinance.io/) 使用 [Brownie 来测试和部署他们的智能合约](https://github.com/AlphaFinanceLab/alpha-staking-contract)
-
-## Python 社区讨论 {#python-community-contributors}
-
-- [以太坊 Python 社区 Discord](https://discord.gg/9zk7snTfWe),适合讨论 Web3.py 和其他 Python 框架
-- [Vyper Discord](https://discord.gg/SdvKC79cJk),适合讨论 Vyper 智能合约编程
-
-## 其他汇总列表 {#other-aggregated-lists}
-
-Vyper 维基百科包含[丰富的 Vyper 资源列表](https://github.com/vyperlang/vyper/wiki/Vyper-tools-and-resources)
\ No newline at end of file
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/ruby/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/ruby/index.md"
deleted file mode 100644
index 2d979891d29..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/ruby/index.md"
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title: 面向 Ruby 开发者的以太坊资源
-description: 了解如何使用基于 Ruby 的项目和工具为以太坊进行开发。
-lang: zh
-incomplete: false
----
-
-了解如何使用基于 Ruby 的项目和工具为以太坊进行开发。
-
-使用以太坊来创建去中心化应用程序,发挥加密货币和区块链技术的优势。 这些去中心化应用程序可以去信任,这意味着在部署到以太坊后,它们将始终按程序设定运行。 去中心化应用程序可以控制数字资产,从而创建新类型的金融应用程序。 它们可以是去中心化的,即没有任何单一实体或个人控制它们,而且它们几乎不可能被审查。
-
-## 智能合约和 Solidity 语言入门 {#getting-started-with-smart-contracts-and-solidity}
-
-**迈出将 Ruby 与以太坊集成的第一步**
-
-需要更基础的入门知识? 请查看 [ethereum.org/learn](/learn/) 或 [ethereum.org/developers](/developers/)。
-
-- [区块链详解](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
-- [理解智能合约](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
-- [编写你的第一个智能合约](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
-- [学习如何编写和部署 Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
-
-## 初学者文章 {#beginner-articles}
-
-- [终于明白以太坊帐户了](https://dev.to/q9/finally-understanding-ethereum-accounts-1kpe)
-- [使用 MetaMask 对 Rails 用户进行最终身份验证](https://dev.to/q9/finally-authenticating-rails-users-with-metamask-3fj)
-- [Sign-In with Ethereum - Ruby 库与 Rails 示例发布](https://blog.spruceid.com/sign-in-with-ethereum-ruby-library-release-and-rails-examples/)
-- [如何使用 Ruby 连接到以太坊网络](https://www.quicknode.com/guides/web3-sdks/how-to-connect-to-the-ethereum-network-using-ruby)
-- [如何使用 Ruby 生成新的以太坊地址](https://www.quicknode.com/guides/web3-sdks/how-to-generate-a-new-ethereum-address-in-ruby)
-
-## 面向中等程度用户的文章 {#intermediate-articles}
-
-- [用 Ruby 编写的区块链应用程序](https://www.nopio.com/blog/blockchain-app-ruby/)
-- [使用 Ruby 连接到以太坊并执行智能合约](https://titanwolf.org/Network/Articles/Article?AID=87285822-9b25-49d5-ba2a-7ad95fff7ef9)
-
-## Ruby 项目和工具 {#ruby-projects-and-tools}
-
-### 活跃资源 {#active}
-
-- [eth.rb](https://github.com/q9f/eth.rb) - _Ruby 库和远程过程调用客户端,用于处理以太坊帐户、消息和交易_
-- [keccak.rb](https://github.com/q9f/keccak.rb) - _以太坊使用的 Keccak (SHA3) 哈希_
-- [siwe-ruby](https://github.com/spruceid/siwe-ruby) - _使用 Ruby 实现 Sign-In with Ethereum_
-- [siwe_rails](https://github.com/spruceid/siwe_rails) - _添加 SIWE 本地登录路由的 Rails gem_
-- [siwe-rails-examples](https://github.com/spruceid/siwe-rails-examples) - _使用 Ruby on Rails 的 SIWE 示例(含自定义控制器)_
-- [omniauth-siwe](https://github.com/spruceid/omniauth-siwe) - _面向 Sign In With Ethereum (SIWE) 的 OmniAuth 策略_
-- [omniauth-nft](https://github.com/valthon/omniauth-nft) - _面向通过非同质化代币所有权进行身份验证的 OmniAuth 策略_
-- [ethereum-on-rails](https://github.com/q9f/ethereum-on-rails) - _Ethereum on Rails 模板,允许连接 MetaMask 到 Ruby on Rails_
-
-### 已存档/停止维护的资源 {#archived--no-longer-maintained}
-
-- [web3-eth](https://github.com/spikewilliams/vtada-ethereum) - _用 Ruby 调用以太坊节点的远程过程调用方法_
-- [ethereum_tree](https://github.com/longhoangwkm/ethereum_tree) - _用于根据 BIP32 标准从分层确定性钱包生成以太币地址的 Ruby 库_
-- [etherlite](https://github.com/budacom/etherlite) - _Ruby on Rails 的以太坊集成_
-- [ethereum.rb](https://github.com/EthWorks/ethereum.rb) - _使用 JSON-RPC 接口发送交易、创建合约并与之交互的 Ruby 以太坊客户端以及可使用以太坊节点的有用工具包_
-- [omniauth-ethereum.rb](https://github.com/q9f/omniauth-ethereum.rb) - _实现面向 OmniAuth 的以太坊提供商策略_
-
-正在寻找更多资源? 请查看[我们的开发者之家](/developers/)。
-
-## Ruby 社区贡献者 {#ruby-community-contributors}
-
-[Ethereum Ruby Telegram 组](https://t.me/ruby_eth)主持着一个快速发展的社区,是讨论上述任何项目和相关主题的专用资源。
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/rust/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/rust/index.md"
deleted file mode 100644
index bd2af567b0f..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/programming-languages/rust/index.md"
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: 面向 Rust 开发者的以太坊
-description: 学习如何使用并通过基于 rust 的项目及工具参与以太坊的开发
-lang: zh
-incomplete: true
----
-
-学习如何通过基于 Rust 的项目和工具参与以太坊的开发
-
-使用以太坊来创建去中心化应用程序(或称“dapp”),发挥加密货币和区块链技术的优势。 这些 dapp 可以是值得信赖的,也即一旦被部署到以太坊上,它们将总是按程序运行。 这些应用程序可以控制数字资产,以便创造新的金融应用; 它们可以是去中心化的,也即没有任何单一实体或个人能够控制它们,而且它们几乎是不可能被审查的。
-
-## 智能合约和 Solidity 语言入门 {#getting-started-with-smart-contracts-and-solidity}
-
-**迈出第一步,将 Rust 与以太坊进行集成**
-
-需要更基础的入门知识? 请查看 [ethereum.org/learn](/learn/) 或者 [ethereum.org/developers](/developers/)。
-
-- [区块链详解](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
-- [理解智能合约](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
-- [编写你的第一个智能合约](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
-- [学习如何编写和部署 Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
-
-## 初学者文章 {#beginner-articles}
-
-- [选择以太坊客户端](https://www.trufflesuite.com/docs/truffle/reference/choosing-an-ethereum-client)
-- [Rust 以太坊客户端](https://openethereum.github.io/) \* **注意 OpenEthereum [已被废弃](https://medium.com/openethereum/gnosis-joins-erigon-formerly-turbo-geth-to-release-next-gen-ethereum-client-c6708dd06dd)并已停止维护。** 请谨慎使用,最好切换至其他客户端实现。
-- [使用 Rust 向以太坊发送交易](https://kauri.io/#collections/A%20Hackathon%20Survival%20Guide/sending-ethereum-transactions-with-rust/)
-- [如何用 Rust Wasm 为 Kovan 编写合约的分步教程](https://github.com/paritytech/pwasm-tutorial)
-
-## 面向中等程度用户的文章 {#intermediate-articles}
-
-## 面向高等程度用户的使用模式 {#advanced-use-patterns}
-
-- [pwasm_ethereum 外部库与类以太坊网络交互](https://github.com/openethereum/pwasm-ethereum)
-- [使用 JavaScript 和 Rust 搭建去中心化聊天室](https://medium.com/perlin-network/build-a-decentralized-chat-using-javascript-rust-webassembly-c775f8484b52)
-- [使用 Vue.js 和 Rust 构建一个去中心化待办事项应用程序](https://medium.com/@jjmace01/build-a-decentralized-todo-app-using-vue-js-rust-webassembly-5381a1895beb)
-
-- [使用 Rust 构建区块链](https://blog.logrocket.com/how-to-build-a-blockchain-in-rust/)
-
-## Rust 项目和工具 {#rust-projects-and-tools}
-
-- [pwasm-ethereum](https://github.com/paritytech/pwasm-ethereum) - _与类似以太坊的网络交互的外部帐户集合_
-- [Lighthouse](https://github.com/sigp/lighthouse) - _以太坊快速共识层客户端_
-- [ Ethereum WebAssembly](https://ewasm.readthedocs.io/en/mkdocs/) - _使用 WebAssembly 的确定性子集对以太坊智能合约执行层建议的重新设计_
-- [oasis_std](https://docs.rs/oasis-std/latest/oasis_std/index.html) - _OASIS 应用程序接口参考_
-- [Solaris](https://github.com/paritytech/sol-rs) - _使用本机 Parity 客户端以太坊虚拟机的 Solidity 智能合约单元测试工具。_
-- [SputnikVM](https://github.com/rust-blockchain/evm) - _以太坊虚拟机的 Rust 实现_
-- [Wavelet](https://wavelet.perlin.net/docs/smart-contracts) - _Rust 语言的 Wavelet 智能合约_
-- [Foundry](https://github.com/foundry-rs/foundry) - _以太坊应用程序开发工具包_
-- [Alloy](https://alloy.rs) - _高性能、严格测试且文档完备的程序库,用于与以太坊和其他基于以太坊虚拟机的链交互。_
-- [Ethers_rs](https://github.com/gakonst/ethers-rs) - _以太坊库和钱包的实现_
-- [SewUp](https://github.com/second-state/SewUp) - _一个帮助用户用 Rust 语言构建以太坊 Webassembly 合约的库,正如在公共后端中开发一样_
-- [Substreams](https://github.com/streamingfast/substreams) - _并行化区块链数据索引技术_
-- [Reth](https://github.com/paradigmxyz/reth) - Reth 即 Rust 以太坊的简称,是新的以太坊全节点实现
-- [Awesome Ethereum Rust](https://github.com/Vid201/awesome-ethereum-rust) - _ 以太坊生态系统中用 Rust 编写的项目精选集合_
-
-想要获取更多的资源? 请查看 [ethereum.org/developers](/developers/)。
-
-## Rust 社区贡献者 {#rust-community-contributors}
-
-- [Ethereum WebAssembly](https://gitter.im/ewasm/Lobby)
-- [Oasis Gitter](https://gitter.im/Oasis-official/Lobby)
-- [Parity Gitter](https://gitter.im/paritytech/parity)
-- [Enigma](https://discord.gg/SJK32GY)
diff --git "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/storage/index.md" "b/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/storage/index.md"
deleted file mode 100644
index f653d896487..00000000000
--- "a/public/content/translations/zh/18) Docs \342\200\223 Tech Stack Pages/developers/docs/storage/index.md"
+++ /dev/null
@@ -1,217 +0,0 @@
----
-title: 去中心化存储
-description: 概述什么是分布式存储和集成到去中心化应用程序中的相关工具。
-lang: zh
----
-
-不同于由一个公司或组织控制的中心服务器,分布式存储系统由分别持有全局数据中部分数据的用户操作者组成 P2P 网络,形成了一个具有弹性的文件储存、共享系统。 这些可以应用于基于区块链的应用程序或任何 P2P 网络中。
-
-以太坊本身可以用作分布式存储系统,所有智能合约的编码储存就是一种分布式存储。 然而,当涉及大量的数据存储时,就不太符合以太坊的最初目标。 这一区块链正在稳步增长,在本报告撰写之时,以太坊区块链约为 500GB - 1TB([取决于客户端](https://etherscan.io/chartsync/chaindefault)),而网络上的每个节点都需要存储所有这些数据。 如果链上数据量继续扩大(例如 5TB),那么将导致所有节点都无法继续运行。 而且,由于[燃料](/developers/docs/gas)费用,将这么多数据部署到主网的费用将非常昂贵。
-
-由于这些制约因素,我们需要使用不同的区块链或方法,以分布式的方式储存大量数据。
-
-在查看去中心化存储选项时,用户必须牢记几件事情。
-
-- 持久性机制/激励结构
-- 数据保留执行
-- 去中心化
-- 共识
-
-## 持久性机制/激励结构 {#persistence-mechanism}
-
-### 基于区块链 {#blockchain-based}
-
-为了使某个数据永久保存,我们需要使用一种持久性机制。 例如,在以太坊中,持久性机制是当运行一个节点时,需要考虑整条链的情况。 新建的数据持续不断地堆积到链的末端,并且要求每个节点复制所有新加入的数据。
-
-这被称为**基于区块链**的持久性机制。
-
-区块链的持久性存储机制会出现区块链过大,维护和存储所有数据十分困难的问题(比如[许多机构](https://healthit.com.au/how-big-is-the-internet-and-how-do-we-measure-it/)预测整个区块链网络需要 40ZB 的存储容量)。
-
-区块链还必须有某种类型的激励结构。 为获得基于区块链的持久性,需要向验证者付款。 数据被添加到链上后,向验证者付款以继续添加数据。
-
-基于区块链持久性的平台:
-
-- 以太坊
-- [Arweave](https://www.arweave.org/)
-
-### 基于合约 {#contract-based}
-
-我们能直观地感受到,**基于合约**的持久性使得数据不能被每个节点复制并永久存储,而必须根据合约协议进行维护。 这些是与多个节点达成的协议,这些节点承诺在一段时间内保存一份数据。 每当费用耗尽或数据更新时,就必须向这些节点续费,以保持数据的持续性。
-
-在大多数情况下,不是在链上储存所有数据,而是在链上存储定位数据的哈希值。 这样,整条链不需要扩大规模,就能保存所有数据。
-
-基于合约持久性的平台:
-
-- [Filecoin](https://docs.filecoin.io/about-filecoin/what-is-filecoin/)
-- [Skynet](https://siasky.net/)
-- [Storj](https://storj.io/)
-- [0Chain](https://0chain.net/)
-- [Crust Network](https://crust.network)
-- [Swarm](https://www.ethswarm.org/)
-- [4EVERLAND](https://www.4everland.org/)
-
-### 其他注意事项 {#additional-consideration}
-
-星际文件系统是一个储存和访问文件、网站、应用程序和数据的分布式系统。 虽然它没有内置激励计划,但可以与上述任何基于合同的激励解决方案一起使用,以获得更长期的持久性。 另一个将数据持久存储在星际文件系统上的办法是与某项固定服务(表示将你的数据固定在某处)一起使用。 你甚至可以运行自己的星际文件系统节点来为该网络做出贡献,从而将你和/或他人的数据免费持久地存储在星际文件系统上。
-
-- [星际文件系统](https://docs.ipfs.io/concepts/what-is-ipfs/)
-- [Pinata](https://www.pinata.cloud/)_(星际文件系统固定服务)_
-- [web3.storage](https://web3.storage/)_(星际文件系统/菲乐币固定服务)_
-- [Infura](https://infura.io/product/ipfs)_(星际文件系统固定服务)_
-- [IPFS Scan](https://ipfs-scan.io) _(星际文件系统固定浏览器)_
-- [4EVERLAND](https://www.4everland.org/)_(星际文件系统固定服务)_
-- [Filebase](https://filebase.com)_(星际文件系统固定服务)_
-- [Spheron Network](https://spheron.network/)_(星际文件系统/菲乐币固定服务)_
-
-SWARM 是一种去中心化的数据存储和分发技术,具有存储激励系统和存储空间租金价格预言机。
-
-## 数据留存 {#data-retention}
-
-为了保留数据,系统必须有某种机制,确保数据得到保留。
-
-### 质疑机制 {#challenge-mechanism}
-
-一种最常见的确保保留数据的方法是使用某种类型的密码质询,这种加密质询向节点发出,确保它们仍然持有数据。 一种简单的方法是查看 Arweave 的访问证明。 他们向节点发出质询,查看它们是否在最近的区块和过去的随机区块中都具有数据。 如果节点无法给出答案,则会受到惩罚。
-
-具有质询机制的去中心化存储类型:
-
-- 0Chain
-- Skynet
-- Arweave
-- Filecoin
-- Crust Network
-- 4EVERLAND
-
-### 去中心化 {#decentrality}
-
-没有有效的工具来衡量平台的去中心化程度,但一般来说,你可能想使用那些没有某种形式的身份验证的工具来证明平台并未中心化。
-
-不使用身份验证的去中心化工具:
-
-- 0Chain(实现非 KYC 版本)
-- Skynet
-- Arweave
-- Filecoin
-- 星际文件系统
-- 以太坊
-- Crust Network
-- 4EVERLAND
-
-### 共识 {#consensus}
-
-这些工具大多有自己的[共识机制](/developers/docs/consensus-mechanisms/)版本,但一般都是基于[**工作量证明 (PoW)**](/developers/docs/consensus-mechanisms/pow/) 或[**权益证明 (PoS)**](/developers/docs/consensus-mechanisms/pos/)。
-
-基于工作量证明的工具:
-
-- Skynet
-- Arweave
-
-基于权益证明的工具:
-
-- 以太坊
-- Filecoin
-- 0Chain
-- Crust Network
-
-## 相关工具 {#related-tools}
-
-**IPFS - _即星际文件系统,是以太坊的去中心化存储和文件引用系统。_**
-
-- [Ipfs.io](https://ipfs.io/)
-- [相关文档](https://docs.ipfs.io/)
-- [GitHub](https://github.com/ipfs/ipfs)
-
-**Storj DCS - _安全、私有、与 S3 兼容的去中心化云对象存储,供开发者使用。_**
-
-- [Storj.io](https://storj.io/)
-- [相关文档](https://docs.storj.io/)
-- [GitHub](https://github.com/storj/storj)
-
-**Skynet - _Skynet 是一条去中心化的工作量证明链,专用于去中心化网络。_**
-
-- [Skynet.net](https://siasky.net/)
-- [相关文档](https://siasky.net/docs/)
-- [GitHub](https://github.com/SkynetLabs/)
-
-**Filecoin - _Filecoin 由星际文件系统背后的同一团队打造。 它是星际文件系统概念之上的一个激励层。_**
-
-- [Filecoin.io](https://filecoin.io/)
-- [相关文档](https://docs.filecoin.io/)
-- [GitHub](https://github.com/filecoin-project/)
-
-**Arweave - _Arweave 是去中心化数据存储平台。_**
-
-- [Arweave.org](https://www.arweave.org/)
-- [相关文档](https://docs.arweave.org/info/)
-- [Arweave](https://github.com/ArweaveTeam/arweave/)
-
-**0chain - _0Chain 是一个基于权益证明的去中心化存储平台,具有区块分片和 blobber。_**
-
-- [0Chain.net](https://0chain.net/)
-- [相关文档](https://docs.0chain.net/0chain/)
-- [GitHub](https://github.com/0chain/)
-
-**Crust Network - _Crust 是基于星际文件系统的去中心化存储平台。_**
-
-- [Crust.network](https://crust.network)
-- [相关文档](https://wiki.crust.network)
-- [GitHub](https://github.com/crustio)
-
-**Swarm - _以太坊 Web3 堆栈的分布式存储平台和内容分发服务。_**
-
-- [EthSwarm.org](https://www.ethswarm.org/)
-- [相关文档](https://docs.ethswarm.org/docs/)
-- [GitHub](https://github.com/ethersphere/)
-
-**OrbitDB - _基于星际文件系统的去中心化点对点数据库。_**
-
-- [OrbitDB.org](https://orbitdb.org/)
-- [相关文档](https://github.com/orbitdb/field-manual/)
-- [GitHub](https://github.com/orbitdb/orbit-db/)
-
-**Aleph.im - _去中心化云项目(数据库、文件存储、计算和去中心化身份)。 独特的链下和链上点对点技术融合。 星际文件系统以及多链兼容性。_**
-
-- [Aleph.im](https://aleph.im/)
-- [相关文档](https://aleph.im/#/developers/)
-- [GitHub](https://github.com/aleph-im/)
-
-**Ceramic - _用户控制的星际文件系统数据库存储,用于数据丰富和吸引人的应用程序。_**
-
-- [Ceramic.network](https://ceramic.network/)
-- [相关文档](https://developers.ceramic.network/learn/welcome/)
-- [GitHub](https://github.com/ceramicnetwork/js-ceramic/)
-
-**Filebase - _ S3 兼容的去中心化存储和地理冗余星际文件系统固定服务。 所有通过 Filebase 上传到星际文件系统的文件都会自动被固定到 Filebase 基础设施,在全球复制 3 份。_**
-
-- [Filebase.com](https://filebase.com/)
-- [相关文档](https://docs.filebase.com/)
-- [GitHub](https://github.com/filebase)
-
-**4EVERLAND - _Web 3.0 云计算平台,集存储、计算和网络核心能力于一体,兼容 S3,在星际文件系统和 Arweave 等去中心化存储网络上提供同步数据存储。_**
-
-- [4everland.org](https://www.4everland.org/)
-- [相关文档](https://docs.4everland.org/)
-- [GitHub](https://github.com/4everland)
-
-**Kaleido - _一个具有点击按钮星际文件系统节点的区块链即服务平台_**
-
-- [Kaleido](https://kaleido.io/)
-- [相关文档](https://docs.kaleido.io/kaleido-services/ipfs/)
-- [GitHub](https://github.com/kaleido-io)
-
-**Spheron Network - _Spheron 是一项平台即服务 (PaaS),专为希望在去中心化基础设施上启动其应用程序并获得最佳性能的去中心化应用程序而设计。 它提供开箱即用的计算、去中心化存储、内容分发网络和虚拟主机。_**
-
-- [spheron.network](https://spheron.network/)
-- [相关文档](https://docs.spheron.network/)
-- [GitHub](https://github.com/spheronFdn)
-
-## 延伸阅读 {#further-reading}
-
-- [什么是去中心化存储?](https://coinmarketcap.com/alexandria/article/what-is-decentralized-storage-a-deep-dive-by-filecoin) - _CoinMarketCap_
-- [打破关于去中心化存储的五种谣传](https://www.storj.io/blog/busting-five-common-myths-about-decentralized-storage) - _Storj_
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
-
-## 相关主题 {#related-topics}
-
-- [开发框架](/developers/docs/frameworks/)
diff --git a/public/content/translations/zh/19) Learn Pages 2/glossary/index.md b/public/content/translations/zh/19) Learn Pages 2/glossary/index.md
deleted file mode 100644
index c7aca48b226..00000000000
--- a/public/content/translations/zh/19) Learn Pages 2/glossary/index.md
+++ /dev/null
@@ -1,499 +0,0 @@
----
-title: 以太坊词汇表
-description: 以太坊相关的技术性和非技术性术语的不完全清单
-lang: zh
----
-
-# 词汇表 {#ethereum-glossary}
-
-## \# {#section-numbers}
-
-
-
-
-
-## A {#section-a}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## B {#section-b}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## C {#section-c}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## D {#section-d}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## E {#section-e}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## F {#section-f}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## G {#section-g}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## H {#section-h}
-
-
-
-
-
-
-
-
-
-
-
-
-
-## I {#section-i}
-
-
-
-
-
-
-
-
-
-
-
-
-
-## K {#section-k}
-
-
-
-
-
-
-
-
-
-
-
-## L {#section-l}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## M {#section-m}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## N {#section-n}
-
-
-
-
-
-
-
-
-
-
-
-
-
-## O {#section-o}
-
-
-
-
-
-
-
-
-
-
-
-
-
-## P {#section-p}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## R {#section-r}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## S {#section-s}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## T {#section-t}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## V {#section-v}
-
-
-
-
-
-
-
-
-
-
-
-
-
-## W {#section-w}
-
-
-
-
-
-
-
-
-
-## Z {#section-z}
-
-
-
-
-
-
-
-
-
-## 来源 {#sources}
-
-_摘自 [Andreas M. Antonopoulos、Gavin Wood](https://ethereumbook.info) 的[《精通以太坊》](https://github.com/ethereumbook/ethereumbook)(依据 CC-BY-SA 许可协议)_
-
-
-
-## 完善本页面 {#contribute-to-this-page}
-
-我们是否还有所遗漏? 是否存在谬误? 请在 GitHub 上完善此词汇表,帮助我们改进!
-
-[详细了解如何为我们提供帮助](/contributing/adding-glossary-terms)
diff --git a/public/content/translations/zh/19) Learn Pages 2/history/index.md b/public/content/translations/zh/19) Learn Pages 2/history/index.md
deleted file mode 100644
index a37284ee012..00000000000
--- a/public/content/translations/zh/19) Learn Pages 2/history/index.md
+++ /dev/null
@@ -1,623 +0,0 @@
----
-title: 以太坊的历史和分叉
-description: 以太坊区块链的历史,包括了主要的里程碑、版本发布和分叉。
-lang: zh
-sidebarDepth: 1
----
-
-# 以太坊的历史 {#the-history-of-ethereum}
-
-所有主要里程碑、分叉和更新以太坊区块链的时间表
-
-
-
-分叉是指需要对网络进行重大技术升级或更改之时 – 它们通常源自以太坊改进提案 (EIP) 并更改了以太坊协议的“规则”。
-
-当传统的中心化软件需要升级时,公司会为终端用户发布新版本。 因为没有中心化所有权,区块链以不同的方式运作。 以太坊客户端必须更新他们的软件以执行新的分叉规则。 直链区块创造者(POW 中的矿工,POS 中的验证者)和节点必须创造区块和按照新规则进行验证。 关于共识机制的更多信息
-
-这些规则更改可能会在网络中造成暂时的分叉。 新区块的产生,可以来自新规则,也可以来自旧规则。 分叉通常提前商定,以便让客户端能够采用 Unison 的升级,升级后的分叉链成为主链。 然而,在极少数情况下,对分叉的不同意见可能导致网络永久硬分叉 – 最为著名的是 DAO 分叉 产生了以太坊经典这一平台。
-
-
-
-
-
-以太坊的基础软件由两部分组成,称为 [执行层] (/glossary/#execution-layer) 和 [共识层](/glossary/#consensus-layer)。
-
-**执行层升级命名**
-
-从 2021 年开始,**执行层**的升级按时间顺序,以 [上一届以太坊开发者大会(Devcon)举办地点] (https://devcon.org/en/past-events/) 所在城市来命名:
-
-| 升级名称 | 测试版年份 | 测试版编号 | 升级日期 |
-| ------------ | ----------- | ------------- | ------------ |
-| Berlin | 2015 年 | 0 | 2021 年 4 月 15 日 |
-| London | 2016 年 | I | 2021 年 8 月 5 日 |
-| Shangha | 2017 年 | II | 2023 年 4 月 12 日 |
-| **Cancun** | 2018 年 | III | 2024 年 3 月 13 日 |
-| _Prague_ | 2019 年 | IV | 待定 |
-| _Osaka_ | 2020 年 | V | 待定 |
-| _Bogota_ | 2022 年 | VI | 待定 |
-| _Bangkok_ | 2024 年 | VII | 待定 |
-
-**共识层升级命名**
-
-从 [信标链] (/glossary/#beacon-chain) 启动开始,**共识层**的升级按字母顺序,以天体恒星来命名:
-
-| 升级名称 | 升级日期 |
-| ----------------------------------------------------------- | ------------ |
-| 信标链创世块 | 2020 年 12 月 1 日 |
-| [Altair](https://en.wikipedia.org/wiki/Altair) | 2021 年 10 月 27 日 |
-| [Bellatrix](https://en.wikipedia.org/wiki/Bellatrix) | 2022 年 9 月 6 日 |
-| [Capella](https://en.wikipedia.org/wiki/Capella) | 2023 年 4 月 12 日 |
-| [**Deneb**](https://en.wikipedia.org/wiki/Deneb) | 2024 年 3 月 13 日 |
-| [_Electra_]() | 待定 |
-
-**结合命名**
-
-执行层和共识层升级一开始于不同的时间段推出,然而在 2022 年的 [合并] (/roadmap/merge/) 以后,便开始同时部署。 因此,出现了一些非正式术语,即使用合并术语来简化这些升级的称呼。 这种方法始于常常被称为“**Shapella**”的 _Shanghai-Capella_ 升级,之后继续用于可能被称为“**Dencun**”的 _Cancun-Deneb_ 升级。
-
-| 执行层升级 | 共识层升级 | 简称 |
-| ----------------- | ----------------- | ---------- |
-| Shanghai | Capella | |“Shapella” |
-| Cancun | Deneb | “Dencun” |
-
-
-
-直接查阅有关一些特别重要的以往升级的信息:[信标链](/roadmap/beacon-chain/)、[合并](/roadmap/merge/)和 [EIP-1559](#london)
-
-想了解未来的协议升级? [了解以太坊路线图上即将进行的升级](/roadmap/)。
-
-
-
-## 2024 年 {#2024}
-
-### Cancun-Deneb(“Dencun”)升级 {#dencun}
-
-
-
-#### Cancun 升级摘要 {#cancun-summary}
-
-Cancun 升级包含了一系列对以太坊_执行层_的改进,旨在提高可扩展性,与 Deneb 共识层升级同时进行。
-
-值得注意的是,该升级包含了 EIP-4844,也称为 **Proto-Danksharding**,它显著降低了二层网络卷叠的数据存储成本。 这是通过引入数据 “二进制大对象” 来实现的,使得卷叠可以在短时间内将数据发布到主网。 这显著降低了二层网络卷叠用户的交易费。
-
-
-
-
-
-
-
-- [二层网络卷叠](/layer-2/)
-- [Proto-Danksharding](/roadmap/scaling/#proto-danksharding)
-- [Danksharding](/roadmap/danksharding/)
-- [阅读 Cancun 升级规范](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/cancun.md)
-
-#### Deneb 升级摘要 {#deneb-summary}
-
-Deneb 升级包含了一系列对以太坊_共识层_的改进,旨在提高可扩展性。 此次升级与 Cancun 执行层升级同时进行,以启用 Proto-Danksharding (EIP-4844),并对信标链进行了其他改进。
-
-预生成的已签名“自愿退出信息”不再过期,因此赋予用户更多控制权,使他们可以将资金委托给第三方节点运营商进行质押。 使用这种已签名的退出信息,质押者可以委托节点运营,同时保持随时安全退出并提取资金的能力,无需向任何人请求许可。
-
-EIP-7514 通过限制验证者加入网络的“流动”率至每个时代最多八 (8) 个,从而加强了以太币的发行控制。 由于以太币的发行量与质押的以太币总量成正比,限制加入的验证者数量可以控制新发行以太币的_增长率_,同时还降低了节点运营商的硬件需求,有助于去中心化。
-
-
-
-
-
-
-
-- [阅读 Deneb 升级规范](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/)
-- [Cancun-Deneb(“Dencun”)升级常见问题](/roadmap/dencun/)
-
-
-
-## 2023 年 {#2023}
-
-### Shanghai-Capella(“Shapella”)升级 {#shapella}
-
-
-
-#### Shanghai 升级摘要 {#shanghai-summary}
-
-上海升级将质押提款引入执行层。 上海升级与卡佩拉升级同时进行,使区块能够接受提款操作,因此质押人可以将以太币从信标链提取到执行层。
-
-
-
-
-
-
-
-- [阅读上海升级规范](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/shanghai.md)
-
-#### Capella 升级摘要 {#capella-summary}
-
-卡佩拉升级是共识层(信标链)的第三次重大升级,实现了质押提款。 卡佩拉升级与执行层升级上海升级同时进行,启用了质押提款功能。
-
-这次共识层升级让未提供初始存款提款凭证的质押人能够提供提款凭证,从而实现提款。
-
-该升级还提供了自动帐户扫描功能,可以持续处理验证者帐户的任何可用奖励支付或全额提款。
-
-- [有关质押提款的更多信息](/staking/withdrawals/)。
-- [阅读卡佩拉升级规范](https://github.com/ethereum/consensus-specs/blob/dev/specs/capella/)
-
-
-
-## 2022 年 {#2022}
-
-### 巴黎升级(合并) {#paris}
-
-
-
-#### 概览 {#paris-summary}
-
-巴黎升级是由于工作量证明区块链超过了[终端总难度](/glossary/#terminal-total-difficulty) 58750000000000000000000 而触发的。 这发生在 2022 年 9 月 15 日区块 15537393 上,并在下一个区块处触发了巴黎升级。 巴黎升级就是[合并](/roadmap/merge/)过渡,以太坊的主要功能结束了[工作量证明](/developers/docs/consensus-mechanisms/pow)挖矿算法及相关共识逻辑并启动了[权益证明](/developers/docs/consensus-mechanisms/pos)。 巴黎升级本身是对[执行客户端](/developers/docs/nodes-and-clients/#execution-clients)的升级(相当于共识层上的 Bellatrix 升级),让执行客户端能够从与其连接的[共识客户端](/developers/docs/nodes-and-clients/#consensus-clients)接受指令。 这需要激活一组新的内部应用程序接口方法,统称为[引擎应用程序接口](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md)。 该升级可能是自[家园](#homestead)以来以太坊历史上最重要的升级!
-
-- [阅读巴黎升级规范](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/paris.md)
-
-
-
-
-
-
-
----
-
-### Bellatrix 升级 {#bellatrix}
-
-
-
-#### 摘要 {#bellatrix-summary}
-
-Bellatrix 升级是计划的第二次[信标链](/roadmap/beacon-chain)升级,让信标链为[合并](/roadmap/merge/)做好准备。 它将验证者由于怠惰及进行了可被罚没的行为而受到的惩罚提高到其全部价值。 Bellatrix 升级还包括对分叉选择规则的更新,让信标链为合并以及从最后一个工作量证明区块过渡到第一个权益证明区块做好准备。 这包括让共识客户端意识到[终端总难度](/glossary/#terminal-total-difficulty) 58750000000000000000000。
-
-- [阅读 Bellatrix 升级规范](https://github.com/ethereum/consensus-specs/tree/dev/specs/bellatrix)
-
----
-
-### 灰色冰川升级 {#gray-glacier}
-
-
-
-#### 摘要 {#gray-glacier-summary}
-
-灰色冰川网络升级将[难度炸弹](/glossary/#difficulty-bomb)推迟了三个月。 这是此次升级中引入的唯一变更,本质上类似于[箭形冰川](#arrow-glacier)和[缪尔冰川](#muir-glacier)升级。 [拜占庭](#byzantium)、[君士坦丁堡](#constantinople)和[伦敦](#london)网络升级也做了类似的变更。
-
-- [以太坊基金会博客 - 灰色冰川升级公告](https://blog.ethereum.org/2022/06/16/gray-glacier-announcement/)
-
-
-
-
- - EIP-5133 – 将难度炸弹推迟到 2022 年 9 月启动
-
-
-
-
-
-
-## 2021 年 {#2021}
-
-### 箭形冰川升级 {#arrow-glacier}
-
-
-
-#### 摘要 {#arrow-glacier-summary}
-
-箭形冰川网络升级将[难度炸弹](/glossary/#difficulty-bomb)推迟了数月。 这是此次升级中引入的唯一变更,本质上类似于[缪尔冰川](#muir-glacier)升级。 [拜占庭](#byzantium)、[君士坦丁堡](#constantinople)和[伦敦](#london)网络升级也做了类似的更改。
-
-- [以太坊基金会博客 - 箭形冰川升级公告](https://blog.ethereum.org/2021/11/10/arrow-glacier-announcement/)
-- [以太坊牧猫人组织 - 以太坊箭形冰川升级](https://medium.com/ethereum-cat-herders/ethereum-arrow-glacier-upgrade-e8d20fa4c002)
-
-
-
-
- - EIP-4345 – 将难度炸弹推迟到 2022 年 6 月启动
-
-
-
-
----
-
-### 天鹰座升级 {#altair}
-
-
-
-#### 摘要 {#altair-summary}
-
-天鹰座升级是计划的第一次[信标链](/roadmap/beacon-chain)升级。 它增加了对“同步委员会”的支持—支持轻客户端,在向合并进展的过程中,增加了对验证者怠惰及可被罚没行为的惩罚。
-
-- [阅读天鹰座升级规范](https://github.com/ethereum/consensus-specs/tree/dev/specs/altair)
-
-#### 有趣的事实! {#altair-fun-fact}
-
-天鹰座升级是第一个有确切发布时间的重大网络升级。 之前的每一次升级均基于一个已经在工作量证明链上申报过的区块编号,而该链上的区块时间各不相同。 信标链不需要解析工作量证明,而是在一个基于时间、由 32 个 12 秒“时隙”组成的时段系统上运作。在这个系统上,验证者可以提出区块。 这就是为什么我们能准确知晓达到时段 74,240 以及天鹰座升级启动的时间!
-
-- [出块时间](/developers/docs/blocks/#block-time)
-
----
-
-### 伦敦升级 {#london}
-
-
-
-#### 摘要 {#london-summary}
-
-伦敦升级引入了 [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559),对交易费市场进行了改革,同时还对燃料费的退款处理方式和[冰河世纪](/glossary/#ice-age)日程进行了修改。
-
-#### 什么是 London 升级 / EIP-1559? {#eip-1559}
-
-在 London 升级之前,以太坊有固定大小的区块。 在网络需求高峰期,这些区块满负荷运行。 因此,用户常常不得不等到需求量降低后才能将交易添加到区块中,这导致用户体验变差。 London 升级为以太坊引入了大小可变的区块。
-
-以太坊网络交易费的计算方式在 2021 年 8 月的 [London 升级](/history/#london)后发生了改变。 在 London 伦敦升级前,费用的计算没有区分 `base` 费用和 `priority` 费用,如下所示:
-
-假设 Alice 需要向 Bob 支付 1 个以太币。 在交易中,燃料限制为 21,000 单位,燃料的价格是 200 gwei。
-
-总费用为:`Gas units (limit) * Gas price per unit`,即 `21,000 * 200 = 4,200,000 gwei` 或 0.0042 个以太币。
-
-在 London 升级中实施的 [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) 使交易费机制变得更加复杂,但提高了燃料费的可预测性,使交易费市场更加高效。 用户可以在提交交易时设定 `maxFeePerGas`(对应于他们愿意为执行交易支付多少费用)。他们清楚支付金额不会超过燃料的市场价格 (`baseFeePerGas`),并且多支付的金额将在减去小费后退还。
-
-这个视频对 EIP-1559 及其带来的好处进行了解释说明:[EIP-1559 说明](https://www.youtube.com/watch?v=MGemhK9t44Q)
-
-- [你是去中心化应用程序的开发者吗? 请务必升级你的程序库和工具。](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/london-ecosystem-readiness.md)
-- [请阅读以太坊基金会公告](https://blog.ethereum.org/2021/07/15/london-mainnet-announcement/)
-- [请阅读以太坊牧猫人组织的解释说明](https://medium.com/ethereum-cat-herders/london-upgrade-overview-8eccb0041b41)
-
-
-
-
-
-
-
----
-
-### 柏林升级 {#berlin}
-
-
-
-#### 摘要 {#berlin-summary}
-
-柏林升级优化了某些以太坊虚拟机操作的燃料成本,并增加了对多种交易类型的支持。
-
-- [请阅读以太坊基金会公告](https://blog.ethereum.org/2021/03/08/ethereum-berlin-upgrade-announcement/)
-- [请阅读以太坊牧猫人组织的解释说明](https://medium.com/ethereum-cat-herders/the-berlin-upgrade-overview-2f7ad710eb80)
-
-
-
-
-
-
-
-
-
-## 2020 年 {#2020}
-
-### 信标链创世块 {#beacon-chain-genesis}
-
-
-
-#### 摘要 {#beacon-chain-genesis-summary}
-
-[信标链](/roadmap/beacon-chain/)需要 16384 个存储了 32 个质押以太币的帐户,以确保安全上线。 这发生于 2020 年 11 月 27 日,意味着信标链在 2020 年 12 月 1 日开始生产区块。 这是实现[以太坊愿景](/roadmap/vision/)的第一步,十分重要。
-
-[请阅读以太坊基金会公告](https://blog.ethereum.org/2020/11/27/eth2-quick-update-no-21/)
-
-
- 信标链
-
-
----
-
-### 已部署质押存款合约 {#staking-deposit-contract}
-
-
-
-#### 摘要 {#deposit-contract-summary}
-
-质押存款合约将[质押](/glossary/#staking)引入以太坊生态系统。 虽然是一个[主网](/glossary/#mainnet)合约,但它直接影响到[信标链](/roadmap/beacon-chain/)的发布时间线,而后者是[以太坊升级](/roadmap/)的重要部分。
-
-[请阅读以太坊基金会公告](https://blog.ethereum.org/2020/11/04/eth2-quick-update-no-19/)
-
-
- 质押
-
-
----
-
-### 缪尔冰川升级 {#muir-glacier}
-
-
-
-#### 摘要 {#muir-glacier-summary}
-
-缪尔冰川分叉使[难度炸弹](/glossary/#difficulty-bomb)延迟。 增加[工作量证明](/developers/docs/consensus-mechanisms/pow/)共识机制的区块难度可能会增加发送交易和使用去中心化应用程序的等待时间,从而降低以太坊的可用性。
-
-- [请阅读以太坊基金会公告](https://blog.ethereum.org/2019/12/23/ethereum-muir-glacier-upgrade-announcement/)
-- [请阅读以太坊牧猫人组织的解释说明](https://medium.com/ethereum-cat-herders/ethereum-muir-glacier-upgrade-89b8cea5a210)
-
-
-
-
- - EIP-2384 – 将难度炸弹再推迟 4,000,000 个区块,大约是 611 天。
-
-
-
-
-
-
-## 2019 年 {#2019}
-
-### 伊斯坦布尔分叉 {#istanbul}
-
-
-
-#### 摘要 {#istanbul-summary}
-
-伊斯坦布尔分叉:
-
-- 优化了[以太坊虚拟机](/developers/docs/ethereum-stack/#ethereum-virtual-machine)中特定操作的[燃料](/glossary/#gas)成本。
-- 提高受到拒绝服务攻击后的复原能力。
-- 使基于“零知识简洁非交互式知识论证”和“零知识可扩容透明知识论证”的[二层网络扩容](/developers/docs/scaling/#layer-2-scaling)解决方案具有更佳的性能。
-- 使以太坊和 Zcash 能够互操作。
-- 让合约能够引入更多创造性功能。
-
-[请阅读以太坊基金会公告](https://blog.ethereum.org/2019/11/20/ethereum-istanbul-upgrade-announcement/)
-
-
-
-
-
-
-
----
-
-### 君士坦丁堡分叉 {#constantinople}
-
-
-
-#### 摘要 {#constantinople-summary}
-
-君士坦丁堡分叉:
-
-- 将区块[挖矿](/developers/docs/consensus-mechanisms/pow/mining/)奖励从 3 个以太币减少到 2 个。
-- 确保在[实现权益证明](#beacon-chain-genesis)之前,区块链不会冻结。
-- 优化了[以太坊虚拟机](/developers/docs/ethereum-stack/#ethereum-virtual-machine)中特定操作的[燃料](/glossary/#gas)成本。
-- 添加了与尚未创建的地址进行交互的能力。
-
-[请阅读以太坊基金会公告](https://blog.ethereum.org/2019/02/22/ethereum-constantinople-st-petersburg-upgrade-announcement/)
-
-
-
-
-
-
-
-
-
-## 2017 年 {#2017}
-
-### 拜占庭升级 {#byzantium}
-
-
-
-#### 摘要 {#byzantium-summary}
-
-拜占庭分叉:
-
-- 将区块[挖矿](/developers/docs/consensus-mechanisms/pow/mining/)奖励从 5 个以太币减少到 3 个以太币。
-- 将[难度炸弹](/glossary/#difficulty-bomb)推迟一年。
-- 增加了调用其他合约而不更改状态的能力。
-- 增加了某些加密方法,以实现[二层网络扩容](/developers/docs/scaling/#layer-2-scaling)。
-
-[请阅读以太坊基金会公告](https://blog.ethereum.org/2017/10/12/byzantium-hf-announcement/)
-
-
-
-
- - EIP-140 – 添加
REVERT
操作码。
- - EIP-658 – 在交易收据中添加状态字段,以指示成功或失败。
- - EIP-196 – 增加了椭圆曲线和标量乘法以允许 ZK-Snarks。
- - EIP-197 – 增加了椭圆曲线和标量乘法以允许零知识简洁非交互式知识论证。
- - EIP-198 – 启用 RSA 签名验证。
- - EIP-211 – 添加了对可变长度返回值的支持。
- - EIP-214 – 添加
STATICCALL
操作码,允许对其他合约进行非状态改变调用。
- - EIP-100 – 更改难度调整公式。
- - EIP-649 – 将难度炸弹推迟 1 年,并将区块奖励从 5 以太币减少到 3 以太币。
-
-
-
-
-
-
-## 2016 年 {#2016}
-
-### Spurious Dragon {#spurious-dragon}
-
-
-
-#### 概览 {#spurious-dragon-summary}
-
-伪龙分叉是对拒绝服务 (DoS) 网络攻击(2016 年 9 月/10 月)的第二个响应,包括:
-
-- 调整操作码价格,以防网络将来再受攻击。
-- 启用区块链状态的“区块链减重”。
-- 增加重放攻击保护。
-
-[请阅读以太坊基金会公告](https://blog.ethereum.org/2016/11/18/hard-fork-no-4-spurious-dragon/)
-
-
-
-
-
-
-
----
-
-### 橘子口哨分叉 {#tangerine-whistle}
-
-
-
-#### 摘要 {#tangerine-whistle-summary}
-
-橘子口哨分叉是对拒绝服务 (DoS) 网络攻击(2016 年 9 月/10 月)的第一个响应,包括:
-
-- 解决与作价低估的操作代码有关的紧急网络健康问题。
-
-[请阅读以太坊基金会公告](https://blog.ethereum.org/2016/10/18/faq-upcoming-ethereum-hard-fork/)
-
-
-
-
-
-
-
----
-
-### 去中心化自治组织分叉 {#dao-fork}
-
-
-
-#### 摘要 {#dao-fork-summary}
-
-去中心化自治组织分叉是为了回应 [2016 年去中心化自治组织遭受攻击的事件](https://www.coindesk.com/learn/understanding-the-dao-attack/)。当时,一份不安全的[去中心化自治组织](/glossary/#dao)合约导致黑客盗走了超过 360 万个以太币。 此分叉将资金从有问题的合约转移到一个[新合约](https://etherscan.io/address/0xbf4ed7b27f1d666546e30d74d50d173d20bca754),新合约只有一个功能:提款。 任何损失了资金的人都可以在他们的钱包中提取以太币,每 100 个 DAO 代币 1 个以太币。
-
-此操作是由以太坊社区投票决定的。 任何以太币持有人都能够通过在[投票平台](https://web.archive.org/web/20170620030820/http://v1.carbonvote.com/)上交易来进行投票。 分叉的决定获得了 85% 以上的投票。
-
-一些矿工拒绝分叉,因为那次 DAO 事件并不是协议中的缺陷。 他们之后组建了[以太坊经典](https://ethereumclassic.org/)。
-
-[请阅读以太坊基金会公告](https://blog.ethereum.org/2016/07/20/hard-fork-completed/)
-
----
-
-### 家园分叉 {#homestead}
-
-
-
-#### 摘要 {#homestead-summary}
-
-家园分叉展望未来, 包括若干协议修改和联网变更,使以太坊能够进一步进行网络升级。
-
-[请阅读以太坊基金会公告](https://blog.ethereum.org/2016/02/29/homestead-release/)
-
-
-
-
-
-
-
-
-
-## 2015 年 {#2015}
-
-### 边境解冻分叉 {#frontier-thawing}
-
-
-
-#### 摘要 {#frontier-thawing-summary}
-
-边境解冻分叉提高了每个[区块](/glossary/#block) 5,000 单位[燃料](/glossary/#gas)的限制,并将默认燃料价格设为 51 [gwei](/glossary/#gwei)。 这样便能进行交易 - 交易需要 21,000 单位燃料。 而引入[难度炸弹](/glossary/#difficulty-bomb)是为了确保未来硬分叉到[权益证明](/glossary/#pos)。
-
-- [请阅读以太坊基金会公告](https://blog.ethereum.org/2015/08/04/the-thawing-frontier/)
-- [阅读以太坊协议更新 1](https://blog.ethereum.org/2015/08/04/ethereum-protocol-update-1/)
-
----
-
-### 边境 {#frontier}
-
-
-
-#### 摘要 {#frontier-summary}
-
-边境是以太坊最初的版本,但在上面能做的事情很少。 该版本在奥利匹克测试阶段成功完成之后推出。 它面向的是技术用户,特别是开发者。 [区块](/glossary/#block)有 5,000 单位的[燃料](/glossary/#gas)限制。 此“解冻”期使矿工能够开始操作,并使早期采用者能够有足够的时间来安装客户端。
-
-[请阅读以太坊基金会公告](https://blog.ethereum.org/2015/07/22/frontier-is-coming-what-to-expect-and-how-to-prepare/)
-
-
-
-## 2014 年 {#2014}
-
-### 以太币销售 {#ether-sale}
-
-
-
-以太币的预售期为 42 天, 可以使用比特币进行购买。
-
-[请阅读以太坊基金会公告](https://blog.ethereum.org/2014/07/22/launching-the-ether-sale/)
-
----
-
-### 黄皮书已发布 {#yellowpaper}
-
-
-
-Gavin Wood 博士撰写的黄皮书,关于以太坊协议的技术定义。
-
-[查看黄皮书](https://github.com/ethereum/yellowpaper)
-
-
-
-## 2013 年 {#2013}
-
-### 白皮书已发布 {#whitepaper}
-
-
-
-以太坊项目在 2015 年启动。但早在 2013 年,以太坊创始人 Vitalik Buterin 就发表了这一介绍性文章。
-
-
- 白皮书
-
diff --git "a/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/anatomy/index.md" "b/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/anatomy/index.md"
deleted file mode 100644
index 26ecc0ce1e3..00000000000
--- "a/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/anatomy/index.md"
+++ /dev/null
@@ -1,655 +0,0 @@
----
-title: 详解智能合约
-description: 深入解读智能合约:函数、数据和变量。
-lang: zh
----
-
-智能合约是一种在以太坊某个地址上运行的程序。 它们是由数据和函数组成的,可以在收到交易时执行。 以下概述一个智能合约的组成。
-
-## 前提条件 {#prerequisites}
-
-确保你已经先阅读了[智能合约](/developers/docs/smart-contracts/)。 本文档假设你已经熟悉某种编程语言,例如 JavaScript 或 Python。
-
-## 数据 {#data}
-
-任何合约数据必须分配到一个位置:要么是`存储`,要么是`内存`。 在智能合约中修改存储消耗很大,因此你需要考虑数据在哪里存取。
-
-### 存储 {#storage}
-
-持久性数据被称之为存储,由状态变量表示。 这些值被永久地存储在区块链上。 你需要声明一个类型,以便于合约在编译时可以跟踪它在区块链上需要多少存储。
-
-```solidity
-// Solidity example
-contract SimpleStorage {
- uint storedData; // State variable
- // ...
-}
-```
-
-```python
-# Vyper example
-storedData: int128
-```
-
-如果用过面向对象编程语言,应该会熟悉大多数类型。 但如果是刚接触以太坊开发,则会发现 `address` 是一个新类型。
-
-一个 `address` 类型可以容纳一个以太坊地址,相当于 20 个字节或 160 位。 它以十六进制的形式返回,前导是 0x。
-
-其它类型包括:
-
-- 布尔
-- 整数(integer)
-- 定点数(fixed point numbers)
-- 固定大小的字节数组(fixed-size byte arrays)
-- 动态大小的字节数组(dynamically-sized byte arrays)
-- 有理数和整数常量(Rational and integer literals)
-- 字符常量(String literals)
-- 十六进制常量(Hexadecimal literals)
-- 枚举(Enums)
-
-了解更多信息,请参阅文档:
-
-- [查看 Vyper 类型](https://vyper.readthedocs.io/en/v0.1.0-beta.6/types.html#value-types)
-- [查看 Solidity 类型](https://solidity.readthedocs.io/en/latest/types.html#value-types)
-
-### 内存 {#memory}
-
-仅在合约函数执行期间存储的值被称为内存变量。 由于这些变量不是永久地存储在区块链上,所以它们的使用成本要低得多。
-
-在 [Solidity 文档](https://solidity.readthedocs.io/en/latest/introduction-to-smart-contracts.html?highlight=memory#storage-memory-and-the-stack)中了解更多关于以太坊虚拟机如何存储数据(存储、内存和栈)。
-
-### 环境变量 {#environment-variables}
-
-除了在自己合约上定义的变量之外,还有一些特殊的全局变量。 它们主要用于提供有关区块链或当前交易的信息。
-
-示例:
-
-| **属性** | **状态变量** | **描述** |
-| ----------------- | -------- | ------------ |
-| `block.timestamp` | uint256 | 当前区块的时间戳 |
-| `msg.sender` | 地址 | 消息的发送者(当前调用) |
-
-## 函数 {#functions}
-
-用最简单的术语来说,函数可以获得信息或设置信息,以响应传入的交易。
-
-有两种函数调用方式:
-
-- `internal` – 不会创建以太坊虚拟机调用
- - Internal 函数和状态变量只能在内部访问(只能在合约内部或者从其继承的合约内部访问)。
-- `external` – 会创建以太坊虚拟机调用
- - External 函数是合约接口的一部分,这意味着他可以被其它合约和交易调用。 一个 external 函数 `f` 不可以被内部调用(即 `f()` 不行,但 `this.f()` 可以)。
-
-它们可以是 `public` 或 `private`
-
-- `public` 函数可以在合约内部调用或者通过消息在合约外部调用
-- `private` 函数仅在其被定义的合约内部可见,并且在该合约的派生合约中不可见。
-
-函数和状态变量都可以被定义为 public 或 private
-
-下面是更新合约上一个状态变量的函数:
-
-```solidity
-// Solidity example
-function update_name(string value) public {
- dapp_name = value;
-}
-```
-
-- `string` 类型的参数 `value` 传入函数 `update_name`
-- 函数声明为 `public`,意味着任何人都能访问它
-- 函数没有被声明为 `view`,因此它可以修改合约状态
-
-### 视图函数 {#view-functions}
-
-这些函数保证不会修改合约数据的状态。 常见的示例是 "getter" 函数 - 例如,它可以用于接收用户的余额。
-
-```solidity
-// Solidity 示例
-function balanceOf(address _owner) public view returns (uint256 _balance) {
- return ownerPizzaCount[_owner];
-}
-```
-
-```python
-dappName: public(string)
-
-@view
-@public
-def readName() -> string:
- return dappName
-```
-
-这些操作被视为修改状态:
-
-1. 写入状态变量。
-2. [正在导出事件](https://solidity.readthedocs.io/en/v0.7.0/contracts.html#events)。
-3. [创建其它合约](https://solidity.readthedocs.io/en/v0.7.0/control-structures.html#creating-contracts)。
-4. 使用 `selfdestruct`。
-5. 通过调用发送 ether。
-6. 调用任何未标记为 `view` 或 `pure` 的函数。
-7. 使用底层调用。
-8. 使用包含某些操作码的内联程序组。
-
-### 构造函数 {#constructor-functions}
-
-`constructor` 函数只在首次部署合约时执行一次。 与许多基于类的编程语言中的 `constructor` 函数类似,这些函数常将状态变量初始化到指定的值。
-
-```solidity
-// Solidity 示例
-// 初始化合约数据,设置 `owner`为合约的创建者。
-constructor() public {
- // 所有智能合约依赖外部交易来触发其函数。
- // `msg` 是一个全局变量,包含了给定交易的相关数据,
- // 例如发送者的地址和交易中包含的 ETH 数量。
- // 了解更多:https://solidity.readthedocs.io/en/v0.5.10/units-and-global-variables.html#block-and-transaction-properties
- owner = msg.sender;
-}
-```
-
-```python
-# Vyper 示例
-
-@external
-def __init__(_beneficiary: address, _bidding_time: uint256):
- self.beneficiary = _beneficiary
- self.auctionStart = block.timestamp
- self.auctionEnd = self.auctionStart + _bidding_time
-```
-
-### 内置函数 {#built-in-functions}
-
-除了自己在合约中定义的变量和函数外,还有一些特殊的内置函数。 最明显的例子是:
-
-- `address.send()` – Solidity
-- `send(address)` – Vyper
-
-这使合约可以发送以太币给其它帐户。
-
-## 编写函数 {#writing-functions}
-
-你的函数需要:
-
-- 参数变量及其类型(如果它接受参数)
-- 声明为 internal/external
-- 声明为 pure/view/payable
-- 返回类型(如果它返回值)
-
-```solidity
-pragma solidity >=0.4.0 <=0.6.0;
-
-contract ExampleDapp {
- string dapp_name; // state variable
-
- // Called when the contract is deployed and initializes the value
- constructor() public {
- dapp_name = "My Example dapp";
- }
-
- // Get Function
- function read_name() public view returns(string) {
- return dapp_name;
- }
-
- // Set Function
- function update_name(string value) public {
- dapp_name = value;
- }
-}
-```
-
-一个完整的合约可能就是这样。 在这里,`constructor` 函数为 `dapp_name` 变量提供了初始化值。
-
-## 事件和日志 {#events-and-logs}
-
-事件让你的智能合约能够与前端或其他订阅应用程序进行通信。 一旦交易被验证并添加到区块中,智能合约就可以触发事件并记录信息,然后前端就可以处理和利用这些信息。
-
-## 附带注解的示例 {#annotated-examples}
-
-这是一些用 Solidity 写的例子。 如果希望运行这些代码,你可以在 [Remix](http://remix.ethereum.org) 中调试。
-
-### Hello world {#hello-world}
-
-```solidity
-// Specifies the version of Solidity, using semantic versioning.
-// 了解更多:https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#pragma
-pragma solidity ^0.5.10;
-
-// 定义合约名称 `HelloWorld`。
-// 一个合约是函数和数据(其状态)的集合。
-// 一旦部署,合约就会留在以太坊区块链的一个特定地址上。
-// 了解更多: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html
-contract HelloWorld {
-
- // 定义`string`类型变量 `message`
- // 状态变量是其值永久存储在合约存储中的变量。
- // 关键字 `public` 使得可以从合约外部访问。
- // 并创建了一个其它合约或客户端可以调用访问该值的函数。
- string public message;
-
- // 类似于很多基于类的面向对象语言,
- // 构造函数是仅在合约创建时执行的特殊函数。
- // 构造器用于初始化合约的数据。
- // 了解更多:https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constructors
- constructor(string memory initMessage) public {
- // 接受一个字符变量 `initMessage`
- // 并为合约的存储变量`message` 赋值
- message = initMessage;
- }
-
- // 一个 public 函数接受字符参数并更新存储变量 `message`
- function update(string memory newMessage) public {
- message = newMessage;
- }
-}
-```
-
-### 代币 {#token}
-
-```solidity
-pragma solidity ^0.5.10;
-
-contract Token {
- // 一个 `address` 类比于邮件地址 - 它用来识别以太坊的一个帐户。
- // 地址可以代表一个智能合约或一个外部(用户)帐户。
- // 了解更多:https://solidity.readthedocs.io/en/v0.5.10/types.html#address
- address public owner;
-
- // `mapping` 是一个哈希表数据结构。
- // 此 `mapping` 将一个无符号整数(代币余额)分配给地址(代币持有者)。
- // 了解更多: https://solidity.readthedocs.io/en/v0.5.10/types.html#mapping-types
- mapping (address => uint) public balances;
-
- // 事件允许在区块链上记录活动。
- // 以太坊客户端可以监听事件,以便对合约状态更改作出反应。
- // 了解更多: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#events
- event Transfer(address from, address to, uint amount);
-
- // 初始化合约数据,设置 `owner`为合约创建者的地址。
- constructor() public {
- // 所有智能合约依赖外部交易来触发其函数。
- // `msg` 是一个全局变量,包含了给定交易的相关数据,
- // 例如发送者的地址和包含在交易中的 ETH 数量。
- // 了解更多:https://solidity.readthedocs.io/en/v0.5.10/units-and-global-variables.html#block-and-transaction-properties
- owner = msg.sender;
- }
-
- // 创建一些新代币并发送给一个地址。
- function mint(address receiver, uint amount) public {
- // `require` 是一个用于强制执行某些条件的控制结构。
- // 如果 `require` 的条件为 `false`,则异常被触发,
- // 所有在当前调用中对状态的更改将被还原。
- // 学习更多: https://solidity.readthedocs.io/en/v0.5.10/control-structures.html#error-handling-assert-require-revert-and-exceptions
-
- // 只有合约创建人可以调用这个函数
- require(msg.sender == owner, "You are not the owner.");
-
- // 强制执行代币的最大数量
- require(amount < 1e60, "Maximum issuance exceeded");
-
- // 将 "收款人"的余额增加"金额"
- balances[receiver] += amount;
- }
-
- // 从任何调用者那里发送一定数量的代币到一个地址。
- function transfer(address receiver, uint amount) public {
- // 发送者必须有足够数量的代币用于发送
- require(amount <= balances[msg.sender], "Insufficient balance.");
-
- // 调整两个帐户的余额
- balances[msg.sender] -= amount;
- balances[receiver] += amount;
-
- // 触发之前定义的事件。
- emit Transfer(msg.sender, receiver, amount);
- }
-}
-```
-
-### 唯一的数字资产 {#unique-digital-asset}
-
-```solidity
-pragma solidity ^0.5.10;
-
-// 从其它文件向当前合约中导入符号。
-// 本例使用一系列来自 OpenZeppelin 的辅助合约。
-// 了解更多:https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#importing-other-source-files
-
-import "../node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol";
-import "../node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
-import "../node_modules/@openzeppelin/contracts/introspection/ERC165.sol";
-import "../node_modules/@openzeppelin/contracts/math/SafeMath.sol";
-
-// `is` 关键字用于从其它外部合约继承函数和关键字。
-// 本例中,`CryptoPizza` 继承 `IERC721` 和 `ERC165` 合约。
-// 了解更多:https://solidity.readthedocs.io/en/v0.5.10/contracts.html#inheritance
-contract CryptoPizza is IERC721, ERC165 {
- // 使用 OpenZeppelin's SafeMath 库来安全执行算数操作。
- // 了解更多:https://docs.openzeppelin.com/contracts/2.x/api/math#SafeMath
- using SafeMath for uint256;
-
- // Solidity 语言中的常量状态变量与其他语言类似。
- // 但是必须用一个表达式为常量赋值,而这个表达式本身必须在编译时是一个常量。
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constant-state-variables
- uint256 constant dnaDigits = 10;
- uint256 constant dnaModulus = 10 ** dnaDigits;
- bytes4 private constant _ERC721_RECEIVED = 0x150b7a02;
-
- // Struct types let you define your own type
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#structs
- struct Pizza {
- string name;
- uint256 dna;
- }
-
- // Creates an empty array of Pizza structs
- Pizza[] public pizzas;
-
- // Mapping from pizza ID to its owner's address
- mapping(uint256 => address) public pizzaToOwner;
-
- // Mapping from owner's address to number of owned token
- mapping(address => uint256) public ownerPizzaCount;
-
- // Mapping from token ID to approved address
- mapping(uint256 => address) pizzaApprovals;
-
- // You can nest mappings, this example maps owner to operator approvals
- mapping(address => mapping(address => bool)) private operatorApprovals;
-
- // Internal function to create a random Pizza from string (name) and DNA
- function _createPizza(string memory _name, uint256 _dna)
- // The `internal` keyword means this function is only visible
- // within this contract and contracts that derive this contract
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#visibility-and-getters
- internal
- // `isUnique` is a function modifier that checks if the pizza already exists
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html#function-modifiers
- isUnique(_name, _dna)
- {
- // Adds Pizza to array of Pizzas and get id
- uint256 id = SafeMath.sub(pizzas.push(Pizza(_name, _dna)), 1);
-
- // Checks that Pizza owner is the same as current user
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/control-structures.html#error-handling-assert-require-revert-and-exceptions
-
- // note that address(0) is the zero address,
- // indicating that pizza[id] is not yet allocated to a particular user.
-
- assert(pizzaToOwner[id] == address(0));
-
- // Maps the Pizza to the owner
- pizzaToOwner[id] = msg.sender;
- ownerPizzaCount[msg.sender] = SafeMath.add(
- ownerPizzaCount[msg.sender],
- 1
- );
- }
-
- // Creates a random Pizza from string (name)
- function createRandomPizza(string memory _name) public {
- uint256 randDna = generateRandomDna(_name, msg.sender);
- _createPizza(_name, randDna);
- }
-
- // Generates random DNA from string (name) and address of the owner (creator)
- function generateRandomDna(string memory _str, address _owner)
- public
- // Functions marked as `pure` promise not to read from or modify the state
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#pure-functions
- pure
- returns (uint256)
- {
- // Generates random uint from string (name) + address (owner)
- uint256 rand = uint256(keccak256(abi.encodePacked(_str))) +
- uint256(_owner);
- rand = rand % dnaModulus;
- return rand;
- }
-
- // Returns array of Pizzas found by owner
- function getPizzasByOwner(address _owner)
- public
- // Functions marked as `view` promise not to modify state
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#view-functions
- view
- returns (uint256[] memory)
- {
- // Uses the `memory` storage location to store values only for the
- // lifecycle of this function call.
- // 了解更多:https://solidity.readthedocs.io/en/v0.5.10/introduction-to-smart-contracts.html#storage-memory-and-the-stack
- uint256[] memory result = new uint256[](ownerPizzaCount[_owner]);
- uint256 counter = 0;
- for (uint256 i = 0; i < pizzas.length; i++) {
- if (pizzaToOwner[i] == _owner) {
- result[counter] = i;
- counter++;
- }
- }
- return result;
- }
-
- // 转移 Pizza 和归属关系到其它地址
- function transferFrom(address _from, address _to, uint256 _pizzaId) public {
- require(_from != address(0) && _to != address(0), "Invalid address.");
- require(_exists(_pizzaId), "Pizza does not exist.");
- require(_from != _to, "Cannot transfer to the same address.");
- require(_isApprovedOrOwner(msg.sender, _pizzaId), "Address is not approved.");
-
- ownerPizzaCount[_to] = SafeMath.add(ownerPizzaCount[_to], 1);
- ownerPizzaCount[_from] = SafeMath.sub(ownerPizzaCount[_from], 1);
- pizzaToOwner[_pizzaId] = _to;
-
- // 触发继承自 IERC721 合约中定义的事件。
- emit Transfer(_from, _to, _pizzaId);
- _clearApproval(_to, _pizzaId);
- }
-
- /**
- * 安全转账给定代币 ID 的所有权到其它地址
- * 如果目标地址是一个合约,则该合约必须实现 `onERC721Received`函数,
- * 该函数调用了安全转账并且返回一个 magic value。
- * `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`;
- * 否则,转账被回退。
- */
- function safeTransferFrom(address from, address to, uint256 pizzaId)
- public
- {
- // solium-disable-next-line arg-overflow
- this.safeTransferFrom(from, to, pizzaId, "");
- }
-
- /**
- * 安全转账给定代币 ID 所有权到其它地址
- * 如果目标地址是一个合约,则该合约必须实现 `onERC721Received` 函数,
- * 该函数调用安全转账并返回一个 magic value
- * `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`;
- * 否则,转账被回退。
- */
- function safeTransferFrom(
- address from,
- address to,
- uint256 pizzaId,
- bytes memory _data
- ) public {
- this.transferFrom(from, to, pizzaId);
- require(_checkOnERC721Received(from, to, pizzaId, _data), "Must implement onERC721Received.");
- }
-
- /**
- * Internal function to invoke `onERC721Received` on a target address
- * The call is not executed if the target address is not a contract
- */
- function _checkOnERC721Received(
- address from,
- address to,
- uint256 pizzaId,
- bytes memory _data
- ) internal returns (bool) {
- if (!isContract(to)) {
- return true;
- }
-
- bytes4 retval = IERC721Receiver(to).onERC721Received(
- msg.sender,
- from,
- pizzaId,
- _data
- );
- return (retval == _ERC721_RECEIVED);
- }
-
- // Burns a Pizza - destroys Token completely
- // The `external` function modifier means this function is
- // part of the contract interface and other contracts can call it
- function burn(uint256 _pizzaId) external {
- require(msg.sender != address(0), "Invalid address.");
- require(_exists(_pizzaId), "Pizza does not exist.");
- require(_isApprovedOrOwner(msg.sender, _pizzaId), "Address is not approved.");
-
- ownerPizzaCount[msg.sender] = SafeMath.sub(
- ownerPizzaCount[msg.sender],
- 1
- );
- pizzaToOwner[_pizzaId] = address(0);
- }
-
- // Returns count of Pizzas by address
- function balanceOf(address _owner) public view returns (uint256 _balance) {
- return ownerPizzaCount[_owner];
- }
-
- // Returns owner of the Pizza found by id
- function ownerOf(uint256 _pizzaId) public view returns (address _owner) {
- address owner = pizzaToOwner[_pizzaId];
- require(owner != address(0), "Invalid Pizza ID.");
- return owner;
- }
-
- // Approves other address to transfer ownership of Pizza
- function approve(address _to, uint256 _pizzaId) public {
- require(msg.sender == pizzaToOwner[_pizzaId], "Must be the Pizza owner.");
- pizzaApprovals[_pizzaId] = _to;
- emit Approval(msg.sender, _to, _pizzaId);
- }
-
- // Returns approved address for specific Pizza
- function getApproved(uint256 _pizzaId)
- public
- view
- returns (address operator)
- {
- require(_exists(_pizzaId), "Pizza does not exist.");
- return pizzaApprovals[_pizzaId];
- }
-
- /**
- * Private function to clear current approval of a given token ID
- * Reverts if the given address is not indeed the owner of the token
- */
- function _clearApproval(address owner, uint256 _pizzaId) private {
- require(pizzaToOwner[_pizzaId] == owner, "Must be pizza owner.");
- require(_exists(_pizzaId), "Pizza does not exist.");
- if (pizzaApprovals[_pizzaId] != address(0)) {
- pizzaApprovals[_pizzaId] = address(0);
- }
- }
-
- /*
- * Sets or unsets the approval of a given operator
- * An operator is allowed to transfer all tokens of the sender on their behalf
- */
- function setApprovalForAll(address to, bool approved) public {
- require(to != msg.sender, "Cannot approve own address");
- operatorApprovals[msg.sender][to] = approved;
- emit ApprovalForAll(msg.sender, to, approved);
- }
-
- // Tells whether an operator is approved by a given owner
- function isApprovedForAll(address owner, address operator)
- public
- view
- returns (bool)
- {
- return operatorApprovals[owner][operator];
- }
-
- // Takes ownership of Pizza - only for approved users
- function takeOwnership(uint256 _pizzaId) public {
- require(_isApprovedOrOwner(msg.sender, _pizzaId), "Address is not approved.");
- address owner = this.ownerOf(_pizzaId);
- this.transferFrom(owner, msg.sender, _pizzaId);
- }
-
- // Checks if Pizza exists
- function _exists(uint256 pizzaId) internal view returns (bool) {
- address owner = pizzaToOwner[pizzaId];
- return owner != address(0);
- }
-
- // Checks if address is owner or is approved to transfer Pizza
- function _isApprovedOrOwner(address spender, uint256 pizzaId)
- internal
- view
- returns (bool)
- {
- address owner = pizzaToOwner[pizzaId];
- // Disable solium check because of
- // https://github.com/duaraghav8/Solium/issues/175
- // solium-disable-next-line operator-whitespace
- return (spender == owner ||
- this.getApproved(pizzaId) == spender ||
- this.isApprovedForAll(owner, spender));
- }
-
- // Check if Pizza is unique and doesn't exist yet
- modifier isUnique(string memory _name, uint256 _dna) {
- bool result = true;
- for (uint256 i = 0; i < pizzas.length; i++) {
- if (
- keccak256(abi.encodePacked(pizzas[i].name)) ==
- keccak256(abi.encodePacked(_name)) &&
- pizzas[i].dna == _dna
- ) {
- result = false;
- }
- }
- require(result, "Pizza with such name already exists.");
- _;
- }
-
- // Returns whether the target address is a contract
- function isContract(address account) internal view returns (bool) {
- uint256 size;
- // Currently there is no better way to check if there is a contract in an address
- // than to check the size of the code at that address.
- // See https://ethereum.stackexchange.com/a/14016/36603
- // for more details about how this works.
- // TODO Check this again before the Serenity release, because all addresses will be
- // contracts then.
- // solium-disable-next-line security/no-inline-assembly
- assembly {
- size := extcodesize(account)
- }
- return size > 0;
- }
-}
-```
-
-## 延伸阅读 {#further-reading}
-
-查阅 Solidity 和 Vyper 文档,以获得关于智能合约的更完整概述:
-
-- [Solidity](https://solidity.readthedocs.io/)
-- [Vyper](https://vyper.readthedocs.io/)
-
-## 相关主题 {#related-topics}
-
-- [智能合约](/developers/docs/smart-contracts/)
-- [以太坊虚拟机](/developers/docs/evm/)
-
-## 相关教程 {#related-tutorials}
-
-- [减少合约大小以应对合约大小的限制](/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/) _– 一些减少智能合约大小的实用提示。_
-- [用事件记录智能合约的数据](/developers/tutorials/logging-events-smart-contracts/) _——对智能合约事件的介绍以及如何使用它们来记录数据。_
-- [在 Solidity 中与其它合约交互](/developers/tutorials/interact-with-other-contracts-from-solidity/) _——如何从现有合约中部署智能合约并与之交互。_
diff --git "a/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/compiling/index.md" "b/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/compiling/index.md"
deleted file mode 100644
index 722dd3c6170..00000000000
--- "a/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/compiling/index.md"
+++ /dev/null
@@ -1,282 +0,0 @@
----
-title: 编译智能合约
-description: 解释你为什么需要编译智能合约以及编译实际上做了什么。
-lang: zh
-incomplete: true
----
-
-你需要编译你的合约,以便你的 web 应用程序和以太坊虚拟机能够理解它。
-
-## 前提条件 {#prerequisites}
-
-在阅读关于编译的文档之前,请阅读我们的[智能合约](/developers/docs/smart-contracts/)和[以太坊虚拟机](/developers/docs/evm/)可能会有帮助。
-
-## 以太坊虚拟机 {#the-evm}
-
-要使[以太坊虚拟机](/developers/docs/evm/)能够运行你的合约,你的合约必须被编译为**字节码**。 编译过程把如下代码:
-
-```solidity
-pragma solidity 0.4.24;
-
-contract Greeter {
-
- function greet() public constant returns (string) {
- return "Hello";
- }
-
-}
-```
-
-**转化为**
-
-```
-PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0xCFAE3217 EQ PUSH2 0x46 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5B PUSH2 0xD6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x9B JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x80 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xC8 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x40 DUP1 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 SLT 0xec 0xe 0xf5 0xf8 SLT 0xc7 0x2d STATICCALL ADDRESS SHR 0xdb COINBASE 0xb1 BALANCE 0xe8 0xf8 DUP14 0xda 0xad DUP13 LOG1 0x4c 0xb4 0x26 0xc2 DELEGATECALL PUSH7 0x8994D3E002900
-```
-
-这些代码称为**操作码**。 以太坊虚拟机操作码是以太坊虚拟机 (EVM) 能够执行的低级指令。 每个操作码都代表一个具体的操作,例如算术运算、逻辑运算、数据操作,控制流等等。
-
-[更多关于操作码的信息](/developers/docs/evm/opcodes/)
-
-## Web 应用程序 {#web-applications}
-
-编译器还将生成你需要的**应用程序二进制接口 (ABI)** ,以便你的应用程序能够理解合约并调用合约的功能。
-
-ABI 是一份 JSON 文件,描述了部署的合约及这个智能合约的函数。 这在 web2 和 web3 之间的鸿沟上架起交流的桥梁
-
-[Javascript 客户端库](/developers/docs/apis/javascript/)将读取**应用程序二进制接口 (ABI)**,以便你在 Web 应用程序接口中调用你的智能合约。
-
-以下是 ERC-20 代币合约的应用程序二进制接口。 ERC-20 是你可以在以太坊交易的代币。
-
-```json
-[
- {
- "constant": true,
- "inputs": [],
- "name": "name",
- "outputs": [
- {
- "name": "",
- "type": "string"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "name": "_spender",
- "type": "address"
- },
- {
- "name": "_value",
- "type": "uint256"
- }
- ],
- "name": "approve",
- "outputs": [
- {
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "totalSupply",
- "outputs": [
- {
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "name": "_from",
- "type": "address"
- },
- {
- "name": "_to",
- "type": "address"
- },
- {
- "name": "_value",
- "type": "uint256"
- }
- ],
- "name": "transferFrom",
- "outputs": [
- {
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "decimals",
- "outputs": [
- {
- "name": "",
- "type": "uint8"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "name": "_owner",
- "type": "address"
- }
- ],
- "name": "balanceOf",
- "outputs": [
- {
- "name": "balance",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "symbol",
- "outputs": [
- {
- "name": "",
- "type": "string"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "name": "_to",
- "type": "address"
- },
- {
- "name": "_value",
- "type": "uint256"
- }
- ],
- "name": "transfer",
- "outputs": [
- {
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "name": "_owner",
- "type": "address"
- },
- {
- "name": "_spender",
- "type": "address"
- }
- ],
- "name": "allowance",
- "outputs": [
- {
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "payable": true,
- "stateMutability": "payable",
- "type": "fallback"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "name": "owner",
- "type": "address"
- },
- {
- "indexed": true,
- "name": "spender",
- "type": "address"
- },
- {
- "indexed": false,
- "name": "value",
- "type": "uint256"
- }
- ],
- "name": "Approval",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "name": "from",
- "type": "address"
- },
- {
- "indexed": true,
- "name": "to",
- "type": "address"
- },
- {
- "indexed": false,
- "name": "value",
- "type": "uint256"
- }
- ],
- "name": "Transfer",
- "type": "event"
- }
-]
-```
-
-## 延伸阅读 {#further-reading}
-
-- [ABI spec](https://solidity.readthedocs.io/en/v0.7.0/abi-spec.html) _– Solidity_
-
-## 相关主题 {#related-topics}
-
-- [JavaScript 客户端库](/developers/docs/apis/javascript/)
-- [以太坊虚拟机](/developers/docs/evm/)
diff --git "a/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/deploying/index.md" "b/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/deploying/index.md"
deleted file mode 100644
index 2055221a55d..00000000000
--- "a/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/deploying/index.md"
+++ /dev/null
@@ -1,81 +0,0 @@
----
-title: 部署智能合约
-description:
-lang: zh
----
-
-需要部署智能合约才能提供给以太坊网络的用户使用。
-
-要部署一个智能合约,只需发送一个包含编译后的智能合约代码的以太坊交易,而不需要指定任何收件人。
-
-## 前置要求 {#prerequisites}
-
-在部署智能合约之前,你需要理解[以太坊网络](/developers/docs/networks/), [交易](/developers/docs/transactions/)和[详解智能合约](/developers/docs/smart-contracts/anatomy/)。
-
-部署一个合约也需要耗费以太币 (ETH),因为他们被存储在区块链上,所以你应该熟悉以太坊的[燃料和费用](/developers/docs/gas/)。
-
-最后,你需要在部署之前编译你的合约,所以请确保你已经阅读了[编译智能合约](/developers/docs/smart-contracts/compiling/)。
-
-## 如何部署智能合约 {#how-to-deploy-a-smart-contract}
-
-### 你所需要的 {#what-youll-need}
-
-- 合约的字节码 – 可通过[编译](/developers/docs/smart-contracts/compiling/)生成
-- 用作燃料的以太币 – 像其他交易一样,你需要设定燃料限制,这样就知道部署合约比简单的以太币交易需要更多的燃料。
-- 一个部署脚本或插件。
-- 通过以下方式之一可以访问[以太坊节点](/developers/docs/nodes-and-clients/):运行自己的节点、连接到公共节点或使用[节点服务](/developers/docs/nodes-and-clients/nodes-as-a-service/)的应用程序接口密钥。
-
-### 部署智能合约的步骤 {#steps-to-deploy}
-
-具体步骤将取决于使用的开发框架。 例如,你可以查看[安全帽提供的合约部署文档](https://hardhat.org/guides/deploying.html)或 [Foundry 提供 的智能合约部署与验证文档](https://book.getfoundry.sh/forge/deploying)。 如同其他[帐户](/developers/docs/accounts/)一样,部署后,你的合约将有一个以太坊地址,并且可以使用[源代码验证工具](/developers/docs/smart-contracts/verifying/#source-code-verification-tools)来验证。
-
-## 相关工具 {#related-tools}
-
-**Remix - _Remix 集成开发环境可以开发、部署和管理类似区块链的以太坊智能合约。_**
-
-- [Remix](https://remix.ethereum.org)
-
-**Tenderly - _Web3 开发平台,提供调试、可观测性和基础设施构建基块,用于开发、测试、监测和操作智能合约_**
-
-- [tenderly.co](https://tenderly.co/)
-- [相关文档](https://docs.tenderly.co/)
-- [GitHub](https://github.com/Tenderly)
-- [Discord](https://discord.gg/eCWjuvt)
-
-**安全帽 - _用于编译、部署、测试和调试你的以太坊软件的开发环境_**
-
-- [hardhat.org](https://hardhat.org/getting-started/)
-- [关于部署合约的文档](https://hardhat.org/guides/deploying.html)
-- [GitHub](https://github.com/nomiclabs/hardhat)
-- [Discord](https://discord.com/invite/TETZs2KK4k)
-
-**thirdweb - _使用一条命令轻松地将任何合约部署到任何与以太坊虚拟机兼容的区块链_**
-
-- [相关文档](https://portal.thirdweb.com/deploy/)
-
-**Crossmint - _企业级 Web3 开发平台,可用于部署智能合约,启用信用卡和跨链支付,使用应用程序接口创建、分发、销售、储存和编辑非同质化代币。_**
-
-- [crossmint.com](https://www.crossmint.com)
-- [相关文档](https://docs.crossmint.com)
-- [Discord](https://discord.com/invite/crossmint)
-- [博客](https://blog.crossmint.com)
-
-## 相关教程 {#related-tutorials}
-
-- [部署你的第一个智能合约](/developers/tutorials/deploying-your-first-smart-contract/) _ – 介绍如何在以太坊测试网络上部署你的第一个智能合约。_
-- [Hello World | 智能合约教程](/developers/tutorials/hello-world-smart-contract/) _ – 一门便于学习的教程,介绍如何在以太坊上创建和部署基本智能合约。_
-- [在 Solidity 中与其它合约交互](/developers/tutorials/interact-with-other-contracts-from-solidity/) _——如何从现有合约中部署智能合约并与之交互。_
-- [如何减少合约的大小](/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/) _- 如何减少合约的大小使其保持在限制之下并节省燃料_
-
-## 延伸阅读 {#further-reading}
-
-- [https://docs.openzeppelin.com/learn/deploying-and-interacting](https://docs.openzeppelin.com/learn/deploying-and-interacting) - _OpenZeppelin_
-- [使用安全帽部署合约](https://hardhat.org/guides/deploying.html) - _Nomic Labs_
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
-
-## 相关主题 {#related-topics}
-
-- [开发框架](/developers/docs/frameworks/)
-- [运行以太坊节点](/developers/docs/nodes-and-clients/run-a-node/)
-- [节点即服务](/developers/docs/nodes-and-clients/nodes-as-a-service)
diff --git "a/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/index.md" "b/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/index.md"
deleted file mode 100644
index 1e400402728..00000000000
--- "a/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/index.md"
+++ /dev/null
@@ -1,112 +0,0 @@
----
-title: 智能合约简介
-description: 智能合约概述,重点介绍其独特的特征和局限性。
-lang: zh
----
-
-## 什么是智能合约? {#what-is-a-smart-contract}
-
-智能合约只是一个运行在以太坊链上的一个程序。 它是位于以太坊区块链上一个特定地址的一系列代码(函数)和数据(状态)。
-
-智能合约也是一个[以太坊帐户](/developers/docs/accounts/),我们称之为合约帐户。 这意味着它们有余额,可以成为交易的对象。 但是,他们无法被人操控,他们是被部署在网络上作为程序运行着。 个人用户可以通过提交交易执行智能合约的某一个函数来与智能合约进行交互。 智能合约能像常规合约一样定义规则,并通过代码自动强制执行。 默认情况下,你无法删除智能合约,与它们的交互是不可逆的。
-
-## 前置要求 {#prerequisites}
-
-如果你刚刚入门或寻找技术含量较低的介绍,我们推荐我们的[智能合约简介](/smart-contracts/)。
-
-确保在你已深入了解[帐户](/developers/docs/accounts/)、[交易](/developers/docs/transactions/)和[以太坊虚拟机](/developers/docs/evm/),然后再开始学习智能合约。
-
-## 数字自动售货机 {#a-digital-vending-machine}
-
-也许对于智能合约最恰当的比喻是自动售货机,就像 [Nick Szabo](https://unenumerated.blogspot.com/) 描述的那样。 有了正确的投入,就保证了某些产出。
-
-要从售货机中获取零食:
-
-```
-money + snack selection = snack dispensed
-```
-
-这种逻辑以程序的形式写入自动售货机。
-
-像自动售货机一样,智能合约也有逻辑编程到其中。 这里有一个简单的例子,说明了如果售货机是一个用 Solidity 编写的智能合约将会是什么样子:
-
-```solidity
-pragma solidity 0.8.7;
-
-contract VendingMachine {
-
- // Declare state variables of the contract
- address public owner;
- mapping (address => uint) public cupcakeBalances;
-
- // When 'VendingMachine' contract is deployed:
- // 1. set the deploying address as the owner of the contract
- // 2. set the deployed smart contract's cupcake balance to 100
- constructor() {
- owner = msg.sender;
- cupcakeBalances[address(this)] = 100;
- }
-
- // Allow the owner to increase the smart contract's cupcake balance
- function refill(uint amount) public {
- require(msg.sender == owner, "Only the owner can refill.");
- cupcakeBalances[address(this)] += amount;
- }
-
- // Allow anyone to purchase cupcakes
- function purchase(uint amount) public payable {
- require(msg.value >= amount * 1 ether, "You must pay at least 1 ETH per cupcake");
- require(cupcakeBalances[address(this)] >= amount, "Not enough cupcakes in stock to complete this purchase");
- cupcakeBalances[address(this)] -= amount;
- cupcakeBalances[msg.sender] += amount;
- }
-}
-```
-
-就像自动售货机让厂商不再需要员工一样,智能合约可以在许多行业中取代中间人。
-
-## 无需准入性 {#permissionless}
-
-任何人都可以编写智能合约并将其部署到区块链网络上。 你只需要学习如何用[智能合约语言编码](/developers/docs/smart-contracts/languages/),并有足够的以太币来部署你的合约。 部署智能合约在技术上是一笔交易,因此就像你需要为简单的以太币转账支付燃料费一样,你也需要为部署智能合约支付[燃料费](/developers/docs/gas/)。 但是,合约部署的燃料成本要高得多。
-
-以太坊提供了对开发者友好的智能合约编程语言:
-
-- Solidity
-- Vyper
-
-[关于语言的更多信息](/developers/docs/smart-contracts/languages/)
-
-然而,智能合约必须要先编译才能部署,以便以太坊虚拟机可以解释并存储它们。 [关于编译的更多信息](/developers/docs/smart-contracts/compiling/)
-
-## 可组合性 {#composability}
-
-智能合约在以太坊上公开,并且可以看成开放应用程序接口。 这意味着你可以在自己的智能合约中调用其他智能合约,以大幅扩展可能的功能。 合约甚至可以部署其他合约。
-
-了解关于[智能合约可组合性](/developers/docs/smart-contracts/composability/)的更多信息。
-
-## 局限性 {#limitations}
-
-智能合约本身无法获取有关“现实世界”事件的信息,因为它们无法从链下来源检索数据。 这意味着它们无法对现实世界中的事件作出响应。 这是设计使然。 因为依赖外部信息可能会影响共识,而共识对安全性和去中心化而言十分重要。
-
-然而,对于区块链应用程序来说,能够使用链下数据非常重要。 解决方案是[预言机](/developers/docs/oracles/),它们是将链下数据引入并供智能合约使用的工具。
-
-智能合约的另一个限制是最大合约大小。 智能合约最大可达 24 KB,否则会消耗完燃料。 可以使用[钻石模式](https://eips.ethereum.org/EIPS/eip-2535)来规避它。
-
-## 多重签名合约 {#multisig}
-
-多重签名合约是需要多个有效签名才能执行交易的智能合约帐户。 这对于避免持有大量以太币或其他代币的合约出现单点故障非常有用。 多重签名还可以在多方之间划分合同执行和密钥管理的责任,并防止丢失单个私钥导致不可逆转的资金损失。 由于这些原因,多重签名合约可用于简单的去中心化自治组织治理。 多重签名需要 M 个可能的可接受签名中的 N 个签名才能执行(其中 N ≤ M,并且 M > 1)。 普遍使用 `N = 3, M = 5` 和 `N = 4, M = 7`。 4/7 多重签名需要七个可能的有效签名中的四个。 这意味着即使失去了三个签名,资金仍然可以收回。 在这种情况下,这也意味着必须得到大多数密钥持有人的同意和签名才能执行合约。
-
-## 智能合约资源 {#smart-contract-resources}
-
-**OpenZeppelin 合约**** - _安全智能合约开发库。_**
-
-- [openzeppelin.com/contracts/](https://openzeppelin.com/contracts/)
-- [GitHub](https://github.com/OpenZeppelin/openzeppelin-contracts)
-- [社区论坛](https://forum.openzeppelin.com/c/general/16)
-
-## 延伸阅读 {#further-reading}
-
-- [Coinbase:什么是智能合约?](https://www.coinbase.com/learn/crypto-basics/what-is-a-smart-contract)
-- [Chainlink:什么是智能合约?](https://chain.link/education/smart-contracts)
-- [视频:智能合约简介](https://youtu.be/ZE2HxTmxfrI)
-- [Cyfrin Updraft:Web3 学习与审计平台](https://updraft.cyfrin.io)
diff --git "a/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/languages/index.md" "b/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/languages/index.md"
deleted file mode 100644
index 5019302c164..00000000000
--- "a/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/languages/index.md"
+++ /dev/null
@@ -1,320 +0,0 @@
----
-title: 智能合约语言
-description: 两种主要的智能合约语言(Solidity 和 Vyper)的概述和比较。
-lang: zh
----
-
-关于以太坊的一个重要方面是,智能合约可以使用相对友好的开发者语言编程。 如果你熟悉 Python 或任何[大括号语言](https://wikipedia.org/wiki/List_of_programming_languages_by_type#Curly-bracket_languages),可以找到一种语法熟悉的语言。
-
-最受欢迎和维护得最好的两种语言是:
-
-- Solidity
-- Vyper
-
-Remix 集成开发环境提供了一个全面的开发环境,用于创建和测试用 Solidity 和 Vyper 语言编写的智能合约。 [尝试使用浏览器版本的 Remix 集成开发环境](https://remix.ethereum.org)开始编写代码。
-
-更有经验的开发者也可能想要使用 Yul:一种用于[以太坊虚拟机](/developers/docs/evm/)的中间语言,或者是 Yul+ 语言,这是一种 Yul 扩展。
-
-如果你很好奇,喜欢帮助测试仍在大力发展的新语言,则可以尝试使用 Fe,这是一种新兴的智能合约语言,目前仍处于起步阶段。
-
-## 前提条件 {#prerequisites}
-
-如果已经有编程语言(特别是关于 JavaScript 或 Python)知识,可以帮助你体验到智能合约语言的差异。 同时,我们建议你在深入理解语言差异之前,先理解作为概念的智能合约。 [智能合约简介](/developers/docs/smart-contracts/)。
-
-## Solidity {#solidity}
-
-- 执行智能合约的目标导向高级语言。
-- 受 C++ 影响最深的大括号编程语言。
-- 静态类型(编译时已知变量类型)。
-- 支持:
- - 继承(你可以拓展其它合约)。
- - 库(你可以创建从不同的合约调用的可重用代码 - 就像静态函数在其它面向对象编程语言的静态类中一样)。
- - 复杂的用户自定义类型。
-
-### 重要链接 {#important-links}
-
-- [相关文档](https://docs.soliditylang.org/en/latest/)
-- [Solidity 语言网站](https://soliditylang.org/)
-- [Solidity 示例](https://docs.soliditylang.org/en/latest/solidity-by-example.html)
-- [GitHub](https://github.com/ethereum/solidity/)
-- 桥接到 [Solidity Matrix 聊天室](https://matrix.to/#/#ethereum_solidity:gitter.im)的 [Solidity Gitter 聊天室](https://gitter.im/ethereum/solidity)
-- [备忘单](https://reference.auditless.com/cheatsheet)
-- [Solidity 博客](https://blog.soliditylang.org/)
-- [Solidity Twitter](https://twitter.com/solidity_lang)
-
-### 合约示例 {#example-contract}
-
-```solidity
-/ SPDX-License-Identifier: GPL-3.0
-pragma solidity >= 0.7.0;
-
-contract Coin {
- // The keyword "public" makes variables
- // accessible from other contracts
- address public minter;
- mapping (address => uint) public balances;
-
- // Events allow clients to react to specific
- // contract changes you declare
- event Sent(address from, address to, uint amount);
-
- // Constructor code is only run when the contract
- // is created
- constructor() {
- minter = msg.sender;
- }
-
- // Sends an amount of newly created coins to an address
- // Can only be called by the contract creator
- function mint(address receiver, uint amount) public {
- require(msg.sender == minter);
- require(amount < 1e60);
- balances[receiver] += amount;
- }
-
- // Sends an amount of existing coins
- // from any caller to an address
- function send(address receiver, uint amount) public {
- require(amount <= balances[msg.sender], "Insufficient balance.");
- balances[msg.sender] -= amount;
- balances[receiver] += amount;
- emit Sent(msg.sender, receiver, amount);
- }
-}
-```
-
-这个示例应该能让你感觉到 Solidity 合约语法是什么样子的。 有关函数和变量的详细说明,[请参阅文档](https://docs.soliditylang.org/en/latest/contracts.html)。
-
-## Vyper {#vyper}
-
-- 类 Python 编程语言
-- 强类型
-- 小而且易懂的编译器代码
-- 高效的字节码生成
-- 为了让合约更安全和易于审核,特意提供比 Solidity 少的功能。 Vyper 不支持:
- - 修改器
- - 继承
- - 内联汇编
- - 函数重载
- - 操作符重载
- - 递归调用
- - 无限长度循环
- - 二进制定长浮点
-
-更多信息,[请查阅 Vyper 原理](https://vyper.readthedocs.io/en/latest/index.html)。
-
-### 重要的链接 {#important-links-1}
-
-- [相关文档](https://vyper.readthedocs.io)
-- [Vyper 示例](https://vyper.readthedocs.io/en/latest/vyper-by-example.html)
-- [更多 Vyper 示例](https://vyper-by-example.org/)
-- [GitHub](https://github.com/vyperlang/vyper)
-- [Vyper 社区 Discord 聊天](https://discord.gg/SdvKC79cJk)
-- [备忘单](https://reference.auditless.com/cheatsheet)
-- [Vyper 的智能合约开发框架和工具](/developers/docs/programming-languages/python/)
-- [VyperPunk - 学习保护和破解 Vyper 智能合约](https://github.com/SupremacyTeam/VyperPunk)
-- [VyperExamples - Vyper 漏洞示例](https://www.vyperexamples.com/reentrancy)
-- [Vyper 开发中心](https://github.com/zcor/vyper-dev)
-- [Vyper 最热门的智能合约示例](https://github.com/pynchmeister/vyper-greatest-hits/tree/main/contracts)
-- [出色的 Vyper 精选资源](https://github.com/spadebuilders/awesome-vyper)
-
-### 示例 {#example}
-
-```python
-# Open Auction
-
-# Auction params
-# Beneficiary receives money from the highest bidder
-beneficiary: public(address)
-auctionStart: public(uint256)
-auctionEnd: public(uint256)
-
-# Current state of auction
-highestBidder: public(address)
-highestBid: public(uint256)
-
-# Set to true at the end, disallows any change
-ended: public(bool)
-
-# Keep track of refunded bids so we can follow the withdraw pattern
-pendingReturns: public(HashMap[address, uint256])
-@external
-def __init__(_beneficiary: address, _bidding_time: uint256):
- self.beneficiary = _beneficiary
- self.auctionStart = block.timestamp
- self.auctionEnd = self.auctionStart + _bidding_time
-
-# Bid on the auction with the value sent
-# together with this transaction.
-# The value will only be refunded if the
-# auction is not won.
-@external
-@payable
-def bid():
- # Check if bidding period is over.
- assert block.timestamp < self.auctionEnd
- # Check if bid is high enough
- assert msg.value > self.highestBid
- # Track the refund for the previous high bidder
- self.pendingReturns[self.highestBidder] += self.highestBid
- # Track new high bid
- self.highestBidder = msg.sender
- self.highestBid = msg.value The withdraw pattern is
-# used here to avoid a security issue. If refunds were directly
-# sent as part of bid(), a malicious bidding contract could block
-# those refunds and thus block new higher bids from coming in.
-@external
-def withdraw():
- pending_amount: uint256 = self.pendingReturns[msg.sender]
- self.pendingReturns[msg.sender] = 0
- send(msg.sender, pending_amount)
-
-# End the auction and send the highest bid
-# to the beneficiary.
-@external
-def endAuction():
- # It is a good guideline to structure functions that interact
- # with other contracts (i.e. they call functions or send ether)
- # into three phases:
- # 1. checking conditions
- # 2. performing actions (potentially changing conditions)
- # 3. interacting with other contracts
- # If these phases are mixed up, the other contract could call
- # back into the current contract and modify the state or cause
- # effects (ether payout) to be performed multiple times.
- # If functions called internally include interaction with external
- # contracts, they also have to be considered interaction with
- # external contracts.
-
- # 1. Conditions
- # Check if auction endtime has been reached
- assert block.timestamp >= self.auctionEnd
- # Check if this function has already been called
- assert not self.ended
-
- # 2. Effects
- self.ended = True
-
- # 3. Interaction
- send(self.beneficiary, self.highestBid)
-```
-
-这个例子应该让你了解 Vyper 合约语法是什么样的。 有关函数和变量的详细说明,[请参阅文档](https://vyper.readthedocs.io/en/latest/vyper-by-example.html#simple-open-auction)。
-
-## Yul 和 Yul+ {#yul}
-
-如果你是以太坊的新手并且尚未使用智能合约语言进行任何编码,我们建议你开始使用 Solidity 或 Vyper。 只有在你熟知智能合约安全最佳做法和使用 EVM 的具体细节后,才可以查看 Yul 或 Yul+。
-
-**Yul**
-
-- 以太坊的中继语言。
-- 支持 [EVM](/developers/docs/evm) 和 [Ewasm](https://github.com/ewasm),一种以太坊风格的 WebAssembly,以及旨在成为两个平台均可用的公分母。
-- 高级优化阶段的良好目标,既使 EVM 和 eWASM 平台均等受益。
-
-**Yul+**
-
-- Yul 的低级、高效扩展。
-- 最初设计用于[乐观卷叠](/developers/docs/scaling/optimistic-rollups/)合约。
-- Yul+ 可以被视为对 Yul 的实验性升级建议,为其添加新功能。
-
-### 重要的链接 {#important-links-2}
-
-- [Yul 相关文档](https://docs.soliditylang.org/en/latest/yul.html)
-- [Yul+ 相关文档](https://github.com/fuellabs/yulp)
-- [Yul+ 实战场](https://yulp.fuel.sh/)
-- [Yul+ 介绍帖子](https://medium.com/@fuellabs/introducing-yul-a-new-low-level-language-for-ethereum-aa64ce89512f)
-
-### 合约示例 {#example-contract-2}
-
-以下简单示例实现了幂函数。 它可以使用 `solc --strict-assembly --bin input.yul` 编译。 这个例子应该 存储在 input.yul 文件中。
-
-```
-{
- function power(base, exponent) -> result
- {
- switch exponent
- case 0 { result := 1 }
- case 1 { result := base }
- default
- {
- result := power(mul(base, base), div(exponent, 2))
- if mod(exponent, 2) { result := mul(base, result) }
- }
- }
- let res := power(calldataload(0), calldataload(32))
- mstore(0, res)
- return(0, 32)
-}
-```
-
-如果你已经熟悉智能合约,可以在 [此处找到 Yul 中的完整 ERC20 实例](https://solidity.readthedocs.io/en/latest/yul.html#complete-erc20-example)。
-
-## Fe {#fe}
-
-- 以太坊虚拟机 (EVM) 静态类型语言。
-- 受到 Python 和 Rust 的启发。
-- 目标是容易学习 - 甚至对以太坊生态系统为新的开发者来说也是如此。
-- Fe 开发仍处于早期阶段,该语言于 2021 年 1 月发行。
-
-### 重要链接 {#important-links-3}
-
-- [GitHub](https://github.com/ethereum/fe)
-- [Fe 公告](https://snakecharmers.ethereum.org/fe-a-new-language-for-the-ethereum-ecosystem/)
-- [Fe 2021 路线图](https://notes.ethereum.org/LVhaTF30SJOpkbG1iVw1jg)
-- [Fe Discord 聊天室](https://discord.com/invite/ywpkAXFjZH)
-- [Fe Twitter](https://twitter.com/official_fe)
-
-### 合约示例 {#example-contract-3}
-
-以下是在 Fe 中执行的简单的智能合约。
-
-```
-type BookMsg = bytes[100]
-
-contract GuestBook:
- pub guest_book: map
-
- event Signed:
- book_msg: BookMsg
-
- pub def sign(book_msg: BookMsg):
- self.guest_book[msg.sender] = book_msg
-
- emit Signed(book_msg=book_msg)
-
- pub def get_msg(addr: address) -> BookMsg:
- return self.guest_book[addr].to_mem()
-
-```
-
-## 如何选择 {#how-to-choose}
-
-与任何其他编程语言一样,它主要是关于为合适的工作以及个人喜好选择合适的工具。
-
-如果你还没有尝试过任何一种语言,请考虑以下几点:
-
-### Solidity 的优点是什么? {#solidity-advantages}
-
-- 如果你是初学者,这里有很多教程和学习工具。 在[通过编码学习](/developers/learning-tools/)部分了解更多相关信息。
-- 提供出色的开发者工具。
-- Solidity 拥有庞大的开发人员社区,这意味着你很可能会很快找到问题的答案。
-
-### Vyper 的优点是什么? {#vyper-advatages}
-
-- 想要编写智能合约的 Python 开发人员入门的好方法。
-- Vyper 的功能较少,因此非常适合快速制作创意原型。
-- Vyper 旨在易于审计并最大限度地提高人类可读性。
-
-### Yul 和 Yul+ 的优点是什么? {#yul-advantages}
-
-- 简单而实用的低级语言。
-- 允许更接近原始 EVM,这有助于优化合约的燃料使用量。
-
-## 语言比较 {#language-comparisons}
-
-关于基本语法的比较、合同生命周期、接口、操作员、数据结构、功能、控制流程以及更多,请查看[由 Auditless 编写的备忘清单](https://reference.auditless.com/cheatsheet/)
-
-## 延伸阅读 {#further-reading}
-
-- [OpenZeppelin 的 Solidity 合约库](https://docs.openzeppelin.com/contracts)
-- [Solidity 示例](https://solidity-by-example.org)
diff --git "a/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/libraries/index.md" "b/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/libraries/index.md"
deleted file mode 100644
index 91843449452..00000000000
--- "a/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/libraries/index.md"
+++ /dev/null
@@ -1,117 +0,0 @@
----
-title: 智能合约库
-description:
-lang: zh
----
-
-你无需从头开始编写项目中的每一个智能合约 我们有许多开源代码的智能合约库可为你的项目提供可重复利用的构建块,从而使你不必重新开始。
-
-## 前置要求 {#prerequisites}
-
-在我们跳转到智能合约库之前,清楚地了解一个智能合约的构成是一个不错的主意。 如果尚未进行智能合约的了解,请直接点击[智能合约](/developers/docs/smart-contracts/anatomy/)。
-
-## 资料库中的内容 {#whats-in-a-library}
-
-你通常可以在智能合约库中找到两种构建模块:可以添加到合约中的可复用代码,与各种标准的实现。
-
-### 行为 {#behaviors}
-
-当编写智能合约时,你很可能会发现自己在写重复的代码。 比如说在智能合约中指派一个_管理员_地址执行受保护的操作,或添加一个紧急_暂停_按钮以应对预料不到的问题。
-
-智能合约库通常提供这些行为的可复用实现方式为[标准库](https://solidity.readthedocs.io/en/v0.7.2/contracts.html#libraries)或在 solidity 中通过[继承](https://solidity.readthedocs.io/en/v0.7.2/contracts.html#inheritance)的方式实现。
-
-例如,以下是[`不可拥有的`合约的简化版本](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.2.0/contracts/access/Ownable.sol)来自 [OpenZeppelin 合约库](https://github.com/OpenZeppelin/openzeppelin-contracts),它设计了一个作为合约所有者的地址,并且提供了一个修饰者来限制该所有者获得一种方法。
-
-```solidity
-contract Ownable {
- address public owner;
-
- constructor() internal {
- owner = msg.sender;
- }
-
- modifier onlyOwner() {
- require(owner == msg.sender, "Ownable: caller is not the owner");
- _;
- }
-}
-```
-
-在你的合约中使用这个构建模块,你需要先导入它,然后在你自己的合约中扩展它。 这个将会允许你使用 `Ownable` 合约提供的修改器来保护你的函数。
-
-```solidity
-import ".../Ownable.sol"; // Path to the imported library
-
-contract MyContract is Ownable {
- // The following function can only be called by the owner
- function secured() onlyOwner public {
- msg.sender.transfer(1 ether);
- }
-}
-```
-
-另一个比较受欢迎的例子是 [SafeMath](https://docs.openzeppelin.com/contracts/3.x/utilities#math) 或[DsMath](https://dappsys.readthedocs.io/en/latest/ds_math.html)。 这些库(与基础合约不同)提供了语言本身不具有的带有溢出检查的算术函数。 使用这些库而不是本地的算术操作可以来防止你的合约出现溢出错误,这些错误可能会导致灾难性的后果!
-
-### 标准 {#standards}
-
-为了促进[可组合性和互操作性](/developers/docs/smart-contracts/composability/),以太坊社区已经以**以太坊意见征求**的形式定义了几个标准。 你可以在[标准](/developers/docs/standards/)部分阅读更多关于他们的信息。
-
-当将以太坊意见征求作为你的合约的一部分时,更好的做法是寻找已有的标准去实现而不是试图推出你自己的方式。 许多智能合约库包含了最流行的以太坊意见征求标准的实现。 例如,普遍存在的 [ERC20 同质化通证标准](/developers/tutorials/understand-the-erc-20-token-smart-contract/)可在 [HQ20](https://github.com/HQ20/contracts/blob/master/contracts/token/README.md) [DappSys](https://github.com/dapphub/ds-token/) 和 [OpenZeppelin](https://docs.openzeppelin.com/contracts/3.x/erc20) 中找到。 此外,一些以太坊意见征求还提供规范实现作为以太坊意见征求本身的一部分。
-
-值得一提的是,一些以太坊意见征求不是独立的,而是对其他以太坊意见征求的补充。 例如, [ERC2612](https://eips.ethereum.org/EIPS/eip-2612) 为 ERC20 添加了一个扩展,以提高其可用性。
-
-## 如何添加库 {#how-to}
-
-始终参考你所包含的库的文档,以获得关于如何将其包含在你的项目中的具体说明 一些 Solidity 合约库使用 `npm` 来打包,所以你可以直接 `npm` 安装它们。 大多数[编译](/developers/docs/smart-contracts/compiling/)合约的工具会在你的 `node_modules` 中查找智能合约库,所以你可以做以下工作。
-
-```solidity
-// This will load the @openzeppelin/contracts library from your node_modules
-import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
-
-contract MyNFT is ERC721 {
- constructor() ERC721("MyNFT", "MNFT") public { }
-}
-```
-
-无论你使用哪种方法,当包括一个库时,总是要注意[语言](/developers/docs/smart-contracts/languages/)的版本。 例如,如果你用 Solidity 0.5 编写你的合约,你就不能使用 Solidity 0.6 的库。
-
-## 何时使用 {#when-to-use}
-
-为你的项目使用智能合约库有几个好处。 首先,它为你提供了现成的构建模块,你可以将其纳入你的系统,而不必自己编码,从而节省了你的时间。
-
-安全性也是一个重要的优点。 开源智能合约库也经常受到严格审查。 鉴于许多项目都依赖于它们,社区有强烈的动机来对它们持续审计。 在应用程序代码中发现错误比在可重用的合约库中发现错误要常见得多。 一些库还接受了[外部审计](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/audits),以提高安全性。
-
-然而,使用智能合约库有可能将你不熟悉的代码纳入你的项目。 导入一个合约并将其直接包含在你的项目中是很诱人的,但如果没有很好地理解该合约的作用,你可能会由于一个意外的行为而无意中在你的系统中引入一个问题。 一定要确保阅读你要导入的代码的文档,然后在使其成为你的项目的一部分之前审查代码本身。
-
-最后,在决定是否包括一个库时,要考虑其总体使用情况。 一个被广泛采用的方案的好处是有一个更大的社区和更多的眼睛来关注它的问题。 在使用智能合约进行建设时,安全应该是你的首要关注点!
-
-## 相关工具 {#related-tools}
-
-**OpenZeppelin 合约-** **_安全的智能合约开发库。_**
-
-- [相关文档](https://docs.openzeppelin.com/contracts/)
-- [GitHub](https://github.com/OpenZeppelin/openzeppelin-contracts)
-- [社区论坛](https://forum.openzeppelin.com/c/general/16)
-
-**DappSys -** **_安全、简单、灵活的智能合约构建模块。_**
-
-- [相关文档](https://dappsys.readthedocs.io/)
-- [GitHub](https://github.com/dapphub/dappsys)
-
-**HQ20 -** **_一个带有合约、库和案例的 Solidity 项目,帮助你为现实世界建立功能齐全的分布式应用。_**
-
-- [GitHub](https://github.com/HQ20/contracts)
-
-**thirdweb Solidity SDK - ** **_提供了高效构建自定义智能合约所需的工具_**
-
-- [相关文档](https://portal.thirdweb.com/solidity/)
-- [GitHub](https://github.com/thirdweb-dev/contracts)
-
-## 相关教程 {#related-tutorials}
-
-- [以太坊开发者的安全考虑](/developers/docs/smart-contracts/security/) _– 构建智能合约时的安全注意事项教程,包括库的使用。_
-- [了解 ERC-20 代币智能合约](/developers/tutorials/understand-the-erc-20-token-smart-contract/) _- 关于 ERC20 标准的教程,由多个库提供。_
-
-## 延伸阅读 {#further-reading}
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
diff --git "a/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/security/index.md" "b/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/security/index.md"
deleted file mode 100644
index 80b976a220f..00000000000
--- "a/public/content/translations/zh/19) Smart Contracts \342\200\223 Basics/developers/docs/smart-contracts/security/index.md"
+++ /dev/null
@@ -1,580 +0,0 @@
----
-title: 智能合约安全性
-description: 安全的以太坊智能合约构建准则概述
-lang: zh
----
-
-智能合约极为灵活,能够控制大量的价值和数据,并在区块链上运行基于代码的不可改变逻辑。 因而,一个由去信任的去中心化应用程序构成的生态系统应运而生且充满活力,它具备了许多传统系统所没有的优势。 同时,这也给攻击者提供了利用智能合约中的漏洞来获利的机会。
-
-公共区块链(比如以太坊)使智能合约的安全性问题变的更加复杂。 已部署的合约代码_通常_无法更改因而不能给安全问题打补丁,并且由于这种不可变性,从智能合约中盗取的资产极难追踪并且绝大多数无法挽回。
-
-虽然统计数据有所差异,但据估计,由于智能合约的安全缺陷而被盗窃或丢失的资产总额肯定超过了 10 亿美元。 其中包括几次著名事件,比如 [DAO 攻击事件](https://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/)(360 万个以太币被盗,按照当前价格计算总金额超过 10 亿美元)、[Parity 多重签名钱包攻击事件](https://www.coindesk.com/30-million-ether-reported-stolen-parity-wallet-breach)(黑客窃取了 3000 万美元)以及 [Parity 钱包冻结问题](https://www.theguardian.com/technology/2017/nov/08/cryptocurrency-300m-dollars-stolen-bug-ether)(价值超过 3 亿美元的以太币遭到永久锁定)。
-
-上述几个事件迫使开发者必须付诸努力,构建安全、稳健、恢复力强的智能合约。 智能合约安全性是每个开发者都需要学习和研究的严肃问题。 本指南将介绍针对以太坊开发者的安全性注意事项,并研究增强智能合约安全性的资源。
-
-## 前言 {#prerequisites}
-
-在开始研究安全性问题之前,请确保自己已经熟悉[智能合约开发的基础知识](/developers/docs/smart-contracts/)。
-
-## 安全以太坊智能合约的构建准则 {#smart-contract-security-guidelines}
-
-### 1. 设计合理的访问控制 {#design-proper-access-controls}
-
-在智能合约中,带有 `public` 或 `external` 标记的函数可以被任何外部帐户 (EOA) 或者合约帐户调用。 如果你希望他人与你的合约交互,就必须为函数指定公共可见性。 然而,标记为 `private` 的函数只能被智能合约内部的函数调用,外部帐户无法调用。 为每个网络用户提供合约函数的访问权限会造成问题,尤其是当这种访问意味着任何人都能执行敏感操作(比如铸币)的情况。
-
-为了防止未经授权使用智能合约函数,有必要实现安全访问控制。 访问控制机制将使用智能合约中某些特定函数的能力限定给经过核准的实体,例如负责管理合约的帐户。 两种模式有助于在智能合约中实现访问控制,**所有权模式**和**基于角色的控制**:
-
-#### 所有权模式 {#ownable-pattern}
-
-在所有权模式中,在合约创建过程中将地址设置为合约的“所有者”。 受保护的函数都分配有 `OnlyOwner` 修改器,这样可以确保合约在执行函数之前验证调用地址的身份。 从合约所有者以外的其他地址调用受保护的函数,始终会被回滚,阻止不必要的访问。
-
-#### 基于角色的访问控制 {#role-based-access-control}
-
-在智能合约中将一个地址注册成 `Owner` 会引入中心化风险,并代表一种单点故障。 如果所有者的帐户密钥已泄露,攻击者就可以攻击其拥有的合约。 这就是采用基于角色的访问控制模式及多个管理帐户可能是更好方案的原因。
-
-在基于角色的访问控制中,对敏感函数的访问分布在一组受信任的参与者之间。 例如,一个帐户可能负责铸造代币,而另一个帐户进行升级或暂停合约。 以这种方式分散访问控制,消除了单点故障并减少了对用户的信任假设。
-
-##### 使用多重签名钱包
-
-实施安全访问控制的另一种方法是使用[多重签名帐户](/developers/docs/smart-contracts/#multisig)来管理合约。 与常规外部帐户不同,多重签名帐户由多个实体拥有,需要最低数量的帐户签名(比如 5 个中的 3 个)才能执行交易。
-
-使用多重签名进行访问控制增加了额外一层安全性保障,因为需要多方同意才能对目标合约执行操作。 如果有必要使用所有权模式,这种方法尤其有用,因为攻击者或内部作恶者操控敏感的合约函数以达到恶毒目的会更加困难。
-
-### 2. 使用 require()、assert() 和 revert() 语句保护合约操作 {#use-require-assert-revert}
-
-如上所述,一旦智能合约部署到区块链上,任何人都可以调用其中的公共函数。 由于无法事先知道外部帐户将如何与合约交互,因此最好在部署之前实施内部安全措施以防出现有问题的操作。 可以通过使用 `require()`、`assert()` 和 `revert()` 语句强制执行智能合约中的正确行为,在执行不满足某些要求时触发异常并回滚状态变化。
-
-**`require()`**:`require` 在函数开始时定义并确保在被调用函数执行之前满足预定义的条件。 `require` 语句可用于在处理函数之前验证用户输入、检查状态变量或验证调用帐户的身份。
-
-**`assert()`**:`assert()` 用于检测内部错误,并检查代码中是否有违反“不变量”的情况。 不变量是关于合约状态的逻辑断言,对于函数的所有执行都应该为真。 举个例子,代币合约的最大总供应量或余额就是一个不变量。 使用 `assert()` 可确保合约永远不会达到易受攻击的状态,如果达到,对状态变量的所有更改都会回滚。
-
-**`revert()`**:`revert()` 可用于 if-else 语句,可在要求的条件未满足时触发异常。 下面的示例合约使用 `revert()` 来保护函数的执行:
-
-```
-pragma solidity ^0.8.4;
-
-contract VendingMachine {
- address owner;
- error Unauthorized();
- function buy(uint amount) public payable {
- if (amount > msg.value / 2 ether)
- revert("Not enough Ether provided.");
- // Perform the purchase.
- }
- function withdraw() public {
- if (msg.sender != owner)
- revert Unauthorized();
-
- payable(msg.sender).transfer(address(this).balance);
- }
-}
-```
-
-### 3. 测试智能合约并验证代码正确性 {#test-smart-contracts-and-verify-code-correctness}
-
-鉴于在[以太坊虚拟机](/developers/docs/evm/)中运行的代码的不可变性,智能合约在开发阶段需要更高水平的质量评估。 对合约进行大量测试并观察是否存在任何意外结果,将显著增强合约的安全性并为用户提供长远保护。
-
-常用办法编写小单元测试,这些测试使用预计合约从用户处接收的模拟数据。 [单元测试](/developers/docs/smart-contracts/testing/#unit-testing)能够测试某些函数的功能并确保智能合约按预期运行。
-
-遗憾的是,单独使用单元测试对提高智能合约的安全性效果甚微。 单元测试也许可以证明函数对于模拟数据正确执行,但单元测试的有效性受限于编写的测试。 这就意味着很难检测到威胁智能合约安全性的边缘情况和漏洞。
-
-更好的方法是将单元测试与基于属性的测试相结合,后者是通过[静态和动态分析](/developers/docs/smart-contracts/testing/#static-dynamic-analysis)进行的。 静态分析依赖于底层的表示(例如[控制流程图](https://en.wikipedia.org/wiki/Control-flow_graph)和[抽象语法树](https://deepsource.io/glossary/ast/))分析可达到的程序状态和执行路径。 同时,动态分析技术([例如智能合约模糊测试](https://www.cyfrin.io/blog/smart-contract-fuzzing-and-invariants-testing-foundry))使用随机输入值执行合约代码,以检测违反安全属性的操作。
-
-[形式化验证](/developers/docs/smart-contracts/formal-verification)是另一项验证智能合约安全属性的技术。 与常规测试不同,形式化验证能够确证智能合约中没有错误。 这是通过制定细致描述安全属性的形式化规范并证明智能合约的形式化模型符合这一规范来实现的。
-
-### 4. 申请代码独立审核 {#get-independent-code-reviews}
-
-在测试智能合约后,最好请其他人检查源代码是否存在安全问题。 虽然测试无法发现智能合约中的所有缺陷,但进行独立审核能增加发现漏洞的可能性。
-
-#### 审计 {#audits}
-
-进行独立代码审核的方式之一是委托执行智能合约审计。 审计员是确保智能合约安全、没有质量缺陷和设计错误的关键所在。
-
-尽管如此,你也不应将审计看作终极方案。 智能合约审计无法发现所有漏洞并且主要是为了额外增加一轮审核,这有助于检测到开发者在最初的开发和测试中遗漏的问题。 你还应遵循与审计员合作的最佳做法(例如正确记录代码并添加行内注释),让智能合约审计发挥最大作用。
-
-- [智能合约审计提示和技巧](https://twitter.com/tinchoabbate/status/1400170232904400897) - _@tinchoabbate_
-- [充分利用你的审计](https://inference.ag/blog/2023-08-14-tips/) - _推理 EM>
-
-#### 漏洞奖励 {#bug-bounties}
-
-执行外部代码审查的另一种方法是设立漏洞奖励计划。 漏洞奖励是一种经济奖励,提供给发现应用程序中漏洞的个人(通常是白帽黑客)。
-
-应用得当,漏洞奖励可以激励黑客群体中的成员检查你的代码是否存在重大缺陷。 一个真实的示例是“无限复制倾向漏洞”,它可以让攻击者在以太坊上运行的[二层网络](/layer-2/)协议 [Optimism](https://www.optimism.io/) 上创建无限量的以太币。 幸运的是,一位白帽黑客[发现了这一漏洞](https://www.saurik.com/optimism.html)并告知了以太坊团队,[并获得了一大笔报酬](https://cryptoslate.com/critical-bug-in-ethereum-l2-optimism-2m-bounty-paid/)。
-
-一种实用策略是按有风险资金数额的比例设置漏洞奖励计划的报酬金额。 这种方法被描述成“[比例漏洞奖励](https://medium.com/immunefi/a-defi-security-standard-the-scaling-bug-bounty-9b83dfdc1ba7)”,通过提供经济激励让大家负责任地披露而非利用漏洞。
-
-### 5. 智能合约开发过程中遵循最佳做法 {#follow-smart-contract-development-best-practices}
-
-即使审计和漏洞奖励存在,你也有责任编写高质量的代码。 遵循正确的设计和开发流程是良好的智能合约安全性的开端:
-
-- 将所有代码存放在一个版本控制系统中,例如 git
-
-- 所有代码修改通过拉取请求进行
-
-- 确保拉取请求至少有一位独立审核者 — 如果只有你一人完成项目,考虑和其他开发者相互进行代码审核
-
-- 在[开发环境](/developers/docs/frameworks/)下测试、编译、和部署智能合约
-
-- 通过基本代码分析工具运行代码,例如 [Cyfrin Aaderyn](https://github.com/Cyfrin/aderyn) 、Mythril 和 Slither。 理想情况下,应在合并每个拉取请求前进行这一操作,并比较输出中的不同之处
-
-- 确保代码在编译时没有错误,并且 Solidity 编译器没有发出警告
-
-- 正确记录代码(使用 [NatSpec](https://solidity.readthedocs.io/en/develop/natspec-format.html)),并用易于理解的语言描述合约架构的细节。 这将使其他人更容易审计和审核你的代码。
-
-### 6. 实施可靠的灾难恢复计划 {#implement-disaster-recovery-plans}
-
-设计安全的访问控制、使用函数修改器以及其他建议能够提高智能合约的安全性,但这些并不能排除恶意利用的可能性。 构建安全的智能合约需要“做好失败准备”,并制定好应变计划有效地应对攻击。 适当的灾难恢复计划应包括以下部分或全部内容:
-
-#### 合约升级 {#contract-upgrades}
-
-虽然以太坊智能合约默认是不可变的,但通过使用升级模式可以实现一定程度的可变性。 如果重大缺陷导致合约不可用并且部署新逻辑是最可行的选择,有必要升级合约。
-
-合约升级机制的原理有所不同,但“代理模式”是智能合约升级最常见的方法之一。 [代理模式](https://www.cyfrin.io/blog/upgradeable-proxy-smart-contract-pattern)将应用程序的状态和逻辑划分为_两个_合约。 第一个合约(称为“代理合约”)存储状态变量(如用户余额),而第二个合约(称为"逻辑合约")存放执行合约函数的代码。
-
-帐户与代理合约互动,代理合约通过[`delegatecall()`](https://docs.soliditylang.org/en/v0.8.16/introduction-to-smart-contracts.html?highlight=delegatecall#delegatecall-callcode-and-libraries)的低级调用将所有功能调用分发给逻辑合约。 与普通的消息调用不同,`delegatecall()` 确保在逻辑的合约地址上运行的代码是在调用合约的语境下执行。 这意味着逻辑合约将始终写入代理的存储空间(而非自身存储空间),并且 `msg.sender` 和 `msg.value` 的原始值保持不变。
-
-将调用委托给逻辑合约需要将其地址存储在代理合约的存储空间。 因此,升级合约的逻辑就相当于部署另一个逻辑合约并在代理合约中存储新的地址。 由于对代理合约的后续调用会自动传送到新的逻辑合约,因此你“升级”了合约,但实际上并未修改代码。
-
-[更多关于升级合约的信息](/developers/docs/smart-contracts/upgrading/)。
-
-#### 紧急停止 {#emergency-stops}
-
-如上所述,大量审计和测试不可能发现智能合约中的所有漏洞。 无法修补在部署后出现的代码漏洞,因为你无法更改运行在智能合约中的代码。 而且,升级机制(如代理模式)可能需要时间来实现(它们往往需要多方批准),这只会给攻击者更多的时间来造成更大的破坏。
-
-这种情况下,核心方案是实施一种“紧急停止”功能,阻止对合约中有漏洞的函数的调用。 紧急停止通常由以下几部分组成:
-
-1. 表明智能合约是否处在停止状态的全局布尔变量。 在设置合约时该变量设为 `false`,但在合约停止后将回滚为 `true`。
-
-2. 执行过程中引用该布尔变量的函数。 此类函数在智能合约没有停止时可以访问,而当紧急停止功能触发后则无法访问。
-
-3. 可以访问紧急停止功能的实体,可将布尔变量设置为 `true`。 为防止恶意行为,对此功能的调用可以限制给一个可信地址(如合约所有者)。
-
-一旦合约操作触发紧急停止,某些函数将无法调用。 这是通过把一些函数包装在引用该全局变量的修改器中实现的。 以下[示例](https://github.com/fravoll/solidity-patterns/blob/master/EmergencyStop/EmergencyStop.sol)描述了该模式在合约中的实现:
-
-```solidity
-// 本代码未经专业审计,对安全性和正确性不做任何承诺。 如需使用,风险自负。
-
-contract EmergencyStop {
-
- bool isStopped = false;
-
- modifier stoppedInEmergency {
- require(!isStopped);
- _;
- }
-
- modifier onlyWhenStopped {
- require(isStopped);
- _;
- }
-
- modifier onlyAuthorized {
- // Check for authorization of msg.sender here
- _;
- }
-
- function stopContract() public onlyAuthorized {
- isStopped = true;
- }
-
- function resumeContract() public onlyAuthorized {
- isStopped = false;
- }
-
- function deposit() public payable stoppedInEmergency {
- // Deposit logic happening here
- }
-
- function emergencyWithdraw() public onlyWhenStopped {
- // Emergency withdraw happening here
- }
-}
-```
-
-以上示例展示了紧急停止的基本特点:
-
-- 布尔值 `isStopped` 开始时求值为 `false`,但当合约进入紧急模式时求值为 `true`。
-
-- 函数修改器 `onlyWhenStopped` 和 `stoppedInEmergency` 检查 `isStopped` 变量。 `stoppedInEmergency` 用于控制在合约有漏洞时应该无法访问的函数(如 `deposit()`)。 对这些函数的调用将仅仅进行回滚而已。
-
-`onlyWhenStopped` 用于在紧急情况下应该可调用的函数(如 `emergencyWithdraw()`)。 此类函数可以帮助解决问题,因此它们不在“受限制函数”之列。
-
-紧急停止功能的应用,为处理智能合约中的严重漏洞提供了一种有效的权宜之计。 然而,这也意味着用户更需要相信开发者不会为自身利益激活这一功能。 为此,将紧急停止的控制权去中心化,使其受到链上投票机制、时间锁的约束或者需要来自多重签名钱包的批准,都是潜在的解决方案。
-
-#### 事件监测 {#event-monitoring}
-
-[事件](https://docs.soliditylang.org/en/v0.8.15/contracts.html#events)允许用户跟踪对智能合约函数的调用并监测状态变量的变化。 最理想的做法是将智能合约编写为能够在某一方采取对安全至关重要的操作(如提取资金)时发出一个事件。
-
-记录事件并进行链下监测,可以深入了解合同的运作情况,有助于更快地发现恶意行为。 这意味着你的团队可以更快地应对黑客攻击并采取行动减轻对用户的影响,如暂停函数或进行升级。
-
-你也可以选择一种现成的监测工具,只要有人与你的合约交互,就会自动转发警报。 这些工具将允许你根据不同的触发器创建自定义警报,如交易量、函数调用的频率或相关具体函数。 例如,你可以编写一个警报,当单笔交易的提款金额超过特定阈值时触发。
-
-### 7. 设计安全的治理系统 {#design-secure-governance-systems}
-
-你可能想要通过将核心智能合约的控制权转交给社区成员来去中心化你的应用。 在这种情况下,智能合约系统将包括一个治理模块 — 一种允许社区成员通过链上治理系统批准管理行为的机制。 例如,将代理合约升级为新实现的提案可能由代币持有人投票。
-
-去中心化治理可能是有益的,特别是因为它符合开发者和最终用户的利益。 然而如果实现不当,智能合约治理机制可能会带来新的风险。 一种可能的场景是,攻击者通过取得[闪电贷](/defi/#flash-loans)获得了很大的投票权(以持有的代币数量衡量)并通过一条恶意提案。
-
-防止与链上治理有关的问题的一种方法是[使用时间锁](https://blog.openzeppelin.com/protect-your-users-with-smart-contract-timelocks/)。 时间锁阻止智能合约执行某些操作,直到经过特定的时间长度。 其他策略包括根据每个代币锁定的时间长短为其分配“投票权重”,或者检测一个地址在历史时期(例如,过去的 2-3 个区块)而不是当前区块的投票权。 这两种方法都减少了快速累积投票权以影响链上投票的可能性。
-
-在分享的链接中查看更多关于[设计安全的治理系统](https://blog.openzeppelin.com/smart-contract-security-guidelines-4-strategies-for-safer-governance-systems/)、[去中心化自治组织中不同的投票机制](https://hackernoon.com/governance-is-the-holy-grail-for-daos)和[利用去中心化金融的常见去中心化自治组织攻击向量](https://dacian.me/dao-governance-defi-attacks)的信息
-
-### 8. 将代码的复杂性降到最低 {#reduce-code-complexity}
-
-传统的软件开发者熟悉 KISS(“保持简单、保持愚蠢”)原则,该原则建议不要将不必要的复杂性带入到软件设计中。 这与长期以来的见解“复杂的系统有着复杂的失败方式”不谋而合,而且复杂系统更容易出现代价高昂的错误。
-
-编写智能合约时简洁化尤其重要,因为智能合约有可能控制大量的价值。 实现简洁化的一个窍门是,编写智能合约时在允许的情况下重用已存在的库,例如 [OpenZeppelin Contracts](https://docs.openzeppelin.com/contracts/4.x/)。 因为开发者对这些库已经进行了广泛的审计和测试,使用它们会减少从零开始编写新功能时引入漏洞的几率。
-
-另一个常见的建议是通过将业务逻辑拆分到多个合约中,编写小型函数并保持合约模块化。 编写更简单的代码不仅仅会减少智能合约中的攻击面,还让推理整个系统的正确性并及早发现可能的设计错误变得更加容易。
-
-### 9. 防范常见的智能合约漏洞 {#mitigate-common-smart-contract-vulnerabilities}
-
-#### 重入攻击 {#reentrancy}
-
-以太坊虚拟机不允许并发,这意味着消息调用中涉及的两个合约不能同时运行。 外部调用暂停调用合约的执行和内存,直到调用返回,此时执行正常进行。 该过程可以正式描述为将[控制流](https://www.computerhope.com/jargon/c/contflow.htm)转向另一个合约。
-
-尽管这种转向大多数情况下没有危害,但将控制流转向不受信任的合约可能引起问题,例如重入攻击。 当恶意合约在初始函数调用完成之前回调有漏洞的合约时,就会发生重入攻击。 这类攻击最好用一个例子来解释。
-
-考虑一个简单的智能合约(“Victim”),它允许任何人存入和提取以太币:
-
-```solidity
-// This contract is vulnerable. Do not use in production
-
-contract Victim {
- mapping (address => uint256) public balances;
-
- function deposit() external payable {
- balances[msg.sender] += msg.value;
- }
-
- function withdraw() external {
- uint256 amount = balances[msg.sender];
- (bool success, ) = msg.sender.call.value(amount)("");
- require(success);
- balances[msg.sender] = 0;
- }
-}
-```
-
-该合约公开了 `withdraw()` 函数,允许用户提取先前存入合约的以太币。 当处理提款时,合约执行以下操作:
-
-1. 检查用户的以太币余额
-2. 将资金发送给调用地址
-3. 将其余额重置为 0,防止用户再提取
-
-`Victim` 合约中的 `withdraw()` 函数遵循“检查-交互-效果”模式。 它_检查_执行所需的条件是否满足(例如,用户的以太币余额是否为正值)并通过向调用者的地址发送以太币来执行_交互_,然后再应用交易的_效果_(例如减少用户的余额)。
-
-如果从外部帐户调用 `withdraw()`,该函数将按预期执行:`msg.sender.call.value()` 向调用方发送以太币。 然而,如果 `msg.sender` 是智能合约帐户调用 `withdraw()`,使用 `msg.sender.call.value()` 发送资金还将使存储在该地址的代码运行。
-
-假设以下是部署在合约地址的代码:
-
-```solidity
- contract Attacker {
- function beginAttack() external payable {
- Victim(victim_address).deposit.value(1 ether)();
- Victim(victim_address).withdraw();
- }
-
- function() external payable {
- if (gasleft() > 40000) {
- Victim(victim_address).withdraw();
- }
- }
-}
-```
-
-此合约执行下面三项操作:
-
-1. 接受来自另一帐户(如攻击者的外部帐户)的存款
-2. 将 1 个以太币存入 Victim 合约
-3. 提取存储在该智能合约中的 1 个以太币
-
-这里没有什么问题,只是 `Attacker` 有另一个函数,如果传入的 `msg.sender.call.value` 调用剩余的燃料超过 40000,它就再次调用 `Victim` 中的 `withdraw()` 函数。 这使得 `Attacker` 能够重入 `Victim` 合约并在第一次调用 `withdraw` 函数结束_之前_提取更多资金。 这个循环如下所示:
-
-```solidity
-- Attacker 的外部帐户使用 1 个以太币调用 `Attacker.beginAttack()`
-- `Attacker.beginAttack()` 将 1 个以太币存入 `Victim`
-- `Attacker` 调用`Victim` 中的`withdraw()
-- `Victim` 检查 `Attacker` 的余额(1 个以太币)
-- `Victim` 发送 1 个以太币给 `Attacker`(触发默认函数)
-- `Attacker` 再次调用 `Victim.withdraw()`(注意 `Victim` 并没有减少 `Attacker` 第一次提款后的余额)
-- `Victim` 检查 `Attacker` 的余额(仍然是 1 个以太币,因为它没有应用第一次调用的效果)
-- `Victim` 发送 1 个以太币给 `Attacker`(触发默认函数,让 `Attacker` 可以重入 `withdraw` 函数)
-- 这个过程重复进行,直到 `Attacker `耗燃料,此时 `msg.sender.call.value `返回但不会触发额外的提款
-- 最后 `Victim` 将第一笔交易(和后续交易)的结果应用于其状态,所以 `Attacker` 的余额被设置为 0
-```
-
-总结起来就是,由于调用者的余额在函数执行完成之前没有设置为 0,所以后续的调用会成功,让调用者可以多次提取他们的余额。 这种攻击可以用来提空智能合约中的资金,就像 [2016 DAO 黑客攻击](https://www.coindesk.com/learn/2016/06/25/understanding-the-dao-attack/)中发生情况的那样。 正如[公开的重入攻击列表](https://github.com/pcaversaccio/reentrancy-attacks)所示,当前重入攻击仍是智能合约所面临的一个严重问题。
-
-##### 如何防止重入攻击
-
-应对重入攻击一种方法是遵循[检查-效果-交互模式](https://docs.soliditylang.org/en/develop/security-considerations.html#use-the-checks-effects-interactions-pattern)。 这种模式要求按照以下方式执行函数:最先执行在继续执行函数前执行必要检查的代码,再执行操作合约状态的代码,最后执行与其他合约或外部帐户交互的代码。
-
-检查-效果-交互模式在 `Victim` 合约的修订版中采用,如下所示:
-
-```solidity
-contract NoLongerAVictim {
- function withdraw() external {
- uint256 amount = balances[msg.sender];
- balances[msg.sender] = 0;
- (bool success, ) = msg.sender.call.value(amount)("");
- require(success);
- }
-}
-```
-
-该合约对用户的余额执行_检查_,应用 `withdraw()` 函数的_效果_(将用户的余额重置为 0)并继续执行_交互_(将以太币发送到用户的地址)。 这确保了合约在外部调用之前更新其存储空间,消除了导致第一次攻击的重入攻击的条件。 `Attacker` 合约可能仍然可以回调 `NoLongerAVictim`,但由于 `balances[msg.sender]` 已设置为 0,额外的提取将引发错误。
-
-另一种方案是使用互斥锁(通常称为“mutex”),它锁定一部分合约状态直到函数调用完成。 互斥锁是通过布尔变量实现的,该变量在函数执行之前设置为 `true`,在调用完成后回滚为 `false`。 如下面的例子所示,使用互斥锁可以防止函数在初始调用仍在进行时不受到递归调用,从而有效地阻止重入攻击。
-
-```solidity
-pragma solidity ^0.7.0;
-
-contract MutexPattern {
- bool locked = false;
- mapping(address => uint256) public balances;
-
- modifier noReentrancy() {
- require(!locked, "Blocked from reentrancy.");
- locked = true;
- _;
- locked = false;
- }
- // This function is protected by a mutex, so reentrant calls from within `msg.sender.call` cannot call `withdraw` again.
- // The `return` statement evaluates to `true` but still evaluates the `locked = false` statement in the modifier
- function withdraw(uint _amount) public payable noReentrancy returns(bool) {
- require(balances[msg.sender] >= _amount, "No balance to withdraw.");
-
- balances[msg.sender] -= _amount;
- bool (success, ) = msg.sender.call{value: _amount}("");
- require(success);
-
- return true;
- }
-}
-```
-
-还可以使用[拉取支付](https://docs.openzeppelin.com/contracts/4.x/api/security#PullPayment) 系统,该系统要求用户从智能合约中提取资金,而不是使用将资金发送到帐户的“推送支付”系统。 这样就消除了意外触发未知地址中代码的可能性(还可以防止某些拒绝服务攻击)。
-
-#### 整数下溢和溢出 {#integer-underflows-and-overflows}
-
-当算术运算的结果超出可接受的值范围,导致其“滚动”到可表示的最小值,整数溢出发生。 例如,`uint8` 只能存储最大为 2^-1=255 的值。 算术运算的结果如果大于 `255`,即溢出并重置 `Uint` 为`0`,这类似于汽车里程表,一旦达到最大里程 (999999) 示数就重置为 0。
-
-整数下溢发生的原因类似:算术运算的结果小于可接受的范围。 比方说,你尝试减少 `uint8` 中的一个`0`,结果将只会滚动到最大的可表示值 (`255`)。
-
-整数溢出和下溢都会导致合约的状态变量出现意外变化,引发意外的执行。 以下例子说明了攻击者如何利用智能合约的算数溢出执行无效操作:
-
-```
-pragma solidity ^0.7.6;
-
-// This contract is designed to act as a time vault.
-//用户可以向合约里存款但至少在一周内无法提款。
-//用户还可以延长 1 周的等待期。
-
-/*
-1. 部署 TimeLock
-2. 使用 TimeLock 地址部署 Attack
-3. 调用 Attack.attack,发送 1 个以太币。 你将能够立即
- 提取你的以太币。
-
-发生了什么?
-攻击造成了 TimeLock 溢出,并且能够在 1 周的等待期之
-前提款。
-*/
-
-contract TimeLock {
- mapping(address => uint) public balances;
- mapping(address => uint) public lockTime;
-
- function deposit() external payable {
- balances[msg.sender] += msg.value;
- lockTime[msg.sender] = block.timestamp + 1 weeks;
- }
-
- function increaseLockTime(uint _secondsToIncrease) public {
- lockTime[msg.sender] += _secondsToIncrease;
- }
-
- function withdraw() public {
- require(balances[msg.sender] > 0, "Insufficient funds");
- require(block.timestamp > lockTime[msg.sender], "Lock time not expired");
-
- uint amount = balances[msg.sender];
- balances[msg.sender] = 0;
-
- (bool sent, ) = msg.sender.call{value: amount}("");
- require(sent, "Failed to send Ether");
- }
-}
-
-contract Attack {
- TimeLock timeLock;
-
- constructor(TimeLock _timeLock) {
- timeLock = TimeLock(_timeLock);
- }
-
- fallback() external payable {}
-
- function attack() public payable {
- timeLock.deposit{value: msg.value}();
- /*
- if t = current lock time then we need to find x such that
- x + t = 2**256 = 0
- so x = -t
- 2**256 = type(uint).max + 1
- so x = type(uint).max + 1 - t
- */
- timeLock.increaseLockTime(
- type(uint).max + 1 - timeLock.lockTime(address(this))
- );
- timeLock.withdraw();
- }
-}
-```
-
-##### 如何防止整数溢出和下溢
-
-从 0.8.0 版开始,Solidity 编译器禁用导致整数下溢和溢出的代码。 然而,用较低编译器版本编译的合约应当对涉及算术运算的函数执行检查,或者使用检查是否发生下溢/溢出的库(例如 [SafeMath](https://docs.openzeppelin.com/contracts/2.x/api/math))。
-
-#### 预言机操纵 {#oracle-manipulation}
-
-[预言机](/developers/docs/oracles/)获取链下信息并将这些信息发送到链上供智能合约使用。 通过预言机,你可以设计出和链下系统(资本市场)交互的智能合约,极大地拓展它们的应用。
-
-但如果预言机损坏并向链上发送错误信息,智能合约将基于错误的输入执行,这会造成问题。 这就是“预言机问题”的根源,它涉及确保区块链预言机提供准确、最新、即时的信息。
-
-相关的安全问题就是利用链上预言机(例如去中心化交易所)获取一种资产的现货价格。 [去中心化金融 (DeFi)](/defi/) 行业中的借贷平台经常利用这种方法确定用户抵押品的价值,进而确定他们能借入多少。
-
-去中心化交易所 (DEX) 的价格往往是准确的,很大程度上源于套利者的套利行为帮助市场恢复平价。 然而,去中心化交易所的价格容易受到操纵,尤其当链上预言机根据历史交易模式计算资产价格时(通常是这种情况)。
-
-例如,攻击者可以在与你的借贷合约交互前,通过获得闪电贷人为拉高资产的现货价格。 在向去中心化交易所 (DEX) 查询资产价格时,将返回一个高于正常水平的值(由于攻击者对大宗“买入订单”影响了资产的需求),这样攻击者就可以借来比原本更多的资金。 这种“闪电贷攻击”一直在利用对去中心化金融应用程序之间的价格预言机的依赖,使许多协议遭受了数百万美元的资金损失。
-
-##### 如何防止预言机操纵
-
-[避免预言机操纵](https://www.cyfrin.io/blog/price-oracle-manipultion-attacks-with-examples)的最低要求是使用从多个来源查询信息的去中心化预言机网络,以避免单点故障。 在大多数情况下,去中心化预言机有內置的加密经济学激励机制,鼓励预言机节点报告正确的信息,使它们比中心化预言机更安全。
-
-如果你打算通过查询链上预言机获得资产价格,考虑使用实施了时间加权平均价格 (TWAP) 机制的预言机。 [时间加权平均价格预言机](https://docs.uniswap.org/contracts/v2/concepts/core-concepts/oracles)查询资产在两个不同时间点(可以修改)的价格,并计算出基于所得平均值的现货价格。 选择较长的时间段可以保护协议免受价格操纵,因为最近执行的大宗订单无法影响资产价格。
-
-## 面向开发者的智能合约安全性资源 {#smart-contract-security-resources-for-developers}
-
-### 用于分析智能合约和验证代码正确性的工具 {#code-analysis-tools}
-
-- **[测试工具和程序库](/developers/docs/smart-contracts/testing/#testing-tools-and-libraries)** - _为智能合约进行单元测试、静态分析和动态分析的行业标准工具和程序库集合。_
-
-- **[形式化验证工具](/developers/docs/smart-contracts/formal-verification/#formal-verification-tools)** - _用于验证智能合约中的函数正确性和检查不变量的工具。_
-
-- **[智能合约审计服务](/developers/docs/smart-contracts/testing/#smart-contract-auditing-services)** - _为以太坊开发项目提供智能合约审计服务的组织的列表。_
-
-- **[漏洞奖励平台](/developers/docs/smart-contracts/testing/#bug-bounty-platforms)** - _协调漏洞奖励并对发现智能合约中重大漏洞的负责人进行奖励的平台。_
-
-- **[Fork Checker](https://forkchecker.hashex.org/)** - _免费的在线工具,用于检查所有关于分叉合同的现有信息。_
-
-- **[ABI 编码器](https://abi.hashex.org/)** - _免费在线服务,用于编码你的 Solidity 合约函数和构造函数参数。_
-
-- **[Aderyn](https://github.com/Cyfrin/aderyn)** - _Solidity 静态分析器,遍历抽象语法树 (AST) 来找出可疑漏洞,并以易于使用的 Mardown 格式打印输出问题。_
-
-### 智能合约监测工具 {#smart-contract-monitoring-tools}
-
-- **[OpenZeppelin Defender Sentinels](https://docs.openzeppelin.com/defender/v1/sentinel)** - _一种用于自动监测和响应智能合约中事件、函数和交易参数的工具。_
-
-- **[Tenderly Real-Time Alerting](https://tenderly.co/alerting/)** - _一种在智能合约或钱包发生异常或意外事件时,为你获取实时通知的工具。_
-
-### 智能合约的安全管理工具 {#smart-contract-administration-tools}
-
-- **[OpenZeppelin Defender Admin](https://docs.openzeppelin.com/defender/v1/admin)** - _用于智能合约管理的管理界面,包括访问控制、升级和暂停功能。_
-
-- **[Safe](https://safe.global/)** - _在以太坊上运行的智能合约钱包,需要最少人数批准交易后交易才能进行 (M-of-N)。_
-
-- **[OpenZeppelin Contracts](https://docs.openzeppelin.com/contracts/4.x/)** - _用于实现管理功能的合约库,包括管理合约所有权、升级、访问限制、治理、可暂停等功能。_
-
-### 智能合约审计服务 {#smart-contract-auditing-services}
-
-- **[ConsenSys Diligence](https://consensys.net/diligence/)** - _为整个区块链生态系统中的项目提供帮助的智能合约审计服务,确保其协议可直接发布并为保护用户而构建。_
-
-- **[CertiK](https://www.certik.com/)** - _区块链安全公司,率先在智能合约和区块链网络上采用尖端的形式化验证技术。_
-
-- **[Trail of Bits](https://www.trailofbits.com/)** - _网络安全公司,将安全研究与攻击者心态结合起来以降低风险并强化代码。_
-
-- **[PeckShield](https://peckshield.com/)** - _区块链安全公司,为整个区块链生态系统的安全、隐私和可用性提供产品和服务。_
-
-- **[QuantStamp ](https://quantstamp.com/)** - _审计服务,通过安全和风险评估服务促进主流区块链技术的采用。_
-
-- **[OpenZeppelin](https://www.openzeppelin.com/security-audits)** - _智能合约安全公司,为分布式系统提供安全审计。_
-
-- **[Runtime Verification](https://runtimeverification.com/)** - _安全公司,专门从事智能合约的形式化建模与验证。_
-
-- **[Hacken](https://hacken.io)** - _Web3 网络安全审计公司,为区块链安全提供全方位解决方案。_
-
-- **[Nethermind](https://nethermind.io/smart-contracts-audits)** - _Solidity 和 Cairo 审计服务,确保智能合约的完整性和跨以太坊和 Starknet 的用户安全_
-
-- **[HashEx](https://hashex.org/)** - _HashEx 专注于区块链和智能合约审计,确保加密货币安全,提供智能合约开发、渗透测试、区块链咨询等服务。_
-
-- **[Code4rena](https://code4rena.com/)** - _竞争性审计平台,激励智能合约安全专家查找漏洞,帮助提高 web3 的安全性。_
-
-- **[CodeHawks](https://codehawks.com/)** - _竞争性审计平台,为安全研究者举行智能合约审计比赛。_
-
-- **[Cyfrin](https://cyfrin.io)** - _Web3 安全发电站,通过产品和智能合约审计服务提高加密货币安全性。_
-
-- **[ImmuneBytes](https://www.immunebytes.com//smart-contract-audit/)** - _Web3 安全公司,通过经验丰富的审计员团队和一流的工具,为区块链系统提供安全审计。_
-
-- **[Oxorio](https://oxor.io/)** - _智能合约审计和区块链安全服务,为加密货币公司和去中心化金融项目提供以太坊虚拟机、Solidity、零知识、跨链技术方面的专业知识。_
-
-- **[Inference](https://inference.ag/)** - _安全审计公司,专注于为基于以太坊虚拟机的区块链进行智能合约审计。 多亏他们的审计专家,他们发现了潜在问题并提出了可行的解决方案,在部署之前进行修复_
-
-### 漏洞奖励平台 {#bug-bounty-platforms}
-
-- **[Immunefi](https://immunefi.com/)** - _智能合约和去中心化金融项目的漏洞奖励平台,安全研究人员在该平台上审查代码、披露漏洞、获得报酬并使加密应用更加安全。_
-
-- **[HackerOne](https://www.hackerone.com/)** - _漏洞协调和漏洞奖励平台,将企业与渗透测试人员和网络安全研究人员连接在一起。_
-
-- **[HackenProof](https://hackenproof.com/)** - _针对加密项目(去中心化金融、智能合约、钱包、中心化交易所等)的专业级漏洞奖励平台,借助这一平台,安全专家可提供漏洞诊断服务,研究人员会因为提供经过验证的相关漏洞报告获得报酬。_
-
-- **[Sherlock](https://www.sherlock.xyz/)** - _Web3 中的智能合约安全性承销商,通过智能合约管理审计人员的报酬,以确保相关漏洞得到公平的支付。_
-
-- **[CodeHawks](https://www.codehawks.com/)** - _竞争性漏洞奖金平台,供审计人员参与安全竞赛和挑战,并且(很快)能够参与他们自己的私人审计。_
-
-### 已知智能合约漏洞及利用情况的刊物 {#common-smart-contract-vulnerabilities-and-exploits}
-
-- **[ConsenSys:已知的智能合约攻击](https://consensys.github.io/smart-contract-best-practices/attacks/)** - _针对最重要的合约漏洞提供适合初学者的解释,多数案例提供了代码示例。_
-
-- **[SWC 注册表](https://swcregistry.io/)** - _适用于以太坊智能合约的常见缺陷枚举 (CWE) 的精选项目列表。_
-
-- **[Rekt](https://rekt.news/)** - _定期更新的著名加密领域黑客攻击和漏洞利用范例刊物,不提供详细的事后分析报告。_
-
-### 智能合约安全学习难点 {#challenges-for-learning-smart-contract-security}
-
-- **[Awesome BlockSec CTF](https://github.com/blockthreat/blocksec-ctfs)** - _精选区块链安全攻防、实战、[夺旗](https://www.webopedia.com/definitions/ctf-event/amp/)竞赛和解决方案的文章列表。_
-
-- **[Damn Vulnerable DeFi](https://www.damnvulnerabledefi.xyz/)** - _通过实战演练学习去中心化金融智能合约的攻击性安全,并培养漏洞搜查和安全审计方面的技能。_
-
-- **[Ethernaut](https://ethernaut.openzeppelin.com/)** - _基于 Web3 和 Solidity 的实战演练,其中每个等级都是一个需要“攻破”的智能合约。_
-
-- **[HackenProof x HackTheBox](https://app.hackthebox.com/tracks/HackenProof-Track)** - _以奇幻冒险作为背景的智能合约黑客挑战。 成功完成挑战还有机会参与私人漏洞奖金项目。_
-
-### 确保智能合约安全的最佳做法 {#smart-contract-security-best-practices}
-
-- **[ConsenSys:以太坊智能合约安全最佳实践](https://consensys.github.io/smart-contract-best-practices/)** - _保护以太坊智能合约安全的完整指南列表。_
-
-- **[Nascent:简单的安全工具箱](https://github.com/nascentxyz/simple-security-toolkit)** - _智能合约开发的实用安全指南和检查清单的集合。_
-
-- **[Solidity 模式](https://fravoll.github.io/solidity-patterns/)** - _面向智能合约编程语言 Solidity 的安全模式和最佳实践实用合集。_
-
-- **[Solidity文档:安全性注意事项](https://docs.soliditylang.org/en/v0.8.16/security-considerations.html)** - _用Solidity编写安全智能合约的准则。_
-
-- **[智能合约安全验证标准](https://github.com/securing/SCSVS)** - _旨在确立智能合约安全性标准的第十四部分检查清单,面向开发者、架构师、安全审核者和供应商。_
-
-- **[学习智能合约安全与审计](https://updraft.cyfrin.io/courses/security) - _智能合约安全与审计终极课程,专为寻求提升其安全性最佳做法和希望成为安全研究者的智能合约开发者而创建。_
-
-### 智能合约安全性教程 {#tutorials-on-smart-contract-security}
-
-- [如何编写安全的智能合约](/developers/tutorials/secure-development-workflow/)
-
-- [如何使用 Slither 查找智能合约漏洞](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/)
-
-- [如何使用 Manticore 查找智能合约漏洞](/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/)
-
-- [智能合约安全性准则](/developers/tutorials/smart-contract-security-guidelines/)
-
-- [如何安全整合代币合约与任意代币](/developers/tutorials/token-integration-checklist/)
-
-- [Cyfrin Updraft - 智能合约安全与审计完整课程](https://updraft.cyfrin.io/courses/security)
diff --git "a/public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/composability/index.md" "b/public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/composability/index.md"
deleted file mode 100644
index b8a777a5d60..00000000000
--- "a/public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/composability/index.md"
+++ /dev/null
@@ -1,76 +0,0 @@
----
-title: 智能合约的可组合性
-description:
-lang: zh
-incomplete: true
----
-
-## 简介 {#a-brief-introduction}
-
-智能合约在以太坊上是公开的,可视为开放式应用程序接口。 你不需要写自己的智能合约才能成为一个去中心化应用程序开发者,你只需要知道如何与它们交互。 例如,你可以使用现有的智能合约 [Uniswap](https://uniswap.exchange/swap),一个去中心化的交易所,在你的应用中处理代币交易逻辑 – 你并不需要一切从零开始。 看看他们的一些 [v2](https://github.com/Uniswap/uniswap-v2-core/tree/master/contracts) 和 [v3](https://github.com/Uniswap/uniswap-v3-core/tree/main/contracts) 合约。
-
-## 什么是可组合性? {#what-is-composability}
-
-可组合性是将独立的组件结合起来,以建立新的系统或输出。 在软件开发中,可组合性意味着开发者可以复用现有的软件组件来构建新的应用程序。 有个理解可组合性的好办法,就是将可组合的元素们视为乐高积木。 每个乐高积木都可以与另一个积木合并,这让你可以通过合并不同的积木来构建复杂的结构。
-
-在以太坊,每个智能合约都是某种乐高积木 — 你可以使用其他项目的智能合约作为你项目的构造块。 这意味着你不需要花时间来重复造轮子或从零开始搭建项目。
-
-## 可组合性是如何工作的? {#how-does-composability-work}
-
-以太坊智能合约就像是公共应用程序接口,任何人都可以与合约交互或将其整合到去中心化应用程序中以获得更多功能。 智能合约的可组合性一般有三个原则:模块化、自主性和可发现性。
-
-**1. 模块化**:这是独立组件执行具体任务的能力。 在以太坊,每个智能合约都有一个特定的用例(如 Uniswap 示例所示)。
-
-**2. 自主性**:可组合的组件必须能够独立运行。 以太坊中每个智能合约都可以在不依赖系统其他部分的情况下自动执行。
-
-**3. 可发现性**:开发者无法在外部合约或软件库未公开时调用合约或将库整合到应用程序中。 按照设计,智能合约是开源的;任何人都可以调用合约或派生代码库。
-
-## 可组合性带来的好处 {#benefits-of-composability}
-
-### 缩短开发周期 {#shorter-development-cycle}
-
-减少了开发者在创建[去中心化应用程序](/dapps/#what-are-dapps)时的必要工作。 [正如 Naval Ravikant 所说的那样:](https://twitter.com/naval/status/1444366754650656770)“开放源码意味着每个问题只需要解决一次。”
-
-如果有智能合约解决了某个问题,那么其他开发者可以重用这个合约,所以他们无需解决同样的问题。 这种方法让开发者可以使用现有软件库并添加一些额外功能来创建新的去中心化应用程序。
-
-### 增加创新 {#greater-innovation}
-
-可组合性鼓励创新和实验,因为开发者们可以自由地重用、修改、复制或整合开源代码以达到预期结果。 这样,开发小组在基础功能上将花费较少的时间,并可以将更多的时间分配到新功能的实验上。
-
-### 改善用户体验 {#better-user-experience}
-
-以太坊生态系统中各组成部分之间的互操作性可改善用户体验。 相较于应用程序无法互通的碎片化生态系统,去中心化应用程序在集成外部智能合约后,用户可以获取更多功能。
-
-我们将使用一个仲裁交易的示例来说明互操作性的好处:
-
-如果某个代币在`交易所 A` 的交易价格高于`交易所 B`,你可以利用价格差赚取利润。 然而,只有当你有足够的资本来为交易提供资金的情况下,你才能做到这一点(即,从`交易所 B` 购买代币并在`交易所 A` 出售)。
-
-在你没有足够资金来支付交易的情况下,闪电贷可能是个理想的办法。 [闪电贷](/defi/#flash-loans)的技术含量较高,但最基本的逻辑是,你可以借入资产(无抵押品),并在_一笔_交易中返还相同的资产。
-
-回到我们最初的示例,仲裁交易者可以拿出大笔闪电贷,从`交易所 B` 购买代币,在`交易所 A` 出售它们,退还资本+利息,并将利润保留在同一笔交易中。 这种复杂的逻辑需要将多个合约的调用结合起来,如果智能合约缺乏互操作性,这种调用是不可能做到的。
-
-## 以太坊中的可组合性示例 {#composability-in-ethereum}
-
-### 代币交换 {#token-swaps}
-
-如果你创建了一个需要用以太币支付交易费用的去中心化应用程序,你可以通过整合代币交换逻辑,允许用户使用其他 ERC-20 代币付款。 在合约执行调用的函数之前,代码会自动把用户的代币转换为以太币。
-
-### 治理 {#governance}
-
-为[去中心化自治组织](/dao/)构建定制的治理系统可能会耗费大量时间和金钱。 或者,你可以使用开放源代码治理工具包,例如 [Aragon 客户端](https://client.aragon.org/),来引导去中心化自治组织,以快速创建治理框架。
-
-### 身份管理 {#identity-management}
-
-你可以集成去中心化身份 (DID) 工具来管理用户的身份验证,而不是建立一个自定义身份验证系统或依靠中心化的身份提供商。 一个例子是 [SpruceID](https://www.spruceid.com/),它是一个开源工具包,提供了“使用以太坊登录”的功能,让用户能够通过以太坊钱包验证身份。
-
-## 相关教程 {#related-tutorials}
-
-- [使用 create-eth-app 启动去中心化应用程序前端开发](/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/) _– 概述如何使用 create-eth-app,借助开箱即用的热门智能合约创建应用程序。_
-
-## 延伸阅读 {#further-reading}
-
-_还有哪些社区资源对你有所帮助? 编辑本页面以添加!_
-
-- [可组合性是创新](https://future.a16z.com/how-composability-unlocks-crypto-and-everything-else/)
-- [为什么可组合性对 Web3 很重要](https://hackernoon.com/why-composability-matters-for-web3)
-- [什么是可组合性?](https://blog.aragon.org/what-is-composability/#:~:text=Aragon,connect%20to%20every%20other%20piece.)
diff --git "a/public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/formal-verification/index.md" "b/public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/formal-verification/index.md"
deleted file mode 100644
index 50dbd031dd0..00000000000
--- "a/public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/formal-verification/index.md"
+++ /dev/null
@@ -1,283 +0,0 @@
----
-title: 智能合约的形式化验证
-description: 以太坊智能合约的形式化验证概述
-lang: zh
----
-
-[智能合约](/developers/docs/smart-contracts/)让用户能够创建去中心化、去信任和稳健的应用程序,给用户提供新的用例并解锁价值。 因为智能合约掌控着大量价值,对于开发者来说,安全性是一个关键考量。
-
-形式化验证是增强[智能合约安全性](/developers/docs/smart-contracts/security/)的推荐技术之一。 形式化验证采用[形式化方法](https://www.brookings.edu/techstream/formal-methods-as-a-path-toward-better-cybersecurity/)指定、设计和验证程序,多年来一直用来确保关键硬件和软件系统的正确性。
-
-在智能合约中实现后,形式化验证能证明合约的业务逻辑符合预先定义的规范。 相比于其他评估合约代码正确性的方法(例如测试),形式化验证能够更有力地保障智能合约功能正确。
-
-## 什么是形式化验证? {#what-is-formal-verification}
-
-形式化验证是指根据形式化规范评估系统正确性的过程。 简言之,形式化验证让我们可以检查系统的行为是否满足某些要求(即,系统按照我们的想法运作)。
-
-系统(本例中的智能合约)的预期行为使用形式化建模来描述,而规范语言为创建形式化属性提供支持。 然后,形式化验证技术可以验证合约的实现是否符合其规范,并提供合约正确性的数学证明。 当合约符合其规范时,则称其“功能正确”、“设计正确”或“构建正确”。
-
-### 什么是形式化模型? {#what-is-a-formal-model}
-
-在计算机科学中,[形式化模型](https://en.wikipedia.org/wiki/Model_of_computation)是指对计算过程的数学描述。 程序抽象成数学函数(方程),模型描述给定输入时如何计算函数的输出。
-
-形式化模型提供了一个抽象层次,可以在该抽象层次上对程序行为的分析进行评估。 有了形式化模型,便可以制定_形式化规范_,描述了需要的相关模型属性。
-
-采用不同技术对智能合约建模,以便进行形式化验证。 例如,有些模型用来推理智能合约的高级行为。 这些建模技术对智能合约应用了黑盒视图,把智能合约视为接受输入然后根据这些输入执行计算的系统。
-
-高级模型侧重于智能合约和外部代理之间的关系,例如外部帐户 (EOA)、合约帐户和区块链环境。 这些模型有助于定义属性,这些属性规定了合约应该如何响应某些用户的交互行为。
-
-相反,其他一些形式化模型侧重于智能合约的低级行为。 虽然高级模型有助于论证合约的功能,但它们可能无法捕捉到实现的内部运作细节。 低级模型对程序分析应用了白盒视图并依赖于智能合约应用程序的低级表示,例如程序跟踪和[控制流程图](https://en.wikipedia.org/wiki/Control-flow_graph),来推理与合约执行相关的属性。
-
-低级模型被视为理想模型,因为它们体现着智能合约在以太坊执行环境(即[以太坊虚拟机](/developers/docs/evm/))中的实际执行。 低级建模技术在确立智能合约的重要安全属性和检测潜在漏洞方面特别有用。
-
-### 什么是形式化规范? {#what-is-a-formal-specification}
-
-规范简单来说是指特定系统必须满足的技术要求。 在编程中,规范代表程序执行的总体思路(即程序应该做什么)。
-
-对于智能合约,形式化规范是指_属性_,即对于智能合约必须符合的要求的正式描述。 这些属性被描述成“不变量”,代表合约执行的逻辑断言,并且在任何情况下都必须无一例外始终为真。
-
-因此,我们可以认为形式化规范是使用形式化语言编写的语句的集合,描述智能合约的预期执行。 规范涵盖合约的属性和定义合约在不同情况下的行为。 形式化验证的目的是确定智能合约是否具有这些属性(不变量)以及在执行过程中这些属性是否未被违反。
-
-在开发安全的智能合约实现时,形式化规范非常重要。 无法实现不变量或者在执行过程中属性被违反的合约容易出现漏洞,可能会损害功能或者受到恶意的利用。
-
-## 智能合约形式化规范的类型 {#formal-specifications-for-smart-contracts}
-
-形式化规范支持对程序执行的正确性进行数学推理。 与形式化模型一样,形式化规范能够详尽描述合约实现的高级属性或低级行为。
-
-形式化规范从[程序逻辑](https://en.wikipedia.org/wiki/Logic_programming)的元素中推导出来,可对程序的属性进行形式化推理。 程序逻辑具有形式化规则,它们使用数学语言表示程序的预期行为。 可以使用各种程序逻辑制定形式化规范,包括[可达性逻辑](https://en.wikipedia.org/wiki/Reachability_problem)、[时间逻辑](https://en.wikipedia.org/wiki/Temporal_logic)以及[霍尔逻辑](https://en.wikipedia.org/wiki/Hoare_logic)。
-
-智能合约的形式化规范可以大致分类为**高级**或**低级**规范。 无论属于哪一类,规范都必须充分明确地描述被分析系统的属性。
-
-### 高级规范 {#high-level-specifications}
-
-顾名思义,高级规范(又称为“面向模型的规范”)描述程序的高级行为。 高级规范把智能合约建模成一个[有限状态机](https://en.wikipedia.org/wiki/Finite-state_machine) (FSM),有限状态机可以通过执行操作在不同的状态之间转换并使用时间逻辑定义有限状态机模型的形式化属性。
-
-[时间逻辑](https://en.wikipedia.org/wiki/Temporal_logic)是“用时间限定的命题的推理规则(例如,“我_总是_饿”或者“我_最终_会饿”)。” 当应用于形式化验证时,时间逻辑用来声明建模成状态机的系统的正确行为的断言。 具体而言,时间逻辑描述智能合约可以进入的未来状态以及它如何在不同状态之间转换。
-
-高级规范一般详述智能合约的两个关键时间属性:**安全性**和**活性**。 安全属性代表“任何坏事始终都不会发生”的想法,通常用来表示不变性。 安全属性可以定义常规软件要求(例如不发生[死锁](https://www.techtarget.com/whatis/definition/deadlock)),或者表达合约领域特定的属性(例如,函数访问控制的不变量、状态变量的容许值或代币转账的条件)。
-
-以下面的安全要求为例,它描述了在 ERC-20 代币合约中使用 `transfer()` 或 `transferFrom()` 的条件:_“发送人的余额始终不能少于请求发送的代币金额。”_。 这种合约不变量的自然语言描述可以转化为形式化(数学)规范,以便随后能够进行严格的有效性检查。
-
-活性属性断言“好事终究会发生”,并涉及到合约通过不同状态的能力。 活性属性的一个例子是“流动性”,指的是合约在收到请求把余额转账给用户的能力。 如果违反了该属性,用户将不能提取存入合约的资产,就像在 [Parity 钱包事件](https://www.cnbc.com/2017/11/08/accidental-bug-may-have-frozen-280-worth-of-ether-on-parity-wallet.html)中发生的情况一样。
-
-### 低级规范 {#low-level-specifications}
-
-高级规范以合约的有限状态模型作为起点,并定义该模型的所需属性。 相比之下,低级规范(又称为“面向属性的规范”)通常把程序(智能合约)建模成由数学函数集合组成的系统,并描述这类系统的正确行为。
-
-简言之,低级规范分析_程序跟踪_并尝试从这些跟踪中定义智能合约的属性。 跟踪是指改变智能合约状态的函数执行序列;因此,低级规范有助于规定合约内部执行的要求。
-
-低级形式化规范可以作为霍尔式属性或执行路径中的不变量来给出。
-
-### 霍尔式属性 {#hoare-style-properties}
-
-[霍尔逻辑](https://en.wikipedia.org/wiki/Hoare_logic)提供了一套形式化规则来推理程序(包括智能合约)的正确性。 霍尔式属性使用霍尔三元组 {_P_}_c_{_Q_} 表示,其中 _c_ 代表程序,_P_ 和 _Q_ 是 _c_(即程序)状态的谓词,它们正式描述成_前置条件_和_后置条件_。
-
-前置条件是描述函数正确执行所需条件的谓词;用户调用合约必须满足该要求。 后置条件是描述函数在正确执行时所达成条件的谓词;用户在调用函数后可以期待该条件为真。 在霍尔逻辑中,_不变量_是一个在函数执行时保留的谓词(即它不改变)。
-
-霍尔式规范可以保证_部分正确性_或_完全正确性_。 如果在函数执行前前置条件为真,并且在执行终止时后置条件也为真,则合约函数的实现为“部分正确”。 如果在函数执行前前置条件为真,保证执行可以终止,并且当执行终止时后置条件为真,就可以得到完全正确性的证明。
-
-获得完全正确性的证明很难,因为有些执行在终止前可能会延迟,或者根本不会终止。 也就是说,执行是否终止可以说是一个有争议的问题,因为以太坊的燃料机制阻止程序无限循环(执行要么成功终止或者因为“燃料耗尽”错误而结束)。
-
-使用霍尔逻辑制定的智能合约规范需要为合约中函数和循环的执行定义前置条件、后置条件和不变量。 前置条件通常包括函数的输入有误的可能性,而后置条件描述了对于这些输入的预期响应(例如,抛出一个特定异常)。 霍尔式属性以这种方式有效地保证了合约实现的正确性。
-
-许多形式化验证框架使用霍尔式规范来证明函数的语义正确性。 也可以使用 Solidity 的 `require` 和 `assert` 语句直接向合约代码添加霍尔式属性并作为断言。
-
-`require` 语句表示前置条件或不变量并通常用来验证用户的输入,而 `assert` 捕捉安全所需的后置条件。 例如,通过使用 `require` 作为前置条件检查调用此函数的帐户的身份,可以实现正确的函数访问控制(安全属性示例)。 同样,可以通过使用 `assert` 来确认函数执行后的合约状态,防止违反合约中状态变量允许值的不变量(例如,流通的代币总数)。
-
-### 执行轨迹级属性 {#trace-level-properties}
-
-基于执行轨迹的规范描述导致合约在不同状态之间转换的操作以及这些操作之间的关系。 如前所述,执行轨迹是以特定方式改变合约状态的操作次序。
-
-这种方式依赖于智能合约的模型,即具有一些预定义状态(由状态变量描述)和一系列预定义转换(由合约函数描述)的状态转换系统。 此外,[控制流程图](https://www.geeksforgeeks.org/software-engineering-control-flow-graph-cfg/) (CFG) 通常用来描述合约的操作语义,它是程序执行流程的图形化表示。 在这里,每个执行轨迹都表示成控制流程图中的一条路径。
-
-执行轨迹级规范主要用来推理智能合约中内部执行的模式。 通过创建执行轨迹级规范,我们断言一个智能合约的容许执行路径(即状态转换)。 使用符号执行等技术,我们可以形式化验证执行不会遵循未在形式化模型中定义的路径。
-
-我们通过一个有公共可访问函数的[去中心化自治组织](/dao/)合约的示例,来介绍执行轨迹级属性。 在这里,我们假设去中心化自治组织合约允许用户执行以下操作:
-
-- 存入资金
-
-- 存入资金后可以给提案投票
-
-- 如果用户未给提案投票,可以要求退款
-
-执行轨迹级属性的示例可以是_“没有存入资金的用户无法对提案投票”_或_“未对提案投票的用户始终应该可以要求退款”_。 这两个属性断言优先执行次序(在存入资金_之前_无法投票和给提案投票_之后_无法要求退款)。
-
-## 智能合约的形式化验证技术 {#formal-verification-techniques}
-
-### 模型检查 {#model-checking}
-
-模型检查是一种形式化验证技术,它使用一种算法根据规范检查智能合约的形式化模型。 在模型检查中,智能合约通常表示为状态转换系统,而允许的合约状态的属性使用时间逻辑来定义。
-
-模型检查要求创建系统(即合约)的抽象数学表示并使用根植于[命题逻辑](https://www.baeldung.com/cs/propositional-logic)的公式表示该系统的属性。 这简化了模型检查算法的任务,即证明一个数学模型满足给定的逻辑公式。
-
-形式化验证的模型检查主要用来评估时间属性,后者描述合约在一段时间内的行为。 如前所述,智能合约的时间属性包括_安全_和_活性_。
-
-例如,与访问控制有关的安全属性(例如,_只有合约的所有者才能调用 `selfdestruct`_)可以用形式化逻辑来编写。 此后,模型检查算法能验证合约是否满足此形式化规范。
-
-模型检查使用状态空间探索,其中涉及构造智能合约的所有可能状态以及尝试找到导致违反属性的可达状态。 然而,这可能导致无限多个状态(称为“状态爆炸问题”),因此模型检查器依靠抽象技术来实现智能合约的高效分析。
-
-### 定理证明 {#theorem-proving}
-
-定理证明是一种程序(包括智能合约)正确性的数学推理方法。 它涉及将合约系统的模型以及其规范转换成数学公式(逻辑语句)。
-
-定理证明的目的是验证这些语句之间的逻辑等价性。 “逻辑等价性”(又称为“逻辑双向蕴含”)是指两个语句之间的一种关系类型,即_当且仅当_语句二为真时,语句一才能为真。
-
-关于合约模型及其属性的语句之间的必要关系(逻辑等价性)被表述为一个可证明的语句(称为定理)。 使用形式化推理系统,自动化定理证明器可以验证该定理的有效性。 也就是说,定理证明器可以确证智能合约模型与其规范完全相符。
-
-模型检查把合约建模成有限状态的转换系统,而定理证明可以处理对无限状态系统的分析。 然而,这意味着自动化定理证明器无法总是知道一个逻辑问题是否是“可判定的”。
-
-因此,往往需要人类的帮助来指导定理证明器推导出正确性证明。 在定理证明中使用人力,使得它的使用成本明显高于模型检查,模型检查是完全自动化的。
-
-### 符号执行 {#symbolic-execution}
-
-符号执行是一种通过使用_符号值_(例如 `x > 5`)而不是_具体值_(例如 `x == 5`)执行函数来分析智能合约的方法。 作为一种形式化验证技术,符号执行用来形式化推理合约代码中的执行轨迹级属性。
-
-符号执行把执行轨迹表示成针对符号输入值的数学公式,也称为_路径谓词_。 [SMT 求解器](https://en.wikipedia.org/wiki/Satisfiability_modulo_theories)用来检查路径谓词是否“可满足”(即存在一个满足公式的值)。 如果可以满足脆弱路径,SMT 求解器将产生一个具体值,将执行引向该路径。
-
-假设智能合约的函数把 `uint` 值 (`x`) 作为输入,并且当 `x` 大于 `5` 且小于 `10` 时回滚。 使用正常测试程序寻找一个触发错误的 `x` 值需要运行数十个测试用例(或者更多),而且不保证能实际找到一个触发错误的输入。
-
-相反,符号执行工具使用符号值来执行函数:`X > 5 ∧ X < 10`(即,`x` 大于 5 同时 `x` 小于 10)。 相关的路径谓词 `x = X > 5 ∧ X < 10` 将提供给 SMT 求解器来求解。 如果一个特定值满足公式 `x = X > 5 ∧ X < 10`,SMT 求解器将计算它 — 例如,求解器可能生成 `7` 作为 `x` 的值。
-
-因为符号执行依赖于程序的输入,而探索所有可达状态的输入集可能是无限的,所以符号执行仍然是一种测试形式。 然而,如例子所示,符号执行在寻找触发违反属性的输入方面比常规测试更高效。
-
-此外,符号执行比其他随机产生函数输入的基于属性的技术(例如模糊处理)产生更少误报。 如果在符号执行时触发了错误状态,那么就可以产生一个触发该错误的具体值并重现该问题。
-
-符号执行也能提供正确性的某种程度的数学证明。 考虑以下有溢出保护的合约函数示例:
-
-```
-function safe_add(uint x, uint y) returns(uint z){
-
- z = x + y;
- require(z>=x);
- require(z>=y);
-
- return z;
-```
-
-导致整数溢出的执行轨迹需要满足公式:`z = x + y AND (z >= x) AND (z=>y) AND (z < x OR z < y)`,不太可能对该公式求解,因此,它作为函数 `safe_add` 永远不会溢出的数学证明。
-
-### 为什么对智能合约进行形式化验证? {#benefits-of-formal-verification}
-
-#### 可靠性需要 {#need-for-reliability}
-
-形式化验证用来评估安全至上的系统的正确性,这类系统如果失败,将产生灾难性后果,例如死亡、受伤或者经济损失。 智能合约是具有高价值的应用程序,控制着大量价值,设计上的小错误将导致[用户蒙受难以挽回的损失](https://www.freecodecamp.org/news/a-hacker-stole-31m-of-ether-how-it-happened-and-what-it-means-for-ethereum-9e5dc29e33ce/amp/)。 然而,在部署前形式化验证合约,可以增加一些保障,确保合约在区块链上运行后表现如同预期一样。
-
-可靠性是所有智能合约渴求的一种品质,尤其是因为部署在以太坊虚拟机 (EVM) 上的代码通常是不可更改的。 由于发布后的升级不容易获得,并且合约可靠性是需要保证的,因此形式化验证必不可少。 形式化验证能够发现棘手的问题,例如整数下溢和溢出、重入攻击和糟糕的燃料优化,审计人员和测试人员可能会漏掉这些问题。
-
-#### 证明功能的正确性 {#prove-functional-correctness}
-
-程序测试是最常见的证明智能合约满足某些要求的方法。 程序测试使用一些期望合约处理的样本数据来执行合约并分析合约的行为。 如果合约根据样本数据返回预期的结果,那么开发者就有了其正确性的客观证明。
-
-然而,这种方法无法证明不在样本里的输入值的正确执行。 因此,测试合约可能有助于检测到漏洞(即是否一些代码路径在执行过程中未能返回预期结果),但是**它无法确证没有漏洞存在**。
-
-相反,形式化验证可以形式化证明智能合约在无限执行范围内满足要求,而_无需_运行合约。 这需要制定精确描述正确合约行为的形式化规范并开发合约系统的形式化(数学)模型。 然后,我们可以按照形式化证明程序来检查合约模型与其规范是否一致。
-
-通过形式化验证,验证合约的业务逻辑是否满足要求的问题就变成一个能被证明或否定的数学命题。 通过形式化证明一个命题,我们可以使用有限的步骤验证无数个测试用例。 通过这种方式,形式化验证有更好的前景,可以证明依据规划合约的功能正确。
-
-#### 理想的验证目标 {#ideal-verification-targets}
-
-验证目标描述要进行形式化验证的系统。 形式化验证最好用于“嵌入式系统”(简单的小型软件组成一个大系统)。 形式化验证也非常适合规则很少的专业化领域,因为更容易修改验证领域特有属性的工具。
-
-智能合约至少在某种程度上符合这两项要求。 例如,以太坊合约不大,这让它们更适合形式化验证。 同样,以太坊虚拟机遵循简单规则,指定和验证在以太坊虚拟机中运行的程序的语义属性更简单。
-
-### 更快的开发周期 {#faster-development-cycle}
-
-形式化验证技术,例如模型检查和符号执行,通常比常规智能合约代码分析(在测试或审计期间执行)更高效。 这是因为形式化验证依赖于符号值来测试断言(“如果用户尝试提取 _n_ 个以太币将如何?”) 与之不同的是,测试使用具体值(“如果用户尝试提取 5 个以太币将如何?”)。
-
-符号输入变量可以涵盖多个类的具体值,因此形式化验证方法保证在更短的时间能覆盖更多代码。 如果有效利用,形式化验证可以加速开发者的开发周期。
-
-形式化验证还可以通过减少代价高昂的设计错误,改进构造去中心化应用程序的过程。 通过升级合约(在可能的情况下)来修复漏洞需要大量重写代码库以及更多的开发工作。 形式化验证可以检测到合约实现中许多可能被测试人员和审计人员漏掉的错误,并在部署合约前提供充分的机会来修复这些问题。
-
-## 形式化验证的缺点 {#drawbacks-of-formal-verification}
-
-### 人工成本 {#cost-of-manual-labor}
-
-形式化验证,尤其是需要人为引导证明器来推导出正确性证明的半自动化验证,需要大量人力。 此外,制定形式化规范是一项复杂的活动,需要高水平技能。
-
-这些因素(人力和技能)让形式化验证相比于评估合约正确性的普通方法(如测试和审计),要求更高且和成本更大。 尽管如此,考虑到智能合约实现中出现错误的代价,支付全面验证审计的费用也是很实际的。
-
-### 漏报 {#false-negatives}
-
-形式化验证只能检查智能合约的执行是否符合形式化规范。 因此,确保规范能正确地描述智能合约的预期行为非常重要。
-
-如果规范编写拙劣,形式化验证审计则无法检测到违反属性,导致易受攻击的执行。 在这种情况下,开发者可能错误地假定合约没有漏洞。
-
-### 性能问题 {#performance-issues}
-
-形式化验证会遇到一些性能问题。 例如,在模型检查和符号检查中分别遇到的状态爆炸和路径爆炸问题会影响验证过程。 此外,形式化验证工具通常在底层使用 SMT 求解器和其他约束求解器,这些求解器依赖于计算密集型过程。
-
-而且,程序验证器并不是总能确定一个属性(描述成一个逻辑公式)是否能被满足(“[可判定性问题](https://en.wikipedia.org/wiki/Decision_problem)”),因为一个程序也许永远不会终止。 因此,即便合约的规范合理,也可能无法证明合约的一些属性。
-
-## 以太坊智能合约的形式化验证工具 {#formal-verification-tools}
-
-### 用于制定形式化规范的规范语言 {#specification-languages}
-
-**Act**:_*Act 允许存储更新、前置条件/后置条件、合约不变量的规范。 其工具套件也具有证明后端,可通过 Coq、SMT 求解器或 hevm 证明许多属性。**
-
-- [GitHub](https://github.com/ethereum/act)
-- [相关文档](https://ethereum.github.io/act/)
-
-**Scribble** - _*Scribble 把 Scribble 规范语言中的代码注释转换为检查规范的具体断言。**
-
-- [相关文档](https://docs.scribble.codes/)
-
-**Dafny** - _*Dafny 是一种可直接验证的编程语言,依赖于高层次注释来推理和验证代码的正确性。**
-
-- [GitHub](https://github.com/dafny-lang/dafny)
-
-### 用于检查正确性的程序验证器 {#program-verifiers}
-
-**Certora Prover** - _ Certora Prover 是一种检查智能合约代码正确性的自动形式化验证工具。 它使用 CVL(Certora 验证语言)编写规范,并组合使用静态分析和约束求解检测属性违反。_
-
-- [网站](https://www.certora.com/)
-- [相关文档](https://docs.certora.com/en/latest/index.html)
-
-**Solidity SMTChecker** - _*Solidity 的SMTChecker 是一个基于 SMT(可满足性模理论)和 Horn 求解的内置模型检查器。 它在编译期间确认合约源代码是否符合规范并静态检查是否违反了安全属性。**
-
-- [GitHub](https://github.com/ethereum/solidity)
-
-**solc-verify** - _*solc-verify 是 Solidity 编译器的扩展版本,它可以使用注释和模块化程序验证对 Solidity 代码执行自动形式化验证。**
-
-- [GitHub](https://github.com/SRI-CSL/solidity)
-
-**KEVM** - _*KEVM 是以太坊虚拟机 (EVM) 的形式化语义,用 K 框架编写。 KEVM 是可执行的,并且能够使用可达性逻辑证明某些与属性相关的断言。**
-
-- [GitHub](https://github.com/runtimeverification/evm-semantics)
-- [相关文档](https://jellopaper.org/)
-
-### 定理证明的逻辑框架 {#theorem-provers}
-
-**Isabelle** - _Isabelle/HOL 是一个证明助手,允许使用形式化语言表示数学公式并且提供工具来证明这些公式。 主要应用于数学证明的形式化,特别是形式化验证,它包括证明计算机硬件和软件的正确性以及证明计算机语言和协议的属性。_
-
-- [GitHub](https://github.com/isabelle-prover)
-- [相关文档](https://isabelle.in.tum.de/documentation.html)
-
-**Coq** - _Coq 是一种交互式定理证明器,让你可以使用定理来定义程序并以交互方式产生经机器检查的正确性证明。_
-
-- [GitHub](https://github.com/coq/coq)
-- [相关文档](https://coq.github.io/doc/v8.13/refman/index.html)
-
-### 用于检测智能合约中易受攻击模式的基于符号执行的工具 {#symbolic-execution-tools}
-
-**Manticore** - _*一种基于符号执行的工具,用于分析以太坊虚拟机的字节码分析工具*。*
-
-- [GitHub](https://github.com/trailofbits/manticore)
-- [相关文档](https://github.com/trailofbits/manticore/wiki)
-
-**hevm** - _*hevm 是一种面向以太坊虚拟机字节码的符号执行引擎和等价性检查器。**
-
-- [GitHub](https://github.com/dapphub/dapptools/tree/master/src/hevm)
-
-**Mythril** - _一种符号执行工具,用于检测以太坊智能合约中漏洞_
-
-- [GitHub](https://github.com/ConsenSys/mythril-classic)
-- [相关文档](https://mythril-classic.readthedocs.io/en/develop/)
-
-## 延伸阅读 {#further-reading}
-
-- [智能合约的形式化验证是如何运作的](https://runtimeverification.com/blog/how-formal-verification-of-smart-contracts-works/)
-- [形式化验证如何确保智能合约无懈可击](https://media.consensys.net/how-formal-verification-can-ensure-flawless-smart-contracts-cbda8ad99bd1)
-- [以太坊生态系统中的形式化验证项目概览](https://github.com/leonardoalt/ethereum_formal_verification_overview)
-- [以太坊 2.0 存款智能合约的端对端形式化验证](https://runtimeverification.com/blog/end-to-end-formal-verification-of-ethereum-2-0-deposit-smart-contract/)
-- [形式化验证世界上最热门的智能合约](https://www.zellic.io/blog/formal-verification-weth)
-- [SMTChecker 和形式化验证](https://docs.soliditylang.org/en/v0.8.15/smtchecker.html)
diff --git "a/public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/testing/index.md" "b/public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/testing/index.md"
deleted file mode 100644
index bed49ae5a01..00000000000
--- "a/public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/testing/index.md"
+++ /dev/null
@@ -1,308 +0,0 @@
----
-title: 测试智能合约
-description: 测试以太坊智能合约的技术和注意事项概述。
-lang: zh
----
-
-公共区块链(如以太坊)是不可变的,这使得在部署后修改智能合约代码变得很困难。 虽然存在用于执行“虚拟升级”的[合约升级模式](/developers/docs/smart-contracts/upgrading/),但这些模式很难实现,并且需要社会共识。 此外,升级只能修复_已_发现的错误 — 如果攻击者先发现了漏洞,你的智能合约就面临被利用的风险。
-
-因此,在将智能合约[部署](/developers/docs/smart-contracts/deploying/)到主网之前进行测试是确保[安全性](/developers/docs/smart-contracts/security/)的最低要求。 有许多用于测试合约和评估代码正确性的技术,你可以根据需求进行选择。 然而,由不同工具和方法组成的测试套件很适合捕捉合约代码中的细微或重大安全缺陷。
-
-## 前提条件 {#prerequisites}
-
-本页面将解释如何在部署到以太坊网络之前进行智能合约测试。 我们假设你熟悉[智能合约](/developers/docs/smart-contracts/)。
-
-## 什么是智能合约测试? {#what-is-smart-contract-testing}
-
-智能合约测试是验证智能合约代码是否按预期工作的过程。 测试对于检查特定智能合约是否满足可靠性、可用性和安全性的要求非常有用。
-
-虽然具体的方法可能各不相同,但大多数测试方法都要求使用合约要处理的少量样本数据执行智能合约。 如果合约样本数据能产生正确的结果,就可以认为合约能正常运行。 大多数测试工具提供了编写和执行[测试用例](https://en.m.wikipedia.org/wiki/Test_case)的资源,用于检查合约的执行是否与预期结果相符。
-
-### 为什么测试智能合约很重要? {#importance-of-testing-smart-contracts}
-
-由于智能合约通常管理高价值的金融资产,因此即使是很小的编程错误也往往会导致[用户遭受巨大的损失](https://rekt.news/leaderboard/)。 但是严格的测试可以帮助你在部署到主网之前,及早发现智能合约代码中的缺陷和问题,并进行修复。
-
-尽管发现错误后可以对合约进行升级,但升级很复杂,而且如果处理不当可能会[导致错误](https://blog.trailofbits.com/2018/09/05/contract-upgrade-anti-patterns/)。 进一步升级合约会削弱不可变性原则,并给用户增加额外的信任假设。 相反,对合约进行全面测试的计划可以减轻智能合约的安全风险,并减少在部署后执行复杂逻辑升级的需求。
-
-## 测试智能合约的方法 {#methods-for-testing-smart-contracts}
-
-以太坊智能合约的测试方法可以分为两大类:**自动化测试**和**手动测试**。 自动化测试和手动测试各有独特的优点和权衡,但你可以将二者结合起来,创建强大的测试计划来分析你的合约。
-
-### 自动化测试 {#automated-testing}
-
-自动化测试使用工具来自动检查智能合约代码的执行错误。 自动化测试的好处在于使用[脚本](https://www.techtarget.com/whatis/definition/script?amp=1)来指导对合约功能的评估。 脚本化测试可以按计划重复运行,人工干预极少,因此自动化测试比手动测试更高效。
-
-自动化测试特别适用于以下情况:测试重复且耗时;手动执行困难时;容易出现人为错误时;或涉及评估关键合约功能时。 但是自动化测试工具可能存在缺陷 — 它们可能会忽略某些错误并产生一些[误报](https://www.contrastsecurity.com/glossary/false-positive)。 因此,理想的方法是结合自动化测试与手动测试。
-
-### 手动测试 {#manual-testing}
-
-手动测试需要人工辅助,在分析智能合约的正确性时,涉及逐个执行测试套件中的每个测试用例。 这与自动化测试不同,在自动化测试中,你可以同时在合约上运行多个独立的测试,并获得显示所有失败和通过的测试的报告。
-
-手动测试可以由单个人员按照包含不同测试场景的书面测试计划进行。 你还可以在指定的时间段内,让多个个人或团体与智能合约进行交互,作为手动测试的一部分。 测试人员将对比合约的实际行为与预期行为,将任何差异标记为错误。
-
-高效的手动测试需要大量的资源(技能、时间、金钱和精力),由于人为错误的存在,在执行测试时可能会错过某些错误。 但手动测试也有好处,例如,人工测试人员(例如审计员)可以凭直觉来检测自动化测试工具可能忽略的边缘情况。
-
-## 智能合约的自动化测试 {#automated-testing-for-smart-contracts}
-
-### 单元测试 {#unit-testing-for-smart-contracts}
-
-单元测试对合约功能分别进行评估,并检查每个组件是否正常工作。 良好的单元测试应该简单、运行快速,并且在测试失败时清晰地说明出了什么问题。
-
-单元测试对于检查函数返回预期值以及在函数执行后正确更新合约存储非常有用。 此外,在更改了合约代码库后运行单元测试,可以确保添加新逻辑不会引入错误。 以下是运行有效单元测试的一些准则:
-
-#### 智能合约单元测试的准则 {#unit-testing-guidelines}
-
-##### 1. 理解你的合约业务逻辑和工作流程
-
-在编写单元测试之前,了解智能合约提供的功能以及用户如何访问和使用这些函数很有帮助。 这对于运行 [happy path 测试](https://en.m.wikipedia.org/wiki/Happy_path)特别有用,该测试用于确定合约中的函数是否对有效的用户输入返回正确的输出。 我们将使用这个(简化版)的[拍卖合约](https://docs.soliditylang.org/en/v0.8.17/solidity-by-example.html?highlight=Auction%20contract#simple-open-auction)示例来解释此概念。
-
-```
-constructor(
- uint biddingTime,
- address payable beneficiaryAddress
- ) {
- beneficiary = beneficiaryAddress;
- auctionEndTime = block.timestamp + biddingTime;
- }
-
-function bid() external payable {
-
- if (block.timestamp > auctionEndTime)
- revert AuctionAlreadyEnded();
-
- if (msg.value <= highestBid)
- revert BidNotHighEnough(highestBid);
-
- if (highestBid != 0) {
- pendingReturns[highestBidder] += highestBid;
- }
- highestBidder = msg.sender;
- highestBid = msg.value;
- emit HighestBidIncreased(msg.sender, msg.value);
- }
-
- function withdraw() external returns (bool) {
- uint amount = pendingReturns[msg.sender];
- if (amount > 0) {
- pendingReturns[msg.sender] = 0;
-
- if (!payable(msg.sender).send(amount)) {
- pendingReturns[msg.sender] = amount;
- return false;
- }
- }
- return true;
- }
-
-function auctionEnd() external {
- if (block.timestamp < auctionEndTime)
- revert AuctionNotYetEnded();
- if (ended)
- revert AuctionEndAlreadyCalled();
-
- ended = true;
- emit AuctionEnded(highestBidder, highestBid);
-
- beneficiary.transfer(highestBid);
- }
-}
-```
-
-这是一个简单的拍卖合约,用于在竞标期间接收竞标。 如果 `highestBid` 增加,先前的最高出价者将收到他们的钱;一旦竞标期结束,`beneficiary` 调用合约以收取他们的钱。
-
-对这样的合约进行的单元测试将涵盖用户在与合约交互时可能调用的不同函数。 以单元测试为例,它会检查用户是否能够在拍卖进行期间出价(即调用 `bid()` 成功),或者检查用户是否能够出高于当前 `highestBid` 的价格。
-
-了解合约的运行流程还有助于编写单元测试,以检查执行是否满足要求。 例如,拍卖合约规定,在拍卖结束时(即当 `auctionEndTime` 小于 `block.timestamp` 时),用户无法进行竞标。 因此,开发者可能会运行一个单元测试,检查当拍卖结束时(即当 `auctionEndTime` > `block.timestamp` 时)对 `bid()` 函数的调用成功还是失败。
-
-##### 2. 评估与合约执行相关的所有假设
-
-重要的是记录关于合约执行的任何假设,并编写单元测试来验证这些假设的有效性。 除了提供对意外执行的保护之外,测试断言还迫使你思考可能破坏智能合约安全模型的操作。 一个有用的技巧是不仅要进行“正向测试”,还要编写负面测试,检查函数对错误的输入是否会失败。
-
-许多单元测试框架允许你创建断言,即简单的语句,用于说明合约的能力和限制,并运行测试以验证这些断言在执行过程中是否成立。 在运行负面测试之前,对之前描述的拍卖合约进行开发的开发者可以对其行为做出以下断言:
-
-- 当拍卖结束或尚未开始时,用户无法进行竞标。
-
-- 如果竞价低于可接受的阈值,合约将会回滚。
-
-- 未能赢得竞标的用户将获得其资金的退款
-
-**注意**:测试假设的另一种方法是编写测试,触发合约中的[函数修改器](https://docs.soliditylang.org/en/v0.8.16/contracts.html#function-modifiers),特别是 `require`、`assert` 和 `if...else` 语句。
-
-##### 3. 度量代码覆盖率
-
-[代码覆盖率](https://en.m.wikipedia.org/wiki/Code_coverage)是一种测试指标,用于跟踪在测试过程中执行的代码分支、行数和语句数量。 测试应该具有良好的代码覆盖率,否则你可能会遇到“误报”,即合约通过了所有的测试,但代码中仍存在漏洞。 记录高代码覆盖率,可以确保智能合约中的所有语句/函数都经过了足够的正确性测试。
-
-##### 4. 使用完善的测试框架
-
-运行智能合约单元测试时所使用的工具质量至关重要。 理想的测试框架需经常进行维护;提供有用的功能(例如,日志记录和报告功能);并且必须经过其他开发者广泛使用和审核。
-
-单元测试框架用于对 Solidity 智能合约进行单元测试,提供不同语言的选择(主要是 JavaScript、Python 和 Rust)。 请参阅下面的指南,了解如何开始使用不同的测试框架运行单元测试:
-
-- **[使用 Brownie 运行单元测试](https://eth-brownie.readthedocs.io/en/v1.0.0_a/tests.html)**
-- **[使用 Foundry 运行单元测试](https://book.getfoundry.sh/forge/writing-tests)**
-- **[使用 Waffle 运行单元测试](https://ethereum-waffle.readthedocs.io/en/latest/getting-started.html#writing-tests)**
-- **[使用 Remix 运行单元测试](https://remix-ide.readthedocs.io/en/latest/unittesting.html#write-tests)**
-- **[使用 Ape 运行单元测试](https://docs.apeworx.io/ape/stable/userguides/testing.html)**
-- **[使用安全帽运行单元测试](https://hardhat.org/hardhat-runner/docs/guides/test-contracts)**
-- **[使用 Wake 运行单元测试](https://ackeeblockchain.com/wake/docs/latest/testing-framework/overview/)**
-
-### 集成测试 {#integration-testing-for-smart-contracts}
-
-虽然单元测试可以独立调试合约函数,但集成测试会将智能合约的各个组件作为一个整体进行评估。 集成测试可以检测到跨合约调用或同一智能合约中不同函数之间的交互引起的问题。 例如,集成测试可以帮助检查诸如[继承](https://docs.soliditylang.org/en/v0.8.12/contracts.html#inheritance)和依赖注入等功能是否正常工作。
-
-如果合约采用模块化架构或在执行过程中与其他链上合约进行接口交互,集成测试非常有用。 一种运行集成测试的方法是在特定的高度[让区块链分叉](/glossary/#fork)(使用 [Forge](https://book.getfoundry.sh/forge/fork-testing) 或[安全帽](https://hardhat.org/hardhat-network/docs/guides/forking-other-networks)等工具),并模拟你的合约与已部署合约之间的交互。
-
-分叉的区块链将与主网的行为类似,其帐户具有关联的状态和余额。 但是它只是一个沙盒式的本地开发环境,举例来说这意味着你不需要真正的以太币进行交易,同时你的更改也不会影响真实的以太坊协议。
-
-### 基于属性的测试 {#property-based-testing-for-smart-contracts}
-
-基于属性的测试是一种检查智能合约是否满足一些定义的属性的过程。 属性是关于合约行为的断言,预期其行为在不同的场景中始终保持为真。智能合约属性的一个例子可以是“合约中的算术运算永不溢出或下溢”。
-
-**静态分析**和**动态分析**是执行基于属性的测试的两种常见技术,它们都可以验证程序代码(此例中的智能合约)是否满足一些预定义的属性。 有些基于属性的测试工具提供预定义的合约属性规则,并根据这些规则检查代码,而其他工具则允许你为智能合约创建自定义属性。
-
-#### 静态分析 {#static-analysis}
-
-静态分析器接受智能合约的源代码作为输入,并输出结果,声明合约是否满足某个属性 与动态分析不同,静态分析不涉及执行合约来分析其正确性。 静态分析则可以推断智能合约在执行过程中可能采取的所有路径(即通过检查源代码的结构来确定合约在运行时的操作意义)。
-
-[Linting](https://www.perforce.com/blog/qac/what-lint-code-and-why-linting-important) 和[静态测试](https://www.techtarget.com/whatis/definition/static-analysis-static-code-analysis)是对合约运行静态分析的常见方法。 两者都需要分析合约执行的低级表现,例如编译器输出的[抽象语法树](https://en.m.wikipedia.org/wiki/Abstract_syntax_tree)和[控制流图](https://www.geeksforgeeks.org/software-engineering-control-flow-graph-cfg/amp/)。
-
-在大多数情况下,静态分析对于检测合约代码中的安全问题非常有用,例如使用不安全的结构、语法错误或违反编码标准。 然而,静态分析器通常被认为在检测更深层次的漏洞方面不够准确,并且可能会产生过多的误报。
-
-#### 动态分析 {#dynamic-analysis}
-
-动态分析生成智能合约函数的符号输入(例如,在[symbolic execution](https://en.m.wikipedia.org/wiki/Symbolic_execution)中)或具体输入(例如,在[fuzzing](https://owasp.org/www-community/Fuzzing)中),以查看是否存在任何执行轨迹违反特定属性。 这种基于属性的测试形式与单元测试不同,因为测试用例涵盖多种场景,并且由程序处理测试用例的生成。
-
-[模糊测试](https://halborn.com/what-is-fuzz-testing-fuzzing/)是一种用于验证智能合约中任意属性的动态分析技术的示例。 模糊测试工具使用随机或畸形的变化调用目标合约中的函数,以对预定义的输入值进行测试。 如果智能合约进入错误状态(例如,断言失败),问题会被标记,并在生成的报告中包含驱动执行进入脆弱路径的输入。
-
-模糊测试对于评估智能合约的输入验证机制非常有用,因为对于非预期输入的处理不当可能导致意外执行并产生危险影响。 这种基于属性的测试形式可能非常理想,原因有多种:
-
-1. **编写涵盖多种场景的测试用例很困难。**属性测试只需要你定义一个行为和一组用于测试该行为的数据范围,程序会根据定义的属性自动生成测试用例。
-
-2. **你的测试套件可能无法充分覆盖程序中的所有可能路径。**即使达到了 100% 的覆盖率,仍然有可能忽略一些极端情况。
-
-3. **单元测试证明合约对于样本数据的执行是正确的,但是对于样本之外的输入能否正确执行仍然未知。**属性测试使用多个变化的给定输入值针对目标合约执行,以找到导致断言失败的执行轨迹。 因此,属性测试为合约在广泛的输入数据类别下正确执行提供了更多的保证。
-
-### 对智能合约运行基于属性的测试的准则 {#running-property-based-tests}
-
-运行基于属性的测试通常始于定义你希望在智能合约中进行验证的一个属性(例如,[整数溢出](https://github.com/ConsenSys/mythril/wiki/Integer-Overflow)的缺失)或一组属性。 在编写属性测试时,你可能需要定义一个数值范围,程序可以在此范围生成用于交易输入的数据。
-
-配置正确后,属性测试工具将使用随机生成的输入执行你的智能合约函数。 如果存在任何断言违规情况,你应该获得一份报告,其中包含违反正在评估的属性的具体输入数据。 请参阅下面的指南,了解如何使用不同的工具开始运行基于属性的测试:
-
-- **[使用 Slither 进行智能合约静态分析](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/slither#slither)**
-- **[使用 Wake 进行智能合约静态分析](https://ackeeblockchain.com/wake/docs/latest/static-analysis/using-detectors/)**
-- **[使用 Brownie 进行基于属性的测试](https://eth-brownie.readthedocs.io/en/stable/tests-hypothesis-property.html)**
-- **[使用 Foundry 进行合约模糊测试](https://book.getfoundry.sh/forge/fuzz-testing)**
-- **[使用 Echidna 进行合约模糊测试](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/echidna#echidna-tutorial)**
-- **[使用 Wake 进行合约模糊测试](https://ackeeblockchain.com/wake/docs/latest/testing-framework/fuzzing/)**
-- **[使用 Manticore 完成智能合约符号执行](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/manticore#manticore-tutorial)**
-- **[使用 Mythril 完成智能合约符号执行](https://mythril-classic.readthedocs.io/en/master/tutorial.html)**
-
-## 智能合约的手动测试 {#manual-testing-for-smart-contracts}
-
-在开发后期,经常会进行智能合约手动测试,而这类测试通常在运行自动化测试之后进行。 这种测试形式将智能合约作为一个完全集成的产品进行评估,以验证其是否按照技术要求的规定顺利运行。
-
-### 在本地区块链上测试合约 {#testing-on-local-blockchain}
-
-虽然在本地开发环境中进行的自动化测试可以提供有用的调试信息,但你需要了解你的智能合约在生产环境中的行为。 然而,部署到以太坊主链上会产生燃料费用,更不用说如果你的智能合约仍然存在错误,你或你的用户可能会损失真金白银。
-
-在本地区块链(也称为[开发网络](/developers/docs/development-networks/))测试你的合约是在主网上测试的推荐替代方法。 本地区块链是在你的计算机本地运行的以太坊区块链副本,模拟以太坊执行层的行为。 因此,你可以编程交易与合约进行交互,而不会产生大量开销。
-
-在本地区块链上运行合约可以作为一种有用的手动集成测试的方式。 [智能合约具有高度的可组合性](/developers/docs/smart-contracts/composability/),使你能够与现有协议进行集成,但你仍需要确保这种复杂的链上交互能够产生正确的结果。
-
-[更多关于开发网络的信息。](/developers/docs/development-networks/)
-
-### 在测试网上测试合约 {#testing-contracts-on-testnets}
-
-测试网络或测试网的运行方式与以太坊主网完全相同,唯一的区别在于它使用没有现实价值的以太币 (ETH)。 在[测试网](/developers/docs/networks/#ethereum-testnets)上部署你的合约意味着任何人都可以与之交互(例如,通过去中心化应用程序的前端界面),而无需承担资金风险。
-
-这种手动测试形式对于从用户角度评估应用程序的端到端流程非常有用。 在这里,测试人员还可以进行试运行,并报告与合约的业务逻辑和整体功能有关的任何问题。
-
-在本地区块链上进行测试后,部署到测试网是理想的选择,因为测试网更接近以太坊虚拟机的行为。 因此,许多以太坊原生项目通常会在测试网上部署去中心化应用程序,以在真实环境条件下评估智能合约的运行。
-
-[更多关于以太坊测试网的信息。](/developers/docs/development-networks/#public-beacon-testchains)
-
-## 测试与形式化验证 {#testing-vs-formal-verification}
-
-虽然测试有助于确认合约返回某些数据输入的预期结果,但它不能最终证明测试期间未使用的输入也是如此。 因此,测试智能合约无法保证“功能正确性”(即无法证明程序在_所有_输入值集合上都按照要求运行)。
-
-形式化验证是一种通过检查程序的形式模型是否与形式规范相匹配来评估软件正确性的方法。 形式模型是对程序的抽象数学表述,而形式规范则定义了程序的属性(即关于程序执行的逻辑断言)。
-
-由于属性以数学术语编写,因此可以使用逻辑推理规则验证系统的形式(数学)模型是否满足规范。 因此,形式化验证工具被称为能够提供系统正确性的“数学证明”。
-
-与测试不同,形式化验证可以用于验证智能合约的执行是否满足_所有_执行情况的形式规范的要求(即,没有缺陷),而无需使用样本数据来执行。 这不仅减少了运行数十个单元测试所花费的时间,而且在发现隐藏的漏洞方面也更加有效。 话虽如此,形式化验证技术在实施难度和实用性上存在一定的变化程度。
-
-[更多关于智能合约的形式化验证的信息。](/developers/docs/smart-contracts/formal-verification)
-
-## 测试与审计以及漏洞奖金计划 {#testing-vs-audits-bug-bounties}
-
-正如前面提到的,严格的测试很少能够保证合约中没有错误;形式化验证方法可以提供更强的正确性保证,但目前使用起来困难且成本相当高昂。
-
-尽管如此,你仍可通过进行独立的代码审查来进一步增加捕获合约漏洞的可能性。 [智能合约审查](https://www.immunebytes.com/blog/what-is-a-smart-contract-audit/)和[漏洞奖励](https://medium.com/immunefi/a-defi-security-standard-the-scaling-bug-bounty-9b83dfdc1ba7)是让他人分析你的合约的两种方式。
-
-审查由具有在智能合约中发现安全漏洞和开发不良实践案例经验的审查人员进行。 审核通常包括对整个代码库进行测试(可能包括形式化验证)以及手动审查。
-
-相反,漏洞奖励计划通常涉及向发现智能合约漏洞并向开发者披露的个人(通常称为[白帽黑客](https://en.wikipedia.org/wiki/White_hat_(computer_security)))提供财务奖励的做法。 漏洞奖励类似于审查,因为它涉及要求其他人帮助发现智能合约中的缺陷。
-
-主要的区别在于漏洞奖励计划对更广泛的开发者/黑客社区开放,并吸引了一批具有独特技能和经验的道德黑客和独立安全专业人员。 与主要依赖可能拥有有限或狭窄专业知识的团队的智能合约审查相比,这可能是一个优势。
-
-## 测试工具和库 {#testing-tools-and-libraries}
-
-### 单元测试工具 {#unit-testing-tools}
-
-- **[solidity-coverage](https://github.com/sc-forks/solidity-coverage)** - _用 Solidity 编写的智能合约的代码覆盖率工具。_
-
-- **[Waffle](https://ethereum-waffle.readthedocs.io/en/latest/)** - _用于高级智能合约开发和测试的框架(基于 ethers.js)_。
-
-- **[Remix 测试](https://github.com/ethereum/remix-project/tree/master/libs/remix-tests)** - _用于测试 Solidity 智能合约的工具。 在 Remix IDE 的“Solidity Unit Testing”插件下工作,该插件用于编写和运行合约的测试用例。_
-
-- **[OpenZeppelin Test Helpers](https://github.com/OpenZeppelin/openzeppelin-test-helpers)** - _用于以太坊智能合约测试的断言库。 确保你的合约按预期运行!_
-
-- **[Brownie 单元测试框架](https://eth-brownie.readthedocs.io/en/v1.0.0_a/tests.html)** - _Brownie 采用了 Pytest,这是一个功能丰富的测试框架,让你只需使用最少的代码即可编写小型测试,并能有效地扩展以用于大型项目,而且具有很强的可扩展性。_
-
-- **[Foundry 测试](https://github.com/foundry-rs/foundry/tree/master/forge)** - _Foundry 提供了 Forge,这是一个快速灵活的以太坊测试框架,能够执行简单的单元测试、燃料优化检查和合约模糊测试。_
-
-- **[Hardhat 测试](https://hardhat.org/hardhat-runner/docs/guides/test-contracts)** - _基于 ethers.js、Mocha 和 Chai 的智能合约测试框架。_
-
-- **[ApeWorx](https://docs.apeworx.io/ape/stable/userguides/testing.html)** - _基于 Python 的智能合约开发和测试框架,针对太坊虚拟机。_
-
-- **[Wake](https://ackeeblockchain.com/wake/docs/latest/testing-framework/overview/)** - _基于 Python 的单元测试和模糊测试框架,具有强大的调试功能和跨链测试支持,利用 pytest 和 Anvil 实现最佳用户体验和性能。_
-
-### 基于属性测试的工具 {#property-based-testing-tools}
-
-#### 静态分析工具 {#static-analysis-tools}
-
-- **[Slither](https://github.com/crytic/slither)** - _基于 Python 的 Solidity 静态分析框架,用于查找漏洞、增强代码理解以及为智能合约编写自定义分析。_
-
-- **[Ethlint](https://ethlint.readthedocs.io/en/latest/)** - _用于执行Solidity 智能合约编程语言的风格和安全最佳实践的 Linter。_
-
-- **[Cyfrin Aderyn](https://cyfrin.io/tools/aderyn)** - _基于 Rust 的静态分析器,专为 Web3 智能合约安全和开发而设计。_
-
-- **[Wake](https://ackeeblockchain.com/wake/docs/latest/static-analysis/using- detectors/)** - < em x-id="4">基于 Python 的静态分析框架,具有漏洞和代码质量检测器,用于从代码中提取有用信息的打印机以及对编写自定义子模块的支持。
-
-#### 动态分析工具 {#dynamic-analysis-tools}
-
-- **[Echidna](https://github.com/crytic/echidna/)** - _通过基于属性的测试来检测智能合约漏洞的快速合约模糊测试工具。_
-
-- **[Diligence Fuzzing](https://consensys.net/diligence/fuzzing/)** - _自动化模糊测试工具,用于检测智能合约代码中的属性违规行为。_
-
-- **[Manticore](https://manticore.readthedocs.io/en/latest/index.html)** - _用于分析以太坊虚拟机 (EVM) 字节码的动态符号执行框架。_
-
-- **[Mythril](https://github.com/ConsenSys/mythril-classic)** - _以太坊虚拟机 (EVM) 字节码评估工具,利用污点分析、混合执行分析和控制流检查来检测合约漏洞。_
-
-- **[Diligence Scribble](https://consensys.net/diligence/scribble/)** - _Scribble 是一种规约语言和运行时验证工具,可让你为智能合约批注属性,从而使用 Diligence Fuzzing 或 MythX 等工具自动测试合约。_
-
-## 相关教程 {#related-tutorials}
-
-- [不同测试产品的概述和比较](/developers/tutorials/guide-to-smart-contract-security-tools/) \_
-- [如何使用 Echidna 测试智能合约](/developers/tutorials/how-to-use-echidna-to-test-smart-contracts/)
-- [如何使用 Manticore 查找智能合约漏洞](/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/)
-- [如何使用 Slither 查找智能合约漏洞](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/)
-- [如何模拟测试 Solidity 合约](/developers/tutorials/how-to-mock-solidity-contracts-for-testing/)
-- [如何利用 Foundry 在 Solidity 中运行单元测试](https://www.rareskills.io/post/foundry-testing-solidity)
-
-## 延伸阅读 {#further-reading}
-
-- [以太坊智能合约测试深度指南](https://iamdefinitelyahuman.medium.com/an-in-depth-guide-to-testing-ethereum-smart-contracts-2e41b2770297)
-- [如何测试以太坊智能合约](https://betterprogramming.pub/how-to-test-ethereum-smart-contracts-35abc8fa199d)
-- [MolochDAO 开发者单元测试指南](https://github.com/MolochVentures/moloch/tree/4e786db8a4aa3158287e0935dcbc7b1e43416e38/test#moloch-testing-guide)
-- [如何像专家一样测试智能合约](https://forum.openzeppelin.com/t/test-smart-contracts-like-a-rockstar/1001)
diff --git "a/public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/upgrading/index.md" "b/public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/upgrading/index.md"
deleted file mode 100644
index 23590b5f85e..00000000000
--- "a/public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/upgrading/index.md"
+++ /dev/null
@@ -1,165 +0,0 @@
----
-title: 升级智能合约
-description: 以太坊智能合约的升级模式概述
-lang: zh
----
-
-以太坊上的智能合约是在以太坊虚拟机 (EVM) 中运行的自执行程序。 这些程序在设计上不可变,这意味着一旦部署合约,就无法对业务逻辑进行任何更新。
-
-尽管不可变性对于智能合约的去信任性、去中心化和安全性是必要的,但在某些情况下,它可能具有一定的缺点。 例如,不可变的代码可能会使开发者无法修复存在漏洞的合约。
-
-然而,随着对改进智能合约的研究力度不断加强,引入了几种升级模式。 这些升级模式使开发者能够通过将业务逻辑放置在不同的合约中来升级智能合约(同时保持不可变性)。
-
-## 前提条件 {#prerequisites}
-
-你应当充分了解[智能合约](/developers/docs/smart-contracts/)、[智能合约结构](/developers/docs/smart-contracts/anatomy/)以及[以太坊虚拟机 (EVM)](/developers/docs/evm/)。 本指南还假定读者掌握了编写智能合约的知识。
-
-## 什么是智能合约升级? {#what-is-a-smart-contract-upgrade}
-
-智能合约升级涉及更改智能合约的业务逻辑,同时保留合约的状态。 重要的是要澄清,可升级性和可变性并不是相同的概念,尤其是在智能合约的背景下。
-
-你仍然无法更改在以太坊网络地址上部署的程序。 但是你可以更改与用户交互时执行的智能合约代码。
-
-这可以通过以下方式完成:
-
-1. 创建智能合约的多个版本并从旧合约向新合约的实例迁移状态(即数据)。
-
-2. 创建独立的合约以存储业务逻辑和状态。
-
-3. 使用代理模式将不可修改的代理合约中的函数调用委托给可修改的逻辑合约。
-
-4. 创建一个不可变的主合约,与灵活的卫星合约进行接口交互,并依赖这些卫星合约来执行特定的功能。
-
-5. 使用钻石模式将函数调用从代理合约委托给逻辑合约。
-
-### 升级机制 #1:合约迁移 {#contract-migration}
-
-合约迁移是基于版本控制的概念,即创建和管理相同软件的独特状态。 合约迁移涉及部署现有智能合约的新实例,并将存储和余额转移到新合约中。
-
-新部署的合约将有空的存储空间,使你能够从旧合约中恢复数据并将其写入新的实现。 之后,你需要更新与旧合约交互的所有合约,以反映新地址的变更。
-
-合约迁移的最后一步是说服用户改为使用新合约。 新合约版本将保留用户的余额和地址,从而保持不可变性。 如果这是一个基于代币的合约,你还需要与交易所联系,废弃旧合约并使用新合约。
-
-合约迁移是一种相对简单且安全的方法,用于升级智能合约而不影响用户交互。 然而,手动迁移用户存储和余额到新合约非常耗时,且可能产生高额的燃料费用。
-
-[更多关于合约迁移的信息。](https://blog.trailofbits.com/2018/10/29/how-contract-migration-works/)
-
-### 升级机制 #2:数据分离 {#data-separation}
-
-升级智能合约的另一种方法是将业务逻辑和数据存储分离到不同的合约中。 这意味着用户与逻辑合约进行交互,而数据存储在存储合约中。
-
-逻辑合约包含当用户与应用程序进行交互时执行的代码。 它还保存了存储合约的地址,并与之进行交互以获取和设置数据。
-
-同时,存储合约保存与智能合约相关的状态,例如用户的余额和地址。 请注意,存储合约由逻辑合约拥有,并在部署时配置为后者的地址。 这可以防止未经授权的合约调用存储合约或更新其数据。
-
-默认情况下,存储合约是不可变的,但你可以用新的实现替换它所指向的逻辑合约。 这将修改在以太坊虚拟机中运行的代码,同时保持存储和余额不变。
-
-使用这种升级方法需要在存储合约中更新逻辑合约的地址。 你还必须基于上文解释的原因,配置新的逻辑合约,并提供存储合约的地址。
-
-与合约迁移相比,数据分离模式在实现上按理说更容易。 然而,你将需要管理多个合约并实施复杂的授权方案,以保护智能合约免受恶意升级的影响。
-
-### 升级机制 #3:代理模式 {#proxy-patterns}
-
-代理模式还使用数据分离,将业务逻辑和数据保存在单独的合约中。 不过,在代理模式中,存储合约(称为代理)会在代码执行过程中调用逻辑合约。 这与数据分离方式相反,即逻辑合约调用存储合约。
-
-下面介绍代理模式的原理:
-
-1. 用户与代理合约进行交互,代理合约存储数据,但不保存业务逻辑。
-
-2. 代理合约存储逻辑合约的地址,并使用 `delegatecall` 函数将所有函数调用委托给逻辑合约(逻辑合约保存业务逻辑)。
-
-3. 调用转移到逻辑合约后,逻辑合约返回的数据将被检索并返回给用户。
-
-使用代理模式需要了解 **delegatecall** 函数。 基本上,`delegatecall` 是一个操作码,它允许一个合约调用另一个合约,而实际的代码执行在调用合约过程中进行。 在代理模式中使用 `delegatecall` 的意义是,代理合约会读写其存储,并执行存储在逻辑合约中的逻辑,就像调用内部函数一样。
-
-摘自 [Solidity 文档](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html#delegatecall-callcode-and-libraries):
-
-> _存在一种消息调用的特殊变体,名为 **delegatecall**,它与消息调用相同,但是目标地址的代码在调用合约的语境(即地址)下执行,并且 `msg.sender` 和 `msg.value` 不会更改其值。__这意味着合约在运行时可以从不同的地址动态加载代码。 存储、当前地址和余额仍参考调用合约,只是代码取自被调用地址。_
-
-每当用户调用函数时,代理合约就会调用 `delegatecall`,因为它内置了一个 `fallback` 函数。 在 Solidity 编程中,当函数调用与合约中指定的函数不匹配时,将执行[回退函数](https://docs.soliditylang.org/en/latest/contracts.html#fallback-function)。
-
-要使代理模式正常工作,需要编写一个自定义的回退函数,指定代理合约应如何处理它不支持的函数调用。 在这种情况下,代理的回退函数被编程为启动委托调用,并将用户的请求转发给当前的逻辑合约实现。
-
-代理合约在默认情况下是不可变的,但可以创建更新了业务逻辑的新逻辑合约。 然后,只需更改代理合约中引用的逻辑合约的地址即可执行升级。
-
-通过将代理合约指向新的逻辑合约,用户调用代理合约函数时执行的代码就会发生变化。 这样,我们就可以在不要求用户与新合约进行交互的情况下,升级合约的逻辑。
-
-代理模式是一种流行的智能合约升级方法,因为它消除了与合约迁移相关的困难。 但是,代理模式的使用更为复杂,如果使用不当,可能会带来严重缺陷,例如[函数选择器冲突](https://medium.com/nomic-foundation-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357)。
-
-[更多关于代理模式的信息](https://blog.openzeppelin.com/proxy-patterns/)。
-
-### 升级机制 #4:策略模式 {#strategy-pattern}
-
-这项技术受到[策略模式](https://en.wikipedia.org/wiki/Strategy_pattern)的影响,该模式鼓励创建与其他程序进行接口交互的软件程序,以实现特定功能。 将策略模式应用于以太坊开发意味着构建一个智能合约,该合约可以调用其他合约的函数。
-
-在这种情况下,主合约包含核心业务逻辑,但与其他智能合约(“卫星合约”)进行接口交互,以执行某些功能。 该主合约还存储每个卫星合约的地址,并可在卫星合约的不同实现之间切换。
-
-你可以构建一个新的卫星合约,并为主合约配置新地址。 这允许你更改智能合约的_策略_(即实现新的逻辑)。
-
-虽然策略模式与前面讨论的代理模式类似,但不同之处在于,与用户交互的主合约中包含了业务逻辑。 使用这种模式可以让你有机会在不影响核心基础架构的情况下对智能合约进行有限的更改。
-
-这种模式的主要缺点是它主要适用于推出小规模升级。 此外,如果主合约被泄露(如被黑客攻击),则无法使用此升级方法。
-
-### 升级机制 #5:钻石模式 {#diamond-pattern}
-
-钻石模式可以说是代理模式的改进。 钻石模式不同于代理模式,因为钻石代理合约可以将函数调用委托给多个逻辑合约。
-
-钻石模式中的逻辑合约被称为_“切面”_ 。 要使钻石模式发挥作用,你需要在代理合约中创建一个映射,将[函数选择器](https://docs.soliditylang.org/en/latest/abi-spec.html#function-selector)映射到不同的“切面”地址。
-
-当用户调用函数时,代理合约会检查映射,以找到负责执行该函数的“切面”。 然后,它会调用 `delegatecall`(使用回退函数),并将调用重定向到相应的逻辑合约。
-
-与传统的代理升级模式相比,钻石升级模式有一些优势:
-
-1. 它允许你在不更改所有代码的情况下升级合约的一小部分。 使用代理模式进行升级需要创建一个全新的逻辑合约,即使是小规模升级也是如此。
-
-2. 所有智能合约(包括代理模式下使用的逻辑合约)的大小限制为 24KB,这可能是一个限制 — 特别是对于需要更多函数的复杂合约。 钻石模式通过在多个逻辑合约中拆分函数,轻松解决了这一问题。
-
-3. 代理模式采用了一种一揽子的访问控制方法。 可访问升级功能的实体能够更改_整个_合约。 但是,钻石模式支持模块化权限方法,可以限制实体升级智能合约中的某些功能。
-
-[更多关于钻石模式的信息](https://eip2535diamonds.substack.com/p/introduction-to-the-diamond-standard?s=w)。
-
-## 升级智能合约的优缺点 {#pros-and-cons-of-upgrading-smart-contracts}
-
-| 优点 | 缺点 |
-| --------------------------------------- | -------------------------------------- |
-| 智能合约升级可以更轻松地修复部署后阶段发现的漏洞。 | 智能合约的升级否定了代码不变性的理念,这对去中心化和安全性都有影响。 |
-| 开发者可以使用逻辑升级为去中心化应用程序添加新功能。 | 用户必须相信开发者不会随意修改智能合约。 |
-| 由于漏洞可以快速修复,因而智能合约升级可以提高最终用户的安全性。 | 将升级功能编程到智能合约中又增加了一层复杂性,并增加了出现严重缺陷的可能性。 |
-| 合约升级为开发者提供了更广阔的空间来试验不同的功能和不断改进去中心化应用程序。 | 升级智能合约的机会可能会促使开发者更快启动项目,但在开发阶段不进行尽职审查。 |
-| | 智能合约中不安全的访问控制或中心化会让恶意行为者更容易执行未经授权的升级。 |
-
-## 升级智能合约的考量 {#considerations-for-upgrading-smart-contracts}
-
-1. 使用安全的访问控制或授权机制,防止未经授权的智能合约升级,尤其是在使用代理模式、策略模式或数据分离的情况下。 例如,限制升级功能的访问权限,只有合约所有者才能调用该功能。
-
-2. 升级智能合约是一项复杂的活动,需要高度谨慎以防止引入漏洞。
-
-3. 通过分散实施升级的流程,减少信任假设。 可行策略包括使用[多重签名钱包合约](/developers/docs/smart-contracts/#multisig)来控制升级,或要求[去中心化自治组织的成员](/dao/)投票批准升级。
-
-4. 了解合约升级所涉及的费用。 例如,在合约迁移过程中,将状态(如用户余额)从旧合约复制到新合约可能需要不止一次交易,这意味着更多的燃料费用。
-
-5. 考虑实施**时间锁**来保护用户。 时间锁指的是对系统变更强制执行的延迟。 时间锁可与多重签名治理系统相结合,以控制升级:如果拟议的操作达到了所需的批准阈值,则该操作将在预定的延迟期过后才会执行。
-
-如果用户不同意拟议的更改(如逻辑升级或新的收费方案),时间锁会给他们一些时间退出系统。 如果没有时间锁,用户就需要相信开发者不会在没有事先通知的情况下对智能合约进行任意更改。 缺点是,时间锁限制了快速修补漏洞的能力。
-
-## 资源 {#resources}
-
-**OpenZeppelin 升级插件 - _一套用于部署和保护可升级智能合约的工具。_**
-
-- [GitHub](https://github.com/OpenZeppelin/openzeppelin-upgrades)
-- [相关文档](https://docs.openzeppelin.com/upgrades)
-
-## 教程 {#tutorials}
-
-- [升级智能合约 | YouTube 教程](https://www.youtube.com/watch?v=bdXJmWajZRY) - Patrick Collins
-- [以太坊智能合约迁移教程](https://medium.com/coinmonks/ethereum-smart-contract-migration-13f6f12539bd) - Austin Griffith
-- [使用 UUPS 代理模式升级智能合约](https://blog.logrocket.com/author/praneshas/) - Pranesh A.S
-- [Web3 教程:使用 OpenZeppelin 编写可升级智能合约(代理)](https://dev.to/yakult/tutorial-write-upgradeable-smart-contract-proxy-contract-with-openzeppelin-1916)- fangjun.eth
-
-## 延伸阅读 {#further-reading}
-
-- [智能合约升级的现状](https://blog.openzeppelin.com/the-state-of-smart-contract-upgrades/) - Santiago Palladino
-- [升级 Solidity 智能合约的多种方法](https://cryptomarketpool.com/multiple-ways-to-upgrade-a-solidity-smart-contract/) - Crypto Market Pool 博客
-- [学习:升级智能合约](https://docs.openzeppelin.com/learn/upgrading-smart-contracts) - OpenZeppelin 文档
-- [实现 Solidity 合约可升级性的代理模式:透明代理与 UUPS代理](https://mirror.xyz/0xB38709B8198d147cc9Ff9C133838a044d78B064B/M7oTptQkBGXxox-tk9VJjL66E1V8BUF0GF79MMK4YG0) - Naveen Sahu
-- [钻石升级如何运作](https://dev.to/mudgen/how-diamond-upgrades-work-417j) - Nick Mudge
diff --git "a/public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/verifying/index.md" "b/public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/verifying/index.md"
deleted file mode 100644
index edf98cdd826..00000000000
--- "a/public/content/translations/zh/20) Smart Contracts \342\200\223 Advanced/developers/docs/smart-contracts/verifying/index.md"
+++ /dev/null
@@ -1,107 +0,0 @@
----
-title: 验证智能合约
-description: 以太坊智能合约源代码验证概述
-lang: zh
----
-
-[智能合约](/developers/docs/smart-contracts/)被设计成“去信任”,即用户去信任第三方(例如,开发者和团体)便可与智能合约交互。 去信任的一个必要条件就是用户和其他开发者必须能够验证智能合约的源代码。 而验证源代码能够向用户和开发者保证已发布的合约代码和以太坊区块链上运行的代码相同。
-
-区分“源代码验证”和“[形式化验证](/developers/docs/smart-contracts/formal-verification/)”很重要。 源代码验证指的是验证用高级语言(例如 Solidity)编写的智能合约的给定源代码是否能编译成在合约地址执行的相同字节码,下文将会详细说明。 而形式化验证则是验证智能合约的正确性,即验证合约行为是否符合预期。 合约验证尽管要视上下文而定,但是通常是指源代码验证。
-
-## 什么是源代码验证? {#what-is-source-code-verification}
-
-在将智能合约部署在[以太坊虚拟机 (EVM)](/developers/docs/evm/) 中前,开发者会将合约源代码(即[用 Solidity](/developers/docs/smart-contracts/languages/) 或其他高级编程语言编写的指令)[编译](/developers/docs/smart-contracts/compiling/)成字节码。 不过,由于以太坊虚拟机无法解释高级指令,为了在以太坊虚拟机中执行合约逻辑,必须将源代码编译成字节码(即低级机器指令)。
-
-为检测差异,源代码验证会对智能合约的源代码与合约创建过程中使用的编译字节码进行比较处理。 由于广告合约代码与区块链上运行的代码可能不同,因此验证智能合约极为重要。
-
-通过智能合约验证,用户无需阅读机器代码就能通过编写合约所使用的高级语言来研究合约的行为。 函数、值以及变量名和评论与编译和部署的原始源代码一般是相同的。 这就让代码阅读变得更加容易了。 源代码验证还对代码文档做出了规定,以便最终用户了解智能合约的用途。
-
-### 什么是完全验证? {#full-verification}
-
-源代码的某些部分不会影响编译好的字节码,如评论和变量名。 也就是说两段变量名和评论都不同的源代码能验证同一份合约。 这样一来,恶意行为者便能在源代码中添加欺骗性评论或给出误导性变量名,也能用与原始源代码不同的源代码来验证合约。
-
-要想避免这种情况,可以在字节码中添加额外数据作为源代码准确性的_加密保障_和编译信息的_指纹_。 必要的信息可以在 [Solidity 合约元数据](https://docs.soliditylang.org/en/v0.8.15/metadata.html)中找到,并且此文件的哈希值附在了合约的字节码中。 你可以在[元数据训练场](https://playground.sourcify.dev)中检查运行情况。
-
-元数据文件包含有关合约的编译信息,合约中包括源文件和源文件的哈希值。 也就是说,一旦有任何源文件中的编译设置甚至是某个字节有所更改,整个元数据文件也会发生变化。 因此,附在字节码上的元数据文件的哈希值也会变化。 也就意味着只要合约的字节码和所附元数据哈希值与给定的源代码和编译设置相匹配,我们就能确定这就是原始编译中所使用的源代码,丝毫不差。
-
-这种利用元数据哈希值的验证方法就叫做**“[完全验证](https://docs.sourcify.dev/docs/full-vs-partial-match/)”**(也叫“完美验证”)。 如果元数据哈希值不匹配或是未用于验证,那就叫做“部分验证”,也是目前更为常见的合约验证方法。 可能会[植入恶意代码](https://samczsun.com/hiding-in-plain-sight/),如果不进行完全验证这些恶意代码未必会显现在经过验证的源代码中。 由于大多数开发者不了解完全验证,也不会保留自己编译的元数据文件,因此部分验证实际上才是目前验证合约的常用方法。
-
-## 为什么源代码验证如此重要? {#importance-of-source-code-verification}
-
-### 去信任 {#trustlessness}
-
-去信任可以说是智能合约和[去中心化应用程序 (dapp)](/developers/docs/dapps/) 的最重要的先决条件。 智能合约是“不可变”的,无法更改;合约只会执行部署时代码中定义的业务逻辑。 这意味着开发者和企业在以太坊上部署合约后无法篡改合约代码。
-
-为了让智能合约去信任,合约代码应可供独立验证。 虽然每份智能合约的编译字节码都可以在区块链上公开获取,但低级语言对于开发者和用户来说都难以理解。
-
-项目通过公布其合约源代码来减少信任假设。 但这会导致另一个问题:很难验证发布的源代码是否与合约的字节码匹配。 在这种情况下,去信任的价值便不复存在,因为用户必须相信开发者在将合约部署到区块链上之前不会更改合约的业务逻辑(即更改字节码)。
-
-源代码验证工具可保证智能合约的源代码文件与汇编代码一致。 这样就形成了一个去信任的生态系统,用户不会盲目信任第三方,而是先验证代码再将资金存入合约。
-
-### 用户安全 {#user-safety}
-
-智能合约通常涉及大量质押资金。 这就需要更高的安全保证,并在使用智能合约前对其逻辑进行验证。 问题在于,不法开发者可以通过在智能合约中插入恶意代码来欺骗用户。 如果不进行验证,恶意智能合约就可能存在[后门](https://www.trustnodes.com/2018/11/10/concerns-rise-over-backdoored-smart-contracts)、矛盾的访问控制机制、可被利用的漏洞以及其他危害用户安全的问题,而这些问题甚至难以察觉。
-
-公布智能合约的源代码文件可以让审查人员等相关人员更容易评估合约,预防潜在攻击向量。 通过多方独立验证智能合约,用户可以获得更加强有力的安全性保障。
-
-## 如何验证以太坊智能合约的源代码 {#source-code-verification-for-ethereum-smart-contracts}
-
-[在以太坊上部署智能合约](/developers/docs/smart-contracts/deploying/)需要向一个特殊地址发送包含数据有效载荷(编译字节码)的交易。 数据有效载荷通过编译源代码以及附加到交易中的数据有效载荷的合约实例的[构造函数参数](https://docs.soliditylang.org/en/v0.8.14/contracts.html#constructor)来生成。 编译是确定性的,这意味着如果使用相同的源文件和编译设置(如编译器版本、优化器),它总是产生相同的输出(即合约字节码)。
-
-![智能合约源代码验证示意图](./source-code-verification.png)
-
-智能合约验证基本上包含以下步骤:
-
-1. 向编译器输入源文件和编译设置。
-
-2. 编译器输出合约字节码
-
-3. 获取给定地址处已部署合约的字节码
-
-4. 比较已部署的字节码与重新编译的字节码。 如果代码匹配,将通过给定的源代码和编译设置进行合约验证。
-
-5. 此外,如果字节码末尾的元数据哈希值匹配,则将是完全匹配。
-
-请注意,这只是对智能合约验证过于简单的描述,还有像具有[不可变变量](https://docs.sourcify.dev/docs/immutables/)等许多例外情况不适用。
-
-## 源代码验证工具 {#source-code-verification-tools}
-
-传统的合约验证过程可能十分复杂。 因此我们需要工具来验证部署在以太坊上的智能合约源代码。 这些工具可以实现大部分源代码验证自动化,还可以管理已验证的合约,使用户受益。
-
-### Etherscan {#etherscan}
-
-尽管 Etherscan 通常作为[以太坊区块链浏览器](/developers/docs/data-and-analytics/block-explorers/)被大众所知晓,但它也能为智能合约开发者和用户提供[源代码验证服务](https://etherscan.io/verifyContract)。
-
-Etherscan 允许你根据原始数据有效载荷(源代码、库地址、编译器设置、合约地址等)重新编译合约字节码。 如果重新编译的字节码与链上合约的字节码(和构造函数参数)相关联,那么[合约就通过了验证](https://info.etherscan.com/types-of-contract-verification/)。
-
-一旦通过验证,你的合约源代码将获得“已验证”标签,并发布在 Etherscan 上供他人审查。 它还会被添加到[已验证合约](https://etherscan.io/contractsVerified/)部分 — 这是包含源代码已验证的智能合约的存储库。
-
-Etherscan 是最常用的合约验证工具。 但是,Etherscan 的合约验证有一个缺点:它无法比较链上字节码和重新编译字节码的**元数据哈希值**。 因此,Etherscan 中的匹配结果是部分匹配。
-
-[更多关于在 Etherscan 上验证合约的信息](https://medium.com/etherscan-blog/verifying-contracts-on-etherscan-f995ab772327)。
-
-### Sourcify {#sourcify}
-
-[Sourcify](https://sourcify.dev/#/verifier) 是另一种用于验证开源和去中心化合约的工具。 它不是区块浏览器,只能在[不同的基于以太坊虚拟机的网络](https://docs.sourcify.dev/docs/chains)上验证合约。 它充当公共基础设施,作为其他工具的构建基础,旨在使用元数据文件中的[应用程序二进制接口](/developers/docs/smart-contracts/compiling/#web-applications)和 [NatSpec](https://docs.soliditylang.org/en/v0.8.15/natspec-format.html) 注释来实现更人性化的合约交互。
-
-与 Etherscan 不同,Sourcify 支持与元数据哈希值完全匹配。 经过验证的合约在超文本传输协议和 [星际文件系统](https://docs.ipfs.io/concepts/what-is-ipfs/#what-is-ipfs) 上的[公共存储库](https://docs.sourcify.dev/docs/repository/)中访问,这是一种去中心化的[内容寻址](https://web3.storage/docs/concepts/content-addressing/)存储。 由于附加的元数据哈希值是 IPFS 哈希值,因此可以通过 IPFS 获取合约的元数据文件。
-
-此外,人们还可以通过星际文件系统检索源代码文件,因为这些文件的星际文件系统哈希值也可以在元数据中找到。 可以通过应用程序接口或[用户界面](https://sourcify.dev/#/verifier)或使用插件提供元数据文件和源文件来验证合约。 Sourcify 监控工具还会监查新区块上的合约创建情况,并尝试验证合约是否在 IPFS 上公布了元数据和源文件。
-
-[有关在 Sourcify 上验证合约的更多信息](https://blog.soliditylang.org/2020/06/25/sourcify-faq/)。
-
-### Tenderly {#tenderly}
-
-[Tenderly 平台](https://tenderly.co/)使 Web3 开发者能够构建、测试、监控和操作智能合约。 Tenderly 将调试工具、可观测性和构建区块的基础设施相结合,帮助开发者加快智能合约的开发。 要完全启用 Tenderly 功能,开发者需要使用多种方法[执行源代码验证](https://docs.tenderly.co/monitoring/contract-verification)。
-
-可以私下或公开验证合约。 如果是私下验证,智能合约只有你(和项目中的其他成员)可见。 而公开验证合约可让使用 Tenderly 平台的每个人都能看到。
-
-你可以使用[仪表板](https://docs.tenderly.co/monitoring/smart-contract-verification/verifying-a-smart-contract)、[Tenderly Hardhat 插件](https://docs.tenderly.co/monitoring/smart-contract-verification/verifying-contracts-using-the-tenderly-hardhat-plugin)或 [CLI](https://docs.tenderly.co/monitoring/smart-contract-verification/verifying-contracts-using-cli) 来验证你的合约。
-
-通过仪表板验证合约时,需要导入源文件或 Solidity 编译器生成的元数据文件、地址/网络和编译器设置。
-
-使用 Tenderly Hardhat 插件可以更轻松地控制验证过程,让你可以在自动(无代码)和手动(基于代码)验证之间做出选择。
-
-## 延伸阅读 {#further-reading}
-
-- [验证合约源代码](https://programtheblockchain.com/posts/2018/01/16/verifying-contract-source-code/)
diff --git a/public/content/translations/zh/21) Whitepaper/whitepaper/index.md b/public/content/translations/zh/21) Whitepaper/whitepaper/index.md
deleted file mode 100644
index 4e28ab499a7..00000000000
--- a/public/content/translations/zh/21) Whitepaper/whitepaper/index.md
+++ /dev/null
@@ -1,517 +0,0 @@
----
-title: 以太坊白皮书
-description: 以太坊的介绍性论文,2013年在以太坊启动前发布。
-lang: zh
-sidebarDepth: 2
-hideEditButton: true
----
-
-# 以太坊白皮书 {#ethereum-whitepaper}
-
-_这篇介绍性论文最初由 [以太坊](/what-is-ethereum/)创始人 Vitalik Buterin 在 2014 年发表,前于 2015 年的项目正式发布时间。 值得一提的是,和其他社区驱动的开源软件项目一样,以太坊自发布以来一直不断发展。_
-
-_虽然已经过数年,但由于本文仍然可提供有用的参考并能够准确表述以太坊及其愿景,我们仍然在维护它。 若想了解以太坊的最新进展,以及以太坊协议的更新情况,我们推荐你阅读[本指南](/learn/)。_
-
-[寻求此白皮书早期版本或规范版本 [自 2014 年 12 月起] 的研究人员和学者应使用此 PDF。](./whitepaper-pdf/Ethereum_Whitepaper_-_Buterin_2014.pdf)
-
-## 下一代智能合约和去中心化应用程序平台 {#a-next-generation-smart-contract-and-decentralized-application-platform}
-
-中本聪 2009 年开发的比特币常被誉为资金和货币的一次革命性变革,作为数字资产的首个实例,它同时具有以下特点:没有实物或[内在价值](http://bitcoinmagazine.com/8640/an-exploration-of-intrinsic-value-what-it-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it/)支撑,也没有一个中心化的发行机构或控制者。 然而,比特币实验有另一个可以说是更重要的部分,即作为分布式共识工具的底层区块链技术,并且人们的注意力正迅速地开始转移到比特币的这个方面。 经常被提到的其他区块链技术应用包括:使用链上数字资产表示自定义货币和金融工具(“[彩色币](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit)”)、底层物理设备的所有权(“[智能资产](https://en.bitcoin.it/wiki/Smart_Property)”)、非同质化资产例如域名(“[域名币](http://namecoin.org)”),以及一些更复杂的应用,例如让数字资产由一段实现任意规则的代码(“[智能合约](http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/idea.html)”)甚至由基于区块链的“[去中心化自治组织](http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i/)”(DAO) 直接控制。 以太坊打算提供一种内置完全成熟的图灵完备编程语言的区块链,这种语言可用来创建“合约”,而合约可用于编码任意状态转换函数,让用户可以创建上述任何系统以及我们尚未想象到的许多其他内容,只需用几行代码编写出想实现的逻辑即可。
-
-## 比特币及现有概念简介 {#introduction-to-bitcoin-and-existing-concepts}
-
-### 历史 {#history}
-
-去中心化数字货币的概念以及财产登记等其他应用已经存在了几十年。 1980 年代和 1990 年代的匿名电子现金协议主要依赖于称为 Chaumian 盲签名的密码学原语,提供了一种具有高度隐私性的货币,但这些协议基本上未能获得关注,因为它们依赖于中心化中介。 1998 年,戴伟 (Wei Dai) 的 [b-money](http://www.weidai.com/bmoney.txt) 成为第一个提出通过解决计算难题来创造货币及去中心化共识等想法的协议,但该协议缺乏关于如何实际实施去中心化共识的细节。 2005 年,Hal Finney 引入了“[可重复使用的工作量证明](https://nakamotoinstitute.org/finney/rpow/)”这一概念,该系统将 b-money 的想法与 Adam Back 有计算难度的哈希现金难题相结合来创建加密货币的概念,但由于依赖可信计算作为后端,又一次未能做到完美。 2009 年,中本聪将通过公钥密码学管理所有权的成熟原语与用于跟踪货币所有者的共识算法相结合,首次真正意义上实现了一种去中心化货币,被称为“工作量证明”。
-
-工作量证明机制是该领域的一项突破,因为它同时解决了两个问题。 首先,它提供了一种简单且比较有效的共识算法,让网络中的节点能够全体对比特币账本状态的一组规范更新达成一致。 其次,它提供了一种允许自由进入共识过程的机制,解决了决定谁来影响共识的政治问题,同时防止了女巫攻击。 为此,在工作量证明中,将正式的参与壁垒(例如要求在特定清单上注册成为唯一实体)替换成经济壁垒,即共识投票过程中单个节点的权重与该节点的算力成正比。 此后,还提出了另一种称为_权益证明_的方法,节点权重与其货币持有量而非计算资源成正比;针对这两种方法相对优点的讨论不在本文范围内,但应该注意,这两种方法都可以作为加密货币的支柱。
-
-### 比特币是一个状态转换系统 {#bitcoin-as-a-state-transition-system}
-
-![以太坊状态转换](./ethereum-state-transition.png)
-
-从技术角度讲,诸如比特币等加密货币账本可视作一种状态转换系统,该系统有一个“状态”,由全部现存比特币的所有权状态和一个“状态转换函数”组成,状态转换函数以状态和交易为输入并输出新状态作为结果。 例如,在标准的银行系统中,状态就是一个资产负债表,一笔交易是一个从A帐户向B帐户转账$X的请求,状态转换函数将从A帐户中减去$X,向B帐户增加$X。 如果A帐户的余额在第一步中小于$X,状态转换函数就会返回错误提示。 所以,可以如此定义:
-
-```
-APPLY(S,TX) -> S' or ERROR
-```
-
-上面提到的银行系统中,状态转换函数如下:
-
-```js
-APPLY({ Alice: $50, Bob: $50 },"send $20 from Alice to Bob") = { Alice: $30, Bob: $70 }
-```
-
-但是:
-
-```js
-APPLY({ Alice: $50, Bob: $50 },"send $70 from Alice to Bob") = ERROR
-```
-
-比特币中的“状态”是指所有已铸造但尚未使用的货币(技术上称为“未使用的交易输出”或 UTXO)的集合,每个 UTXO 都有面额和所有者(由一个 20 字节的地址定义,本质上是一个加密公钥 [fn1](注释编号))。 一个交易包括一个或多个输入以及一个或多个输出,每个输入都包含对现有 UTXO 的引用以及所有者地址相关的私钥创建的加密签名;每个输出都包含一个要添加到状态中的新 UTXO。
-
-状态转换函数 `APPLY(S,TX) -> S'` 的定义大体如下:
-
-
- -
- 对于
TX
中的每个输入:
-
- -
- 如果引用的 UTXO 不在
S
范围内,则返回错误。
-
- -
- 如果提供的签名与 UTXO 的所有者不符合,则返回错误。
-
-
-
- -
- 如果所有输入 UTXO 面值总额小于所有输出 UTXO 面值总额,则返回错误。
-
- -
- 在移除所有输入 UTXO 且添加所有输出 UTXO 后,返回
S
。
-
-
-
-第一步的第一部分防止交易发送者花费不存在的比特币,第二部分防止交易发送者花费其他人的比特币,第二步确保价值守恒。 为了用于支付,比特币协议如下。 假设Alice想给Bob发送11.7 BTC。 首先,Alice将寻找她拥有的一组总数至少为11.7 BTC的可用UTXO。 事实上,Alice不太可能正好有11.7 BTC;假设她能得到的最小数额是6+4+2=12。 所以,她可以创建一笔有三个输入和两个输出的交易。 第一个输出为11.7 BTC,所有者是Bob的地址,第二个输出为剩下的0.3 BTC找零,所有者是Alice自己。
-
-### 挖矿 {#mining}
-
-![以太坊区块](./ethereum-blocks.png)
-
-如果我们拥有可信任的中心化服务机构,状态转换系统可以很容易地实现;可以简单地将上述功能准确编码,使用中心化服务器的硬盘来记录状态。 然而,我们想把比特币构建成去中心化货币系统,为了确保每个人都同意交易的顺序,我们需要将状态转换系统与一个共识系统结合起来。 比特币的去中心化共识进程要求网络中的节点不断尝试将交易打包成“区块”。 网络计划大约每十分钟产生一个区块,每个区块包含一个时间戳、一个随机数、一个对上一个区块的引用(即哈希)和上一区块生成以来发生的所有交易列表。 随着时间推移就创建出了一个持续增长的区块链,它不断地更新,从而能够代表比特币账本的最新状态。
-
-检查一个区块是否有效的算法,如以下范式所示:
-
-1. 检查该区块引用的上一个区块是否存在且有效。
-2. 检查该区块的时间戳是否大于上一个区块 [fn2](注释编号)的时间戳并且在将来 2 小时以内
-3. 检查区块上的工作量证明是否有效。
-4. 令前一个区块末尾的态为 `S[0]`。
-5. 假设 `TX` 是该区块的交易列表,其中包含 `n` 个交易。 对于 `0...n-1` 中的所有 `i`,如果有任何应用程序返回错误,退出并返回 false,请设置 `S[i+1] = APPLY(S[i],TX[i])`。
-6. 返回 true,并将 `S[n]` 登记为该区块末尾的状态。
-
-本质上,区块中的每笔交易都必须提供一个有效的状态转换,从交易执行前的规范状态转换到某个新状态。 注意,状态并未编码到区块。它纯粹只是校验节点记住的抽象概念,只能被任意区块从创世状态开始,按顺序加上每一个区块的每一笔交易,(安全地)计算出当前状态。 另外,需要注意矿工将交易收录进区块的顺序。如果一个区块中有A、B两笔交易,B花费的是A创建的UTXO,如果A在B之前,这个区块是有效的,否则,这个区块无效。
-
-“工作量证明”是出现在上表而其他系统没有的验证条件。 具体验证方法为,对每个区块进行两次SHA256哈希处理,得到一个256位的数值,该数值必须小于不断动态调整的目标数值,本文写作时目标数值大约是2187。 工作量证明的目的是使创建区块有算力困难,从而阻止女巫攻击者恶意重新生成区块链。 因为SHA256是完全不可预测的伪随机函数,创建有效区块的唯一方法就是简单地不断试错,不断地增加随机数的数值,查看新的哈希数是否小于目标值。
-
-当前的目标数值是\~2187,网络必须平均尝试 \~269次才能生成有效的区块。一般而言,比特币网络每隔2016个区块重新设定目标数值,从而保证网络中的节点平均每十分钟生成一个区块。 为了对矿工的计算工作进行激励,每一个成功生成区块的矿工有权在区块中包含一笔凭空发给他们自己12.5 BTC的交易。 另外,如果交易的输入额大于输出,差额部分就作为“交易费”付给矿工。 顺便提一下,这也是比特币发行的唯一机制,创世状态中并没有比特币。
-
-为了更好地理解挖矿的目的,让我们分析比特币网络出现恶意攻击者时会发生什么。 因为比特币的密码学基础是非常安全的,所以攻击者会选择攻击没有被密码学直接保护的部分:交易顺序。 攻击者的策略非常简单:
-
-1. 向商家发送 100 个比特币以换取某种产品(最好是快速交付的数字商品)
-2. 等待商品交付
-3. 创建另一笔交易,将这 100 个比特币发送给自己
-4. 试图让网络相信他对自己的交易是先发生的。
-
-一旦步骤 (1) 发生,几分钟后矿工将这笔交易收录到区块中,假设是编号为 270000 的区块。 大约一小时后,此区块后面将会有五个区块,每个区块间接地指向这笔交易,从而确认这笔交易。 这时卖家收到货款,并向买家发货。因为我们假设这是数字商品,交付将瞬间完成。 现在,攻击者创建另一笔交易,将相同的100BTC发送到自己的帐户。 如果攻击者只是单纯地向全网广播这一消息,该笔交易不会被处理;矿工将运行状态转换函数 `APPLY(S,TX)` ,发现 `TX` 要花费已经不在状态中的UTXO。 所以,攻击者会对区块链进行分叉,将第269个区块作为父区块重新生成第270个区块,在此区块中用新交易取代旧的。 因为区块数据是不同的,这要求重新进行工作量证明。 另外,攻击者的新版270区块有不同的哈希,原来的271到275的区块不指向它,所以原链和攻击者的新链是完全分离的。 规定,在发生区块链分叉时,最长链被认为是诚实的区块链,合法的矿工将会沿着原有的275区块挖矿,只有攻击者一人在新的270区块后挖矿。 攻击者为了使其区块链最长,他需要拥有比除了他以外的全网更多的算力来追赶(即“51%攻击”)。
-
-### 默克尔树 {#merkle-trees}
-
-![比特币简化支付确认](./spv-bitcoin.png)
-
-_左:仅提供默克尔树上的少量节点已经足够给出分支的合法证明。_
-
-_右:对默克尔树任意部分进行改变的尝试最终都会导致链上某处不一致。_
-
-比特币一个重要的可扩展特性是:它的区块存储在多层次数据结构中。 一个区块的哈希实际上只是区块头的哈希,区块头是一段约200字节的数据,包含时间戳、随机数、上个区块的哈希和默克尔树根的哈希,而默克尔树是一个存储了该区块所有交易的数据结构。 默克尔树是一种二叉树,由一组叶节点、一组中间节点和一个根节点构成。最下面是大量包含基础数据的叶节点,每个中间节点是其两个子节点的哈希,顶部的根节点也是其两个子节点的哈希。 默克尔树的目的是允许区块数据可以零散地传送:节点可以从一个源下载区块头,从其它源下载相关树的一小部分,而依然能够确认所有的数据都是正确的。 之所以如此是因为哈希向上传播:如果一个恶意用户尝试替换一个伪造的交易到树的底部,此改动将导致树的上层节点的改动,以及更上层节点的改动,最终导致根节点的改动以及区块哈希的改动,这样协议就会将其记录为一个完全不同的区块(几乎可以肯定是带着无效的工作量证明)。
-
-默克尔树协议可以说是比特币长期持续性的基础。 比特币网络中的一个全节点——存储和处理所有区块全部数据的节点,在2014年4月需要占用15GB的磁盘空间,而且还以每个月超过1GB的速度增长。 目前,对台式计算机来说尚可接受,但是手机已经负载不了如此巨大的数据了,未来只有商业机构和爱好者才会充当完整节点。 简化支付确认协议(SPV)允许另一种节点存在,这样的节点被称为“轻节点”,它下载区块头,使用区块头确认工作量证明,然后只下载与其交易相关的默克尔树分支。 这使得轻节点只要下载整个区块链的一小部分,就可以安全地确定任何一笔比特币交易的状态和帐户的当前余额。
-
-### 其它的区块链应用 {#alternative-blockchain-applications}
-
-将区块链思想应用到其它领域的想法早就出现了。 2005 年,Nick Szabo 提出了“[利用所有者权限确保财产权](https://nakamotoinstitute.org/secure-property-titles/)”这一概念,该文件描述了“复制数据库技术的新进展”将如何允许基于区块链的系统存储谁拥有哪些土地的登记表,创建了一个包括宅基地、违法占有和佐治亚州土地税等概念的复杂框架。 然而,不幸的是在那时还没有实用的复制数据库系统,所以这个协议没有被付诸实践。 不过,自2009年比特币的去中心化共识开发成功以来,大量区块链的其它应用开始快速出现。
-
-- **域名币** - 创建于 2010 年,[域名币](https://namecoin.org/)描述成去中心化的名称注册数据库最为恰当。 在 Tor、比特币和比特信等去中心化协议中,需要某种方式来识别帐户,以便其他人可以与帐户交互,但在所有现有解决方案中,唯一可用的标识符是伪随机哈希,如 `1LW79wp5ZBqaHW1jL5TCiBCrhQYtHagUWy`。 理想情况下,人们希望能够拥有名称的帐户,比如“george”。 但是,问题在于如果一个人可以创建名为“george”的帐户,那么其他人也可以按相同流程为自己注册“george”来冒充。 唯一的解决方案是“成果优先原则”范式,即第一个注册者成功后第二个注册者将失败,这个问题非常适合比特币共识协议。 域名币是应用这种想法的最早、最成功的名称注册系统实现。
-- **彩色币** - [彩色币](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit)的作用是充当一种协议,让人们在比特币区块链上创建自己的数字货币,或者在货币只有一个单位的这种重要但琐碎情况下,创建数字代币。 在彩色币协议中,通过公开为特定的比特币 UTXO 分配一种颜色来“发行”新货币,并且该协议以递归方式将其他 UTXO 的颜色定义为与创建它们的交易所花费的输入的颜色相同(一些特殊规则适用于混合颜色输入的情况)。 这样,用户可以维护仅包含特定颜色 UTXO 的钱包,像发送普通比特币一样发送它们,并通过区块链回溯以确定他们收到的任何 UTXO 的颜色。
-- **元币** - 元币是想要拥有一个基于比特币的协议,使用比特币交易来存储元币交易,但具有不同的状态转换函数 `APPLY'`。 因为元币协议无法阻止无效元币交易出现在比特币区块链中,所以增加了一条规则,如果 `APPLY'(S,TX)` 返回错误,该协议默认为 `APPLY'( S,TX) = S`。 这为创建任意加密货币协议提供了一种简单的机制,可能有无法在比特币内部实现的高级功能,但开发成本非常低,因为比特币协议已经处理了挖矿和网络的复杂性。 元币已被用于实现某些类别的金融合约、名称注册和去中心化交易所。
-
-因此,一般而言,建立共识协议有两种方法:建立一个独立网络或把协议建立在比特币网络上。 前一种方法在域名币这样的应用中相当成功,但是该方法的实施非常困难,每个应用都要创建独立的区块链,建立并测试所有必须的状态转换函数和网络代码。 另外,我们预测去中心化共识技术应用将会服从幂律分布,大多数的应用太小不足以保证自身的安全,我们还注意到大量的去中心化应用程序,尤其是去中心化自治组织,需要进行应用之间的交互。
-
-另一方面,基于比特币的方法存在缺点,它没有继承比特币简化确认支付 (SPV) 的特性。 比特币可以实现简化确认支付,因为比特币可以用区块链深度代表有效性;某种程度上,当一笔交易的祖先们距离现在足够远时,就可以安全地认为它们是合法状态的一部分。 与之相反,基于比特币区块链的元币协议不能强迫区块链剔除违反元币协议的交易。 因此,完全安全的元币协议的简化支付确认需要后向扫描所有的区块,直到比特币区块链的初始点,以确认某一交易是否有效。 目前,所有基于比特币的元币协议的“轻”实施都依赖可信任的服务器提供数据,这对主要目的之一是消除信任需要的加密货币而言,可能是一个相当次优的结果。
-
-### 脚本 {#scripting}
-
-即使不对比特币协议进行扩展,它也能在一定程度上实现“智能合约”。 比特币的UTXO并非只能被公钥拥有,也可以被用基于堆栈的编程语言所编写的更加复杂的脚本所拥有。 在这一模式下,花费这样的UTXO,必须提供满足脚本的数据。 事实上,甚至基本的公钥所有权机制也是通过脚本实现的:脚本将椭圆曲线签名作为输入,验证该交易和拥有此UTXO的地址,如果验证成功则返回1,否则返回0。 其它更复杂的脚本用于各种不同的应用情况。 例如,人们可以创建要求集齐三个私钥签名中的两个才能进行交易确认的脚本(多重签名),对公司帐户、安全储蓄帐户和某些商业代理来说,这种脚本是非常有用的。 脚本也能用来支付解决计算问题的奖励,人们甚至可以创建这样的脚本“如果你能够提供你已经发送一定数额的狗币给我的简化确认支付证明,该比特币UTXO就是你的了”,本质上,比特币系统允许不同的加密货币进行去中心化交易。
-
-然而,比特币系统的脚本语言存在一些严重的限制:
-
-- **缺乏图灵完备性** - 也就是说,虽然比特币脚本语言支持一个很大的计算子集,但它基本上不支持所有计算。 缺少的主要类别是循环。 这样做是为了避免交易验证期间出现无限循环;理论上,对脚本程序员来说循环是一个可以克服的障碍,因为任何循环都可以通过简单地使用 if 语句多次重复执行底层代码来模拟,但这确实会导致脚本的空间效率非常低下。 例如,实现另一种椭圆曲线签名算法可能需要 256 次重复的乘法,而每次都需要单独写在代码里。
-- **价值盲** - UTXO 脚本无法对可提取金额进行精细控制。 例如,预言机合约的一个强有力的用例是对冲合约,其中 A 和 B 存入价值 $1000 的比特币,30 天后脚本将价值 $1000 的比特币发送给 A,其余的发送给 B。这需要预言机来确定 1 个比特币的美元价值,但即便如此,与现有完全集中化的解决方案相比,这在信任和基础设施要求方面仍是一个巨大的进步。 然而,由于 UTXO 要么是全部要么是零,要实现这一目标,只能使用非常低效的破解方法,即持有许多不同面额的 UTXO (例如,面额为 2k 的 UTXO,每个 k 值都可以达到 30) 并让甲骨文选择发送给 A 和发送给 B 的 UTXO。
-- **缺少状态** - UTXO 可以是已使用或未使用;用于保存任何其他内部状态的多阶段合约或脚本是没有机会出现的。 这使得多阶段期权合约、去中心化交易报价或两阶段加密承诺协议(这是安全计算赏金所必需的)难以创建。 这也意味着 UTXO 只能用于构建简单的一次性合约,而不是去中心化组织等更复杂的“有状态”合约,使得元协议难以实现。 二进制状态加之价值盲也意味着另一个重要应用 — 提款限制 — 是不可能实现的。
-- **区块链盲** - UTXO 看不到区块链的数据,例如随机数、时间戳和上一个区块的哈希。 由于该脚本语言无法通过随机性来创造可能的价值,它在博彩和其他几个类别的应用受到了严重限制。
-
-至此,我们已经考察了在加密货币上建立高级应用的三种方法:建立一个新的区块链、在比特币区块链上使用脚本、在比特币区块链上建立元币协议。 建立新区块链的方法可以自由地实现任意的特性,但要付出开发时间、引导工作和安全性的代价。 使用脚本的方法容易实施和标准化,但是它的功能有限。元币协议尽管非常容易实现,但是存在扩展性差的缺陷。 在以太坊系统中,我们打算建立一个替代框架,使得开发更便捷、轻客户端性能更强大,同时允许应用程序共享经济环境和区块链安全性。
-
-## 以太坊 {#ethereum}
-
-以太坊的目的是创建一个用于建立去中心化应用程序的替代协议,我们认为提供一套不同的折衷方案对大量去中心化应用程序非常有用,尤其是那些强调快速开发、小型和不常用应用的安全性,以及应用间高效交互能力的程序。 以太坊通过构建本质上是最终的抽象基础层来实现这一点:一种内置图灵完备编程语言的区块链,允许任何人编写智能合约和去中心化应用程序,并在其中设立他们自由定义的所有权规则、交易方式和状态转换函数。 域名币的主体框架只需要两行代码就可以实现,诸如货币和信誉系统等其它协议只需要不到二十行代码就可以实现。 智能合约,即包含价值、只有在满足特定条件时才能解锁的加密“盒子”,也可以在平台上构建,并且因为图灵完备性、价值知晓(value-awareness)、区块链知晓(blockchain-awareness)和多状态所增加的力量,而比比特币脚本所能提供的智能合约强大得多。
-
-### 以太坊帐户 {#ethereum-accounts}
-
-在以太坊中,状态由称为“帐户”的对象组成,而每个帐户都有一个 20 字节的地址,状态转换是指帐户之间价值和信息的直接转移。 一个以太坊帐户包含四个字段:
-
-- **nonce**,用于确保每笔交易只能处理一次的计数器
-- 帐户当前的**以太币余额**
-- 帐户的**合约代码**(若有)
-- 帐户的**存储**(默认为空)
-
-以太币是以太坊内部的主要加密燃料,用于支付交易费。 通常有两类帐户:由私钥控制的**外部帐户**以及由其合约代码控制的**合约帐户**。 外部帐户没有代码,持有者可以通过创建和签署交易从外部帐户发送消息;在合约帐户中,每次合约帐户收到消息时,其代码都会激活,允许该帐户读取和写入内部存储,继而发送其他消息或创建合约。
-
-注意,以太坊中的“合约”不应被视为要“履行”或“遵守”的东西;相反,合约更像是存在于以太坊执行环境中的“自治代理”。当被交易或消息“触发”时,合约总是执行特定的代码段,并直接控制自已的以太币余额和键/值存储,以跟踪永久变量。
-
-### 消息和交易 {#messages-and-transactions}
-
-在以太坊中,术语“交易”用来指代已签名的数据包,数据包存储着将要从外部帐户发送的消息。 交易包含:
-
-- 消息接收者
-- 用于识别发送者身份的签名
-- 从发送者转账到接收者的以太币金额
-- 一个可选数据字段
-- `STARTGAS` 值,表示允许交易运行的最大计算步骤数
-- `GASPRICE` 值,表示发送者每个计算步骤支付的费用
-
-前三个是任何加密货币都有的标准字段。 默认情况下,数据字段没有函数,但虚拟机有一个操作码,合约可以使用该操作码访问数据;以这样的用例为例:如果一个合约作为区块链上的域名注册服务,那么它可能希望将传送给它的数据解释为包含两个“字段”,第一个字段是要注册的域名,第二个字段将域名注册到 IP 地址。 合约将从消息数据中读取这些值,并将其适当地存储。
-
-`STARTGAS` 及 `GASPRICE` 字段对于以太坊的反拒绝服务模型至关重要。 为了防止代码中出现无意或恶意的无限循环或其他计算浪费,要求每笔交易对代码可以执行的计算步骤设置一个限制。 计算的基本单位是燃料;通常,一个计算步骤消耗 1 份燃料,但某些操作会消耗更多燃料,因为它们在计算上更加昂贵或者增加了必须存储到状态中的数据量。 交易数据中的每个字节还需支付的费用为 5 份燃料。 收费系统的意图是要求攻击者相应支付他们消耗的每一种资源,包括计算、带宽和存储;因此,任何导致网络消耗更多这些资源的交易,都必须支付大致与增加量成比例的燃料费用。
-
-### 消息 {#messages}
-
-合约能够向其他合约发送“消息”。 消息是从未序列化的虚拟对象,只存在于以太坊执行环境中。 消息包含:
-
-- 消息发送者(隐含的)
-- 消息接收者
-- 随消息一起转账的以太币金额
-- 一个可选数据字段
-- `STARTGAS` 值
-
-本质上消息类似于交易,只是消息是由合约而非外部参与者产生的。 当前正在运行代码的合约执行 `CALL` 操作码时会产生一条消息,该操作码就是用于产生并执行消息。 像交易一样,信息导致接收者帐户运行其代码。 因此,合约之间可以建立关系,方式完全与外部参与者之间建立关系相同。
-
-请注意,为交易或合约分配的燃料配额适用于该交易和所有子执行消耗的总燃料量。 例如,如果外部参与者 A 向 B 发送一笔配额为 1000 份燃料的交易,B 在向 C 发送消息需要消耗 600 份燃料,而 C 在内部执行需要消耗 300 份燃料才能返回结果,那么 B 再发送 100 份燃料就会消耗完燃料。
-
-### 以太坊状态转换函数 {#ethereum-state-transition-function}
-
-![以太币状态转换](./ether-state-transition.png)
-
-以太坊状态转换函数 `APPLY(S,TX) -> S'` 可如下定义:
-
-1. 检查交易格式是否正确(即具有正确数量的值)、签名是否有效以及 Nonce 值是否与发送者帐户中的 Nonce 值匹配。 若否,则返回错误。
-2. 通过 `STARTGAS * GASPRICE` 计算出交易费,并从签名中确定发送地址。 从发送者的帐户余额中减去费用,并增加发送者的 nonce 值。 如果帐户余额不足,则返回错误。
-3. 初始化 `GAS = STARTGAS`,并根据交易中的字节数量为每个字节扣除相应数量的燃料。
-4. 将交易数值从发送者帐户转移至接收帐户。 如果接收帐户尚不存在,则创建此帐户。 如果接收帐户是合约,运行该合约的代码,直到代码运行结束或燃料耗尽。
-5. 如果由于发送者资金不足或者代码运行耗尽了燃料,而导致转账失败,则回滚除支付费用之外的所有状态变化,并将费用支付给矿工帐户。
-6. 否则,将所有剩余燃料的费用退还发送者,并把为所消耗燃料而支付的费用发送给矿工。
-
-例如,假设合约的代码如下:
-
-```py
-if !self.storage[calldataload(0)]:
- self.storage[calldataload(0)] = calldataload(32)
-```
-
-注意,合约代码实际上是用低级以太坊虚拟机代码编写的;为了清晰起见,此示例是用我们的一种高级语言 Serpent 编写的,它可以编译为以太坊虚拟机代码。 假设合约的存储一开始是空的,发送了一个价值为 10 个以太币的交易,消耗 2000 份燃料,燃料价格为 0.001 个以太币,并且数据包含 64 个字节,字节 0-31 代表数字 `2`,字节 32-63 代表字符串 `CHARLIE`。 在这种情况下,状态转换函数的执行过程如下:
-
-1. 检查交易是否有效、格式是否正确。
-2. 检查交易发送者是否至少有 2000 * 0.001 = 2 个以太币。 若有,则从发送者帐户中扣除 2 个以太币。
-3. 初始化燃料 = 2000 份,假设交易长度为 170 个字节,每字节费用 5 份燃料,减去 850 份燃料,剩下 1150 份燃料。
-4. 从发送者帐户再减去 10 个以太币并增加到合约帐户。
-5. 运行代码。 在本例中,运行比较简单:代码检查是否使用合约的索引 `2` 处的存储,若未使用,则通知;若使用,代码将索引 `2` 处的存储设置为值 `CHARLIE`。 假设该运行花费了 187 份燃料,所以余下的燃料数量是 1150 - 187 = 963 份燃料。
-6. 向发送者帐户增加 963 * 0.001 = 0.963 个以太币,同时返回产生的状态。
-
-如果交易的接收一端没有合约,那么总交易费就等于提供的 `GASPRICE` 乘以交易的字节长度,并且和随交易发送的数据无关。
-
-注意,消息在回滚方面与交易相同:如果消息执行耗尽燃料,那么该消息的执行以及该执行触发的所有其他执行都会回滚,但父执行不需要回滚。 这意味着合约调用另一份合约是“安全的”,就好像 A 使用 G 份燃料调用 B,那么可以保证 A 的执行最多损耗 G 份燃料。 最后请注意,有一个创建合约的操作码 `CREATE`;它的执行机制通常类似于 `CALL`,不同之处在于执行的输出决定了新创建合约的代码。
-
-### 代码执行 {#code-execution}
-
-以太坊合约中的代码用一种基于堆栈的低级字节码语言编写,被称为“以太坊虚拟机代码”或“EVM 代码”。 该代码由一系列字节组成,每个字节代表一种操作。 通常,代码执行是一个无限循环,即重复执行当前程序计数器(从零开始)处的操作,然后将程序计数器增加一,直到代码执行完毕或出现错误,或者检测到 `STOP` 或 `RETURN` 指令。 操作可以访问三种数据存储空间:
-
-- **堆栈**,一种后进先出容器,值可以在其中入栈和出栈
-- **内存**,一种可无限扩展的字节数组
-- 合约的长期**存储**,一个键/值存储。 与堆栈和内存会在计算结束后重置不同,存储将长期持续存在。
-
-代码可以访问传入消息的值、发送者信息和数据,可以访问区块头数据,而且代码还可以返回数据字节数组作为输出。
-
-以太坊虚拟机码的正式执行模型简单得令人吃惊。 当以太坊虚拟机运行时,其完整计算状态可以由元组 `(block_state, transaction, message, code, memory, stack, pc, gas)` 来定义,其中 `block_state` 是包含所有帐户的全局状态并包括余额和存储。 在每一轮执行开始时,可以通过调用 `code` 的第 `pc` 个字节(或者如果 `pc >= len(code)`,则调用 0)来找到当前指令,并且每条指令在元组影响方式方面都有自己的定义。 例如,`ADD` 将两个项目出栈并将它们的和入栈,将 `gas` 减少 1 并将 `pc` 增加 1,`SSTORE` 将顶部的两个项目出栈并将第二个项目插入到合约存储中第一个项目指定的索引处。 尽管有很多通过 JIT 编译来优化以太坊虚拟机执行的方法,但只需几百行代码就可以完成以太坊的基本实现。
-
-### 区块链和挖矿 {#blockchain-and-mining}
-
-![以太坊应用框图](./ethereum-apply-block-diagram.png)
-
-以太坊区块链在许多方面与比特币区块链相似,但确实存在一些差异。 以太坊和比特币在区块链架构方面的主要区别在于,与比特币不同,以太坊区块包含交易列表和最新状态的副本。 此外,其他两个值、区块编号和难度也存储在区块中。 以太坊中的基本区块验证算法如下:
-
-1. 检查被引用的前一个区块是否存在并有效。
-2. 检查区块的时间戳是否大于被引用的前一个区块的时间戳,并且在将来 15 分钟以内。
-3. 检查区块编号、难度、交易根、叔根和燃料限制(各种以太坊特定的低级概念)是否有效。
-4. 检查区块上的工作量证明是否有效。
-5. 令前一个区块末尾的态为 `S[0]`。
-6. 令区块的交易列表为 `TX`,并包含 `n` 笔交易。 对于 `0...n-1` 中的所有 `i`,设置 `S[i+1] = APPLY(S[i],TX[i])`。 如果任何应用程序返回错误,或者直到此时区块中消耗的总燃料量超过 `GASLIMIT`,则返回错误。
-7. 令 `S_FINAL` 为 `S[n]`,但添加支付给矿工的区块奖励。
-8. 检查状态 `S_FINAL` 的默克尔树根是否等于区块头中提供的最终状态根。 如果等于,则该区块有效;否则该区块无效。
-
-这种方法乍一看效率似乎极低,因为它需要存储每个区块的全部状态,但实际上效率应该与比特币相当。 原因是状态存储在树结构中,而且在添加每个区块后只需要更改树的一小部分。 因此一般来说,在两个相邻区块之间,树的绝大部分应该是相同的,因此数据可以用指针(即子树的哈希)存储一次和引用两次。 一种称为“帕特里夏树”的特殊类型的树用于实现此目的,它包括对默克尔树概念的修改,允许高效地插入和删除节点,而不仅仅是更改。 此外,由于所有状态信息都存在于最后一个区块内,因此无需存储整个区块链历史,如果可以应用于比特币,使用这种策略计算可以节省 5-20 倍空间。
-
-一个常见的问题是合约代码在物理硬件的“哪里”执行。 该问题有一个简单的答案:合约代码的执行过程是状态转换函数定义的一部分,而该函数是区块验证算法的一部分,因此如果将交易添加到区块 `B` 中,由该交易产生的代码执行将在现在和将来由所有节点执行,由此下载并验证区块 `B`。
-
-## 应用 {#applications}
-
-通常,以太坊上有三种类型的应用。 第一类是金融应用,为用户提供更有效的方式来使用资金管理和签订合约。 包括子货币、金融衍生品、对冲合约、储蓄钱包、遗嘱,甚至最终包括某些类别的完整雇佣合约。 第二类是半金融应用,它们涉及金钱,但很大一部分功能也与资金无关;一个恰当的示例是针对解决计算难题的自动执行的赏金。 最后还有一些应用与金融毫不想关,例如在线投票和去中心化治理。
-
-### 代币系统 {#token-systems}
-
-区块链上的代币系统有许多应用,从代表美元或黄金等资产的子货币到公司股票等等,单个代币可以代表智能资产、不可伪造的安全优惠券,甚至可代表作为激励积分系统并与传统价值完全没有联系的代币系统。 代币系统在以太坊中非常容易实现,让人吃惊。 要理解的重点是,从根本上讲,所有货币或代币系统都是具有这样一种操作的数据库:从 A 中减去 X 个单位并将 X 个单位添加给 B,条件是 (1) A 在交易之前至少有 X 个单位并且 (2) 交易由 A 批准。实现代币系统所需要做的就是将此逻辑实现到合约中。
-
-使用 Serpent 语言实现代币系统的基本代码如下所示:
-
-```py
-def send(to, value):
- if self.storage[msg.sender] >= value:
- self.storage[msg.sender] = self.storage[msg.sender] - value
- self.storage[to] = self.storage[to] + value
-```
-
-此代码本质上是本文档前面部分详细描述的“银行系统”状态转换函数的字面实现。 需要额外添加几行代码来规定在最初以及其他一些特殊情况下分配货币单位的初始步骤,理想情况下,应该添加一个函数让其他合约查询地址的余额。 但这就足够了。 理论上,基于以太坊的代币系统在作为子货币时可能具有另一个重要特征,该特征是基于比特币的链上元货币所缺乏的,那就是直接以该货币支付交易费的能力。 实现这一点的方式是:合约会保持一定数量的以太币余额,用来向发送者退还用于支付费用的以太币;合约也会通过收取费用来收集内部货币,并在持续不断的拍卖中转售货币,以此补充以太币余额。 因此,用户需要用以太币“激活”他们的帐户,但一旦帐户中有以太币,就可以重复使用,因为合约每次都会向帐户退还资金。
-
-### 金融衍生品和价值稳定的货币 {#financial-derivatives-and-stable-value-currencies}
-
-金融衍生品是“智能合约”最常见的应用,也是通过代码实现的最简单的应用之一。 实现金融合约的主要挑战在于,其中大多数合约都需要引用外部价格自动收报机;例如,一个非常理想的应用是对冲以太币(或其他加密货币)相对于美元波动的智能合约,但对冲需要合约知道以太币/美元的价值。 要实现这一点,最简单的方法是借助由特定方(例如纳斯达克)维护的“数据馈送”合约,这种合约的设计使得特定方能够根据需要更新合约并提供一个接口,允许其他合约向该合约发送消息并返回包含价格的响应。
-
-鉴于这一关键因素,对冲合约将如下所示:
-
-1. 等待 A 方输入 1000 个以太币。
-2. 等待 B 方输入 1000 个以太币。
-3. 在存储中记录 1000 个以太币的美元价值(通过查询数据馈送合约计算得出),假设价值是 $x。
-4. 30 天后,允许 A 或 B“重新激活”该合约,以便将价值 $x 的以太币(通过再次查询数据馈送合约获取新价格并且计算得出)发送给 A,剩余以太币发送给 B。
-
-这种合约在加密货币交易中潜力巨大。 加密货币的主要问题之一是它的波动性。尽管许多用户和商家可能希望获得处理加密资产的安全性和便利性,但他们中许多人不希望面临在一天内资金价值损失 23% 的景象。 迄今为止,最常见的解决方案是发行人支持的资产;其想法是发行人创建一种子货币,他们有权发行和撤销这种子货币单位,并且发行人可以向给他们(离线)提供一个单位指定基础资产(例如黄金、美元)的任何人提供一个单位的货币。 然后,发行人承诺向返还一个单位加密资产的任何人提供一个单位基础资产。 这种机制使得任何非加密资产“升级”为加密资产,前提是发行人是可信的。
-
-但实际上,发行人并不总是值得信赖,在某些情况下,银行基础设施过于薄弱或过于不友好,以至于无法提供此类服务。 金融衍生品提供了一种替代方案。 在这种方案中,不是由单个发行人提供资金来支持资产,而是由一个去中心化的投机者市场承担了这一角色,他们押注加密参考资产(例如以太币)的价格会上涨。 与发行人不同,投机者无法在交易中违约,因为对冲合约托管他们的资金。 请注意,这种方法不是完全去中心化的,因为仍然需要一个可信来源提供价格自动收报机,但可以说在降低基础设施要求(与成为发行者不同,发布价格馈送不需要许可证并且可能被归类为自由言论)以及减少欺诈的可能性方面,这仍是一次巨大的改进。
-
-### 身份和信誉系统 {#identity-and-reputation-systems}
-
-最早的替代加密货币[域名币](http://namecoin.org/)尝试使用类似比特币的区块链提供一种名称注册系统,通过该系统,用户可以在公共数据库中注册他们的姓名和其他数据。 主要用例是 [DNS](https://wikipedia.org/wiki/Domain_Name_System) 系统,它将诸如“bitcoin.org”等域名(在域名币的情况下,“bitcoin.bit”)映射到一个 IP 地址。 其它用例包括电子邮件身份验证系统和可能更为先进的信誉系统。 下面是一个基础合约,它在以太坊中提供与域名币类似的名称注册系统:
-
-```py
-def register(name, value):
- if !self.storage[name]:
- self.storage[name] = value
-```
-
-合约非常简单;合约就是以太坊网络中的一个数据库,可以向其中添加但不能修改或移除。 任何人都可以把名称注册为一个值,该注册将永久保存。 更复杂的名称注册合约还包含一个“函数子句”以及一种机制,前者允许其他合约查询它,后者允许名称的“所有者”(即第一个注册者)更改数据或转让所有权。 甚至可以在该合约上添加信誉和信任网络功能。
-
-### 去中心化文件存储 {#decentralized-file-storage}
-
-过去几年,大批受欢迎的在线文件存储初创公司不断涌现,其中最著名的是 Dropbox。Dropbox 想让用户可以上传硬盘备份、提供备份存储服务并允许用户访问备份,而用户需按月付费。 然而,在这一点上,文件存储市场有时效率相对较低。在粗略了解各种现有解决方案后会发现,主流文件存储的每月价格比整个硬盘驱动器的成本还要高,特别是在被称为“恐怖谷”的 20-200 GB 级别,既没有免费额度也没有企业级折扣。 以太坊合约让去中心化文件存储生态系统得以发展,个人用户可以在该系统中将自己的硬盘租出去以获得少量收益,而未使用的空间可用来进一步降低文件存储的成本。
-
-该系统的基础性构件就是我们所谓的“去中心化 Dropbox 合约”。 该合约的工作原理如下。 首先,用户将需要存储的数据拆分成几个区块并对每个区块加密以保护隐私,然后以此构建一个默克尔树。 然后创建一个含以下规则的合约,对于每 N 个区块,合约将从默克尔树中选择一个随机索引(使用能够被合约代码访问的上一个区块的哈希作为随机性来源),然后给予第一个实体 X 个以太币,以提供具有简化支付确认(例如证明树中特定索引处区块的所有权)的交易。 当用户想重新下载他们的文件时,可以使用微支付通道协议(例如每 32 KB 支付 1 个 szabo)收回文件;最节省费用的方法是支付者不到最后不发布交易,而是每 32 KB 之后,用一个更划算的具有相同 nonce 的交易取代原来的交易。
-
-该协议的一个重要特点是,虽然似乎用户相信许多随机节点不会丢失文件,但可以通过以下方法将这种风险降低到接近于零:通过私钥共享将文件拆分成许多部分,并通过监控合约确定每一部分仍在某个节点中。 如果合约仍在支付款项,则提供了一个加密证明,证明有人仍在存储该文件。
-
-### 去中心化自治组织 {#decentralized-autonomous-organizations}
-
-通常意义上“去中心化自治组织”是指拥有一定数量成员或股东的虚拟实体,他们大概拥有 67% 的大多数股权,有权使用实体的资金并修改其代码。 成员集体决定组织的资金分配方式。 去中心化自治组织的资金分配方式可以是奖金、薪资或者更奇特的机制等等,比如用内部货币去奖励工作。 这在本质上复制了传统公司或者非营利组织的合法手段,但仅使用加密区块链技术进行了加强。 目前为止,许多关于去中心化自治组织的讨论都围绕着去中心化自治公司的“资本家”模式,其中有可获得红利的股东和可交易的股份;作为替代方案,有一种可能被称为“去中心化自治社区”的实体将使所有成员在决策时拥有同等权利,并在增减成员时要求 67% 的现有成员多数同意。 由于每个人只能拥有一个成员资格,所以需要群体来集体执行。
-
-下面概括了如何用代码实现去中心化自治组织。 最简单的设计就是一段自动修改的代码,如果三分之二的成员同意更改,该代码就更改。 理论上代码是不可更改的,然而通过把代码片段放入不同的合约并将合约调用的地址存储在可更改的存储中,用户可以轻易解决这一问题,使代码事实上变得可修改。 在这种去中心化自治组织合约的简单实现中,有三种交易类型,可通过交易中提供的数据行区分:
-
-- `[0,i,K,V]` 在索引 `i` 处注册提案,以便将存储索引 `K` 的地址更改为值 `V`
-- `[1,i]` 注册一张赞成提案 `i` 的投票
-- `[2,i]` 如果投票有足够票数,则确认提案 `i`
-
-合约为每一种交易都提供有子句。 它将维护所有开放存储更改的记录以及投票支持者的列表。 合约还包括所有成员的列表。 当任何存储更改获得三分之二成员投票赞成时,一个确认交易将执行这项更改。 更复杂的框架可能还有针对发送交易、增减成员等功能的内置投票功能,甚至可以提供[委任式民主](https://wikipedia.org/wiki/Liquid_democracy)投票委托(即任何人都可以委托另外一个人代表自己投票,而且这种委托关系是可以传递的,如果 A 委托了 B,然后 B 委托了 C,那么 C 将决定 A 的投票)。 这种设计将使去中心化自治组织作为一个去中心化社区有机地成长,允许人们最终将筛选成员的任务委派给专家,但与“现有系统”不同,随着时间的推移,当个别社区成员改变他们的阵营时,专家可以很容易地加入或退出。
-
-另一个模型是去中心化公司,其中任何帐户可以拥有零份或多份股份,决策需要持有三分之二多数股份。 完整框架将包括资产管理功能,即能够出价购买或出售股份并且能够接受报价(最好是合约里有订单匹配机制)。 委托还提供委任制民主形式,普及了“董事会”的概念。
-
-### 更多应用 {#further-applications}
-
-**1. 储蓄钱包**。 假设 Alice 想安全地保管她的资金,但她担心自己的私钥丢失或被破解。 她把以太币放到和银行 Bob 签订的一个合约里,如下所示:
-
-- Alice 每天最多可以单独提取 1% 的资金。
-- Bob 每天最多可以单独提取 1% 的资金,但 Alice 可以用她的密钥创建一个交易取消 Bob 的提取权限。
-- Alice 和 Bob 一起可以任意提取资金。
-
-通常,每天 1% 的额度对于 Alice 足够了,如果 Alice 想提取更多资金,她可以联系 Bob 寻求帮助。 如果 Alice 的密钥被破解,她可以立即找到 Bob,帮她将资金转移到一个新合约里。 如果 Alice 丢失了密钥,Bob 最终会取出资金。 如果最终发现 Bob 是恶意的,她可以取消他的提取权限。
-
-**2. 作物保险**。 用户可以轻松地制订金融衍生品合约,但使用的是天气而不是任何价格指数的数据馈送。 如果爱荷华州的一位农民购买了一项金融衍生品,该产品基于爱荷华的降雨情况进行反向赔付,那么如果遇到干旱,该农民将自动收到赔付资金,而且如果降雨充沛,他会很开心,因为他的作物收成会很好。 通常,这种保险可以扩展到自然灾害保险。
-
-**3. 去中心化数据馈送**。 对于金融差价合约,实际上有可能通过一种名为“[谢林币](http://blog.ethereum.org/2014/03/28/schellingcoin-a-minimal-trust-universal-data-feed/)”的协议将数据馈送去中心化。 谢林币的基本工作原理如下。N 个相关方都向系统输入给定数据的值(以太币/美元价格),对这些值进行排序,在第 25 和第 75 百分位之间的每个人都会得到一个代币作为奖励。 每个人都有动力提供其他人都会提供的答案,而唯一能让众多参与者实际达成一致的值是显而易见的:真相。 这样就创建了一种去中心化的协议,它理论上可以提供任何数量的值,包括以太币/美元的价格、柏林的温度、甚至某个硬计算的结果。
-
-**4. 智能多重签名托管**。 比特币允许多重签名交易合约,例如,提供了给定五个密钥中的三个便可以使用资金。 以太坊允许更精细的控制;例如,提供五个密钥中的四个可以使用任意数额的资金,提供五个密钥中的三个可以每天最多使用 10% 的资金,提供五个密钥中的两个可以每天最多使用 0.5% 的资金。 此外,以太坊的多重签名是异步的 — 双方可以在不同时间在区块链上注册他们的签名,最后一个签名将自动发送交易。
-
-**5. 云计算**。 以太坊虚拟机技术还可以用来创建一个可验证的计算环境,让用户可以要求他人执行计算,然后有选择地索要证明,证实计算在某些随机选定的检查点处正确完成。 这就可以创建一个云计算市场,任何用户都可以用他们的台式机、笔记本电脑或专用服务器来参与,并且抽查与保证金双管齐下确保系统是值得信赖的(即节点不能通过欺骗获利)。 但是,这样的系统可能并不适合所有任务;例如,需要进行大量进程间通信的任务无法在大型节点云上轻易实现。 然而,其他任务则更容易实现并行;例如 SETI@home、folding@home 和遗传算法等项目可以方便地在这类平台上实现。
-
-**6. 点对点赌博**。 任意数量的点对点赌博协议都可以在以太坊区块链上实现,例如 Frank Stajano 和 Richard Clayton 的 [Cyberdice](http://www.cl.cam.ac.uk/~fms27/papers/2008-StajanoCla-cyberdice.pdf)。 最简单的赌博协议实际上只是一种关于下一个区块哈希的差价合约,并且可以在其基础上创建更高级的协议,创建接近零费用且无法作弊的赌博服务。
-
-**7. 预测市场**。 如果有预言机或谢林币,预测市场也很容易实现,预测市场与谢林币一起有可能被证明是 [futarchy](http://hanson.gmu.edu/futarchy.html) 的第一个主流应用,作为去中心化组织的治理协议。
-
-**8. 链上去中心化市场**,基于身份和信誉系统。
-
-## 杂项和关注 {#miscellanea-and-concerns}
-
-### 改进版 GHOST 协议的实现 {#modified-ghost-implementation}
-
-“贪婪最重可观察子树”(GHOST) 协议是由 Yonatan Sompolinsky 和 Aviv Zohar 在 [2013 年 12 月](https://eprint.iacr.org/2013/881.pdf)首次提出的一项创新。 提出 GHOST 的动机是,具有快速确认时间的区块链目前由于过时率高而安全性降低 — 因为区块需要一定的时间才能通过网络传播,如果矿工 A 开采了一个区块,然后矿工 B 碰巧在矿工 A 的区块传播到 B 之前开采了另一个区块,那么矿工 B 的区块最终会被作废,不会增加网络安全。 此外,还有一个中心化问题:如果矿工 A 是一个拥有 30% 算力的矿池,而 B 拥有 10% 算力,那么 A 将面临 70% 的时间生产陈腐区块的风险(因为在其他 30% 的时间 A 产生了最后一个区块,所以会立即获得挖矿数据),而 B 将面临 90% 的时间生产陈腐区块的风险。 因此,如果区块间隔短到足以使过时率较高,则 A 将仅仅凭借其规模而显着提高效率。 结合这两种影响,快速产生区块的区块链很可能造就一个拥有足够高比例网络算力的矿池,从而对挖矿过程拥有事实上的控制。
-
-正如 Sompolinsky 和 Zohar 所描述的,GHOST 通过在计算哪条链“最长”时包含陈腐区块来解决第一个问题 - 网络安全降低;也就是说,在计算哪个区块具有最大的总工作量证明支持它时,不仅区块的父块和更远的祖先,而且该区块祖先(在以太坊行话中称为“叔块”)的陈腐子代也都被添加到计算中。 为了解决第二个问题 - 中心化偏差,我们跳出了 Sompolinsky 和 Zohar 描述的协议范畴,并且还为陈腐区块提供区块奖励:陈腐区块获得其基础奖励的 87.5%,而包含陈腐区块的侄块获得剩余的 12.5%。 不过,交易费不奖励给叔块。
-
-以太坊实现了一个简化版的 GHOST 协议,它仅仅深入七个层级。 具体而言,它的定义如下:
-
-- 一个区块必须指定一个父块,并且必须指定零个或多个叔块
-- 包含在区块 B 中的叔块必须具有以下属性:
- - 它必须是区块 B 的第 k 代祖先的直系子代,其中 `2 <= k <= 7`。
- - 它不能是 B 的祖先
- - 叔块必须是有效的区块头,但不需要是之前验证过的甚至是有效的区块
- - 叔块必须不同于前面区块中包含的所有叔块,并且不同于同一区块中包含的所有其他叔块(非双重包含)
-- 对于区块 B 中的每个叔块 U,区块 B 的矿工获得额外 3.125% 的铸币奖励,而叔块 U 的矿工获得 93.75% 的标准铸币奖励。
-
-这种限制版的 GHOST 协议,最多只能包含 7 代叔块,采用它有两个原因。 首先,无限制 GHOST 协议让计算给定区块的哪些叔块有效时过于复杂。 其次,无限制 GHOST 协议采用了以太坊中使用的补偿,取消了促使矿工在主链而不是公共攻击者的链上挖矿的激励措施。
-
-### 费用 {#fees}
-
-由于发布到区块链中的每笔交易都会给网络带来下载和验证成本,因此需要一些监管机制(通常涉及交易费)以防滥用。 比特币中使用的默认方法是收取完全自愿性质的费用,依靠矿工充当守门人并设置动态最低费用。 这种方法在比特币社区中非常受欢迎,特别是因为它是“基于市场的”,允许由矿工和交易发送者之间的供需决定价格。 然而,这种思路的问题在于,交易处理并不符合市场规律。尽管将交易处理解释为矿工向发送者提供的服务直观上很有吸引力,但实际上矿工收录的每笔交易都需要由网络中的每个节点处理,因此绝大部分交易处理成本由第三方承担,而不是由决定是否收录交易的矿工承担。 因此,公地悲剧的问题很可能发生。
-
-然而结果却是,基于市场机制中的这个缺陷,在给出一个不准确的特定简化假设时,会神奇地自我抵消。 论证如下。 假设:
-
-1. 交易导致 `k` 个操作,将提供奖励 `kR` 给收录它的任何矿工,其中 `R` 由发送者设置,`k` 和 `R` 事先(大体上)对矿工可见。
-2. 操作在任何节点的处理成本均为 `C`(即所有节点效率相同)
-3. 有 `N` 个挖矿节点,每个节点的处理能力完全相同(即为总处理能力的 `1/N`)
-4. 没有不挖矿的完整节点。
-
-如果预期奖励大于成本,矿工将愿意处理交易。 因此,预期奖励是 `kR/N`,因为矿工有 `1/N` 几率处理下一个区块,而矿工的处理成本仅仅是 ` kC`。 所以,当 `kR/N > kC` 或者 `R > NC` 时,矿工将会收录交易。 请注意,`R` 是发送者提供的每个操作的费用,因此是发送者从交易中获得的收益的下限,`NC` 是整个网络共同处理一个操作的成本。 因此,矿工有动力仅收录那些总实际收益超过成本的交易。
-
-然而,现实中这些假设会存在几个重要偏差:
-
-1. 与其他验证节点相比,矿工处理交易的成本确实更高,因为额外的验证时间会延迟区块传播,因而增加区块变陈腐的几率。
-2. 确实存在不挖矿的完整节点。
-3. 实际中挖矿能力的分配最终可能极端不平等。
-4. 热衷于破坏网络的投机者、政敌和疯子确实存在,他们可以巧妙地设置合约,使得他们的成本远低于其他验证节点支付的成本。
-
-(1) 让矿工趋向于收录更少的交易,并且 (2) 增加 `NC`;因此,这两种作用会相互抵消 一部分 。[如何抵消?](https://github.com/ethereum/wiki/issues/447#issuecomment-316972260) (3) 和 (4) 是主要问题,为了解决它们,我们简单地制订了一个 浮动上限:没有区块能够包含比 `BLK_LIMIT_FACTOR` 乘以长期指数移动平均值更多的操作数。 具体如下:
-
-```js
-blk.oplimit = floor((blk.parent.oplimit * (EMAFACTOR - 1) +
-floor(parent.opcount * BLK_LIMIT_FACTOR)) / EMA_FACTOR)
-```
-
-`BLK_LIMIT_FACTOR` 和 `EMA_FACTOR` 是常量,暂时设置为 65536 和 1.5,但可能会在进一步分析后更改。
-
-还有一个因素会抑制比特币中的大区块大小:大区块将需要更长时间来传播,因此变陈腐的概率更高。 在以太坊中,燃料消耗量高的区块也可能需要更长的传播时间,因为它们的物理大小更大,而且因为它们需要更长时间来处理交易状态转换以进行验证。 这种延迟抑制因素在比特币中是一个重要的考虑因素,但在以太坊中由于 GHOST 协议而较少考虑;因此,依靠受监管的区块限制可提供更稳定的基线。
-
-### 计算和图灵完备 {#computation-and-turing-completeness}
-
-重要的一点是,以太坊虚拟机是图灵完备的;这意味着以太坊虚拟机代码可以对任何设想可执行的计算进行编码,包括无限循环。 以太坊虚拟机代码以两种方式实现循环。 首先,使用一个 `JUMP` 指令,允许程序跳回至代码中的前一个位置,还使用一个 `JUMPI` 指令进行条件跳转,允许诸如 `while x < 27: x = x * 2` 之类的语句。 其次,合约可以调用其他合约,有可能通过递归进行循环。 这很自然地导致了一个问题:恶意用户能够通过迫使矿工和完整节点进入无限循环而不得不关机吗? 这个问题的出现源于计算机科学中的一个难题,称为停机问题:在一般情况下,没有办法知道一个特定的程序是否会停止运行。
-
-正如状态转换部分所述,我们的解决方案要求交易设置一个允许执行的最大计算步骤数,如果超过执行时间,计算就会被回滚,但仍要支付费用。 消息的工作原理相同。 为显示我们解决方案背后的动机,请看下面的示例:
-
-- 攻击者创建一个运行无限循环的合约,然后向矿工发送激活该循环的交易。 矿工将处理该交易,运行无限循环直到燃料耗尽。 即使执行耗尽了燃料并中途停止,交易仍然有效,矿工仍然向攻击者索取每个计算步骤的费用。
-- 攻击者创建一个非常长的无限循环,目的是迫使矿工持续计算很长时间,以至于计算结束时,将有更多区块产生出来,这样矿工就不可能通过收录该交易来索取费用。 然而,攻击者需要为 `STARTGAS` 提交一个值,限制执行可以进行的计算步骤数,因此矿工将提前知道该计算将进行相当多的步骤数。
-- 攻击者看到一个合约,其中的代码形式为 `send(A,contract.storage[A]); contract.storage[A] = 0`,然后发送一个交易,但燃料只够运行第一步而不足以运行第二步(即进行提款但不让余额减少)。 合约作者无需担心防卫此类攻击,因为如果执行中途停止,更改会被回滚。
-- 金融合约使用九个专有数据馈送的中位数,以便最大限度降低风险。 攻击者接管其中一个数据馈送,该数据馈送设计为可通过去中心化自治组织部分描述的变量-地址-调用机制修改,并将其转换为运行无限循环,从而强制任何从金融合约索取资金的尝试都因燃料耗尽而中止。 然而,金融合约可以为消息设置一个燃料限制,防止这个问题发生。
-
-图灵完备的替代方案是图灵不完备,其中 `JUMP` 和 `JUMPI` 不存在,并且在任何给定时间每个合约只允许有一个副本存在于调用堆栈内。 在这样的系统里,上述收费系统和关于我们解决方案效果的不确定性可能都是不需要的,因为执行一个合约的成本将被它的大小决定。 此外,图灵不完备甚至不是一个很大的限制;在我们内部构想的所有合约示例中,到目前为止只有一个需要循环,甚至那个循环也可以通过将一行代码重复 26 次来消除。 考虑到图灵完备带来的严重影响和有限的益处,为什么不简单地使用一种图灵不完备语言呢? 然而,在现实中,图灵不完备还远远不能有效地解决问题。 要想知道原因,请思考以下合约:
-
-```sh
-C0: call(C1); call(C1);
-C1: call(C2); call(C2);
-C2: call(C3); call(C3);
-...
-C49: call(C50); call(C50);
-C50: (run one step of a program and record the change in storage)
-```
-
-现在,向 A 发送一笔交易。这样,在 51 笔交易中,我们有一个合约需要进行多达 250 个计算步骤。 矿工可以尝试提前检测这种逻辑炸弹,方法是为每个合约维护一个值,指定合约可以进行的最大计算步骤数,然后对递归调用其他合约的合约进行计算,但是这需要矿工禁止创建其他合约的合约(因为上面 26 个合约的创建和执行可以很容易地汇集到一个单独合约内)。 另一个问题是,消息的地址字段是一个变量,所以在一般情况下,甚至不可能提前知道某个合约将调用哪些其他合约。 于是,最终我们有了一个惊人的结论:图灵完备的管理惊人地容易,而在缺乏同样的控制时图灵不完备的管理惊人地困难,那为什么不直接让协议图灵完备呢?
-
-### 货币和发行 {#currency-and-issuance}
-
-以太坊网络包括自己的内置货币以太币,以太币扮演双重角色:提供一个主要流动资金层,实现各种数字资产之间的高效交易;更重要的是,提供一种支付交易费的机制。 为了方便起见并避免将来出现争议(参考比特币当前的 mBTC、uBTC、satoshi 争论),不同面值的名称将提前设置如下:
-
-- 1: wei
-- 1012:Szabo
-- 1015:finney
-- 1018:ETH
-
-这应该被视为“美元”和“美分”或“BTC”和“satoshi”概念的扩展版本。 在不久的将来,我们期望“ETH”用于普通交易,“finney”用于微型交易,“szabo”和“wei”可以在围绕费用和协议实现的技术讨论中使用;其余的面额可能会在以后变得有用,但目前不应包含在客户端中。
-
-发行模型如下:
-
-- 以太币将以货币销售的形式发行,价格为一个比特币可购买 1000-2000 个以太币,这种机制旨在为以太坊组织筹资和支付开发费用,且已被其他平台(如 Mastercoin 和 NXT)成功应用。 早期的购买者将从较大的折扣中获益。 发售所得的比特币将全部用来支付开发者的薪资和奖金,并用来投资以太坊和加密货币生态系统中的各种营利和非营利项目。
-- 0.099倍的发售总量(60102216 个以太币)将分配给以太坊组织,以补偿早期贡献者,并用以太币计价的方式支付创世块诞生前的开销。
-- 0.099 倍的发售总量将作为长期储备金保留。
-- 发售后,将永久性地每年为矿工分配 0.26 倍的发售总量。
-
-| 分组 | 启动时 | 一年后 | 5 年后 |
-| --------- | ------ | ------ | ------ |
-| 货币单位 | 1.198X | 1.458X | 2.498X |
-| 购买者 | 83.5% | 68.6% | 40.0% |
-| 已支用的预售准备金 | 8.26% | 6.79% | 3.96% |
-| 已使用的售后准备金 | 8.26% | 6.79% | 3.96% |
-| 矿工 | 0% | 17.8% | 52.0% |
-
-#### 长期供应增长率(百分比)
-
-![以太坊通货膨胀](./ethereum-inflation.png)
-
-_尽管采用了线性发行方式,然而和比特币一样,以太币的长期供应增长率也趋于零。_
-
-上述模型提供了两个主要选项:(1) 捐赠池的存在和规模,以及 (2) 永久增长的线性供应的存在,而比特币采用了限制供应的方法。 捐赠池存在的理由如下。 如果捐赠池不存在,并且线性发行量减少到总发售量的 0.217 倍以实现相同的通货膨胀率,那么以太币总量将减少 16.5%,而每个单位的价值将增加 19.8%。 因此为了均衡,将会多发售 19.8% 的以太币,所以每个单位的价值将再次与以前完全一样。 之后,该组织还将拥有 1.198 倍的比特币,可以考虑将其分成两部分:原有的比特币和增加的 0.198 倍比特币。 因此,这种情况_完全等同于_捐赠,但有一个重要区别:该组织仅持有比特币,因而没有动力支持以太币单位的价值。
-
-永久性线性供应增长模型降低了有些人认为比特币财富过度集中的风险,并为生活在当前和未来的人提供了获取货币单位的公平机会,同时又保留了让人获取并持有以太币的强效激励措施,因为长期来看,用百分比表示的“供应增长率”将趋于零。 我们还推测,由于加密货币总是会因为不小心、死亡等原因而丢失,而加密货币的损失可以被模拟为每年总供应量的百分比,因此流通中的货币总供应量实际上最终会稳定在一个等于每年发行量除以损失率的数值上(例如,在损失率为 1% 时,一旦供应量达到 26 倍,那么每年将有 0.26 倍被开采,0.26 倍丢失,形成一个平衡点)。
-
-注意,未来以太坊可能过渡到权益证明模型以确保安全,将每年发行量降低到 0 至 0.05 倍之间。 如果以太坊组织失去资助或出于任何其他原因而消失,我们将开放一个“社区合约”:任何人都有权创建未来的以太坊候选版本,唯一的条件是太币数量必须最多为 `60102216 * (1.198 + 0.26 * n)` 个,其中 `n` 是创世块产生后的年数。 创建者可以自由地通过众筹或其他方式,分配权益证明驱动的供应增加与最大允许供应增加之间的部分或全部差额,以支付开发费用。 不符合社区合约的候选版本升级可能被合理地分叉为兼容版本。
-
-### 挖矿中心化 {#mining-centralization}
-
-比特币挖矿算法的原理是,让矿工一次又一次地对区块头稍作修改的版本进行数百万次 SHA256 计算,直到最终某个节点所产生版本的哈希小于目标值(目前大约为 2192)。 然而,这种挖矿算法容易遭受两种形式的中心化攻击。 第一种,挖矿生态系统已经被 ASIC(专用集成电路)所支配,这些计算机芯片专门为特定的比特币挖矿任务而设计,因此效率提高了数千倍。 这意味着比特币挖矿不再是一种高度去中心化和平等的事业,需要巨额资本才能有效参与。 第二种,大部分比特币矿工事实上不在本地完成区块验证;而是依赖中心化矿池提供区块头。 这个问题可以说更糟:截至撰写本文时,排名前三的矿池间接控制了比特币网络中大约 50% 的处理能力,尽管当矿池或联盟试图进行 51% 攻击时,矿工可以转换到其他矿池这一事实缓解了该问题。
-
-以太坊现在的目的是使用一种挖掘算法,要求矿工从状态中获取随机数据,从区块链的最后 N 个区块中计算一些随机选择的交易,并返回结果的哈希值。 这有两个重要好处。 首先,以太坊合约可以包含任何类型的计算,因此以太坊 ASIC 本质上是用于一般计算的 ASIC,即更好的 CPU。 其次,挖矿需要访问整个区块链,这迫使矿工存储整个区块链并至少能够验证每笔交易。 这样就消除了对中心化矿池的需求;虽然矿池仍然可以起到平衡奖励分配随机性的合法作用,但没有中心化控制的点对点矿池同样也可以很好地发挥此功能。
-
-该模型未经测试,在将合约执行作为挖矿算法使用时,在避免某些巧妙优化的过程中可能会遇到困难。 然而,这种算法有一个值得注意的特点,任何人都可以通过将专用于抑制某些 ASIC 的大量合约引入区块链中,在“井里下毒”。 由于存在经济激励,ASIC 制造商会使用这种方法互相攻击。 因此,我们正在开发的解决方案最终是一种适应性人为经济解决方案,而不是纯粹的技术解决方案。
-
-### 可扩展性 {#scalability}
-
-可扩展性问题是以太坊常被关注的一个方面。 像比特币一样,以太坊也有缺陷,即网络中的每个节点都需要处理每笔交易。 使用比特币,当前区块链的大小约为 15 GB,每小时增长约 1 MB。 如果比特币网络像 Visa 一样每秒处理 2000 笔交易,它将每三秒增长 1 MB(每小时 1 GB,每年 8 TB)。 以太坊可能也会经历相似甚至更糟的增长模式,因为以太坊区块链之上还有很多应用,不像比特币区块链上只有货币,但以太坊完整节点只需存储状态而不是完整的区块链历史,这一事实让情况得到了改善。
-
-大区块链的问题是中心化风险。 如果区块链大小增加到 100 TB,可能的情况是只有极少数大型企业能运行完整节点,而所有普通用户将使用轻 SPV 节点。 在这种情况下,可能会出现这样的担忧:完整节点合伙欺诈牟利(例如更改区块奖励,给他们自己比特币等)。 轻节点无法立即检测到这一点。 当然,可能至少存在一个诚实的完整节点,几个小时之后有关诈骗的信息会通过 Reddit 这样的渠道泄露,但这时已为时过晚:将由普通用户相互组织协作将指定区块列入黑名单,这种大规模的、很可能不切实际的协作在规模上无异于发动一次成功的 51% 攻击。 就比特币而言,目前这是一个问题,但[ Peter Todd 建议](https://web.archive.org/web/20140623061815/http://sourceforge.net/p/bitcoin/mailman/message/31709140/)对区块链进行修改,以缓解这一问题。
-
-在短期内,以太坊将使用两种其他策略来应对这个问题。 首先,因为基于区块链的挖矿算法,至少每个矿工都会被强制成为一个完整节点,为完整节点的数量创建了一个下限。 其次,更重要的是,处理完每笔交易后,我们会把一个中间状态树根收录到区块链中。 即使区块验证是中心化的,只要存在一个诚实的验证节点,就可以通过验证协议规避中心化问题。 如果矿工发布了无效区块,该区块必定是格式错误,或者是状态 `S[n]` 不正确。 由于已知 `S[0]` 是正确的,因此必然存在第一个不正确的状态 `S[i]`,但状态 `S[i-1]` 是正确的。 验证节点将提供索引 `i` 以及“无效证明”,该证明包括处理 `APPLY(S[i-1],TX[i]) -> S[i]` 所需的帕特里夏树节点的子集。 节点将能够使用这些节点来运行该部分计算,并查看生成的 `S[i]` 与提供的 `S[i]` 是否不匹配。
-
-另一种更复杂的攻击涉及恶意矿工发布不完整的区块,因此甚至不存在完整信息,致使无法确定区块是否有效。 解决方案是质询-应答协议:验证节点对目标交易索引发起“质疑”,接受到质疑信息的轻节点会对相应的区块取消信任,直到另外的节点(无论是矿工还是另一个验证者)提供一个帕特里夏树节点子集作为有效性证明。
-
-## 结论 {#conclusion}
-
-以太坊协议最初被设想为加密货币的升级版本,通过高度通用的编程语言提供高级功能,如区块链托管、提款限制、金融合约、博彩市场等。 以太坊协议不会直接“支持”任何应用,但图灵完备编程语言的存在意味着,理论上可以为任何交易类型或应用创建任意合约。 然而,关于以太坊更有趣的方面是,以太坊协议远远超出了货币的范畴。 围绕去中心化文件存储、去中心化计算和去中心化预测市场的协议以及许多其他这类概念,有可能大大提高计算行业的效率,并首次通过添加经济层来大力促进其他点对点协议的发展。 最后,还有大量与金钱完全无关的应用程序。
-
-以太坊协议实现的任意状态转换函数的概念提供了一个具有独特潜力的平台;而不是一种专门针对数据存储、赌博或金融领域内一系列特定应用的封闭式单用途协议,以太坊在设计上是开放式的,我们相信在今后几年中它非常适合作为大量金融和非金融协议的基础层。
-
-## 注释与延伸阅读 {#notes-and-further-reading}
-
-### 注释 {#notes}
-
-1. 有经验的读者可能会注意到,事实上比特币地址是椭圆曲线公钥的哈希,而非公钥本身。 然而事实上从密码学术语角度把公钥哈希称为公钥完全合理。 这是因为比特币密码学可以视为一种定制的数字签名算法。在数字签名算法中,公钥由 ECC(椭圆曲线加密算法)公钥的哈希组成,签名由连接了 ECC 签名的 ECC 公钥组成。而验证算法涉及用 ECC 公钥哈希(作为公钥提供)来检查签名中的 ECC 公钥,然后用 ECC 公钥来验证 ECC 签名。
-2. 技术上来说,前 11 个区块的中位数。
-3. 在内部,2 和 "CHARLIE" 都是数字 [fn3](注释编号),后者采用大端序基数 256 表示。 数字可以至少为 0,最大为 2256-1。
-
-### 延伸阅读 {#further-reading}
-
-1. [内在价值](http://bitcoinmagazine.com/8640/an-exploration-of-intrinsic-value-what-it-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it/)
-2. [智能资产](https://en.bitcoin.it/wiki/Smart_Property)
-3. [智能合约](https://en.bitcoin.it/wiki/Contracts)
-4. [B-money](http://www.weidai.com/bmoney.txt)
-5. [可重复使用的工作量证明](https://nakamotoinstitute.org/finney/rpow/)
-6. [利用所有者权限确保财产权](https://nakamotoinstitute.org/secure-property-titles/)
-7. [比特币白皮书](http://bitcoin.org/bitcoin.pdf)
-8. [域名币](https://namecoin.org/)
-9. [佐科三角](https://wikipedia.org/wiki/Zooko's_triangle)
-10. [彩色币白皮书](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit)
-11. [万事达币白皮书](https://github.com/mastercoin-MSC/spec)
-12. [去中心化自治公司,比特币杂志](http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i/)
-13. [简化支付确认](https://en.bitcoin.it/wiki/Scalability#Simplified_payment_verification)
-14. [默克尔树](https://wikipedia.org/wiki/Merkle_tree)
-15. [帕特里夏树](https://wikipedia.org/wiki/Patricia_tree)
-16. [GHOST 协议](https://eprint.iacr.org/2013/881.pdf)
-17. [StorJ 和自治代理,Jeff Garzik](http://garzikrants.blogspot.ca/2013/01/storj-and-bitcoin-autonomous-agents.html)
-18. [Mike Hearn 在图灵节上谈论智能资产](https://www.youtube.com/watch?v=MVyv4t0OKe4)
-19. [以太坊递归长度前缀编码 (RLP)](https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-RLP)
-20. [以太坊默克尔帕特里夏树](https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-Patricia-Tree)
-21. [Peter Todd 论默克尔求和树](https://web.archive.org/web/20140623061815/http://sourceforge.net/p/bitcoin/mailman/message/31709140/)
-
-_有关本白皮书的历史,请参阅[此维基文章](https://github.com/ethereum/wiki/blob/old-before-deleting-all-files-go-to-wiki-wiki-instead/old-whitepaper-for-historical-reference.md)。_
-
-_和众多社区驱动的开源软件项目一样,以太坊自启动以来一直不断发展。 若想了解以太坊的最新进展以及如何更改以太坊协议,我们推荐你阅读[本指南](/learn/)。_
diff --git a/public/content/translations/zh/23) Advanced Docs/developers/docs/bridges/index.md b/public/content/translations/zh/23) Advanced Docs/developers/docs/bridges/index.md
deleted file mode 100644
index 37232605f33..00000000000
--- a/public/content/translations/zh/23) Advanced Docs/developers/docs/bridges/index.md
+++ /dev/null
@@ -1,150 +0,0 @@
----
-title: 链桥
-description: 面向开发者的桥接概述
-lang: zh
----
-
-随着一层网络区块链和二层网络[扩容](/developers/docs/scaling/)解决方案的激增,以及越来越多的去中心化应用程序跨链,跨链通信和资产转移需求已成为网络基础设施的重要组成部分。 存在不同类型的链桥就是为了帮助解决这种需求。
-
-## 对链桥的需求 {#need-for-bridges}
-
-链桥的存在是为了连接区块链网络。 它们实现了区块链之间的连通性和互操作性。
-
-区块链存在于孤立的环境中,这意味着区块链之间本来就无法进行交易和通信。 因此,虽然某个生态系统内可能存在大量的活动和创新,但它会由于缺乏与其他生态系统的连通性和互操作性而受到限制。
-
-链桥提供了一种让孤立的区块链环境相互连通的途径。 它们在区块链之间建立了一条传输路线,让代币、信息、任意数据甚至[智能合约](/developers/docs/smart-contracts/)调用都可以从一条区块链转移到另一条。
-
-## 链桥的优点 {#benefits-of-bridges}
-
-简而言之,链桥解锁了大量应用场景,它允许区块链网络之间交换数据和转移资产。
-
-区块链具有独特的优势、缺点和应用程序构建方法(例如速度、吞吐量、高成本等)。 链桥有助于整个加密生态系统的发展,它能够让区块链利用彼此的创新。
-
-对于开发者,链桥可以实现以下功能:
-
-- 跨链传输任何数据、信息和资产。
-- 解锁协议的新功能和应用场景,因为链桥扩展了协议可以提供的设计空间。 例如,最初部署在以太坊主网上用于提供流动性矿池的协议,可以为所有兼容以太坊虚拟机的链提供流动资金池。
-- 可以利用不同区块链的优势的机会。 例如,开发者可以通过将去中心化应用程序部署在多个卷叠上来享受不同二层网络解决方案带来的较低费用,而侧链和用户可以在它们之间建立链桥。
-- 不同区块链生态系统的开发者之间相互协作,构建新产品。
-- 吸引来自不同生态系统的用户和社区使用他们的去中心化应用程序。
-
-## 链桥是如何工作的? {#how-do-bridges-work}
-
-虽然[链桥设计](https://li.fi/knowledge-hub/blockchain-bridges-and-classification/)多种多样,但以下三种方便资产跨链转移的方法脱颖而出:
-
-- **锁定并铸币 – **锁定源链上的资产并在目标链上铸币。
-- **销毁并铸币 – **销毁源链上的资产并在目标链上铸币。
-- **原子交换 – **通过第三方将源链上的资产与目标链上的资产交换。
-
-## 链桥类型 {#bridge-types}
-
-链桥通常可以分为以下几类之一:
-
-- **原生链桥 –** 这些链桥通常用于加强特定区块链上的流动性,使用户更容易将资金转移到生态系统。 例如,[Arbitrum 链桥](https://bridge.arbitrum.io/)的目的就是为了方便用户从以太坊主网桥接到 Arbitrum。 其他此链类桥包括 Polygon PoS 链桥、[Optimism 网关](https://app.optimism.io/bridge)等。
-- **基于验证者或预言机的链桥 –** 这些链桥依赖于外部验证者组或预言机来验证跨链转移。 例如:Multichain 与 Across。
-- **通用信息传递链桥 – **这些链桥可以跨链传输资产、信息和任意数据。 例如:Axelar、LayerZero 与 Nomad。
-- **流动性网络 –** 这些链桥主要是通过原子交换将资产从一条链转移到另一条链。 一般来讲,它们不支持跨链信息传递。 例如:Connext 与 Hop。
-
-## 权衡利弊 {#trade-offs}
-
-没有完美的链桥解决方案。 有的只是为了实现目的而进行的权衡利弊。 开发者和用户可以根据以下因素评估链桥:
-
-- **安全性 –** 谁来验证系统? 通常,由外部验证者保护的链桥不如由区块链验证者在本地保护的链桥安全。
-- **便利性 –** 完成一笔交易需要多长时间,用户需要签署多少笔交易? 对于开发者来说,集成一个链桥需要多长时间,这个过程有多复杂?
-- **连通性 –** 一个链桥可以连接哪些不同的目标链(卷叠、侧链、其他一层网络区块链等),集成一条新区块链有多难?
-- **传递更复杂数据的能力 –** 链桥能够跨链传输信息和更复杂的任意数据,还是只支持跨链资产转移?
-- **成本效益 –** 通过链桥跨链转移资产的成本是多少? 通常情况下,链桥收取固定或变动的费用,具体取决于燃料成本和特定路线的流动性。 根据确保链桥安全所需的资本来评估链桥的成本效益也是至关重要的。
-
-在较高层面上,链桥可以分为需信任链桥和去信任链桥。
-
-- **需信任链桥 –** 需信任链桥由外部验证。 它们使用一组外部验证者(具有多重签名的联盟、多方计算系统、预言机网络)跨链发送数据。 因此,它们可以提供出色的连通性,并完全支持跨链通用信息传递。 在速度和成本效益方面它们通常也表现良好。 但这些是以安全性为代价的,因为用户必须依赖链桥的安全性。
-- **去信任 –** 这类链桥依靠它们连接的区块链及其验证者来传输信息和代币。 它们是“去信任”的,因为它们没有增加新的信任假设(区块链除外)。 因此,我们认为去信任链桥比可信链桥更安全。
-
-为了根据其他因素评估去信任链桥,我们须将其分为通用信息传递链桥和流动性网络。
-
-- **通用信息传递链桥 –** 这些链桥在安全性和跨链传输更复杂数据的能力方面表现卓越。 通常,它们还具有良好的成本效益。 然而,这些优点通常以轻客户端链桥(例如 IBC)的连通性以及使用欺诈证明的乐观链桥(例如 Nomad)的速度劣势作为代价。
-- **流动性网络 –** 这些链桥使用原子交换转移资产,并且是本地验证系统(即,它们使用底层区块链的验证者验证交易)。 因此,它们在安全性和速度方面表现出色。 此外,流动性网络具有不错的成本效益和良好的连通性。 然而,最大的折衷之处是它们无法传递更复杂的数据 — 因为它们不支持跨链信息传递。
-
-## 链桥相关风险 {#risk-with-bridges}
-
-去中心化金融领域中最大的三次黑客攻击
-都是链桥造成的,而且链桥目前仍处于开发阶段早期。 使用任何链桥都有以下风险:
-
-- **智能合约风险 –** 虽然许多链桥已经成功通过了审计,但只需智能合约中的一个缺陷就会使资产暴露在黑客攻击中(例如:[Solana 的 Wormhole 链桥](https://rekt.news/wormhole-rekt/))。
-- **系统性金融风险** – 许多链桥使用包装资产在新的链上铸造规范化的原始资产。 这使生态系统面临系统性风险,正如我们所看到的那样,包装代币遭到利用。
-- **交易对手风险 –** 一些链桥采用可信设计,这要求用户依靠一种假设,即验证者不会串通起来窃取用户的资金。 用户需要信任这些第三方参与者,这使他们面临一些风险,比如跑路、审查和其他恶意活动。
-- **未解决的问题 –** 考虑到链桥处于发展阶段初期,还有许多关于链桥在不同市场条件下如何表现的问题都尚未解决,如网络拥塞期和在发生网络级攻击或状态回滚等不可预见的事件时。 这种不确定性带来了一定的风险,且风险程度目前仍然未知。
-
-
-
-## 去中心化应用程序如何使用链桥? {#how-can-dapps-use-bridges}
-
-下面介绍一些实际应用,在这些应用中,开发者可以考虑链桥并让他们的去中心化应用程序跨链:
-
-
-
-### 集成桥接 {#integrating-bridges}
-
-对于开发者来说,有很多方法可以添加对链桥的支持:
-
-1. **构建自己的链桥 –** 构建安全可靠的链桥并不容易,特别是在选择一种进一步将信任最小化的方式时。 此外,还需要与可伸缩性和互操作性研究相关的多年经验和技术专长。 另外,还需要一支亲力亲为的团队来维护链桥,并吸引足够的流动性使其可行。
-
-2. **向用户展示多种链桥选项 –** 很多[去中心化应用程序](/developers/docs/dapps/)要求用户拥有原生代币才可与它们交互。 为了使用户能够访问他们的代币,去中心化应用程序在其网站上提供了不同的链桥选项。 然而,这种方法是权宜之计,因为它使用户离开去中心化应用程序界面但仍需要用户与其他去中心化应用程序和链桥交互。 这是一种繁琐的上手体验,会增加出错的范围。
-
-3. **集成一个链桥 –**该解决方案不需要去中心化应用程序将用户发送到外部链桥和去中心化交易所接口。 这让去中心化应用程序能够改善用户的上手体验。 然而,这种方法有其局限性:
-
- - 链桥的评估和维护既困难又耗时。
- - 选用一个链桥将造成单点故障和依赖性。
- - 去中心化应用程序受限于链桥的能力。
- - 光有链桥可能还不够。 去中心化应用程序可能需要去中心化交易所来提供更多功能,比如跨链交换。
-
-4. **集成多个链桥 –** 该解决方案解决了许多与集成单个链桥相关的问题。 然而,它也有局限性,因为集成多个链桥会消耗资源,并给开发者带来技术和通信开销 — 这是加密货币领域最稀缺的资源。
-
-5. **集成链桥聚合器 –** 去中心化应用程序另一个选择是集成链桥聚合解决方案,使它们能够访问多个链桥。 链桥聚合器继承了所有链桥的优点,因此不受任何单一链桥能力的限制。 值得注意的是,链桥聚合器通常维护链桥集成,这使去中心化应用程序避免了管控链桥集成技术和操作方面的麻烦。
-
-尽管如此,链桥聚合器也有其局限性。 比如说,虽然它们可以提供较多的链桥选择,但除了聚合器平台上提供的链桥外,市场上通常还有更多的链桥。 此外,像链桥一样,链桥聚合器也面临智能合约和技术风险(更多的智能合约 = 更多的风险)。
-
-如果去中心化应用程序计划集成链桥或聚合器,那么根据集成的深度会有不同的选择。 例如,如果只是进行前端集成以改善用户上手体验,去中心化应用程序将集成小组件。 然而,如果整合是为了探索更深层次的跨链策略,如质押、流动性矿池等,去中心化应用程序就集成软件开发工具包或应用程序接口。
-
-
-
-### 在多条链上部署去中心化应用程序 {#deploying-a-dapp-on-multiple-chains}
-
-要在多条链上部署去中心化应用程序,开发者可以使用 [Alchemy](https://www.alchemy.com/)、[安全帽](https://hardhat.org/)、[Truffle](https://trufflesuite.com/)、[Moralis](https://moralis.io/) 等开发平台。 这些平台通常提供可组合的插件,能够支持去中心化应用程序跨链。 例如,开发者可以使用[安全帽部署插件](https://github.com/wighawag/hardhat-deploy)提供的确定性部署代理。
-
-
-
-#### 例子:
-
-- [如何构建跨链去中心化应用程序](https://moralis.io/how-to-build-cross-chain-dapps/)
-- [构建跨链非同质化代币市场](https://youtu.be/WZWCzsB1xUE)
-- [Moralis:构建跨链非同质化代币去中心化应用程序](https://www.youtube.com/watch?v=ehv70kE1QYo)
-
-
-
-### 监控跨链合约活动 {#monitoring-contract-activity-across-chains}
-
-要监控跨链合约活动,开发者可以使用子图和 Tenderly 等开发者平台实时观察智能合约。 这类平台上还有一些工具,提供更强大的跨链活动数据监控功能,例如,检查有没有[合约触发的事件](https://docs.soliditylang.org/en/v0.8.14/contracts.html?highlight=events#events)等。
-
-
-
-#### 工具
-
-- [图表](https://thegraph.com/en/)
-- [Tenderly](https://tenderly.co/)
-
-
-
-## 延伸阅读 {#further-reading}
-
-- [区块链链桥](/bridges/) — ethereum.org
-- [区块链链桥:构建加密网络的网络](https://medium.com/1kxnetwork/blockchain-bridges-5db6afac44f8) 2021 年 9 月 8 日 - Dmitriy Berenzon
-- [互操作性的三难困境](https://blog.connext.network/the-interoperability-trilemma-657c2cf69f17) 2021 年 10 月 1 日 – Arjun Bhuptani
-- [群集:可信链桥和信任最小化链桥如何打造多链格局](https://blog.celestia.org/clusters/) 2021 年 10 月 4 日 – Mustafa Al-Bassam
-- [LI.FI:有了链桥,信任就是一种范围](https://blog.li.fi/li-fi-with-bridges-trust-is-a-spectrum-354cd5a1a6d8) 2022 年 4 月 28 日 – Arjun Chand
-
-此外,以下是 [James Prestwich](https://twitter.com/_prestwich) 的一些有颇有见解的讲解,可以帮助我们更深入地理解链桥:
-
-- [构建链桥,而非构建有围墙的花园](https://youtu.be/ZQJWMiX4hT0)
-- [破坏链桥](https://youtu.be/b0mC-ZqN8Oo)
-- [为何链桥在销毁?](https://youtu.be/c7cm2kd20j8)
diff --git a/public/content/translations/zh/23) Advanced Docs/developers/docs/data-availability/blockchain-data-storage-strategies/index.md b/public/content/translations/zh/23) Advanced Docs/developers/docs/data-availability/blockchain-data-storage-strategies/index.md
deleted file mode 100644
index 72bc1e63f42..00000000000
--- a/public/content/translations/zh/23) Advanced Docs/developers/docs/data-availability/blockchain-data-storage-strategies/index.md
+++ /dev/null
@@ -1,118 +0,0 @@
----
-title: 区块链数据存储策略
-description: 有几种使用区块链储存数据的方式。 本文将比较不同的策略、它们的费用和权衡,以及安全使用策略的要求。
-lang: zh
----
-
-有多种通过区块链储存信息的方式,不论是直接在区块链上储存,或是用区块链保护信息安全:
-
-- EIP-4844 二进制大对象
-- 调用数据
-- 具有一层网络机制的链下
-- 合约“代码”
-- 事件
-- 以太坊虚拟机存储
-
-使用方法的选择基于几个标准:
-
-- 信息来源。 调用数据中的信息不能直接来自区块链本身。
-- 信息目的地。 Calldata 仅在其发起的交易中可用。 链上完全无法访问事件。
-- 能够接受多少麻烦? 相比在浏览器内运行的应用程序中的轻客户端,运行全节点的计算机能够执行更多处理。
-- 是否有必要使来自每个节点的信息易于访问?
-- 安全要求。
-
-## 安全要求 {#security-requirements}
-
-一般情况下,信息安全由三个属性组成:
-
-- _保密性_,使未经授权的实体无法读取信息。 这在许多情况下很重要,但在这里不重要。 _区块链上没有秘密_。 区块链因任何人都能验证状态转换而得以运作,所以,直接使用区块链来储存秘密是不可行的。 有几种方法可以在区块链上储存保密信息,但它们都依赖一些链下组成部分来储存至少一个密钥。
-
-- _完整性_,使信息保持正确,并且无法被未授权的实体或以未授权的方式改变(例如,在缺少 'Transfer' 事件的情况下转移 [ERC-20 代币](https://eips.ethereum.org/EIPS/eip-20#events))。 在区块链上,每个节点都会验证每个状态更改,从而确保了完整性。
-
-- _可用性_,使信息可供任何已获授权的实体使用。 在区块链上,这常常通过使信息对每个[全节点](https://ethereum.org/developers/docs/nodes-and-clients#full-node)可用来实现。
-
-这里的不同解决方案全都具有出色的完整性,因为哈希被发布在一层网络上。 但是,它们的可用性保证确实有所不同。
-
-## 前提条件 {#prerequisites}
-
-你应该充分理解[区块链基础知识](/developers/docs/intro-to-ethereum/)。 本页面还假设读者熟悉[区块](/developers/docs/blocks/)、[交易](/developers/docs/transactions/)和其他相关主题。
-
-## EIP-4844 二进制大对象 {#eip-4844-blobs}
-
-从 [Dencun 硬分叉](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/beacon-chain.md)开始,以太坊区块链包含了 [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844),这为以太坊数据二进制大对象增加了有限的生命期(最初约为 [18 天](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/p2p-interface.md#configuration))。 这些二进制大对象与[执行燃料](/developers/docs/gas)分开定价,尽管它们使用类似的机制。 它们是一种发布临时数据的低成本方式。
-
-EIP-4844 二进制大对象的主要使用案例是供卷叠发布其交易。 [乐观卷叠](/developers/docs/scaling/optimistic-rollups)需要在其区块链上发布交易。 那些交易必须在[质询期](https://docs.optimism.io/connect/resources/glossary#challenge-period)内对所有人可用,以便在卷叠[排序者](https://docs.optimism.io/connect/resources/glossary#sequencer)发布错误的状态根时,[验证者](https://docs.optimism.io/connect/resources/glossary#validator)能够修复错误。
-
-然而,一旦质询期结束并且状态根被最终确定,了解这些交易的目的就只剩下复制链的当前状态。 该状态也能从链节点获得,并且需要的处理要少得多。 因此,交易信息仍应保留在一些地方,比如[区块浏览器](/developers/docs/data-and-analytics/block-explorers),但无需偿付以太坊提供的抗审查水平。
-
-[零知识卷叠](/developers/docs/scaling/zk-rollups/#data-availability)也会发布其交易数据,以便其他节点能够复制现有状态并验证有效性证明,但这同样也是一个短期要求。
-
-撰写本文时,在 EIP-4844 上发布的每个字节需要花费 1 wei(10-18 个以太币),相较于[任何交易(包括发布二进制大对象的交易在内)都会花费的 21,000 执行燃料](https://eth.blockscout.com/tx/0xf6cfaf0431c73dd1d96369a5e6707d64f463ccf477a4131265397f1d81466929?tab=index),该费用微不足道。 你可以在 [blobscan.com](https://blobscan.com/blocks) 上查看当前 EIP-4844 价格。
-
-在以下地址可以查看一些知名卷叠发布的二进制大对象。
-
-| 卷叠 | 邮箱地址 |
-| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
-| [Optimism](https://www.optimism.io/) | [`0xFF00000000000000000000000000000000000010`](https://blobscan.com/address/0xFF00000000000000000000000000000000000010) |
-| [Arbitrum](https://arbitrum.io/) | [`0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6`](https://blobscan.com/address/0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6) |
-| [Base](https://base.org/) | [`0xFF00000000000000000000000000000000008453`](https://blobscan.com/address/0xFF00000000000000000000000000000000008453) |
-
-## 调用数据 {#calldata}
-
-调用数据是指作为交易一部分发送的字节。 它作为区块链永久记录的一部分,被储存在包含该交易的区块中。
-
-这是将数据永久放在区块链上最便宜的方法。 每个字节的费用为 4 执行燃料(如果字节为 0) 或 16 执行燃料(如果字节为任意其他值)。 如果数据经过压缩(这是标准做法),则每个字节的值几乎相等,所以每个字节的平均费用约为 15.95 燃料。
-
-撰写本文时的价格为 12 Gwei/燃料(2300 美元/以太币),这意味着每个字节的费用约为 45 美分。 由于这是 EIP-4844 之前最便宜的方法,卷叠使用此方法来储存交易信息,这些交易信息必须在[缺陷质询期](https://docs.optimism.io/stack/protocol/overview#fault-proofs)内可用,但无需直接在链上访问。
-
-在以下地址可以查看一些知名卷叠发布的交易。
-
-| 卷叠 | 邮箱地址 |
-| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
-| [Optimism](https://www.optimism.io/) | [`0xFF00000000000000000000000000000000000010`](https://eth.blockscout.com/address/0xFF00000000000000000000000000000000000010) |
-| [Arbitrum](https://arbitrum.io/) | [`0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6`](https://eth.blockscout.com/address/0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6) |
-| [Base](https://base.org/) | [`0xFF00000000000000000000000000000000008453`](https://eth.blockscout.com/address/0xFF00000000000000000000000000000000008453) |
-
-## 具有一层网络机制的链下 {#offchain-with-l1-mechs}
-
-根据你的安全权衡,将信息放在其他位置并使用一种可确保数据在需要时可用的机制,或许是可以接受的做法。 要实现这一点,有两个要求:
-
-1. 将一个数据的[哈希](https://en.wikipedia.org/wiki/Cryptographic_hash_function)发布在区块链上,这被称为“_输入承诺_”。 这可以是单个 32 字节的单词,因此并不昂贵。 只要输入承诺可用,完整性就能得到保证,因为不可能找到任何其他数据具有相同的哈希值。 因此,提供错误的数据会被检测出来。
-
-2. 拥有一种确保可用性的机制。 例如,在 [Redstone](https://redstone.xyz/docs/what-is-redstone) 中,任何节点都能提交可用性质询。 如果排序者未能在截止时间前在链上回应,输入承诺就会被丢弃,因此信息会被视为从未被发布过
-
-这对于乐观卷叠来说是可接受的,因为我们已经依赖于拥有至少一名诚实的验证者来验证状态根。 这样的诚实验证者还将确保拥有处理区块所需的数据,并在链下信息不可用时提出可用性质询。 这种乐观卷叠被称为 [plasma](/developers/docs/scaling/plasma/)。
-
-## 合约代码 {#contract-code}
-
-那些只需写入一次便永远不会被覆盖,并且需要在链上可用的信息可作为合约代码储存。 这意味着我们会创建一个带有数据的“智能合约”,然后使用 [`EXTCODECOPY`](https://www.evm.codes/#3c?fork=shanghai) 来读取信息。 这样做的优势是复制代码相对便宜。
-
-除了内存扩展的费用之外,`EXTCODECOPY` 在首次访问合约时(当它处于“冷”状态时)还需要花费 2600 燃料,后续从相同合约进行复制需要 100 燃料 + 3 燃料/32 字节单词。 与调用数据的花费(15.95 燃料每字节)相比,200 字节以上的数据使用合约代码会更便宜。 基于[内存扩展成本公式](https://www.evm.codes/about#memoryexpansion),只要你需要的内存不大于 4MB,内存扩展的花费就会低于添加调用数据。
-
-当然,这只是“_读取_”数据的花费。 创建合约的花费约为 32,000 燃料 + 200 燃料/字节。 这个方法只有在相同信息需要被不同交易多次读取时才是经济的。
-
-合约代码可以是无意义的,只要不以 `0xEF` 开头。 以 `0xEF` 开头的合约会被解释为[以太坊对象格式](https://notes.ethereum.org/@ipsilon/evm-object-format-overview),该格式有更加严格的要求。
-
-## 事件 {#events}
-
-[事件](https://docs.alchemy.com/docs/solidity-events)由智能合约触发,并由链下软件读取。
-它们的优势是链下代码可以侦听事件。 成本为[燃料](https://www.evm.codes/#a0?fork=cancun),375 燃料 + 8 燃料/数据字节。 在 12 Gwei/燃料和 2300 美元/以太币的情况下,该费用相当于 1 美分 + 22 美分/千字节。
-
-## 存储 {#storage}
-
-智能合约能够访问[永久存储](https://docs.alchemy.com/docs/smart-contract-storage-layout#what-is-storage-memory)。 但这非常昂贵。 将一个 32 字节的单词写入一个先前为空的储存时隙会[花费 22,100 燃料](https://www.evm.codes/#55?fork=cancun)。 在 12 Gwei/燃料和 2300 美元/以太币的情况下,该费用相当于 61 美分/写入操作,即 19.5 美元/千字节。
-
-这是以太坊上最昂贵的存储方式。
-
-## 总结 {#summary}
-
-下表总结了各种选项、它们的优势与劣势。
-
-| 存储类型 | 数据来源 | 可用性保证 | 链上可用性 | 其他限制 |
-| --------------- | ----- | -------------------------------------------------------------------------------------------------------------- | -------------- | ------------------------ |
-| EIP-4844 二进制大对象 | 链下 | 由以太坊保证 [18 天](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/p2p-interface.md#configuration) | 仅哈希可用 | |
-| 调用数据 | 链下 | 由以太坊永久保证(区块链的一部分) | 只有被写入合约时于该交易可用 | |
-| 具有一层网络机制的链下 | 链下 | 在质询期内由“一名诚实的验证者”保证 | 仅哈希可用 | 仅在质询期内由质询机制提供保证 |
-| 合约代码 | 链上或链下 | 由以太坊永久保证(区块链的一部分) | 是 | 写入到一个不以 `0xEF` 开头的“随机”地址 |
-| 事件 | 链上 | 由以太坊永久保证(区块链的一部分) | 否 | |
-| 存储 | 链上 | 由以太坊永久保证(区块链的一部分,并保持当前状态直至被覆盖) | 是 | |
diff --git a/public/content/translations/zh/23) Advanced Docs/developers/docs/data-availability/index.md b/public/content/translations/zh/23) Advanced Docs/developers/docs/data-availability/index.md
deleted file mode 100644
index df19a599b8e..00000000000
--- a/public/content/translations/zh/23) Advanced Docs/developers/docs/data-availability/index.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title: 数据可用性
-description: 以太坊中数据可用性问题和解决方案概述
-lang: zh
----
-
-“不信任,验证”是以太坊中通用的信条。 这种观念是指,你的节点可以通过执行从对等节点接收的区块中的所有交易来独立验证它收到的信息是正确的,以此来确保提议的更改与其独立计算出的更改完全一致。 这意味着节点无需相信区块的发送者是诚实的。 但如果数据遗失,就无法验证。
-
-**数据可用性**是指用户能够确信,验证区块所需的数据确实可供所有网络参与者使用。 对于在以太坊一层网络上的全节点来说,数据可用性相对简单;全节点下载每个区块中所有数据的副本 - 这些数据_必须_可用才能使下载得以进行。 数据缺失的区块将被丢弃,而不是添加进区块链。 这就是“链上数据可用性”,是单片式区块链的特征。 无法欺骗全节点让其接受无效交易,因为它们自己下载并执行所有交易。 然而,对于模块化区块链、二层网络卷叠和轻客户端来说,数据可用性局面更加复杂,需要更加复杂的验证程序。
-
-## 前言 {#prerequisites}
-
-你应该很好地理解[区块链基础知识](/developers/docs/intro-to-ethereum/),尤其是[共识机制](/developers/docs/consensus-mechanisms/)。 本页面还假设读者熟悉[区块](/developers/docs/blocks/)、[交易](/developers/docs/transactions/)、[节点](/developers/docs/nodes-and-clients/)、[扩容解决方案](/developers/docs/scaling/)和其他相关主题。
-
-## 数据可用性问题 {#the-data-availability-problem}
-
-数据可用性问题是指,需要向整个网络证明正在被添加到区块链中的某些汇总交易数据确实代表一组有效的交易,但在证明时不需要所有节点下载所有数据。 完整的交易数据是独立验证块所必需的,但要求所有节点下载所有交易数据是对扩容的阻碍。 解决数据可用性问题的目的是充分保证,自己不下载和存储数据的网络参与者可以使用全部交易数据进行验证。
-
-对于需要可靠的数据可用性保障但无法自己下载和处理交易数据的网络参与者,[轻节点](/developers/docs/nodes-and-clients/light-clients)和[二层网络卷叠](/developers/docs/scaling)是两个重要示例。 无需下载交易数据是轻节点之所以轻量并让卷叠成为有效扩容解决方案的原因。
-
-对于无需下载并存储数据以验证区块的未来[“无状态”](/roadmap/statelessness)以太坊客户端,数据可用性也是一个重要关切点。 无状态客户端仍需要确认数据_在某处_可用并且已被正确处理。
-
-## 数据可用性解决方案 {#data-availability-solutions}
-
-### 数据可用性采样 (DAS) {#data-availability-sampling}
-
-数据可用性采样 (DAS) 是网络在不给任何单个节点带来过多压力的情况下检查数据是否可用的一种方法。 每个节点(包括非质押节点)下载全部数据中随机选择的数据小子集。 成功地下载样本便可以非常肯定地确认所有数据都是可用的。 这依赖于数据纠删码,即用冗余信息扩展给定的数据集(实现方法是将一个称为_多项式_的函数与数据拟合,并在额外的点上对该多项式进行评估)。 这样可以在必要时从冗余数据中恢复原始数据。 这种数据创建的结果是,如果原始数据中的_任何_部分不可用,那么_一半_的扩展数据将丢失! 每个节点下载的数据样本量可以进行调整,以便_在_实际上不到一半的数据可用时,每个客户端采样的数据片段_极有可能_至少缺失一个。
-
-DAS 将用于确保汇总运营商在实施[完整 Danksharding](/roadmap/danksharding/#what-is-danksharding) 后提供其交易数据。 以太坊节点将使用上述冗余方案,随机采样二进制大对象中提供的交易数据,以确保所有数据都存在。 同样的技术也可用于确保区块生产者让将其所有数据可用,以保护轻客户端的安全。 同样,在[提议者-构建者分离](/roadmap/pbs)的情况下,只要求区块构建者处理整个区块,其他验证者将使用数据可用性采样进行验证。
-
-### 数据可用性委员会 {#data-availability-committees}
-
-数据可用性委员会 (DAC) 是提供或证明数据可用性的可信参与方。 可以使用数据可用性委员会而非数据可用性采样,或者可以[两者结合](https://hackmd.io/@vbuterin/sharding_proposal#Why-not-use-just-committees-and-not-DAS)使用。 数据可用性委员会提供的安全保证取决于具体设置。 例如,以太坊使用随机抽样的验证者子集来证明轻节点的数据可用性。
-
-一些 Validium 也使用数据可用性委员会。 数据可用性委员会是一组可信节点,它们在线下存储数据副本。 在出现争议时,需要通过数据可用性委员会来确保数据可用。 数据可用性委员会的成员还需要发布链上认证来证明这些数据确实是可用的。 有些 Validium 使用权益证明 (PoS) 验证者系统代替数据可用性委员会。 在该系统中,任何人都能成为验证者并在链下存储数据。 然而,他们必须提供“保证金”,并且保证金存入到智能合约中。 在发生恶意行为时,例如验证者隐藏数据,保证金会被罚没。 权益证明数据可用性委员会在安全性方面明显优于一般数据可用性委员,因为它们直接激励诚实的行为。
-
-## 数据可用性与轻节点 {#data-availability-and-light-nodes}
-
-[轻节点](/developers/docs/nodes-and-clients/light-clients)需要验证收到的区块头的正确性,不用下载区块数据。 轻节点轻量化的代价就是无法像全节点那样在本地独立地重新执行交易以验证区块头。
-
-以太坊轻节点信任由 512 个验证者组成的随机验证者组,该验证者组被分配到一个_同步委员会_。 同步委员会充当数据可用性委员会,使用加密签名向轻节点表明区块头中的数据是正确的。 同步委员会每天都刷新。 每个区块头都提醒轻节点哪些验证者应签核_下一个_区块,这样轻节点就不会被骗相信假装成真正同步委员会的恶意小组。
-
-但是,如果攻击者_确实_想方设法向轻节点传输了恶意区块头,并使轻节点相信它是由诚实的同步委员会签核的,会发生什么? 在这种情况下,攻击者可能会添加无效的交易,而轻节点将会盲目地接受它们,因为轻节点无法独立验证汇总在区块头中的所有状态变化。 为了防止这种情况,轻节点可以使用欺诈证明。
-
-欺诈证明的工作原理如下:全节点发现一个无效状态转换在网络上广播时,可以快速生成证明已提议状态转换不可能源自给定一组交易的一小段数据,并把这段数据广播到对等节点。 轻节点可以选取这些欺诈证明并用来丢弃有害的区块头,确保它们和全节点留在相同的诚实区块链上。
-
-这仰仗于全节点能够访问完整的交易数据。 广播有害区块头并且不提供交易数据的攻击者可能能够阻止全节点生成欺诈证明。 全节点也许可以发出关于有害区块的警告,但没有证据来证明它们的警告,因为没有可用于生成证明据的数据!
-
-数据可用性采样可以解决这个数据可用性问题。 轻节点下载完整状态数据的小随机片段,并使用这些样本验证完整数据集可用。 在下载 N 个随机片段后,对完整数据的可用性做出错误估计的真实可能性是可以计算的([如果是 100 个数据片段,则概率是 10^-30](https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html),也就是说几乎不可能)。
-
-即使出现错误估计,仅仅隐藏几个字节的攻击,可能不会被发出随机数据请求的客户端所察觉。 纠删码通过重建丢失的小数据片段来解决这个问题,这些数据片段可用来检查提议的状态变化。 然后,可以使用重建的数据构建欺诈证明,防止轻节点接受有害的区块头。
-
-**注意:**数据可用性采样和欺诈证明尚未在权益证明以太坊轻客户端上实现,但它们已经在规划中,很可能采取基于 ZK-SNARK 证明的形式。 目前,轻客户端依赖于一种数据可用性委员会:它们验证同步委员会的身份,然后信任接收到的已签名区块头。
-
-## 数据可用性和二层网络卷叠 {#data-availability-and-layer-2-rollups}
-
-[二层网络扩容方案](/layer-2/)(例如[卷叠](/glossary/#rollups))通过在链下处理交易减少交易费用并增加以太坊的吞吐量。 卷叠交易是分批次压缩并发布到以太坊上。 批次表示将成千上万单个链下交易打包到以太坊上的单个交易中。 这减少了基础层的拥塞并降低了用户费用。
-
-然而,只有提议的状态变化可被独立验证并确认是应用所有单独链下交易的结果时,才能信任发布到以太坊上的“汇总”交易。 如果卷叠运营者不提供进行此验证所需的交易数据,那么它们可以将不正确的数据发送至以太坊。
-
-[乐观卷叠](/developers/docs/scaling/optimistic-rollups/)将压缩交易数据发布到以太坊并等待一定时间(通常为 7 天),以便独立验证者检查数据。 如果有任何验证者发现问题,它们可以生成欺诈证明并用来质疑卷叠。 这将导致链回滚并丢弃无效区块。 只有在数据可用时,才能实现这一点。 目前,乐观卷叠有两种方式将交易数据发布到一层网络。 有些卷叠使数据以 `CALLDATA` 的形式永久可用,并永久存在于链上。 随着 EIP-4844 的实施,一些卷叠将其交易数据发布到更便宜的二进制大对象存储中。 它不是永久存储。 独立验证者必须在数据从以太坊第 1 层删除之前约 18 天内查询二进制大对象并提出挑战。 通过以太坊协议,数据可用性仅在一个短暂的固定窗口期内得到保证。 此后,数据可用性成为以太坊生态系统中其他实体的责任。 任何节点都可以使用数据可用性采样来验证数据可用性,即下载二进制大对象数据的随机小样本。
-
-[零知识 (ZK) 卷叠](/developers/docs/scaling/zk-rollups)无需发布交易数据,因为[零知识有效性证明](/glossary/#zk-proof)可保证状态转换的正确性。 然而,数据可用性依然是一个问题,因为在不访问其状态数据的情况下我们无法担保零知识卷叠的功能(或与之交互)。 例如,如果运营者隐瞒了卷叠状态的细节,用户就无法知道自己的余额。 而且,用户也不能使用新添加区块中的信息来执行状态更新。
-
-## 数据可用性与数据可检索性 {#data-availability-vs-data-retrievability}
-
-数据可用性不同于数据可检索性。 数据可用性是一种保障,它确保全节点能够访问和验证与某个特定区块相关的全部交易。 然而,数据也不见得始终可以访问。
-
-数据可检索性是指节点从区块链中检索_历史信息_的能力。 验证新区块不需要此历史数据,历史数据仅用于将全节点与创世区块同步或者满足具体的历史数据请求。
-
-核心以太坊协议主要涉及数据可用性,而不是数据可检索性。 数据可检索性可由第三方管理的少数归档节点提供,或者可以通过去中心化文件存储(如 [Portal Network](https://www.ethportal.net/))来分散到整个网络。
-
-## 延伸阅读 {#further-reading}
-
-- [到底什么是数据可用性?](https://medium.com/blockchain-capital-blog/wtf-is-data-availability-80c2c95ded0f)
-- [什么是数据可用性?](https://coinmarketcap.com/alexandria/article/what-is-data-availability)
-- [以太坊链下数据可用性概况](https://blog.celestia.org/ethereum-off-chain-data-availability-landscape/)
-- [数据可用性检查入门知识](https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html)
-- [分片 + 数据可用性委员会提案释义](https://hackmd.io/@vbuterin/sharding_proposal#ELI5-data-availability-sampling)
-- [关于数据可用性和纠删码的说明](https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding#can-an-attacker-not-circumvent-this-scheme-by-releasing-a-full-unavailable-block-but-then-only-releasing-individual-bits-of-data-as-clients-query-for-them)
-- [数据可用性委员会。](https://medium.com/starkware/data-availability-e5564c416424)
-- [权益证明数据可用性委员会。](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf)
-- [数据可检索性问题的解决方案](https://notes.ethereum.org/@vbuterin/data_sharding_roadmap#Who-would-store-historical-data-under-sharding)
-- [数据可用性或:卷叠如何学会停止担忧并爱上以太坊](https://ethereum2077.substack.com/p/data-availability-in-ethereum-rollups)
diff --git a/public/content/translations/zh/23) Advanced Docs/developers/docs/design-and-ux/dex-design-best-practice/index.md b/public/content/translations/zh/23) Advanced Docs/developers/docs/design-and-ux/dex-design-best-practice/index.md
deleted file mode 100644
index 5fb4dfea533..00000000000
--- a/public/content/translations/zh/23) Advanced Docs/developers/docs/design-and-ux/dex-design-best-practice/index.md
+++ /dev/null
@@ -1,220 +0,0 @@
----
-title: 去中心化交易所 (DEX) 设计最佳做法
-description: 说明代币交换用户体验/用户界面决策的指南
-lang: zh
----
-
-自 Uniswap 于 2018 年发布之后,成百上千的去中心化交易所已在数十个不同的链上发布。
-它们中的许多已经引入新的元素或加入自己的调整,但界面基本保持相同。
-
-这种现象的原因之一是[雅各布定律](https://lawsofux.com/jakobs-law/):
-
-> 用户将大多数时间花费在其他网站。 这意味着用户更愿意你的网站采用他们已在其他网站熟知的操作方式。
-
-得益于 Uniswap 、Pancakeswap 和 Sushiswap 这样的早期创新者,去中心化金融用户对去中心化交易所的外观已经达成一些共识。
-因此,各类“最佳做法”层出不穷。 我们看到越来越多的设计决策成为网站的标准。 你可以将去中心化交易所的演变视作实时检验的巨型范例。 有用的东西留下,无用的东西淘汰。 尽管仍有个性化的余地,去中心交易所还是应该符合特定的标准。
-
-本文概括介绍以下内容:
-
-- 应该包含的元素
-- 如何尽可能地提高实用性
-- 定制设计的主要方式
-
-所有的示例线框均依据本文专门制作,但它们都基于真实的项目。
-
-Figma 工具包也附于本文底部 - 请随意使用,快速制作你自己的线框!
-
-## 去中心化交易所的基本剖析{#basic-anatomy-of-a-dex}
-
-用户界面大致包含三个元素:
-
-1. 主表单
-2. 按钮
-3. 细节面板
-
-![通用去中心化交易所用户界面,显示三个主要元素](./1.png)
-
-## 变体{#variations}
-
-这将是本文的通用主题,但这些元素可能有多种不同的组织方式。 “细节面板”可能位于:
-
-- 按钮上方
-- 按钮下方
-- 隐藏在可折叠面板中
-- 和/或显示在“预览”模态上
-
-注意: “预览”模态是可选的,但如果主用户界面只显示了很少的细节,它就十分重要了。
-
-## 主表单的结构{#structure-of-the-main-form}
-
-这是一个方框,供你选择想要交换的代币。 组件包括一个输入字段和一个小按钮,排成一行。
-
-去中心化交易所通常在它的上一行和下一行显示额外细节,但也可以采用其他配置。
-
-![输入行,以及上方和下方的细节行](./2.png)
-
-## 变体{#variations2}
-
-这里显示了两种用户界面变体:一种没有任何边框,形成一种非常开放的设计;另一种的输入行带有边框,以突出显示该元素。
-
-![主表单的两种用户界面变体](./3.png)
-
-这种设计的基本结构显示了**四种关键信息**:每个角上各一种。 如果只有一个顶部/底部行,则仅有两种信息。
-
-去中心化金融演变期间的许多不同事物都包含在其中。
-
-## 需要包含的关键信息 {#key-info-to-include}
-
-- 钱包余额
-- 最大化按钮
-- 等价法币
-- 价格对“接收”金额的影响
-
-在去中心化金融的早期,等价法币经常缺失。 如果你在构建任何形式的 Web3 项目,显示等价法币至关重要。 用户始终从本地货币的角度考虑,所以为了符合真实世界的心理模型,等价法币应该包含进来。
-
-在第二个字段(供你选择兑换成的代币),你也可以通过计算输入金额与估计输出金额之间的差异,在法定货币金额旁包含价格影响。 这是一个需要包含的相当有用的细节。
-
-百分比按钮(即 25%、50%、75%)可以成为一项有用的功能,但会占用更多空间,增加更多行动号召,以及更多心理负担。 百分比滚动条也是如此。 其中一些用户界面的决定取决于你的品牌和用户类型。
-
-主表单下可以显示额外的细节。 由于这类信息主要针对专业用户,因此合理的做法有:
-
-- 尽量将其最小化,或;
-- 将其隐藏在可折叠面板中
-
-![在主表单的角落显示细节](./4.png)
-
-## 要包含的额外细节 {#extra-info-to-include}
-
-- 代币价格
-- 滑点
-- 最小接收值
-- 预计输出
-- 价格影响
-- 预计燃料成本
-- 其他费用
-- 订单路由
-
-可以说,其中一些细节是可选的。
-
-订单路由很有趣,但对大多数用户来说没有作用。
-
-一些其他细节只是在以不同方式重述相同的内容。 例如,“最小接收值”与“滑点”就像是同一个硬币的两个面。 如果将滑点设为 1%,那么你预计收到的最小值就是预期输出 -1%。 一些用户界面会显示预计金额、最小金额和滑点… 这些细节很有用,但可能过于琐碎。
-
-大多数用户无论如何都会保留默认滑点。
-
-“价格影响”通常显示在“至”字段中等价法币旁的括号内。 该细节能有效地增强用户体验,但如果已经显示在这里,真的还有必要在下面再显示一次吗? 然后在预览屏幕上再显示一次?
-
-许多用户(尤其是那些进行小额兑换的用户)不会在意这些细节;他们只会简单地输入数字并点击兑换。
-
-![一些细节展示了相同的内容](./5.png)
-
-具体显示哪些细节将取决于你的受众以及你希望该应用程序给人带来的体验。
-
-如果你在细节面板中包含了滑点容差,还应该让它可在此处直接编辑。 这是一个很好的“加速器”例子;简洁的用户体验可以帮助经验丰富的用户加快流程,而且不会影响应用程序的一般可用性。
-
-![滑点可以直接从细节面板控制](./6.png)
-
-最好不要只考虑屏幕上的某一条特定信息,还要通盘考虑整个流程:
-在主表单中输入数字 → 扫视细节 → 点击进入预览屏幕(如果有的话)。
-细节面板应该一直保持可见,还是需要用户点击展开呢?
-应该通过添加预览屏幕来制造缓冲吗? 这将迫使用户放慢速度并认真考虑他们的交易,可能会很有用。 但他们希望再次看到所有相同的信息吗? 在这个时间点,哪些内容对他们来说最有用?
-
-## 设计选项 {#design-options}
-
-如上所述,这很大程度取决于你的个人风格
-你的用户是谁?
-你的品牌是什么?
-你想要一个展示所有细节的“专业”界面,还是尽可能的极简主义?
-即使你的首重是想要获得尽可能多信息的专业用户,你仍应记住 Alan Cooper 的忠告:
-
-> 无论你的界面有多漂亮、多酷,如果能简洁一点,它将变得更好。
-
-### 结构 {#structure}
-
-- 代币在左边还是右边
-- 2 行还是 3 行
-- 细节在按钮上方还是下方
-- 展开细节、最小化细节,还是不显示细节
-
-### 组件风格 {#component-style}
-
-- 空白
-- 带线框
-- 填充
-
-从纯粹的用户体验角度来看,用户界面的风格不像你想的那么重要。 视觉趋势循环往复,而且很多偏好非常主观。
-
-要想感受这一点并考虑各种不同的配置,最简单的方法是,查看一些示例,然后自己去做一些尝试。
-
-附带的 Figma 工具包内含空白、带线框和填充的组件。
-
-查看下面的例子,了解将它们组合在一起的各种方式。
-
-![共三行,均使用填充样式](./7.png)
-
-![共三行,均使用线框样式](./8.png)
-
-![共两行,均使用空心样式](./9.png)
-
-![共三行,均使用线框样式,并附带细节面板](./10.png)
-
-![共三行,其中输入行使用线框样式](./11.png)
-
-![共两行,均使用填充样式](./12.png)
-
-## 但是代币应该放在哪一边呢? {#but-which-side-should-the-token-go-on}
-
-需要注意的是,这不会对实用性产生重大影响。 但有几点需要牢记于心,并可能会以某种方式影响你。
-
-观察时尚潮流随时间变化是一件有趣的事。 Uniswap 最初将代币放在左边,但之后又将它移到了右边。 Sushiswap 在设计升级时也做了这项更改。 大多数协议(但并非全部)都效仿了这一点。
-
-依据传统的金融惯例,货币符号被放在数字之前,即 $50、€50 和 £50,但我们_讲_的却是 50 美元、50 欧元和 50 英镑。
-
-对于一般用户,特别是习惯从左往右、从上往下阅读的用户,将代币放在右边可能会感觉更自然。
-
-![将代币放在左边的用户界面](./13.png)
-
-将代币放在左边并将数字放在右边看起来是对称的,这是一个优点,但这种布局也有另一个缺点。
-
-临近定律指出,相距较近的内容往往被看作是相关的。 因此,我们希望将相关的内容放在彼此旁边。 代币余额与代币本身直接相关,并且会在选择新代币时发生变化。 因此,将代币余额放在代币选择按钮旁边更为合理。 可以将它移动到代币下方,但那样会破坏布局的对称性。
-
-总的来说,两种选择各有优缺点,但有趣的是,当前的趋势似乎是将代币放在右边。
-
-# 按钮行为 {#button-behavior}
-
-不要有单独的“批准”按钮。 也不要单独点击“批准”。 用户想要交换,只需要点击“交换”按钮,并启动批准来作为第一步。 可以用一个模态,通过计步器显示交易进度,或者显示简单通知“交易 1/2 - 正在批准”。
-
-![包含单独的批准按钮和交换按钮的用户界面](./14.png)
-
-![包含一个批准按钮的用户界面](./15.png)
-
-## 用作上下文帮助的按钮 {#button-as-contextual-help}
-
-按钮可以起到另一个作用 - 作为警报!
-
-实际上,这在 Web3 外是一种相当罕见的设计模式,但在 Web3 内已经成为一种标准。 这是一项很好的创新,因为它能节省空间并有助于集中注意力。
-
-如果主操作“交换”由于错误不可使用,则可以通过按钮来解释原因,例如:
-
-- 切换网络
-- 连接钱包
-- 各种错误
-
-按钮还可以被**映射到需要执行的操作**。 例如,如果用户因为选择了错误的网络而不能进行交换,则按钮应显示“切换到以太坊”,并在用户点击按钮时将网络切换到以太坊。 这将显著加速用户的使用流程。
-
-![关键操作正在从主要行动号召启动](./16.png)
-
-![主要行动号召中显示的错误信息](./17.png)
-
-## 使用此 figma 文件构建您自己的设计 {#build-your-own-with-this-figma-file}
-
-得益于多个协议的共同作用,去中心化交易所设计已经有了显著改进。 我们知道用户需要哪些信息,应该如何展示这些信息,以及如何使流程尽可能流畅。
-希望这篇文章提供了关于用户体验原则的全面概述。
-
-如果你想尝试,请随时使用 Figma 线框包。 它尽可能地保持简单,但仍有足够的灵活性,能以各种方式构建基础结构。
-
-[Figma 线框包](https://www.figma.com/community/file/1393606680816807382/dex-wireframes-kit)
-
-去中心化金融将不断发展,而且始终有改进的空间。
-
-祝你好运!
diff --git a/public/content/translations/zh/23) Advanced Docs/developers/docs/design-and-ux/heuristics-for-web3/index.md b/public/content/translations/zh/23) Advanced Docs/developers/docs/design-and-ux/heuristics-for-web3/index.md
deleted file mode 100644
index 1318c84650d..00000000000
--- a/public/content/translations/zh/23) Advanced Docs/developers/docs/design-and-ux/heuristics-for-web3/index.md
+++ /dev/null
@@ -1,138 +0,0 @@
----
-title: Web3 界面设计的 7 个启发法
-description: 改进 Web3 可用性的原则
-lang: zh
----
-
-可用性启发法包含广泛的“经验法则”,你可以用它来衡量网站的可用性。
-这些启发法是为 Web3 量身定制的,并且应该与 Jakob Nielsen 的[界面设计的 10 条基本原则](https://www.nngroup.com/articles/ten-usability-heuristics/)一起使用。
-
-## Web3 的 7 个可用性启发法 {#seven-usability-heuristics-for-web3}
-
-1. 操作后进行反馈
-2. 安全与信任
-3. 突显最重要的信息
-4. 易于理解的术语
-5. 尽可能简短的操作
-6. 灵活且可见的网络连接
-7. 通过应用程序而非钱包进行控制
-
-## 定义与示例 {#definitions-and-examples}
-
-### 1. 操作后进行反馈 {#feedback-follows-action}
-
-**当某些事情已经或即将发生时,应该明确地展示出来。**
-
-用户会以前面步骤的结果为基础,做出后续步骤的决定。 因此,确保他们随时了解系统状态至关重要。 这在 Web3 中尤其重要,因为交易有时只需很短的时间就提交到区块链了。 如果没有反馈来通知他们等待,用户将不确定是否发生了任何操作。
-
-**提示:**
-
-- 通过信息、通知或其他警报来通知用户。
-- 明确地传达等待时间
-- 如果操作需要的时间超过几秒钟,请用一个计时器或动画来让用户放心,让他们知道有操作正在发生。
-- 如果某个过程有多个步骤,请显示每个步骤。
-
-**例如:**
-展示交易中涉及的每个步骤,有助于用户了解自己正处于该过程的什么位置。 适当的图标能让用户了解他们的操作状态。
-
-![交换代币时,通知用户每个步骤](./Image1.png)
-
-### 2. 融入安全与信任 {#security-and-trust-are-backed-in}
-
-应优先考虑安全性,并向用户强调这一点。
-人们非常在乎他们的数据。 安全往往是用户的首要关注点,因此应该在设计的所有层面充分考虑安全问题。 你应该始终努力赢得用户的信任,但实现这一点的方式在不同的应用程序中可能有不同的含义。 这不应该是事后才考虑的问题,而应该有意识地设计为贯穿始终。 在整个用户体验中建立信任,包括社交频道和相关文档,以及最终的用户界面。 诸如去中心化水平、资金库的多重签名状态,以及团队是否接受监督之类的因素,都会影响用户的信任。
-
-**提示:**
-
-- 自豪地展示你的审计
-- 进行多次审计
-- 宣传你设计的任何安全功能
-- 突出可能的风险,包括底层的集成
-- 传达策略的复杂性
-- 考虑可能会影响用户安全感的非用户界面问题
-
-**示例:**
-在页脚以显眼的尺寸包含你的审计内容。
-
-![在网站页脚引用的审计内容](./Image2.png)
-
-### 3. 突显最重要的信息 {#the-most-important-info-is-obvious}
-
-对于复杂的系统,只展示最相关的数据。 确定哪些信息最重要的,并优先展示它们。
-太多的信息会让人无所适从,并且用户通常只依托一条信息做出决定。 在去中心化金融中,这可能会是收益应用程序中的年化收益率和借贷应用程序中的贷款价值比。
-
-**提示:**
-
-- 用户研究将揭示最重要的指标
-- 让关键信息变大,并让其他细节变小且不引人注目
-- 人们不会仔细阅读,而是一扫而过;确保你的设计是可扫视的
-
-**例如:** 在扫视时,巨大的全彩色代币很容易被找到。 年化收益率用大号字体和强调色突出显示。
-
-![易于寻找的代币和年化收益率](./Image3.png)
-
-### 4. 易于理解的术语 {#clear-terminology}
-
-术语应该是易于理解且恰当的。
-技术行话可能构成巨大的阻碍,因为它需要构建一个全新的心理模型。 用户无法将设计与他们已知的词语、短语或概念联系起来。 一切似乎都令人感到困惑且陌生,他们需要经历一条陡峭的学习曲线才能尝试使用。 用户可能是出于省钱的目的而接触到去中心化金融,然而他们发现的却是:挖矿、矿池、质押、排放、贿赂、金库、储物柜、veToken、归属、时段、去中心化算法、协议自有流动性…
-尝试使用大多数人能够理解的简单术语。 不要仅仅为你的项目发明新术语。
-
-**提示:**
-
-- 使用简单且一致的术语
-- 尽可能多地使用现有语言
-- 不要杜撰自己的术语
-- 遵循现有的惯例
-- 尽可能对用户进行教育
-
-**例如:**
-“你的奖励”是一个众所周知的中性词;并非为该项目创造的新词。 以美元计价的奖励符合现实世界的心理模型,即使它们本身是另一种代币。
-
-![以美元展示的代币 奖励](./Image4.png)
-
-### 5. 尽可能简短的操作 {#actions-are-as-short-as-possible}
-
-通过归类子操作的方式来提升用户的交互速度。
-这可以在智能合约的层面上完成,也可以在用户界面完成。 用户不应该为了完成一个常见的操作,而从系统的一部分移动到另一部分,或者完全离开系统。
-
-**提示:**
-
-- 尽可能将“批准”与其他操作相结合
-- 尽可能将签名步骤紧密地捆绑起来
-
-**例如:** 将“增加流动资金”与“质押”结合起来,是一个能节省用户时间与燃料的简单加速器示例。
-
-![此模态展示了一个将存款和质押操作结合在一起的开关](./Image5.png)
-
-### 6. 灵活且可见的网络连接 {#network-connections-are-visible-and-flexible}
-
-告知用户他们所连接的网络,并提供清晰的快捷方式切换网络。
-这在多链应用程序中尤其重要。 当断开连接或连接到不支持的网络时,应用程序的主要功能仍应该可见。
-
-**提示:**
-
-- 在断开连接时显示尽可能多的应用程序内容
-- 显示用户目前连接的网络
-- 不要让用户到钱包中切换网络
-- 如果应用程序需要用户切换网络,请从主要行动号召中提示该操作。
-- 如果应用程序包含多个网络的市场或金库,请明确陈述用户目前查看的是哪一组。
-
-**例如:** 向用户展示他们目前连接的网络,并允许他们在应用程序栏中进行更改。
-
-![显示所连接网络的下拉式菜单按钮](./Image6.png)
-
-### 7. 通过应用程序而非钱包进行控制 {#control-from-the-app-not-the-wallet}
-
-用户界面应该向用户展示他们需要了解的所有内容,并让他们能够控制需要控制的一切。
-在 Web3 中,有些操作需要在用户界面内执行,有些需要在钱包内执行。 一般而言,在用户界面开始一项操作,然后在钱包中确认它。 如果这两条线没有仔细合并,用户可能会感觉不适应。
-
-**提示:**
-
-- 通过用户界面中的反馈来传达系统状态
-- 保存他们的历史记录
-- 提供先前交易的区块浏览器链接
-- 提供切换网络的快捷键
-
-**例如:** 一个巧妙的容器向用户展示了在他们的钱包中拥有哪些相关的代币,而主要行动号召则提供了一个快捷方式来切换网络。
-
-![主要行动号召正在提示用户切换网络](./Image7.png)
diff --git a/public/content/translations/zh/23) Advanced Docs/developers/docs/design-and-ux/index.md b/public/content/translations/zh/23) Advanced Docs/developers/docs/design-and-ux/index.md
deleted file mode 100644
index c9dfd960903..00000000000
--- a/public/content/translations/zh/23) Advanced Docs/developers/docs/design-and-ux/index.md
+++ /dev/null
@@ -1,85 +0,0 @@
----
-title: Web3 中的设计和用户体验
-description: 介绍 Web3 领域和以太坊中的用户体验设计和研究
-lang: zh
----
-
-你不熟悉用以太坊进行设计吗? 如果是的话,那么这个地方你来对了。 以太坊社区已经编写了很多资源,介绍 Web3 的设计和研究基础知识。 你将学习一些核心概念,它们可能与你熟悉的其他应用程序设计不同。
-
-需要先对 Web3 有更基本的了解吗? 请浏览[**学习中心**](/learn/)。
-
-## 从用户研究开始 {#start-with-user-research}
-
-有效的设计不仅仅是创建赏心悦目的用户界面。 还涉及到深入了解用户的需求、目标以及驱动因素。 因此,我们强烈建议所有设计师采用一种设计流程,例如[**双钻流程**](https://en.wikipedia.org/wiki/Double_Diamond_(design_process_model)),以确保其设计经过深思熟虑且有意为之。
-
-- [Web3 需要更多用户体验研究人员和设计师](https://blog.akasha.org/akasha-conversations-9-web3-needs-more-ux-researchers-and-designers) - 当前设计成熟度概述
-- [在 Web3 中进行用户体验研究的简明指南](https://uxplanet.org/a-complete-guide-to-ux-research-for-web-3-0-products-d6bead20ebb1) - 研究方法简明指南
-- [如何在 Web3 中进行用户体验决策](https://archive.devcon.org/archive/watch/6/data-empathy-how-to-approach-ux-decisions-in-web3/) - 定量和定性研究简要概述及两者之间的区别(6 分钟视频)
-- [在 Web3 中担任用户体验研究人员](https://medium.com/@georgia.rakusen/what-its-like-being-a-user-researcher-in-web3-6a4bcc096849) - 在 Web3 中担任用户体验研究人员的感受之个人看法
-
-## 针对 Web3 中的研究的调查 {#research-in-web3}
-
-下面是一份已在 Web3 中进行的用户研究的精选清单,可能对设计和产品决策有所裨益,也可为自行进行研究提供灵感。
-
-| 关注领域 | 姓名 |
-|:----------------------------------------------------- |:--------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| 加密货币入门 | [CRADL:加密货币中的用户体验](https://docs.google.com/presentation/d/1s2OPSH5sMJzxRYaJSSRTe8W2iIoZx0PseIV-WeZWD1s/edit?usp=sharing) |
-| 加密货币入门 | [CRADL:加密货币入门](https://docs.google.com/presentation/d/1R9nFuzA-R6SxaGCKhoMbE4Vxe0JxQSTiHXind3LVq_w/edit?usp=sharing) |
-| 加密货币入门 | [比特币用户体验报告](https://github.com/patestevao/BitcoinUX-report/blob/master/report.md) |
-| 加密货币入门 | [ConSensys:2023 年全球 Web3 认知度状况](https://consensys.io/insight-report/web3-and-crypto-global-survey-2023) |
-| 加密货币入门 | [NEAR:加速采用之路](https://drive.google.com/file/d/1VuaQP4QSaQxR5ddQKTMGI0b0rWdP7uGn/view) |
-| 权益质押 | [质押:主要趋势、要点与预测 - Eth Staker](https://lookerstudio.google.com/u/0/reporting/cafcee00-e1af-4148-bae8-442a88ac75fa/page/p_ja2srdhh2c?s=hmbTWDh9hJo) |
-| 权益质押 | [多重应用程序质押](https://github.com/threshold-network/UX-User-Research/blob/main/Multi-App%20Staking%20(MAS)/iterative-user-study/MAS%20Iterative%20User%20Study.pdf) |
-| 去中心化自治组织 | [2022 年去中心化自治组织研究更新:去中心化自治组织构建者需要什么?](https://blog.aragon.org/2022-dao-research-update/) |
-| 去中心化金融 | [2024 年去中心化金融状况](https://stateofdefi.org/)(调查进行中) |
-| 去中心化金融 | [保险池](https://github.com/threshold-network/UX-User-Research/tree/main/Keep%20Coverage%20Pool) |
-| 去中心化金融 | [ConSensys:2022 年去中心化金融用户研究报告](https://cdn2.hubspot.net/hubfs/4795067/ConsenSys%20Codefi-Defi%20User%20ResearchReport.pdf) |
-| 元宇宙 | [元宇宙:用户研究报告](https://www.politico.com/f/?id=00000187-7685-d820-a7e7-7e85d1420000) |
-| 元宇宙 | [野外冒险:对元宇宙用户的研究](https://archive.devcon.org/archive/watch/6/going-on-safari-researching-users-in-the-metaverse/?tab=YouTube)(27 分钟视频) |
-| Ethereum.org 用户体验数据 | [可用性与用户满意度调查仪表板 - Ethereum.org](https://lookerstudio.google.com/reporting/0a189a7c-a890-40db-a5c6-009db52c81c9) |
-
-## Web3 相关设计 {#design-for-web3}
-
-- [Web3 用户体验设计手册](https://web3ux.design/) - 设计 Web3 应用程序实用指南
-- [Web3 设计原则](https://medium.com/@lyricalpolymath/web3-design-principles-f21db2f240c1) - 区块链去中心化应用程序的用户体验规则构架
-- [区块链设计原则](https://medium.com/design-ibm/blockchain-design-principles-599c5c067b6e) - IBM 区块链设计团队的经验教训
-- [Web3 设计模式](https://www.web3designpatterns.io/) - 真实 Web3 产品的精选设计模式库
-- [W3design.io](https://w3design.io/) - 生态系统中不同项目的精选用户界面流程库
-- [Neueux](https://neueux.com/apps) - 具有多种过滤选项的用户界面流程库
-- [Web3 的可用性危机:你需要知道的一切!](https://www.youtube.com/watch?v=oBSXT_6YDzg) - 关于以开发者为中心的项目建设中漏洞的小组讨论(34 分钟视频)
-
-## Web3 设计案例研究 {#design-case-studies}
-
-- [Deep Work Studio](https://deepwork.studio/case-studies/)
-- [加密货币用户体验手册](https://www.cryptouxhandbook.com/)
-- [在 OpenSea 售卖非同质化代币](https://builtformars.com/case-studies/opensea)
-- [钱包用户体验分解:钱包需要怎样改变](https://www.youtube.com/watch?v=oTpuxYj8JWI&ab_channel=ETHDenver)(20 分钟视频)
-
-## 设计奖励 {#bounties}
-
-- [Dework](https://app.dework.xyz/bounties)
-- [Buildbox 黑客马拉松](https://app.buidlbox.io/)
-- [ETHGlobal 骇客松](https://ethglobal.com/)
-
-## 设计去中心化自治组织和社区 {#design-daos-and-communities}
-
-加入专业的社区主导型组织或设计小组,与其他成员讨论设计和研究相关的主题和趋势。
-
-- [Vectordao.com](https://vectordao.com/)
-- [Deepwork.studio](https://www.deepwork.studio/)
-- [Designer-dao.xyz](https://www.designer-dao.xyz/)
-- [We3.co](https://we3.co/)
-- [Openux.xyz](https://openux.xyz/)
-- [开源 Web3 设计](https://www.web3designers.org/)
-
-## 设计体系 {#design-systems}
-
-- [乐观设计](https://www.figma.com/@optimism) (Figma)
-- [Ethereum.org 设计体系](https://www.figma.com/@ethdotorg) (Figma)
-- [Finity,来自 Polygon 的设计体系](https://www.figma.com/community/file/1073921725197233598/finity-design-system) (Figma)
-- [Kleros 设计体系](https://www.figma.com/community/file/999852250110186964/kleros-design-system) (Figma)
-- [安全设计体系](https://www.figma.com/community/file/1337417127407098506/safe-design-system) (Figma)
-- [ENS 设计体系](https://thorin.ens.domains/)
-- [Mirror 设计体系](https://degen-xyz.vercel.app/)
-
-**本页所列文章和项目并非官方认可,**仅供参考。 我们根据我们[上线政策](/contributing/design/adding-design-resources)中的条件添加本页的链接。 如果你希望我们添加某个项目/某篇文章,请在 [GitHub](https://github.com/ethereum/ethereum-org-website/blob/dev/public/content/developers/docs/design-and-ux/index.md) 上编辑本页。
diff --git a/public/content/translations/zh/23) Advanced Docs/developers/docs/mev/index.md b/public/content/translations/zh/23) Advanced Docs/developers/docs/mev/index.md
deleted file mode 100644
index b04017a8e0b..00000000000
--- a/public/content/translations/zh/23) Advanced Docs/developers/docs/mev/index.md
+++ /dev/null
@@ -1,221 +0,0 @@
----
-title: 最大可提取价值 (MEV)
-description: 最大可提取价值 (MEV) 简介
-lang: zh
----
-
-最大可提取价值 (MEV) 是指通过在区块中添加和排除交易并更改区块中的交易顺序,可以从区块生产中提取的超过标准区块奖励和燃料费用的最大值。
-
-## 最大可提取价值 {#maximal-extractable-value}
-
-最大可提取价值首先应用于[工作量证明](/developers/docs/consensus-mechanisms/pow/)背景下,最初称为“矿工可提取价值”。 这是因为在工作量证明中,矿工掌握了交易的包含、排除和顺序。 然而,自从通过[合并](/roadmap/merge)过渡到权益证明以来,验证者一直承担着这些角色的职责,并且挖矿不再是以太坊协议的一部分。 但是,价值提取方法仍然存在,因此现在使用的是术语“最大可提取价值”。
-
-## 前提条件 {#prerequisites}
-
-确保你已熟悉[交易](/developers/docs/transactions/)、[区块](/developers/docs/blocks/)、[权益证明](/developers/docs/consensus-mechanisms/pos)和[燃料](/developers/docs/gas/)。 熟悉 [dapps](/dapps/) 和 [DeFi](/defi/) 也很有帮助。
-
-## 最大可提取价值提取 {#mev-extraction}
-
-从理论上讲,最大可提取价值完全属于验证者,因为他们是唯一可以保证执行有利可图的最大可提取价值机会的一方。 但实际上,大部分 MEV 是由称为“搜索人”的独立网络参与者提取的。 搜索人在区块链数据上运行复杂的算法来检测盈利的 MEV 机会,并且有机器人自动将这些盈利交易提交到网络。
-
-无论如何,验证者确实会获得全部最大可提取价值金额的一部分,因为搜索者愿意支付高昂的燃料费用(这些费用将归验证者所有),以换取将其有利可图的交易纳入一个区块的更高可能性。 假定搜索人在经济上是合理的。搜索人愿意支付的燃料费将是 MEV 的 100% 的金额(因为如果燃料费更高,搜索人将亏钱)。
-
-这样一来,对于一些竞争激烈的最大可提取价值机会,例如[去中心化交易所套利](#mev-examples-dex-arbitrage),搜索者可能不得不将其最大可提取价值总收入的 90% 甚至更多作为燃料费用支付向验证者,因为很多人都想进行同样有利可图的套利交易。 这是因为,确保套利交易运行的唯一方法是提交最高燃料费用的交易。
-
-### 燃料高尔夫 {#mev-extraction-gas-golfing}
-
-这种动态使得“燃料高尔夫”——编程交易——能够使用最少数量的燃料——这成为一种竞争优势。因为它允许搜索人设置较高的燃料价格,同时保持总燃料费不变(因为使用燃料费 = 燃料价格\* 燃料用量)。
-
-一些著名的燃料高尔夫技术包括:使用用长串零开头的地址(如:[0x0000000000C521824EaFf97Eac7B73B084ef9306](https://etherscan.io/address/0x0000000000c521824eaff97eac7b73b084ef9306)),因为他们的需要的存储空间较少(因而燃料也减少);并留下很小 [ERC-20](/developers/docs/standards/tokens/erc-20/) 令牌余额在合约中,因为相比于更新储存插槽,初始化存储插槽需要更多的燃料(余额为 0 时)。 寻找如何更多的减少燃料使用是搜索人在积极研究的一个领域。
-
-### 通用领跑者 {#mev-extraction-generalized-frontrunners}
-
-一些搜索人并没有编写复杂的算法来检测盈利的 MEV 机会,而是运行通用的领跑者。 通用的领跑者是监控内存池以检测盈利交易的机器人。 领跑者将复制潜在的盈利交易代码,用领跑者的地址替换其地址。然后在本地执行交易,重复检查修改后的交易是否给领跑者地址带来利润。 如果交易确实有利可图,领跑者将以更替地址和更高的燃料价格提交修改后的交易。“领跑”原始交易并获取原始搜索人的 MEV。
-
-### Flashbots {#mev-extraction-flashbots}
-
-Flashbots 是一个独立项目,它通过一项服务扩展执行客户端,该服务允许搜索者将最大可提取价值交易提交给验证者,而无需将它们透露给公共内存池。 这就防止了交易被通用领跑者领跑。
-
-## 最大可提取价值相关示例 {#mev-examples}
-
-最大可提取价值以几种方式出现在区块链上。
-
-### 去中心化交易所套利 {#mev-examples-dex-arbitrage}
-
-[去中心化交易所](/glossary/#dex) (DEX) 套利是最简单和最著名的最大可提取价值机会。 因此,它也是竞争最激烈的。
-
-它的作用原理就像这样:如果有两个去中心化交易所以两种不同的价格提供一种代币,有人可以通过一笔原子交易,在价格较低的去中心化交易所购买此代币,并在价格较高的去中心化交易所将其出售。 得益于区块链的机制,这是真实的无风险套利。
-
-[这是一个有利可图的套利交易示例](https://etherscan.io/tx/0x5e1657ef0e9be9bc72efefe59a2528d0d730d478cfc9e6cdd09af9f997bb3ef4),在此交易中,一名搜索者利用以太币/DAI 对在 Uniswap 和 Sushiswap 的不同价格,将 1, 000 个以太币变成了 1,045 个以太币。
-
-### 清算 {#mev-examples-liquidations}
-
-借贷协议清算提供了另一个众所周知的最大可提取价值机会。
-
-Maker 和 Aave 等借贷协议要求用户存入一些抵押品(例如以太币)。 然后将这些存入的抵押品借出给其他用户。
-
-然后,用户可以根据他们的需要从其他人那里借入资产和代币(例如,如果你想在 MakerDAO 治理提案中投票,你可以借用 MKR),最高可达他们所存抵押品的一定比例。 例如,如果借款金额不超过 30%,则将 100 DAI 存入协议的用户最多可以借入价值 30 DAI 的另一种资产。 该协议确定了确切的借款能力百分比。
-
-随着借款人抵押品价值的波动,他们的借款能力也会波动。 如果由于市场波动,借入资产的价值超过其抵押品价值的 30%(同样,准确的百分比由协议确定,协议通常允许任何人清算抵押品,立即偿还贷款人(这类似于传统金融中的 [追加保证金通知](https://www.investopedia.com/terms/m/margincall.asp))。 如果清算,借款人通常必须支付大笔清算费,其中有些是流向变现人的——这是多 MEV 机会出现的地方。
-
-搜索人竞相以最快的速度解析区块链数据,以确定哪些借款人可以被清算,并成为第一个提交清算交易并自行收取清算费的人。
-
-### 夹心交易 {#mev-examples-sandwich-trading}
-
-夹心交易是另外一种 MEV 提取的常用方法。
-
-为了实现夹心交易,搜索人会监视内存池内 DEX 的大额交易。 例如,有人想要在 Uniswap 上使用 DAI 购买 10,000 UNI。 这类大额交易会对 UNI/DAI 对产生重大的影响,可能会显着提高 UNI 相对于 DAI 的价格。
-
-搜索人可以计算该大额交易对 UNI/DAI 对的大致价格影响,并在大额交易_之前_立即执行最优买单,低价买入 UNI,然后在大额交易_之后_立即执行卖单,以大额订单造成的更高价格卖出。
-
-然而,夹心交易风险很高,因为它不是原子交易(不像上文所述的 DEX 套利),而且容易受到 [salmonella 攻击](https://github.com/Defi-Cartel/salmonella)。
-
-### 非同质化代币最大可提取价值 {#mev-examples-nfts}
-
-NFT 领域的 MEV 是一种新兴现象,而且不一定能赚钱。
-
-然而,由于 NFT 交易发生在所有其他以太坊交易共享的同一个区块链上,搜寻者也可以在 NFT 市场上使用与传统 MEV 机会类似的技术。
-
-例如,如果有一个流行的 NFT 下降,并且搜索者想要某个 NFT 或一组NFT,他们可以写一个交易,使他们成为第一个排队购买 NFT 的人,或者他们可以在一个交易中购买整个 NFT 组合。 或者,如果一个 NFT 被[错误地以低价挂出](https://www.theblockcrypto.com/post/113546/mistake-sees-69000-cryptopunk-sold-for-less-than-a-cent),搜寻者就可以抢在其他购买者前面,低价抢购。
-
-NFT MEV的一个显著例子发生在一个搜寻者花费 700 万美元来[购买](https://etherscan.io/address/0x650dCdEB6ecF05aE3CAF30A70966E2F395d5E9E5)价格底线的每一个 Cryptopunk。 一位区块链研究员[在Twitter](https://twitter.com/IvanBogatyy/status/1422232184493121538)上解释了买家是如何与 MEV 供应商合作以保持其购买的秘密。
-
-### 长尾 {#mev-examples-long-tail}
-
-DEX 套利、清算和三明治交易都是非常知名的 MEV 机会,对于新的搜寻者来说不太可能获利。 然而,还有一长串鲜为人知的 MEV 机会(NFT MEV 可以说是这样一个机会)。
-
-刚刚起步的搜索者可能会通过在这个长尾搜索 MEV 而找到更多的成功。 Flashbots 的[MEV 招聘板](https://github.com/flashbots/mev-job-board)列出了一些新兴的机会。
-
-## 最大可提取价值的影响 {#effects-of-mev}
-
-MEV 并不都是坏事 - 以太坊的 MEV 既有积极的作用,也有消极的影响。
-
-### 有利影响 {#effects-of-mev-the-good}
-
-许多 DeFi 项目依靠经济上的理性行为者,来确保其协议的有用性和稳定性。 例如,DEX 套利确保用户为他们的代币获得最好、最正确的价格,而借贷协议在借款人低于抵押率时依靠快速清算来确保贷款人得到回报。
-
-如果没有理性的搜索者寻求和修复经济上的低效率,并利用协议的经济激励,DeFi 协议和一般的 dapps 可能不会像今天这样强大。
-
-### 不利影响 {#effects-of-mev-the-bad}
-
-在应用层,某些形式的 MEV,如夹心交易,会导致用户的体验明显变差。 被夹在中间的用户面临更高的滑点和更差的交易执行。
-
-在网络层,一般的抢跑者和他们经常参与的矿工费拍卖(当两个或更多的先行者通过逐步提高自己交易的矿工费,从而使他们的交易被打包到下一个区块),导致网络拥堵和试图运行正常交易的其他人的高矿工费。
-
-除了区块_内_发生的,MEV 也可能会在区块_间_产生有害的影响。 如果区块中可用的最大可提取价值大幅超过标准区块奖励,验证者可能会被激励重组区块并为自己捕获最大可提取价值,从而导致区块链重组和共识不稳定。
-
-这种区块链重新组织的可能性已经[在以前的比特币区块链上探索过](https://dl.acm.org/doi/10.1145/2976749.2978408)。 随着比特币的区块奖励减半,交易费用占区块奖励的比例越来越大,于是出现了这样的情况:矿工放弃下一个区块的奖励,而用更高的费用重新开采过去的区块,这在经济上变得很合理。 随着 MEV 的发展,以太坊也可能出现同样的情况,威胁到区块链的完整性。
-
-## 最大可提取价值的状况 {#state-of-mev}
-
-2021 年初,MEV 开采量剧增,导致今年前几个月的矿工费价格极高。 Flashbots 的 MEV 中继的出现,降低了普通抢跑者的效力,并将矿工费价格拍卖带出链外,降低了普通用户的矿工费。
-
-虽然许多搜索者仍然从最大可提取价值赚到了很多钱,但随着机会变得越来越广为人知,越来越多的搜索者争夺相同的机会,验证者将获得越来越多的最大可提取价值总收入(因为如最初描述的相同类型的燃料拍卖也在 Flashbots 中发生,尽管是私下进行的,验证者将获得由此产生的燃料收入)。 MEV 也不是以太坊独有的,随着以太坊上的机会变得越来越有竞争力,搜索者正在转移到其他区块链,如 Binance Smart Chain,那里存在与以太坊上类似的 MEV 机会,但竞争更少。
-
-另一方面,从工作量证明过渡到权益证明以及持续不断使用卷叠来拓展以太坊,这些都以某种还不太清楚的方式改变着最大可提取价值的格局。 与工作量证明中的概率模型相比,有保障的区块提议者提前一点儿知晓会如何改变最大可提取价值提取的最新格局,以及当[秘密单一领导人选举](https://ethresear.ch/t/secret-non-single-leader-election/11789)和[分布式验证者技术](/staking/dvt/)实现后会如何颠覆当前格局,目前尚未可知。 同样,当大多数用户活动迁离以太坊并转移至其二层网络卷叠和分片时,存在哪些最大可提取价值机会还有待观察。
-
-## 以太坊权益证明 (PoS) 机制下的最大可提取价值 {#mev-in-ethereum-proof-of-stake}
-
-如上所述,最大可提取价值对用户综合体验和共识层安全性产生了不利影响。 但以太坊向权益证明共识的过渡(称为“合并”)还可能带来与最大可提取价值有关的新风险:
-
-### 验证者中心化 {#validator-centralization}
-
-在合并后的以太坊中,验证者(已经存入 32 个以太币作为保证金)就添加到信标链的区块的有效性达成共识。 由于 32 个以太币可能超出了许多人的能力范围,[加入质押池](/staking/pools/)也许是一种更可行的选择。 然而,[单独质押人](/staking/solo/)合理分布才是一种理想状态,因为它削弱了验证者的中心化并且提升了以太坊的安全性。
-
-不过,最大可提取价值提取被认为能够加速验证者中心化。 部分原因是,由于验证者[提议区块的收益要低于](/roadmap/merge/issuance/#how-the-merge-impacts-ETH-supply)曾经矿工提议区块的收益,自合并以来,最大可提取价值的提取已显著[影响验证者的收益](https://github.com/flashbots/eth2-research/blob/main/notebooks/mev-in-eth2/eth2-mev-calc.ipynb)。
-
-更大的质押池可能会有更多的资源投资进行必要的优化,以抓住最大可提取价值机会。 这些质押池提取的最大可提取价值越多,它们用来提升最大可提取价值提取能力(并增加总收入)的资源就越多,这在本质上形成了[规模经济](https://www.investopedia.com/terms/e/economiesofscale.asp#)。
-
-由于可支配的资源较少,单独质押人可能无法从最大可提取价值机会中获利。 这种情况可能会增加独立验证者加入强大的质押池以提高收益的压力,从而削弱以太坊的去中心化。
-
-### 许可内存池 {#permissioned-mempools}
-
-为了应对三明治攻击和抢先交易攻击,交易者可能会开始与验证者进行链下交易以确保交易隐私。 交易者将潜在的最大可提取价值交易直接发送给验证者而非公共内存池,验证者将交易添加到区块中并与交易者分配利润。
-
-“暗池”扩展了这种模式,是一种只供访问的许可内存池,对愿意支付一定费用的用户开放。 这一趋势将弱化以太坊的无许可和去信任特性,并有可能将区块链转变成一种有利于最高出价者的“付费参与”机制。
-
-许可内存池还会增加上一节中描述的中心化风险。 运行多个验证者的大型池可能会受益于为交易者和用户提供交易隐私,增加其最大可提取价值收入。
-
-在合并后的以太坊中解决这些与最大可提取价值相关的问题是一个核心研究领域。 迄今为止,为了减少最大可提取价值对合并后以太坊去中心化和安全性的负面影响,提出了两种解决方案:**提议者-构建者分离 (PBS)** 和**构建者应用程序接口**。
-
-### 提议者-构建者分离 {#proposer-builder-separation}
-
-在工作量证明和权益证明机制中,构建区块的节点面向参与共识的其他节点提出区块以将其添加到链中。 新区块在另一位矿工在其上构建区块(在工作量证明中)后,或从大多数验证者那里获得认证(在权益证明中)后,成为规范链的一部分。
-
-区块生产者和区块提议者角色的合并造成了大多数前面描述的与最大可提取价值相关的问题。 例如,在时间盗贼攻击中,共识节点受到激励引发区块链重组,以最大限度增加最大可提取价值收入。
-
-[提议者-构建者分离](https://ethresear.ch/t/proposer-block-builder-separation-friendly-fee-market-designs/9725) (PBS) 旨在减轻最大可提取价值的影响,尤其是对共识层的影响。 提议者-构建者分离的主要特点是区块生产者和区块提议者规则的分离。 验证者仍然负责提出区块并投票,但有一类新的特别实体(称为**区块构建者**),其任务是对交易排序和构建区块。
-
-在提议者-构建者分离解决方案下,区块构建者创建一个交易包并出价将其包含在信标链区块中(作为“执行有效负载”)。 选中提出下一个区块的验证者随后查看不同的出价,并选择费用最高的交易包。 提议者-构建者分离实际上创建了一个拍卖市场,让构建者和出售区块空间的验证者谈判。
-
-当前,提议者-构建者分离设计采用一种[提交-披露方案](https://gitcoin.co/blog/commit-reveal-scheme-on-ethereum/),即构建者仅发布对区块内容(区块头)的加密承诺及他们的出价。 在接受成交出价后,提议者创建一个包括区块头的签名区块提案。 区块构建者在看到签名区块提案后可能会发布整个区块体,并且它必须还要从验证者那里获得足够多的[认证](/glossary/#attestation)后才能最终确定区块。
-
-#### 提议者-构建者分离如何减弱最大可提取价值的影响? {#how-does-pbs-curb-mev-impact}
-
-协议内的提议者-构建者分离将最大可提取价值提取从验证者权限范围内移除,降低了最大可提取价值对共识的影响。 相反,运行专用硬件的区块构建者将抓住出现的最大可提取价值机会。
-
-不过,这并没有完全杜绝验证者与最大可提取价值有关的收入,因为构建者必须出高价才能让验证者接受他们的区块。 然而,由于验证者不再直接关注如何尽可能提高最大可提取价值收入,时间盗贼攻击的威胁降低了。
-
-提议者-构建者分离也降低了最大可提取价值中心化的风险。 例如,使用提交-披露方案,构建者就去信任验证者不会窃取最大可提取价值机会或将其暴露给其他构建者。 这就降低了单独质押人从最大可提取价值获益的门槛,否则,构建者将倾向于支持有着链下声誉的大型池并与它们进行链下交易。
-
-同样,验证者不必信任构建者不会隐藏区块体或者发布无效区块,因为付款是无条件的。 即使提出的区块不可用或被其他验证者宣称无效,验证者的费用依然会支付。 在后一种情况下,区块被直接丢弃,迫使区块构建者失去所有交易费和最大可提取价值收入。
-
-### 构建者应用程序接口 {#builder-api}
-
-虽然提议者-构建者分离有望减弱最大可提取价值提取的影响,但实现它需要对共识协议进行更改。 具体而言,需要更新信标链的[分叉选择](/developers/docs/consensus-mechanisms/pos/#fork-choice)规则。 [构建者应用程序接口](https://github.com/ethereum/builder-specs)是一种临时解决方案,旨在有效实现提议者-构建者分离,然而信任假设更高。
-
-构建者应用程序接口是一种改良版的[引擎应用程序接口](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md),共识层客户端使用它向执行层客户端请求执行有效负载。 正如[诚实验证者规范](https://github.com/ethereum/consensus-specs/blob/dev/specs/bellatrix/validator.md)中所述,选中承担区块提出职责的验证者向连接的执行客户端请求交易包,并将交易包添加到提出的信标链区块中。
-
-构建者应用程序接口还充当验证者和执行层客户端之间的中间件;不同之处是,它允许信标链上的验证者从外部实体获取区块(而不是使用执行客户端在本地构建区块)。
-
-下面简述构建者应用程序接口如何运作:
-
-1. 构建者应用程序接口将验证者连接到由运行执行层客户端的区块构建者组成的网络。 与提议者-构建者分离一样,构建者专注于投资资源密集型区块构建活动,并利用不同的策略最大程度提高从最大可提取价值 + 优先费中赚取的收入。
-
-2. 验证者(运行共识层客户端)向构建者网络请求执行有效负载及出价。 构建者的出价将包含执行有效负载标头(对有效负载内容的加密承诺)和向验证者支付的费用。
-
-3. 验证者查看收到的出价并选择费用最高的执行有效负载。 使用构建者应用程序接口,验证者创建一个仅包括其签名和执行有效负载标头的“盲”信标区块提案并发送给构建者。
-
-4. 在看到盲区块提案时,运行构建者应用程序接口的构建者可能会用完整的执行有效负载响应。 这样,验证者可以创建一个“已签名”信标区块并在整个网络中传播。
-
-5. 如果区块构建者未能及时响应,使用构建者应用程序接口的验证者仍有可能在本地构建区块,这样他们就不会错过区块提出奖励。 然而,验证者不能使用当前披露的交易或另一个集合创建另一个区块,因为这相当于_模棱两可_(对同一时隙内的两个区块签名),这是一种可受到惩罚的恶行。
-
-构建者应用程序接口的一个示例实现是 [MEV Boost](https://github.com/flashbots/mev-boost),它是对 [Flashbots 拍卖机制](https://docs.flashbots.net/Flashbots-auction/overview/)的改进,旨在抑制最大可提取价值在以太坊上的负面外部性。 Flashbots 拍卖允许权益证明下的验证者将构建可获利区块的工作外包给专门的参与方,称为**搜索者**。
-
-搜索者寻找利润丰厚的最大可提取价值机会,并向区块提议者发送交易包以及[价格密封出价](https://en.wikipedia.org/wiki/First-price_sealed-bid_auction),以将交易包纳入到区块中。 运行 mev-geth(go-ethereum (Geth) 客户端的分叉版本)的验证者只需要选择利润最高的交易包,并将其纳为新区块的一部分。 为了避免区块提议者(验证者)收到垃圾交易和无效交易,交易包先通过**中继者**验证然后再到达提议者处。
-
-MEV Boost 运行机制与原来的 Flashbots 拍卖相同,但增加了一些针对以太坊向权益证明过渡的新功能。 搜索者仍然寻找有利润的交易以便添加到区块中,但一类新的名为**构建者**的专门参与方负责将交易聚合并打包到区块中。 构建者接受搜索者提供的价格密封出价,并进行优化以找到利润最大的排序。
-
-中继者仍然负责验证交易包并将它们传送给提议者。 然而,MEV Boost 通过存储构建者发送的区块体和验证者发送的区块头,引入了负责提供[数据可用性](/developers/docs/data-availability/)的**托管**。 对于托管,连接到中继的验证者请求可用的执行有效负载,并使用 MEV Boost 的排序算法选择出价 + 最大可提取价值小费最高的有效负载标头。
-
-#### 构建者应用程序接口如何减弱最大可提取价值的影响? {#how-does-builder-api-curb-mev-impact}
-
-构建者应用程序接口的核心优势在于,它有可能让参与者平等获得最大可提取价值机会。 使用提交-披露方案消除了信任假设,降低了寻求从最大可提取价值中获益的验证者的进入门槛。 这应该可以减轻单独质押人加入大型质押池以提高最大可提取价值利润的压力。
-
-构建者应用程序接口的广泛实现将鼓励区块构建者之间进行更激烈的竞争,这会增强抗审查能力。 验证者审查多个构建者的出价时,有意审查一笔或多笔用户交易的构建者必须出价高于所有其他不审查的构建者才能成功。 这大大增加了审查用户的成本并对审查有所限制。
-
-一些项目(如 MEV Boost)将构建者应用程序接口作为整体结构的一部分,旨在为某些参与方(例如试图避免抢先交易攻击或三明治攻击的交易者)提供交易隐私。 这是通过在用户和区块构建者之间提供一条私密通信通道来实现的。 与前面描述的许可内存池不同,这种方法是有益处的,原因如下:
-
-1. 市场上有多种构建者存在,使得审查变得不切实际,这是有利于用户的。 相比之下,基于信任的中心化暗池的存在将权力集中在少数区块构建者手中,增加了审查的可能性。
-
-2. 构建者应用程序接口软件是开源的,允许任何人提供区块构建者服务。 这意味着用户不会被迫使用任何特定的区块构建者,并提高了以太坊的中立和无许可特性。 此外,寻求最大可提取价值的交易者不会由于使用私密交易渠道而无意中促进中心化。
-
-## 相关资源 {#related-resources}
-
-- [Flashbots 文档](https://docs.flashbots.net/)
-- [Flashbots GitHub](https://github.com/flashbots/pm)
-- [MEV-Explore](https://explore.flashbots.net/) - _用于最大可提取价值交易的仪表板和实时交易浏览器_
-- [mevnot.org](https://www.mevboost.org/) - _可提供 MEV-Boost 中继和区块构建者实时统计数据的追踪器_
-
-## 延伸阅读 {#further-reading}
-
-- [什么是 MEV?](https://blog.chain.link/what-is-miner-extractable-value-mev/)
-- [MEV 和我](https://www.paradigm.xyz/2021/02/mev-and-me)
-- [以太坊黑暗森林](https://www.paradigm.xyz/2020/08/ethereum-is-a-dark-forest/)
-- [逃离黑暗森林](https://samczsun.com/escaping-the-dark-forest/)
-- [Flashbos:在 MEV 危机中抢跑](https://medium.com/flashbots/frontrunning-the-mev-crisis-40629a613752)
-- [@bertcmiller's MEV 评论](https://twitter.com/bertcmiller/status/1402665992422047747)
-- [MEV-Boost:直接适用于合并的 Flashbots 架构](https://ethresear.ch/t/mev-boost-merge-ready-flashbots-architecture/11177)
-- [什么是 MEV Boost](https://www.alchemy.com/overviews/mev-boost)
-- [为什么运行 mev-boost?](https://writings.flashbots.net/writings/why-run-mevboost/)
-- [以太坊漫游指南](https://members.delphidigital.io/reports/the-hitchhikers-guide-to-ethereum)
diff --git a/public/content/translations/zh/23) Advanced Docs/developers/docs/oracles/index.md b/public/content/translations/zh/23) Advanced Docs/developers/docs/oracles/index.md
deleted file mode 100644
index f28a5550588..00000000000
--- a/public/content/translations/zh/23) Advanced Docs/developers/docs/oracles/index.md
+++ /dev/null
@@ -1,433 +0,0 @@
----
-title: 预言机
-description: 以太坊智能合约通过预言机访问真实数据,为用户解锁更多用例并提供更大价值。
-lang: zh
----
-
-预言机是产生数据馈送的应用程序,使链下数据来源可供区块链用于智能合约。 由于默认情况下,基于以太坊的智能合约无法访问存储在区块链网络外部的信息,预言机是必不可少的。
-
-赋予智能合约使用链下数据执行的能力,扩展了去中心化应用程序的效用和价值。 例如,链上预测市场依靠预言机提供有关结果的信息,用于验证用户的预测。 假设 Alice 下注 20 个以太币赌谁将成为下一任美国 总统。 在这种情况下,预测市场去中心化应用程序需要预言机来确认选举结果,并判定 Alice 是否有资格获得付款。
-
-## 前提条件 {#prerequisites}
-
-本页面假设读者熟悉以太坊基础知识,例如[节点](/developers/docs/nodes-and-clients/)、[共识机制](/developers/docs/consensus-mechanisms/)和[以太坊虚拟机](/developers/docs/evm/)等。 读者还应该深刻了解[智能合约](/developers/docs/smart-contracts/)和[智能合约分析](/developers/docs/smart-contracts/anatomy/),尤其要了解[事件](/glossary/#events)。
-
-## 什么是区块链预言机? {#what-is-a-blockchain-oracle}
-
-预言机是指获取、验证外部信息(即存储在链下的信息)并将外部信息传送给在区块链上运行的智能合约的应用程序。 预言机除了“拉取”链下数据并在以太坊上广播以外,还可以将信息从区块链“推送”到外部系统,例如,一旦用户通过以太坊交易发送费用,就解锁智能锁。
-
-如果没有预言机,智能合约将只能使用链上数据。
-
-预言机的差别在于数据来源(一种或多种来源)、信任模型(中心化或去中心化)和系统架构(立即读取、发布-订阅和请求-响应)。 我们还可以根据以下因素区分预言机:是否检索外部数据供链上合约使用(输入预言机)、将区块链中的信息发送给链下应用程序(输出预言机)或在链下执行计算任务(计算预言机)。
-
-## 智能合约为什么需要预言机? {#why-do-smart-contracts-need-oracles}
-
-许多开发者将智能合约视为在区块链上特定地址运行的代码。 然而,对[智能合约更为普遍的观点](/smart-contracts/)是,它们是自动执行的软件程序,一旦满足特定条件,就能够执行各方之间的协议 - 因此术语称为“智能合约”。
-
-但是,使用智能合约执行人之间的协议并非易事,因为以太坊是确定性系统。 [确定性系统](https://en.wikipedia.org/wiki/Deterministic_algorithm)是指在给定初始状态和特定输入的情况下始终产生相同结果的系统,这意味着根据输入计算输出的过程不存在随机性或变化。
-
-要实现确定性执行,区块链将节点限制为通过_仅_使用存储在区块链本身中的数据就简单的二进制 (true/false) 问题达成共识。 这类问题的示例包括:
-
-- “帐户所有者(由公钥识别)是否使用配对私钥签署该交易?”
-- “该帐户是否有足够资金支付这笔交易?”
-- “这笔交易在该智能合约中是否有效?”等等。
-
-如果区块链从外部来源(例如现实世界)接收信息,确定性将不可能实现,阻止节点就区块链状态变化的有效性达成一致。 以一个智能合约为例,该合约根据从一个传统价格应用程序接口获得的当前以太币-美元汇率执行交易。 该汇率可能会经常变动(更不用说该应用程序接口可能被弃用或遭到黑客攻击),这意味着执行相同合约代码的节点会得出不同的结果。
-
-对于像以太坊这样在世界各地有数千个节点处理交易的公共区块链,确定性至关重要。 由于没有集中管理机构作为真实性来源,节点需要在进行相同交易后达到相同状态的机制。 节点 A 执行智能合约的代码并得到结果“3”,而节点 B 在运行相同交易后得到“7”,这将打破共识并消除以太坊作为去中心化计算平台的价值。
-
-这种情况还突显了设计区块链从外部来源获取信息的问题。 然而,预言机解决了这一问题,它从链下来源获取信息并存储在区块链上供智能合约使用。 由于存储在链上的信息是不可更改和公开可用的,以太坊节点可以安全地使用预言机导入的链下数据计算状态变化,且不会打破共识。
-
-为此,预言机通常由链上运行的智能合约和一些链下组件构成。 链上合约接收其他智能合约的数据请求,并将这些请求传送给链下组件(称为预言机节点)。 这类预言机节点可以查询数据源—例如使用应用程序接口 (API)—并发送交易将请求的数据存储在智能合约的存储中。
-
-就本质而言,区块链预言机弥合了区块链和外部环境之间的信息缺口,创建了“混合智能合约”。 混合智能合约的工作原理基于链上合约代码和链下基础设施的结合。 去中心化预测市场就是混合智能合约的一个很好的示例。 其他示例可能包括作物保险智能合约,在一组预言机确定某些天气现象已经发生时这些合约做出赔付。
-
-## 什么是预言机问题? {#the-oracle-problem}
-
-预言机解决了一个重要问题,但也带来了一些复杂性,例如:
-
-- 如何验证注入信息是从正确来源提取的或者未被篡改?
-
-- 如何确保这些数据始终可用并且定期更新?
-
-所谓的“预言机问题”显示了使用区块链预言机给智能合约发送输入时出现的问题。 来自预言机的数据必须正确,智能合约才能正确执行。 而且,必须“信赖”预言机运营商提供准确信息,会削弱智能合约的“无需信任性”。
-
-不同的预言机对于预言机问题有着不同的解决方案,稍后将进行探讨。 通常会根据预言机应对以下挑战的能力来评估它们:
-
-1. **正确性**:预言机不应导致智能合约基于无效的链下数据触发状态变化。 预言机必须保证数据的_真实性_与_完整性_。 真实性是指数据是从正确来源获取的,完整性是指数据在发送到链上前保持完好无缺(即数据未修改过)。
-
-2. **可用性**:预言机不应延迟或阻止智能合约执行操作或触发状态变化。 这意味着预言机提供的数据必须_在请求时可用_并且不会出现间断。
-
-3. **激励兼容性**:预言机应激励链下数据提供者向智能合约提交正确的信息。 奖励兼容性包括_可归因性_和_问责性_。 可归因性指将一条外部信息与其提供者联系起来,而问责性则将数据提供者和他们提供的信息联结起来,因此能够根据提供的数据质量奖励或者惩罚数据提供者。
-
-## 区块链预言机服务是如何运作的? {#how-does-a-blockchain-oracle-service-work}
-
-### 用户 {#users}
-
-用户是指需要区块链外部的信息以完成特定操作的实体(即智能合约)。 预言机服务的基本工作流程始于用户向预言机合约发送数据请求。 数据请求通常将回答下列一部分或所有问题:
-
-1. 链下节点可以在哪些来源中查询请求的信息?
-
-2. 报告者如何处理数据来源中的信息并提取有用的数据点?
-
-3. 有多少预言机节点可以参与数据检索?
-
-4. 应如何管理预言机报告中的差异?
-
-5. 在筛选提交并将报告聚合为单个值时应该采用什么方法?
-
-### 预言机合约 {#oracle-contract}
-
-预言机合约是预言机服务的链上部分。 它侦听其他合约的数据请求,将数据查询转送到预言机节点,并将返回的数据广播到客户端合约。 该合约还可以对返回的数据点进行一些计算,以产生聚合值并发送给请求合约。
-
-预言机合约公开了一些函数,客户端合约在发出数据请求时调用它们。 收到新查询后,智能合约将触发一个[日志事件](/developers/docs/smart-contracts/anatomy/#events-and-logs),其中有数据请求详细信息。 这将通知订阅该日志的链下节点(通常使用类似 JSON-RPC `eth_comment` 的命令),让其继续检索日志事件中定义的数据。
-
-下面是 Pedro Costa 提供的[预言机合约示例](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e)。 它是一个简单的预言机服务,可以在其他智能合约发出请求时查询链下应用程序接口,并在区块链上存储请求的信息:
-
-```solidity
-pragma solidity >=0.4.21 <0.6.0;
-
-contract Oracle {
- Request[] requests; //list of requests made to the contract
- uint currentId = 0; //increasing request id
- uint minQuorum = 2; //minimum number of responses to receive before declaring final result
- uint totalOracleCount = 3; // Hardcoded oracle count
-
- // defines a general api request
- struct Request {
- uint id; //request id
- string urlToQuery; //API url
- string attributeToFetch; //json attribute (key) to retrieve in the response
- string agreedValue; //value from key
- mapping(uint => string) answers; //answers provided by the oracles
- mapping(address => uint) quorum; //oracles which will query the answer (1=oracle hasn't voted, 2=oracle has voted)
- }
-
- //event that triggers oracle outside of the blockchain
- event NewRequest (
- uint id,
- string urlToQuery,
- string attributeToFetch
- );
-
- //triggered when there's a consensus on the final result
- event UpdatedRequest (
- uint id,
- string urlToQuery,
- string attributeToFetch,
- string agreedValue
- );
-
- function createRequest (
- string memory _urlToQuery,
- string memory _attributeToFetch
- )
- public
- {
- uint length = requests.push(Request(currentId, _urlToQuery, _attributeToFetch, ""));
- Request storage r = requests[length-1];
-
- // Hardcoded oracles address
- r.quorum[address(0x6c2339b46F41a06f09CA0051ddAD54D1e582bA77)] = 1;
- r.quorum[address(0xb5346CF224c02186606e5f89EACC21eC25398077)] = 1;
- r.quorum[address(0xa2997F1CA363D11a0a35bB1Ac0Ff7849bc13e914)] = 1;
-
- // launch an event to be detected by oracle outside of blockchain
- emit NewRequest (
- currentId,
- _urlToQuery,
- _attributeToFetch
- );
-
- // increase request id
- currentId++;
- }
-
- //called by the oracle to record its answer
- function updateRequest (
- uint _id,
- string memory _valueRetrieved
- ) public {
-
- Request storage currRequest = requests[_id];
-
- //check if oracle is in the list of trusted oracles
- //and if the oracle hasn't voted yet
- if(currRequest.quorum[address(msg.sender)] == 1){
-
- //marking that this address has voted
- currRequest.quorum[msg.sender] = 2;
-
- //iterate through "array" of answers until a position if free and save the retrieved value
- uint tmpI = 0;
- bool found = false;
- while(!found) {
- //find first empty slot
- if(bytes(currRequest.answers[tmpI]).length == 0){
- found = true;
- currRequest.answers[tmpI] = _valueRetrieved;
- }
- tmpI++;
- }
-
- uint currentQuorum = 0;
-
- //iterate through oracle list and check if enough oracles(minimum quorum)
- //have voted the same answer as the current one
- for(uint i = 0; i < totalOracleCount; i++){
- bytes memory a = bytes(currRequest.answers[i]);
- bytes memory b = bytes(_valueRetrieved);
-
- if(keccak256(a) == keccak256(b)){
- currentQuorum++;
- if(currentQuorum >= minQuorum){
- currRequest.agreedValue = _valueRetrieved;
- emit UpdatedRequest (
- currRequest.id,
- currRequest.urlToQuery,
- currRequest.attributeToFetch,
- currRequest.agreedValue
- );
- }
- }
- }
- }
- }
-}
-```
-
-### 预言机节点 {#oracle-nodes}
-
-预言机节点是预言机服务的链下部分。 它从外部来源提取信息,例如托管在第三方服务器上的应用程序接口,并将信息放在链上供智能合约使用。 预言机节点侦听来自链上预言机合约的事件,继而完成日志中描述的任务。
-
-预言机节点的常见任务是,向应用程序接口服务发送 [HTTP GET](https://www.w3schools.com/tags/ref_httpmethods.asp) 请求,解析响应以提取相关数据,设置为区块链可读的输出格式,并通过将输入包含在预言机合约的交易中将其发送到链上 在利用“真实性证明”证明所提交信息的有效性和完整性时,可能也会用到预言机节点,我们稍后会对此进行探讨。
-
-计算预言机也依赖链下节点执行计算任务,但因为燃料成本和区块大小限制,这类计算在链上执行是不切实际的。 例如,预言机节点的任务可能是生成一个可验证的随机数字(例如,用于区块链游戏)。
-
-## 预言机设计模式 {#oracle-design-patterns}
-
-预言机有不同的类型,包括_立即读取_、_发布-订阅_和_请求-响应_,后两者在太坊智能合约中最受欢迎。 在此我们简单描述发布-订阅和请求-响应模型。
-
-### 发布-订阅预言机 {#publish-subscribe-oracles}
-
-这类预言机公开了“数据馈送”,其他合约通常可以通过读取数据馈来获取信息。 在这种情况下,数据可能会频繁变化,因此客户端合约必须侦听预言机存储中数据的更新。 例如,向用户提供最新以太币-美元价格信息的预言机。
-
-### 请求-响应预言机 {#request-response-oracles}
-
-请求-响应设置允许客户端合约请求除发布-订阅预言机所提供数据以外的任意数据。 当数据集太大而无法存储在智能合约的存储中,并且/或者用户在任何时间点只需要一小部分数据时,请求-响应预言机是理想之选。
-
-虽然比发布-订阅预言机复杂,但请求-响应预言机基本上和我们在上一节中描述的一样。 预言机将有一个链上组件,用于接收数据请求并传送给链下节点进行处理。
-
-发起数据查询的用户必须承担从链下来源检索信息的费用。 客户端合约还必须提供资金,用以支付预言机合约通过请求中指定的回调函数返回响应所产生的燃料费用。
-
-## 中心化和去中心化预言机 {#types-of-oracles}
-
-### 中心化预言机 {#centralized-oracles}
-
-中心化预言机由单个实体控制,该实体负责聚合链下信息并按照请求更新预言机合约的数据。 中心化预言机效率高,因为它们依赖单一真实性来源。 在专有数据集由所有者直接发布并有公认签名的情况下,中心化预言机表现更佳。 然而,它们也带来了弊端:
-
-#### 低正确性保障 {#low-correctness-guarantees}
-
-使用中心化预言机时,无法确认提供的信息是否正确。 甚至“信誉良好”的提供者会耍无赖或者遭遇黑客攻击。 如果预言机被破坏,智能合约将基于错误数据执行。
-
-#### 可用性差 {#poor-availability}
-
-中心化预言机无法保证始终向其他智能合约提供链下数据。 如果提供者决定关闭服务或者黑客劫持了预言机的链下组件,智能合约则会面临拒绝服务 (Dos) 攻击的风险。
-
-#### 激励兼容性差 {#poor-incentive-compatibility}
-
-中心化预言机的激励往往设计不善或根本没有激励,鼓励数据提供者发送准确/未更改的信息。 付钱给预言机以保证正确性并不能确保诚信。 随着智能合约控制的价值体量增加,这个问题愈加严重。
-
-### 去中心化预言机 {#decentralized-oracles}
-
-去中心化预言机旨在通过消除单点故障来打破中性化预言机的局限性。 去中心化预言机服务由对等网络中的多个参与者组成,这些参与者就链下数据达成共识,然后再将数据发送到智能合约。
-
-理想情况下,去中心化预言机应该是无需许可、去信任且不受中心机构管理;在现实中,预言机存在着不同程度的去中心化。 有半去中心化的预言机网络,任何人都可以参与其中,但由“所有者“根据以往表现批准和移除节点。 也存在着完全去中心化的预言机网络:这些网络通常作为独立区块链运行,并且已经确定了协调节点和惩罚不良行为的共识机制。
-
-使用去中心化预言机有以下好处:
-
-### 高正确性保障 {#high-correctness-guarantees}
-
-去中心化预言机尝试使用不同的方法实现数据的正确性。 其中包括使用证明来证明返回信息的真实性和完整性,以及要求多个实体就链下数据的有效性集体达成一致。
-
-#### 真实性证明 {#authenticity-proofs}
-
-真实性证明是一种加密机制,支持对从外部来源检索的信息进行独立验证。 这些证明可以验证信息的来源,并在检索后发现对数据可能进行的更改。
-
-真实性证明的示例包括:
-
-**传输层安全性 (TLS) 证明**:预言机节点通常使用基于传输层安全性 (TLS) 协议的安全 HTTP 连接从外部数据源检索数据。 一些去中心化预言机使用真实性证明验证传输层安全性会话(即,确认节点和特定服务器之间的信息交换),并确认会话内容未被改动。
-
-**可信执行环境 (TEE) 认证**:[可信执行环境](https://en.wikipedia.org/wiki/Trusted_execution_environment) (TEE) 是一种沙盒计算环境,它与主机系统的操作进程隔离。 可信执行环境确保在计算环境中存储/使用的任何应用代码或数据都保持完整性、保密性和不可变性。 用户还可以生成一个认证,证明应用程序实例正在可信执行环境中运行。
-
-某些类别的去中心化预言机要求预言机节点运营者提供可信执行环境认证。 这向用户证实,节点运营者在可信执行环境中运行预言机客户端的实例。 可信执行环境防止外部进程更改或读取应用程序的代码和数据,因此,这些认证证明预言机节点保持了信息的完整性和保密性。
-
-#### 基于共识的信息验证 {#consensus-based-validation-of-information}
-
-为智能合约提供数据时,中心化预言机依靠单一真实性来源,因此有可能发布不准确的信息。 去中心化预言机依靠多个预言机节点查询链下信息,解决了这个问题。 通过对多个来源的数据进行比较,去中心化预言机降低了将无效信息传递到链上合约的风险。
-
-然而,去中心化预言机必须处理从多个链下来源检索的信息中的差异。 为了尽量减少信息差异并确保传送给预言机合约的数据反映了预言机节点的集体看法,去中心化预言机采用了下列机制:
-
-##### 对数据的准确性进行投票/质押
-
-一些去中心化预言机网络要求参与者对数据查询答案的准确性进行投票或质押(例如,“谁赢得了 2020 年美国大选?”) (例如,“谁赢得了 2020 年美国大选?”) 然后,聚合协议聚合投票和质押,并将多数参与者支持的答案作为有效答案。
-
-如果节点的答案不同于多数答案,将对其进行惩罚,即将其代币分发给提供更正确值的其他节点。 强制节点在提供数据之前提供保证金将激励节点做出诚实的响应,因为假定节点是理性的经济活动参与者,意在最大限度地增加回报。
-
-质押/投票还能保护去中心化预言机免受[女巫攻击](/glossary/#sybil-attack),在这种攻击中,恶意参与者创建多个身份来利用共识系统。 然而,质押机制不能防止“揩油行为”(预言机节点从其他节点复制信息)和“懒散验证”(预言机节点随大流而不亲自验证信息)。
-
-##### 谢林点机制
-
-[谢林点](https://en.wikipedia.org/wiki/Focal_point_(game_theory))是一个博弈论概念,它假设在缺乏任何沟通的情况下,多个实体总是默认对一个问题选择共同解决方案。 谢林点机制常用于去中心化预言机网络,使节点对数据请求的应答达成共识。
-
-这方面的一个早期想法是[谢林币](https://blog.ethereum.org/2014/03/28/schellingcoin-a-minimal-trust-universal-data-feed/),这是一种提议的数据馈送,参与者提交“标量”问题的答案(这些问题的答案由数量描述,例如“以太币的价格是多少?”)及存款。 提供的值在第 25 和第 75 [百分位](https://en.wikipedia.org/wiki/Percentile)之间的用户将得到奖励,而提供的值大幅偏离中值的用户将受到惩罚。
-
-虽然谢林币目前已不存在,但许多去中心化预言机—特别是 [Maker 协议预言机](https://docs.makerdao.com/smart-contract-modules/oracle-module)—仍使用谢林点机制来提高预言机数据的准确性。 每个 Maker 预言机均由提交抵押品资产的市场价格的链下对等节点网络(“中继者”和“馈送者”)和链上“中值器”合约组成,后者计算所有提供价值的中值。 规定的延迟期结束后,该中值成为相关资产的新参考价格。
-
-使用谢林点机制的其他预言机示例包括 [Chainlink 链下报告](https://docs.chain.link/docs/off-chain-reporting/)和 [Witnet](https://witnet.io/)。 在这两种系统中,对等网络中的预言机节点的答复聚合成一个单一聚合值,如平均值或中值。 根据其答复与聚合值的一致或偏离程度奖励或惩罚节点。
-
-谢林点机制具有吸引力,因为这类机制能够最大限度地减少对链上的影响(只需要发送一笔交易)同时又能保证去中心化。 后者是可行的,因为节点必须批准已提交答复的列表,然后再将答复输入生成平均值/中值的算法。
-
-### 可用性 {#availability}
-
-去中心化预言机服务确保链下数据对智能合约的高可用性。 高可用性是通过对链下信息来源和负责将信息传输到链上的节点同时去中心化实现的。
-
-这确保了容错,因为预言机合约能够依靠多个节点(这些节点也依靠多个数据源)执行其他合约发出的查询。 在信息来源_和_节点运营商层面实现去中心化至关重要—提供从同一来源检索的信息的预言机节点网络将遇到与中心化预言机相同的问题。
-
-基于质押的预言机也可以对未能快速响应数据请求的节点运营商进行惩罚。 这极大地激励了预言机节点投资于容错基础设施并及时提供数据。
-
-### 激励兼容性好 {#good-incentive-compatibility}
-
-去中心化预言机采纳了不同的激励设计,避免预言机节点中出现[拜占庭](https://en.wikipedia.org/wiki/Byzantine_fault)行为。 具体而言,它们实现了_可归因性_和_问责性_:
-
-1. 通常,要求去中心化预言机节点对它们为了响应数据请求而提供的数据签名。 这些信息有助于评估预言机节点的历史表现,让用户在发出数据请求时筛选掉不可靠的预言机节点。 例如 Witnet 的[算法信誉系统](https://docs.witnet.io/intro/about/architecture#algorithmic-reputation-system)。
-
-2. 如前所述,去中心化预言机可能要求节点对其提交数据的真实性的可信度进行质押。 如果声明得到证实,这笔质押可以连同诚信服务的奖励一起返还。 但是如果信息不正确,也可以对节点进行惩罚,这就提供了一定程度的问责性。
-
-## 预言机在智能合约中的应用 {#applications-of-oracles-in-smart-contracts}
-
-以下是以太坊中预言机的常见用例:
-
-### 检索金融数据 {#retrieving-financial-data}
-
-[去中心化金融](/defi/) (DeFi) 应用程序允许点对点贷款、借款和资产交易。 通常,这需要获取不同的金融信息,包括汇率数据(用于计算加密货币的法币价值或比较代币的价格)和资本市场数据(用于计算代币化资产的价值,如黄金或美元)。
-
-例如,一个去中心化金融贷款协议需要查询作为抵押品存储的资产(例如以太币)的当前市场价格。 这样,合约可以确定抵押品资产的价值,并确定它能从系统中借出多少钱。
-
-去中心化金融中热门的“价格预言机”(常用名称)包括 Chainlink Price Feeds、Compound Protocol 的[开放式喂价工具](https://compound.finance/docs/prices)、Uniswap 的[时间加权平均价格 (TWAP) ](https://docs.uniswap.org/contracts/v2/concepts/core-concepts/oracles)以及 [Maker 预言机](https://docs.makerdao.com/smart-contract-modules/oracle-module)。
-
-在将这些价格预言机整合到项目中之前,构建者应该了解它们附带的注意事项。 本[文](https://blog.openzeppelin.com/secure-smart-contract-guidelines-the-dangers-of-price-oracles/)详细分析了计划使用任何上述价格预言机时要考虑的因素。
-
-下面是一个示例,说明如何使用 Chainlink 喂价工具从智能合约中检索最新以太币价格:
-
-```solidity
-pragma solidity ^0.6.7;
-
-import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol";
-
-contract PriceConsumerV3 {
-
- AggregatorV3Interface internal priceFeed;
-
- /**
- * Network: Kovan
- * Aggregator: ETH/USD
- * Address: 0x9326BFA02ADD2366b30bacB125260Af641031331
- */
- constructor() public {
- priceFeed = AggregatorV3Interface(0x9326BFA02ADD2366b30bacB125260Af641031331);
- }
-
- /**
- * Returns the latest price
- */
- function getLatestPrice() public view returns (int) {
- (
- uint80 roundID,
- int price,
- uint startedAt,
- uint timeStamp,
- uint80 answeredInRound
- ) = priceFeed.latestRoundData();
- return price;
- }
-}
-```
-
-### 生成可验证的随机性 {#generating-verifiable-randomness}
-
-某些区块链应用程序(如基于区块链的游戏或彩票方案),需要高度的不可预测性和随机性才能有效工作。 然而,区块链的确定性执行消除了任何随机性。
-
-原始方法是采用伪随机加密函数(例如 `blockhash`),但是它们可被[矿工操纵](https://ethereum.stackexchange.com/questions/3140/risk-of-using-blockhash-other-miners-preventing-attack#:~:text=So%20while%20the%20miners%20can,to%20one%20of%20the%20players.),对工作量证明算法进行求解。 同样,以太坊[切换到权益证明](/roadmap/merge/)意味着开发者不再能够依赖 `blockhash` 得到链上随机性。 信标链的 [RANDAO 机制](https://eth2book.info/altair/part2/building_blocks/randomness)为随机性来源提供了替代选择。
-
-可以在链下生成随机值并发送到链上,但这样做对用户有很高的信任要求。 他们必须相信值确实是通过不可预测的机制产生的,并且未在传输过程中遭到改动。
-
-为链下计算设计的预言机解决了这一问题,它们安全地生成链下随机结果并连同证实该过程不可预测性的加密证明一起在链上广播。 [Chainlink VRF](https://docs.chain.link/docs/chainlink-vrf/)(可验证随机函数)便是一个示例,它是一个可证明公平且防篡改的随机数生成器 (RNG),用于为依靠不可预测结果的应用程序构建可靠的智能合约。 另一个示例是 [API3 QRNG](https://docs.api3.org/explore/qrng/),它提供量子随机数生成器 (QRNG),是基于量子现象的 Web3 量子随机数生成的公共方法,由澳大利亚国立大学 (ANU) 提供。
-
-### 获取事件结果 {#getting-outcomes-for-events}
-
-有了预言机,创建响应真实事件的智能合约并非难事。 预言机服务允许合约通过链下组件连接到外部应用程序接口并使用来自这些数据源的信息,实现了这一点。 例如,前面介绍的预测去中心化应用程序可能会请求预言机返回可信链下来源(如美联社)提供的选举结果。
-
-使用预言机检索基于真实结果的数据,可以实现其他新颖的用例;例如,去中心化保险产品需要关于天气、灾害等的准确信息才能有效地工作。
-
-### 智能合约自动化 {#automating-smart-contracts}
-
-智能合约不会自动运行;相反,外部帐户 (EOA) 或另一个合约帐户必须触发正确的函数来执行合约代码。 大多数情况下,合约的大部分函数是公共函数,可由外部帐户和其他合约调用。
-
-但合约中也有其他合约无法访问的_私有函数_,然而它们对于去中心化应用程序的整体功能至关重要。 示例包括定期为用户铸造新非同质化代币的 `mintERC721Token()` 函数、在预测市场中付款的函数或在去中心化交易所中解锁质押代币的函数。
-
-开发者需要每隔一段时间触发这些函数,以保持应用程序平稳运行。 然而,这可能导致开发者在普通任务上浪费更多时间,它是智能合约自动执行吸引人的原因。
-
-一些去中心化预言机网络提供自动化服务,允许链下预言机节点根据用户定义的参数触发智能合约函数。 通常,这需要向预言机服务“注册”目标合约,提供资金支付预言机运营商,并指定触发合约的条件或时间。
-
-Chainlink 的 [Keeper 网络](https://chain.link/keepers)提供智能合约方案,以信任最小化和去中心化的方式将常规维护工作外包。 阅读官方 [Keeper 文档](https://docs.chain.link/docs/chainlink-keepers/introduction/),了解有关如何使合约与 Keeper 兼容以及如何使用 Upkeep 服务的信息。
-
-## 如何使用区块链预言机 {#use-blockchain-oracles}
-
-许多预言机应用程序都可以集成到以太坊去中心化应用程序中,如下所示:
-
-**[Chainlink](https://chain.link/)** - _Chainlink 去中心化预言机网络提供防篡改的输入、输出和计算,支持任何区块链上的高级智能合约。_
-
-**[Chronicle](https://chroniclelabs.org/)** - _Chronicle 通过开发真正可扩展、经济高效、去中心化且可验证的预言机来克服当前链上数据传输面临的局限。_
-
-**[Witnet](https://witnet.io/)** - _Witnet 是一种无需许可、去中心化和抗审查的预言机,帮助智能合约对真实事件做出响应,提供强大的加密经济保障。_
-
-**[UMA 预言机](https://uma.xyz)** - _UMA 的乐观预言机允许智能合约快速接收不同应用程序的任何类型的数据,包括保险、金融衍生品和预测市场。_
-
-**[Tellor](https://tellor.io/)** - _Tellor 是一种透明的、无需许可的预言机协议,可以让智能合约在需要时轻松获取任何数据。_
-
-**[Band Protocol](https://bandprotocol.com/)** - _Band Protocol 是一个跨链数据预言机平台,它将真实数据和应用程序接口聚合并连接到智能合约。_
-
-**[Paralink](https://paralink.network/)** - _Paralink 为运行在以太坊和其他热门区块链上的智能合约提供一个开源的去中心化预言机平台。_
-
-**[Pyth 网络](https://pyth.network/)** - _Pyth 网络是第一方金融预言机网络,旨在在防篡改、去中心化和自我可持续的环境中在链上发布连续的真实数据。_
-
-**[API3 去中心化自治组织](https://www.api3.org/)** - _API3 去中心化自治组织提供第一方预言机解决方案,在智能合约的去中心化解决方案中实现更高的来源透明度、安全性和可扩展性_。
-
-**[Supra](https://supra.com/)** - 跨链解决方案的垂直集成工具包,可互连所有区块链,不论公共区块链(一层网络和二层网络)还是私人区块链(企业),提供可用于链上和链下用例的去中心化预言机价格源。
-
-## 延伸阅读 {#further-reading}
-
-**文章**
-
-- [什么是区块链预言机?](https://chain.link/education/blockchain-oracles) — _Chainlink_
-- [什么是区块链预言机?](https://betterprogramming.pub/what-is-a-blockchain-oracle-f5ccab8dbd72) — _Patrick Collins_
-- [去中心化预言机:综述](https://medium.com/fabric-ventures/decentralised-oracles-a-comprehensive-overview-d3168b9a8841) — _Julien Thevenard_
-- [在以太坊实现区块链预言机](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e) – _Pedro Costa_
-- [为什么智能合约无法调用应用程序接口?](https://ethereum.stackexchange.com/questions/301/why-cant-contracts-make-api-calls) — _StackExchange_
-- [我们为什么需要去中心化预言机](https://newsletter.banklesshq.com/p/why-we-need-decentralized-oracles) — _Bankless_
-- [那么,你想要使用价格预言机](https://samczsun.com/so-you-want-to-use-a-price-oracle/) — _samczsun_
-
-**视频**
-
-- [预言机和区块链实用程序拓展](https://youtu.be/BVUZpWa8vpw) — _Real Vision Finance_
-- [第一方与第三方预言机的区别](https://blockchainoraclesummit.io/first-party-vs-third-party-oracles/) - _Blockchain Oracle Summit_
-
-**教程**
-
-- [如何通过 Solidity 语言在以太坊上提取当前价格](https://blog.chain.link/fetch-current-crypto-price-data-solidity/) — _Chainlink_
-- [使用预言机数据](https://docs.chroniclelabs.org/Developers/tutorials/Remix) - _Chronicle_
-
-**示例项目**
-
-- [使用 Solidity 语言为以太坊编写的完整 Chainlink 启动项目y](https://github.com/hackbg/chainlink-fullstack) — _HackBG_
diff --git a/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/index.md b/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/index.md
deleted file mode 100644
index a21d4f1bed6..00000000000
--- a/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/index.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-title: 以太坊开发标准
-description:
-lang: zh
-incomplete: true
----
-
-## 标准概述 {#standards-overview}
-
-以太坊社区已经采用了许多标准,这有助于在项目的不同实现中保持互操作性(例如[以太坊客户端](/developers/docs/nodes-and-clients/)和钱包),并确保智能合约和去中心化应用程序保持可组合性。
-
-通常,标准作为[以太坊改进提案](/eips/) (EIP) 提出,由社区成员通过[标准流程](https://eips.ethereum.org/EIPS/eip-1)讨论确定。
-
-- [以太坊改进提案介绍](/eips/)
-- [EIP 列表](https://eips.ethereum.org/)
-- [EIP GitHub 存储库](https://github.com/ethereum/EIPs)
-- [EIP 讨论板](https://ethereum-magicians.org/c/eips)
-- [以太坊治理简介](/governance/)
-- [以太坊治理概述](https://web.archive.org/web/20201107234050/https://blog.bmannconsulting.com/ethereum-governance/) _2019 年 3 月 31 日 - Boris Mann_
-- [以太坊协议开发治理和网络升级协调](https://hudsonjameson.com/2020-03-23-ethereum-protocol-development-governance-and-network-upgrade-coordination/) _2020 年 3 月 23 日 - Hudson Jameson_
-- [以太坊核心开发者会议播放列表](https://www.youtube.com/@EthereumProtocol)_(YouTube 播放列表)_
-
-## 标准的类型 {#types-of-standards}
-
-EIP 有 3 种类型:
-
-- 标准方向:描述影响大多数或所有以太坊实现的任何更改
-- [元方向](https://eips.ethereum.org/meta):描述围绕以太坊的流程或提议对流程的更改
-- [信息方向](https://eips.ethereum.org/informational):描述以太坊设计问题或向以太坊社区提供一般指南或信息
-
-此外,标准跟踪细分为 4 类:
-
-- [核心](https://eips.ethereum.org/core):需要共识分叉的改进
-- [网络](https://eips.ethereum.org/networking):围绕 devp2p 和轻量级以太坊 Subprotocol 的改进,以及对 Whisper 和 Swarm 的网络协议规范提议的改进。
-- [接口](https://eips.ethereum.org/interface):围绕客户端应用程序接口/远程过程调用规范和标准以及某些语言级标准(如方法名称和合约应用程序二进制接口)的改进。
-- [以太坊意见征求](https://eips.ethereum.org/erc):应用程序级标准和约定
-
-关于这些不同类型和类别的更多详细信息,请参见 [EIP-1](https://eips.ethereum.org/EIPS/eip-1#eip-types)
-
-### 代币标准 {#token-standards}
-
-- [ERC-20](/developers/docs/standards/tokens/erc-20/) - 同质化(可互换)代币的标准接口,比如投票代币、质押代币或虚拟货币。
- - [ERC-223](/developers/docs/standards/tokens/erc-223/) - 一个同质化代币标准,使代币的行为与以太币行为相同,并支持在接收方处理代币转账。
- - [ERC-1363](https://eips.ethereum.org/EIPS/eip-1363) - 为 ERC-20 代币定义一个代币接口,支持在转账函数或 transferFrom 函数后执行接收者代码,或在批准后执行消费者代码。
-- [ERC-721](/developers/docs/standards/tokens/erc-721/) - 非同质化代币的标准接口,比如艺术作品或歌曲的契约。
- - [ERC-2309](https://eips.ethereum.org/EIPS/eip-2309) - 使用连续的代币标识符创建/转移一个或多个非同质化代币时,触发的标准事件。
- - [ERC-4400](https://eips.ethereum.org/EIPS/eip-4400) - EIP-721 消费者角色的接口扩展。
- - [ERC-4907](https://eips.ethereum.org/EIPS/eip-4907) - 为 ERC-721 代币添加一个具有受限权限的限时角色。
-- [ERC-777](/developers/docs/standards/tokens/erc-777/) - **(不推荐)**在 ERC-20 基础上改进的代币标准。
-- [ERC-1155](/developers/docs/standards/tokens/erc-1155/) - 可包含同质化和非同质化资产的代币标准。
-- [ERC-4626](/developers/docs/standards/tokens/erc-4626/) - 一个代币化的资金库标准,旨在优化和统一收益资金库的技术参数。
-
-了解更多关于[代币标准](/developers/docs/standards/tokens/)的信息。
-
-## 延伸阅读 {#further-reading}
-
-- [以太坊改进提案 (EIP)](/eips/)
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
diff --git a/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-1155/index.md b/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-1155/index.md
deleted file mode 100644
index 4fcb94188bc..00000000000
--- a/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-1155/index.md
+++ /dev/null
@@ -1,146 +0,0 @@
----
-title: ERC-1155 多代币标准
-description:
-lang: zh
----
-
-## 介绍 {#introduction}
-
-用于多种代币管理的合约标准接口。 单个部署的合约可以包括同质化代币、非同质化代币或其他配置(如半同质化代币)的任何组合。
-
-**多代币标准是什么?**
-
-它的目的很单纯,就是创建一个智能合约接口,可以代表和控制任何数量的同质化和非同质化代币类型。 这样一来,ERC-1155 代币就具有与 [ERC-20](/developers/docs/standards/tokens/erc-20/) 和 [ERC-721](/developers/docs/standards/tokens/erc-721/) 代币相同的功能,甚至可以同时使用这两者的功能。 它改进了 ERC-20 和 ERC-721 标准的功能,提升了效率并纠正了实现中的明显错误。
-
-[EIP-1155](https://eips.ethereum.org/EIPS/eip-1155) 中对 ERC-1155 代币进行了全面的描述。
-
-## 前提条件 {#prerequisites}
-
-为了更好地理解这一页面的内容,我们建议你先阅读[代币标准](/developers/docs/standards/tokens/)、[ERC-20](/developers/docs/standards/tokens/erc-20/) 和 [ERC-721](/developers/docs/standards/tokens/erc-721/)。
-
-## ERC-1155 的功能和特点: {#body}
-
-- [批量传输](#batch_transfers):通过一次合约调用传输多种资产。
-- [批量余额](#batch_balance):在一次调用中获取多个资产的余额。
-- [批量审批](#batch_approval):审批同一地址的所有代币。
-- [Hook](#recieve_hook):接收代币的钩子函数。
-- [支持非同质化代币](#nft_support):如果供应量仅为 1,将其作为非同质化代币处理。
-- [安全转账规则](#safe_transfer_rule):安全转账规则集。
-
-### 批量传输 {#batch-transfers}
-
-批量传输与常规 ERC-20 传输非常相似。 让我们看看常规 ERC-20 `transferFrom` 函数:
-
-```solidity
-// ERC-20
-function transferFrom(address from, address to, uint256 value) external returns (bool);
-
-// ERC-1155
-function safeBatchTransferFrom(
- address _from,
- address _to,
- uint256[] calldata _ids,
- uint256[] calldata _values,
- bytes calldata _data
-) external;
-```
-
-ERC-1155 中唯一的区别是我们将值作为数组传递,同时也传递了 ids 数组。 例如,给出 `ids=[3, 6, 13]` 和 `values=[100, 200, 5]`,传输结果将是
-
-1. 将 id 3 的 100 个代币从 `_from` 传输到 `_to`。
-2. 将 id 6 的 200 个代币从 `_from` 传输到 `_to`。
-3. 将 id 13 的 5 个代币从 `_from` 转移到 `_to`。
-
-在 ERC-1155 中,我们只有 `transferFrom`,没有 `transfer`。 要像常规的 `transfer`一样使用它,只需将 "from" 地址设为调用该函数的地址。
-
-### 批量余额 {#batch-balance}
-
-相应的 ERC-20 `balanceOf` 调用同样具有支持批处理的相应函数。 作为对比,这是 ERC-20 版本:
-
-```solidity
-// ERC-20
-function balanceOf(address owner) external view returns (uint256);
-
-// ERC-1155
-function balanceOfBatch(
- address[] calldata _owners,
- uint256[] calldata _ids
-) external view returns (uint256[] memory);
-```
-
-调用余额查询更简单的是,我们可以在单次调用中获取多个余额。 参数中传递所有者帐户数组和代币的 id 数组。
-
-例如,对于给出的 `_ids=[3, 6, 13]` 和 `_owners=[0xbeef..., 0x1337..., 0x1111...]`,返回值将为:
-
-```solidity
-[
- balanceOf(0xbeef...),
- balanceOf(0x1337...),
- balanceOf(0x1111...)
-]
-```
-
-### 批量审批 {#batch-approval}
-
-```solidity
-// ERC-1155
-function setApprovalForAll(
- address _operator,
- bool _approved
-) external;
-
-function isApprovedForAll(
- address _owner,
- address _operator
-) external view returns (bool);
-```
-
-审批过程与 ERC-20 略有不同。 这里不是批准特定金额,而是通过 `setApprovalForAll` 函数设置操作帐户为已批准或未批准。
-
-查看当前的审批状态可以通过 `isApprovedForAll` 完成。 如你所见,要么全部批准,要么不批准。 不能定义要批准代币的数量,甚至代币类型。
-
-这是考虑到简洁性而故意设计的。 你只能批准一个地址的所有代币。
-
-### 接收钩子 {#receive-hook}
-
-```solidity
-function onERC1155BatchReceived(
- address _operator,
- address _from,
- uint256[] calldata _ids,
- uint256[] calldata _values,
- bytes calldata _data
-) external returns(bytes4);
-```
-
-基于 [EIP-165](https://eips.ethereum.org/EIPS/eip-165) 的协议支持,ERC-1155 只支持智能合约的接收钩子函数。 钩子函数必须返回一个事先预定义的 4 字节值,这个值被指定为:
-
-```solidity
-bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))
-```
-
-当接收合约返回这一值时,意味着合约知道如何处理 ERC-1155 代币并接受转账。 太好了,代币不会再卡在合约中了!
-
-### 支持非同质化代币 {#nft-support}
-
-当供应量仅为 1 时,代币本质上就是一个非同质化的代币 (NFT)。 按照 ERC-721 的标准,你可以定义一个元数据网址。 客户端可以读取并修改网址,请参阅[这里](https://eips.ethereum.org/EIPS/eip-1155#metadata)。
-
-### 安全转账规则 {#safe-transfer-rule}
-
-在前面的解释中,我们已经提到过一些安全转账规则。 现在我们来看一下最重要的规则:
-
-1. 调用者必须获得批准才能从 `_from` 的帐户地址消费代币,或者调用者帐户地址必须与 `_from` 的帐户地址相同。
-2. 在以下情况下,转账调用将回退
- 1. `_to` 地址为 0;
- 2. `_ids` 的长度与 `_values` 的长度不同;
- 3. `_ids` 中代币持有者的任何余额低于发送给接收者的相应 `_value` 金额。
- 4. 出现任何其他错误。
-
-_注意_:包括钩子在内的所有批处理函数也均作为非批处理的版本存在。 这样做是为了提高燃料效率,考虑到只转移一种资产可能仍然是最常用的方式。 简洁起见,我们没有在这里介绍这些非批处理的版本,包括安全转账规则。 名称是相同的,只需移除 'Batch'。
-
-## 延伸阅读 {#further-reading}
-
-- [EIP-1155:多代币标准](https://eips.ethereum.org/EIPS/eip-1155)
-- [ERC-1155:OpenZeppelin 文档](https://docs.openzeppelin.com/contracts/3.x/erc1155)
-- [ERC-1155: GitHub Repo](https://github.com/enjin/erc-1155)
-- [Alchemy NFT API](https://docs.alchemy.com/alchemy/enhanced-apis/nft-api)
diff --git a/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-20/index.md b/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-20/index.md
deleted file mode 100644
index eb243039f57..00000000000
--- a/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-20/index.md
+++ /dev/null
@@ -1,172 +0,0 @@
----
-title: ERC-20 代币标准
-description:
-lang: zh
----
-
-## 介绍 {#introduction}
-
-**什么叫做代币?**
-
-代币可以在以太坊中表示任何东西:
-
-- 在线平台中的信誉积分
-- 游戏中一个角色的技能
-- 金融资产类似于公司股份的资产
-- 像美元一样的法定货币
-- 一盎司黄金
-- 及更多...
-
-以太坊的这种强大特点必须以强有力的标准来处理,对吗? 这正是 ERC-20 发挥其作用的地方! 此标准允许开发者构建可与其他产品和服务互相操作的代币应用程序。 ERC-20 标准还被用于为[以太币](/glossary/#ether)提供附加功能。
-
-**什么是 ERC-20?**
-
-ERC-20 提出了一个同质化代币的标准,换句话说,它们具有一种属性,使得每个代币都与另一个代币(在类型和价值上)完全相同。 例如,一个 ERC-20 代币就像以太币一样,意味着一个代币会并永远会与其他代币一样。
-
-## 前提条件 {#prerequisites}
-
-- [帐户](/developers/docs/accounts)
-- [智能合约](/developers/docs/smart-contracts/)
-- [代币标准](/developers/docs/standards/tokens/)
-
-## 正文 {#body}
-
-ERC-20(以太坊意见征求 20)由 Fabian Vogelsteller 提出于 2015 年 11 月。这是一个能实现智能合约中代币的应用程序接口标准。
-
-ERC-20 的功能示例包括:
-
-- 将代币从一个帐户转到另一个帐户
-- 获取帐户的当前代币余额
-- 获取网络上可用代币的总供应量
-- 批准一个帐户中一定的代币金额由第三方帐户使用
-
-如果智能合约实施了下列方法和事件,它可以被称为 ERC-20 代币合约,一旦部署,将负责跟踪以太坊上创建的代币。
-
-来自 [EIP-20](https://eips.ethereum.org/EIPS/eip-20):
-
-### 方法 {#methods}
-
-```solidity
-function name() public view returns (string)
-function symbol() public view returns (string)
-function decimals() public view returns (uint8)
-function totalSupply() public view returns (uint256)
-function balanceOf(address _owner) public view returns (uint256 balance)
-function transfer(address _to, uint256 _value) public returns (bool success)
-function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)
-function approve(address _spender, uint256 _value) public returns (bool success)
-function allowance(address _owner, address _spender) public view returns (uint256 remaining)
-```
-
-### 事件 {#events}
-
-```solidity
-event Transfer(address indexed _from, address indexed _to, uint256 _value)
-event Approval(address indexed _owner, address indexed _spender, uint256 _value)
-```
-
-### 示例 {#web3py-example}
-
-让我们看看如此重要的一个标准是如何使我们能够简单地检查以太坊上的任何 ERC-20 代币合约。 我们只需要合约的应用程序二进制接口 (ABI) 来创造一个 ERC-20 代币界面。 下面我们将使用一个简化的应用程序二进制接口,让例子变得更为简单。
-
-#### Web3.py 示例 {#web3py-example}
-
-首先,请确保你已安装 [Web3.py](https://web3py.readthedocs.io/en/stable/quickstart.html#installation) Python 库:
-
-```
-pip install web3
-```
-
-```python
-from web3 import Web3
-
-
-w3 = Web3(Web3.HTTPProvider("https://cloudflare-eth.com"))
-
-dai_token_addr = "0x6B175474E89094C44Da98b954EedeAC495271d0F" # DAI
-weth_token_addr = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" # Wrapped ether (WETH)
-
-acc_address = "0xA478c2975Ab1Ea89e8196811F51A7B7Ade33eB11" # Uniswap V2: DAI 2
-
-# This is a simplified Contract Application Binary Interface (ABI) of an ERC-20 Token Contract.
-# It will expose only the methods: balanceOf(address), decimals(), symbol() and totalSupply()
-simplified_abi = [
- {
- 'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}],
- 'name': 'balanceOf',
- 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}],
- 'stateMutability': 'view', 'type': 'function', 'constant': True
- },
- {
- 'inputs': [],
- 'name': 'decimals',
- 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}],
- 'stateMutability': 'view', 'type': 'function', 'constant': True
- },
- {
- 'inputs': [],
- 'name': 'symbol',
- 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}],
- 'stateMutability': 'view', 'type': 'function', 'constant': True
- },
- {
- 'inputs': [],
- 'name': 'totalSupply',
- 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}],
- 'stateMutability': 'view', 'type': 'function', 'constant': True
- }
-]
-
-dai_contract = w3.eth.contract(address=w3.to_checksum_address(dai_token_addr), abi=simplified_abi)
-symbol = dai_contract.functions.symbol().call()
-decimals = dai_contract.functions.decimals().call()
-totalSupply = dai_contract.functions.totalSupply().call() / 10**decimals
-addr_balance = dai_contract.functions.balanceOf(acc_address).call() / 10**decimals
-
-# DAI
-print("===== %s =====" % symbol)
-print("Total Supply:", totalSupply)
-print("Addr Balance:", addr_balance)
-
-weth_contract = w3.eth.contract(address=w3.to_checksum_address(weth_token_addr), abi=simplified_abi)
-symbol = weth_contract.functions.symbol().call()
-decimals = weth_contract.functions.decimals().call()
-totalSupply = weth_contract.functions.totalSupply().call() / 10**decimals
-addr_balance = weth_contract.functions.balanceOf(acc_address).call() / 10**decimals
-
-# WETH
-print("===== %s =====" % symbol)
-print("Total Supply:", totalSupply)
-print("Addr Balance:", addr_balance)
-```
-
-## 已知问题 {#erc20-issues}
-
-### ERC-20 代币接收问题 {#reception-issue}
-
-当 ERC-20 代币被发送到并非为处理 ERC-20 代币而设计的智能合约时,这些代币可能会永久丢失。 出现这种情况的原因是,接收合约无法识别或回应所传入的代币,而且 ERC-20 标准中也没有通知接受合约所传入代币的机制。 导致这一问题的主要原因包括:
-
-1. 代币转移机制
- - ERC-20 代币使用 transfer 或 transferFrom 函数进行转移
- - 当用户使用这些函数将代币发送到合约地址时,无论接收合约是否是为处理它们而设计,代币都会被转移
-2. 缺乏通知
- - 接收合约不会收到已向其发送代币的通知或回调
- - 如果接收合约缺乏处理代币的机制(例如,回退函数或专门用于处理代币接收的函数),则代币实际上会卡在合约的地址中
-3. 无内置处理
- - ERC-20 标准不包含用于接收待实现合约的强制函数,导致许多合约无法正确管理传入的代币
-
-为了解决这些问题,出现了 [ERC-223](/developers/docs/standards/tokens/erc-223) 等替代标准。
-
-## 延伸阅读 {#further-reading}
-
-- [EIP-20:ERC-20 代币标准](https://eips.ethereum.org/EIPS/eip-20)
-- [OpenZeppelin - 代币](https://docs.openzeppelin.com/contracts/3.x/tokens#ERC20)
-- [OpenZeppelin - ERC-20 实施](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol)
-- [Alchemy - Solidity ERC20 代币指南](https://www.alchemy.com/overviews/erc20-solidity)
-
-
-## 其他同质化代币标准 {#fungible-token-standards}
-
-- [ERC-223](/developers/docs/standards/tokens/erc-223)
-- [ERC-777](/developers/docs/standards/tokens/erc-777)
-- [ERC-4626 - 代币化资金库](/developers/docs/standards/tokens/erc-4626)
\ No newline at end of file
diff --git a/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-223/index.md b/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-223/index.md
deleted file mode 100644
index e86a64f2ff2..00000000000
--- a/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-223/index.md
+++ /dev/null
@@ -1,197 +0,0 @@
----
-title: ERC-223 代币标准
-description: 关于 ERC-223 同质化代币标准的概述、它的运作方式以及与 ERC-20 的对比。
-lang: zh
----
-
-## 简介 {#introduction}
-
-### 什么是 ERC-223? {#what-is-erc223}
-
-ERC-223 是一种同质化代币标准,与 ERC-20 标准类似。 主要的区别在于,ERC-223 不仅定义了代币应用程序接口,还定义了从发送者向接收者转移代币的逻辑。 它引入了一个交流模型,使代币转账能够能在接收方进行处理。
-
-### 与 ERC-20 的区别 {#erc20-differences}
-
-ERC-223 解决了 ERC-20 存在的一些限制,并在代币合约与可能接收代币的合约之间引入了一种新的交互方法。 有几件事情是 ERC-223 能够做到但 ERC-20 不能做到的:
-
-- 在接收方处理代币转账:接收者可以检测到 ERC-223 代币的存入。
-- 拒绝不当发送的代币:如果用户向不应该接收代币的合约发送 ERC-223 代币,合约可以拒绝该交易,以避免损失代币。
-- 转账中的元数据:ERC-223 代币可以包含元数据,允许代币交易上附加任意信息。
-
-## 前提条件 {#prerequisites}
-
-- [帐户](/developers/docs/accounts)
-- [智能合约](/developers/docs/smart-contracts/)
-- [代币标准](/developers/docs/standards/tokens/)
-- [ERC-20](/developers/docs/standards/tokens/erc-20/)
-
-## 正文 {#body}
-
-ERC-223 是一种在智能合约中实现代币应用程序接口的代币标准。 它也为应该接收 ERC-223 代币的合约声明了一个应用程序接口。 不支持 ERC-223 接收者应用程序接口的合约无法接收 ERC-223 代币,防止了用户出错。
-
-实现了以下方法和事件的智能合约可以被称为兼容 ERC-223 的代币合约。 一旦被部署,它将负责追踪在以太坊上创建的代币。
-
-合约能够拥有的函数不止这些,开发者可以将各种代币标准的任何其他功能添加到该合约。 例如,`approve` 和 `transferFrom` 函数不是 ERC-223 标准的一部分,但如果有必要,可以实现这些函数。
-
-来自 [EIP-223](https://eips.ethereum.org/EIPS/eip-223):
-
-### 方法 {#methods}
-
-ERC-223 代币必须实现以下方法:
-
-```solidity
-function name() public view returns (string)
-function symbol() public view returns (string)
-function decimals() public view returns (uint8)
-function totalSupply() public view returns (uint256)
-function balanceOf(address _owner) public view returns (uint256 balance)
-function transfer(address _to, uint256 _value) public returns (bool success)
-function transfer(address _to, uint256 _value, bytes calldata _data) public returns (bool success)
-```
-
-应该接收 ERC-223 代币的合约必须实现以下方法:
-
-```solidity
-function tokenReceived(address _from, uint _value, bytes calldata _data)
-```
-
-如果 ERC-223 代币被发送到没有实现 `tokenReceived(..)` 函数的合约,那么这笔转账必定会失败,并且代币不会从发送者的余额中移走。
-
-### 事件 {#events}
-
-```solidity
-event Transfer(address indexed _from, address indexed _to, uint256 _value, bytes calldata _data)
-```
-
-### 示例 {#examples}
-
-ERC-223 代币的应用程序接口与 ERC-20 的相似,因此从用户界面开发的角度上看两者没有区别。 唯一的区别是,ERC-223 代币可能不具有 `approve` + `transferFrom` 函数,因为这些函数对该标准来说是可选的。
-
-#### Solidity 的示例 {#solidity-example}
-
-以下示例说明了基础 ERC-223 代币合约是如何运作的:
-
-```solidity
-pragma solidity ^0.8.19;
-abstract contract IERC223Recipient {
- function tokenReceived(address _from, uint _value, bytes memory _data) public virtual;
-}
-contract VeryBasicERC223Token {
- event Transfer(address indexed from, address indexed to, uint value, bytes data);
- string private _name;
- string private _symbol;
- uint8 private _decimals;
- uint256 private _totalSupply;
- mapping(address => uint256) private balances;
- function name() public view returns (string memory) { return _name; }
- function symbol() public view returns (string memory) {return _symbol; }
- function decimals() public view returns (uint8) { return _decimals; }
- function totalSupply() public view returns (uint256) { return _totalSupply; }
- function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; }
- function isContract(address account) internal view returns (bool) {
- uint256 size;
- assembly { size := extcodesize(account) }
- return size > 0;
- }
- function transfer(address _to, uint _value, bytes calldata _data) public returns (bool success){
- balances[msg.sender] = balances[msg.sender] - _value;
- balances[_to] = balances[_to] + _value;
- if(isContract(_to)) {
- IERC223Recipient(_to).tokenReceived(msg.sender, _value, _data);
- }
- emit Transfer(msg.sender, _to, _value, _data);
- return true;
- }
- function transfer(address _to, uint _value) public returns (bool success){
- bytes memory _empty = hex"00000000";
- balances[msg.sender] = balances[msg.sender] - _value;
- balances[_to] = balances[_to] + _value;
- if(isContract(_to)) {
- IERC223Recipient(_to).tokenReceived(msg.sender, _value, _empty);
- }
- emit Transfer(msg.sender, _to, _value, _empty);
- return true;
- }
-}
-```
-
-现在我们希望另一个合约接受 `tokenA` 存款(假设该 tokenA 是一种 ERC-223 代币)。 该合约必须只接受 tokenA 并拒绝其他代币。 当合约接收 tokenA 时,它必须触发一个 `Deposit()` 事件并增加 `deposits` 内部变量的值。
-
-代码如下:
-
-```solidity
-contract RecipientContract is IERC223Recipient {
- event Deposit(address whoSentTheTokens);
- uint256 deposits = 0;
- address tokenA; // The only token that we want to accept.
- function tokenReceived(address _from, uint _value, bytes memory _data) public override
- {
- // It is important to understand that within this function
- // msg.sender is the address of a token that is being received,
- // msg.value is always 0 as the token contract does not own or send Ether in most cases,
- // _from is the sender of the token transfer,
- // _value is the amount of tokens that was deposited.
- require(msg.sender == tokenA);
- deposits += _value;
- emit Deposit(_from);
- }
-}
-```
-
-## 常见问题{#faq}
-
-### 如果我们将一些 tokenB 发送到合约会发生什么? {#sending-tokens}
-
-交易会失败,并且不会发生代币的转移。 代币将被退回到发送者的地址。
-
-### 我们如何向该合约存款? {#contract-deposits}
-
-调用 ERC-223 代币的 `transfer(address,uint256)` 或 `transfer(address,uint256,bytes)` 函数,指定 `RecipientContract` 的地址。
-
-### 如果我们将 ERC-20 代币转移到该合约会发生什么? {#erc-20-transfers}
-
-如果 ERC-20 代币被发送到 `RecipientContract`,这些代币将被转移,但转账不会被识别(不会触发 `Deposit()` 事件,存款值不会发生改变)。 无法过滤或防止不必要的 ERC-20 存款。
-
-### 如果我们希望在代币存款完成后执行一些函数呢? {#function-execution}
-
-有多种方法可以做到这点。 在此示例中,我们将使用的方法会使 ERC-223 转账与以太币转账相同:
-
-```solidity
-contract RecipientContract is IERC223Recipient {
- event Foo();
- event Bar(uint256 someNumber);
- address tokenA; // The only token that we want to accept.
- function tokenReceived(address _from, uint _value, bytes memory _data) public override
- {
- require(msg.sender == tokenA);
- address(this).call(_data); // Handle incoming transaction and perform a subsequent function call.
- }
- function foo() public
- {
- emit Foo();
- }
- function bar(uint256 _someNumber) public
- {
- emit Bar(_someNumber);
- }
-}
-```
-
-当 `RecipientContract` 收到 ERC-223 代币时,合约会执行一个编码为代币交易参数 `_data` 的函数,这与以太币交易将函数调用编码为交易 `data` 相同。 阅读[数据字段](https://ethereum.org/en/developers/docs/transactions/#the-data-field)以获取更多信息。
-
-在上述示例中,ERC-223 代币必须通过 `transfer(address,uin256,bytes calldata _data)` 函数转移到 `RecipientContract` 的地址。 如果数据参数将为 `0xc2985578`(`foo()` 函数的签名),那么在收到代币存款之后,将会调用 foo() 函数并触发事件 Foo()。
-
-也可以将参数编码到代币转账的 `data` 中,例如我们可以使用数值 12345 作为 `_someNumber` 来调用 bar() 函数。 在这种情况下,`data` 必须为 `0x0423a13200000000000000000000000000000000000000000000000000000000000004d2`,其中 `0x0423a132` 是 `bar(uint256)` 函数的签名,`00000000000000000000000000000000000000000000000000000000000004d2` 是 uint256 类型的 12345。
-
-## 局限性 {#limitations}
-
-虽然 ERC-223 解决了 ERC-20 标准中存在的一些问题,但它也有自己的局限性:
-
-- 采用与兼容性:ERC-223 目前还未被广泛采用,这可能会限制其与现有工具和平台的兼容性。
-- 向后兼容性:ERC-223 不向后兼容 ERC-20,这意味着现有的 ERC-20 合约和工具在未经修改的情况下无法与 ERC-223 代币一起使用。
-- 燃料成本:与 ERC-20 交易相比,ERC-223 转账中的额外检查与功能可能导致更高的燃料成本。
-
-## 扩展阅读{#further-reading}
-
-- [EIP-223:ERC-223 代币标准](https://eips.ethereum.org/EIPS/eip-223)
-- [初始 ERC-223 提案](https://github.com/ethereum/eips/issues/223)
diff --git a/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-4626/index.md b/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-4626/index.md
deleted file mode 100644
index 248341bdf68..00000000000
--- a/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-4626/index.md
+++ /dev/null
@@ -1,211 +0,0 @@
----
-title: ERC-4626 代币化资金库标准
-description: 收益资金库的标准
-lang: zh
----
-
-## 介绍 {#introduction}
-
-ERC-4626 是优化和统一收益资金库技术参数的标准。 它为表示单个底层 ERC-20 代币的份额的代币化收益资金库提供标准应用程序接口。 ERC-4626 还概述了使用 ERC-20 的代币化资金库的可选扩展,提供存款、提取代币和读取余额的基本功能。
-
-**ERC-4626 在收益资金库中的作用**
-
-借贷市场、聚合器和本质上计息的代币可以帮助用户通过执行不同的策略来找到他们的加密代币的最佳收益。 这些策略的完成方式略有不同,这可能容易出错或浪费开发资源。
-
-收益资金库的 ERC-4626 标准通过创建更加一致和健壮的实现模式,无需开发者提供专门的工作,就能减少集成工作量并解锁在各种应用程序中获取收益的途径。
-
-[EIP-4626](https://eips.ethereum.org/EIPS/eip-4626) 中对 ERC-4626 代币进行了全面的描述。
-
-## 前提条件 {#prerequisites}
-
-为了更好地理解这个页面,我们建议你首先阅读[代币标准](/developers/docs/standards/tokens/)和 [ERC-20](/developers/docs/standards/tokens/erc-20/)。
-
-## ERC-4626 的函数和功能: {#body}
-
-### 方法 {#methods}
-
-#### asset {#asset}
-
-```solidity
-function asset() public view returns (address assetTokenAddress)
-```
-
-此函数返回用于资金库记帐、存款和取款的标的代币的地址。
-
-#### totalAssets {#totalassets}
-
-```solidity
-function totalAssets() public view returns (uint256)
-```
-
-此函数返回资金库持有的标的资产总量。
-
-#### convertToShares {#convertoshares}
-
-```solidity
-function convertToShares(uint256 assets) public view returns (uint256 shares)
-```
-
-此函数返回 `shares` 的数量,该数量将由资金库兑换为提供的 `assets` 数量。
-
-#### convertToAssets {#convertoassets}
-
-```solidity
-function convertToAssets(uint256 shares) public view returns (uint256 assets)
-```
-
-此函数返回 `assets` 的数量,该数量将由资金库兑换为提供的 `shares` 数量。
-
-#### maxDeposit {#maxdeposit}
-
-```solidity
-function maxDeposit(address receiver) public view returns (uint256 maxAssets)
-```
-
-此函数返回 `receiver` 的一次 [`deposit`](#deposit) 调用中可以存入的最大标的资产数量。
-
-#### previewDeposit {#previewdeposit}
-
-```solidity
-function previewDeposit(uint256 assets) public view returns (uint256 shares)
-```
-
-此函数允许用户模拟他们在当前区块的存款效果。
-
-#### deposit {#deposit}
-
-```solidity
-function deposit(uint256 assets, address receiver) public returns (uint256 shares)
-```
-
-此函数将标的代币的 `assets` 存入资金库,并将 `shares` 的所有权授予 `receiver`。
-
-#### maxMint {#maxmint}
-
-```solidity
-function maxMint(address receiver) public view returns (uint256 maxShares)
-```
-
-此函数返回 `receiver` 在单次 [`mint`](#mint) 调用中可以铸造的最大份额。
-
-#### previewMint {#previewmint}
-
-```solidity
-function maxMint(address receiver) public view returns (uint256 maxShares)
-```
-
-此函数允许用户在当前区块模拟他们的铸币效果。
-
-#### mint {#mint}
-
-```solidity
-function mint(uint256 shares, address receiver) public returns (uint256 assets)
-```
-
-此函数通过存入标的代币的 `assets`,将 `shares` 资金库份额准确铸造到 `receiver`。
-
-#### maxWithdraw {#maxwithdraw}
-
-```solidity
-function maxWithdraw(address owner) public view returns (uint256 maxAssets)
-```
-
-此函数返回可以通过单次 [`withdraw`](#withdraw) 调用从 `owner` 余额中提取的最大标的资产数量。
-
-#### previewWithdraw {#previewwithdraw}
-
-```solidity
-function previewWithdraw(uint256 assets) public view returns (uint256 shares)
-```
-
-此函数允许用户模拟他们在当前区块取款的效果。
-
-#### withdraw {#withdraw}
-
-```solidity
-function withdraw(uint256 assets, address receiver, address owner) public returns (uint256 shares)
-```
-
-此函数从 `owner` 烧录 `shares`,并将 `assets` 代币从资金库准确发送到 `receiver`。
-
-#### maxRedeem {#maxredeem}
-
-```solidity
-function maxRedeem(address owner) public view returns (uint256 maxShares)
-```
-
-此函数返回可以通过 [`redeem`](#redeem) 调用从 `owner` 余额中赎回的最大份额。
-
-#### previewRedeem {#previewredeem}
-
-```solidity
-function previewRedeem(uint256 shares) public view returns (uint256 assets)
-```
-
-此函数允许用户在当前区块模拟他们的赎回效果。
-
-#### redeem {#redeem}
-
-```solidity
-function redeem(uint256 shares, address receiver, address owner) public returns (uint256 assets)
-```
-
-此函数从 `owner` 赎回特定数量的 `shares` 并将底层代币的 `assets` 从资金库发送到 `receiver`。
-
-#### totalSupply {#totalsupply}
-
-```solidity
-function totalSupply() public view returns (uint256)
-```
-
-返回流通中未赎回的资金库份额总数。
-
-#### balanceOf {#balanceof}
-
-```solidity
-function balanceOf(address owner) public view returns (uint256)
-```
-
-返回 `owner` 当前拥有的资金库份额总量。
-
-### 接口图 {#mapOfTheInterface}
-
-![ERC-4626 接口图](./map-of-erc-4626.png)
-
-### 事件 {#events}
-
-#### Deposit 事件
-
-**必须**在通过 [`mint`](#mint) 和 [`deposit`](#deposit) 方法将代币存入资金库之前发出
-
-```solidity
-event Deposit(
- address indexed sender,
- address indexed owner,
- uint256 assets,
- uint256 shares
-)
-```
-
-其中 `sender` 是用 `assets` 兑换 `shares`,并将这些 `shares` 转移给 `owner` 的用户。
-
-#### 提款事件
-
-**必须**在存款人用 [`redeem`](#redeem) 或 [`withdraw`](#withdraw) 方法从资金库中取出份额时发出。
-
-```solidity
-event Withdraw(
- address indexed sender,
- address indexed receiver,
- address indexed owner,
- uint256 assets,
- uint256 shares
-)
-```
-
-其中 `sender` 是触发取款并将 `owner` 拥有的 `shares` 兑换为 `assets` 的用户。 `receiver` 是收到提取的 `assets` 的用户。
-
-## 延伸阅读 {#further-reading}
-
-- [EIP-4626:代币化资金库标准](https://eips.ethereum.org/EIPS/eip-4626)
-- [ERC-4626: GitHub Repo](https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC4626.sol)
diff --git a/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-721/index.md b/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-721/index.md
deleted file mode 100644
index ca55529622b..00000000000
--- a/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-721/index.md
+++ /dev/null
@@ -1,244 +0,0 @@
----
-title: ERC-721 非同质化代币标准
-description:
-lang: zh
----
-
-## 介绍 {#introduction}
-
-**什么是非同质化代币?**
-
-非同质化代币(NFT)用于以唯一的方式标识某人或者某物。 此类型的代币可以被完美地用于出售下列物品的平台:收藏品、密钥、彩票、音乐会座位编号、体育比赛等。 这种类型的代币有着惊人的潜力,因此它需要一个适当的标准。ERC-721 就是为解决这个问题而来!
-
-**ERC-721 是什么?**
-
-ERC-721 为 NFT 引入了一个标准,换言之,这种类型的代币是独一无二的,并且可能与来自同一智能合约的另一代币有不同的价值,也许是因为它的年份、稀有性、甚至是它的观感。 稍等,看起来怎么样呢?
-
-是的。 所有 NFTs 都有一个 `uint256` 变量,名为 `tokenId`,所以对于任何 ERC-721 合约,这对值` contract address, tokenId ` 必须是全局唯一的。 也就是说,去中心化应用程序可以有一个“转换器”, 使用 `tokenId` 作为输入并输出一些很酷的事物图像,例如僵尸、武器、技能或神奇的小猫咪!
-
-## 前提条件 {#prerequisites}
-
-- [帐户](/developers/docs/accounts/)
-- [智能合约](/developers/docs/smart-contracts/)
-- [代币标准](/developers/docs/standards/tokens/)
-
-## 正文 {#body}
-
-ERC-721(Ethereum Request for Comments 721),由 William Entriken、Dieter Shirley、Jacob Evans、Nastassia Sachs 在 2018 年 1 月提出,是一个在智能合约中实现代币 API 的非同质化代币标准。
-
-它提供了一些功能,例如将代币从一个帐户转移到另一个帐户,获取帐户的当前代币余额,获取代币的所有者,以及整个网络的可用代币总供应量。 除此之外,它还具有其他功能,例如批准帐户中一定数量的代币可以被第三方帐户转移。
-
-如果一个智能合约实现了下列方法和事件,它就可以被称为 ERC-721 非同质化代币合约。 一旦被部署,它将负责跟踪在以太坊上创建的代币。
-
-来自[ EIP-721 ](https://eips.ethereum.org/EIPS/eip-721):
-
-### 方法 {#methods}
-
-```solidity
- function balanceOf(address _owner) external view returns (uint256);
- function ownerOf(uint256 _tokenId) external view returns (address);
- function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable;
- function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable;
- function transferFrom(address _from, address _to, uint256 _tokenId) external payable;
- function approve(address _approved, uint256 _tokenId) external payable;
- function setApprovalForAll(address _operator, bool _approved) external;
- function getApproved(uint256 _tokenId) external view returns (address);
- function isApprovedForAll(address _owner, address _operator) external view returns (bool);
-```
-
-### 事件 {#events}
-
-```solidity
- event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);
- event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);
- event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);
-```
-
-### 示例 {#web3py-example}
-
-让我们看看一个标准是多么重要,它使我们能够简单地在以太坊上检查任何 ERC-721 代币合约。 我们只需要合约的应用程序二进制接口(ABI)就可以创造任何 ERC-721 代币的接口。 下面我们将使用一个简化的应用程序二进制接口,让例子变得更为简单。
-
-#### Web3.py 示例 {#web3py-example}
-
-首先,请确保你已安装 [Web3.py](https://web3py.readthedocs.io/en/stable/quickstart.html#installation) Python 库:
-
-```
-pip install web3
-```
-
-```python
-from web3 import Web3
-from web3._utils.events import get_event_data
-
-
-w3 = Web3(Web3.HTTPProvider("https://cloudflare-eth.com"))
-
-ck_token_addr = "0x06012c8cf97BEaD5deAe237070F9587f8E7A266d" # CryptoKitties Contract
-
-acc_address = "0xb1690C08E213a35Ed9bAb7B318DE14420FB57d8C" # CryptoKitties Sales Auction
-
-# This is a simplified Contract Application Binary Interface (ABI) of an ERC-721 NFT Contract.
-# It will expose only the methods: balanceOf(address), name(), ownerOf(tokenId), symbol(), totalSupply()
-simplified_abi = [
- {
- 'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}],
- 'name': 'balanceOf',
- 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}],
- 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True
- },
- {
- 'inputs': [],
- 'name': 'name',
- 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}],
- 'stateMutability': 'view', 'type': 'function', 'constant': True
- },
- {
- 'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}],
- 'name': 'ownerOf',
- 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}],
- 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True
- },
- {
- 'inputs': [],
- 'name': 'symbol',
- 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}],
- 'stateMutability': 'view', 'type': 'function', 'constant': True
- },
- {
- 'inputs': [],
- 'name': 'totalSupply',
- 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}],
- 'stateMutability': 'view', 'type': 'function', 'constant': True
- },
-]
-
-ck_extra_abi = [
- {
- 'inputs': [],
- 'name': 'pregnantKitties',
- 'outputs': [{'name': '', 'type': 'uint256'}],
- 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True
- },
- {
- 'inputs': [{'name': '_kittyId', 'type': 'uint256'}],
- 'name': 'isPregnant',
- 'outputs': [{'name': '', 'type': 'bool'}],
- 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True
- }
-]
-
-ck_contract = w3.eth.contract(address=w3.to_checksum_address(ck_token_addr), abi=simplified_abi+ck_extra_abi)
-name = ck_contract.functions.name().call()
-symbol = ck_contract.functions.symbol().call()
-kitties_auctions = ck_contract.functions.balanceOf(acc_address).call()
-print(f"{name} [{symbol}] NFTs in Auctions: {kitties_auctions}")
-
-pregnant_kitties = ck_contract.functions.pregnantKitties().call()
-print(f"{name} [{symbol}] NFTs Pregnants: {pregnant_kitties}")
-
-# Using the Transfer Event ABI to get info about transferred Kitties.
-tx_event_abi = {
- 'anonymous': False,
- 'inputs': [
- {'indexed': False, 'name': 'from', 'type': 'address'},
- {'indexed': False, 'name': 'to', 'type': 'address'},
- {'indexed': False, 'name': 'tokenId', 'type': 'uint256'}],
- 'name': 'Transfer',
- 'type': 'event'
-}
-
-# We need the event's signature to filter the logs
-event_signature = w3.keccak(text="Transfer(address,address,uint256)").hex()
-
-logs = w3.eth.get_logs({
- "fromBlock": w3.eth.block_number - 120,
- "address": w3.to_checksum_address(ck_token_addr),
- "topics": [event_signature]
-})
-
-# Notes:
-# - Increase the number of blocks up from 120 if no Transfer event is returned.
-# - If you didn't find any Transfer event you can also try to get a tokenId at:
-# https://etherscan.io/address/0x06012c8cf97BEaD5deAe237070F9587f8E7A266d#events
-# Click to expand the event's logs and copy its "tokenId" argument
-recent_tx = [get_event_data(w3.codec, tx_event_abi, log)["args"] for log in logs]
-
-if recent_tx:
- kitty_id = recent_tx[0]['tokenId'] # Paste the "tokenId" here from the link above
- is_pregnant = ck_contract.functions.isPregnant(kitty_id).call()
- print(f"{name} [{symbol}] NFTs {kitty_id} is pregnant: {is_pregnant}")
-```
-
-除了标准事件之外,CryptoKitties 合约还有其它一些有趣的事件。
-
-让我们看看其中的两个,`Pregnant` 和 `Birth`。
-
-```python
-# Using the Pregnant and Birth Events ABI to get info about new Kitties.
-ck_extra_events_abi = [
- {
- 'anonymous': False,
- 'inputs': [
- {'indexed': False, 'name': 'owner', 'type': 'address'},
- {'indexed': False, 'name': 'matronId', 'type': 'uint256'},
- {'indexed': False, 'name': 'sireId', 'type': 'uint256'},
- {'indexed': False, 'name': 'cooldownEndBlock', 'type': 'uint256'}],
- 'name': 'Pregnant',
- 'type': 'event'
- },
- {
- 'anonymous': False,
- 'inputs': [
- {'indexed': False, 'name': 'owner', 'type': 'address'},
- {'indexed': False, 'name': 'kittyId', 'type': 'uint256'},
- {'indexed': False, 'name': 'matronId', 'type': 'uint256'},
- {'indexed': False, 'name': 'sireId', 'type': 'uint256'},
- {'indexed': False, 'name': 'genes', 'type': 'uint256'}],
- 'name': 'Birth',
- 'type': 'event'
- }]
-
-# We need the event's signature to filter the logs
-ck_event_signatures = [
- w3.keccak(text="Pregnant(address,uint256,uint256,uint256)").hex(),
- w3.keccak(text="Birth(address,uint256,uint256,uint256,uint256)").hex(),
-]
-
-# Here is a Pregnant Event:
-# - https://etherscan.io/tx/0xc97eb514a41004acc447ac9d0d6a27ea6da305ac8b877dff37e49db42e1f8cef#eventlog
-pregnant_logs = w3.eth.get_logs({
- "fromBlock": w3.eth.block_number - 120,
- "address": w3.to_checksum_address(ck_token_addr),
- "topics": [ck_event_signatures[0]]
-})
-
-recent_pregnants = [get_event_data(w3.codec, ck_extra_events_abi[0], log)["args"] for log in pregnant_logs]
-
-# Here is a Birth Event:
-# - https://etherscan.io/tx/0x3978028e08a25bb4c44f7877eb3573b9644309c044bf087e335397f16356340a
-birth_logs = w3.eth.get_logs({
- "fromBlock": w3.eth.block_number - 120,
- "address": w3.to_checksum_address(ck_token_addr),
- "topics": [ck_event_signatures[1]]
-})
-
-recent_births = [get_event_data(w3.codec, ck_extra_events_abi[1], log)["args"] for log in birth_logs]
-```
-
-## 热门的 NFT {#popular-nfts}
-
-- [Etherscan NFT Tracker](https://etherscan.io/tokens-nft) 列出了以太坊上交易量最大的 NFT。
-- [CryptoKitties](https://www.cryptokitties.co/) 是一个围绕着我们称之为加密猫的可繁殖、可收藏和可爱的生物游戏。
-- [Sorare](https://sorare.com/) 是一场全球迷幻足球赛,你可以在这里收集有限版本的收藏品,管理你的球队,参加比赛以获得奖品。
-- [以太坊域名服务 (ENS)](https://ens.domains/) 提供了一种安全和去中心化的方式,用人类可读的名字来处理链上和链下的资源。
-- [POAP](https://poap.xyz) 向参加事件或完成特定行动的人免费提供非同质化代币。 POAP 的创建和分发是免费的。
-- [Unstoppable Domains](https://unstoppabledomains.com/) 总部设在旧金山,是一家在区块链上创建域的公司。 区块链域将加密货币地址替换为人类可读的名称,并且可用于支持抗审查的网站。
-- [Gods Unchained Cards](https://godsunchained.com/) 是以太坊区块链上的一款集换式卡牌游戏,它使用非同质化代币来为游戏中的资产提供真实所有权。
-- [无聊猿游艇俱乐部](https://boredapeyachtclub.com)是一件由 10,000 个独一无二的非同质化代币构成的收藏品,也是一件非常罕见的艺术品,它作为俱乐部会员资格代币,可为成员提供多种特权和福利,而且在社区的努力下,这些特权和福利还会随着时间的推移不断增加。
-
-## 延伸阅读 {#further-reading}
-
-- [EIP-721:ERC-721 非同质化代币标准](https://eips.ethereum.org/EIPS/eip-721)
-- [OpenZeppelin - ERC-721 文档](https://docs.openzeppelin.com/contracts/3.x/erc721)
-- [OpenZeppelin - ERC-721 实施](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721.sol)
-- [Alchemy NFT API](https://docs.alchemy.com/alchemy/enhanced-apis/nft-api)
diff --git a/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-777/index.md b/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-777/index.md
deleted file mode 100644
index 18d53afad7c..00000000000
--- a/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/erc-777/index.md
+++ /dev/null
@@ -1,77 +0,0 @@
----
-title: ERC-777 代币标准
-description:
-lang: zh
----
-
-## {#introduction}
-
-****
-
-****
-
-钩子是智能合约代码中描述的一种函数。 在通过合约发送或者接收代币时会调用钩子。 这允许智能合约对接收和发送的代币做出响应。
-
-## {#prerequisites}
-
-- []()
-- []()
-- []()
-
-## {#body}
-
-钩子是使用 [ERC-1820](https://eips.ethereum.org/EIPS/eip-1820) 标准注册及发现的。
-
-该标准还解决了 ERC-20 中和 `decimals` 有关的混乱。 这次澄清提升了开发者体验。
-
-可以和 ERC-777 合约互动,就好像它们是 ERC-20 合约一样。
-
-### {#methods}
-
-```solidity
-
-```
-
-### {#events}
-
-```solidity
-
-```
-
-### {#web3py-example}
-
-#### {#web3py-example}
-
-```
-
-```
-
-```python
-
-
-
-
-```
-
-```python
-
-
-```
-
-## {#popular-nfts}
-
--
--
--
--
--
--
--
--
-
-## 了解更多 {#further-reading}
-
-- []()
-- []()
-- []()
-- []()
diff --git a/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/index.md b/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/index.md
deleted file mode 100644
index c32d6d5dc48..00000000000
--- a/public/content/translations/zh/23) Advanced Docs/developers/docs/standards/tokens/index.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title: 代币标准
-description:
-lang: zh
-incomplete: true
----
-
-## 介绍 {#introduction}
-
-许多以太坊开发标准都集中在代币接口上。 这些标准有助于确保智能合约仍然可以被撰写,例如,当新项目签发代币时,它与现有分散化的交易是兼容的。
-
-## 前提条件 {#prerequisites}
-
-- [以太坊开发标准](/developers/docs/standards/)
-- [智能合约](/developers/docs/smart-contracts/)
-
-## 代币标准 {#token-standards}
-
-以下是以太坊上最受欢迎的一些代币标准:
-
-- [ERC-20](/developers/docs/standards/tokens/erc-20/) - 同质化(可互换)代币的标准接口,比如投票代币、质押代币或虚拟货币。
-
-### 非同质化代币标准 {#nft-standards}
-
-- [ERC-721](/developers/docs/standards/tokens/erc-721/) - 非同质化代币的标准接口,比如艺术作品或歌曲的契约。
-- [ERC-1155](/developers/docs/standards/tokens/erc-1155/) - ERC-1155 允许更有效的交易和交易捆绑,从而节省燃料成本。 此代币标准允许创建实用代币(例如 $BNB 或 $BAT)和加密朋克之类的非同质化代币。
-
-完整的[以太坊意见征求](https://eips.ethereum.org/erc)提案列表。
-
-## 延伸阅读 {#further-reading}
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
-
-## 相关教程 {#related-tutorials}
-
-- [代币集成清单](/developers/tutorials/token-integration-checklist/) _- 与代币互动时要考虑的事项清单。_
-- [了解 ERC20 代币智能合约](/developers/tutorials/understand-the-erc-20-token-smart-contract/) _— — 介绍如何在以太坊测试网络上部署你的第一个智能合约。_
-- [通过 Solidity 智能合约转账和批准 ERC20 代币](/developers/tutorials/transfers-and-approval-of-erc-20-tokens-from-a-solidity-smart-contract/)_ - 如何使用智能合约与使用 Solidity 语言的代币进行交互。_
-- [实现 ERC721 市场[指导手册]](/developers/tutorials/how-to-implement-an-erc721-market/) _- 如何将代币化的物品放在分散的分类板上。_
diff --git "a/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/index.md" "b/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/index.md"
deleted file mode 100644
index b8e1be345e5..00000000000
--- "a/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/index.md"
+++ /dev/null
@@ -1,114 +0,0 @@
----
-title: 扩容
-description: 介绍以太坊社区目前正在开发的不同扩容选择。
-lang: zh
-sidebarDepth: 3
----
-
-## 扩容概述 {#scaling-overview}
-
-随着以太坊使用人数增加,区块链已经达到了一定的容量限制。 这提高了网络使用成本,从而导致需要“扩容解决方案”。 目前正在研究、测试和执行多种解决方案,这些方案采取不同的办法来实现类似的目标。
-
-可扩展性的主要目标是,在不牺牲去中心化或安全性的情况下提高交易速度(更快的最终确定性)和交易吞吐量(每秒更高的交易数量)(详情请参阅[以太坊愿景](/roadmap/vision/))。 在第一层以太坊区块链上,高需求导致交易速度减慢和[燃料价格](/developers/docs/gas/)难以持续。 提高网络速度和吞吐量是有意义地大规模采用以太坊的基础。
-
-虽然速度和吞吐量很重要,但实现这些目标的扩容解决方案必须保持去中心化和安全性。 降低节点运营商的进入门槛,对于防止向不安全的中心化计算能力发展至关重要。
-
-从概念上说,我们首先将扩容分为链上扩容和链外扩容两类。
-
-## 前提条件 {#prerequisites}
-
-你应对所有基础性课题有很好的了解。 实施扩容解决方案是一项先进的任务,因为该技术没有经过多少实践检验,还在进一步研发中。
-
-## 链上扩容 {#on-chain-scaling}
-
-链上扩容需要更改以太坊协议(一层网络[主网](/glossary/#mainnet))。 长期以来,区块链分片有望扩展以太坊。 分片就是将区块链拆分成单独的部分(分片),并由部分验证者进行验证。 然而,二层网络卷叠扩容方案已取而代之,成为主要的扩容技术。 更加经济的向以太坊区块添加数据的新方式旨在让卷叠方案对用户经济划算,它的出现无疑为这一形势增添了助力。
-
-### 分片 {#sharding}
-
-分片是拆分数据库的过程。 部分验证者将负责单独的分片,而不是跟踪整个以太坊。 分片包含在以太坊[路线图](/roadmap/)上由来已久,并且曾计划于合并到权益证明之前上线。 然而,[二层网络卷叠](#layer-2-scaling)的快速发展和 [Danksharding](/roadmap/danksharding) 的发明(将卷叠数据的二进制大对象添加以太坊区块中,并且验证者可以非常高效地进行验证),让以太坊社区青睐以卷叠为中心的扩容方案,而不是分片扩容方案。 这也将有助于保持以太坊的共识逻辑更简单。
-
-## 链下扩容 {#off-chain-scaling}
-
-链下解决方案与一层网络主网分开实现,它们无需更改现有以太坊协议。 部分解决方案称为“二层网络”解决方案,它们直接从一层网络以太坊共识中获得安全性,例如[乐观卷叠](/developers/docs/scaling/optimistic-rollups/)、[零知识卷叠](/developers/docs/scaling/zk-rollups/)或[状态通道](/developers/docs/scaling/state-channels/)。 其他解决方案涉及创建独立于主网获取安全性的各种形式的新链,例如[侧链](#sidechains)、[Validium](#validium) 或 [Plasma 链](#plasma)。 这些解决方案与主网进行通信,但为了实现各种不同目标,它们获得安全性的方式也有所不同。
-
-### 二层扩容 {#layer-2-scaling}
-
-此类链下解决方案的安全性来自以太坊主网。
-
-二层网络是一种统称,用来描述那些通过在以太坊主网(一层网络)下处理交易,同时利用主网强大的去中心化安全模型来帮助扩展你的应用程序的解决方案。 当网络繁忙时,交易速度会受到影响,这可能使某些类型的去中心化应用程序的用户体验变差。 而且,随着网络越来越繁忙,由于交易发送者的目标是超出对方的出价,燃料价格也随之上升。 这可能会让以太坊的使用成本非常高。
-
-大多数二层网络解决方案均围绕着一个服务器或服务器群集,其中每一种都可以称为节点、验证者、运营商、排序者、区块生产者或类似术语。 根据实现情况,这些二层网络的节点可由使用它们的个人、企业或实体运行,或者由第三方运营商或一大群个人(与主网相似)运行。 一般而言,交易会提交给二层网络节点,而非直接提交给一层网络(主网)。 对于部分解决方案,二层网络实例会将它们分组,然后锚定到一层网络,之后它们受一层网络保护且不能更改。 对于不同的二层网络技术和实现而言,如何做到这一点,细节方面差异很大。
-
-某个特定的二层网络实例可能是开放的,由许多应用程序共享,也可能由一个项目部署,专供支持该项目的应用程序。
-
-#### 为什么需要第二层? {#why-is-layer-2-needed}
-
-- 每秒增加交易量会大大提高用户体验,并减少以太坊主网上的网络拥塞情况。
-- 卷叠就是将多个交易打包到一个交易中,然后发到以太坊主网上,这为用户减少了燃料费用。以太坊将更具包容性,任何人都可以用得起以太坊。
-- 关于可扩容性的任何更新都不应以分散安全性为代价 - 第二层建立在以太坊的基础上。
-- 有一些特定应用的第二层网络,在大规模处理资产时有它们自己的效率。
-
-[关于二层网络的更多信息](/layer-2/)。
-
-#### 卷叠 {#rollups}
-
-卷叠在一层网络外执行交易,并在达成共识时,在一层网络公开数据。 由于交易数据包含在一层网络区块中,因此可以通过原生的以太坊安全性来保证卷叠的安全性。
-
-有两种具有不同安全模型的卷叠:
-
-- **乐观卷叠**:假设交易在默认情况下有效,并且在遇到挑战的情况下只通过[**欺诈证明**](/glossary/#fraud-proof)运行计算。 [关于乐观卷叠的更多信息](/developers/docs/scaling/optimistic-rollups/)。
-- **零知识卷叠**:在链下运行计算并向链上提交[**有效性证明**](/glossary/#validity-proof)。 [关于零知识卷叠的更多信息](/developers/docs/scaling/zk-rollups/)。
-
-#### 状态通道 {#channels}
-
-状态通道采用多签合约,使参与者能够在链下快速自由地进行交易,然后再与主网落实最终确定性。 这将最大限度地减少网络拥塞、费用和延迟。 现在有两种通道:状态通道和支付通道。
-
-了解更多关于[状态通道](/developers/docs/scaling/state-channels/)的信息。
-
-### 侧链 {#sidechains}
-
-侧链是与主网并行运行且兼容以太坊虚拟机的独立区块链。 它们通过双向桥接与以太坊兼容,按照自行选择的共识规则和区块参数运行。
-
-了解更多有关[侧链](/developers/docs/scaling/sidechains/)的信息。
-
-### 以太坊 Plasma 扩容解决方案 {#plasma}
-
-Plasma 是一条独立的区块链,锚定至以太坊主链,并使用欺诈证明(如[乐观卷叠](/developers/docs/scaling/optimistic-rollups/))来仲裁争议。
-
-了解更多关于 [Plasma](/developers/docs/scaling/plasma/) 的信息。
-
-### Validium {#validium}
-
-Validium 链使用诸如零知识卷叠之类的有效性证明,但数据未存储在一层网络以太坊主链上。 这会导致每条 Validium 链每秒处理 10000 笔交易,并且可以并行运行多条链。
-
-了解关于 [Validium](/developers/docs/scaling/validium/) 的更多信息。
-
-## 为何需要如此多扩容解决方案? {#why-do-we-need-these}
-
-- 多重解决方案有助于减少网络任意部分的总体阻塞情况,也可防止单点故障。
-- 整体大于各部分的总和。 不同的解决方案可以同时存在,并且可以协同工作,对未来的交易速度和吞吐量产生指数效应。
-- 并非所有解决方案都需要直接利用以太坊共识算法,替代办法或许能带来难以获得的好处。
-- 一种扩容方案不足以完全满足[以太坊愿景](/roadmap/vision/)。
-
-## 更愿意通过视频学习? {#visual-learner}
-
-
-
-_请注意,视频中的解释使用“二层网络”这一术语指代所有链下扩容解决方案,而我们通常所说的“二层网络”是指通过一层网络主网共识获得安全性的链下解决方案。_
-
-
-
-## 延伸阅读 {#further-reading}
-
-- [以卷叠为中心的以太坊路线图](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698) _Vitalik Buterin_
-- [有关以太坊第二层扩容解决方案的最新分析](https://www.l2beat.com/)
-- [评估以太坊第二层扩容解决方案:一个比较框架](https://medium.com/matter-labs/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955)
-- [卷叠不完全指南](https://vitalik.eth.limo/general/2021/01/05/rollup.html)
-- [以太坊赋能的零知识卷叠:强者](https://hackmd.io/@canti/rkUT0BD8K)
-- [“乐观卷叠”对比“零知识卷叠”](https://limechain.tech/blog/optimistic-rollups-vs-zk-rollups/)
-- [零知识区块链的可扩展性](https://ethworks.io/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf)
-- [为什么卷叠 + 数据分片是高可扩展性的唯一可持续的解决办法](https://polynya.medium.com/why-rollups-data-shards-are-the-only-sustainable-solution-for-high-scalability-c9aabd6fbb48)
-- [什么类型的三层网络有意义?](https://vitalik.eth.limo/general/2022/09/17/layer_3.html)
-- [数据可用性或:卷叠如何学会停止担忧并爱上以太坊](https://ethereum2077.substack.com/p/data-availability-in-ethereum-rollups)
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
diff --git "a/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/optimistic-rollups/index.md" "b/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/optimistic-rollups/index.md"
deleted file mode 100644
index b6f72deca75..00000000000
--- "a/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/optimistic-rollups/index.md"
+++ /dev/null
@@ -1,269 +0,0 @@
----
-title: 乐观卷叠
-description: 乐观卷叠简介 — 以太坊社区使用的一种扩容解决方案
-lang: zh
----
-
-乐观卷叠是二层网络 (L2) 协议,该协议旨在扩展以太坊基础层的吞吐量。 它们通过在链下处理交易来减少以太坊主链上的计算量,从而显著提高处理速度。 与其他扩容解决方案(例如[侧链](/developers/docs/scaling/sidechains/))不同,乐观卷叠从主网(通过在链上发布交易结果)或从 [Plasma 链](/developers/docs/scaling/plasma/)(该链还使用欺诈证明验证以太坊上的交易,但将交易数据存储在其他地方)获取安全性。
-
-由于计算是使用以太坊时缓慢而昂贵的部分,因此乐观卷叠可以提供高达 10-100 倍的可扩展性改进。 乐观卷叠还会将交易以 `calldata` 或 [blob](/roadmap/danksharding/) 的形式写入以太坊,从而降低用户的燃料成本。
-
-## 前提条件 {#prerequisites}
-
-你应该已经阅读并理解关于[以太坊扩容](/developers/docs/scaling/)和[二层网络](/layer-2/)的页面。
-
-## 什么是乐观卷叠? {#what-is-an-optimistic-rollup}
-
-乐观卷叠是一种扩容以太坊的方法,涉及将计算和状态存储移至链下。 乐观卷叠在以太坊之外执行交易,但将交易数据以 `calldata` 或[二进制大对象](/roadmap/danksharding/)的形式发布到主网。
-
-乐观卷叠运营商将多个链下交易大批量捆绑在一起,然后再提交到以太坊。 这种方法可以将固定成本分散到每批中的多笔交易中,从而降低最终用户的费用。 乐观卷叠还使用压缩技术来减少发布在以太坊上的数据量。
-
-乐观卷叠被认为是“乐观的”,因为它们假设链下交易是有效的,并且不发布推送到链上的交易批次的有效性证明。 这一点将乐观卷叠与[零知识卷叠](/developers/docs/scaling/zk-rollups)区分开来,后者会发布链下交易的加密[有效性证明](/glossary/#validity-proof)。
-
-相反,乐观卷叠依赖于欺诈证明方案来检测交易计算不正确的情况。 在以太坊上提交卷叠批次后,有一个时间窗口(称为挑战期),在此期间任何人都可以通过计算[欺诈证明](/glossary/#fraud-proof)来挑战卷叠交易的结果。
-
-如果欺诈证明成功,则卷叠协议重新执行交易并相应地更新卷叠的状态。 成功的欺诈证明的另一个影响是,负责将错误执行的交易纳入区块的排序者会受到惩罚。
-
-如果在挑战期过后卷叠批次仍未受到挑战(即所有交易均已正确执行),则将其视为有效并在以太坊上接受。 其他人可以继续扩建未经确认的卷叠区块,但需要注意:交易结果如果基于先前发布的错误执行交易,则将被逆转。
-
-## 乐观卷叠如何与以太坊交互? {#optimistic-rollups-and-Ethereum}
-
-乐观卷叠是为了在以太坊上运行而构建的[链下扩容解决方案](/developers/docs/scaling/#off-chain-scaling)。 每个乐观卷叠都由部署在以太坊网络上的一组智能合约管理。 乐观卷叠在以太坊主链之外处理交易,但将链下交易(批量)发布到链上的卷叠合约。 和以太坊区块链一样,此交易记录是不可变的,并形成了“乐观卷叠链”。
-
-乐观卷叠的架构包括以下部分:
-
-**链上合约**:乐观卷叠的操作由在以太坊上运行的智能合约控制。 这包括存储卷叠区块、监控卷叠状态更新以及跟踪用户存款的合约。 在这个意义上,以太坊充当乐观卷叠的基础层或“一层网络”。
-
-**链下虚拟机 (VM)**:虽然管理乐观卷叠协议的合约在以太坊上运行,但卷叠协议在[以太坊虚拟机](/developers/docs/evm/)之外的另一个虚拟机上执行计算和状态存储。 应用程序在链下虚拟机上驻留并且状态更改在其上执行;链下虚拟机作为乐观卷叠的上层或“二层网络”。
-
-由于乐观卷叠旨在运行为以太坊虚拟机编写或编译的程序,因此链下虚拟机包含许多以太坊虚拟机设计规范。 此外,链上计算的欺诈证明允许以太坊网络强制执行在链下虚拟机中计算的状态更改的有效性。
-
-乐观卷叠被描述为“混合扩容解决方案”,因为虽然它们作为单独的协议存在,但它们的安全属性源自以太坊。 除了其他方面,以太坊还能保证卷叠的链下计算的正确性以及计算所依据的数据的可用性。 这使得乐观卷叠比不依赖以太坊获取安全性的纯链下扩容协议(例如,[侧链](/developers/docs/scaling/sidechains/))更安全。
-
-乐观卷叠在以下方面依赖于以太坊的主要协议:
-
-### 数据可用性 {#data-availability}
-
-如前所述,乐观卷叠将交易数据以 `calldata` 或[二进制大对象](/roadmap/danksharding/)的形式发布到以太坊。 由于卷叠链的执行基于提交的交易,任何人都可以使用此信息(锚定在以太坊的基础层)来执行卷叠的状态并验证状态转换的正确性。
-
-[数据可用性](/developers/docs/data-availability/)至关重要,因为如果不能访问状态数据,挑战者就不能构造欺诈证明来质疑无效的卷叠操作。 有了以太坊提供的数据可用性,就降低了卷叠运营商逃脱恶意行为(例如,提交无效区块)的风险。
-
-### 抗审查 {#censorship-resistance}
-
-乐观卷叠也依赖以太坊来抵抗审查。 在乐观卷叠中,中心化实体(运营商)负责处理交易并将卷叠区块提交给以太坊。 这其中有一些含义:
-
-- 卷叠运营商可以通过完全离线或拒绝生成包含某些交易的区块来审查用户。
-
-- 卷叠运营商可以通过保留 Merkle 所有权证明所需的状态数据来阻止用户提取存放在卷叠合约中的资金。 保留状态数据还可以向用户隐藏卷叠的状态,并阻止他们与卷叠进行交互。
-
-乐观卷叠通过强制运营商在以太坊上发布与状态更新相关的数据来解决这个问题。 在链上发布卷叠数据有以下好处:
-
-- 如果乐观卷叠运营商下线或停止生成交易批次,另一个节点可以使用可用数据来重现卷叠的最后状态并继续区块生产。
-
-- 用户可以使用交易数据来创建 Merkle 证明来证明资金的所有权,并从卷叠中提取他们的资产。
-
-- 用户也可以在 L1 提交他们的交易,而不是提交给排序者,在这种情况下,排序者必须在一定的时间限制内纳入交易,才能继续生产有效的区块。
-
-### 结算 {#settlement}
-
-以太坊在乐观卷叠中扮演的另一个角色是结算层。 结算层锚定整个区块链生态系统,建立安全性,并在需要仲裁的另一条链(在这种情况下为乐观卷叠)上发生争议时提供客观的确定性。
-
-以太坊主网为乐观卷叠提供了一个中心,以验证欺诈证明并解决争议。 此外,在卷叠上进行的交易只有当卷叠区块在以太坊上被接受_之后_才是最终的。 一旦卷叠交易被提交到以太坊的基础层,它就不能回滚(除非在极不可能的情况下发生链重组)。
-
-## 乐观卷叠如何工作? {#how-optimistic-rollups-work}
-
-### 交易执行和聚合 {#transaction-execution-and-aggregation}
-
-用户向“运营商”提交交易,“运营商”则是乐观卷叠上负责处理交易的节点。 运营商也称为“验证者”或“聚合者”,负责聚合交易、压缩底层数据,并在以太坊上发布区块。
-
-尽管任何人都可以成为验证者,但乐观卷叠验证者就像[权益证明系统](/developers/docs/consensus-mechanisms/pos/)一样,必须在生成区块之前提供保证金。 如果验证者发布了无效的区块或扩建了原有但无效的区块(即使他们的区块是有效的),此保证金可能被罚没。 通过这种方式,乐观卷叠利用加密经济激励措施来确保验证者诚实行事。
-
-乐观卷叠链上的其他验证者应该使用他们的卷叠状态副本来执行提交的交易。 如果验证者的最终状态与运营商提议的状态不同,他们可以发起挑战并计算欺诈证明。
-
-一些乐观卷叠可能会放弃无需许可的验证者系统并使用单个“排序者”来执行链。 与验证者一样,排序者会处理交易,生成卷叠区块,并将卷叠交易提交到 L1 链(以太坊)。
-
-排序者与常规卷叠运营商不同,因为他们对交易的排序有更大的控制力。 此外,排序者具有卷叠链的优先访问权,并且是唯一被授权向链上合约提交交易的实体。 来自非排序者节点或普通用户的交易只是在一个单独的收件箱中排队,直到排序者将它们纳入一个新批次中。
-
-#### 提交卷叠区块到以太坊 {#submitting-blocks-to-ethereum}
-
-如前所述,乐观卷叠的运营商将链下交易捆绑成一个批次,并将其发送到以太坊进行公证。 此过程涉及压缩与交易相关的数据并将其以 `calldata` 或二进制大对象的形式发布在以太坊上。
-
-`calldata` 是智能合约中不可修改、非持久的区域,其行为与[内存](/developers/docs/smart-contracts/anatomy/#memory)非常相似。 而 `calldata` 作为区块链的[历史日志](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs)部分,不会存储为以太坊状态的一部分。 由于 `calldata` 不触及以太坊状态的任何部分,因此它比链上存储数据的状态更便宜。
-
-`calldata` 关键字也在 Solidity 中用于在执行时将参数传递给智能合约函数。 `calldata` 识别在交易期间被调用的函数,并以任意字节序列的形式保存函数的输入。
-
-在乐观卷叠的上下文中,`calldata` 用于将压缩的交易数据发送到链上合约。 卷叠运营商通过调用卷叠合约中所需的函数并将压缩数据作为函数参数传递来添加新批次。 使用 `calldata` 可以降低用户费用,因为卷叠产生的大部分成本来自链上存储数据。
-
-以下是一个卷叠批量提交的[示例](https://etherscan.io/tx/0x9102bfce17c58b5fc1c974c24b6bb7a924fb5fbd7c4cd2f675911c27422a5591),以展示此概念的工作原理。 排序者调用 `appendSequencerBatch()` 方法并使用 `calldata` 将压缩的交易数据作为输入传递。
-
-一些卷叠现在使用二进制大对象将批量交易发布到以太坊。
-
-二进制大对象是不可修改且非持久化的(就像 `calldata` 一样),但会在大约 18 天后从历史记录中删除。 有关二进制大对象的更多信息,请参阅 [Danksharding](/roadmap/danksharding)。
-
-### 状态承诺 {#state-commitments}
-
-在任何时间点,乐观卷叠状态(帐户、余额、合约代码等)都被组织为 [Merkle 树](/whitepaper/#merkle-trees),也称为“状态树”。 此 Merkle 树的根(状态根)引用卷叠的最新状态,经过哈希处理并存储在卷叠合约中。 链上的每个状态转换都会产生一个新的卷叠状态,运营商通过计算新的状态根来提交该状态。
-
-运营商在发布批次时需要同时提交旧状态根和新状态根。 如果旧状态根与链上合约中的现有状态根匹配,则后者被丢弃并替换为新状态根。
-
-卷叠运营商还需要为交易批次本身提交 Merkle 根。 这允许任何人通过提供 [Merkle 证明](/developers/tutorials/merkle-proofs-for-offline-data-integrity/)来证明交易包含在批次中(在 L1 上)。
-
-状态承诺,尤其是状态根,对于证明乐观卷叠中的状态变化的正确性是必要的。 卷叠合约在发布后立即接受来自运营商的新状态根,但稍后可以删除无效的状态根以将卷叠恢复到正确的状态。
-
-### 欺诈证明 {#fraud-proving}
-
-如前所述,乐观卷叠允许任何人在不提供有效性证明的情况下发布区块。 然而,为了确保链保持安全,乐观卷叠指定了一个时间窗口,在此期间任何人都可以对状态转换提出异议。 因此,卷叠块被称为“断言”,因为任何人都可以挑战它们的有效性。
-
-如果有人对断言提出异议,则卷叠协议将启动欺诈证明计算。 每种类型的欺诈证明都是交互式的 — 必须有人发布断言,然后其他人才能对其提出挑战。 不同之处在于计算欺诈证明需要多少轮交互。
-
-单轮交互式证明方案在 L1 重放有争议的交易以检测无效断言。 卷叠协议使用验证者合约模拟在 L1(以太坊)上重新执行有争议的交易,利用计算出的状态根决定谁赢得挑战。 如果挑战者关于卷叠的正确状态的声明是正确的,则运营商会受到惩罚,他们的保证金将被罚没。
-
-但是,在 L1 重新执行交易以检测欺诈需要发布单独交易的状态承诺,并增加必须在链上发布的数据卷叠。 重放交易还会产生巨大的燃料成本。 由于这些原因,乐观卷叠正在转向多轮交互式证明,以更高的效率实现相同的目标(即检测无效卷叠操作)。
-
-#### 多轮交互式证明 {#multi-round-interactive-proving}
-
-多轮交互式证明涉及断言者与挑战者之间的来回协议,由 L1 验证者合约监督,最终决定说谎方。 L2 节点对断言提出挑战后,要求断言者将有争议的断言分成相等的两半。 在这种情况下,每个单独的断言都将包含与另一个断言一样多的计算步骤。
-
-然后挑战者将选择它想要挑战的断言。 分割过程(称为“二等分协议”)一直持续到双方就_单个_执行步骤的断言发生争执。 此时,L1 合约将通过评估指令(及其结果)来解决争议,以抓住欺诈方。
-
-断言者需要提供“一步证明”来验证有争议的单步计算的有效性。 如果断言者未能提供一步证明,或者 L1 验证者认为证明无效,他们的挑战便会失败。
-
-关于此类欺诈证明的一些注意事项:
-
-1. 多轮交互式欺诈证明被认为是有效的,因为它最大限度地减少了 L1 链在争议仲裁中必须做的工作。 L1 链无需重播整个交易,而只需重新执行卷叠执行过程中的一个步骤。
-
-2. 二等分协议减少了发布在链上的数据量(无需为每笔交易发布状态提交)。 此外,乐观卷叠交易不受以太坊燃料限制的约束。 相反,乐观卷叠重新执行交易必须确保 L2 交易具有较低的燃料限制,以模拟其在单个以太坊交易中的执行。
-
-3. 恶意断言者的保证金的一部分被奖励给挑战者,而另一部分则被销毁。 销毁可以防止验证者之间的勾结;如果两个验证者串通起来发起虚假挑战,他们仍然会丧失全部质押的相当大一部分。
-
-4. 多轮交互证明需要双方(断言者和挑战者)在指定的时间窗口内执行动作。 未能在截止日期到期前采取行动会导致违约方放弃挑战。
-
-#### 为什么欺诈证明对乐观卷叠很重要 {#fraud-proof-benefits}
-
-欺诈证明很重要,因为它们促进了乐观卷叠中的_去信任确定性_。 去信任确定性是乐观卷叠的一项特性,它保证交易只要是有效的,最终将被确认。
-
-恶意节点可以尝试通过启动虚假挑战来延迟对有效卷叠区块的确认。 但是,欺诈证明最终将证明卷叠区块的有效性并使其得到确认。
-
-这也与乐观卷叠的另一个安全属性有关:链的有效性依赖于_一个_诚实节点的存在。 诚实节点可以通过发布有效断言或对无效断言提出异议来正确推进链。 无论如何,与诚实节点发生纠纷的恶意节点将在欺诈证明过程中失去其质押品。
-
-### L1/L2 互操作性 {#l1-l2-interoperability}
-
-乐观卷叠旨在与以太坊主网互操作,并允许用户在 L1 和 L2 之间传递消息和任意数据。 它们还与以太坊虚拟机兼容,因此你可以将现有的[去中心化应用程序](/developers/docs/dapps/)移植到乐观卷叠或使用以太坊开发工具创建新的去中心化应用程序。
-
-#### 1. 资产转移 {#asset-movement}
-
-##### 进入卷叠
-
-为了使用乐观卷叠,用户将以太币、ERC-20 代币和其他可接受的资产存入 L1 上卷叠的[链桥](/developers/docs/bridges/)合约中。 链桥合约会将交易中继到 L2,在那里铸造等量的资产并发送到用户在乐观卷叠中选择的地址。
-
-用户生成的交易(如 L1 > L2 存款)通常会排队,直到排序者将它们重新提交到卷叠合约。 但是,为了保持抗审查能力,如果交易延迟超过允许的最大时间,乐观卷叠允许用户直接向链上卷叠合约提交交易。
-
-一些乐观卷叠采用更直接的方法来防止排序者审查用户。 在这里,一个区块由自前一个区块以来提交给 L1 合约的所有交易(例如存款)以及卷叠链上已处理的交易共同定义。 如果排序者忽略 L1交易,它将发布(可证明)错误的状态根;因此,一旦用户生成的消息被发布在 L1 上,排序者就不能将其延迟。
-
-##### 退出卷叠
-
-由于欺诈证明方案,从乐观卷叠中取款到以太坊更加困难。 如果用户发起一个 L2 > L1 交易以提取在 L1 上托管的资金,他们必须等到挑战期(大约持续 7 天)过去。 然而,退出过程本身相当简单。
-
-在 L2 卷叠上发起取款请求后,该交易被纳入下一批,同时用户在卷叠上的资产被销毁。 一旦批次在以太坊上发布,用户就可以计算一个 Merkle 证明来验证他们的退出交易是否包含在区块中。 然后便是等待延迟期过后完成 L1 上的交易并将资金提取到主网的问题了。
-
-为了避免在向以太坊取款前等待一周,乐观卷叠用户可以聘请**流动性提供者** (LP)。 流动性提供者承担待处理的 L2 取款的所有权,并在 L1 上向用户付款(以换取费用)。
-
-流动性提供者可以在释放资金之前检查用户取款请求的有效性(通过自行执行链)。 这样他们就可以保证交易最终会得到确认(即,去信任确定性)。
-
-#### 2. 以太坊虚拟机兼容性 {#evm-compatibility}
-
-对于开发者而言,乐观卷叠的优势在于它们与[以太坊虚拟机 (EVM)](/developers/docs/evm/) 的兼容性(或者更好的是,等效性)。 与以太坊虚拟机兼容的卷叠符合[以太坊黄皮书](https://ethereum.github.io/yellowpaper/paper.pdf)中的规范,并在字节码级别支持以太坊虚拟机。
-
-乐观卷叠中的以太坊虚拟机兼容性具有以下好处:
-
-i. 开发者可以将以太坊上的现有智能合约迁移到乐观卷叠链,而无需大量修改代码库。 这可以节省开发团队在 L2 上部署以太坊智能合约的时间。
-
-ii. 使用乐观卷叠的开发者和项目团队可以利用以太坊的基础设施。 这包括编程语言、代码库、测试工具、客户端软件、部署基础设施等。
-
-使用现有工具很重要,因为这些工具多年来已经过广泛的审核、调试和改进。 它还让以太坊开发者无需学习如何使用全新的开发堆栈构建应用程序。
-
-#### 3. 跨链合约调用 {#cross-chain-contract-calls}
-
-用户(外部拥有的帐户)通过向卷叠合约提交交易或让排序者或验证者为他们执行交易来与 L2 合约进行交互。 乐观卷叠还允许以太坊上的合约帐户与 L2 合约交互,使用桥梁合约来中继消息并在 L1 和 L2 之间传递数据。 这意味着你可以在以太坊主网上编写 L1 合约,以调用属于 L2 乐观卷叠合约的函数。
-
-跨链合约调用是异步发生的 — 这意味着调用首先启动,然后再稍后执行。 这与以太坊上两个合约之间的调用不同,即调用会立即产生结果。
-
-一个跨链合约调用的例子是前文所述的代币存款。 L1 上的合约托管用户的代币,并向配对的 L2 合约发送消息,以在卷叠中铸造等量的代币。
-
-由于跨链消息调用会导致合约执行,因此发送者通常需要支付用于计算的[燃料成本](/developers/docs/gas/)。 建议设置较高的燃料限制,以防止交易在目标链上失败。 代币桥梁场景就是一个很好的例子;如果交易的 L1 端(存入代币)有效,但 L2 端(铸造新代币)由于燃料不足而失败,则存款将无法收回。
-
-最后,我们应该注意到,合约之间的 L2 > L1 消息调用需要考虑延迟(L1 > L2 调用通常在几分钟后执行)。 这是因为从乐观卷叠发送到主网的消息在挑战窗口到期之前无法执行。
-
-## 乐观卷叠费用如何运作? {#how-do-optimistic-rollup-fees-work}
-
-乐观卷叠使用类似于以太坊的燃料费方案来表示用户为每笔交易支付的费用。 乐观卷叠收取的费用取决于以下组成部分:
-
-1. **状态写入**:乐观卷叠将交易数据和区块头(由前一个区块头哈希、状态根、批处理根组成)作为 `blob`,即二进制大对象,发布到以太坊。 [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) 引入了在链上纳入数据的高成本效益解决方案。 `blob` 是一个允许卷叠将压缩状态的转换数据发布到以太坊一层网络的新交易字段。 与永驻链上的 `calldata` 不同,二进制大对象的生命周期很短,在 [4096 个时段](https://github.com/ethereum/consensus-specs/blob/81f3ea8322aff6b9fb15132d050f8f98b16bdba4/configs/mainnet.yaml#L147)(大约 18 天)后即可从客户端删除。 通过使用二进制大对象发布批量压缩交易,乐观卷叠可以大幅降低向一层网络写入交易的成本。
-
-2. **使用的二进制大对象燃料**:二进制大对象携带的交易采用类似于 [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) 中引入的动态费用机制。 第三类型交易的燃料费考虑了二进制大对象的基础费,后者由网络根据二进制大对象空间需求和所发送交易的二进制大对象空间使用情况来决定。
-
-3. **二层网络运营商费用**:这是支付给卷叠节点的金额,用来补偿处理交易时产生的计算成本,很像以太坊上的燃料费用。 由于二层网络处理能力更强,并且不会出现网络拥塞迫使以太坊上的验证者优先处理费用更高的交易,卷叠节点收取的交易费更低。
-
-乐观卷叠应用了多种机制来降低用户的费用,包括批量交易和压缩 `calldata` 以降低数据发布成本。 你可以查看 [L2 费用跟踪器](https://l2fees.info/),实时了解使用基于以太坊的乐观卷叠的成本。
-
-## 乐观卷叠如何扩容以太坊? {#scaling-ethereum-with-optimistic-rollups}
-
-如前所述,乐观卷叠在以太坊上发布压缩的交易数据以保证数据可用性。 压缩链上发布的数据的能力对于通过乐观卷叠扩容以太坊的吞吐量至关重要。
-
-以太坊主链限制了区块可以容纳的数据量,以燃料单位计量([平均区块大小](/developers/docs/blocks/#block-size)为 1500 万燃料)。 虽然这限制了每笔交易可以使用多少燃料,但也意味着我们可以通过减少与交易相关的数据来增加每个区块处理的交易,直接提高了可扩展性。
-
-乐观卷叠使用多种技术来实现交易数据压缩并提高每秒交易量速率。 例如,这篇[文章](https://vitalik.eth.limo/general/2021/01/05/rollup.html)将基本用户交易(发送以太币)在主网上生成的数据量与相同交易在卷叠上生成的数据量进行了比较:
-
-| 参数 | 以太坊 (L1) | 卷叠 (L2) |
-| --------- | ----------------- | ---------- |
-| Nonce | ~3 | 0 |
-| Gasprice | ~8 | 0-0.5 |
-| Gas | 3 | 0-0.5 |
-| To | 21 | 4 |
-| Value | 9 | ~3 |
-| Signature | ~68 (2 + 33 + 33) | ~0.5 |
-| From | 0(从签名中恢复) | 4 |
-| **总计** | **~112 字节** | **~12 字节** |
-
-对这些数字进行一些粗略的计算有助于显示乐观卷叠提供的可扩展性改进:
-
-1. 每个区块的目标大小是 1500 万燃料,验证一个字节的数据需要 16 个燃料。 将平均区块大小除以 16 燃料(15,000,000/16),表明一般区块可以容纳 **937,500 字节的数据**。
-2. 如果一个基本卷叠交易使用 12 个字节,那么以太坊区块平均可以处理 **78,125 个卷叠交易** (937,5000/12) 或 **39 个卷叠批次**(如果每个批次平均包含 2,000 个交易)。
-3. 如果每 15 秒在以太坊上产生一个新区块,那么卷叠的处理速度将大致达到**每秒 5,208 次交易**。 这是通过将以太坊区块可以容纳的基本卷叠交易数量 (**78,125**) 除以平均区块时间 (**15 秒**) 得出的。
-
-这是一个比较乐观的估计,因为乐观卷叠交易不可能包含以太坊上的整个区块。 但是,它可以大致了解乐观卷叠可以为以太坊用户提供多少可扩展性收益(当前实现可提供高达 2,000 交易每秒的速率)。
-
-在以太坊上引入[数据分片](/roadmap/danksharding/)有望提高乐观卷叠的可扩展性。 由于卷叠交易必须与其他非卷叠交易共享区块空间,因此它们的处理能力受到以太坊主链上的数据吞吐量的限制。 Danksharding 使用更经济的非永久型“二进制大对象”存储,而弃用昂贵的永久型 `CALLDATA`,这将增加二层网络链上用于发布每个区块中数据的空间。
-
-### 乐观卷叠的优缺点 {#optimistic-rollups-pros-and-cons}
-
-| 优点 | 缺点 |
-| --------------------------------------------------------------- | --------------------------------------- |
-| 在不牺牲安全性或去信任的情况下提供可扩展性的巨大改进。 | 由于潜在的欺诈挑战导致交易确定性的延迟。 |
-| 交易数据存储在第 1 层链上,提高了透明度、安全性、抗审查性和去中心化性。 | 中心化卷叠运营商(排序者)可以影响交易排序。 |
-| 欺诈证明保证了去信任的确定性,并允许少数诚实节点保护链安全。 | 如果没有诚实节点,恶意运营商可以通过发布无效区块和状态承诺来窃取资金。 |
-| 计算欺诈证明对常规 L2 节点是开放的,这与需要特殊硬件的有效性证明(用于零知识卷叠中)不同。 | 安全模式依赖于至少一个诚实节点执行卷叠交易并提交欺诈证明来挑战无效的状态转换。 |
-| 卷叠受益于“去信任的活性”(任何人都可以通过执行交易和发布断言来强制链前进) | 用户必须等待一周的挑战期到期,然后才能将资金取回以太坊。 |
-| 乐观卷叠依赖于精心设计的加密经济激励措施来提高链上的安全性。 | 卷叠必须在链上发布所有交易数据,这会增加成本。 |
-| 与以太坊虚拟机和 Solidity 的兼容性允许开发者将以太坊原生智能合约移植到卷叠或使用现有工具来创建新的去中心化应用程序。 | |
-
-### 乐观卷叠的直观解释 {#optimistic-video}
-
-更愿意通过视频学习? 观看 Finematics 解说乐观卷叠:
-
-
-
-### 使用乐观卷叠 {#use-optimistic-rollups}
-
-乐观重叠有多种实现,你可以将其整合到你的去中心化应用程序中:
-
-
-
-## 阅读关于乐观卷叠的更多信息
-
-- [乐观卷叠如何工作(完整指南)](https://www.alchemy.com/overviews/optimistic-rollups)
-- [什么是区块链卷叠? 技术介绍](https://www.ethereum-ecosystem.com/blog/what-is-a-blockchain-rollup-a-technical-introduction)
-- [Arbitrum 基本指南](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum)
-- [乐观卷叠究竟如何工作?](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work)
-- [深入研究乐观虚拟机](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52)
-- [什么是乐观虚拟机?](https://www.alchemy.com/overviews/optimistic-virtual-machine)
diff --git "a/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/plasma/index.md" "b/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/plasma/index.md"
deleted file mode 100644
index d4666ae981d..00000000000
--- "a/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/plasma/index.md"
+++ /dev/null
@@ -1,175 +0,0 @@
----
-title: Plasma 链
-description: 这是一篇来源于以太坊社区的关于使用 plasma 来实现扩容解决方案的介绍文章
-lang: zh
-incomplete: true
-sidebarDepth: 3
----
-
-Plasma 链是一个锚定到以太坊主网的独立区块链,但却在链下执行交易,有自己的区块验证机制。 Plasma 链有时被称作“子”链,其本质是以太坊主网的较小副本。 Plasma 链使用[欺诈证明](/glossary/#fraud-proof)(如[乐观卷叠](/developers/docs/scaling/optimistic-rollups/))来仲裁争议。
-
-利用 Merkle 树可以创建这些链的无限堆栈,可以从父链(包括以太坊主网)分流带宽。 然而,虽然这些链从以太坊获取一些安全性(通过欺诈证明),但其安全性和效率受到若干设计限制的影响。
-
-## 前提条件 {#prerequisites}
-
-你应该对所有基础主题有很好的了解,并对[以太坊扩容](/developers/docs/scaling/)有较高层次的理解。
-
-## 什么是 Plasma?
-
-Plasma 是一个用于改善以太坊这类公共区块链的可扩展性的框架。 正如原 [Plasma 白皮书](http://plasma.io/plasma.pdf)中所述,Plasma 链是在另一个区块链之上构建的,该区块链被称为“根链”。 每个“子链”都从根链延伸而来,通常由部署在母链上的智能合约进行管理。
-
-Plasma 合约除了其他功能之外,还有一项功能是作为[链梁](/developers/docs/bridges/),让用户可以在以太坊主网和 plasma 链之间转移资产。 虽然这使它们类似于[侧链](/developers/docs/scaling/sidechains/),但 plasma 链至少在某种程度上受益于以太坊主网的安全性。 这一点不同于单独负责其安全性的侧链。
-
-## Plasma 如何工作?
-
-Plasma 框架的基本组成部分包括:
-
-### 链下计算 {#off-chain-computation}
-
-以太坊的当前处理速度限制为每秒 ~15-20 个交易,降低了短期内处理更多用户的扩容可能性。 这个问题之所以存在,主要是因为以太坊的[共识机制](/developers/docs/consensus-mechanisms/) 需要许多对等节点来验证对区块链状态的每次更新。
-
-尽管以太坊的共识机制对于安全性来说是必要的,但它可能并不适用于所有用例。 例如,由于双方之间存在某种信任,Alice 可能不需要每天向 Bob 支付一杯由整个以太坊网络验证的咖啡。
-
-Plasma 假设以太坊主网不需要验证所有交易。 相反,我们可以在主网外处理交易,使节点不必验证每笔交易。
-
-链下计算是必要的,因为 Plasma 链可以优化速度和成本。 例如,一个 Plasma 链可能,而且大多数情况下都使用单个“运营商”来管理交易的排序和执行。 由于只有一个实体验证交易,plasma 链上的处理速度比以太坊主网更快。
-
-### 状态承诺 {#state-commitments}
-
-虽然 Plasma 在链下执行交易,但它们是在以太坊主执行层上结算的,否则,Plasma 链无法从以太坊的安全保证中受益。 但是在不知道 Plasma 链状态的情况下完成链下交易会破坏安全模型并让无效交易扩散。 这就是为什么运营商,即负责在 Plasma 链上生产区块的实体,需要定期在以太坊上发布“状态承诺”。
-
-[承诺方案](https://en.wikipedia.org/wiki/Commitment_scheme)是一种加密技术,用于承诺价值或声明而不向另一方透露。 承诺是“有约束力的”,因为一旦你承诺了,就不能改变价值或声明。 Plasma 中的状态承诺采用“Merkle 根”的形式(源自 [Merkle 树](/whitepaper/#merkle-trees)),运营商每隔一段时间将其发送到以太坊链上的 Plasma 合约。
-
-Merkle 根是能够压缩大量信息的密码原语。 Merkle 根(在此情况下也称为“区块根”)可以代表区块中的所有交易。 Merkle 根还可以更容易地验证一小部分数据是否是较大数据集的一部分。 例如,用户可以生成 [Merkle 证明](/developers/tutorials/merkle-proofs-for-offline-data-integrity/#main-content)来证明交易包含在特定的区块中。
-
-Merkle 根对于向以太坊提供有关链下状态的信息非常重要。 你可以将 Merkle 根视为“保存点”:运营商表示,“这是 Plasma 链在 x 时间点的状态,这是 Merkle 根作为证明。” 运营商使用 Merkle 根对 Plasma 链的_当前状态_进行承诺,这就是为什么它被称为“状态承诺”。
-
-### 入口和出口 {#entries-and-exits}
-
-为了让以太坊用户利用 Plasma,需要有一种机制在主网和 Plasma 链之间转移资金。 但是,我们不能随意将以太币发送到 Plasma 链上的地址 — 这些链是不兼容的,因此交易要么失败,要么导致资金损失。
-
-Plasma 使用在以太坊上运行的主合约来处理用户的入口和出口。 该主合约还负责跟踪状态承诺(前面已解释)并通过欺诈证明惩罚不诚实行为(稍后将详细介绍)。
-
-#### 进入 plasma 链 {#entering-the-plasma-chain}
-
-要进入 Plasma 链,Alice(用户)必须在 Plasma 合约中存入以太币或任何 ERC-20 代币。 监视合约存款的 Plasma 运营商重新创建与 Alice 的初始存款相等的金额,并将其释放到她在 Plasma 链上的地址。 Alice 需要证明在子链上收到资金,然后才能使用这些资金进行交易。
-
-#### 退出 plasma 链 {#exiting-the-plasma-chain}
-
-由于几个原因,退出 plasma 链比进入它更复杂。 最大的问题是,虽然以太坊有关于 Plasma 链状态的信息,但它无法验证信息是否真实。 恶意用户可能会做出不正确的断言(“我有 1000 个以太币”)并提供虚假证据来支持该声明而侥幸逃脱。
-
-为防止恶意取款,引入了“挑战期”的概念。 在挑战期内(通常为一周),任何人都可以使用欺诈证明来挑战取款请求。 如果挑战成功,则取款请求被拒绝。
-
-但是,通常情况下,用户是诚实的,并对他们拥有的资金做出正确的声明。 在这种情况下,Alice 将通过向 Plasma 合约提交交易,在根链(以太坊)上发起取款请求。
-
-她还必须提供 Merkle 证明,验证在 Plasma 链上创建她的资金的交易是否包含在区块中。 这对于 Plasma 的迭代是必要的,例如[最小可行 Plasma](https://www.learnplasma.org/en/learn/mvp.html) 使用[未花费的交易输出 (UTXO)](https://en.wikipedia.org/wiki/Unspent_transaction_output) 模型。
-
-其他的,如 [Plasma Cash](https://www.learnplasma.org/en/learn/cash.html),将资金表示为[非同质化代币](/developers/docs/standards/tokens/erc-721/),而不是未花费的交易输出。 在这种情况下,取款需要证明 Plasma 链上代币的所有权。 这是通过提交涉及代币的两个最新交易并提供 Merkle 证明来验证这些交易是否包含在区块中来完成的。
-
-用户还必须在取款请求中添加保证金,作为诚实行为的保证。 如果挑战者证明 Alice 的取款请求无效,她的保证金将被罚没,其中一部分作为奖励交给挑战者。
-
-如果在没有任何人提供欺诈证明的情况下经过挑战期,Alice 的取款请求被认为是有效的,允许她从以太坊上的 Plasma 合约中取回存款。
-
-### 争议仲裁 {#dispute-arbitration}
-
-与任何区块链一样,Plasma 链需要一种机制确保交易的完整性,防止参与者的恶意行为(例如,资金双重支付)。 为此,plasma 链使用欺诈证明来仲裁有关状态转换有效性的争议并惩罚不良行为。 欺诈证明可作为一种机制,Plasma 子链通过它向父链或根链提出申诉。
-
-欺诈证明只是声称特定状态转换无效。 例如,如果用户 (Alice) 尝试两次花费相同的资金。 也许她在与 Bob 的交易中花费了未花费的交易输出,并希望在另一笔交易中花费相同的未花费的交易输出(现在是 Bob 的)。
-
-为了防止取款,Bob 将通过提供 Alice 在之前的交易中花费上述未花费的交易输出的证据以及交易包含在区块中的 Merkle 证明来构建欺诈证明。 在 Plasma Cash 中使用同样的流程 — Bob 需要提供证据,证明 Alice 先前已经转让她尝试提取的代币。
-
-如果 Bob 挑战成功,Alice 的取款请求将被取消。 但是,这种方法依赖于 Bob 监视链中取款请求的能力。 如果 Bob 离线,那么一旦挑战期过去,Alice 就可以处理恶意取款。
-
-## plasma 中的大规模退出问题 {#the-mass-exit-problem-in-plasma}
-
-当大量用户试图同时退出 Plasma 链时,就会出现大规模退出问题。 为什么会出现这个问题与 Plasma 的最大问题之一有关:**数据不可用**。
-
-数据可用性是验证提议区块的信息是否实际发布在区块链网络上的能力。 如果生产者自己发布区块但保留用于创建区块的数据,则该区块是“不可用的”。
-
-如果节点要能够下载区块并验证交易的有效性,区块必须是可用的。 区块链通过强制区块生产者在链上发布所有交易数据来确保数据可用性。
-
-数据可用性还有助于保护建立在以太坊基础层之上的链下扩容协议。 通过强制这些链上的运营商在以太坊上发布交易数据,任何人都可以通过构建引用正确链状态的欺诈证明来挑战无效区块。
-
-Plasma 链主要存储与运营商的交易数据,**不在主网上发布任何数据**(即,除了定期状态承诺之外)。 这意味着如果用户需要创建欺诈证明来挑战无效交易,他们必须依靠运营商提供区块数据。 如果该系统有效,则用户始终可以使用欺诈证明来保护资金。
-
-当运营商(而不仅仅是任何用户)是恶意行为的一方时,问题就开始了。 由于运营商完全控制区块链,他们更有动力更大规模地推进无效状态转换,例如窃取 Plasma 链上属于用户的资金。
-
-在这种情况下,使用经典的欺诈证明系统是行不通的。 运营商可以轻松地进行无效交易,将 Alice 和 Bob 的资金转移到他们的钱包中,并隐藏创建欺诈证明所需的数据。 这是可能的,因为运营商不需要向用户或主网提供数据。
-
-因此,最乐观的解决方案是尝试从 Plasma 链上“大规模退出”用户。 大规模退出减缓了恶意运营商窃取资金的计划,并为用户提供了一定程度的保护。 取款请求根据每个未花费的交易输出(或代币)的创建时间排序,防止恶意运营商抢先运行诚实用户。
-
-尽管如此,我们仍然需要一种方法来验证大规模退出期间取款请求的有效性,以防止机会主义个人在处理无效退出的混乱中获利。 解决方案很简单:要求用户发布**链的最后一个有效状态**,以退出他们的资金。
-
-但是这种方法仍然存在问题。 例如,如果 plasma 链上的所有用户都需要退出(在恶意运营商的情况下是可能的),那么 plasma 链的整个有效状态必须立即转储到以太坊的基础层。 由于 Plasma 链的任意大小(高吞吐量 = 更多数据)和以太坊处理速度的限制,这不是一个理想的解决方案。
-
-尽管退出游戏在理论上听起来不错,但现实生活中的大规模退出可能会引发以太坊本身的全网拥塞。 除了损害以太坊的功能外,协调不善的大规模退出意味着用户可能无法在运营商耗尽 Plasma 链上的每个帐户之前提取资金。
-
-## Plasma 的优缺点 {#pros-and-cons-of-plasma}
-
-| 优点 | 缺点 |
-| ------------------------------------------------------------------------- | --------------------------------------------------- |
-| 提供高吞吐量和较低的每笔交易成本。 | 不支持通用计算(无法运行智能合约)。 只支持特定逻辑的基本通证转账、兑换和几种其他交易类型。 |
-| 适合任意用户之间的交易(如果双方的交易都建立在 Plasma 链上,则这个交易几乎没有成本)。 | 需要定期监视网络(活性要求)或委托其他人监视网络,以确保你的资金安全。 |
-| Plasma 链可以适应与主链无关的特定用例。 包括企业在内的任何人都可以定制 Plasma 智能合约,以提供可在不同环境中工作的可扩展基础设施。 | 依靠一个或多个运营者来存储数据,并根据其需求提供数据。 |
-| 通过将计算和存储转移到链下来减少以太坊主网的负载。 | 为了等待挑战期,提款会延迟几天。 对于同质化资产,流动性提供者可以缓解这种情况,但存在相关的资本成本。 |
-| | 如果太多用户同时尝试退出,可能会导致以太坊主网堵塞。 |
-
-## Plasma 与第 2 层网络扩容协议 {#plasma-vs-layer-2}
-
-虽然 Plasma 曾被视为对以太坊有用的扩容解决方案,但后来它被弃用,取而代之的是[二层网络 (L2) 扩容协议](/layer-2/)。 二层网络扩容解决方案解决了 Plasma 的几个问题:
-
-### 效率 {#efficiency}
-
-[零知识卷叠](/developers/docs/scaling/zk-rollups)为在链下处理的每批交易的有效性生成加密证明。 这样可以防止用户(和运营商)推进的无效状态转换,因而不再需要挑战期和退出游戏。 这也意味着用户不必通过定期关注链来保护其资金安全。
-
-### 支持智能合约 {#support-for-smart-contracts}
-
-Plasma 框架的另一个问题是[无法支持以太坊智能合约的执行](https://ethresear.ch/t/why-smart-contracts-are-not-feasible-on-plasma/2598/4)。 因此,Plasma 的大多数实现主要是用于简单的支付或 ERC-20 代币交换。
-
-相反,乐观卷叠与[以太坊虚拟机](/developers/docs/evm/)兼容,并且可以运行以太坊原生[智能合约](/developers/docs/smart-contracts/),使其成为扩展[去中心化应用程序](/developers/docs/dapps/)的有用且_安全_的解决方案。 同样,正在计划[创建以太坊虚拟机的零知识实现 (zkEVM)](https://ethresear.ch/t/a-zk-evm-specification/11549),让零知识卷叠能够处理任意逻辑并执行智能合约。
-
-### 数据不可用 {#data-unavailability}
-
-如前所述,Plasma 存在数据可用性问题。 如果恶意运营商在 Plasma 链上推进了无效转换,用户将无法挑战它,因为运营商可以扣留创建欺诈证明所需的数据。 卷叠强制运营商在以太坊上发布交易数据,允许任何人验证链的状态并在必要时创建欺诈证明,从而解决了这个问题。
-
-### 大规模退出问题 {#mass-exit-problem}
-
-零知识卷叠和乐观卷叠均以不同方式解决了 Plasma 的大规模退出问题。 例如,零知识卷叠依靠加密机制来确保运营商在任何情况下都无法窃取用户的资金。
-
-同样,乐观卷叠对提款实施了延迟期,在延迟期任何人都可以提出挑战并阻止恶意提款请求。 虽然这类似于 Plasma,但不同之处在于验证者可以访问创建欺诈证明所需的数据。 因此,卷叠用户无需在慌乱中“争先恐后”地迁移到以太坊主网。
-
-## Plasma、侧链、分片技术之间有什么区别? {#plasma-sidechains-sharding}
-
-Plasma、侧链、分片技术有一定的相似度,因为它们都以某种方式连接到以太坊主网。 然而,连接到以太坊主网的级别和强度有所不同,这影响了这些扩容方案的安全属性。
-
-### Plasma 与侧链 {#plasma-vs-sidechains}
-
-[侧链](/developers/docs/scaling/sidechains/)是一条独立运行的区块链,通过双向桥梁连接到以太坊主网。 [桥梁](/bridges/)允许用户在两条区块链之间兑换代币以便在侧链进行交易,这缓解了以太坊主网上的拥塞并提升了可扩展性。 侧链采用独立的共识机制,它们通常比以太坊主网小得多。 因此,将资产桥接到这些区块链会增加风险;由于侧链模型中缺少从以太坊主网继承的安全保障,在侧链受到攻击时用户会面临资金损失的风险。
-
-相反,Plasma 链的安全性源自以太坊主网。 这让它们明显比侧链更安全。 侧链和 Plasma 链都可以采用不同的共识协议。但区别是 Plasma 链在以太坊主网上发布每个区块的默克尔根。 区块根是小段信息,可用来验证在 Plasma 链上进行的交易相关信息。 如果 Plasma 链遭到攻击,用户可以用适当的证据安全地将资金撤回到主网。
-
-### Plasma 与分片 {#plasma-vs-sharding}
-
-Plasma 链和分片链都定期向以太坊主网发布加密证明。 但是,两者具有不同的安全属性。
-
-分片链向主网提交“汇总头”,其中包含有关每个数据分片的详细信息。 主网上的节点验证和执行数据分片的有效性,减少无效分片转换的可能性并防止网络上出现恶意活动。
-
-Plasma 不同于此,因为主网只接收最少量的子链状态信息。 这意味着主网无法有效验证子链上进行的交易,降低了交易的安全性。
-
-**注意**:以太坊区块链分片已经不再包含在路线图中。 它已被卷叠及 [Danksharding](/roadmap/danksharding) 扩容方案所取代。
-
-### 使用 Plasma {#use-plasma}
-
-许多项目提供 Plasma 实现,你可以将它们集成到自己的去中心化应用程序中:
-
-- [Polygon](https://polygon.technology/)(原 Matic Network)
-
-## 延伸阅读 {#further-reading}
-
-- [学习 Plasma](https://www.learnplasma.org/en/)
-- [关于何为“共享安全”以及它为何如此重要的简单提示](https://old.reddit.com/r/ethereum/comments/sgd3zt/a_quick_reminder_of_what_shared_security_means/)
-- [侧链、Plasma 与分片](https://vitalik.eth.limo/general/2019/06/12/plasma_vs_sharding.html)
-- [了解 Plasma(第一部分):基础知识](https://www.theblockcrypto.com/amp/post/10793/understanding-plasma-part-1-the-basics)
-- [Plasma 的一生](https://medium.com/dragonfly-research/the-life-and-death-of-plasma-b72c6a59c5ad#)
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
diff --git "a/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/sidechains/index.md" "b/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/sidechains/index.md"
deleted file mode 100644
index 2fea96dd9fe..00000000000
--- "a/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/sidechains/index.md"
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: 侧链
-description: 介绍侧链 —— 以太坊社区目前正在使用的一种扩容方案。
-lang: zh
-sidebarDepth: 3
----
-
-侧链是独立于以太坊运行的独立区块链,通过双向桥梁与以太坊主网连接。 侧链可以有单独的区块参数和[共识算法](/developers/docs/consensus-mechanisms/),它们通常是为高效处理交易而设计的。 但是,使用侧链需要权衡取舍,因为它们未继承以太坊的安全属性。 与[二层网络扩容解决方案](/layer-2/)不同,侧链不会将状态变化和交易数据发布到以太坊主网。
-
-侧链还在一定程度上牺牲了去中心化或安全性来实现高吞吐量([可扩展性三难困境](https://vitalik.eth.limo/general/2021/05/23/scaling.html))。 然而,正如其升级[愿景声明](/roadmap/vision/)中所述,以太坊致力于在不影响去中心化和安全性的情况下扩容。
-
-## 侧链如何运作? {#how-do-sidechains-work}
-
-侧链是独立的区块链,具有不同的历史记录、开发路线图和设计考虑。 虽然和以太坊在表面上可能有一些相似之处,但侧链有几个独特的特征。
-
-### 共识算法 {#consensus-algorithms}
-
-使侧链独一无二(即不同于以太坊)的特点之一是使用了共识算法。 侧链不依赖以太坊达成共识,并可以选择适合其需求的替代共识协议。 侧链上使用的共识算法的一些示例包括:
-
-- [权威证明](/developers/docs/consensus-mechanisms/poa/)
-- [委托权益证明](https://en.bitcoin.it/wiki/Delegated_proof_of_stake)
-- [拜占庭容错算法](https://decrypt.co/resources/byzantine-fault-tolerance-what-is-it-explained)。
-
-与以太坊一样,侧链也有验证并处理交易、生成区块以及存储区块链状态的验证节点。 验证者还负责维护整个网络的共识,并保护网络免受恶意攻击。
-
-#### 区块参数 {#block-parameters}
-
-以太坊对[出块时间](/developers/docs/blocks/#block-time)(即产生新区块所需的时间)和[区块大小](/developers/docs/blocks/#block-size)(即以燃料为计量单位的每个区块包含的数据量)设置了限制。 相反,侧链通常采用不同的参数,例如更快的出块时间和更高的燃料限制,以实现高吞吐量、快速交易和低费用。
-
-虽然这样做有一些好处,但会对网络去中心化和安全性产生严重影响。 较快的出区块时间和较大的区块大小这样的区块参数,增加了运行全节点的难度,让一些“超级节点”负责保护区块链的安全。 在这种情况下,验证者串通或恶意接管区块链的可能性增加。
-
-为了使区块链在不损害去中心化的情况下扩容,必须所有人都可以运行节点,而不一定限于拥有专用硬件的各方。 这就是我们一直都在努力确保每个人都能在以太坊网络上[运行全节点](/developers/docs/nodes-and-clients/#why-should-i-run-an-ethereum-node)的原因。
-
-### 以太坊虚拟机兼容性 {#evm-compatibility}
-
-一些侧链与以太坊虚拟机兼容,并且能够执行为[以太坊虚拟机 (EVM) ](/developers/docs/evm/)开发的合约。 兼容以太坊虚拟机的侧链支持用 [Solidity 编写](/developers/docs/smart-contracts/languages/)的智能合约,也支持其他以太坊虚拟机智能合约语言,这意味着为以太坊主网编写的智能合约也将在兼容以太坊虚拟机的侧链上有效。
-
-这意味着,如果想在侧链上使用你的[去中心化应用程序](/developers/docs/dapps/),只需将你的[智能合约](/developers/docs/smart-contracts/)部署到该侧链即可。 侧链的外观、给人的感受和行为与主链相似,你仍然用 Solidity 编写合约,并通过侧链远程过程调用与侧链交互。
-
-由于侧链与以太坊虚拟机兼容,因而被视为对以太坊原生去中心化应用程序有效的[扩容解决方案](/developers/docs/scaling/)。 去中心化应用程序部署到侧链上后,用户可以获得更低的燃料费用和更快的交易速度,尤其是在主网拥塞的情况下。
-
-然而,正如前文所述,使用侧链需认真权衡其利弊。 每个侧链负责其自身安全性,没有继承以太坊的安全属性。 这增加了发生恶意行为的可能性,可能会影响到你的用户或使他们的资金面临风险。
-
-### 资产转移 {#asset-movement}
-
-为了使一条独立区块链成为以太坊主网的侧链,区块链必须能支持资产在它与以太坊主网之间转移。 这种与以太坊的互操作性是使用区块链桥梁实现的。 [桥梁](/bridges/)使用部署在以太坊主网和侧链上的智能合约控制两者之间的资金桥接。
-
-虽然桥梁可以帮助用户在以太坊和侧链之间转移资金,但实体资产不会在两条链之间移动。 而是采用通常与铸币和销毁相关的机制跨链转移价值。 更多关于[桥梁如何运作](/developers/docs/bridges/#how-do-bridges-work)的信息。
-
-## 侧链的优缺点 {#pros-and-cons-of-sidechains}
-
-| 优点 | 缺点 |
-| ------------------------------------------ | ------------------------------------ |
-| 支撑侧链的技术是成熟的,并得益于广泛的研究和设计的改进。 | 侧链在一定程度上牺牲了去中心化和去信任以换取可扩展性。 |
-| 侧链支持通用计算并提供以太坊虚拟机兼容性(它们可以运行以太坊原生去中心化应用程序)。 | 侧链使用单独的共识机制,并且没有从以太坊的安全保障中受益。 |
-| 侧链使用不同的共识模型,为用户高效处理交易并降低交易费。 | 侧链需要更高的信任假设(例如,恶意侧链验证者达到一定人数可以进行欺诈)。 |
-| 与以太坊虚拟机兼容的侧链允许去中心化应用程序扩展其生态系统。 | |
-
-### 使用侧链 {#use-sidechains}
-
-许多项目提供侧链实现,你可以将它们集成到自己的去中心化应用程序中:
-
-- [Polygon PoS](https://polygon.technology/solutions/polygon-pos)
-- [Skale](https://skale.network/)
-- [Gnosis Chain(原 xDai)](https://www.gnosischain.com/)
-- [Loom Network](https://loomx.io/)
-- [Metis Andromeda](https://www.metis.io/)
-
-## 延伸阅读 {#further-reading}
-
-- [通过侧链扩展以太坊去中心化应用程序](https://medium.com/loom-network/dappchains-scaling-ethereum-dapps-through-sidechains-f99e51fff447) _2018 年 2 月 8 日 - Georgios Konstantopoulos_
-
-_还有哪些社区资源对你有所帮助? 请编辑本页面并添加!_
diff --git "a/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/state-channels/index.md" "b/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/state-channels/index.md"
deleted file mode 100644
index dfa294a47a3..00000000000
--- "a/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/state-channels/index.md"
+++ /dev/null
@@ -1,67 +0,0 @@
----
-title: 状态通道
-description: 介绍了状态通道和付款渠道,作为以太坊社区目前使用的扩容解决方案。
-lang: zh
-sidebarDepth: 3
----
-
-状态通道让参与者可以安全地进行链下交易,同时最大限度地减少和以太坊主网的交互。 通道对等节点可以进行任意数量的链下交易,并且只需提交两个链上交易以打开和关闭通道。 这样便实现了极高的交易吞吐量,并为用户降低了成本。
-
-## {#how-do-sidechains-work}
-
-公共区块链,如以太坊,由于其分布式架构而面临可扩展性挑战:链上交易必须由所有节点执行。 节点必须能够使用普通硬件来处理区块中的交易量,为了保持网络去中心化而限制了交易吞吐量。
-
-### {#consensus-algorithms}
-
-通道是简单的对等协议,允许双方进行多笔交易,然后只将最终结果发布到区块链。 渠道使用加密算法证明产生的摘要数据确实是一组有效中间交易的结果。 [“多重签名”](/developers/docs/smart-contracts/#multisig)智能合约确保交易由正确的相关方签署。
-
-- []()
-- []()
--
-
-相关方通过通道执行和验证状态变化,最大限度减少以太坊执行层上的计算。 这就减少了以太坊拥塞,也提高了用户的交易处理速度。
-
-#### {#block-parameters}
-
-每条通道都由以太坊上运行的[多签智能合约](/developers/docs/smart-contracts/#multisig)管理。 要打开一条通道,参与者在链上部署通道合约并将资金存入其中。
-
-要关闭通道,参与者需要将各方一致同意的通道最终状态提交到链上。 然后,智能合约根据通道最终状态下每个参与者的余额分配锁定资金。
-
-对等通道在一些情况下非常有用,比如,某些预先确定的参与者希望频繁进行交易,并且不会产生明显的费用。 区块链通道分为两类:**支付通道**和**状态通道**。
-
-### {#evm-compatibility}
-
-将支付通道描述成由两个用户共同维护的“双向账本”最为恰当。 账本的初始余额是通道打开期间锁定在链上合约中的存款总和。
-
-账本余额的更新(即支付渠道的状态)需要渠道中所有各方的批准。 通道更新在所有通道参与者签署后被视为最终确定,这和以太坊上的交易非常相似。
-
-支付通道是最早的扩容方案之一,用于最大限度减少因简单的用户交互带来的高成本链上活动(例如,以太币转账、原子交换、小额支付)。 通道参与者彼此之间可以进行不限次数的即时、无费用交易,只要他们的转账总净额不超过存入的代币。
-
-除了支持链下支付外,尚未证实支付通道可用于处理通用状态转换逻辑。 创建状态通道是为了解决这个问题,并使通道可用于扩展通用计算。
-
-### {#asset-movement}
-
-状态通道与支付通道仍有很多共同点。 例如,当用户通过交换加密签名的信息(交易)进行互动时,另一些通道参与者也必须对信息签名。 如果提出的状态更新没有获得所有参与者的签名,则认为是无效的。
-
-## {#pros-and-cons-of-sidechains}
-
-| | |
-| | |
-| | |
-| | |
-| | |
-| | |
-
-### {#use-sidechains}
-
-- []()
-- []()
-- []()
-- []()
-- []()
-
-## {#further-reading}
-
--
-
-_ _
diff --git "a/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/validium/index.md" "b/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/validium/index.md"
deleted file mode 100644
index b298e4bc24b..00000000000
--- "a/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/validium/index.md"
+++ /dev/null
@@ -1,165 +0,0 @@
----
-title: Validium
-description: 介绍 Validium - 以太坊社区目前使用的一种扩容解决方案。
-lang: zh
-sidebarDepth: 3
----
-
-Validium 是一种[扩容解决方案](/developers/docs/scaling/),使用[零知识卷叠](/developers/docs/scaling/zk-rollups/)等有效性证明来执行交易的完整性,但它不在以太坊主网上存储交易数据。 虽然链下数据可用性是一种折衷方案,但它可以显著提升可扩展性(Validium 每秒可以处理[约 9000 笔交易,甚至更多](https://blog.matter-labs.io/zkrollup-vs-validium-starkex-5614e38bc263))。
-
-## 前提条件 {#prerequisites}
-
-你应该已经阅读并理解关于[以太坊扩容](/developers/docs/scaling/)和[二层网络](/layer-2)的页面。
-
-## 什么是 Validium? {#what-is-validium}
-
-Validium 是使用链下数据可用性和计算的扩展解决方案,旨在通过在以太坊主网外处理交易来提高吞吐量。 与零知识卷叠(ZK 卷叠)一样,Validium 发布[零知识证明](/glossary/#zk-proof)以便在以太坊上验证链下交易。 这样可以防止无效的状态转换并增强 Validium 链的安全保障。
-
-这些“有效性证明”可以有 ZK-SNARK(零知识简洁非交互式知识论证)或 ZK-STARK(零知识可扩展透明知识论证)等形式。 更多关于[零知识证明](https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/)的信息。
-
-属于 Validium 用户的资金由以太坊上的智能合约控制。 恰如零知识卷叠一样,Validium 几乎可以提供即时提款;在主网上验证提款请求的有效性证明后,用户可以通过提供[默克尔证明](/developers/tutorials/merkle-proofs-for-offline-data-integrity/)提取资金。 默克尔证明验证用户的提款交易是否包含在经过验证的交易批次中,从而允许链上合约处理提款。
-
-但是,Validium 用户可以冻结他们的资金并限制提款。 如果 Validium 链上的数据可用性管理器不给用户提供链下状态数据,就会发生这种情况。 如果无法访问交易数据,用户将无法计算证明资金所有权和执行提款所需的默克尔证明。
-
-这是 Validium 和零知识卷叠之间的主要区别,它们在数据可用性范围内的位置不同。 两种解决方案处理数据存储的方式不同,这会对安全性和去信任产生影响。
-
-## Validium 如何与以太坊交互? {#how-do-validiums-interact-with-ethereum}
-
-Validium 是建立在现有以太坊链上的扩容协议。 虽然它在链下执行交易,但 Validium 链由部署在主网上的一系列智能合约管理,包括:
-
-1. **验证者合约**:验证者合约验证 Validium 运营商在进行状态更新时所提交证明的有效性。 该合约包括证明链下交易正确性的有效性证明和验证链下交易数据存在的数据可用性证明。
-
-2. **主合约**:主合约存储区块生产者提交的状态承诺(默克尔根),并在链上验证有效性证明后更新 Validium 的状态。 该合约还处理 Validium 链上的存款和提款。
-
-Validium 还依赖以太坊主链实现:
-
-### 结算 {#settlement}
-
-在父链验证其有效性之前,无法完全确认在 Validium 上执行的交易。 所有在 Validium 上进行的业务最终都必须在主网上结算。 以太坊区块链还为 Validium 用户提供了“结算保障”,这意味着一旦提交到链上,链下交易就不能逆转或改变。
-
-### 安全性 {#security}
-
-作为结算层的以太坊也保证 Validium 上状态转换的有效性。 在 Validium 链上执行的链下交易通过以太坊基础层上的智能合约进行验证。
-
-如果链上验证者合约断定证明无效,则交易被拒绝。 这意味着运营商必须满足以太坊协议执行的有效性条件,然后才能更新 Validium 的状态。
-
-## Validium 如何运作? {#how-does-validium-work}
-
-### 交易 {#transactions}
-
-用户向运营商提交交易,运营商是负责在 Validium 链上执行交易的节点。 一些 Validium 可能采用单个运营商来执行链,或者依靠[权益证明 (PoS)](/developers/docs/consensus-mechanisms/pos/) 机制轮换运营商。
-
-运营商将交易聚合成一个批次并发送到证明线路进行证明。 证明线路接受交易批次(及其他相关数据)作为输入,并输出验证操作正确执行的有效性证明。
-
-### 状态承诺 {#state-commitments}
-
-Validium 的状态被哈希处理成默克尔树,其根存储在以太坊的主合约中。 默克尔根又称为状态根,作为对 Validium 上当前帐户状态和余额的加密承诺。
-
-要执行状态更新,运营商必须(在执行交易后)计算一个新的状态根并将提交给链上合约。 如果有效性证明得到证实,提出的状态被接受,Validium 切换到新的状态根。
-
-### 存款和提款 {#deposits-and-withdrawals}
-
-用户通过在链上合约中存入以太币(或任何与以太坊意见征求兼容的代币),将资金从以太坊转移到 Validium。 该合约将存款事件转发到链下 Validium,并向用户在 Validium 上的地址存入与其存款相同的金额。 运营商还将此存款交易添加到新批次中。
-
-要将资金转移回主网,Validium 用户发起提款交易并将其提交给运营商,后者验证提款请求并将其包含在批次中。 在用户能够退出系统前,他们在 Validium 链上的资产也被销毁。 一旦与该批次相关的有效性证明得到验证,用户就可以调用主合约来提取剩余的初始存款。
-
-作为一种抗审查机制,Validium 协议允许用户直接退出 Validium 合约,无需通过运营商。 在这种情况下,用户需要向验证者合约提供默克尔证明,证明帐户包含在状态根中。 如果证明被接受,用户可以调用主合约的提款函数,从 Validium 中提取他们的资金。
-
-### 批量提交 {#batch-submission}
-
-执行一批交易后,运营商向验证者合约提交相关有效性证明,并向主合约提出新的状态根。 如果证明是有效的,则主合约更新 Validium 的状态并最终确定批次中交易的结果。
-
-与零知识卷叠不同,Validium 上的区块生产者不需要发布交易批次的交易数据(仅发布区块头)。 这使得 Validium 成为一个纯粹的链下扩容协议,而不是在以太坊主链(例如 `calldata`)上发布状态数据的“混合”扩容协议(即[二层网络](/layer-2/))。
-
-### 数据可用性 {#data-availability}
-
-如上所述,Validium 利用一个链下数据可用性模型,运营商通过该模型将所有交易数据存储在以太坊主网之外。 Validium 的低链上数据足迹提升了可扩展性(吞吐量不受以太坊数据处理能力的限制),并降低了用户费用(发布 `calldata` 的成本降低)。
-
-然而,链下数据可用性带来了一个问题:创建或验证默克尔证明所需的数据可能不可用。 这意味着如果运营商采取恶意行为,用户可能无法从链上合约中提取资金。
-
-各种 Validium 解决方案试图通过以去中心化的方式存储状态数据来解决这个问题。 即,强制区块生产者将底层数据发送给“数据可用性管理器”,这些管理器负责存储链下数据并在用户请求时提供给用户。
-
-Validium 中的数据可用性管理器通过签署每个 Validium 批次来证明链下交易数据的可用性。 这些签名构成了一种“可用性证明”,链上验证者合约在批准状态更新之前对其进行检查。
-
-Validium 的数据可用性管理方法不同。 一些依赖受信任方存储状态数据,而另一些则使用随机指定的验证者。
-
-#### 数据可用性委员会 (DAC) {#data-availability-committee}
-
-为了保证链下数据的可用性,一些 Validium 解决方案指定了一组受信任的实体(统称为数据可用性委员会 (DAC))来存储状态副本并提供数据可用性证明。 由于成员较少,数据可用性委员会更容易实施并且需要较少的协调。
-
-但是,用户必须信任数据可用性委员会,才能在需要时(例如用于生成默克尔证明)获得数据。 数据可用性委员会的成员有可能[被恶意行为者入侵](https://notes.ethereum.org/DD7GyItYQ02d0ax_X-UbWg?view),然后会扣留链下数据。
-
-[更多关于 Validium 中数据可用性委员会的信息](https://medium.com/starkware/data-availability-e5564c416424)。
-
-#### 绑定数据可用性 {#bonded-data-availability}
-
-其他 Validium 要求负责存储离线数据的参与者在承担其角色之前在智能合约中质押(即锁定)代币。 这种质押作为“保证金”,保证数据可用性管理者之间采取的诚实行为并减少信任假设。 如果这些参与者不能证明数据的可用性,那么保证金就会被惩没。
-
-在绑定数据可用性方案中,任何人在提供要求的质押后,都可以指定其保存链下数据。 这扩大了合格数据可用性管理者池,削弱了对数据可用性委员会 (DAC) 造成影响的中心化。 更重要的是,这种方法依赖于加密经济激励措施防止恶意活动,这比指定受信任方在 Validium 中保护离线数据要安全得多。
-
-[更多关于 Validium 中绑定数据可用性的信息](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf)。
-
-## Volitions 和 Validium {#volitions-and-validium}
-
-Validium 提供了诸多好处,但也进行了折衷(最值得注意的是数据可用性)。 但是,与许多扩容解决方案一样,Validium 适合特定的用例,这就是 Volitions 方案出现的原因。
-
-Volitions 结合了零知识卷叠和 Validium 链,它允许用户在两种扩容解决方案之间切换。 使用 Volitions,用户可以利用 Validium 的链下数据可用性进行某些交易,同时可以在需要时自由地切换到链上数据可用性解决方案(零知识卷叠)。 这实质上使用户可以根据他们的独特情况自由地进行权衡取舍。
-
-去中心化交易所 (DEX) 可能更喜欢使用 Validium 的可扩展和私有基础设施进行大额交易。 它还可以为需要零知识卷叠更高安全性保证和去信任性的用户使用零知识卷叠。
-
-## Validium 和以太坊虚拟机的兼容性 {#validiums-and-evm-compatibility}
-
-与零知识卷叠一样,Validium 最适合简单的应用,例如代币交换和支付。 鉴于在零知识证明线路中证明[以太坊虚拟机](/developers/docs/evm/)指令的开销很大,因此在 Validium 之间很难为通用计算和智能合约执行提供支持。
-
-一些 Validium 项目试图通过编译与以太坊虚拟机兼容的语言(例如 Solidity、Vyper)来生成针对高效证明而优化的自定义字节码,从而回避这个问题。 这种方法的一个缺点是零知识证明友好的新的虚拟机可能不支持重要的以太坊虚拟机操作码,而且开发者必须直接用高级语言编写才能获得最佳体验。 这带来了更多问题:它迫使开发者使用全新的开发堆栈构建去中心化应用程序,并破坏了与当前以太坊基础设施的兼容性。
-
-然而,一些团队正在尝试针对零知识证明线路优化现有以太坊虚拟机操作码。 这将导致零知识以太坊虚拟机 (zkEVM) 的开发,这是一种与以太坊虚拟机兼容的虚拟机,可生成验证程序是否正确执行的证明。 使用零知识以太坊虚拟机,Validium 链可以在链下执行智能合约并提交有效性证明,以便在以太坊上验证链下计算(无需重新执行)。
-
-[更多关于零知识以太坊虚拟机的信息](https://www.alchemy.com/overviews/zkevm)。
-
-## Validium 如何扩展以太坊? {#scaling-ethereum-with-validiums}
-
-### 1. 链下数据存储 {#off-chain-data-storage}
-
-二层网络扩容项目(例如乐观卷叠和零知识卷叠)通过将部分交易数据发布到一层网络,牺牲了纯链下扩容协议(例如 [Plasma](/developers/docs/scaling/plasma/))的无限可扩展性来换取安全性。 然而,这意味着卷叠的可扩展性属性受到以太坊主网上数据带宽的限制(因此,[数据分片](/roadmap/danksharding/)提议要提高以太坊的数据存储容量)。
-
-Validium 实现了可扩展性,它将所有交易数据保存在链下并且在将状态更新传送到以太坊主链时仅发布状态承诺(和有效性证明)。 然而,有效性证明的存在为 Validium 提供了比其他纯链下扩容解决方案(包括 Plasma 和[侧链](/developers/docs/scaling/sidechains/))更高的安全保障。 通过减少以太坊在验证链下交易之前必须处理的数据量,Validium 设计极大地提升了主网上的吞吐量。
-
-### 2. 递归证明 {#recursive-proofs}
-
-递归证明是一种有效性证明,它验证其他证明的有效性。 这些“证明的证明”的生成方式如下:通过以递归方式聚合多个证明直到创建一个可验证所有先前证明的最终证明,即递归证明。 递归证明通过增加每个有效性证明可以验证的交易数量来提升区块链处理速度。
-
-通常,Validium 运营商提交到以太坊作验证用途的每个有效性证明都会验证单个区块的完整性。 而一个递归证明可用来同时确认几个 Validium 区块的有效性 — 这是可能的,因为证明线路能够以递归方式将几个区块证明聚合成一个最终证明。 如果链上验证者合约接受递归证明,则所有底层区块都会立即最终确定。
-
-## Validium 的优缺点 {#pros-and-cons-of-validium}
-
-| 优点 | 缺点 |
-| ---------------------------------- | --------------------------------------------------------- |
-| 有效性证明强制验证链下交易的完整性,并阻止运营商最终定无效状态更新。 | 生成有效性证明需要使用专用硬件,这会带来中心化风险。 |
-| 提高用户的资本效率(将资金提取回以太坊时不会出现延迟) | 对通用计算/智能合约的支持有限;开发需要专门语言。 |
-| 在高价值应用中,不容易受到基于欺诈证明的系统所面临的某些经济攻击。 | 生成零知识证明需要强大的算力;对于低吞吐量的应用不具有成本效益。 |
-| 通过不将调用数据发布到以太坊主网来降低用户的燃料费用。 | 较慢的主观最终确定性时间(生成零知识证明需要 10-30 分钟),但完全最终确定性要快一些,因为没有争议时间延迟。 |
-| 适用于特定用例,例如优先考虑交易隐私和可扩展性的交易或区块链游戏。 | 可以防止用户提取资金,因为生成所有权的默克尔证明需要链下数据始终可用。 |
-| 链下数据可用性提升了吞吐量并增强了可扩展性。 | 安全模型依赖于信任假设和加密经济激励措施,与完全依赖加密安全机制的零知识卷叠不同。 |
-
-### 使用 Validium/Volitions {#use-validium-and-volitions}
-
-许多项目提供 Validium 和 Volitions 实现,你可以将它们集成到自己的去中心化应用程序中:
-
-**StarkWare StarkEx** - _StarkEx 是基于有效性证明的以太坊二层网络 (L2) 可扩展性解决方案。 它可以在零知识卷叠或 Validium 数据可用性模式下运行。_
-
-- [相关文档](https://docs.starkware.co/starkex-v4/starkex-deep-dive/data-availability-modes#validium)
-- [网站](https://starkware.co/starkex/)
-
-**Matter Labs zkPorter**- _zkPorter 是一个二层扩容协议,它用一种结合了零知识卷叠和分片观点的混合方法来处理数据可用性。 它支持任意多个分片,每个分片都有自己的数据可用性策略。_
-
-- [博客](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf)
-- [相关文档](https://docs.zksync.io/zk-stack/concepts/data-availability)
-- [网站](https://zksync.io/)
-
-## 延伸阅读 {#further-reading}
-
-- [Validium 和二层 2 x 2 矩阵 — 第 99 期](https://www.buildblockchain.tech/newsletter/issues/no-99-validium-and-the-layer-2-two-by-two)
-- [零知识卷叠与 Validium](https://blog.matter-labs.io/zkrollup-vs-validium-starkex-5614e38bc263)
-- [Volition 与新兴数据可用性范围](https://medium.com/starkware/volition-and-the-emerging-data-availability-spectrum-87e8bfa09bb)
-- [Rollups、Validium 和 Volitions:了解最热门的以太坊扩容解决方案](https://www.defipulse.com/blog/rollups-validiums-and-volitions-learn-about-the-hottest-ethereum-scaling-solutions)
diff --git "a/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/zk-rollups/index.md" "b/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/zk-rollups/index.md"
deleted file mode 100644
index 32d806db688..00000000000
--- "a/public/content/translations/zh/24) Advanced Docs \342\200\223 Scaling/developers/docs/scaling/zk-rollups/index.md"
+++ /dev/null
@@ -1,259 +0,0 @@
----
-title: 零知识卷叠
-description: 零知识卷叠简介 — 以太坊社区使用的一种扩容解决方案。
-lang: zh
----
-
-零知识卷叠(ZK 卷叠)是二层网络[扩容解决方案](/developers/docs/scaling/),通过将计算和状态存储转移到链下进行提高了以太坊主网吞吐量。 零知识卷叠可以处理一个批次中的数千笔交易,但仅将一部分最少量的摘要数据发布到主网。 这些摘要数据确定了应对以太坊状态进行的变化以及一些证明这些变化正确性的加密证明。
-
-## 前提条件 {#prerequisites}
-
-你应该已经阅读并理解关于[以太坊扩容](/developers/docs/scaling/)和[二层网络](/layer-2)的页面。
-
-## 什么是零知识卷叠? {#what-are-zk-rollups}
-
-**零知识卷叠(ZK 卷叠)**将在链下执行的交易打包(或“卷叠”)成批。 链下计算减少了必须发布到区块链的数据量。 零知识卷叠运营商提交用于表示批次中所有交易的变化摘要,而不是单独发送每笔交易。 他们还生成[有效性证明](/glossary/#validity-proof)来证明状态变化的正确性。
-
-零知识卷叠的状态由部署在以太坊网络上的智能合约维护。 为了更新这个状态,零知识卷叠节点必须提交一个有效性证明进行验证。 如前所述,有效性证明是一种加密保证,即卷叠提出的状态变化确实是执行给定批次交易的结果。 这意味着零知识卷叠只需提供有效性证明即可在以太坊上最终确定交易,而不是像[乐观卷叠](/developers/docs/scaling/optimistic-rollups/)那样将所有交易数据发布到链上。
-
-将资金从零知识卷叠转移到以太坊时不会出现延迟,因为一旦零知识卷叠合约验证了有效性证明后,就会执行退出交易。 相反,从乐观卷叠中提取资金会产生延迟,让任何人都可以使用[欺诈证明](/glossary/#fraud-proof)来挑战退出交易。
-
-零知识卷叠将交易作为 `calldata` 写入以太坊。 对智能合约函数进行的外部调用中包含的数据就存储在 `calldata` 中。 `calldata` 中的信息发布在区块链上,让任何人都可以独立重建该卷叠的状态。 零知识卷叠使用压缩技术减少交易数据 — 例如,帐户用索引而不是地址表示,这样可以节省 28 字节的数据。 链上数据发布占据卷叠的大部分成本,因此数据压缩可以降低用户的费用。
-
-## 零知识卷叠如何与以太坊交互? {#zk-rollups-and-ethereum}
-
-零知识卷叠链是一种在以太坊区块链上运行并由链上以太坊智能合约管理的链下协议。 零知识卷叠在主网之外执行交易,但会定期将链下交易批次提交到链上卷叠合约。 与以太坊区块链非常相像,这种交易记录是不可更改的并形成了零知识卷叠链。
-
-零知识卷叠的核心架构由以下组件构成:
-
-1. **链上合约**:如前所述,零知识卷叠协议由运行在以太坊上的智能合约控制。 其中包括存储卷叠区块、跟踪存款并监控状态更新的主合约。 另一个上链上合约(验证者合约),它验证区块生产者提交的零知识证明。 因此,以太坊充当零知识卷叠的基础层或“一层网络”。
-
-2. **链下虚拟机 (VM)**:虽然零知识卷叠协议存在于以太坊上,但交易执行和状态存储却在独立于[以太坊虚拟机](/developers/docs/evm/)的单独虚拟机中进行。 这种链下虚拟机是零知识卷叠上交易的执行环境,并作为零知识卷叠协议的第二层或“二层网络”。 在以太坊主网上验证的有效性证明保证链下虚拟机中状态转换的正确性。
-
-零知识卷叠是“混合扩容解决方案” — 独立运行但从以太坊获得安全性的链下协议。 具体来说,以太坊网络强制执行零知识卷叠上状态更新的有效性,并保证每次更新卷叠状态时后台数据的可用性。 因此,零知识卷叠比纯链下扩容解决方案安全得多,例如负责其安全属性的[侧链](/developers/docs/scaling/sidechains/),或 [Validium](/developers/docs/scaling/validium/),它也使用有效性证明在以太坊上验证交易但将交易数据存储在别处。
-
-零知识卷叠依赖以太坊主协议获得:
-
-### 数据可用性 {#data-availability}
-
-零知识卷叠将链下处理的每笔交易的状态数据发布到以太坊。 通过这些数据,个人或企业就可以复制卷叠的状态并自行验证链。 以太坊将这些数据作为 `calldata` 提供给网络的所有参与者。
-
-零知识卷叠不需要在链上发布过多交易数据,因为有效性证明已经验证了状态转换的真实性。 尽管如此,在链上存储数据仍然很重要,因为这样便可以无需许可对二层网络链的状态进行独立验证,从而让任何人可以提交批量交易并阻止恶意运营商审查或冻结链。
-
-用户需要在链上与卷叠交互。 如果无法访问状态数据,用户将无法查询帐户余额或发起依赖状态信息的交易(例如提款)。
-
-### 交易确定性 {#transaction-finality}
-
-以太坊充当零知识卷叠的结算层:只有当一层网络合约接受有效性证明时,二层网络交易才会最终确定。 这就化解了恶意运营商破坏链的风险(例如,窃取卷叠资金),因为每笔交易都必须在主网上得到批准。 此外,以太坊保证一旦在一层网络上最终确定后,用户操作就不能被逆转。
-
-### 抗审查 {#censorship-resistance}
-
-大多数零知识卷叠使用“超级节点”(运营商)来执行交易、生产批次并将区块提交到一层网络。 尽管这样做保证了效率,但也增加了审查风险:恶意零知识卷叠运营商可以通过拒绝将用户的交易添加到批次中来审查用户。
-
-作为一项安全措施,零知识卷叠允许用户在认为自己受到运营商审查时直接向主网上的卷叠合约提交交易。 这允许用户强制从零知识卷叠退出到以太坊,而无需依赖运营商的许可。
-
-## 零知识卷叠如何运作? {#how-do-zk-rollups-work}
-
-### 交易 {#transactions}
-
-零知识卷叠中的用户签署交易,提交给二层网络运营商进行处理并添加到下一批次中。 在某些情况下,运营商是一个中心化实体(即排序者),它执行交易,将交易聚合成批次,然后提交到一层网络。 该系统中的排序者是唯一获得允许可生成二层网络区块并将卷叠交易添加到零知识卷叠合约的实体。
-
-其他零知识卷叠可以通过一组[权益证明](/developers/docs/consensus-mechanisms/pos/)验证者轮换运营商角色。 潜在的运营商将资金存入卷叠合约,每份质押的额度会影响质押者被选中生产下一批次卷叠的机会。 如果运营商实施恶意行为,他们的质押会被罚没,这会激励他们发布有效的区块。
-
-#### 零知识卷叠如何在以太坊上发布交易数据 {#how-zk-rollups-publish-transaction-data-on-ethereum}
-
-如前所述,交易数据作为 `calldata` 发布到以太坊上。 `calldata` 是智能合约中的数据区,用于将参数传递给函数,其行为类似于[内存](/developers/docs/smart-contracts/anatomy/#memory)。 虽然 `calldata` 不存储到以太坊状态中,但它作为以太坊链[历史日志](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs)的一部分一直存在于链上。 `calldata` 不会影响以太坊的状态,使其成为一种在链上存储数据的实惠方式。
-
-`calldata` 关键字通常标识交易调用的智能合约方法,并以任意字节序列的形式保存该方法的输入。 零知识卷叠使用 `calldata` 将压缩的交易数据发布到链上;卷叠运营商只需通过调用卷叠合约中所需的函数来添加一个新批次,并将压缩数据作为函数参数传递。 这有助于降低用户的成本,因为大部分卷叠费用用于在链上存储交易数据。
-
-### 状态承诺 {#state-commitments}
-
-零知识卷叠的状态包括二层网络帐户和余额,用[默克尔树](/whitepaper/#merkle-trees)表示。 默克尔树根(默克尔根)的加密哈希存储在链上合约中,让卷叠协议可以跟踪零知识卷叠状态的变化。
-
-在执行一组新交易后,卷叠交易转换到新状态。 发起状态转换的运营商需要计算一个新的状态根并提交到链上合约。 如果与批次相关的有效性证明通过验证者合约的身份验证,则新默克尔根将成为零知识卷叠的规范状态根。
-
-除了计算状态根之外,零知识卷叠运营商还创建了一个批处理根 — 包含批处理中所有交易的默克尔树的根。 当提交新批次时,卷叠合约存储批次根,允许用户证明交易(例如,提款请求)包含在批次中。 用户必须提供交易详情、批次根和显示包含路径的 [Merkle 证明](/developers/tutorials/merkle-proofs-for-offline-data-integrity/)。
-
-### 有效性证明 {#validity-proofs}
-
-零知识卷叠运营商提交到一层网络合约的新状态根是卷叠状态更新的结果。 假设 Alice 向 Bob 发送了 10 个代币,运营商只需将 Alice 的余额减少 10 并将 Bob 的余额增加 10。 然后运营商对更新后的帐户数据进行哈希处理,重建卷叠的默克尔树,并将新默克尔根提交到链上合约。
-
-但是,在运营商证明新默克尔根是由卷叠状态的正确更新产生之前,卷叠合约不会自动接受提出的状态承诺。 零知识卷叠运营商通过生成有效性证明来做到这一点,有效性证明是一种简单的加密承诺,用于验证批量交易的正确性。
-
-有效性证明允许参与方在不透露陈述本身的情况下证明陈述的正确性 — 因此,它们又称为零知识证明。 零知识卷叠使用有效性证明确认链下状态转换的正确性,而无需在以太坊上重新执行交易。 这些证明可以有 [ZK-SNARK](https://arxiv.org/abs/2202.06877)(零知识简洁非交互式知识论证)或 [ZK-STARK](https://eprint.iacr.org/2018/046)(零知识可扩容透明知识论证)两种形式。
-
-SNARK 和 STARK 都有助于证明零知识卷叠中链下计算的完整性,尽管每种证明类型都有不同的特征。
-
-**零知识简洁非交互式知识论证 (ZK-SNARK)**
-
-为了让 ZK-SNARK 协议起作用,必须创建公共参考字符串 (CRS),公共参考字符串提供公共参数来证明和验证有效性证明。 证明系统的安全性取决于公共参考字符串设置;如果用于创建公共参数的信息落入恶意行为者手中,他们可能会生成虚假的有效性证明。
-
-一些零知识卷叠尝试通过采用[多方计算仪式 (MPC)](https://zkproof.org/2021/06/30/setup-ceremonies/amp/) 解决这一问题,即让受信任个人为 ZK-SNARK 线路生成公共参数。 每一方都提供一些随机性(称为“有毒废物”)来构建公共参考字符串,而且必须立即将其销毁。
-
-使用受信任的设置,因为它们提高了公共参考字符串设置的安全性。 只要诚实参与者销毁其输入,ZK-SNARK 系统的安全性就得到了保证。 这种方法仍然需要信任相关人员删除他们抽样的随机性,并且不会破坏系统的安全保障。
-
-撇开信任假设不谈,ZK-SNARK 因其更小的证明大小和恒定时间验证而广受欢迎。 由于运行零知识卷叠的较大一部分成本用于一层网络上的证明验证,因此二层网络使用 ZK-SNARK 生成可在主网上快速、经济实惠地验证的证明。
-
-**零知识可扩容透明知识论证 (ZK-STARK)**
-
-与 ZK-SNARK 一样,ZK-STARK 证明链下计算的有效性而不会透露输入。 然而,ZK-STARK 被认为是对 ZK-SNARK 的改进,因为前者具有可扩展性和透明性。
-
-ZK-STARK 是“透明的”,因为无需受信任的公共参考字符串 (CRS) 设置,它们就可以工作。 然而,ZK-STARK 依靠可公开验证的随机性来设置用于生成和验证证明的参数。
-
-ZK-STARK 还提供了更强的可扩展性,因为证明和验证有效性证明所需的时间相对于底层计算的复杂性呈_准线性_增加。 对于 ZK-SNARK,证明和验证时间相对于底层计算的规模呈_线性_增加。 这意味着在涉及大型数据集时,ZK-STARK 比 ZK-SNARK 的证明和验证时间更少,这使得前者适用于大批量应用。
-
-ZK-STARK 对于量子计算机也是安全的,而 ZK-SNARK 中使用的椭圆曲线密码学 (ECC) 被广泛认为容易受到量子计算攻击。 ZK-STARK 的缺点是它们产生的证明尺寸更大,在以太坊上验证的成本更高。
-
-#### 有效性证明如何在零知识卷叠中运作? {#validity-proofs-in-zk-rollups}
-
-##### 证明生成
-
-在接受交易之前,运营商将进行常规检查。 包括确认:
-
-- 发送者和接收者帐户是状态树的一部分。
-- 发送者有足够的资金处理交易。
-- 交易是正确的并与卷叠中发送者的公钥匹配。
-- 发送者的随机数是正确的,等等。
-
-在零知识卷叠节点有足够的交易后,该节点将这些交易聚合成一个批次并为证明线路编译输入,从而编译成简单的零知识证明。 其中包括:
-
-- 一个包含批次中所有交易的默克尔树根。
-- 用于证明交易包含在批次中的默克尔交易证明。
-- 交易中每个发送者-接收者对的默克尔证明,用于证明这些帐户是卷叠状态树的一部分。
-- 一组中间状态根,通过在应用每笔交易的状态更新(即减少发送方帐户并增加接收方帐户)之后更新状态根获得。
-
-证明线路通过“遍历”每笔交易并执行和运营商执行的相同检查来计算有效性证明,之后再处理交易。 首先,它使用提供的默克尔证明来验证发送者的帐户是现有状态根的一部分。 然后它减少发送者的余额,增加他们的随机数,对更新的帐户数据进行哈希处理,并将其与默克尔证明结合以生成一个新的默克尔根。
-
-这个默克尔根反映出零知识卷叠状态的唯一变化:发送者余额和随机数的变化。 这是可能出现的,因为用来证明帐户存在的默克尔证明用于产生新的状态根。
-
-证明线路对接收者帐户执行相同过程。 它(使用默克尔证明)检查接收者帐户是否存在于中间状态根下,增加他们的余额,对帐户数据重新进行哈希处理,并将其与默克尔证明结合以生成新的状态根。
-
-该过程对每笔交易重复;每次“循环”均会通过更新发送者帐户创建一个新的状态根,并通过更新接收者帐户随后创建一个新状态根。 如前所述,状态根的每次更新都代表卷叠状态树变化的一部分。
-
-零知识证明线路迭代整个交易批次,并在执行最后一个交易后验证导致最终状态根的更新顺序。 最后计算的默克尔根成为零知识卷叠的最新规范状态根。
-
-##### 证明验证
-
-在证明线路验证状态更新的正确性后,二层网络运营商将计算出的有效性证明提交给一层网络上的验证者合约。 合约的验证线路验证证明的有效性,并检查证明中包含的公共输入:
-
-- **前状态根**:零知识卷叠的旧状态根(在执行交易批次之前),表示二层网络链的前一个已知有效状态。
-
-- **后状态根**:零知识卷叠的新状态根(执行交易批次之后),表示二层网络链的最新状态。 后状态根是在证明线路中应用状态更新后产生的最终根。
-
-- **批处理根**:批次的默克尔根,通过_默克尔化_批次中的交易并对树根进行哈希处理得到。
-
-- **交易输入**:与在已提交批次中执行的交易相关的数据。
-
-如果证明符合线路条件(即证明是有效的),则意味着存在一系列有效交易,这些交易将卷叠从先前状态(由前状态根提供加密指纹)转换到新状态(由后状态根提供加密指纹)。 如果前状态根与存储在卷叠合约中的根匹配,并且证明是有效的,则卷叠合约从证明中获取后状态根并更新其状态树以反映卷叠的状态变化。
-
-### 进入和退出 {#entries-and-exits}
-
-用户通过向部署在一层网络链上的卷叠合约中存入代币来进入零知识卷叠。 此交易已排队,因为只有运营商才能将交易提交到卷叠合约。
-
-如果待处理的存款队列开始填满,零知识卷叠运营商将接受存款交易并将其提交到卷叠合约。 一旦用户的资金存入卷叠后,他们就可以通过将交易发送给运营商进行处理来开始交易。 用户可以验证他们在卷叠上的余额,方法是对其帐户进行哈希处理,将哈希值发送到卷叠合约,并提供对照当前状态根进行验证的默克尔证明。
-
-从零知识卷叠撤回到一层网络很简单。 用户通过将其卷叠上的资产发送到指定帐户进行销毁来发起退出交易。 如果运营商将该交易添加到下一批次中,用户可以向链上合约提交提款请求。 该提款请求将包括以下内容:
-
-- 默克尔证明,证明用户的交易添加到交易批次中的销毁帐户
-
-- 交易数据
-
-- 批处理根
-
-- 一层网络地址,用于接收存入资金
-
-卷叠合约对交易数据进行哈希处理,检查批处理根是否存在,并使用默克尔证明检查交易哈希是否是批处理根的一部分。 之后,合约执行退出交易并将资金发送到用户选择的一层网络上的地址。
-
-## 零知识卷叠和以太坊虚拟机的兼容性 {#zk-rollups-and-evm-compatibility}
-
-与乐观卷叠不同,零知识卷叠不直接与[以太坊虚拟机 (EVM)](/developers/docs/evm/) 兼容。 在线路中证明通用以太坊虚拟机计算比证明简单计算(如前面描述的代币转账),更加困难且更加耗费资源。
-
-然而,[零知识技术的进步](https://hackmd.io/@yezhang/S1_KMMbGt#Why-possible-now)重新点燃了将以太坊虚拟机计算封装在零知识证明中的兴趣。 这些努力旨在创建一个零知识以太坊虚拟机 (zkEVM) 实现,它可以高效验证程序执行的正确性。 零知识以太坊虚拟机重新创建在线路中进行证明/验证的现有以太坊虚拟机操作码,从而允许执行智能合约。
-
-与以太坊虚拟机一样,零知识以太坊虚拟机在对某些输入执行计算之后在状态之间转换。 差别在于零知识以太坊虚拟机还创建了零知识证明,验证程序执行中每一步的正确性。 有效性证明可以验证影响虚拟机状态(内存、堆栈、存储)和计算本身的操作的正确性(即,操作是否调用了正确的操作码并正确执行它们?)。
-
-与以太坊虚拟机兼容的零知识卷叠的引入,有望帮助开发者利用零知识证明的可扩展性和安全保障。 更重要的是,与原生以太坊基础设施的兼容性意味着,开发者可以使用熟悉(且经过实战考验)的工具和语言构建零知识友好的去中心化应用程序。
-
-## 零知识卷叠的费用如何运作? {#how-do-zk-rollup-fees-work}
-
-用户为零知识卷叠上的交易支付多少费用取决于燃料费用,就像在以太坊主网上一样。 但是,燃料费用在二层网络上的运作方式不同,并受以下费用影响:
-
-1. **状态写入**:写入以太坊状态(即在以太坊区块链上提交交易)有固定费用。 零知识卷叠通过批量处理交易并将固定费用分摊给多名用户来降低该费用。
-
-2. **数据发布**:零知识卷叠将每笔交易的状态数据作为 `calldata` 发布到以太坊。 `calldata` 费用目前由 [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) 监管,它规定对于 `calldata` 的非零字节和零字节费用分别为 16 单位和 4 单位燃料。 每笔交易支付的费用受需要在链上为其发布多少 `calldata` 的影响。
-
-3. **二层网络运营商费用**:这是支付给卷叠运营商的金额,用于补偿处理交易产生的计算费用,很像以太坊主网上的[交易“优先费(小费)”](/developers/docs/gas/#how-are-gas-fees-calculated)。
-
-4. **证明生成和验证**:零知识卷叠运营商必须为交易批次生成有效性证明,该操作耗费大量资源。 在主网上验证零知识证明也需要花费燃料(约 500,000 单位燃料)。
-
-除了批量处理交易之外,零知识卷叠通过压缩交易数据降低用户的费用。 你可以[查看实时概览](https://l2fees.info/),了解使用以太坊零知识卷叠的费用。
-
-## 零知识卷叠如何扩展以太坊? {#scaling-ethereum-with-zk-rollups}
-
-### 交易数据压缩 {#transaction-data-compression}
-
-零知识卷叠通过在链下计算来提升以太坊基础层的吞吐量,但真正提升扩容的是压缩交易数据。 以太坊的[区块大小](/developers/docs/blocks/#block-size)限制了每个区块可以保存的数据,进而限制了每个区块处理的交易数量。 通过压缩交易相关数据,零知识卷叠显著增加了每个区块处理的交易数量。
-
-零知识卷叠能够比乐观卷叠更好地压缩交易数据,因为它们不必发布验证每笔交易所需的所有数据。 它们只需要发布在卷叠上重建帐户和余额的最新状态所需的最少量数据。
-
-### 递归证明 {#recursive-proofs}
-
-零知识证明的一个优点是证明可以验证其他证明。 例如,单个 ZK-SNARK 可以验证其他 ZK-SNARK。 这种“证明的证明”被称为递归证明,它们显著提高了零知识卷叠的吞吐量。
-
-目前,有效性证明是逐块生成的,并提交给一层网络合约进行验证。 然而,验证单个区块证明限制了零知识卷叠可以实现的吞吐量,因为当运营商提交证明时只能最终确定一个区块。
-
-然而,递归证明可以用一个有效性证明最终确定多个区块。 这是因为证明线路以递归方式聚合多个区块证明,直到创建一个最终证明。 二层网络运营商提交该递归证明,如果合约接受它,所有相关区块将立即最终确定。 使用递归证明,可以在以太坊上每隔一段时间最终确定的零知识卷叠交易的数量会增加。
-
-### 零知识卷叠的优缺点 {#zk-rollups-pros-and-cons}
-
-| 优点 | 缺点 |
-| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- |
-| 有效性证明确保链下交易的正确性,并阻止运营商执行无效的状态转换。 | 与计算和验证有效性证明相关的成本很高,并且可能会增加卷叠用户的费用。 |
-| 一旦在一层网络上验证了有效性证明,在批准状态更新后,交易的最终确定更快。 | 由于零知识技术的复杂性,构建与以太坊虚拟机兼容的零知识卷叠很困难。 |
-| 依靠去信任加密机制来保证安全性,而不是像[乐观卷叠](/developers/docs/scaling/optimistic-rollups/#optimistic-pros-and-cons)那样依靠受激励参与者的诚信。 | 生成有效性证明需要专用硬件,这可能会鼓励一些参与方对链进行集中控制。 |
-| 将恢复链下状态所需的数据存储在一层网络上,从而保证安全性、抗审查性和去中心化。 | 中心化运营商(排序者)可以影响交易的顺序。 |
-| 用户可以从更高的资本效率中受益,并且可以毫无拖延地从二层网络中提取资金。 | 硬件要求可能会减少能够强制推进链状态的参与者数量,从而增加恶意运营商冻结卷叠状态和审查用户的风险。 |
-| 不依赖于可用性假设,用户不必验证链来保护他们的资金。 | 一些证明系统(例如 ZK-SNARK)需要受信任的设置,如果处理不当,可能会危及零知识卷叠的安全模型。 |
-| 更好的数据压缩有助于降低在以太坊上发布 `calldata` 的成本,并最大限度地减少用户的卷叠费用。 | |
-
-### 零知识卷叠的直观解释 {#zk-video}
-
-观看 Finematics 解说零知识卷叠:
-
-
-
-### 使用零知识卷叠 {#use-zk-rollups}
-
-零知识卷叠有多种实现方式,你可以将其整合到自己的去中心化应用程序中:
-
-
-
-## 零知识以太坊虚拟机上有哪些项目? {#zkevm-projects}
-
-零知识以太坊虚拟机上运行的项目包括:
-
-- **[zkEVM](https://github.com/privacy-scaling-explorations/zkevm-specs)** - _zkEVM 是由以太坊基金会资助的项目,旨在开发与以太坊虚拟机兼容的零知识卷叠以及为以太坊区块生成有效性证明的机制。_
-
-- **[Polygon zkEVM](https://polygon.technology/solutions/polygon-zkevm)** - _是以太坊主网上的去中心化零知识卷叠,它在零知识以太坊虚拟机 (zkEVM) 上运行,以透明的方式执行以太坊交易,包括智能合约与零知识证明验证。_
-
-- **[Scroll](https://scroll.io/blog/zkEVM)** - _Scroll 是 一家致力于为以太坊构建原生零知识以太坊虚拟机二层解决方案的技术驱动型公司。_
-
-- **[Taiko](https://taiko.xyz)** - _Taiko 是一个去中心化、类似以太坊的零知识卷叠(一种[第一类零知识以太坊虚拟机](https://vitalik.eth.limo/general/2022/08/04/zkevm.html))。_
-
-- **[ZKsync](https://docs.zksync.io/)** - _ZKsync Era 是与以太坊虚拟机兼容的零知识卷叠,由 Matter Labs 构建并由它自己的 zkEVM 提供支持。_
-
-- **[Starknet](https://starkware.co/starknet/)** - _StarkNet 是以太坊虚拟机兼容的二层网络扩容解决方案,由 StarkWare 构建。_
-
-- **[Morph](https://www.morphl2.io/)** - _Morph 是利用零知识证明来解决二层网络状态质询问题的混合卷叠扩容解决方案。_
-
-## 进一步阅读零知识卷叠的相关内容 {#further-reading-on-zk-rollups}
-
-- [什么是零知识卷叠?](https://coinmarketcap.com/alexandria/glossary/zero-knowledge-rollups)
-- [什么是零知识卷叠?](https://alchemy.com/blog/zero-knowledge-rollups)
-- [STARK(可扩容透明知识论证)和 SNARK(简洁非交互式知识论证)](https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/)
-- [什么是 zkEVM(零知识以太坊虚拟机)?](https://www.alchemy.com/overviews/zkevm)
-- [零知识以太坊虚拟机类型:以太坊等效、以太坊虚拟机等效、类型 1、类型 4 和其他晦涩的术语](https://taiko.mirror.xyz/j6KgY8zbGTlTnHRFGW6ZLVPuT0IV0_KmgowgStpA0K4)
-- [zkEVM(零知识以太坊虚拟机)简介](https://hackmd.io/@yezhang/S1_KMMbGt)
-- [超赞的 zkEVM(零知识以太坊虚拟机)资源](https://github.com/LuozhuZhang/awesome-zkevm)
-- [ZK-SNARK(零知识简洁非交互式知识论证)底层技术](https://vitalik.eth.limo/general/2017/02/01/zk_snarks.html)
-- [SNARK(简洁非交互式知识论证),怎么可能?](https://vitalik.eth.limo/general/2021/01/26/snarks.html)
diff --git a/public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/index.md b/public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/index.md
deleted file mode 100644
index 826e55f2689..00000000000
--- a/public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/index.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title: 数据结构与编码
-description: 以太坊基础数据结构概览。
-lang: zh
-sidebarDepth: 2
----
-
-以太坊会产生、存储和传输大量的数据。 这些数据必须以标准且节约内存的方式格式化,以便任何人都能在相对普通的消费级硬件上[运行节点](/run-a-node/)。 为实现这一目的,以太坊协议栈中使用了一些特殊的数据结构。
-
-## 前提条件 {#prerequisites}
-
-在继续阅读本文章之前,你应当对以太坊和[客户端软件](/developers/docs/nodes-and-clients/)的基本原理已经有所了解。 若是熟悉网络层这一概念和[以太坊白皮书](/whitepaper/)的话会更好。
-
-## 数据结构 {#data-structures}
-
-### 默克尔前缀树 {#patricia-merkle-tries}
-
-默克尔前缀树是一种数据结构,将给定的键值对编码成具有确定性且经过加密验证的前缀树。 以太坊在其执行层中广泛运用这一数据结构。
-
-[详细了解默克尔前缀树](/developers/docs/data-structures-and-encoding/patricia-merkle-trie)
-
-### 递归长度前缀 {#recursive-length-prefix}
-
-递归长度前缀 (RLP) 是一种在以太坊执行层中广泛使用的序列化方法。
-
-[详细了解递归长度前缀](/developers/docs/data-structures-and-encoding/rlp)
-
-### 简单序列化 {#simple-serialize}
-
-简单序列化 (SSZ) 是一种序列化格式。它能够进行默克尔化,因而成为了以太坊共识层主要的序列化格式。
-
-[详细了解简单序列化](/developers/docs/data-structures-and-encoding/ssz)
diff --git a/public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md b/public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md
deleted file mode 100644
index d8cff060e81..00000000000
--- a/public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md
+++ /dev/null
@@ -1,263 +0,0 @@
----
-title: 默克尔帕特里夏字典树
-description: 默克尔帕特里夏树简介。
-lang: zh
-sidebarDepth: 2
----
-
-以太坊的状态(全体帐户、余额与智能合约)被编码进一个特殊版本的数据结构中,在计算机科学中,这种数据结构通常称为默克尔树。 这种结构可用于许多加密学应用,因为它在树中保存的所有单独数据之间创建了可验证的关系,产生一个可用于证明数据的单独**根**值。
-
-以太坊的数据结构是一个“修改版默克尔帕特里夏字典树”,之所以这样命名,不仅是因为它引入了 PATRICIA 算法(检索用字母数字编码的信息的实用算法)的一些特性,也由于它旨在实现含有以太坊状态的值的高效数据**检索**。
-
-默克尔帕特里夏字典树是确定性的并可通过密码学验证:生成状态根的唯一方式是从每个单独的状态进行计算,且两个相同的状态可以通过比较根哈希和父节点哈希(_默克尔证明_)而轻松证明相同。 相反,也无法用同一根哈希创建两个不同的状态,任何用不同值修改状态的尝试都会产生不同的状态根哈希。 理论上,这种结构在插入、查找和删除操作上的效率达到了超乎寻常的 `O(log(n))`。
-
-在不久的将来,以太坊计划迁移到[沃克尔树](https://ethereum.org/en/roadmap/verkle-trees)结构,这将为未来的协议改进开创更多新的可能性。
-
-## 前提条件 {#prerequisites}
-
-为了更好地理解本文,具备以下基础知识将有所帮助:[哈希](https://en.wikipedia.org/wiki/Hash_function)、[默克尔树](https://en.wikipedia.org/wiki/Merkle_tree)、[字典树](https://en.wikipedia.org/wiki/Trie)和[序列化](https://en.wikipedia.org/wiki/Serialization)。 本文从描述基本的[基数树](https://en.wikipedia.org/wiki/Radix_tree)开始,并逐步介绍使以太坊数据结构更为优化的必要修改措施。
-
-## 基数树 {#basic-radix-tries}
-
-在一个基数树中,每个节点如下所示:
-
-```
- [i_0, i_1 ... i_n, value]
-```
-
-其中,`i_0 ... i_n` 代表字母表的符号(通常是二进制或十六进制),`value` 是节点的终点值,`i_0, i_1 ... i_n` 插槽的值要么是 `NULL`,要么是指向其他节点(在本例中,是其他节点的哈希)的指针。 这形成了基本的 `(key, value)` 存储。
-
-假设你想使用基数树数据结构永久保存一组键值对的次序。 为了在字典树中找到与键 `dog` 映射的值,首先需要把 `dog` 转换成字母表中的字母(给出 `64 6f 67`),然后沿着该路径向下遍历字典树,直到找到该值。 也就是说,为了找到字典树的根节点,你先在平面键/值数据库中查找根哈希。 它表示一组指向其他节点的键。 你会使用索引 `6` 的值作为键,并通过在平面键/值数据库中查找该键来获取下一层的节点。 然后使用索引 `4` 查找下一个值,再使用索引 `6`,以此类推,直到遍历路径 `root -> 6 -> 4 -> 6 -> 15 -> 6 -> 7` 后,你将找到该节点的值并且返回结果。
-
-从前缀树中查询和从其底层的固定“键/值”数据库中查询存在差异。 它们都定义了“键/值”对,但底层数据库能对键执行传统的 1 步查找。 而在前缀树中查询一个键对应的值则需要在底层数据库中查询多次才能得到最终结果。 我们把后者的查询方式称作 `path`,以避免描述上的模糊。
-
-基数树的更新和删除操作定义如下:
-
-```
- def update(node,path,value):
- curnode = db.get(node) if node else [ NULL ] * 17
- newnode = curnode.copy()
- if path == '':
- newnode[-1] = value
- else:
- newindex = update(curnode[path[0]],path[1:],value)
- newnode[path[0]] = newindex
- db.put(hash(newnode),newnode)
- return hash(newnode)
-
- def delete(node,path):
- if node is NULL:
- return NULL
- else:
- curnode = db.get(node)
- newnode = curnode.copy()
- if path == '':
- newnode[-1] = NULL
- else:
- newindex = delete(curnode[path[0]],path[1:])
- newnode[path[0]] = newindex
-
- if all(x is NULL for x in newnode):
- return NULL
- else:
- db.put(hash(newnode),newnode)
- return hash(newnode)
-```
-
-“默克尔”基数树是通过使用确定性生成的加密哈希摘要链接节点来构建的。 这种(键/值数据库中 `key == keccak256(rlp(value))`)内容寻址提供了存储数据的加密完整性保障。 如果给定字典树的根哈希是公开的,那么任何可以访问底层叶数据的人都可以通过提供将特定值与树根连接的每个节点的哈希,来证明该字典树在特定路径中包含给定值。
-
-对于攻击者来说,他们无法证明 `(path, value)` 对不存在,因为根哈希从根本上基于它下方的所有哈希。 任何底层的修改都会改变根哈希。 可以将哈希看作是数据结构信息的一种压缩表示,并由哈希函数的预映射保护所保障。
-
-我们把基数树的原子单位(例如单个十六进制字符或 4 位二进制数)称为“半字节”。 如上文所述,以半字节为单位遍历路径时,节点最多可指向 16 个子节点,不过还包含一个 `value` 元素。 因此,我们把它们表示为具有长度 17 的数组。 我们把这些有 17 个元素的数组称为“分支节点”。
-
-## 默克尔帕特里夏树 {#merkle-patricia-trees}
-
-基数树有一个主要限制:效率低下。 如果你想将一个 `(path, value)` 对存储在路径长度为 64 个字符(`bytes32` 中的半字节数)的位置(如以太坊中),我们需要超过一千字节的额外空间将每个字符存储一个层级,并且每次查询或删除都需要执行完整的 64 个步骤。 下文介绍的帕特里夏字典树可以解决这个问题。
-
-### 优化 {#optimization}
-
-默克尔帕特里夏树的节点可以是以下任意一种:
-
-1. `NULL`(表示为空字符串)
-2. `branch`,一个 17 元素节点 ` [ v0 ... v15, vt ]`
-3. `leaf`,一个双元素节点 `[ encodedPath, value ]`
-4. `extension`,一个双元素节点 `[ encodedPath, key ]`
-
-在 64 个字符的路径中,遍历前缀树的前几层后,一定会到达这样的节点:至少部分下游再无分支路径。 为了避免在路径中创建多达 15 个稀疏 `NULL` 节点,我们通过设置一个形式为 `[ encodedPath, key ]` 的 `extension` 节点来精简向下遍历,其中 `encodedPath` 包含要跳过的“部分路径”(使用下面描述的压缩编码),`key` 用于下一次数据库查询。
-
-对于 `leaf` 节点,可以使用 `encodedPath` 的第一个半字节中的标志来标记,其路径编码了所有先前节点的路径片段,并且我们可以直接查询 `value`。
-
-然而,上述优化造成了模棱两可。
-
-当以半字节遍历路径时,最后我们可能需要遍历奇数个半字节,但是所有数据都需要以 `bytes` 格式存储。 两者之间是无法区分的,例如,半字节 `1` 和半字节 `01`(两者都必须存储为 `<01>`)。 要指定奇数个半字节的长度,这部分路径要使用标记位作为前缀。
-
-### 规范:带有可选终止符的十六进制序列的压缩编码 {#specification}
-
-如上文所述,_剩余部分路径长度为奇数 vs 偶数_和_叶节点 vs 扩展节点_的标记位位于任意双元素节点中部分路径的第一个半字节。 从而产生以下结果:
-
- hex char bits | node type partial path length
- ----------------------------------------------------------
- 0 0000 | extension even
- 1 0001 | extension odd
- 2 0010 | terminating (leaf) even
- 3 0011 | terminating (leaf) odd
-
-对于剩余路径长度为偶数的情况(`0` 或 `2`),一定会附加一个 `0`“占位”半字节。
-
-```
- def compact_encode(hexarray):
- term = 1 if hexarray[-1] == 16 else 0
- if term: hexarray = hexarray[:-1]
- oddlen = len(hexarray) % 2
- flags = 2 * term + oddlen
- if oddlen:
- hexarray = [flags] + hexarray
- else:
- hexarray = [flags] + [0] + hexarray
- // hexarray now has an even length whose first nibble is the flags.
- o = ''
- for i in range(0,len(hexarray),2):
- o += chr(16 * hexarray[i] + hexarray[i+1])
- return o
-```
-
-示例:
-
-```
- > [ 1, 2, 3, 4, 5, ...]
- '11 23 45'
- > [ 0, 1, 2, 3, 4, 5, ...]
- '00 01 23 45'
- > [ 0, f, 1, c, b, 8, 10]
- '20 0f 1c b8'
- > [ f, 1, c, b, 8, 10]
- '3f 1c b8'
-```
-
-以下为获取默克尔帕特里夏树中节点的扩展代码:
-
-```
- def get_helper(node,path):
- if path == []: return node
- if node = '': return ''
- curnode = rlp.decode(node if len(node) < 32 else db.get(node))
- if len(curnode) == 2:
- (k2, v2) = curnode
- k2 = compact_decode(k2)
- if k2 == path[:len(k2)]:
- return get(v2, path[len(k2):])
- else:
- return ''
- elif len(curnode) == 17:
- return get_helper(curnode[path[0]],path[1:])
-
- def get(node,path):
- path2 = []
- for i in range(len(path)):
- path2.push(int(ord(path[i]) / 16))
- path2.push(ord(path[i]) % 16)
- path2.push(16)
- return get_helper(node,path2)
-```
-
-### 前缀树示例 {#example-trie}
-
-假设我们想要一个包含四个路径/值对的树:`('do', 'verb')`、`('dog', 'puppy')`、`(' doge', 'coins')`、`('horse', 'stallion')`。
-
-首先,我们将路径和值都转换为 `bytes`。 在下方代码中,_路径_的实际字节代表用 `<>` 表示。而_值_仍然显示为字符串,用 `''` 表示,以便于理解(值也应为 `bytes`):
-
-```
- <64 6f> : 'verb'
- <64 6f 67> : 'puppy'
- <64 6f 67 65> : 'coins'
- <68 6f 72 73 65> : 'stallion'
-```
-
-现在,我们使用底层数据库中的以下键/值对构建了这样一棵前缀树:
-
-```
- rootHash: [ <16>, hashA ]
- hashA: [ <>, <>, <>, <>, hashB, <>, <>, <>, [ <20 6f 72 73 65>, 'stallion' ], <>, <>, <>, <>, <>, <>, <>, <> ]
- hashB: [ <00 6f>, hashC ]
- hashC: [ <>, <>, <>, <>, <>, <>, hashD, <>, <>, <>, <>, <>, <>, <>, <>, <>, 'verb' ]
- hashD: [ <17>, [ <>, <>, <>, <>, <>, <>, [ <35>, 'coins' ], <>, <>, <>, <>, <>, <>, <>, <>, <>, 'puppy' ] ]
-```
-
-当一个节点在另一个节点内部被引用时,包含的内容是 `H(rlp.encode(node))`,其中 `H(x) = keccak256(x) if len(x) >= 32 else x` 和 `rlp.encode` 是[递归长度前缀](/developers/docs/data-structs-and-encoding/rlp)编码函数。
-
-请注意,更新前缀树时,_如果_新创建节点的长度 >= 32,则需要将键/值对 `(keccak256(x), x)` 存储在一个持久的查询表中。 然而,如果节点比这短,则不需要存储任何数据,因为函数 f(x) = x 是可逆的。
-
-## 以太坊中的前缀树 {#tries-in-ethereum}
-
-以太坊执行层中的所有默克尔树均使用默克尔帕特里夏树。
-
-在区块头,有来自 3 棵前缀树的 3 个根。
-
-1. stateRoot
-2. transactionsRoot
-3. receiptsRoot
-
-### 状态树 {#state-trie}
-
-有一个全局状态字典树,每次客户端处理一个区块时它都会更新。 其中,`path` 始终为:`keccak256(ethereumAddress)`,`value` 始终为:`rlp(ethereumAccount)`。 更具体地说,一个以太坊 `account` 是包含 4 个元素的数组:`[nonce,balance,storageRoot,codeHash]`。 关于这一点值得注意的是,`storageRoot` 是另一个帕特里夏字典树的根:
-
-### 存储树 {#storage-trie}
-
-存储树是_所有_合同数据存放之处。 每个帐户都有一棵单独的存储树。 要用给定地址在特定的存储位置检索值,需要存储地址、存储器中存储数据的整数位置,以及区块 ID。 之后,这些数据可以作为参数传入 JSON-RPC 应用程序接口中定义的 `eth_getStorageAt`,例如用于检索地址 `0x295a70b2de5e3953354a6a8344e616ed314d7251` 的存储插槽 0 中的数据:
-
-```
-curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x0", "latest"], "id": 1}' localhost:8545
-
-{"jsonrpc":"2.0","id":1,"result":"0x00000000000000000000000000000000000000000000000000000000000004d2"}
-
-```
-
-更多的是检索存储器中的其他元素,因为必须首先计算存储树中的位置。 该位置作为地址和存储位置的 `keccak256` 哈希值进行计算,两者都从左侧开始用零填充 32 个字节的长度。 例如,地址 `0x391694e7e0b0cce554cb130d723a9d27458f9298` 的数据在存储时隙 1 中的位置是:
-
-```
-keccak256(decodeHex("000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001"))
-```
-
-在 Geth 控制台中,可以按以下方式计算:
-
-```
-> var key = "000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001"
-undefined
-> web3.sha3(key, {"encoding": "hex"})
-"0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9"
-```
-
-因此,`path` 是 `keccak256(<6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9>)`。 与以前相同,此地址现在可用于从存储树检索数据:
-
-```
-curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9", "latest"], "id": 1}' localhost:8545
-
-{"jsonrpc":"2.0","id":1,"result":"0x000000000000000000000000000000000000000000000000000000000000162e"}
-```
-
-注意:如果不是合约帐户,以太坊帐户的 `storageRoot` 默认为空。
-
-### 交易树 {#transaction-trie}
-
-每个区块都有一个独立的交易字典树,也用于存储 `(key, value)` 对。 路径为:`rlp(transactionIndex)`,代表了对应一个值的键,值由以下决定:
-
-```
-if legacyTx:
- value = rlp(tx)
-else:
- value = TxType | encode(tx)
-```
-
-关于这个问题的更多信息可以在 [EIP 2718](https://eips.ethereum.org/EIPS/eip-2718) 文档中找到。
-
-### 收据树 {#receipts-trie}
-
-每个区块都有自己的收据树。 此处的 `path` 是:`rlp(transactionIndex)`。 `transactionIndex` 是它所在区块中的索引。 收据字典树从不更新。 与交易字典树类似,它也有当前和以前的收据。 为了在收据字典树中查询特定的收据,需要提供区块中交易的索引、收据有效载荷以及交易类型。 返回的收据可以是 `Receipt` 类型,定义为 `TransactionType` 和 `ReceiptPayload` 的串联;也可以是 `LegacyReceipt` 类型,定义为`rlp([status, cumulativeGasUsed, logsBloom, logs])`。
-
-关于这个问题的更多信息可以在 [EIP 2718](https://eips.ethereum.org/EIPS/eip-2718) 文档中找到。
-
-## 延伸阅读 {#further-reading}
-
-- [修改后的默克尔帕特里夏字典树 — 如何保存以太坊状态](https://medium.com/codechain/modified-merkle-patricia-trie-how-ethereum-saves-a-state-e6d7555078dd)
-- [以太坊中的默克尔树](https://blog.ethereum.org/2015/11/15/merkling-in-ethereum/)
-- [了解以太坊的字典树](https://easythereentropy.wordpress.com/2014/06/04/understanding-the-ethereum-trie/)
diff --git a/public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/rlp/index.md b/public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/rlp/index.md
deleted file mode 100644
index 2176f41308c..00000000000
--- a/public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/rlp/index.md
+++ /dev/null
@@ -1,163 +0,0 @@
----
-title: 递归长度前缀 (RLP) 序列化
-description: 以太坊执行层中递归长度前缀 (RLP) 编码的定义。
-lang: zh
-sidebarDepth: 2
----
-
-递归长度前缀 (RLP) 序列化广泛用于以太坊的执行客户端。 数据在节点之间以节省空间的格式传输,而递归长度前缀可使这一过程标准化。 递归长度前缀的目的在于,对任意嵌套的二进制数据数组进行编码,而递归长度前缀是用于序列化以太坊执行层中对象的主要编码方法。 递归长度前缀的主要目的是对结构进行编码;除正整数外,递归长度前缀将特定数据类型(例如字符串、浮点数)的编码委托给更高阶协议。 正整数必须以不带前导零的大端二进制形式表示(从而使整数值零相当于空字节数组)。 任何使用递归长度前缀的高阶协议都必须将带前导零的反序列化正整数视为无效。
-
-更多信息请见[以太坊黄皮书(附录 B)](https://ethereum.github.io/yellowpaper/paper.pdf#page=19)。
-
-要使用递归长度前缀对字典进行编码,建议的两种规范形式为:
-
-- 使用 `[[k1,v1],[k2,v2]...]` 加上按字典顺序排列的键
-- 像以太坊一样使用更高级别的前缀树编码
-
-## 定义 {#definition}
-
-递归长度前缀编码函数接受一个项目。 该项目的定义如下:
-
-- 一个字符串(即字节数组)是一个项目
-- 项目列表也是一个项目
-- 正整数是一个项目
-
-例如,以下所有都是项目:
-
-- 空字符串;
-- 包含单词“cat”的字符串;
-- 包含任意数量字符串的列表;
-- 以及更复杂的数据结构,例如 `["cat", ["puppy", "cow"], "horse", [[]], "pig", [""], "sheep"]`。
-- 数字 `100`
-
-请注意,在本页其余部分的上下文中,“字符串”表示“一定数量的二进制数据字节”;不使用特殊编码,并且不隐含任何有关字符串内容的知识(除非针对非最小正整数的规则要求如此)。
-
-递归长度前缀编码的定义如下:
-
-- 对于正整数,将其转换为最短字节数组,其大端解释为整数,然后根据以下规则编码为字符串。
-- 对于值在 `[0x00, 0x7f]`(十进制 `[0, 127]`)范围内的单个字节,该字节即是它自己的递归长度前缀编码。
-- 否则,如果字符串的长度为 0-55 个字节,则递归长度前缀编码包含一个值为 **0x80**(十进制 128)的单字节,加上该字符串之后字符串的长度。 因此,第一个字节的范围是 `[0x80, 0xb7]`(十进制 `[128, 183]`)。
-- 如果字符串的长度超过 55 个字节,则递归长度前缀编码由一个值为 **0xb7**(十进制为 183)的单个字节,加上二进制字符串长度的以字节为单位的长度,后跟字符串的长度,然后是字符串。 例如,一个长 1024 字节的字符串将被编码为 `\xb9\x04\x00`(十进制 `185, 4, 0`)后跟该字符串。 在这里,`0xb9` (183 + 2 = 185) 为第一个字节,然后是表示实际字符串长度的 2 个字节 `0x0400`(十进制 1024)。 因此,第一个字节的范围是 `[0xb8, 0xbf]`(十进制 `[184, 191]`)。
-- 如果字符串的长度为 2^64 字节或更长,则可能不会对其进行编码。
-- 如果列表的总有效载荷长度(即其所有经过递归长度前缀编码的项目的组合长度)为 0-55 个字节,则递归长度前缀编码包含一个值为 **0xc0** 的单字节,加上有效载荷长度,后跟一串项目的递归长度前缀编码。 因此,第一个字节的范围是 `[0xc0, 0xf7]`(十进制 `[192, 247]`)。
-- 如果列表的总有效载荷长度超过 55 个字节,则递归长度前缀编码包含一个值为 **0xf7** 的单字节,加上二进制格式的有效载荷长度的以字节为单位的长度,后跟有效载荷的长度,然后是项目递归长度前缀编码串。 因此,第一个字节的范围是 `[0xf8, 0xff]`(十进制 `[248, 255]`)。
-
-对应的代码为:
-
-```python
-def rlp_encode(input):
- if isinstance(input,str):
- if len(input) == 1 and ord(input) < 0x80:
- return input
- return encode_length(len(input), 0x80) + input
- elif isinstance(input, list):
- output = ''
- for item in input:
- output += rlp_encode(item)
- return encode_length(len(output), 0xc0) + output
-
-def encode_length(L, offset):
- if L < 56:
- return chr(L + offset)
- elif L < 256**8:
- BL = to_binary(L)
- return chr(len(BL) + offset + 55) + BL
- raise Exception("input too long")
-
-def to_binary(x):
- if x == 0:
- return ''
- return to_binary(int(x / 256)) + chr(x % 256)
-```
-
-## 示例 {#examples}
-
-- 字符串“dog”= [ 0x83, 'd', 'o', 'g' ]
-- 列表 [ "cat", "dog" ] = `[ 0xc8, 0x83, 'c', 'a', 't', 0x83, 'd', 'o', 'g' ]`
-- 空字符串 ('null') = `[ 0x80 ]`
-- 空列表 = `[ 0xc0 ]`
-- 整数 0 = `[ 0x80 ]`
-- 字节 '\\x00' = `[ 0x00 ]`
-- 字节 '\\x0f' = `[ 0x0f ]`
-- 字节 '\\x04\\x00' = `[ 0x82, 0x04, 0x00 ]`
-- 3 的[集合论表示](http://en.wikipedia.org/wiki/Set-theoretic_definition_of_natural_numbers),`[ [], [[]], [ [], [[]] ] ] = [ 0xc7, 0xc0, 0xc1, 0xc0, 0xc3, 0xc0, 0xc1, 0xc0 ]`
-- 字符串“Lorem ipsum dolor sit amet, consectetur adipisicing elit”= `[ 0xb8, 0x38, 'L', 'o', 'r', 'e', 'm', ' ', ... , 'e', 'l', 'i', 't' ]`
-
-## 递归长度前缀解码 {#rlp-decoding}
-
-根据递归长度前缀编码的规则和过程,递归长度前缀译码的输入被视为一个二进制数据数组。 递归长度前缀解码过程如下:
-
-1. 根据输入数据的第一个字节(即前缀),解码数据类型、实际数据的长度和偏移量;
-
-2. 根据数据的类型和偏移量,遵循正整数的最小编码规则,对数据进行相应的解码;
-
-3. 继续解码输入的其余部分;
-
-其中,解码数据类型和偏移量的规则如下:
-
-1. 如果第一个字节(即前缀)的范围是 [0x00, 0x7f],则数据为字符串,并且字符串本身就是第一个字节;
-
-2. 如果第一个字节的范围是 [0x80, 0xb7],则数据为字符串,并且第一个字节后跟长度等于第一个字节减去 0x80 的字符串;
-
-3. 如果第一个字节的范围是 [0xb8, 0xbf],则数据为字符串,第一个字节后跟长度等于第一字节减去 0xb7 的字符串长度,而字符串则跟在字符串长度后面
-
-4. 如果第一个字节的范围是 [0xc0, 0xf7],则数据为列表,第一字节后跟列表中所有项目的递归长度前缀编码串,而列表的总有效载荷等于第一字节减去 0xc0。
-
-5. 如果第一个字节的范围是 [0xf8, 0xff],则数据为列表,第一个字节后跟长度等于第一字节减去 0xf7 的总有效载荷,而列表所有项目的递归长度前缀编码串则跟在列表的总有效载荷之后;
-
-对应的代码为:
-
-```python
-def rlp_decode(input):
- if len(input) == 0:
- return
- output = ''
- (offset, dataLen, type) = decode_length(input)
- if type is str:
- output = instantiate_str(substr(input, offset, dataLen))
- elif type is list:
- output = instantiate_list(substr(input, offset, dataLen))
- output += rlp_decode(substr(input, offset + dataLen))
- return output
-
-def decode_length(input):
- length = len(input)
- if length == 0:
- raise Exception("input is null")
- prefix = ord(input[0])
- if prefix <= 0x7f:
- return (0, 1, str)
- elif prefix <= 0xb7 and length > prefix - 0x80:
- strLen = prefix - 0x80
- return (1, strLen, str)
- elif prefix <= 0xbf and length > prefix - 0xb7 and length > prefix - 0xb7 + to_integer(substr(input, 1, prefix - 0xb7)):
- lenOfStrLen = prefix - 0xb7
- strLen = to_integer(substr(input, 1, lenOfStrLen))
- return (1 + lenOfStrLen, strLen, str)
- elif prefix <= 0xf7 and length > prefix - 0xc0:
- listLen = prefix - 0xc0;
- return (1, listLen, list)
- elif prefix <= 0xff and length > prefix - 0xf7 and length > prefix - 0xf7 + to_integer(substr(input, 1, prefix - 0xf7)):
- lenOfListLen = prefix - 0xf7
- listLen = to_integer(substr(input, 1, lenOfListLen))
- return (1 + lenOfListLen, listLen, list)
- raise Exception("input does not conform to RLP encoding form")
-
-def to_integer(b):
- length = len(b)
- if length == 0:
- raise Exception("input is null")
- elif length == 1:
- return ord(b[0])
- return ord(substr(b, -1)) + to_integer(substr(b, 0, -1)) * 256
-```
-
-## 延伸阅读 {#further-reading}
-
-- [以太坊中的递归长度前缀](https://medium.com/coinmonks/data-structure-in-ethereum-episode-1-recursive-length-prefix-rlp-encoding-decoding-d1016832f919)
-- [底层以太坊:递归长度前缀](https://medium.com/coinmonks/ethereum-under-the-hood-part-3-rlp-decoding-df236dc13e58)
-- [Coglio, A. (2020)。 以太坊 ACL2 中的递归长度前缀。 arXiv 预印本 arXiv:2009.13769。](https://arxiv.org/abs/2009.13769)
-
-## 相关主题 {#related-topics}
-
-- [默克尔前缀树](/developers/docs/data-structures-and-encoding/patricia-merkle-trie)
diff --git a/public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/ssz/index.md b/public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/ssz/index.md
deleted file mode 100644
index 2dbabd0578f..00000000000
--- a/public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/ssz/index.md
+++ /dev/null
@@ -1,149 +0,0 @@
----
-title: 简单序列化
-description: 以太坊简单序列化 (SSZ) 格式的说明。
-lang: zh
-sidebarDepth: 2
----
-
-**简单序列化 (SSZ)** 是信标链上使用的序列化方法。 这种方法取代了除对等点发现协议以外的共识层各处执行层上所用的递归长度前缀序列化。 简单序列化设计具有确定性,也可以有效地进行默克尔化。 可以认为,简单序列化有两个组成部分:序列化方案和默克尔化方案,后者设计用于有效地处理序列化数据结构。
-
-## 简单序列化的工作原理 {#how-does-ssz-work}
-
-### 序列化 {#serialization}
-
-简单序列化是一种非自描述性序列化方案,依赖于必须提前知晓的方案。 简单序列化的目标是将任意复杂度的对象用字节串表示。 对于“基本类型”来说,这是一个非常简单的过程, 只需将元素转换为十六进制字节。 基本类型包括:
-
-- 无符号整数
-- 布尔值
-
-对于复杂的“复合”类型,序列化更加复杂,因为复合类型包含多个可能具有不同类型或不同大小或两者兼有的元素。 在这些对象都具有固定长度的情况下(即元素的大小将始终保持不变,而与它们的实际值无关),序列化只是将复合类型中的每个元素转换为小端字节串。 这些字节串会连接在一起。 序列化对象用字节列表表示,列表中的元素具有固定长度,它们的排列顺序与在反序列化对象中的顺序相同。
-
-对于具有可变长度的类型,实际数据将被序列化对象中该元素位置的“偏移”值替换。 实际数据会添加到序列化对象末尾的堆中。 偏移值是堆中实际数据开始的索引,充当指向相关字节的指针。
-
-下面的示例说明了偏移如何用于具有固定和可变长度元素的容器:
-
-```Rust
-
- struct Dummy {
-
- number1: u64,
- number2: u64,
- vector: Vec,
- number3: u64
- }
-
- dummy = Dummy{
-
- number1: 37,
- number2: 55,
- vector: vec![1,2,3,4],
- number3: 22,
- }
-
- serialized = ssz.serialize(dummy)
-
-```
-
-`serialized` 将具有以下结构(此处仅填充到 4 位,实际上填充到 32 位,并保留 `int` 表示,以确保清晰明确):
-
-```
-[37, 0, 0, 0, 55, 0, 0, 0, 16, 0, 0, 0, 22, 0, 0, 0, 1, 2, 3, 4]
------------- ----------- ----------- ----------- ----------
- | | | | |
- number1 number2 offset for number 3 value for
- vector vector
-
-```
-
-为了清楚起见,分成几行:
-
-```
-[
- 37, 0, 0, 0, # little-endian encoding of `number1`.
- 55, 0, 0, 0, # little-endian encoding of `number2`.
- 16, 0, 0, 0, # The "offset" that indicates where the value of `vector` starts (little-endian 16).
- 22, 0, 0, 0, # little-endian encoding of `number3`.
- 1, 2, 3, 4, # The actual values in `vector`.
-]
-```
-
-这仍然是简化版,上图中的整数和零实际上将存储在字节列表中,如下所示:
-
-```
-[
- 10100101000000000000000000000000 # little-endian encoding of `number1`
- 10110111000000000000000000000000 # little-endian encoding of `number2`.
- 10010000000000000000000000000000 # The "offset" that indicates where the value of `vector` starts (little-endian 16).
- 10010110000000000000000000000000 # little-endian encoding of `number3`.
- 10000001100000101000001110000100 # The actual value of the `bytes` field.
-]
-```
-
-因此,可变长度类型的实际值存储在序列化对象末尾的堆中,它们的偏移量则存储在有序字段列表中的正确位置。
-
-还有一些特殊情况需要特殊处理,比如 `BitList` 类型需要在序列化过程中添加长度上限,并在反序列化过程中移除该上限。 [简单序列化规范](https://github.com/ethereum/consensus-specs/blob/dev/ssz/simple-serialize.md)中提供了完整的详细信息。
-
-### 反序列化 {#deserialization}
-
-反序列化此对象需要一个方案。 方案需定义序列化数据的精确布局,以便每个特定元素都可以从一组字节反序列化为一些有意义的对象,其中元素具有正确的类型、值、大小和位置。 正是方案告诉反序列化程序哪些值是实际值,哪些是偏移值。 当对象被序列化时,所有字段名称都会消失,但会根据方案在反序列化时重新实例化。
-
-请参阅 [ssz.dev](https://www.ssz.dev/overview) 了解有关此主题的交互式说明。
-
-## 默克尔化 {#merkleization}
-
-之后可以对这个简单序列化对象进行默克尔化,即转而用默克尔树表示相同的数据。 首先,确定序列化对象中 32 字节块的数量, 这些是树的“叶子”。 叶子总数必须是 2 的幂,以便将叶子散列在一起,最终生成一个哈希树根。 如果情况并非如此,则会增加包含 32 字节零的额外叶子。 如图所示:
-
-```
- hash tree root
- / \
- / \
- / \
- / \
- hash of leaves hash of leaves
- 1 and 2 3 and 4
- / \ / \
- / \ / \
- / \ / \
- leaf1 leaf2 leaf3 leaf4
-```
-
-在某些情况下,树的叶子不会像上面示例中那样自然均匀地分布。 例如,叶子 4 可能是一个包含多个元素的容器,需要向默克尔树添加额外的“深度”,从而形成不均匀的树。
-
-与其将这些树元素称为叶子 X、节点 X 等,我们可以给它们赋予广义索引,从根 = 1 开始,沿着每个级别从左到右计数。 这即是前述广义索引。 序列化列表中的每个元素都有一个等于 `2**depth + idx` 的广义索引,其中 idx 是其在序列化对象中的零索引位置,depth 是默克尔树中的层数,可以计算为元素(叶子)数量的二进制对数。
-
-## 广义索引 {#generalized-indices}
-
-广义索引是一个整数,表示二元默克尔树中的一个节点,其中每个节点都有一个广义索引 `2 ** depth + index in row`。
-
-```
- 1 --depth = 0 2**0 + 0 = 1
- 2 3 --depth = 1 2**1 + 0 = 2, 2**1+1 = 3
- 4 5 6 7 --depth = 2 2**2 + 0 = 4, 2**2 + 1 = 5...
-
-```
-
-这种表示为默克尔树中的每条数据生成一个节点索引。
-
-## 多值证明 {#multiproofs}
-
-提供表示特定元素的广义索引列表使我们可以对照哈希树根来对其进行验证。 这个根是我们接受的现实版本, 我们提供的任何数据都可以对照现实进行验证,方法是将其插入默克尔树中的正确位置(由其广义索引确定),然后观察根是否保持不变。 请参阅[此处](https://github.com/ethereum/consensus-specs/blob/dev/ssz/merkle-proofs.md#merkle-multiproofs)的规范,其中一些函数展示了如何计算验证一组特定广义索引的内容所需的最小节点集。
-
-例如,要验证下面树中索引 9 中的数据,我们需要索引 8、9、5、3、1 处数据的哈希值。 (8,9) 的哈希值应该等于哈希值 (4),它与 5 进行哈希计算可生成 2,与 3 进行哈希计算可生成树根 1。 如果为 9 提供了不正确的数据,根会发生改变,我们会检测到这一问题,从而无法验证分支。
-
-```
-* = 生成证明所需的数据
-
- 1*
- 2 3*
- 4 5* 6 7
-8* 9* 10 11 12 13 14 15
-
-```
-
-## 延伸阅读 {#further-reading}
-
-- [升级以太坊:简单序列化](https://eth2book.info/altair/part2/building_blocks/ssz)
-- [升级以太坊:默克尔化](https://eth2book.info/altair/part2/building_blocks/merkleization)
-- [简单序列化实现](https://github.com/ethereum/consensus-specs/issues/2138)
-- [简单序列化计算器](https://simpleserialize.com/)
-- [SSZ.dev](https://www.ssz.dev/)
diff --git a/public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/web3-secret-storage-definition/index.md b/public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/web3-secret-storage-definition/index.md
deleted file mode 100644
index 74dfd6d860e..00000000000
--- a/public/content/translations/zh/25) Research Documentation/developers/docs/data-structures-and-encoding/web3-secret-storage-definition/index.md
+++ /dev/null
@@ -1,189 +0,0 @@
----
-title: Web3 密钥存储定义
-description: Web3 密钥存储的正式定义
-lang: zh
-sidebarDepth: 2
----
-
-为了让应用程序在以太坊上运行,你可以使用 web3.js 程序库提供的 web3 对象。 它在底层通过远程过程调用与本地节点通信。 [web3](https://github.com/ethereum/web3.js/) 可以与任何公开远程过程调用层的以太坊节点互动。
-
-`web3` 包含 `eth` 对象 web3.eth。
-
-```js
-var fs = require("fs")
-var recognizer = require("ethereum-keyfile-recognizer")
-
-fs.readFile("keyfile.json", (err, data) => {
- var json = JSON.parse(data)
- var result = recognizer(json)
-})
-
-/** result
- * [ 'web3', 3 ] web3 (v3) keyfile
- * [ 'ethersale', undefined ] Ethersale keyfile
- * null invalid keyfile
- */
-```
-
-本文介绍 Web3 密钥存储定义的**第 3 版**。
-
-## 定义 {#definition}
-
-文件的实际编码和解码与第 1 版相比基本没有变化,只是加密算法不再固定为 AES-128-CBC(AES-128-CTR 目前是最低要求)。 大部分的含义/算法与第 1 版相似,除了 `mac`,它由派生密钥的最左边第二组 16 个字节与完整 `ciphertext` 拼接后的 SHA3(Keccak-256) 给出。
-
-密钥文件直接存储在 `~/.web3/keystore`(类似 Unix 的系统)和 `~/AppData/Web3/keystore`(Windows 系统)中。 它们可被任意命名,但 `.json` 可作为适当的命名约定,其中 `` 是提供给密钥(密钥地址的隐私保护代理)的 128 位 UUID。
-
-所有这些文件都有一个关联的密码。 为了派生给定 `.json` 文件的密钥,首先派生该文件的加密密钥;可通过获取该文件的密码并传送给 `kdf` 密钥描述的密钥派生函数来实现。 KDF 函数中依赖于 KDF 的静态和动态参数在 `kdfparams` 密钥中描述。
-
-PBKDF2 必须得到所有符合最低标准的实现的支持,表示为:
-
-- `kdf`:`pbkdf2`
-
-对于 PBKDF2,kdfparams 包括:
-
-- `prf`:必须是 `hmac-sha256`(将来可能会扩展);
-- `c`:迭代次数;
-- `salt`:传递给 PBKDF 的盐;
-- `dklen`:派生密钥的长度。 必须 >= 32。
-
-派生出文件的密钥后,应该通过派生 MAC 来验证它。 MAC 应该通过派生密钥的最左边第二组 16 字节与 `ciphertext` 密钥内容拼接而成的字节数组的 SHA3 (keccak-256) 的哈希值计算得出,即:
-
-```js
-KECCAK(DK[16..31] ++ )
-```
-
-(其中,`++` 代表拼接运算符)
-
-该值需要与 `mac` 密钥的内容进行比较;如果不同,则需要请求另外一个密码(否则操作被取消)。
-
-在文件的密钥得到验证后,密文(文件中的 `ciphertext` 密钥)可通过 `cipher` 密钥指定的对称加密算法进行解密,并通过 `cipherparams` 密钥参数化。 如果派生密钥的大小和算法密钥的大小不匹配,则用零来填充。派生密钥的最右边字节应该作为算法的密钥。
-
-所有符合最低标准的实现必须支持 AES-128-CTR 算法,表示为:
-
-- `cipher: aes-128-ctr`
-
-该密码需要以下参数,作为 cipherparams 密钥的密钥:
-
-- `iv`:密码的 128 位初始化向量。
-
-密码的密钥是派生密钥的最左边 16 个字节,即 `DK[0..15]`
-
-密钥的创建/加密本质上应是这些指令的逆向操作。 确保 `uuid`、`salt` 和 `iv` 实际上是随机的。
-
-除了作为版本“硬”标识符的 `version` 字段外,实现还可能会使用 `minorversion` 跟踪格式的较小、不重要的变更。
-
-## 测试向量 {#test-vectors}
-
-详细信息:
-
-- `Address`: `008aeeda4d805471df9b2a5b0f38a0c3bcba786b`
-- `ICAP`: `XE542A5PZHH8PYIZUBEJEO0MFWRAPPIL67`
-- `UUID`: `3198bc9c-6672-5ab3-d9954942343ae5b6`
-- `Password`: `测试密码`
-- `Secret`: `7a28b5ba57c53603b0b07b56bba752f7784bf506fa95edc395f5cf6c7514fe9d`
-
-### PBKDF2-SHA-256 {#PBKDF2-SHA-256}
-
-使用 `AES-128-CTR` 和 `PBKDF2-SHA-256` 的测试向量:
-
-`~/.web3/keystore/3198bc9c-6672-5ab3-d9954942343ae5b6.json` 文件的内容:
-
-```json
-{
- "crypto": {
- "cipher": "aes-128-ctr",
- "cipherparams": {
- "iv": "6087dab2f9fdbbfaddc31a909735c1e6"
- },
- "ciphertext": "5318b4d5bcd28de64ee5559e671353e16f075ecae9f99c7a79a38af5f869aa46",
- "kdf": "pbkdf2",
- "kdfparams": {
- "c": 262144,
- "dklen": 32,
- "prf": "hmac-sha256",
- "salt": "ae3cd4e7013836a3df6bd7241b12db061dbe2c6785853cce422d148a624ce0bd"
- },
- "mac": "517ead924a9d0dc3124507e3393d175ce3ff7c1e96529c6c555ce9e51205e9b2"
- },
- "id": "3198bc9c-6672-5ab3-d995-4942343ae5b6",
- "version": 3
-}
-```
-
-**中间计算结果**:
-
-`Derived key`: `f06d69cdc7da0faffb1008270bca38f5e31891a3a773950e6d0fea48a7188551` `MAC Body`: `e31891a3a773950e6d0fea48a71885515318b4d5bcd28de64ee5559e671353e16f075ecae9f99c7a79a38af5f869aa46` `MAC`: `517ead924a9d0dc3124507e3393d175ce3ff7c1e96529c6c555ce9e51205e9b2` `Cipher key`: `f06d69cdc7da0faffb1008270bca38f5`
-
-### Scrypt {#scrypt}
-
-使用 AES-128-CTR 和 Scrypt 的测试向量:
-
-```json
-{
- "crypto": {
- "cipher": "aes-128-ctr",
- "cipherparams": {
- "iv": "740770fce12ce862af21264dab25f1da"
- },
- "ciphertext": "dd8a1132cf57db67c038c6763afe2cbe6ea1949a86abc5843f8ca656ebbb1ea2",
- "kdf": "scrypt",
- "kdfparams": {
- "dklen": 32,
- "n": 262144,
- "p": 1,
- "r": 8,
- "salt": "25710c2ccd7c610b24d068af83b959b7a0e5f40641f0c82daeb1345766191034"
- },
- "mac": "337aeb86505d2d0bb620effe57f18381377d67d76dac1090626aa5cd20886a7c"
- },
- "id": "3198bc9c-6672-5ab3-d995-4942343ae5b6",
- "version": 3
-}
-```
-
-**中间计算结果**:
-
-`Derived key`:`7446f59ecc301d2d79bc3302650d8a5cedc185ccbb4bf3ca1ebd2c163eaa6c2d` `MAC Body`:`edc185ccbb4bf3ca1ebd2c163eaa6c2ddd8a1132cf57db67c038c6763afe2cbe6ea1949a86abc5843f8ca656ebbb1ea2` `MAC`:`337aeb86505d2d0bb620effe57f18381377d67d76dac1090626aa5cd20886a7c` `Cipher key`:`7446f59ecc301d2d79bc3302650d8a5c`
-
-## 第 1 版的改动 {#alterations-from-v2}
-
-本版本修复了与[此处](https://github.com/ethereum/homestead-guide/blob/master/old-docs-for-reference/go-ethereum-wiki.rst/Passphrase-protected-key-store-spec.rst)发布的第 1 版不一致的几个地方。 简短来说,它们是:
-
-- 大小写不合理和不一致(scrypt 小写,Kdf 大小写混合,MAC 大写)。
-- 地址不必要并损害了隐私。
-- `Salt` 本质上是一个密钥派生函数的参数,一般来说应该与该函数而不是加密关联。
-- _SaltLen_ 不必要(从 Salt 派生即可)。
-- 给出了密钥派生函数,但加密算法是硬性指定的。
-- `Version` 本质上是一个数字,然而却是一个字符串(结构化版本管理可以用一个字符串来实现,但对于一个很少变化的配置文件格式来说,可以认为是超出了范围)。
-- `KDF` 和 `cipher` 在名义上是同级别的概念,但组织方式却有所不同。
-- `MAC` 是通过一段与空格无关的数据计算的 (!)
-
-我们对格式进行了修改,得到了以下文件,其功能和之前链接页面上的示例一样:
-
-```json
-{
- "crypto": {
- "cipher": "aes-128-cbc",
- "ciphertext": "07533e172414bfa50e99dba4a0ce603f654ebfa1ff46277c3e0c577fdc87f6bb4e4fe16c5a94ce6ce14cfa069821ef9b",
- "cipherparams": {
- "iv": "16d67ba0ce5a339ff2f07951253e6ba8"
- },
- "kdf": "scrypt",
- "kdfparams": {
- "dklen": 32,
- "n": 262144,
- "p": 1,
- "r": 8,
- "salt": "06870e5e6a24e183a5c807bd1c43afd86d573f7db303ff4853d135cd0fd3fe91"
- },
- "mac": "8ccded24da2e99a11d48cda146f9cc8213eb423e2ea0d8427f41c3be414424dd",
- "version": 1
- },
- "id": "0498f19a-59db-4d54-ac95-33901b4f1870",
- "version": 2
-}
-```
-
-## 第 2 版的改动 {#alterations-from-v2}
-
-第 2 版是早期 C++ 实现的版本,有很多漏洞。 所有重要内容保持不变。
diff --git a/public/content/translations/zh/25) Research Documentation/developers/docs/networking-layer/index.md b/public/content/translations/zh/25) Research Documentation/developers/docs/networking-layer/index.md
deleted file mode 100644
index 6fe7ac80655..00000000000
--- a/public/content/translations/zh/25) Research Documentation/developers/docs/networking-layer/index.md
+++ /dev/null
@@ -1,155 +0,0 @@
----
-title: 网络层
-description: 以太坊网络层简介。
-lang: zh
-sidebarDepth: 2
----
-
-以太坊是一个由数千个节点组成的点对点网络,节点之间必须能够使用标准化协议相互通信。 “网络层”是使节点能够找到彼此并交换信息的协议栈。 可交换信息包括网络上的“广播”信息(一对多通信),以及特定节点之间的交换请求和答复(一对一通信)。 每个节点必须遵守特定的网络规则,以确保发送和接收正确的信息。
-
-客户端软件由两部分组成(执行客户端和共识客户端),它们都具有各自的网络堆栈。 除了与其他以太坊节点进行通信外,执行客户端和共识客户端还必须互相通信。 本页介绍了用以实现这种通信的协议。
-
-执行客户端通过执行层的点对点网络广播交易信息。 这需要经验证的对等点之间进行加密通信。 当一个验证者被选中来提议区块时,该节点本地交易池中的交易将会通过一个本地远程过程调用连接传递至共识客户端,然后再将其打包进信标区块。 之后,共识客户端将在它们的对等网络中广播信标区块。 广播过程需要两个独立的对等网络:一个连接执行客户端,负责交易的广播;另一个连接共识客户端,负责区块的广播。
-
-## 前提条件 {#prerequisites}
-
-对以太坊[节点和客户端](/developers/docs/nodes-and-clients/)略有了解将有助于理解本文。
-
-## 执行层 {#execution-layer}
-
-执行层的网络协议分为两个堆栈:
-
-- 发现堆栈:建立在用户数据报协议之上,并使新节点能够找到相应节点并连接
-
-- DevP2P 堆栈:建立在传输控制协议之上,并使节点能够交换信息
-
-这两个堆栈并行作用, 发现堆栈将新的网络参与者输送到网络中,DevP2P 则使它们进行交互。
-
-### 发现 {#discovery}
-
-发现是在网络中寻找其他节点的过程。 该过程使用一小组引导节点(即地址[硬编码](https://github.com/ethereum/go-ethereum/blob/master/params/bootnodes.go)为客户端的节点,以便它们能被立即找到,并将客户端连接至对等点)进行引导。 这些引导节点旨在将新节点引入一组对等点,这是它们唯一的目的。它们不参与普通的客户端任务,例如同步链,仅在第一次使用客户端时使用。
-
-节点与引导节点交互所使用的协议是 [Kademlia](https://medium.com/coinmonks/a-brief-overview-of-kademlia-and-its-use-in-various-decentralized-platforms-da08a7f72b8f) 的修改版,它使用[分布式散列表](https://en.wikipedia.org/wiki/Distributed_hash_table)共享节点列表。 每个节点都有一版此表格,其中包含连接到最近节点所需的信息。 这个“最近”不是指地理距离,而是由节点 ID 的相似性来界定的。 每个节点的表格都会定期刷新,作为一种安全特性。 例如,在 [Discv5](https://github.com/ethereum/devp2p/tree/master/discv5) 中,发现协议节点也可以发送显示客户端支持的子协议的聚合发现服务,以便对等点协调通信所用的协议。
-
-发现过程从 PING-PONG 游戏开始。 一个成功的 PING-PONG 将新节点“连接”到一个启动节点。 提醒引导节点有新节点进入网络的初始消息为 `PING`。 此 `PING` 包括关于新节点、引导节点和过期时间戳的哈希信息。 引导节点接收到 `PING` 返回 `PONG`,其中包含 `PING` 哈希值。 如果 `PING` 和 `PONG` 的哈希值相匹配,新节点和引导节点之间的连接就会得到验证,然后就认为它们已经“绑定”。
-
-绑定之后,新节点即可向引导节点发送 `FIND-NEIGHBOURS` 请求。 引导节点返回的数据包含一个新节点可以连接的节点列表。 如果这两个节点没有绑定,`FIND-NEIGHBOURS` 请求将失败,新节点将无法进入网络。
-
-新节点从引导节点收到邻居节点列表后,就会开始与每个邻居节点交换 PING-PONG。 成功的 PING-PONG 将新节点与邻居节点绑定在一起,以实现消息交换。
-
-```
-启动客户端 --> 连接到 bootnode --> 绑定到 bootnode --> 寻找邻居--> 绑定到邻居。
-```
-
-执行客户端目前使用 [Discv4](https://github.com/ethereum/devp2p/blob/master/discv4.md) 发现协议,并且正在积极迁移到 [Discv5](https://github.com/ethereum/devp2p/tree/master/discv5) 协议。
-
-#### ENR:以太坊节点记录 {#enr}
-
-[以太坊节点记录 (ENR)](/developers/docs/networking-layer/network-addresses/) 是一个包含三个基本元素的对象:签名(根据某种商定的身份识别方案创建的记录内容的散列)、跟踪记录更改的序号和键:值对的任意列表。 这种格式不会过时,使新对等点之间身份识别信息的交换更加容易,并且是以太坊节点的首选[网络地址](/developers/docs/networking-layer/network-addresses)格式。
-
-#### 发现为什么建立在UDP协议上? {#why-udp}
-
-UDP协议不支持任何错误检查、重新发送失败的数据包,或者动态地打开和关闭连接;相反,它只是将连续的信息流发送至目标,无论它们是否被对方成功接收。 这种最简化的功能会产生最少的连接开销,从而使这种连接非常迅速。 对于发现而言,如果某个节点只想让其它节点知道它的存在以便它与某个对等点建立正式的连接,UDP协议就已经足够了。 然而,对网络协议栈的其余部分来说,UDP协议就不那么合适了。 节点之间的信息交流相当复杂,因此需要一个功能更完善的协议来支持重新发送、错误检查等。 TCP协议带来更多功能所产生的额外连接开销是值得的。 因此,对等网络协议栈中的大多数协议在TCP协议之上运行。
-
-### DevP2P {#devp2p}
-
-DevP2P 本身就是以太坊为建立和维护对等网络而实施的一整套协议。 新节点进入网络后,它们的交互由 [DevP2P](https://github.com/ethereum/devp2p) 堆栈中的协议管控。 这些操作均基于传输控制协议,包括 RLPx 传输协议、线路协议和若干子协议。 [RLPx](https://github.com/ethereum/devp2p/blob/master/rlpx.md) 是管理启动、验证和维护节点之间会话的协议。 使用 RLP(递归长前缀)的 RLPx 对消息进行编码。递归长度前缀是一种非常节省空间的编码方法,可将数据编码成最小结构,以便在节点之间发送。
-
-两个节点之间的 RLPx 会话始于初始的加密握手。 这需要节点发送身份验证消息,然后等待对方进行验证。 成功验证后,对方会生成身份确认信息,并将信息返回初始节点。 这是一个密钥交换过程,使节点能够私下安全地进行沟通。 成功的加密握手会触发两个节点“在线”互相发送“hello”消息。 线路协议则通过成功地交换“hello”信息发起。
-
-Hello 消息包含:
-
-- 协议版本
-- 客戶端 ID
-- 端口
-- 节点 ID
-- 支持的子协议列表
-
-成功交互需要这些信息,因为它们定义节点之间共享的能力并配置通信。 另外还有个子协议协调过程,届时会将每个节点支持的子协议列表进行对比,并能将两个节点共用的子协议用于会话。
-
-除了“hello”消息之外,线路协议还可以发送一个“disconnect”消息,以警告对等点连接将被断开。 线路协议还包含定期发送的 PING 和 PONG 消息,以使会话保持开放。 因此,RLPx 和线路协议之间信息交换为节点之间的通信奠定了基础,并为根据特定子协议交换有用的信息提供了平台。
-
-### 子协议 {#sub-protocols}
-
-#### 线路协议 {#wire-protocol}
-
-连接对等点并启动 RLPx 会话后,线路协议定义了对等点间的通信方式。 起初,线路协议定义了三项主要任务:链同步、区块传播和交易交换。 但是当以太坊切换至权益证明之后,区块传播和链同步变为共识层的一部分。 交易交换仍由执行客户端负责。 交易交换所是指在节点之间交换待处理的交易,以便区块构建者能够选择其中一些交易放到下一区块中。 有关这些任务的详细信息可从[这里](https://github.com/ethereum/devp2p/blob/master/caps/eth.md)获取。 支持这些子协议的客户端通过 [JSON-RPC](/developers/docs/apis/json-rpc/) 将自己公开给网络中的其它部分。
-
-#### les(以太坊轻客户端子协议) {#les}
-
-这是用于同步轻量级客户端的最小协议。 传统上很少使用这一协议,因为全部节点都要求在没有任何奖励的情况下向轻量级客户端提供数据。 执行客户端的默认行为不是通过以太坊轻客户端子协议为轻量级客户端数据提供服务。 更多信息请见以太坊轻客户端子协议[规范](https://github.com/ethereum/devp2p/blob/master/caps/les.md)。
-
-#### 快照 {#snap}
-
-[快照协议](https://github.com/ethereum/devp2p/blob/master/caps/snap.md#ethereum-snapshot-protocol-snap)是一种可选扩展,该扩展使对等点能够交换最近状态的快照,从而无需下载默克尔前缀树的内部节点就能验证帐户信息和存储的数据。
-
-#### Wit(见证协议) {#wit}
-
-[见证协议](https://github.com/ethereum/devp2p/blob/master/caps/wit.md#ethereum-witness-protocol-wit)也是一种可选扩展,可以使对等点交换彼此的状态见证,从而帮助客户端与链端同步。
-
-#### 耳语 {#whisper}
-
-耳语协议旨在实现对等节点之间的安全消息传输,无需向区块链写入任何信息。 它曾是 DevP2P 线路协议的一部分,但现在已经弃用。 其他[相关项目](https://wakunetwork.com/)也存在类似目标。
-
-## 共识层 {#consensus-layer}
-
-共识客户端参与具有不同规范的单独对等网络。 共识客户端需要参与区块广播,以便它们可以从对等点接收新区块,并在轮到它们成为区块提议者时进行广播。 与执行层类似,此过程首先需要一个发现协议,以便节点可以找到对等节点并建立安全会话,以交换区块、认证等。
-
-### 发现 {#consensus-discovery}
-
-与执行客户端类似,共识客户端使用基于用户数据报协议的 [discv5](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#the-discovery-domain-discv5) 寻找对等点。 Discv5 的共识层实现与执行客户端的不同之处仅在于它包含一个将 discv5 连接到 [libP2P](https://libp2p.io/) 堆栈的适配器,而且弃用了 DevP2P。 执行层的 RLPx 会话已被弃用,取而代之的是 libP2P 的噪声安全信道握手。
-
-### 以太坊节点记录 {#consensus-enr}
-
-共识节点的以太坊节点记录包括节点的公钥、IP 地址、用户数据报协议和传输控制协议端口,以及两个共识特定字段:证明子网位字段和 `eth2` 密钥。 前者使节点更容易找到参与特定证明广播子网络的对等点。 `eth2` 密钥包含有关节点正在使用的以太坊分叉的版本信息,以确保对等点连接到正确的以太坊。
-
-### libP2P {#libp2p}
-
-LibP2P 堆栈支持发现后的所有通信。 根据其以太坊节点记录的定义,客户端可以在 IPv4 和/或 IPv6 上拨号和收听。 LibP2P 层上的协议可以细分为广播和请求-响应域。
-
-### 广播 {#gossip}
-
-广播域包括必须在整个网络中快速传播的所有信息。 这包括信标块、证明、认证、退出和罚没。 这是使用 libP2P gossipsub v1 传输的,并且依赖于在每个节点本地存储的各种元数据,包括要接收和传输的广播有效载荷的上限。 有关广播域的详细信息可在[此处](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#the-gossip-domain-gossipsub)找到。
-
-### 请求-响应 {#request-response}
-
-请求-响应域包含客户端从其对等点请求特定信息的协议。 示例包括请求匹配某些根哈希值或在一定时隙范围内的特定信标块。 响应总是以快速压缩的简单序列化编码字节的形式返回。
-
-## 为什么共识客户端更偏好简单序列化而不是递归长度前缀? {#ssz-vs-rlp}
-
-SSZ 代表简单序列化。 它使用固定偏移量,可以轻松解码编码消息的各个部分,而无需解码整个结构,这对于共识客户端非常有用,因为它可以有效地从编码消息中获取特定信息。 它还专门设计用于与默克尔协议集成,并提升与默克尔化有关的效率。 由于共识层中的所有哈希值都是默克尔树根,因此这带来了显著的改进。 简单序列化还保证了值的唯一表示。
-
-## 连接执行客户端和共识客户端 {#connecting-clients}
-
-共识客户端和执行客户端同时运行。 它们需要彼此连接,这样共识客户端才能向执行客户端提供指令,后者也才能向前者传送需要纳入信标区块的交易捆绑包。 两个客户端之间的通信可通过本地远程过程调用连接实现。 名为[“引擎-API”](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md)的应用程序接口定义两个客户端之间发送的指令。 由于两个客户端共用同一个网络身份,因此它们也共享同一个以太坊节点记录 (ENR),其中包含了每个客户端单独的密钥(eth1 密钥和 eth2 密钥)。
-
-下面显示了控制流摘要,括号中是相关的网络堆栈。
-
-### 当共识客户端不是区块生产者时: {#when-consensus-client-is-not-block-producer}
-
-- 共识客户端通过区块广播协议接收区块(共识对等网络)
-- 共识客户端预先验证区块,即确保它来自具有正确元数据的有效发送人
-- 区块中的交易作为执行有效载荷发送到执行层(本地远程过程调用连接)
-- 执行层执行交易并验证区块头中的状态(即检查哈希匹配度)
-- 执行层将验证数据传回共识层,现认为区块已验证(本地远程过程调用连接)
-- 共识层将区块添加到自己的区块链头并对其进行证明,通过网络广播认证(共识对等网络)
-
-### 当共识客户端是区块生产者时: {#when-consensus-client-is-block-producer}
-
-- 共识客户端收到通知,指出它将成为下一个区块的生产者(共识对等网络)
-- 共识层在执行客户端调用 `create block` 方法(本地远程过程调用)
-- 执行层访问由交易广播协议填充的交易内存池(执行对等网络)
-- 执行客户端将交易打包为一个区块、执行交易并生成一个区块哈希
-- 共识客户端从执行客户端获取交易和区块哈希,并将它们加入信标区块(本地远程过程调用)
-- 共识客户端通过区块广播协议广播区块(共识对等网络)
-- 其他客户端通过区块广播协议接收提议的区块,并如上所述进行验证(共识对等网络)
-
-区块被足够多的验证者认证后,就会被添加到链头,经过合理化并最终确定。
-
-![](cons_client_net_layer.png) ![](exe_client_net_layer.png)
-
-共识客户端和执行客户端的网络层示意图,取自 [ethresear.ch](https://ethresear.ch/t/eth1-eth2-client-relationship/7248)
-
-## 延伸阅读 {#further-reading}
-
-[DevP2P](https://github.com/ethereum/devp2p) [LibP2p](https://github.com/libp2p/specs) [共识层网络规范](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#enr-structure) [kademlia 至 discv5](https://vac.dev/kademlia-to-discv5) [kademlia 论文](https://pdos.csail.mit.edu/~petar/papers/maymounkov-kademlia-lncs.pdf) [以太坊对等网络简介](https://p2p.paris/en/talks/intro-ethereum-networking/) [以太坊 1/以太坊 2 的关系](http://ethresear.ch/t/eth1-eth2-client-relationship/7248) [合并和以太坊 2 客户端详情视频](https://www.youtube.com/watch?v=zNIrIninMgg)
diff --git a/public/content/translations/zh/25) Research Documentation/developers/docs/networking-layer/network-addresses/index.md b/public/content/translations/zh/25) Research Documentation/developers/docs/networking-layer/network-addresses/index.md
deleted file mode 100644
index 6f651ca1e09..00000000000
--- a/public/content/translations/zh/25) Research Documentation/developers/docs/networking-layer/network-addresses/index.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title: 网络地址
-description: 网络地址简介
-lang: zh
-sidebarDepth: 2
----
-
-以太坊节点必须用一些基本信息来表明身份,才能连接到其他节点。 为了确保任何潜在对等点能够解析这些信息,它以任何以太坊节点能够理解的三种标准化格式之一进行传递:multiadder、enode 或以太坊节点记录 (ENR)。 以太坊节点记录是以太坊网络地址的现行标准。
-
-## 前提条件 {#prerequisites}
-
-要理解此页,建议首先了解以太坊的[网络层](/developers/docs/networking-layer/)。
-
-## Multiaddr {#multiaddr}
-
-原始以太坊节点地址格式为“multiaddr”(“多地址”的缩写)。 Multiaddr 是一种通用格式,用于对等网络。 地址以键值对表示,键与值之间用正斜杠隔开。 例如,使用 IPv4 地址 `192.168.22.27` 监听 TCP 端口 `33000` 的节点可能具有以下类似的 multiaddr:
-
-`/ip4/192.168.22.27/tcp/33000`
-
-对于以太坊节点,multiaddr 包含节点 ID(其公钥的哈希值):
-
-`/ip4/192.168.22.27/tcp/33000/p2p/5t7Nv7dG2d6ffbvAiewVsEwWweU3LdebSqX2y1bPrW8br`
-
-## Enode {#enode}
-
-Enode 使用 URL 地址格式来识别以太坊节点。 十六进制节点 ID 编码为 URL 的用户名部分,采用 @ 符号与主机分隔开来。 主机名只能作为 IP 地址给出;不允许给出 DNS 名称。 主机名部分中的端口是 TCP 监听端口。 如果传输控制协议和用户数据报协议(发现)端口不同,用户数据报协议端口将被指定为查询参数“disposport”
-
-在下面的例子中,节点 URL 描述了一个 IP 地址为 `10.3.58.6`、TCP 端口为 `30303`、UDP 发现端口为 `30301` 的节点。
-
-`enode://6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec012937307647bd3b9a82abe2974e1407241d54947bbb39763a4cac9f77166ad92a0@10.3.58.6:30303?discport=30301`
-
-## 以太坊节点记录 (ENR) {#enr}
-
-以太坊节点记录 (ENR) 是以太坊网络地址的标准格式。 这种地址取代了 multiaddr 和 enode。 由于它们使节点之间能够进行更多的信息交流,因而尤其实用。 以太坊节点记录包含一个签名、序列号和字段,详细说明了用于生成和验证签名的身份识别方案。 以太坊节点记录还可以填充为采用键值对格式的任意数据。 这些键值对包含节点的 IP 地址和节点能够使用的子协议的信息。 共识客户端使用[特定的以太坊节点记录结构](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#enr-structure)来识别引导节点,并包括一个 `eth2` 字段,其中包含有关当前以太坊分叉和认证信息传播子网的信息。上述子网将节点连接至证明被整合在一起的特定对等点集。
-
-## 延伸阅读 {#further-reading}
-
-[EIP-778:以太坊节点记录](https://eips.ethereum.org/EIPS/eip-778) [以太坊中的网络地址](https://dean.eigenmann.me/blog/2020/01/21/network-addresses-in-ethereum/) [LibP2P:Multiaddr-Enode-ENR?!](https://consensys.net/diligence/blog/2020/09/libp2p-multiaddr-enode-enr/)
diff --git a/public/content/translations/zh/25) Research Documentation/developers/docs/networking-layer/portal-network/index.md b/public/content/translations/zh/25) Research Documentation/developers/docs/networking-layer/portal-network/index.md
deleted file mode 100644
index 5a2e52e13f5..00000000000
--- a/public/content/translations/zh/25) Research Documentation/developers/docs/networking-layer/portal-network/index.md
+++ /dev/null
@@ -1,83 +0,0 @@
----
-title: 门户网络
-description: 门户网络概览 - 旨在为低资源客户端提供支持的开发中网络。
-lang: zh
----
-
-以太坊是由运行以太坊客户端软件的计算机组成的网络。 其中每一台电脑都称为“节点”。 客户端软件让节点能够发送和接收以太坊网络上的数据,并根据以太坊协议规则验证数据。 节点在其磁盘存储中保存大量历史数据,并且当它们从网络上的其他节点接收到新的数据包(即区块)时就添加到里面。 对于始终检查一个节点是否具有和网络其他部分一致的信息,这是必不可少的。 这意味着运行一个节点需要大量磁盘空间。 一些节点操作也需要占用大量 RAM。
-
-为了解决这一磁盘存储问题,开发出了“轻”节点,它从全节点请求信息,而不是自己存储数据。 但是,这意味着轻节点无法独立验证信息,而是信任另一个节点。 它也意味着全节点需要承担额外的工作来服务那些轻节点。
-
-门户网络是一种针对以太坊的新型网络设计,旨在通过在整个网络以小数据块的形式分享必要的数据,解决“轻”节点的数据可用性问题,让轻节点无需信任全节点或者向其增加额外压力。
-
-关于[节点和客户端](/developers/docs/nodes-and-clients/)的更多信息
-
-## 为什么需要门户网络 {#why-do-we-need-portal-network}
-
-以太坊节点在本地存储以太坊区块链的全部或部分副本。 这个本地副本用来验证交易并确保节点追随正确的链。 这些本地存储的数据让节点能够独立验证传入的数据是否正确有效,而无需信任任何其他实体。
-
-区块链以及相关状态和收据数据的本地副本占用节点硬盘中的大量空间。 例如,要运行使用 [Geth](https://geth.ethereum.org) 搭配一种共识客户端的节点,推荐 2TB 硬盘。 快照同步只存储近期一组区块的链数据,采用这种同步时,Geth 一般占用约 650 GB的磁盘空间但是所需空间以每周大概 14GB 的速度增长(你可以定期将节点删除到 650 GB)。
-
-这意味着运行节点的成本相当昂贵,因为大量的磁盘空间必须专门给以太坊使用。 以太坊路线图上针对这个问题有几种解决方案,包括[历史数据到期](/roadmap/statelessness/#history-expiry)、[状态数据到期](/roadmap/statelessness/#state-expiry)和[无状态性](/roadmap/statelessness/)。 但是,这些方案很可能要好几年才能实现。 还有不自己保存链数据副本的[轻节点](/developers/docs/nodes-and-clients/light-clients/),它们从全节点请求需要的数据。 然而,这意味着轻节点必须信任全节点会提供诚实的数据,并会给全节点带来压力,它们不得不提供轻节点所需的数据。
-
-门户网络旨在提供一种可选方案,让轻节点无需信任全节点或者不会让全节点显著增加工作量,就可以获得需要的数据。 其运作原理是为以太坊节点引入了一种在整个网络中分享数据的新方式。
-
-## 门户网络如何运作? {#how-does-portal-network-work}
-
-以太坊节点有着严格的协议,协议定义节点如何相互通信。 执行客户端使用一组子协议 [DevP2P](/developers/docs/networking-layer/#devp2p) 通信,而共识客户端使用一组不同的子协议 [libP2P](/developers/docs/networking-layer/#libp2p)。 这些子协议定义了可以在节点间传送的数据类型。
-
-![devP2P 和 libP2P](portal-network-devp2p-libp2p.png)
-
-节点还能通过 [JSON-RPC 应用程序接口](/developers/docs/apis/json-rpc/)提供特定数据,这就是应用程序和钱包与以太坊节点交换信息的方式。 但是,这些都不是为轻客户端提供数据的理想协议。
-
-轻客户端目前不能通过 DevP2P 或 libP2p 请求特定的链数据,因为这些协议只用于支持链同步和区块与交易的传播。 轻客户端不想要下载这类信息,因为那将无法让它们保持“轻量”。
-
-JSON-RPC 也不是轻客户端请求数据的理想选择,因为它必须要连接到能够提供数据的特定全节点或中心化远程过程调用提供者。 这意味着轻客户端必须信任特定节点或提供者是诚实的,并且全节点很可能不得不处理来自许多轻客户端的大量请求,这提高了它们对带宽的要求.
-
-门户网络的关键是重新思考整个设计,为轻量化专门设计,摆脱现有以太坊客户端的设计限制。
-
-门户网络的核心理念是采用目前网络堆栈的精华部分,它利用[分布式哈希表](https://en.wikipedia.org/wiki/Distributed_hash_table),通过轻量级 DevP2P 风格的对等去中心化网络提供轻客户端所需的信息,比如历史数据和当前链头的身份(与 Bittorrent 类似)。
-
-这种想法是将以太坊全部历史数据的一小部分和一些特定节点职责添加给每个节点。 然后,通过搜索所请求的特定数据的存储节点,从中检索数据完成请求。
-
-这颠覆了轻节点请求数据的普通模式,即查找单个节点然后请求它们筛选并提供大量数据;相反,轻节点快速筛选大型节点网络,其中每个节点处理少量数据。
-
-目标是允许去中心化轻量级门户客户端网络:
-
-- 跟踪链头
-- 同步最近的和历史链数据
-- 检索状态数据
-- 广播交易
-- 使用[以太坊虚拟机](/developers/docs/evm/)执行交易
-
-这种网络设计的优势在于:
-
-- 减少对中心化提供者的依赖
-- 减少网络带宽使用
-- 最小化或零同步
-- 可供资源有限的设备访问(<1 GB 内存、<100 MB 磁盘、1 个 CPU)
-
-下表展示了门户网络可提供的现有客户端的功能,让用户可在极低资源设备上访问它们。
-
-![门户网络表](portal-network-table2.png)
-
-## 默认支持客户端多样性 {#client-diversity-as-default}
-
-门户网络开发者一开始还做出了设计选择:构建三种不同的门户网络客户端。
-
-这些门户网络客户端如下:
-
-- [Trin](https://github.com/ethereum/trin):用 Rust 编写
-- [Fluffy](https://nimbus.team/docs/fluffy.html):用 Nim 编写
-- [Ultralight](https://github.com/ethereumjs/ultralight):用 Typescript 编写
-- [Shisui](https://github.com/GrapeBaBa/shisui):用 Go 编写
-
-多种独立客户端实现提升了以太坊网络的弹性和去中心化。
-
-如果一种客户端遇到问题或者出现漏洞,其他客户端能继续平稳运行,防止单点故障。 另外,多样化的客户端实现促进了创新和竞争,推动改进并降低生态系统内的单一作物风险。
-
-## 延伸阅读 {#futher-reading}
-
-- [门户网络(Piper Merriam 在 Devcon Bogota 上的讲解)](https://www.youtube.com/watch?v=0stc9jnQLXA)。
-- [门户网络 discord](https://discord.gg/CFFnmE7Hbs)
-- [门户网络网站](https://www.ethportal.net/)
diff --git a/public/content/translations/zh/26) Miscellaneous/about/index.md b/public/content/translations/zh/26) Miscellaneous/about/index.md
deleted file mode 100644
index 0d3d40ffafe..00000000000
--- a/public/content/translations/zh/26) Miscellaneous/about/index.md
+++ /dev/null
@@ -1,127 +0,0 @@
----
-title: 关于我们
-description: 关于 ethereum.org 的团队、社区和任务
-lang: zh
----
-
-# 关于 ethereum.org {#about-ethereumorg}
-
-ethereum.org 是一个为以太坊社区打造的公共且开源的网站,任何人都可以贡献其中。 我们有一支小型核心团队致力于维护和开发该网站,有全球数以千计的社区成员为其做贡献。
-
-## 关于名称的说明 {#a-note-on-names}
-
-人们常常混淆以太坊环境中的名称,这可能导致人们很难理解以太坊如何运作。 下面将对几个名称进行简明解释:
-
-### 以太坊 {#ethereum}
-
-以太坊是一个公共网络、一条区块链也是一种开源协议 -- 一个全球化社区运营、治理、管理并拥有以太坊,数以万计的开发者、节点运营者、以太币持有者和以太坊用户都是该社区的成员。
-
-[有关以太坊的更多信息](/what-is-ethereum/)
-
-[有关以太坊治理的更多信息](/governance/)
-
-### 以太币 (ETH) {#ether-or-eth}
-
-以太币(名称代码为 ETH)是能在太坊上交易的原生货币。 使用以太坊网络需要支付以太币(以交易费的形式)。 以太币还用来质押,保护以太坊网络的安全。 当人们谈论以太坊的价格时,指的是以太币这种资产。
-
-[有关以太币的更多信息](/eth/)
-
-[有关质押以太币的更多信息](/staking/)
-
-### 以太坊基金会 {#ethereum-foundation}
-
-以太坊基金会是一个非营利性组织,最初通过以太币众筹融资,致力于为以太坊网络及其生态系统提供支持。
-
-[有关以太坊基金会的更多信息](/foundation/)
-
-### ethereum.org {#ethereum-org}
-
-ethereum.org 是一个面向以太坊社区的开源公共网站和教育资源。 ethereum.org 由一个小型核心团队领导,获得以太坊基金会资助,并有全球数以千计的社区成员为其做贡献。
-
-本页详细介绍 ethereum.org。
-
-## 我们的使命 {#our-mission}
-
-**ethereum.org 的使命是成为最好的门户网站,服务不断发展的以太坊社区。**
-
-我们努力打造一个通俗易懂的教育资源,涵盖与以太坊相关的所有主题,帮助新用户熟悉以太坊及其关键概念。 我们希望:
-
-- 向新用户解释以太坊相关技术
-- 帮助新用户使用以太币和以太坊
-- 帮助新开发者开始工作
-- 推广以太坊领域的进展
-- 展示社区创建的资源
-- 使以太坊相关教育覆盖更多的语言
-
-为了达成这一使命,在 ethereum.org 网站上,我们的团队将专注于两个主要目标:
-
-### 1. 改善 ethereum.org 访问者的用户体验 {#visitors}
-
-- 拓展、改进、并随时更新内容
-- 通过本地化及网页开发最佳做法,提高可用性和可访问性
-- 通过问卷调查、小测验和 web3 集成等功能提升用户参与度。
-- 保持网站简洁高效
-
-### 2. 发展,巩固,并赋能贡献者社区 {#community}
-
-- 增加网站贡献者总数
-- 通过吸引、认可和奖励提高贡献者的留存率。
-- 为社区成员赋能,使其能够作出越来越重要的贡献
-- 增进贡献的多样性:代码、内容、设计、翻译、审核
-- 持续更新代码库,保持其简洁且有据可查
-
-## 核心原则 {#core-principles}
-
-我们有一些核心原则,可指引我们完成使命。
-
-### 1. ethereum.org 是以太坊的门户网站 🌏 {#core-principles-1}
-
-我们希望激发用户的兴趣并回答他们的问题。 因此,我们的门户网站需要汇集信息、“奇迹的瞬间”和指向优秀社区资源的链接。 我们网站内容的目标是作为“入门通道”,而不是取代现存的大量资源。 我们致力于支持和整合社区开发的资源,提高它们的可见度,并使它们更易被发现。 [以太坊社区](/community/)就是核心:我们不仅仅服务于该社区,更要与之合作并吸取反馈意见。 该网站不仅仅面向当前的以太坊社区,更是面向我们心中所希望的社区。 我们必须记住,我们的社区是全球性的,包含使用多种语言、来自许多区域和文化的人。
-
-### 2. ethereum.org 在不断发展 🛠 {#core-principles-2}
-
-以太坊和社区一直在不断发展,ethereum.org 也将如此。 这就是该网站采用简洁的设计体系和模块化结构的原因。 当我们进一步了解人们如何使用该网站以及社区对该网站的需求时,我们会进行反复改进。 我们是一个开源的贡献者社群,所以你可以提出建议或帮助我们解决问题。 [了解贡献](/contributing/)
-
-### 3. ethereum.org 不是普通的商品网站 🦄 {#core-principles-3}
-
-以太坊是一个庞然大物:它包括社区、技术、思想和意识形态等等。 这意味着网站需要处理许多不同的用户历程,从“需要特定工具的开发者”到“刚刚购买了一些以太币却不知道钱包是什么的新手”,不一而足。 “哪个网站是了解和学习区块链平台的最佳网站?”,这仍然是一个有争论的问题,但我们是先驱。 构建它仍需要不断地试验。
-
-## 产品路线图 {#roadmap}
-
-为了使我们的工作更易于了解,并促进更多的社区合作,ethereum.org 核心团队发布了一份季度目标路线图概览。
-
-[查看我们的 2024 年第 3 季度产品路线图](https://github.com/ethereum/ethereum-org-website/issues/13399)
-
-**这看起来怎么样?**我们始终感谢为我们的路线图提供的反馈 - 如有改进之处,请告诉我们! 我们欢迎社区里的任何人提出想法和建议。
-
-**想要参与吗?**[了解更多关于做贡献的信息](/contributing/),[在 Twitter 上联系我们](https://twitter.com/ethdotorg)或加入我们在 [ Discord 服务器](https://discord.gg/ethereum-org)上的社区讨论。
-
-## 设计原则 {#design-principles}
-
-我们采用了一套[设计原则](/contributing/design-principles/),指导该网站的内容与设计决策。
-
-## 设计体系 {#design-system}
-
-我们创建并发布了一个[设计体系](https://www.figma.com/file/NrNxGjBL0Yl1PrNrOT8G2B/ethereum.org-Design-System?node-id=0%3A1&t=QBt9RkhpPqzE3Aa6-1),用来加快功能上线的速度,并让社区成员参与 ethereum.org 的开放设计。
-
-想要参与吗?[在 Figma 中关注](https://www.figma.com/file/NrNxGjBL0Yl1PrNrOT8G2B/ethereum.org-Design-System) [GitHub 问题](https://github.com/ethereum/ethereum-org-website/issues/6284) 并加入我们在 [#design Discord 频道](https://discord.gg/ethereum-org)中的讨论。
-
-## 风格指南 {#style-guide}
-
-我们有一个[风格指南](/contributing/style-guide/)来规范写作内容,从而使贡献过程更加顺畅。
-
-如果你想要[对该网站做贡献](/contributing/),请务必先阅读[我们的原则](/contributing/design-principles/)以及[我们的风格指南](/contributing/style-guide/)。
-
-欢迎大家针对我们的设计原则、设计体系和风格指南,提出反馈意见。 请记住,ethereum.org 来自社区,服务社区。
-
-## 许可证 {#license}
-
-除非另有说明,ethereum.org 网站是开源的,并基于 [MIT 许可证](https://github.com/ethereum/ethereum-org-website/blob/dev/LICENSE)构建。 更多关于 ethereum.org [使用条款](/terms-of-use/)的信息。
-
-## 正在招聘 {#open-jobs}
-
-虽然该网站是开源的并且任何人都可以改进它,但我们确实有一个专职团队,负责 ethereum.org 和以太坊基金会的其他 Web 项目。
-
-我们会在这里发布空缺的职位。 如果在这里看不到适合你的角色,请访问[我们的 Discord 服务器](https://discord.gg/ethereum-org),告诉我们你的合作意向!
-
-你想找除了 ethereum.org 团队以外的工作? [查看其他与以太坊相关的工作](/community/get-involved/#ethereum-jobs/)。
diff --git a/public/content/translations/zh/26) Miscellaneous/enterprise/index.md b/public/content/translations/zh/26) Miscellaneous/enterprise/index.md
deleted file mode 100644
index 758fe9a16a8..00000000000
--- a/public/content/translations/zh/26) Miscellaneous/enterprise/index.md
+++ /dev/null
@@ -1,162 +0,0 @@
----
-title: 在以太坊主网络上的企业
-description: 有关公共以太坊区块链上的企业应用的指南、文章和工具
-lang: zh
----
-
-# 企业级以太坊 {#ethereum-for-enterprise}
-
-以太坊可以帮助包括大公司在内的各类企业:
-
-- 增加信任,降低企业之间协调的成本
-- 提高业务网络的帐户属性及运营效率
-- 发现新的商业模式和创造价值的机会
-- 提高组织未来的竞争力
-
-早些年,许多企业级区块链应用是在私人许可的以太坊兼容区块链或联盟链上构建的。 如今,得益于可实现更高吞吐量、更低交易费用和隐私性的技术进步,大多数使用以太坊技术的企业级应用程序正在基于公共以太坊主网或[二层网络](/layer-2)链构建。
-
-
-## 资源 {#enterprise-resources}
-
-### 延伸阅读 {#further-reading}
-
-了解商家如何从以太坊受益的非技术资源
-
-- [区块链有什么商业用途?](https://entethalliance.org/why-are-blockchains-useful-for-business/)- _从可预测性的角度讨论区块链的价值_
-- [企业以太坊联盟 2023 年度商业就绪度报告](https://entethalliance.org/eea-ethereum-business-readiness-report-2023/) - _调查公共以太坊的潜力与能力以及更广阔的以太坊商业生态系统_
-- [Paul Brody 编著的_《商业以太坊》_](https://www.uapress.com/product/ethereum-for-business/) - _一本简练的英语指南,介绍从资产管理和支付到供应链获取回报的使用案例_
-
-### 组织 {#organizations}
-
-不同组织开展了一些合作,努力改善以太坊对企业用户的易用性:
-
-- [企业以太坊联盟](https://entethalliance.org/) - 企业以太坊联盟协助组织在其日常商业运营中采纳和使用以太坊技术。 它的目标是通过专业与商业支持、倡议与研究、标准制定与生态系统信任服务来加速商业以太坊的发展。
-- [全球区块链商业理事会](https://www.gbbc.io/) - 全球区块链商业理事会是区块链技术生态系统的行业协会。 通过促进政策制定者和监管者的参与、精心策划的活动和深入的讨论以及推动研究工作,全球区块链商业理事会致力于促进区块链的进一步采纳,以创造更安全、更平等和更高效运转的社会。
-
-
-## 企业开发者资源 {#enterprise-developer-resources}
-
-### 产品和服务 {#products-and-services}
-
-- [4EVERLAND](https://www.4everland.org/) - _提供应用程序接口、远程过程调用服务和工具,用于托管去中心化应用程序和在以太坊上启用去中心化存储_
-- [Alchemy](https://www.alchemy.com/) - _提供应用程序接口服务和工具,用于在以太坊上构建和监控应用程序_
-- [Blast](https://blastapi.io/) - _ 是一个应用程序接口平台,为以太坊归档主网和测试网提供远程过程调用/网络服务安全性应用程序接口。_
-- [Blockapps](https://blockapps.net/) - _构成 STRATO 平台的企业以太坊协议、工具和应用程序接口的实现_
-- [Chainstack](https://chainstack.com/) - _托管在公有云和隔离的客户云中的主网和测试网以太坊基础设施_
-- [ConsenSys](https://consensys.io/) - _提供一系列用于以太坊构建的产品和工具,以及咨询和定制开发服务_
-- [Crossmint](http://crossmint.com/) _企业级 web3 开发平台,用于部署智能合约、支持信用卡和跨链支付,以及使用应用程序接口来创建、分发、销售、存储和编辑非同质化代币。_
-- [Envision Blockchain](https://envisionblockchain.com/) - _提供以企业为中心、专门针对以太坊主网的咨询和开发服务_
-- [EY OpsChain](https://blockchain.ey.com/products/contract-manager) - _通过在你信赖的业务合作伙伴网络中发布报价申请、合同、采购订单和发票,提供采购工作流程_。
-- [Hyperledger Besu](https://www.hyperledger.org/use/besu) - _在 Apache 2.0 许可证下开发并使用 Java 编写的以企业为中心的开源以太坊客户端_
-- [Infura](https://infura.io/) - _对以太坊和星际文件系统网络的可扩展应用程序接口访问_
-- [Kaleido](https://kaleido.io/) - _一个以企业为中心的开发平台,提供简化的区块链和数字资产应用程序_
-- [NodeReal](https://nodereal.io/) - _为 Web3 生态系统提供可扩展的区块链基础设施和应用程序接口服务提供商_
-- [Moralis](http://moralis.io/) - _具有 SOC2 2 类认证的企业级应用程序接口和节点_
-- [Provide](https://provide.services/) - _企业零知识中间件_
-- [QuickNode](https://www.quicknode.com/) - _提供可靠、快速的节点以及高级应用程序接口,如非同质化代币应用程序接口、代币应用程序接口等,同时提供统一的产品套件和企业级解决方案_
-- [Tenderly](https://tenderly.co) - _一个 Web3 开发平台,为智能合约的开发、测试、监控和运营提供调试、可观察性和基础设施构建块_
-- [Unibright](https://unibright.io/) - _一支由区块链专家、架构师、开发者和顾问组成的团队,拥有 20 多年的业务经验流程和集成经验_
-- [Zeeve](https://www.zeeve.io/) - _提供一系列用于以太坊构建的产品和工具,以及用于企业级 Web3 应用程序的基础设施和应用程序接口。_
-
-### 工具和库 {#tooling-and-libraries}
-
-- [Baseline 项目](https://www.baseline-protocol.org/) - _Baseline 协议是一组工具和库,可帮助企业协调复杂的多方业务流程和工作流程并保持隐私性,同时将数据保存在各自的记录系统中。 该标准使两个或多个状态机能够通过使用网络作为公用参考框架来实现和维护数据一致性和工作流程连续性。_
-- [Chainlens](https://www.chainlens.com/) - _来自 Web3 Labs 的质押即服务和本地区块链数据与分析平台_
-- [Ernst & Young's 'Nightfall'](https://github.com/EYBlockchain/nightfall_3) - _该应用程序用于通过乐观卷叠转移零知识下的 ERC20、ERC721 和 ERC1155 应用程序_
-- [Truffle Suite](https://trufflesuite.com) - _区块链开发套件(Truffle、Ganache、Drizzle)_
-
-### 可扩展性解决方案 {#scalability-solutions}
-
-大多数新区块链应用程序正在[二层网络](/layer-2)链上构建。 二层网络是在以太坊(一层网络)上运行的一系列技术或系统,它继承了一层网络的安全属性,但与一层网络相比,具有更强大的交易处理能力(吞吐量)、更低的交易费(操作费用)和更快的交易确认速度。 二层网络扩容解决方案由一层网络提供保护,但相较于一层网络,它们使区块链应用程序能够处理多得多的用户、操作或数据。 其中许多解决方案利用加密和零知识 (ZK) 证明领域的最新进展,最大限度地提高性能和安全性,一些还能提供更高级别的隐私性。
-
-## 以太坊主网上运行的企业级应用程序 {#enterprise-live-on-mainnet}
-
-以下是一些传统行业、非区块链相关的公司建立在以太坊主网或者二层网络上的企业级应用程序的例子。
-
-### 支付 {#payments}
-
-- [Brave Browser](https://basicattentiontoken.org/) - _向用户支付其对广告的关注,并且用户可以通过基本注意力代币向发布商付费以获得支持_
-- [瑞士卢加诺市](https://bitcoinsuisse.com/news/city-of-lugano-accepts-crypto- payments) - _税收和其他市政服务付款_
-- [EthereumAds](https://ethereumads.com/) - _让网站运营商出售广告空间并通过以太坊获得报酬_
-- [hCaptcha](https://www.hcaptcha.com/) - _预防机器人验证码系统,其根据用户完成的工作(标记数据以用于机器学习)向网站运营商付费。 现在由 Cloudflare 部署_
-- [Opera MiniPay](https://www.opera.com/products/minipay) - _利用非保管钱包让非洲人更方便、更安全地使用移动支付,以及利用电话号码轻松进行交易_
-- [Roxpay](https://www.roxpay.ch/) - _按使用付费资产自动开票和付款_
-- [SAP 数字货币中心](https://community.sap.com/t5/technology-blogs-by-sap/cross-border-payments-made-easy-with-digital-money-experience-the-future/ba-p/13560384) - _稳定币跨境支付_
-- [Toku](https://www.toku.com/) - _工资单、代币授予管理、税务合规、当地就业、福利和分布式人力资源解决方案_
-- [Xerof](https://www.xerof.com/) - _促进快速且便宜的国际(跨境)企业对企业 (B2B) 支付_
-
-### 金融 {#finance}
-
-- [ABN AMRO](https://tokeny.com/tokeny-fuels-abn-amro-bank-in-tokenizing-green-bonds-on-polygon/) - _经营代币、代币化绿色债券_
-- [Crowdz](https://crowdz.io/) - _发票/应收账款融资和保理平台_
-- [Mata Capital](https://consensys.io/blockchain-use-cases/finance/mata-capital) - _房地产投资代币化_
-- [Obligate](https://www.obligate.com/) - _受监管且经过身份验证的链上债券和商业票据_
-- [西门子](https://press.siemens.com/global/en/pressrelease/siemens-issues-first-digital-bond-blockchain) - _债券发行_
-- [Sila](https://silamoney.com/) - _使用稳定币的银行和自动清算所付款基础设施即服务_
-- [Societe Generale FORGE](https://www.sgforge.com/product/bonds/) - _债券发行_
-- [Taurus](https://www.taurushq.com/) - _发行代币化证券_
-
-### 资产代币化 {#tokenization}
-
-- [AgroToken](https://agrotoken.io/en/) - _农产品代币化和交易_
-- [Bitbond](https://www.bitbond.com/) - _通过代币化改善金融资产的发行、结算和保管_
-- [Blocksquare](https://blocksquare.io/) - _房地产代币化基础设施_
-- [Centrifuge](https://centrifuge.io/) - _代币化应收账款融资、债务和资产_
-- [Clearmatics](https://www.clearmatics.com) - _为代币化价值的点对点交换构建去中心化网络平台_
-- [dClimate](https://www.dclimate.net/) - _去中心化气候信息生态系统_
-- [Fabrica](https://www.fabrica.land/) - _一个用于数字化房地产资产、赋能去中心化金融借贷和房地产交易的平台_
-- [Fasset](https://www.fasset.com/) - _用于支持可持续基础设施的平台_
-- [Nori](https://nori.com/) - _开源市场基础设施,便于碳清除项目衡量活动并进行货币化_
-- [Propy](https://propy.com/) - _通过智能合约自动进行住宅房地产交易的平台_
-- [RealT](https://realt.co/) - _全球各地的投资者都可以通过完全合规的部分代币化所有权买入美国房地产市场股票_
-- [Ruby](https://www.rubey.be/) - _一个将高端艺术品代币化以供散户投资者使用的平台_
-- [Swarm](https://swarm.com/) - _一个专注于以合规方式实现真实世界资产数字化和交易的平台_
-- [Thallo](https://www.thallo.io/) - _一个将数字碳信用融入商业交易的平台_
-- [Tokenchampions](https://tokenchampions.com/) - _欧洲足球运动员肖像权代币化_
-
-### 数据公证 {#notarization-of-data}
-
-- [ ANSA](https://www.ansa.it/english/news/science_tecnology/2020/04/06/ansa-using-blockchain-to-help-readers_af820b4f-0947-439b-843e-52e114f53318.html) - _意大利通讯社打击假新闻,并通过将新闻报道记录在主网上,让读者能够验证新闻报道的来源_
-- [Breitling](https://www.coindesk.com/breitling-arianee-all-new-watches-ethereum) - _在以太坊上记录腕表的出处和维修历史_
-- [BRØK](https://www.xn--brk-1na.no/) - _由挪威政府提供的面向非上市公司的股权结构表平台_
-- [Certifaction](https://certifaction.com/) - _采用隐私设计的合法有效的电子签名_
-- [EthSign](https://ethsign.xyz/) - _在以太坊区块链上记录签名的电子文档_
-- [Stacktical](https://stacktical.com/) - _利用原生托管能力支持软件开发、服务级别协议 (SLA) 的数字发布和数字签名_
-- [Verizon](https://decrypt.co/46745/verizon-news-press-releases-ethereum-full-transparency) - _在以太坊上记录新闻稿以确保企业责任和信任_
-- [WolfTown](https://www.mef.net/edge-view-blog/automated-secure-timely-sla-reporting-is-finally-a-reality/) - _由 MEF 和 Sage Management 联合运营,可自动执行电信运营商之间的服务级别协议报告_
-
-### 供应链 {#supply-chain}
-
-- [Birra Peroni](https://www.ey.com/en_gl/news/2021/05/birra-peroni-is-the-first-industrial-organization-to-mint-unique-non-fungible-tokens-using-ey-opschain-traceability) _ 为每批新酿造的啤酒铸造非同质化代币,从而提高整条供应链的可见性和效率_
-- [CargoX](https://cargox.io/) - _面向运输领域的电子提单和文件传输提供商_
-- [Circularize](https://www.circularise.com/) - _产品原材料的端到端可追溯性解决方案_
-- [EY OpsChain 合同管理器](https://blockchain.ey.com/products/contract-manager) - _支持公司参与采购工作流程,在业务合作伙伴网络上发出报价申请、合同、采购订单和发票_
-- [Minespider](https://www.minespider.com/) - _供应链跟踪和溯源,以及二氧化碳排放跟踪_
-- [Morpheus.network](https://morpheus.network/) - _供应链自动化平台_
-- [StaTwig](https://statwig.com/) - _供应链运营_
-- [TradeTrust](https://www.tradetrust.io/) - _验证国际运输的电子提单 (eBL)_
-- [Transmute](https://transmute.industries/) - _面向全球贸易的数据交换平台;支持以太坊上使用去中心化身份的交易_
-
-### 保险 {#insurance}
-
-- [Arbol](https://www.arbolmarket.com/) - _涵盖天气相关风险的参数化保险_
-- [Etherisc](https://etherisc.com/) - _涵盖各种风险的去中心化保险_
-- [Nayms](https://www.nayms.com/) - _与 AON 联合构建的数字空间,用于建立保险计划、资本筹集和交易、风险记录以及保费和索赔交易的支付围栏_
-
-### 身份、凭证和认证 {#credentials}
-
-- [BCdiploma](https://www.bcdiploma.com/) - _文凭、证书和微证书的数字化和验证_
-- [Hyland Credentials](https://www.hylandcredentials.com) - _数字文凭和其他教育凭证、执照和证书_
-- [帕劳数字居住计划](https://rns.id/) - _让全球公民能够拥有帕劳政府颁发的合法身份证 EM>
-- [Spherity](https://www.spherity.com/) - _提供数字身份管理解决方案,以在生态系统中建立数字信任,专注于去中心化身份和可验证的凭证_
-- [Zug Digital ID](https://ezug.ch/en/) - _位于瑞士的基于区块链的身份系统,让居民能够以数字方式访问政府服务和支持功能,例如借用电动自行车和市政投票_
-
-### 娱乐、非同质化代币和客户忠诚计划
-
-- [Adidas Virtual Gear](https://www.adidas.com/metaverse) - _虚拟装备非同质化代币收藏_
-- [大英博物馆的沙盒](https://decrypt.co/150405/british-museum-enter-metaverse-via-sandbox) - _非同质化代币收藏_
-- [Fruitlab](https://fruitlab.com/) - _供游戏玩家通过观看、分享和玩在线游戏来赚钱的平台_
-- [Nike Swoosh](https://www.swoosh.nike/) - _非同质化代币平台_
-- [Sothbebys Metaverse](https://metaverse.sothebys.com/) - _苏富比数字艺术非同质化代币市场_
-
-如果想要继续向这个列表中添加项目,请参阅[贡献说明](/contributing/)。
diff --git a/public/content/translations/zh/26) Miscellaneous/enterprise/private-ethereum/index.md b/public/content/translations/zh/26) Miscellaneous/enterprise/private-ethereum/index.md
deleted file mode 100644
index 51aec40f071..00000000000
--- a/public/content/translations/zh/26) Miscellaneous/enterprise/private-ethereum/index.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title: 企业级私有以太坊
-description: 在私有以太坊区块链上开发企业级应用的资源
-lang: zh
----
-
-# 企业级私有以太坊 {#private-ethereum-for-enterprise}
-
-企业级的区块链应用可以建立在以太坊主网或基于以太坊技术的私有链上。 有关在公共以太坊主网上构建的更多信息,请参见[企业级以太坊主网应用](/enterprise/)
-
-## 企业级私有以太坊开发者资源 {#developer-resources-private-enterprise-ethereum}
-
-### 组织 {#organisations}
-
-不同的组织进行了一些合作,以使以太坊企业更友好:
-
-- [企业以太坊联盟(Enterprise Ethereum Alliance, EEA)](https://entethalliance.org/) 旨在让各组织能够在其日常业务中采用和使用以太坊技术。 我们让以太坊的生态系统可以找到新的商业机会,推进工业界的采用,并让参与者之间可以相互学习与合作。
-- [Hyperledger](https://hyperledger.org) _Hyperledger 是一种开源的旨在促进跨行业的区块链技术。 这是一项全球合作,由 Linux 基金会主持,包括了金融、银行、物联网、供应链、制造和科技等领域的主要机构。 该基金会有一些采用以太坊堆栈的项目,包括 [Besu](https://www.hyperledger.org/use/besu)。_
-
-### 协议和基础架构 {#protocol-and-infrastructure}
-
-- [Chainstack](https://chainstack.com/) _跨云和跨协议的平台即服务使企业能够快速构建、部署和管理去中心化网络和服务_
-- [Clearmatics Autonity](https://www.clearmatics.com/about/) _实现了 p2p 协议并提供了客户端软件和基础架构_
-- [Hyperledger Besu](https://www.hyperledger.org/use/besu) _一种开源以太坊客户端,依据 Apache 2.0 许可证开发,用 Java 编写。它包括多种共识算法,有工作量证明和权威证明(如 IBFT、IBFT 2.0、Ethash 和 Clique)。 它的全面许可计划是专门为了在联盟链场景中使用而设计的。_
-- [Kaleido](https://kaleido.io/) _用于构建和运行跨云、混合式企业生态系统的全栈平台_
-- [Zeeve](https://www.zeeve.io/) _提供一系列用于在以太坊上构建的产品和工具,以及企业 Web3 应用程序的基础架构和应用程序接口_
diff --git a/public/content/translations/zh/26) Miscellaneous/foundation/index.md b/public/content/translations/zh/26) Miscellaneous/foundation/index.md
deleted file mode 100644
index b6b2c5c1d0c..00000000000
--- a/public/content/translations/zh/26) Miscellaneous/foundation/index.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title: 以太坊基金会
-description: 了解以太坊基金会(EF),一个致力于支持以太坊和相关技术的非营利组织。
-hideEditButton: true
-lang: zh
----
-
-# 关于以太坊基金会 {#about-the-ethereum-foundation}
-
-
-
-[以太坊基金会](http://ethereum.foundation/) (EF) 是一个非营利性组织,致力于支持 [以太坊](/what-is-ethereum/) 以及相关技术。
-
-EF 不是一家公司,甚至不是传统的非营利组织。 他们的作用不是控制或领导以太坊,也不是为以太坊相关技术的重大开发提供资金的唯一组织。 EF 只是巨大的[生态系统](/community/) 的一部分。
-
-## 以太基基金会倡议 {#ethereum-foundation-initiatives}
-
-### 生态系统支持方案 {#ecosystem-support-program}
-
-[生态系统支持计划](https://esp.ethereum.foundation/) 旨在向广大以太坊社区内的项目和实体提供财政和非财政支持来加速生态系统的成长。 生态系统支持计划是对原始以太坊赠款计划的扩展,该计划主要侧重于财务支持。
-
-在[esp.ethereum.foundation](https://esp.ethereum.foundation/)可以了解更多关于生态系统支持计划,曾经的赠款接收者和申请过程。 你也可以查看 [生态系统支持计划博客](https://blog.ethereum.org/category/ecosystem-support-program/) 或关注 [@EF_ESP](https://twitter.com/EF_ESP) 获取他们的最新消息和公告。
-
-### 测试版 {#devcon}
-
-从 2014 年开始,以太坊基金会开始组织“测试版”——所有以太坊开发人员、研究人员、思想家和开发人员的年度会议。
-
-从会议开始以来,你每年都可以在 [archive.devcon.org](https://archive.devcon.org/) 访问会议的视频内容。
-
-访问 [devcon.org](https://devcon.org/) 了解详情,查看 [Devcon 博客](https://devcon.org/en/blogs/),或关注 [@efdevcon](https://twitter.com/EFDevcon) 了解最新公告。
-
-### Fellowship 计划 {#fellowship-program}
-
-[以太坊基金会团体计划](https://fellowship.ethereum.foundation/)是一项旨在帮助解决不同文化、国籍和经济阶层之间代表力差距的倡议。 团体计划旨在通过识别和支持独特和有才华的个人来弥补这些差距,帮助实现以太坊的相关性,并为那些将成为 Web3 未来但未被充分代表的人和社区打破进入壁垒。
-
-[从“团体.以太坊.基金会”了解更多](https://fellowship.ethereum.foundation/)。
-
-
-
-有关基金会及其工作的详细信息,请访问[以太坊基金会](http://ethereum.foundation/),或者查看[以太坊基金会博客](https://blog.ethereum.org/),了解以太坊基金会的最新消息和通告。
diff --git a/public/content/translations/zh/27) Contributing/contributing/design-principles/index.md b/public/content/translations/zh/27) Contributing/contributing/design-principles/index.md
deleted file mode 100644
index 34f19a3754f..00000000000
--- a/public/content/translations/zh/27) Contributing/contributing/design-principles/index.md
+++ /dev/null
@@ -1,93 +0,0 @@
----
-title: 设计原则
-lang: zh
-description: Ethereum.org 设计和内容决策背后的原则
----
-
-# 我们的设计原则 {#contributing-to-ethereumorg-}
-
- 你好,欢迎了解 ethereum.org 的设计原则。 这是 ethereum.org 不断发展和改进过程的一部分。
-
-我们的原则决定了网站的外观和感觉以及网站上的内容。
-
-你应该在为 [contribute to ethereum.org](/contributing/) 做贡献之前阅读这些原则。
-
-## 什么是设计原则? {#ways-to-contribute}
-
-别担心,它们非常简单。 **设计原则**是我们在设计(即创建、维护或更新)某物时参考的一套准则。
-
-在 ethereum.org 的背景下,这些设计原则是我们希望网站向世界呈现和展示的内容的基础。 我们希望它们能表达我们的抱负,同时**也**要实现功能。 这不仅仅是网站的_外观_,还有它的_工作方式_,甚至是给人的_感觉。_从颜色到页面布局,再到我们在网站上讨论以太坊的方式,这一切都应该遵循这些原则。
-
-## 实践中的原则 {#how-decisions-about-the-site-are-made}
-
-让我们来看一个例子: 其中一项原则是“可信”,这意味着我们希望网站的访问者_感觉_并_知道_该网站是值得信赖的——就像更开放的以太坊生态系统一样。 在该原则下,我们有 3 个功能性“子原则”,我们认为这些是我们可以采取的可行步骤,以使网站具有可信度:
-
-- _“最新”_,即保持内容最新。
-- _“社会认同”_,即展示生态系统的规模、多样性和活跃度(你知道的:以太坊升级进度、去中心化金融、游戏、所有黑客马拉松等)
-- _“一致”_,即网站设计以及写作的基调和准确性是一致的。
-
-因此,当我们做出设计或文案决策时,我们可以参考“可信”原则并自问:
-
-- _“网站是否反映了当前的信息?”_
-- _“我们如何以及在哪里展示生态系统的规模和活动?”_
-- _“我正在审核的由社区成员提出的新提议是否与网站上当前的设计和文风一致?”_
-
-## Ethereum.org 的设计原则 {#contributors}
-
-### 1. 启发性 {#1-inspirational}
-
-网站应该能够激发用户,梦想以太坊能如何改变世界。 它应该激励人们去探索、体验和修复以太坊生态系统的工具和应用程序。
-
-- **斗志昂扬:**网站应该传达以太坊雄心勃勃的目标,即有意义地改变世界。 应该清楚的是,以太坊不仅仅是一些新技术的堆叠 - 它是一种变革性的技术。
-- **通过教育赋予权力**:网站应该对人们进行教导,以便他们了解以太坊的潜力,在生态系统中找到自己的位置,并感到有权参与其中。
-
-视觉导航 • 内容
-
-### 2. 通用性 {#2-universal}
-
-以太坊是一个全球性的、去中心化的项目,我们的用户反映了这一点。 网站应致力于让每个人都能访问,并维护世界的多元文化。
-
-- **无障碍:**网站应遵循无障碍指南 - 包括允许低带宽连接的人访问。
-- **简单明了:**网站应该是简单而明确的。 文案不应使用可能被误解的用语或意思缺失的译文。
-- **以太坊是多面的:**以太坊是一个项目、一个代码库、一个社区和一个愿景。 以太坊出于不同的原因对不同的人都有价值,参与的方式也多种多样。
-
-写作系统 • 色彩的使用 • 视觉导航 • 内容
-
-### 3. 好故事 {#3-a-good-story}
-
-网站应该像一个好故事一样运作。 访客就像在旅途中,而你所贡献的内容是旅途的一部分。 你的贡献应该运用清晰的叙述技巧:一个有开头(介绍/切入点)、中间(一些经验和见解)和结尾(指向相关资源或后续步骤的链接)。
-
-- **层次分明**:如果内容具有一个清晰的、有层次的信息架构,这将有助于 ethereum.org 的访问者在寻求达到他们的目的时“像读故事一样”浏览网站。
-- **踏脚石:**我们是来网站寻找答案的访问者的踏脚石。 我们不想取代许多现有资源或成为这些资源的替代品。 我们给出答案并提供可靠的后续步骤。
-
-用户旅程 • 内容
-
-### 4. 可信 {#4-credible}
-
-人们可能想要初步了解以太坊生态系统,或者对以太坊保持怀疑态度。 你的沟通方式将能发挥作用, 请确保他们在离开网站时对以太坊生态系统更加有信心。
-
-- **最新:**始终保持最新。
-- **社会认同:**展示生态系统的规模、多样性和活跃度。
-- **一致:**设计和内容的一致性传达了可信度。
-
-视觉导航 • 内容
-
-### 5. 协作改进 {#5-collaborative-improvement}
-
-该网站是许多贡献者的产物,就像整个生态系统一样。
-
-- **开放性:**为整个生态系统的源代码、流程和项目的透明度而欢呼吧。
-- **可扩展性:**模块化是我们一切努力背后的关键重点,所以贡献也应该是模块化的。 核心设计、组件代码和网站的实施应使其能够在未来轻松扩展。
-- **实验性:**我们正在不断地进行实验、测试和迭代。
-- **协作性:**这个项目将我们所有人聚集在一起。
-- **可持续性:**为社区长期维护而设置。
-
-你可以看到[我们的整个网站](/)充分体现了我们的设计原则。
-
-## 提供反馈 {#give-feedback}
-
-**分享你对本文档的反馈!**我们提出的原则之一是"**协作改进**",这意味着我们希望网站是众多贡献者的产物。 因此,本着这一原则,我们希望与以太坊社区分享这些设计原则。
-
-虽然这些原则主要体现在 ethereum.org 网站上,但我们希望其中许多原则能够代表以太坊生态系统的整体价值(例如,你可以看到[以太坊原则白皮书](https://github.com/ethereum/wiki/wiki/White-Paper#philosophy)的影响)。 也许你甚至想将其中一些原则运用到你自己的项目中!
-
-你可以通过 [Discord 服务器](https://discord.gg/ethereum-org)或[创建一个问题](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=Type%3A+Feature&template=feature_request.yaml&title=)让我们知道你的想法。
diff --git a/public/content/translations/zh/27) Contributing/contributing/design/index.md b/public/content/translations/zh/27) Contributing/contributing/design/index.md
deleted file mode 100644
index 16058c9cb7a..00000000000
--- a/public/content/translations/zh/27) Contributing/contributing/design/index.md
+++ /dev/null
@@ -1,77 +0,0 @@
----
-title: 设计贡献
-description: 为 ethereum.org 做出设计贡献
-lang: zh
----
-
-# 为 ethereum.org 做出设计贡献 {#design-contributions}
-
-设计是任何项目的关键组成部分,通过将你的时间和设计技能投入到 Ethereum.org,你可以帮助我们改善访问者的用户体验。 为开源项目做贡献为你提供了在协作环境中获得相关经验和发展技能的机会。 你将有机会和其他有独特观点及见解的设计师、开发者和社区成员合作。
-
-最后,这是创作一个多元化、令人印象深刻的作品集并展示你的设计技能的绝佳途径。
-
-## 如何做出贡献?
-
-### 对早期设计原型提供反馈 {#design-critique}
-
-有时我们需要一些帮助来检验我们的最初构想。 这是在没有任何技术知识的情况下做出贡献的好方法。
-
-1. 设计团队将在 [Discord](https://discord.com/invite/ethereum-org) 和 [GitHub](https://github.com/ethereum/ethereum-org-website/labels/design%20required%20%F0%9F%8E%A8) 上分享模型设计。
-2. 将指导你熟悉整个设计并通过评论功能提供反馈。
-3. 结果将在 GitHub 的提议中公布,然后由团队关闭。
-
-### 参与调查研究 {#answer-surveys}
-
-通过以下步骤对我们的网站提供反馈:
-
-1. 访问 ethereum.org 并浏览相关页面。
-2. 点击右下角的反馈小组件,并回答与设计和内容相关的问题。
-3. 重点关注开放式问题。
-
-### 发现网站上与设计相关的问题并进行报告 {#report-design-issues}
-
-Ethereum.org 是一个快速发展的网站,拥有众多功能和内容。 一些用户界面很容易过时或需要改进。 如果你遇到任何此类情况,请向我们报告,以便引起我们的注意。
-
-1. 浏览网站并关注网站的设计。
-2. 如果发现任何视觉或用户体验方面的问题,请截图并记录下来。
-3. 使用[漏洞报告](https://github.com/ethereum/ethereum-org-website/issues/new/choose)来报告发现的问题。
-
-### 提出设计变更 {#propose-design-changes}
-
-如果你愿意接受设计挑战,可以访问我们的 GitHub 问题看板,并筛选出 [与设计相关的问题](https://github.com/ethereum/ethereum-org-website/labels/design%20required%20%F0%9F%8E%A8)。
-
-1. 请浏览我们的网站并关注其设计,或访问我们的 GitHub 存储库并查看标记有[“Design required”(需要设计参与)”标签](https://github.com/ethereum/ethereum-org-website/labels/design%20required%20%F0%9F%8E%A8)的问题。
-2. 构思解决方案并进行设计。 (最好使用我们的[设计系统](https://www.figma.com/community/file/1134414495420383395))。
-3. 在相应的 GitHub 问题中提出解决方案,或者[创建一个新的问题](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=feature+%3Asparkles%3A&template=feature_request.yaml&title=Feature+request)来提出建议。
-4. 等待设计团队审核。
-
-### 一起构建设计系统 {#Contribute-to-design-system}
-
-使用我们的设计系统,设计 ethereum.org 将变得轻松有趣。 如果你是一位经验丰富的设计师,就可以帮助我们为网站准备许多组件。
-
-1. 从 GitHub 上的[设计系统看板](https://github.com/ethereum/ethereum-org-website/labels/design%20system)中选择一个要处理的问题,或者创建一个新问题。
-2. 请求将所选问题分配给自己。
-3. 开始在 Figma 中设计要求的组件。
-4. 一旦需要审查或指导,请在 GitHub 上将组件分享给设计团队。
-5. 设计团队将进行审查。
-6. 设计团队将变更纳入主文件并向社区发布该文件。
-
-### 在网站上撰写与设计相关的内容 {#write-design-articles}
-
-以太坊开发者社区很强大,但设计社区稍显落后。 如果你是一位拥有 Web3 知识的设计师,请考虑与大社区分享你的知识,以便我们大家能够共同成长和进步;我们有[一个关于为以太坊设计的页面](/developers/docs/design-and-ux/),你可以为其做出贡献。 你还可以查看我们的[上架政策](/contributing/design/adding-design-resources)。
-
-1. 构思 ethereum.org 上应涵盖的设计主题,这些主题应对该领域的设计师有所裨益。
-2. 访问我们的 GitHub 存储库,[创建一个问题](https://github.com/ethereum/ethereum-org-website/issues/new)并提出一个主题(先不要写内容)。
-3. 等待设计团队批准。
-4. 获得批准后,开始撰写内容。
-5. 在相应的 GitHub 问题中提交。
-
-### 绘制新插图 {#prepare-illustrations}
-
-可视化是用来解释抽象主题最有力的工具之一。 通过添加图表和信息图表,可视化可以挖掘出巨大的潜力。 毕竟,一张图片胜过千言万语。
-
-1. 访问我们的网站,查看可以添加新信息图表的页面。
-2. 确保插图风格与我们的[网站](/assets/)相符。
-3. 访问我们的 GitHub 存储库,[创建一个问题](https://github.com/ethereum/ethereum-org-website/issues/new)并提交插图。
-4. 设计团队将进行审查。
-5. 我们创建一个新问题,邀请开发者来实现新图像。
diff --git a/public/content/translations/zh/27) Contributing/contributing/index.md b/public/content/translations/zh/27) Contributing/contributing/index.md
deleted file mode 100644
index a2c15085bbc..00000000000
--- a/public/content/translations/zh/27) Contributing/contributing/index.md
+++ /dev/null
@@ -1,117 +0,0 @@
----
-title: 贡献力量
-description: 了解你可以为 ethereum.org 做出贡献的几种方式
-lang: zh
----
-
-# 为 ethereum.org 贡献力量 🦄 {#contributing-to-ethereumorg}
-
-Ethereum.org 是一个开源项目,有超过 **12,000** 名贡献者帮助翻译、编写、设计和维护网站。
-
-我们是一个热情的社区,将帮助你在以太坊生态系统中学习和成长,同时也做出有意义的贡献并获得相关的实践经验!
-
-## 如何做出贡献 {#ways-to-contribute}
-
-**翻译**
-- [加入翻译计划](/contributing/translation-program/) – 帮助我们为 ethereum.org 增加新语言支持
-
-**开发**
-- [处理有待解决的问题](https://github.com/ethereum/ethereum-org-website/issues) - 我们确定需要开展的工作
-
-**设计**
-- [帮助设计网站](/contributing/design/) - 任何水平的设计师都可以为改进网站做出贡献
-
-**内容**
-- [创建/编辑内容](/contributing/#how-to-update-content) – 建议新页面或对现有内容进行调整
-- [添加社区资源](/contributing/content-resources/) – 将有用的文章或资源添加到相关页面
-- [对设计资源提出建议](/contributing/design/adding-design-resources/) - 添加、更新和删除有用的设计资源
-- [添加词汇表术语](/contributing/adding-glossary-terms/) – 帮助我们继续扩充以太坊[词汇表](/glossary/)
-- [测验](/contributing/quizzes/) – 为相关页面添加、更新和删除测试题库
-
-**功能创意**
-- [申请功能](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=Type%3A+Feature&template=feature_request.yaml&title=) – 让我们了解你在新功能或设计方面的任何想法
-
-**产品列表**
-- [添加交易所](/contributing/adding-exchanges/) – 将交易所添加到我们的[交易所查找器](/get-eth/#country-picker)
-- [添加产品](/contributing/adding-products/) – 将去中心化应用程序或钱包添加到相关页面
-- [添加开发者工具](/contributing/adding-developer-tools/) – 将开发者工具添加到相关页面
-- [添加二层网络](/contributing/adding-layer-2s/) – 将二层网络添加到相关页面
-- [添加质押产品或服务](/contributing/adding-staking-products/) – 添加有助于促进单独质押、联合质押或质押即服务的项目
-- [添加钱包](/contributing/adding-wallets/) – 为[查找钱包页面](/wallets/find-wallet/)添加钱包
-- [为我们的去中心化科学页面建议项目](/contributing/adding-desci-projects/) – 添加基于以太坊构建的项目,为去中心化科学做贡献
-
-有疑问吗? 🤔 加入我们的 [Discord 服务器](https://discord.gg/ethereum-org)
-
-## 适合新手的起步任务
-
-这些是你目前可以帮助我们解决和承担的部分任务。 对于大多数用户,你需要 GitHub 帐户,因为对网站的大多数更改都是通过 GitHub 进行的。
-
-
-
-查看所有任务
-
-## 如何在 ethereum.org 上工作 {#how-to-update-content}
-
-如果你希望为[翻译计划](/contributing/translation-program/)做贡献,那么你需要在 [Crowdin](https://crowdin.com/project/ethereum-org) 上创建一个帐户。 对于其他所有任务,例如在网站上添加或编辑内容或视觉效果、修复错误、处理开放任务,你都需要一个 [GitHub](https://github.com/) 帐户。
-
-所有更新都是通过 GitHub 拉取请求流程进行的。 这意味着你要在网站上创建本地副本,做出你的更改,以及请求合并你的更改。 如果你以前从未这样做过,请按照我们 [GitHub 存储库](https://github.com/ethereum/ethereum-org-website)底部的说明进行操作。
-
-你不需要权限来处理任何事情,但是最好让我们知道你打算做什么。 你可以这样做:
-
-- 评论 [GitHub](https://github.com/ethereum/ethereum-org-website) 中的一个问题或拉取请求
-- 在我们的 [Discord 服务器](https://discord.gg/ethereum-org)上发消息
-
-在做出贡献之前,请你了解以下内容:
-
-- 不断发展的 [ethereum.org 愿景](/about/)
-- 我们的[设计原则](/contributing/design-principles/)
-- 我们的[风格指南](/contributing/style-guide/)
-- 我们的[行为准则](/community/code-of-conduct)
-
-
-
-## 如何做出有关网站的决定 {#how-decisions-about-the-site-are-made}
-
-关于个人拉取请求、设计演变和重大升级的决策,由来自整个以太坊生态系统的团队做出。 该团队包括项目管理人员、开发者、设计师、营销和通信人员以及主题专家。 社区的参与将为每项决策提供信息:因此请提出问题、提交拉取请求或联系该团队:
-
-- [website@ethereum.org](mailto:website@ethereum.org)
-- [@ethdotorg](https://twitter.com/ethdotorg)
-- [Discord 服务器](https://discord.gg/ethereum-org)
-
-### 关于抄袭的说明 {#plagiarism}
-
-在向 ethereum.org 贡献任何内容或创意时,请仅使用你有权使用的原创作品或内容。 以太坊生态系统内的许多项目都使用开源许可,以便于自由分享信息。 但是,如果你找不到相关信息,请不要尝试将其添加到 ethereum.org。 被视为抄袭的拉取请求都将被拒绝。
-
-## 新接触开源项目? {#new-to-open-source}
-
-我们的 GitHub 存储库中有一些准入门槛较低的问题,专为刚接触开源设计的开发者设计,我们将这类问题标记为[入门优选问题](https://github.com/ethereum/ethereum-org-website/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)。
-
-## 领取链上成就代币 (OAT) {#oat}
-
-如果你的贡献被合并到 ethereum.org 中,你将有机会在 [Galxe](https://app.galxe.com/quest/ethereumorg) 上领取特殊徽章。 链上成就代币 (OAT) 是你助力改善生态系统的证明。
-
-[关于链上成就代币的更多信息](https://help.galxe.com/en/articles/7067290-galxe-oats-reward-and-celebrate-achievements)
-
-### 如何领取
-1. 加入我们的 [Discord 服务器](https://discord.gg/ethereum-org)。
-2. 将指向你的贡献内容的链接粘贴至 `#🥇 | proof-of-contribution` 频道。
-3. 等待我们团队的成员向你发送链上成就代币链接。
-4. 领取你的链上成就代币!
-
-你只能使用自已保管的钱包来领取链上成就代币。 请勿使用交易所帐户或你未持有私人密钥的其他帐户,因为这些帐户不允许你访问和管理你的链上成就代币。
-
-## 领取你的 GitPOAP 徽章 {#claim-gitpoap}
-
-GitPOAP 还将自动表彰你做出的合并贡献,并让你在其平台上单独铸造一枚特别贡献者 POAP 徽章!
-
-
-### 如何领取 {#how-to-claim}
-
-1. 访问 [GitPOAP](https://www.gitpoap.io)。
-2. 通过登录选项连接你的钱包甚至电子邮件。
-3. 搜索你的 GitHub 用户名、以太币地址、以太坊域名服务名称或任何 GitPOAP 以检查你是否符合条件。
-4. 如果你的 GitHub 帐户符合条件,那么你就可以创建 GitPOAP 徽章!
-
-## 贡献者 {#contributors}
-
-
diff --git a/public/content/translations/zh/27) Contributing/contributing/translation-program/faq/index.md b/public/content/translations/zh/27) Contributing/contributing/translation-program/faq/index.md
deleted file mode 100644
index 36d2898ae9b..00000000000
--- a/public/content/translations/zh/27) Contributing/contributing/translation-program/faq/index.md
+++ /dev/null
@@ -1,119 +0,0 @@
----
-title: 翻译计划常见问题 (FAQ)
-lang: zh
-description: 关于 ethereum.org 翻译计划的常见问题
----
-
-# ethereum.org 翻译指南 {#translating-ethereum-guide}
-
-如果你是翻译计划的新手,而且不知道从何下手,这里的一些常见问题会有所帮助。 使用本指南来寻找常见问题的答案。
-
-## 我是否可以通过翻译 ethereum.org 而获得补偿? {#compensation}
-
-ethereum.org 是一个开放源代码的网站,这意味着任何人都可以参与并作出贡献。
-
-ethereum.org 翻译计划是这种做法的延伸,其组织方式考虑到了类似的理念。
-
-翻译计划的目标是使人人都能访问以太坊的内容,而不论他们使用哪种语言。 它使得任何双语人员都能够参与以太坊生态系统,并以方便的方式作出贡献。
-
-因此,这个翻译计划是开放和自愿的,参与不会得到补偿。 如果我们要按照翻译字数对翻译人员提供补偿,我们只会邀请那些有足够翻译经验的人(专业翻译人员)加入这个翻译计划。 这将导致翻译计划具有排他性,并阻止了我们实现所概述的目标。这个目标具体而言就是:允许所有人参加和参与到生态系统中。
-
-我们尽一切努力使我们的贡献者能够在以太坊生态系统中取得成功;许多非货币性的激励措施已经到位,如:[提供 POAP 徽章](/contributing/translation-program/acknowledgements/#poap)和[翻译人员证书](/contributing/translation-program/acknowledgements/#certificate),整理[翻译排行榜](/contributing/translation-program/acknowledgements/)和[列出我们网站上的所有翻译人员](/contributing/translation-program/contributors/)。
-
-## 如何翻译带有 `` 的语句? {#tags}
-
-并非每个语句都以纯文本形式书写。 部分语句包含 HTML 标签 (`<0>` `0>`) 等混合脚本。通常是句子中的超链接或不同格式。
-
-- 翻译标签内的文本,但不翻译标签本身。 不能翻译或删除 `<` 和 `>` 中的任何内容。
-- 为了保持语句完整,建议你点击左下方的"Copy Source"按钮。 这将复制原文语句并粘贴到文本框内。 这让你明确标签的位置,有助于避免错误。
-
-![高亮显示“复制原文”按钮的 Crowdin 界面](./html-tag-strings.png)
-
-你可以在语句中移动标签的位置,使其在句子中更加自然 – 但请确保移动整个标签。
-
-更多关于处理标签和代码片段的详细信息,请参阅 [《ethereum.org 翻译风格指南》](/contributing/translation-program/translators-guide/#dealing-with-tags)。
-
-## 上下文在哪里? {#strings}
-
-通常情况下,仅靠原文语句可能不足以让你提供准确翻译。
-
-- 查看“屏幕截图”和“上下文”以获取更多信息。 在原文语句部分,你将看到附加的屏幕截图,从而了解使用该语句的上下文。
-- 如果仍然不确定,请在“COMMENTS”部分中添加标记。 [不知道如何评论?](#comment)
-
-![如何通过屏幕截图为语句提供上下文信息](./source-string.png)
-
-![为上下文添加一个示例屏幕截图](./source-string-2.png)
-
-## 如何留下评论或问题? 我想标记一个问题或错别字... {#comment}
-
-如果你想标记某个需要注意的语句,请随时提交评论。
-
-- 点击右上角菜单栏的第二个按钮。 隐藏标签将出现在你的右侧。 留下新评论并点击底部的“Issue”复选框。 你可以从下拉菜单选择一个选项,表明问题类型。
-- 问题一旦提交,就将报告给我们的团队。 我们将解决这个问题,并通过回复评论和关闭问题来让你知道。
-- 如果你提供不正确的翻译,那么在下次审核期间,母语人士将审核该翻译和你建议的替代方案。
-
-![如何发表评论和提出问题](./comment-issue.png)
-
-## 什么是翻译记忆库 (TM)? {#translation-memory}
-
-翻译记忆库 (TM) 是一项 Crowdin 功能,可存储所有先前已翻译的 [ethereum.org](http://ethereum.org/) 中的语句。 翻译过的语句会自动保存到 TM 中。 这款实用工具可以帮助你节省时间!
-
-- 请看“TM and MT Suggestions”部分,你会看到其他翻译人员如何翻译相同或类似语句。 如果发现匹配率很高的建议,可以点击以引用该翻译内容。
-- 如果列表中没有任何内容,你可以搜索 TM 中以前做过的翻译并重新使用以保持一致性。
-
-![翻译记忆库屏幕截图](./translation-memory.png)
-
-## 如何使用 Crowdin 词汇表? {#glossary}
-
-以太坊术语是我们翻译工作的另一个关键部分,因为通常新的技术术语在许多语言中尚未本地化。 另外,有些术语在不同背景下的含义不同。 [关于以太坊术语翻译的更多信息](#terminology)
-
-Crowdin 词汇表是阐明术语和定义的最佳位置。 有两种方法来参照词汇表。
-
-- 首先,当你在原文语句上发现带下划线的术语时,将鼠标移到上面,即可看到简要定义。
-
-![词汇表定义示例](./glossary-definition.png)
-
-- 第二,如果看到一个不熟悉但没有下划线的术语,你可以在词汇表选项卡(右侧列第三个按钮)中搜索。 你会找到特定术语和项目中常用术语的解释。
-
-![Crowdin 中“词汇表”选项卡位置的屏幕截图](./glossary-tab.png)
-
-- 如果仍然找不到,即可借此机会添加新术语! 我们建议你在搜索引擎上进行查找,并将描述添加到词汇表中。 这将非常有助于其他翻译人员更好地理解该术语。
-
-![如何向 Crowdin 添加词汇表术语的屏幕截图](./add-glossary-term.png)
-
-### 术语翻译政策 {#terminology}
-
-_适用于名称(商标、公司、人员)和新技术术语(信标链、分片链等)_
-
-以太坊提出了很多最近出现的新术语。 由于没有各自语言的官方译本,因此翻译人员对有些术语的翻译不同。 这种不一致会造成误解,降低可读性。
-
-由于语言多样性和每种语言的标准化程度不同,几乎不可能提出可适合所有支持语言的统一术语翻译政策。
-
-经过慎重考虑,我们决定将最常用的术语留给你们翻译人员去翻译。
-
-如果发现你不熟悉的术语,我们建议你:
-
-- 参考[词汇表](#glossary),你可能会发现其他翻译人员以前的译法。 如果你认为之前翻译的术语不恰当,请随时通过向 Crowdin 词汇表添加新术语来恢复你的译文。
-- 如果词汇表中之前没有翻译,我们建议你在搜索引擎或媒体文章中查找,显示该术语在社区中的实际使用情况。
-- 如果根本找不到任何参考资料,请按你的直觉和理解翻译成自己的语言!
-- 如果不太确定,可以不翻译这一术语。 有时,英语术语足以提供准确定义。
-
-我们建议不翻译品牌、公司和人员名称,因为翻译可能会造成不必要的混乱和搜索引擎优化困难。
-
-## 审核流程如何运作? {#review-process}
-
-为确保我们翻译的质量和一致性达到一定的水平,我们与 [Acolad](https://www.acolad.com/)合作,它是全球最大的语言服务提供者之一。 Acolad 拥有 20,000 名专业语言学家,这意味着他们可以针对我们所需的每种语言和内容类型提供专业的审稿人。
-
-审核过程是简单明确的;在一个[内容存储桶](/contributing/translation-program/content-buckets)被全部翻译后,我们便会安排对该内容库进行审核。 审核过程直接在 Crowdin 进行。 当审核完成后,我们将用翻译内容更新网站。
-
-## 如何以我的语言添加内容? {#adding-foreign-language-content}
-
-目前,所有非英文内容都是直接从英文源内容翻译而来,任何不是以英文形式存在的内容都不能添加到其他语言中。
-
-要为 ethereum.org 推荐新内容,你可以在 GitHub 上[创建一个提议](https://github.com/ethereum/ethereum-org-website/issues)。 如果要添加的话,内容将用英语编写并使用 Crowdin 翻译成其他语言。
-
-我们计划在不久的将来支持对于非英文内容的添加。
-
-## 联系我们 {#contact}
-
-感谢阅读所有内容。 我们希望这对你加入我们的计划有所帮助。 欢迎加入我们的 [Discord 翻译频道](https://discord.gg/ethereum-org),提出问题并与其他翻译人员合作,或者通过 translations@ethereum.org 联系我们!
diff --git a/public/content/translations/zh/27) Contributing/contributing/translation-program/how-to-translate/index.md b/public/content/translations/zh/27) Contributing/contributing/translation-program/how-to-translate/index.md
deleted file mode 100644
index 0f78a8fbc6b..00000000000
--- a/public/content/translations/zh/27) Contributing/contributing/translation-program/how-to-translate/index.md
+++ /dev/null
@@ -1,89 +0,0 @@
----
-title: 如何翻译
-lang: zh
-description: 使用 Crowdin 翻译 ethereum.org 的操作指南
----
-
-# 如何翻译 {#how-to-translate}
-
-## 视频指南 {#visual-guide}
-
-更喜欢视频学习的人员请观看 Luka 演示如何设置 Crowdin。 或者,你可以在下一节找到书面形式的相同步骤。
-
-
-
-## 书面指南 {#written-guide}
-
-### 在 Crowdin 中参与我们的项目 {#join-project}
-
-需要登录你的 Crowdin 帐户,如果还没有 Crowdin 帐户,你需要注册一个。 只需要提供电子邮件帐户和密码即可注册。
-
-
- 参与项目
-
-
-### 选择语言 {#open-language}
-
-登录 Crowdin 后,你会看见项目描述和所有可用语言的列表。 每种语言还包含关于可翻译总字数的信息,并提供了特定语言中有多少内容已经翻译并获得批准的概况。
-
-打开你想要翻译的目标语言,查看可翻译的文件列表。
-
-![Crowdin 中的语言列表](./list-of-languages.png)
-
-### 查找要翻译的文件 {#find-document}
-
-网站内容分为多个文档和内容存储桶。 可以在右边查看每个文档的进度 - 如果翻译进度低于 100%,请贡献你的力量!
-
-找不到你的语言? [创建一个问题](https://github.com/ethereum/ethereum-org-website/issues/new/choose)或者在 [Discord](/discord/) 中联系我们。
-
-![Crowdin 中已翻译和未翻译的文件](./crowdin-files.png)
-
-关于内容存储桶的说明:我们使用 Crowdin 中的“内容存储桶”功能最先发布最高优先级内容。 当你查看一种语言时(例如[菲律宾语](https://crowdin.com/project/ethereum-org/fil#)),会看到内容存储桶对应的文件夹,例如(“1. 首页”、“2. 基础知识”、“3. 探究”等)。
-
-我们建议按照数字顺序进行翻译 (1 → 2 → 3 → ⋯),以保证影响最大的页面最先得到翻译。
-
-[了解关于 ethereum.org 内容存储桶的更多信息](/contributing/translation-program/content-buckets/)
-
-### 翻译 {#translate}
-
-当你选择想翻译的文件后,文件将在在线编辑器内打开。 如果你从未使用过 Crowdin,你可以通过这个快速指南来了解基础知识。
-
-![Crowdin 在线编辑器](./online-editor.png)
-
-**_1 - 左侧边栏_**
-
-- 未翻译(红色)– 尚未翻译的文本。 这些是你应该翻译的文本。
-- 已翻译(绿色)– 已翻译但尚未审核的文本。 欢迎你提出其他翻译建议,或使用编辑器中的“+”和“-”按钮对现有翻译投票。
-- 已核准(勾号)– 已审核并且目前已经在网站上展示的文本。
-
-你也可以使用顶部的按钮搜索特定文本,按状态筛选或更改视图。
-
-**_2 – 编辑区域_**
-
-主要翻译区域 – 源文本显示在顶部,还有更多上下文和屏幕截图(如果有)。 要添加新翻译,请在“Enter translation here”字段中输入你的翻译,然后点击“Save”。
-
-还可以在此区域找到现有文本翻译和其他语言的翻译,以及翻译记忆库的匹配项和机器翻译建议。
-
-**_3 – 右侧边栏_**
-
-可以在这里找到评论、翻译记忆库和词汇表条目。 默认视图会显示评论,允许翻译人员相互交流、提出问题或报告错误翻译。
-
-通过使用上面的按钮,你还可以切换到翻译记忆库,在其中搜索现有翻译,或者切换到词汇表,其中包含关键术语的描述和标准翻译。
-
-想了解更多信息? 可随时查看[关于使用 Crowdin 在线编辑器的文档](https://support.crowdin.com/online-editor/)
-
-### 审核过程 {#review-process}
-
-一旦你完成翻译(即内容存储桶的所有文件均显示 100%),我们的专业翻译服务机构将审核(并可能编辑)你完成的内容。 一旦审核完成(即审核进度为 100%),我们会将内容添加到网站上。
-
-
- 请不要使用机器翻译来翻译项目。 所有译文在添加到网站之前均会进行审核。 如果发现你提供的译文是机器翻译的,你的译文将不会被应用,经常使用机器翻译的贡献者将被从项目中移除。
-
-
-### 联系我们 {#get-in-touch}
-
-还有其他问题吗? 或者想与我们的团队和其他翻译人员合作? 请在我们的 [ethereum.org Discord 服务器](/discord/)的 #translations 频道中发帖
-
-也可以通过向 translations@ethereum.org 发送邮件联系我们
-
-感谢你参与 ethereum.org 翻译计划!
diff --git a/public/content/translations/zh/27) Contributing/contributing/translation-program/index.md b/public/content/translations/zh/27) Contributing/contributing/translation-program/index.md
deleted file mode 100644
index 3f17e9bd897..00000000000
--- a/public/content/translations/zh/27) Contributing/contributing/translation-program/index.md
+++ /dev/null
@@ -1,90 +0,0 @@
----
-title: 翻译计划
-lang: zh
-description: 关于 ethereum.org 翻译计划的信息
----
-
-# 翻译计划 {#translation-program}
-
-翻译计划是一项将 ethereum.org 翻译成不同语言的协同工作计划,方便全球数十亿非英语人士更容易访问网站。
-
-![](./enterprise-eth.png)
-
-## 帮助我们翻译 {#help-us-translate}
-
-Ethereum.org 翻译计划是开放的,所有人都可以参与!
-
-1. 你需要登录或注册 Crowdin 帐户。
-2. 选择你想贡献翻译的语言。
-3. 在开始之前,请查看[如何翻译](/contributing/translation-program/how-to-translate/)指南,学习如何使用 Crowdin 和 [翻译风格指南](/contributing/translation-program/translators-guide/),了解相关提示和最佳做法。
-4. 机器翻译将不会被批准。
-5. 所有翻译在添加到网站之前都会经过审核,因此你的翻译在上线之前会有一个短暂的延迟。
-
-_加入 [ethereum.org Discord](/discord/) 合作翻译、提问、分享反馈和想法,或加入翻译组。_
-
-
- 开始翻译
-
-
-## 关于翻译计划 {#about-us}
-
-以太坊社区旨在成为全球化和包容性的社区,但其大部分内容仅面向英语使用者,而忽略了全球 60 亿非英语使用者。 为了使 ethereum.org 成为全球社区进入以太坊的门户,我们认为很有必要为非英语国家人士按母语提供以太坊内容。
-
-Ethereum.org 翻译计划旨在通过将 Ethereum.org 和其他以太坊内容翻译成尽可能多的语言,让所有人都能参与以太坊。
-
-阅读更多关于 Ethereum.org 翻译计划[任务和愿景](/contributing/translation-program/mission-and-vision)的信息。
-
-### 我们迄今取得的进展 {#our-progress}
-
-- [**超过 6,000 **位翻译人员](/contributing/translation-program/contributors/)
-- 网站支持 **62** 种语言
-- [2023 年翻译了** 300 万**字](/contributing/translation-program/acknowledgements/)
-
-
-
-### 致谢 {#acknowledgements}
-
-成千上万社区成员参与 Ethereum.org 的翻译,他们是翻译计划的关键组成部分。 我们要感谢我们的翻译人员,并在他们的职业生涯中给予支持。 以下是我们对翻译人员的一些致谢方式:
-
-#### 证书 {#certificate}
-
-如果你参与了翻译计划,并且至少有 5000 个翻译的字词获得批准,就有资格获得 Ethereum.org 翻译人员证书。 [更多关于证书的信息](/contributing/translation-program/acknowledgements/#certificate)
-
-#### OAT {#oats}
-
-翻译计划的贡献者有资格根据 2024 年翻译的字数获得不同的 OAT(链上成就代币)。 链上成就代币是非同质化代币,可证明你对 ethereum.org 翻译计划的贡献。 [有关链上成就代币的更多信息](/contributing/translation-program/acknowledgements/#oats)
-
-#### 致谢翻译人员 {#translator-acknowledgements}
-
-通过发布[排行榜](/contributing/translation-program/acknowledgements/)和[翻译计划全体贡献者名单](/contributing/translation-program/contributors/),对我们的优秀翻译人员致以公开感谢。
-
-#### 奖励 {#rewards}
-
-过去,我们追加奖励了最活跃的贡献者,为其提供了 [Devcon](https://devcon.org/en/) 和 [Devconnect](https://devconnect.org/) 等以太坊会议的票证以及 Ethereum.org 专属商品。
-
-我们一直在考虑一些创新方式来奖励我们的贡献者,敬请关注!
-
-### 指南和资源 {#guides-and-resources}
-
-如果你正在为翻译计划做贡献或考虑参与其中,应该查看以下翻译指南:
-
-- [翻译风格指南](/contributing/translation-program/translators-guide/) _– 面向 ethereum.org 翻译人员的说明和技巧_
-- [翻译常见问题](/contributing/translation-program/faq/) _– 有关 ethereum.org 翻译计划的一些常见问题与解答_
-- [Crowdin 在线编辑器指南](https://support.crowdin.com/online-editor/) _- 使用 Crowdin 在线编辑器和 Crowdin 一些高级功能的深度指南_
-- [内容存储桶](/contributing/translation-program/content-buckets/) _– ethereum.org 的每个内容存储桶中包含哪些页面_
-
-有关其他有用的翻译工具、翻译人员社区和翻译计划博客文章,请访问[资源页面](/contributing/translation-program/resources/)。
-
-## 联系我们 {#get-in-touch}
-
-还有其他问题吗? 或者想与我们的团队和其他翻译人员合作? 请在我们 [ethereum.org Discord 服务器](https://discord.gg/ethereum-org)的 #translations 频道中发帖
-
-也可以通过向 translations@ethereum.org 发送邮件联系我们
-
-## 开始你自己的翻译计划 {#starting-a-translation-program}
-
-我们致力于将以太坊内容翻译成尽可能多的语言,并向所有人提供教育内容。 我们对翻译很重视,希望帮助其他以太坊项目组织、管理和改进他们的翻译工作。
-
-出于这个原因,我们制作了一本[翻译计划手册](/contributing/translation-program/playbook/),其中包含我们在翻译 ethereum.org 的过程中获得的一些技巧和最佳做法。
-
-想要进一步合作或使用我们的一些翻译资源? 对手册有任何反馈意见? 我们很乐意通过 translations@ethereum.org 听到你们的声音。
diff --git a/public/content/translations/zh/27) Contributing/contributing/translation-program/mission-and-vision/index.md b/public/content/translations/zh/27) Contributing/contributing/translation-program/mission-and-vision/index.md
deleted file mode 100644
index 774035687ea..00000000000
--- a/public/content/translations/zh/27) Contributing/contributing/translation-program/mission-and-vision/index.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title: 使命和愿景
-lang: zh
-description: Ethereum.org 翻译计划的使命和愿景
----
-
-# 使命和愿景 {#mission-and-vision}
-
-以太坊社区旨在成为全球化和包容性的社区,但其大部分内容仅面向英语使用者,而忽略了全球 60 亿非英语使用者。 为了使 ethereum.org 成为全球社区进入以太坊的门户,我们认为很有必要为非英语国家人士按母语提供以太坊内容。
-
-Ethereum.org 翻译计划旨在通过将 Ethereum.org 和其他以太坊内容翻译成尽可能多的语言,让所有人都能参与以太坊。
-
-## 我们的使命 {#our-mission}
-
-- 提供网站的翻译版本,支持世界各地的访问者通过母语了解以太坊
-- 促进更多成员加入全球以太坊社区
-- 允许以更易获得和更具包容性的方式分享以太坊的信息和知识
-- 支持社区成员为以太坊提供翻译,并在生态系统中留下自己的痕迹
-- 寻找、联系希望参与生态系统的热情贡献者,并为其提供指导
-
-## 我们的愿景 {#our-vision}
-
-- 为来自世界上尽可能多的国家/地区的以太坊社区成员翻译基本内容
-- 支持跨语言的知识共享,创建一个信息灵通、受过更好教育的以太坊社区
-- 通过消除非英语人士加入生态系统的语言障碍,提高以太坊的包容性和可访问性
diff --git a/public/content/translations/zh/27) Contributing/contributing/translation-program/resources/index.md b/public/content/translations/zh/27) Contributing/contributing/translation-program/resources/index.md
deleted file mode 100644
index 2b4be8bfa0d..00000000000
--- a/public/content/translations/zh/27) Contributing/contributing/translation-program/resources/index.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-title: 翻译人员的资源
-lang: zh
-description: 对 ethereum.org 翻译人员有用的资源
----
-
-# 资源 {#resources}
-
-你可以在下面找到一些对 ethereum.org 翻译人员有用的指南和工具,还可以找到翻译社区和最新进展。
-
-## 指南 {#guides}
-
-- [翻译风格指南](/contributing/translation-program/translators-guide/) _– 面向 ethereum.org 翻译人员的说明和技巧_
-- [翻译常见问题](/contributing/translation-program/faq/) _– 有关 ethereum.org 翻译计划的一些常见问题与解答_
-- [Crowdin 在线编辑器指南](https://support.crowdin.com/online-editor/) _- 使用 Crowdin 在线编辑器和 Crowdin 一些高级功能的深度指南_
-- [内容存储桶](/contributing/translation-program/content-buckets/) _– ethereum.org 的每个内容存储桶中包含哪些页面_
-
-## 工具 {#tools}
-
-- [Microsoft 语言门户](https://www.microsoft.com/en-us/language) _- 对于查找和核对技术术语的标准翻译非常有用_
-- [Linguee](https://www.linguee.com/) _– 翻译和字典搜索引擎,可按词或短语搜索_
-- [Proz 术语搜索](https://www.proz.com/search/) _– 专业术语的翻译字典和词汇表数据库_
-- [Eurotermbank](https://www.eurotermbank.com/) _ – 42 种语言的欧洲术语集_
-
-## 社区 {#communities}
-
-- [特定语种的 Discord 翻译团体](/discord/) _ – 在 ethereum.org 翻译人员与翻译团体之间建立联系的倡议举措_
-- [中文翻译人员团体](https://www.notion.so/Ethereum-org-05375fe0a94c4214acaf90f42ba40171) _– 方便中文翻译人员之间协作的 Notion 页面_
-
-## 最近更新 {#latest-updates}
-
-要及时了解翻译计划的最新进展,可以关注[以太坊基金会博客](https://blog.ethereum.org/):
-
-- [2021 年 10 月里程碑更新](https://blog.ethereum.org/2021/10/04/translation-program-update/)
-- [2020 年 12 月里程碑更新](https://blog.ethereum.org/2020/12/21/translation-program-milestones-updates-20/)
-- [2020 年 7 月里程碑更新](https://blog.ethereum.org/2020/07/29/ethdotorg-translation-milestone/)
-- [2019 年 8 月翻译计划启动](https://blog.ethereum.org/2019/08/20/translating-ethereum-for-our-global-community/)
-
-## 翻译人员官方互动时间 {#office-hours}
-
-每个月的第二个星期三是翻译人员的官方互动时间。 互动会在 [ethereum.org 的 Discord](/discord/) #官方互动时间频道举办,你也可以在那里查看确切的举行时间和其他详细信息。
-
-在官方互动时间,我们的翻译人员可以询问有关翻译流程的问题,提出有关翻译计划的反馈,分享交流他们的想法,或者单纯与 ethereum.org 的核心团队聊天。 最后,我们希望通过这些电话会议传达翻译计划取得的最新进展,并与我们的贡献者分享重要的技巧和说明。
-
-如果你是 ethereum.org 翻译人员或想要成为翻译人员,欢迎加入任何一场我们的官方互动时间。
diff --git a/public/content/translations/zh/27) Contributing/contributing/translation-program/translators-guide/index.md b/public/content/translations/zh/27) Contributing/contributing/translation-program/translators-guide/index.md
deleted file mode 100644
index a9376f38152..00000000000
--- a/public/content/translations/zh/27) Contributing/contributing/translation-program/translators-guide/index.md
+++ /dev/null
@@ -1,293 +0,0 @@
----
-title: 翻译人员指南
-lang: zh
-description: 适用于 Ethereum.org 翻译人员的说明和技巧
----
-
-# Ethereum.org 翻译风格指南 {#style-guide}
-
-Ehereum.org 翻译风格指南包含一些最重要的指南、说明和翻译技巧,帮助我们对网站进行本地化。
-
-本文档是一份一般性指南,并不特定于任何一种语言。
-
-如果有任何问题、建议或反馈,请随时通过 translations@ethereum.org 与我们联系,在 Crowdin 上向 @ethdotorg 发送消息,或[加入我们的 Discord](https://discord.gg/ethereum-org),你可以通过#translations 频道向我们发送消息或联系任何团队成员。
-
-## 使用 Crowdin {#using-crowdin}
-
-你可以在[翻译计划页面](/contributing/translation-program/#how-to-translate)上找到有关如何在 Crowdin 中加入项目以及如何使用 Crowdin 在线编辑器的基本说明。
-
-如果你想了解更多关于 Crowdin 并使用它的一些高级功能,[Crowdin 知识库](https://support.crowdin.com/online-editor/)包含很多所有 Crowdin 功能的深入指南和概述。
-
-## 理解信息的精髓 {#capturing-the-essence}
-
-当翻译 ethereum.org 内容时,避免直译。
-
-重要的是翻译要抓住信息的本质。 这可能意味着改写某些短语,或者使用描述性翻译而不是逐字翻译内容。
-
-不同的语言有不同的语法规则、约定和词序。 翻译时,请注意目标语言中句子的结构,避免按字面翻译英文源,因为这会导致句子结构和可读性差。
-
-建议你阅读整个句子并对其进行调整以适应目标语言的惯例,而不是逐字翻译源文本。
-
-## 正式与非正式 {#formal-vs-informal}
-
-我们使用正式的称呼形式,这对所有访客来说始终是礼貌和适当的。
-
-使用正式的称呼可以让我们避免听起来不官方或冒犯,并且无论访客的年龄和性别如何都可以通用。
-
-大多数印欧语和亚非语语言使用特定性别的第二人称人称代词,以区分男性和女性。 在称呼用户或使用所有格代词时,我们可以避免假设访问者的性别,因为正式的称呼形式通常适用且一致,无论他们如何定位自己。
-
-## 简单明了的词汇和意思 {#simple-vocabulary}
-
-我们的目标是让尽可能多的人能够理解网站上的内容。
-
-在大多数情况下,这可以通过使用易于理解的简短单词轻松实现。 如果你的语言中具有相同含义的某个单词有多种可能的翻译,那么最好的选择通常是清楚地反映含义的最短单词。
-
-## 书写系统 {#writing-system}
-
-Ethereum.org 提供多种语言版本,使用替代拉丁文的书写系统(或书写脚本)。
-
-所有内容都应使用适合你的语言的正确书写系统进行翻译,并且不应包含使用拉丁字符书写的任何单词。
-
-翻译内容时,应确保翻译内容一致且不包含任何拉丁字符。
-
-一个常见的误解是,Ethereum一直是用拉丁文书写。 这大部分是不正确的,请使用你的母语拼写 Ethereum(例如:中文的以太坊,阿拉伯语的 إيثيريوم 等)。
-
-**以上规则不适用于通常不应翻译专有名词的语言。**
-
-## 翻译页面元数据 {#translating-metadata}
-
-某些页面包含页面上的元数据,例如“title”、“lang”、“description”、“sidebar”等。
-
-在将新页面上传到 Crowdin 时,我们隐藏了翻译人员不应翻译的内容,这意味着 Crowdin 中翻译人员可见的所有元数据都应该被翻译。
-
-翻译源文本为“en”的任何字符串时,请特别注意。 这表示页面可用的语言,应翻译为[你的语言的 ISO 语言代码](https://www.andiamo.co.uk/resources/iso-language-codes/)。 这些字符串应始终使用拉丁字符而不是目标语言原生的书写脚本进行翻译。
-
-如果你不确定要使用哪种语言代码,你可以查看 Crowdin 中的翻译记忆库,或在 Crowdin 在线编辑器的页面 URL 中找到你的语言的语言代码。
-
-使用最广泛的语言的语言代码示例:
-
-- 阿拉伯语 - ar
-- 简体中文 - zh
-- 法语 - fr
-- 印地语 - hi
-- 西班牙语 - es
-
-## 外部文章标题 {#external-articles}
-
-一些字符串包含外部文章的标题。 我们的大多数开发人员文档页面都包含指向外部文章的链接,以供进一步阅读。 无论文章的语言如何,都需要翻译包含文章标题的字符串,以确保以他们的语言查看页面的访问者获得更一致的用户体验。
-
-你可以在下面找到一些示例,说明这些字符串对于翻译人员的外观以及如何识别它们(文章链接主要位于这些页面的底部,位于“进一步阅读”部分):
-
-![Sidebar.png 中的文章标题](./article-titles-in-sidebar.png) ![Editor.png 中的文章标题](./article-titles-in-editor.png)
-
-## Crowdin 警告 {#crowdin-warnings}
-
-Crowdin 有一个内置功能,可以在翻译人员即将出错时发出警告。 在保存翻译之前,如果你忘记在译文中加上原文中的标签、翻译了不应翻译的元素、添加了多个连续的空格、忘记结尾标点等,Crowdin 会自动提醒你。 如果你看到这样的警告,请返回并仔细检查建议的翻译。
-
-**永远不要忽略这些警告,因为它们通常意味着有问题,或者翻译缺少源文本的关键部分。**
-
-当你忘记在翻译中添加标签时出现 Crowdin 警告的示例: ![Crowdin 警告示例](./crowdin-warning-example.png)
-
-## 处理标签和代码片段 {#dealing-with-tags}
-
-许多源内容包含标签和变量,它们在 Crowdin 编辑器中以黄色突出显示。 它们具有不同的功能,应该正确处理。
-
-**Crowdin 设置**
-
-为了更轻松地管理标签并直接从源中复制它们,我们建议你在 Crowdin 编辑器中更改你的设置。
-
-1. 打开“设置” ![如何打开编辑器中的设置](./editor-settings.png)
-
-2. 向下滚动到“HTML 标签显示”部分
-
-3. 选择“隐藏” ![请选择“隐藏”](./hide-tags.png)
-
-4. 点击“保存”
-
-通过选择此选项,完整的标签文本将不再显示,而是由一个数字代替。 翻译时,点击此标签会自动将确切的标签复制到翻译字段。
-
-**链接**
-
-你可能会注意到 ethereum.org 或其他网站上的页面的完整链接。
-
-这些链接应该与源相同,并且不要更改或翻译。 如果你翻译了链接或以任何方式更改了链接,即使只是删除其中的一部分,如斜杠 (/),也将导致链接损坏且不可用。
-
-处理链接的最佳方法是直接从源中复制它们,方法是点击它们或使用“复制源”按钮 (Alt+C)。
-
-![link.png 示例](./example-of-link.png)
-
-链接同样以标签的形式出现在源文本中(即 <0> 0>)。 <0> 0>). 如果你将鼠标悬停在标签上,编辑器将显示其全部内容 - 有时这些标签将代表链接。
-
-从源复制链接而不要更改其顺序,这一点非常重要。
-
-如果标签的顺序发生变化,它们所代表的链接将被破坏。
-
-![tags.png 中的链接示例](./example-of-links-inside-tags.png)
-
-**标签和变量**
-
-源文本包含许多不同类型的标签,这些标签应始终从源中复制并且永远不要更改。 与上述类似,这些标签在翻译中的顺序也应与源相同。
-
-标签总是包含一个开始和结束标签。 在大多数情况下,应该翻译开始和结束标签之间的文本。
-
-示例:``Decentralized``
-
-`` - _使文本变粗的开始标签_
-
-Decentralized - _可翻译文本_
-
-`` - _结束标签_
-
-!['strong' tags.png 的示例](./example-of-strong-tags.png)
-
-代码片段的处理方式与其他标签略有不同,因为它们包含不应翻译的代码。
-
-示例:``nonce`
`
-
-`` - _开始标签,其中包含一段代码_
-
-nonce - _不可翻译的文本_
-
-`
` - _结束标签_
-
-![代码片段 .png 的示例](./example-of-code-snippets.png)
-
-源文本还包含缩短的标签,这些标签只包含数字,这意味着它们的功能不是很明显。 你可以将鼠标悬停在这些标签上,以准确查看它们提供的功能。
-
-在下面的示例中,你可以看到,将鼠标悬停在 <0> 标签显示,它代表 `` 并包含代码片段,因此不应翻译这些标签内的内容。
-
-![模棱两可的 tags.png 的示例](./example-of-ambiguous-tags.png)
-
-## 简短与完整形式/缩写 {#short-vs-full-forms}
-
-网站上使用了很多缩写,例如 dApp、NFT、DAO、DeFi 等。 这些缩写通常用于英语,并且大多数网站访问者都熟悉它们。
-
-由于它们通常没有其他语言的既定翻译,处理这些和类似术语的最佳方法是提供完整形式的描述性翻译,并在括号中添加英文缩写。
-
-不要翻译这些缩写,因为大多数人不熟悉它们,而且本地化版本对大多数访问者来说没有多大意义。
-
-如何翻译 dApp 的示例:
-
-- Decentralized applications (dapps) → _完整的翻译形式 (括号中为英文缩写)_
-
-## 没有既定翻译的术语 {#terms-without-established-translations}
-
-某些术语在其他语言中可能没有既定翻译,并且以原始英语术语而广为人知。 这些术语主要包括较新的概念,如工作量证明、权益证明、信标链、质押等。
-
-虽然翻译这些术语听起来不自然,但由于英文版本也常用于其他语言,因此强烈建议将它们翻译。
-
-翻译它们时,请随意发挥创意,使用描述性翻译,或直接按字面翻译。
-
-**大多数术语应该翻译而不是将其中一些保留英文的原因是,随着越来越多的人开始使用以太坊和相关技术,这种新术语将在未来变得更加普遍。 如果我们想让来自世界各地的更多人加入这个领域,我们需要以尽可能多的语言提供易于理解的术语,即使我们需要自行创建它。**
-
-## 按钮与行动号召 {#buttons-and-ctas}
-
-网站包含许多按钮,其翻译方式应与其他内容不同。
-
-可以通过查看上下文屏幕截图、与大多数字符串连接或通过检查编辑器中的上下文(包括短语“button”)来识别按钮文本。
-
-按钮的翻译应尽可能简短,以防止格式不匹配。 此外,按钮翻译应该是必要的,即呈现命令或请求。
-
-![如何查找按钮 .png](./how-to-find-a-button.png)
-
-## 翻译包容性 {#translating-for-inclusivity}
-
-Ethereum.org 的访问者来自世界各地和不同的背景。 因此,网站上的语言应该是中立的,欢迎所有人而不是排他性的。
-
-其中一个重要方面是性别中立。 这可以通过使用正式的地址形式并避免在翻译中使用任何特定性别的词来轻松实现。
-
-另一种形式的包容性是,尝试面向全球观众翻译,而不是面向任何国家、种族或地区。
-
-最后,语言应该适合所有大众和年龄段的读者。
-
-## 特定语言的翻译 {#language-specific-translations}
-
-翻译时,重要的是要遵循你的语言中使用的语法规则、约定和格式,而不是从源复制。 源文本遵循英语语法规则和约定,而这不适用于许多其他语言。
-
-你应该了解你的语言规则并进行相应的翻译。 如果你需要帮助,请与我们联系,我们将帮助你找到一些有关如何在你的语言中使用这些元素的资源。
-
-一些需要特别注意的例子:
-
-### 标点、格式 {#punctuation-and-formatting}
-
-**大写**
-
-- 不同语言的大小写存在巨大差异。
-- 在英语中,通常将标题和名称、月份和日期、语言名称、假期等中的所有单词大写。 在许多其他语言中,这在语法上是不正确的,因为它们具有不同的大小写规则。
-- 一些语言也有关于人称代词、名词和某些形容词大写的规则,这些在英语中是不大写的。
-
-**间距**
-
-- 正字法规则定义了每种语言的空格使用。 因为到处都使用空格,所以这些规则是最独特的,而空格是最容易误译的元素。
-- 英语和其他语言之间的一些常见间距差异:
- - 计量单位和货币前的空格(例如 USD、EUR、kB、MB)
- - 度数符号前的空格(例如°C、℉)
- - 一些标点符号前的空格,尤其是省略号 (...)
- - 斜杠前后的空格 (/)
-
-**列表**
-
-- 每种语言都有一套多样化和复杂的规则来编写列表。 这些可能与英语有很大不同。
-- 在某些语言中,每个新行的第一个单词需要大写,而在其他语言中,新行应该以小写字母开头。 许多语言对列表中的大小写也有不同的规则,具体取决于每行的长度。
-- 这同样适用于行项目的标点符号。 列表中的结束标点可以是句点 (**.**)、逗号 (**,**) 或分号 (**;**)具体取决于语言
-
-**引号**
-
-- 语言使用许多不同的引号。 简单地从源中复制英文引号通常是不正确的。
-- 一些最常见的引号类型包括:
- - “示例文本”
- - ‘示例文本’
- - »示例文本«
- - “示例文本”
- - ‘示例文本’
- - «示例文本»
-
-**连字符和破折号**
-
-- 在英语中,连字符 (-) 用于连接单词或单词的不同部分,而破折号 (-) 用于表示范围或停顿。
-- 许多语言对使用连字符和破折号有不同的规则,应遵守这些规则。
-
-### 格式 {#formats}
-
-**数字**
-
-- 用不同语言书写数字的主要区别在于用于小数和千位的分隔符。 对于千数来说,这可以是句号、逗号或空格。 同样,一些语言使用小数点,而另一些语言使用小数点逗号。
- - 一些大数的例子:
- - 英语 - **1,000.50**
- - 西班牙语 - **1.000,50**
- - 法语 - **1 000,50**
-- 翻译数字时的另一个重要考虑因素是百分号。 它可以用不同的方式编写:**100%**、**100 %** 或 **%100**。
-- 最后,负数可以不同地显示,具体取决于语言:-100、100-、(100) 或 [100]。
-
-**日期**
-
-- 在翻译日期时,有许多基于语言的考虑因素和差异。 这些包括日期格式、分隔符、大写和前导零。 全长日期和数字日期之间也存在差异。
- - 不同日期格式的一些示例:
- - 英语(英国)(dd/mm/yyyy) – 1st January, 2022
- - 英语(美国)(mm/dd/yyyy) – January 1st, 2022
- - 中文 (yyyy-mm-dd) – 2022 年 1 月 1 日
- - 法语 (dd/mm/yyyy) – 1er janvier 2022
- - 意大利语 (dd/mm/yyyy) – 1º gennaio 2022
- - 德语 (yyyy/mm/dd) – 1. Januar 2022
-
-**货币**
-
-- 由于格式、惯例和转换不同,货币转换可能具有挑战性。 作为一般规则,请保持货币与来源相同。 为了读者的利益,你可以在括号中添加你的当地货币和转换。
-- 用不同语言书写货币的主要区别包括符号位置、小数逗号与小数点、间距以及缩写与符号。
- - 符号放置:美元 100或 100 美元
- - 小数逗号和。小数点:100,50$ 或 100.50$
- - 间距:100美元或 100 美元
- - 缩写和符号:100$ 或 100 USD
-
-**计量单位**
-
-- 作为一般规则,请根据来源保留计量单位。 如果你所在的国家/地区使用不同的系统,你可以将转换包括在括号中。
-- 除了度量单位的本地化之外,注意语言处理这些单位的方式的差异也很重要。 主要区别在于数字和单位之间的间距,可以根据语言而有所不同。 这方面的示例包括 100kB 与 100 kB 或 50ºF 与 50ºF。
-
-## 结论 {#conclusion}
-
-翻译 ethereum.org 是了解以太坊不同方面的绝佳机会。
-
-翻译时尽量不要着急。 放轻松,玩得开心!
-
-感谢你参与翻译计划并帮助我们让更广泛的受众可以访问网站。 以太坊社区是全球性的,我们很高兴你也成为其中的一员!
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/adding-desci-projects/index.md b/public/content/translations/zh/28) Contributing 2/contributing/adding-desci-projects/index.md
deleted file mode 100644
index cb1462b74e3..00000000000
--- a/public/content/translations/zh/28) Contributing 2/contributing/adding-desci-projects/index.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: 添加去中心化科学项目
-description: 我们在 ethereum.org 的去中心化科学页面上添加项目链接时使用的政策
-lang: zh
----
-
-# 添加项目 {#adding-projects}
-
-我们希望确保展示各种项目,并为去中心化科学的全景提供一个准确的简要说明。
-
-任何人都可以在 ethereum.org 的去中心化科学页面上自由地建议可展示的项目。 同样,任何人在注意到某个项目已不再与之相关或达不到我们的资格条件时,也可以随时建议我们将其移除。
-
-## 决策框架 {#the-decision-framework}
-
-### 纳入标准:必备条件 {#the-must-haves}
-
-- **开源代码/数据** - 开放的代码和数据是去中心化科学的核心原则,因此去中心化科学项目不得闭源。 代码库应该是可访问的,并且最好可以接受拉取请求 (PR)。
-- **去中心化科学项目应明显去中心化** - 这可能包括项目由去中心化自治组织管理,或通过使用去中心化技术栈(包括非托管钱包)来构建。 可能涉及以太坊上的可审计智能合约。
-- **诚实准确的上架信息** - 建议上架的任何项目都应包含诚实准确的信息。 伪造上架信息的产品,例如声明你的产品是“开源”的但实际并非如此,产品将被移除。
-- **对扩大科学参与的明确承诺** - 去中心化科学项目应能够阐明它们如何扩大公众对科学的参与,而不仅仅服务于代币/非同质化代币持有者。
-- **全球可访问** - 你的项目不能有地域限制或身份验证要求,它们使得某些人无法访问你的服务。
-- **信息详尽的网站和文件** - 重要的是,项目网站的访问者能够了解项目的实际情况、项目对促进科学基础设施去中心化所做的贡献以及参与方式。
-- **项目应该是以太坊生态系统的一部分** - 在 ethereum.org,我们相信以太坊(及其二层网络)是适合去中心化科学运动的基础层。
-- **项目已相当成熟** - 项目的实际用户能够使用项目的服务数月之久。
-
-### 加分项
-
-- **支持多种语言** - 你的项目已被翻译成多种语言,全球用户都能够访问它。
-- **教育资源** - 你的产品应提供精心设计的入门体验,为用户提供帮助和教育。 或者有文章或视频之类的介绍操作方法的内容。
-- **第三方审核** - 你的产品已通过可靠第三方的专业漏洞审核。
-- **联系人** - 实施变更时,项目联系人(可能是去中心化自治组织或社区的代表)将极大地帮助我们获取准确信息。 这样将在今后收集信息时确保 ethereum.org 的更新可管理。
-
-## 维护 {#maintenance}
-
-由于以太坊的流动性,团队和产品来来去去,创新每天都在发生,所以我们将对我们的内容进行例行检查,以便:
-
-- 确保所有上架的项目仍然符合我们的标准
-- 验证建议的产品没有比当前上架的产品符合我们的更多标准
-
-Ethereum.org 由开源社区维护,我们依靠该社区帮助保持更新。 如果你发现所列项目有任何信息需要更新,请在我们的 Github 存储库中创建一个问题或拉取请求。
-
-## 使用条款 {#terms-of-use}
-
-另请参阅我们的[使用条款](/terms-of-use/)。 ethereum.org 上的资料仅供参考。
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/adding-developer-tools/index.md b/public/content/translations/zh/28) Contributing 2/contributing/adding-developer-tools/index.md
deleted file mode 100644
index eaa42b07b60..00000000000
--- a/public/content/translations/zh/28) Contributing 2/contributing/adding-developer-tools/index.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title: 添加开发者工具
-lang: zh
-description: 开发者工具上架 ethereum.org 的标准
----
-
-# 添加开发者工具 {#contributing-to-ethereumorg-}
-
-我们想要确保上架的开发者资源是最好的,以便人们可以充满信心地进行开发并获得所需的支持。
-
-如果我们遗漏了有用的开发工具,请随时在适当的地方提出建议。
-
-目前,我们在[开发者门户](/developers/)中上架了开发者工具。
-
-**请随时去适当的页面提出新的建议。**
-
-## 我们如何做出决定 {#ways-to-contribute}
-
-提交的开发者工具将按照以下标准进行评估:
-
-**它是否与已上架的工具有明显的区别?**
-
-- 新类别或新类型的工具
-- 与现有类似工具比较具有新功能
-- 针对现有类似工具未涵盖的独特用例
-
-**这个工具是否有相关文档给予充分支持?**
-
-- 是否存在相关文档?
-- 相关文档是否能满足工具使用需求?
-- 最近是否更新过?
-
-**工具是否得到广泛使用?**
-
-- 我们将考虑诸如 GitHub 星级、下载量等因素,以及是否被知名公司或项目使用过。
-
-**工具的质量是否足够好?**
-
-- 是否有重复出现的错误?
-- 工具是否可靠?
-- 工具是否获得主动积极的维护?
-
-**工具是否开源?**
-
-以太坊领域的许多项目都是开源的。 我们更愿意让开源项目上架,以便社区开发者检查代码并为这些项目做出贡献。
-
----
-
-## 产品排序 {#product-ordering}
-
-除非指定产品按特定方式排序,如按字母顺序排序,否则产品将默认从最早到最近添加到页面的顺序显示。 换句话说,最新的产品被添加到列表的底部。
-
----
-
-## 添加你的开发者工具 {#how-decisions-about-the-site-are-made}
-
-如果你想向 ethereum.org 添加开发者工具并且它符合标准,请在 GitHub 上创建提议。
-
-
- 创建提议
-
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/adding-exchanges/index.md b/public/content/translations/zh/28) Contributing 2/contributing/adding-exchanges/index.md
deleted file mode 100644
index ee488f39d15..00000000000
--- a/public/content/translations/zh/28) Contributing 2/contributing/adding-exchanges/index.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title: 添加交易所
-description: 向 ethereum.org 添加交易所时适用的政策
-lang: zh
----
-
-# 添加以太坊交易所 {#adding-ethereum-exchanges}
-
-任何人都可以在 ethereum.org 上自由推荐新的交易所。
-
-我们目前将它们列在:
-
-- [ethereum.org/get-eth](/get-eth/)
-
-在此页面上,用户输入他们的居住地便可查看可以使用的交易所。 这有助于尽早发现任何地域限制。
-
-鉴于这种情况,我们在你推荐交易所时需要一些具体信息。
-
-**请注意:**如果你想上架一个去中心化交易所,请查看我们[关于上架钱包和去中心化应用程序的政策](/contributing/adding-products/)。
-
-## 我们需要的信息 {#what-we-need}
-
-- 适用于交易所的地域限制. 与交易所相关的地域限制应在交易所网站上的专门页面或区域详细说明。
-- 用户可以用哪些货币来购买以太币
-- 证明该交易所是合法的贸易公司
-- 你可能拥有的任何额外信息 —— 这可能是有关该公司的信息,如运营年份、资金支持等。
-
-我们需要这些信息,以便我们能够准确地[帮助用户找到他们可以使用的交易所](/get-eth/#country-picker)。
-
-这样一来,ethereum.org 也能更加确信该交易所可以提供合法且安全的服务。
-
----
-
-## 添加你的交易所 {#add-exchange}
-
-如果你想向 ethereum.org 添加交易所,请在 GitHub 上创建提议。
-
-
- 创建一个提议
-
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/adding-glossary-terms/index.md b/public/content/translations/zh/28) Contributing 2/contributing/adding-glossary-terms/index.md
deleted file mode 100644
index 4d4da032750..00000000000
--- a/public/content/translations/zh/28) Contributing 2/contributing/adding-glossary-terms/index.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title: 添加词汇表术语
-lang: zh
-description: 添加新术语到 ethereum.org 词汇表的标准
----
-
-# 添加词汇表术语 {#contributing-to-ethereumorg-}
-
-这一领域每天都在发生变化。 新术语不断进入以太坊用户的词典,我们需要你的帮助,为以太坊的所有事物提供准确、最新的参考。 请查看目前的[词汇表](/glossary/),如果你想要提供帮助的话,请参阅下面的内容!
-
-## 标准 {#criteria}
-
-将按照下列标准评估词汇表的新术语:
-
-- 该术语/定义是否是最新的,并且在当前与本领域是相关的?
-- 字典中是否已有一个类似的术语? (如果是,请考虑是使用新术语还是更新现有术语更好)
-- 该术语/定义是否不含有产品广告或其他促销相关的内容?
-- 该术语/定义是否与以太坊直接相关?
-- 该定义是否客观、准确且没有涉及主观判断或意见?
-- 来源是否可信? 它们是否提及相关的来源?
-
----
-
-## 添加你的术语 {#how-decisions-about-the-site-are-made}
-
-如果你想为 ethereum.org 添加一个词汇表术语,并且该术语符合标准,[请在 GitHub 上创建一个问题](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=feature+%3Asparkles%3A%2Ccontent+%3Afountain_pen%3A&template=suggest_glossary_term.yaml)。
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/adding-layer-2s/index.md b/public/content/translations/zh/28) Contributing 2/contributing/adding-layer-2s/index.md
deleted file mode 100644
index d57ce9f51d1..00000000000
--- a/public/content/translations/zh/28) Contributing 2/contributing/adding-layer-2s/index.md
+++ /dev/null
@@ -1,97 +0,0 @@
----
-title: 添加二层网络
-description: 将二层网络添加到 ethereum.org 时适用的政策
-lang: zh
----
-
-# 添加二层网络 {#adding-layer-2}
-
-我们想要确保上架的资源是最好的,让用户能够安全放心地浏览二层网络空间。
-
-任何人都可以提出向 ethereum.org 添加二层网络的建议。 如果有遗漏的二层网络,**[请提出建议](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=feature+%3Asparkles%3A%2Ccontent+%3Afountain_pen%3A&template=suggest_layer2.yaml)!**
-
-我们目前在以下页面上架了二层网络:
-
-- [乐观卷叠](/developers/docs/scaling/optimistic-rollups/)
-- [零知识卷叠](/developers/docs/scaling/zk-rollups/)
-- [二层网络](/layer-2/)
-
-对以太坊来说,二层网络是一个相对较新的、令人振奋的范式。 我们已尝试在 ethereum.org 上创建一个公平的考量框架,但纳入标准会随时间推移而变化和发展。
-
-## 决策框架 {#decision-framework}
-
-### 纳入标准:必备条件 {#criteria-for-inclusion-the-must-haves}
-
-**在 L2BEAT 上架**
-
-- 要想纳入考量范围,项目必须已在 [L2BEAT](https://l2beat.com) 上架。 L2BEAT 为二层网络项目提供了可靠的风险评估,可供我们评估二层网络项目。 **如果项目未在 L2BEAT 上架,则我们不会将其作为二层网络纳入 ethereum.org。**
-- [了解如何将你的二层网络项目添加到 L2BEAT](https://github.com/l2beat/l2beat/blob/master/CONTRIBUTING.md)。
-
-**开源**
-
-- 你的代码必须是可访问的,同时你应接受来自更广泛社区的拉取请求。
-
-**二层网络类别**
-
-我们目前将以下项列为二层网络解决方案:
-
-- 乐观卷叠
-- 零知识卷叠
-
-_我们认为,其他不使用以太坊来实现数据可用性或安全性的扩容解决方案不是二层网络。_
-
-**以太坊数据可用性**
-
-- 数据可用性是其他扩容方案与二层网络方案之间的重要区分因素。 一个项目**必须**使用以太坊主网来实现数据可用性,才考虑让它上架。
-
-**链桥**
-
-- 用户如何才能登临二层网络?
-
-**项目上线日期**
-
-- 二层网络已在主网上“上线”超过 6 个月
-
-- 未经用户实战测试的较新项目不太可能上架。
-
-**外部安全审核**
-
-- 无论是通过审核、内部安全团队还是其他方法,产品安全性都必须经过可靠测试。 这会降低我们用户的风险,并向我们表明你非常重视安全性。
-
-**持续的用户群**
-
-- 我们会将价值总量历史记录、交易统计数据以及是否被知名公司或项目使用等指标考虑在内
-
-**活跃的开发团队**
-
-- 我们不会上架没有活跃团队来开发项目的二层网络方案。
-
-**区块浏览器**
-
-- 上架的项目需要能正常工作的区块浏览器,让用户轻松浏览区块链。
-
-### 其他标准:最好具备 {#nice-to-haves}
-
-**交易所对项目的支持**
-
-- 用户是否可以直接从存款至交易所和/或从交易所提款?
-
-**二层网络生态系统去中心化应用程序链接**
-
-- 我们希望能够提供有关用户可以在此二层网络上执行哪些操作的信息 (例如 https://portal.arbitrum.io/、https://www.optimism.io/apps)。
-
-**代币合约列表**
-
-- 由于资产会在二层网络产生新地址,如果有可用的代币列表资源,请分享。
-
-**支持原生钱包**
-
-- 是否有任何钱包原生支持二层网络?
-
-## 添加你的二层网络 {#add-exchange}
-
-如果你想将二层网络添加到 ethereum.org,请在 GitHub 上创建一个提议。
-
-
- 创建一个提议
-
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/adding-products/index.md b/public/content/translations/zh/28) Contributing 2/contributing/adding-products/index.md
deleted file mode 100644
index 8dc921ee5a6..00000000000
--- a/public/content/translations/zh/28) Contributing 2/contributing/adding-products/index.md
+++ /dev/null
@@ -1,100 +0,0 @@
----
-title: 添加产品
-description: 向 ethereum.org 添加去中心化应用程序时采用的政策
-lang: zh
----
-
-# 添加以太坊产品 {#adding-products}
-
-在适宜情况下,任何人都可以建议向 ethereum.org 添加新的去中心化应用程序。 **但去中心化应用程序将不在我们的主页上架** 😜
-
-目前,去中心化应用程序在以下页面上架:
-
-- ethereum.org/dapps
-- ethereum.org/get-eth
-
-**请仅在以上页面建议添加新的去中心化应用程序。**
-
-尽管我们欢迎添加新的去中心化应用程序,但当前我们选择去中心化应用程序的基准是我们努力为用户创造的使用体验。 以下条件基于我们的一些设计原则:
-
-- _有启发性_:ethereum.org 上的任何事物都应该为用户提供新的东西
-- _好故事_:上架的内容应该让人感到惊喜
-- _可靠_:一切业务/项目都应该是合法的,以最大限度地减少用户的风险
-
-总体而言,**ethereum.org 想要为新用户提供“无缝入门体验”**。 为此,我们基于以下标准添加去中心化应用程序:
-
-- 易用性
-- 与其他产品的互操作性
-- 安全性
-- 耐用性
-
-下面将更详细地说明我们的决策框架。 欢迎你随时提供反馈或修改建议。
-
-## 决策框架 {#decision-framework}
-
-### 纳入标准:必备条件 {#criteria-for-inclusion-the-must-haves}
-
-- **产品经过安全测试** — 无论是通过审计、内部安全团队还是其他方法,你的产品的安全性都必须经过可靠的测试。 这会降低我们用户的风险,并向我们表明你非常重视安全性。
-- **这个产品已“上线并运行”超过 6 个月** – 这是安全性的另一个指标。 “6个月”是发现严重缺陷和漏洞的最佳时间窗口。
-- **有一个活跃的运作团队** — 这有助于确保质量,用户询问时也能得到的支持。
-- **诚实准确的上架信息** - 任何所建议的来自项目的上架产品都应包含诚实准确的信息。 伪造上架信息的产品,例如:声明你的产品是“开源”但实际上并非如此,它将被删除。
-
-### 排名标准:加分项 {#criteria-for-ranking-the-nice-to-haves}
-
-基于以下标准,你的去中心化应用程序可能不会像其他项目一样在 ethereum.org 的显眼位置上架。
-
-**去中心化应用程序**
-
-- **可以通过大多数上架的钱包访问它** – 去中心化应用程序应该能够与 ethereum.org 上上架的大多数钱包一起使用。
-- **用户可以自己试用 –** 个人用户应该能够使用你的去中心化应用程序并能执行一些切实的操作。
-- **入门培训** – 你的产品应提供精心设计的入门培训体验,为用户提供帮助和培训。 或者有文章或视频之类的介绍操作方法的内容。
-- **非托管模式** - 用户可以控制自己的资金。 如果你的产品消失了,用户仍然可以获取和转移他们的资金。
-- **全球可访问** — 你的产品不能有地域限制或身份验证要求,因为这会让某些人无法使用你的服务。
-- **开源** - 你的代码应该可以访问,并且你应该接受来自更广泛社区的拉取请求。
-- **社区** – 你有一个专门的社区,可以是 Discord,用户可以与你的团队互动以获得帮助或推荐新功能。
-
-## 实践中的标准 {#criteria-in-practice}
-
-你达到的标准越多,你的产品就越有可能进入 ethereum.org。
-
-如果建议的新产品满足必备项和其中几条加分项,则可能会移除仅满足必备项的已上架产品。
-
-会影响本决定的其他因素:
-
-- 添加而不是替换会破坏页面的用户体验吗?
- - 我们的网站主要是教育性的,主要目的是解释以太坊及其相关概念。 如果为用户添加太多选项,页面的可读性可能会降低,因此实用性会降低。
-- 这个页面现在是否让用户无法选择?
- - 就像你会坐着浏览 Netflix 几个小时的情形,因为你无法决定要观看的内容。 提供太多选择会让新用户迷惑,这是一种风险。
-
-ethereum.org 负责做出这种设计决策。
-
-但是请放心,**有其他网站对更多的去中心化应用程序进行排名,我们会附上这些网站的链接**
-
-### 产品排序 {#product-ordering}
-
-除非指定产品按其他特定方式排序(如字母顺序),否则产品将按照从最早到最近添加到页面的顺序显示。 换句话说,最新的产品被添加到列表的底部。
-
-### 使用条款 {#terms-of-use}
-
-还请参阅我们的[使用条款](/terms-of-use/)。 ethereum.org 上的资料仅供参考。
-
-## 维护 {#maintenance}
-
-由于以太坊的流动性,团队和产品来来去去,创新每天都在发生,所以我们将对我们的内容进行例行检查,以便:
-
-- 确保所有上架的去中心化应用程序仍然符合我们的标准
-- 验证建议的产品没有比当前上架的产品符合我们的更多标准
-
-如果你想对此提供帮助,可以开展上述两项检查并让我们知道检查结果。 [创建问题](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=Type%3A+Feature&template=feature_request.yaml&title=)或发送电子邮件至 [website@ethereum.org](mailto:website@ethereum.org)。
-
-_我们也在调研投票的可能性,以便社区能够表明他们的喜好并且突显出最佳产品供我们进行推荐。_
-
----
-
-## 添加你的产品 {#add-your-product}
-
-如果你想将去中心化应用程序添加到 ethereum.org 并且它符合标准,请在 GitHub 上创建一个问题。
-
-
- 创建一个提议
-
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/adding-staking-products/index.md b/public/content/translations/zh/28) Contributing 2/contributing/adding-staking-products/index.md
deleted file mode 100644
index 46681fe833e..00000000000
--- a/public/content/translations/zh/28) Contributing 2/contributing/adding-staking-products/index.md
+++ /dev/null
@@ -1,176 +0,0 @@
----
-title: 添加质押产品或服务
-description: 将质押产品或服务添加到 ethereum.org 时适用的政策
-lang: zh
----
-
-# 添加质押产品或服务 {#adding-staking-products-or-services}
-
-我们想要确保我们上架的资源是最好的,能够让用户安全和放心。
-
-任何人都可以提出向 ethereum.org 添加质押产品或服务的建议。 如果我们有遗漏,**[请提出建议](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=feature+%3Asparkles%3A%2Ccontent+%3Afountain_pen%3A&template=suggest_staking_product.yaml)!**
-
-我们目前在以下页面上架了质押产品和服务:
-
-- [单独质押](/staking/solo/)
-- [质押即服务](/staking/saas/)
-- [质押池](/staking/pools/)
-
-信标链上的权益证明自 2020 年 12 月 1 日起生效。 虽然质押仍相对较新,但我们已尝试在 ethereum.org 上创建一个公平透明的考量框架,但纳入标准会随时间推移而变化和发展,且最终由 ethereum.org 网站团队自行决定。
-
-## 决策框架 {#the-decision-framework}
-
-在 ethereum.org 上架产品不是由单个因素决定的。 在决定上架产品或服务时,会同时考虑多个标准。 满足以下标准越多,产品上架的可能性就越大。
-
-**首先,它属于哪一类产品或服务?**
-
-- 节点或客户端工具
-- 密钥管理
-- 质押即服务 (SaaS)
-- 质押池
-
-目前,我们仅上架以下这些类别的产品或服务。
-
-### 纳入标准 {#criteria-for-inclusion}
-
-所提交的质押产品或服务将按以下标准进行评估:
-
-**项目或服务是何时启动的?**
-
-- 是否有证据证明产品或服务的上市时间?
-- 这用于确定产品的“实战测试”评分。
-
-**项目是否得到积极维护?**
-
-- 是否有一个活跃的团队开发项目? 谁参与这项工作?
-- 只有积极维护的产品才会被纳入考量。
-
-**产品或服务是否不需要可信的人工中间人?**
-
-- 在用户之旅中,哪些步骤需要可信的人士来保管他们资金的密钥或正确分配奖励。
-- 这用于确定产品或服务的“去信任”评分。
-
-**该项目是否提供准确可靠的信息?**
-
-- 至关重要的是,该产品的网站提供最新、准确且非误导性的信息,特别是如果涉及以太坊协议或其他相关技术。
-- 提交的产品或服务中包含错误信息、过时细节或可能误导以太坊或其他相关主题的陈述将不会被上架,如果已经上架,则将被移除。
-
-**支持哪些平台?**
-
-- 例如 Linux、macOS、Windows、iOS、Android
-
-#### 软件和智能合约 {#software-and-smart-contracts}
-
-对于所涉及的任何定制软件或智能合约:
-
-**一切都是开源的吗?**
-
-- 开源项目应具有公开的源代码存储库
-- 此项用于确定产品的“开源”评分。
-
-**产品是否已完成_测试版_开发?**
-
-- 产品处于开发周期的哪个阶段?
-- 不会考虑将测试阶段的产品纳入 ethereum.org
-
-**软件是否经过外部安全审计?**
-
-- 如果没有,是否有计划进行外部审计?
-- 此项用于确定产品的“审计”评分。
-
-**项目是否有漏洞悬赏计划?**
-
-- 如果没有,是否有计划制定安全漏洞悬赏计划?
-- 此项用于确定产品的“漏洞悬赏”评分。
-
-#### 节点或客户端工具 {#node-or-client-tooling}
-
-对于与节点或客户端设置、管理或迁移相关的软件产品:
-
-**支持哪些共识层客户端( 例如 Lighthouse、Teku、Nimbus 和 Prysm)?**
-
-- 支持哪些客户端? 用户可以选择吗?
-- 这用于确定产品的“多客户端”评分。
-
-#### 质押即服务 {#staking-as-a-service}
-
-对于[质押即服务的上架](/staking/saas/)(即委托节点操作):
-
-**使用该服务有哪些相关费用?**
-
-- 费用结构是什么?例如,这项服务是否采用月费形式收费?
-- 是否有任何其他质押要求?
-
-**用户是否需要注册帐户?**
-
-- 用户是否可以在未经许可或身份验证的情况下使用该服务?
-- 此项用于确定产品的“无需许可”评分。
-
-**谁持有签名密钥和取款密钥?**
-
-- 用户可以访问哪些密钥? 服务可以访问哪些密钥?
-- 此项用于确定产品的“去信任”评分。
-
-**所运行节点的客户端多样性如何?**
-
-- 有多少比例的验证者密钥正在主流共识层 (CL) 客户端运行?
-- 截至上次编辑,大多数节点运营商都在运行 Prysm 共识层客户端,这对网络来说是危险的。 如果当前有超过 33% 的网络在使用某一种共识层客户端,我们即会索取与其使用情况相关的数据。
-- 此项用于确定产品的“多样性客户端”评分。
-
-#### 质押池 {#staking-pool}
-
-对于[联合质押服务](/staking/pools/):
-
-**质押最少需要多少以太币?**
-
-- 例如 0.01 以太币
-
-**所涉及的费用或质押要求是什么?**
-
-- 多少比例的奖励作为费用扣除?
-- 是否有任何其他质押要求?
-
-**有流动性代币吗?**
-
-- 所涉及的代币有哪些? 它们是如何运作的? 合约地址是什么?
-- 此项用于确定产品的“流动性代币”评分。
-
-**用户可以作为节点运营商参与吗?**
-
-- 使用联合资金运行验证者客户端有哪些要求?
-- 是否需要取得个人、公司或去中心化自治组织的许可?
-- 此项用于确定产品的“无需许可节点”评分。
-
-**质押池节点运营商的客户端多样性如何?**
-
-- 有多少比例的节点运营商正在运行主流共识层 (CL) 客户端?
-- 截至上次编辑,大多数节点运营商都在运行 Prysm 共识层客户端,这对网络来说是危险的。 如果当前有超过 33% 的网络在使用某一种共识层客户端,我们即会索取与其使用情况相关的数据。
-- 此项用于确定产品的“多样性客户端”评分。
-
-### 其他标准:最好具备 {#other-criteria}
-
-**支持哪些用户界面?**
-
-- 例如 浏览器应用程序、桌面应用程序、移动应用程序、命令行界面
-
-**对于节点工具,软件是否提供了在客户端之间轻松切换的方法?**
-
-- 用户能否使用该工具轻松安全地更换客户端?
-
-**对于质押即服务,该服务目前正在运行多少个验证者?**
-
-- 此项可让我们了解该服务的范围。
-
-## 我们如何显示结果 {#product-ordering}
-
-上述[纳入标准](#criteria-for-inclusion)将用于计算每个产品或服务的累积评分。 这些分数会用来分类和展示满足某些客观标准的产品。 提供证据的标准越多,产品的排序就越高,并且在加载时会随机排列。
-
-这些标准的代码逻辑和权重当前包含在我们存储库的[这个 JavaScript 组件](https://github.com/ethereum/ethereum-org-website/blob/dev/src/components/Staking/StakingProductsCardGrid.js#L350)中。
-
-## 添加你的产品或服务 {#add-product}
-
-如果你想将质押产品或服务添加到 ethereum.org,请在 GitHub 上创建一个问题。
-
-
- 创建一个提议
-
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/adding-wallets/index.md b/public/content/translations/zh/28) Contributing 2/contributing/adding-wallets/index.md
deleted file mode 100644
index 680cf5bbf18..00000000000
--- a/public/content/translations/zh/28) Contributing 2/contributing/adding-wallets/index.md
+++ /dev/null
@@ -1,80 +0,0 @@
----
-title: 添加钱包
-description: 向 ethereum.org 添加钱包时采用的政策
-lang: zh
----
-
-# 添加钱包 {#adding-wallets}
-
-我们希望确保展示出各种钱包,覆盖钱包的所有不同功能,让用户可以自信地使用以太坊。
-
-任何人都可以提出向 ethereum.org 添加钱包的建议。 如果有遗漏,请提出建议!
-
-目前所有钱包都在以下页面上架:
-
-- [ethereum.org/wallets/find-wallet/](/wallets/find-wallet/)
-
-以太坊中的钱包日新月异。 我们已尝试在 ethereum.org 上创建一个公平的考量框架,但纳入标准会随时间推移而变化和发展。
-
-## 决策框架 {#the-decision-framework}
-
-### 纳入标准:必备条件 {#the-must-haves}
-
-- **经过安全测试的产品** - 无论是通过审核、内部安全团队、开源编码还是其他方法,你的钱包的安全性都必须可靠。 这会降低我们用户的风险,并向我们表明你非常重视安全性。
-- **“上线”超过六个月或由具有良好记录的团体发布的钱包** - 这是安全性的另一个衡量指标。 6 个月是发现严重缺陷和漏洞的最佳时间窗口。 我们要求 6 个月的时间,以便帮助筛选出那些作为项目很快就被放弃的分叉。
-- **由一个活跃的团队运作** - 这有助于确保质量,并确保用户的询问能够得到反馈。
-- **诚实准确的上架信息** - 任何所建议的来自项目的上架产品都应包含诚实准确的信息。 伪造上架信息的产品,例如声明你的产品是“开源”的但实际并非如此,产品将被移除。
-- **联系人** - 实施变更时,钱包的联系人将极大地帮助我们获取准确信息。 这样将在今后收集信息时确保 ethereum.org 的更新可管理。
-- **EIP-1559(类型 2)交易** - 你的钱包必须支持 EIP-1559(类型 2)交易才能在主网以太坊上进行交易。
-- **良好的用户体验** - 虽然用户体验是主观的,但如果多名核心团队成员测试产品后发现产品难以使用,我们保留拒绝钱包的权利,并将提供有用的改进建议。 这样做是为了保护我们主要由初学者组成的用户群。
-
-### 产品移除 {#product-removals}
-
-- **更新信息** - 钱包提供商有责任每 6 个月重新提交一次钱包信息,以确保所提供信息的有效性和相关性(即使其产品没有变化)。 如果产品团队未能这样做,ethereum.org 可能会从页面上移除该项目。
-
-### 其他标准:最好具备 {#the-nice-to-haves}
-
-- **全球可访问** — 你的钱包没有地域限制或身份验证要求,因为这会让某些人无法使用你的服务。
-- **支持多种语言** - 你的钱包已经翻译成多种语言,全球用户都能够访问它。
-- **开源** - 你的整个项目的代码库(不只是模块)应该可以访问,并且你应该接受来自更广泛社区的拉取请求。
-- **非托管模式** - 用户可以控制自己的资金。 如果你的产品消失了,用户仍然可以获取和转移他们的资金。
-- **支持硬件钱包** - 用户可以连接硬件钱包来签署交易。
-- **WalletConnect** - 用户可以使用 WalletConnect 连接到去中心化应用程序。
-- **导入以太坊远程过程调用端点** - 用户可以导入节点的远程过程调用数据,这样他们可以连接到自己选择的节点或其他以太坊虚拟机兼容的网络。
-- **非同质化代币** - 用户能够查看钱包中的非同质化代币并与之互动。
-- **连接到以太坊应用程序** - 用户能够连接并使用以太坊应用程序。
-- **质押** - 用户可以直接通过钱包进行质押。
-- **兑换** - 用户可以通过钱包兑换代币。
-- **多链网络** - 你的钱包默认支持用户访问多个区块链网络。
-- **二层网络** - 你的钱包默认支持用户访问二层网络。
-- **自定义燃料费用** - 你的钱包允许用户自定义自己的交易燃料费用(基础费、优先费、最高费用)。
-- **支持以太坊域名服务** - 你的钱包允许用户向以太坊域名服务名称发送交易。
-- **支持 ERC-20** - 你的钱包允许用户导入 ERC-20 代币合约,或自动查询和显示 ERC-20 代币。
-- **购买加密货币** - 你的钱包支持用户直接购买和上手加密货币。
-- **出售法币** - 你的钱包支持用户将法币直接出售并提现到银行卡或银行帐户。
-- **多重签名** - 你的钱包支持通过多重签名来签署交易。
-- **社交恢复** - 你的钱包支持监护人,如果用户丢失了助记词,可以通过监护人来恢复他们的钱包。
-- **专职支持团队** - 你的钱包拥有一支专职支持团队,用户遇到问题时可以向该团队寻求帮助。
-- **教育资源/文档** - 你的产品应提供精心设计的入门培训体验,为用户提供帮助和培训。 或者有文章或视频之类的介绍操作方法的内容。
-
-## 添加钱包 {#adding-a-wallet}
-
-如果你想向 ethereum.org 添加钱包,请在 GitHub 上创建一个问题。
-
-
- 创建一个提议
-
-
-## 维护 {#maintenance}
-
-由于以太坊的流动性,团队和产品来来去去,创新每天都在发生,所以我们将对我们的内容进行例行检查,以便:
-
-- 确保所有钱包和上架的去中心化应用程序仍然符合我们的标准
-- 验证建议的产品没有比当前上架的产品符合我们的更多标准
-
-ethereum.org 由开源社区维护,我们依靠社区来帮助持续更新它。 如果你发现有任何关于上架钱包的信息需要更新,请[创建一个问题](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=wallet+%3Apurse%3A&template=suggest_wallet.yaml)或[拉取请求](https://github.com/ethereum/ethereum-org-website/pulls)!
-
-
-## 使用条款 {#terms-of-use}
-
-另请参阅我们的[使用条款](/terms-of-use/)。 ethereum.org 上的资料仅供参考。
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/content-resources/index.md b/public/content/translations/zh/28) Contributing 2/contributing/content-resources/index.md
deleted file mode 100644
index c9f33cd0bab..00000000000
--- a/public/content/translations/zh/28) Contributing 2/contributing/content-resources/index.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title: 添加内容资源
-lang: zh
-description: 在 ethereum.org 上上架内容资源的标准
----
-
-# 添加内容资源 {#adding-content-resources}
-
-我们不能涵盖关于以太坊的所有内容,所以我们试着展示一些由社群创造的精彩文章、教程、简报、工作展示板和其他内容资源。 这些资源常为用户可能感兴趣的问题提供更深入的信息。
-
-如果你覺得某個頁麵中需要添加一個內容資源,請隨時在適當的地方提出建議。
-
-## 我们如何做出决定 {#how-we-decide}
-
-将按照以下标准评估学习资源:
-
-- 内容是最新的吗?
-- 内容是否需要付费?
-- 信息准确吗? 它是基于事实还是基于观点?
-- 作者是否可信? 它们是否提及相关的来源?
-- 这些内容是否增加了现有资源或链接所不具有的独特价值?
-- 这些内容是否服务于我们的其中一部分[用户](https://www.notion.so/efdn/Ethereum-org-User-Persona-Memo-b44dc1e89152457a87ba872b0dfa366c)?
-
----
-
-## 添加你的内容资源 {#add-your-content-resource}
-
-如果你想要将内容资源添加到 ethereum.org,并且该内容资源符合标准,请在 GitHub 上创建一个提议。
-
-
- 创建一个提议
-
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/design/adding-design-resources/index.md b/public/content/translations/zh/28) Contributing 2/contributing/design/adding-design-resources/index.md
deleted file mode 100644
index 37ec9520538..00000000000
--- a/public/content/translations/zh/28) Contributing 2/contributing/design/adding-design-resources/index.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-title: 添加设计资源
-description: 确保 ethereum.org 上设计资料质量的准则和要求
-lang: zh
----
-
-# 添加设计资源 {#adding-design-resources}
-
-任何人可以在 [web3 页面的设计和用户体验区域](/developers/docs/design-and-ux/)推荐新的设计资料。
-
-请注意,本页面的重点是为有抱负的 web3 设计师提供用户价值。 该设计区域不是为了宣传你的服务、产品或平台。
-
-为确保我们维护高标准的资料并推广有价值的见解,我们制定了一项上架政策:
-
-## 研究和仪表板 {#Research-studies}
-
-1. 健全的方法
-
-a. 方法应明确规定如何收集数据。
-
-b. 应说明研究参与者的人数。
-
-c. 应说明所采用的研究方法。
-
-2. 与 Web3 设计师和常见设计使用案例相关
-
-a. 研究的主题应与 Web3 设计师相关,并涉及常见设计使用案例。
-
-3. 注重提供见解
-
-a. 文本的主要目的应是分享见解,而不是宣传某个具体项目或公司。
-
-## 文章 {#Articles}
-
-1. 与 Web3 设计师/研究人员及常见 Web3 设计使用案例相关
-
-a. 文章主题应与 Web3 设计师和研究人员相关,侧重于常见 Web3 设计使用案例。
-
-2. 基本写作质量
-
-a. 文章应当没有语法和拼写错误。
-
-b. 重点应放在提供重要见解和学习上。
-
-c. 文章应简明扼要并切中要害。
-
-3. 文本的目的
-
-a. 文章的主要目的应是分享见解,而不是宣传某个具体项目或公司。
-
-## 社区/去中心化自治组织 {#Communities-and-DAOs}
-
-1. 网站必须明确说明如何加入去中心化自治组织/社区
-
-2. 明确成为会员的好处
-
-a. 应将成为会员的好处放在显著位置。
-
-**示例**:收到关于工作的反馈、获得工作机会或奖励、分享设计和研究见解。
-
-3. 在 Discord 上支持积极活跃地交流
-
-a. Discord 社区应展现出积极活跃的交流氛围。
-
-b. 版主应积极维护社区并促进讨论。
-
-c. 社区应展示过去两周内进行过有价值且有成果的讨论的记录。
-
-通过恪守以上标准,我们旨在在我们的社区内营造一个蓬勃发展的知识共享环境。 我们相信,这种白名单政策将确保我们的用户能够获得可靠、相关且有见地的资源。 感谢你的理解以及在维护我们平台的内容质量方面的合作。
diff --git a/public/content/translations/zh/28) Contributing 2/contributing/quizzes/index.md b/public/content/translations/zh/28) Contributing 2/contributing/quizzes/index.md
deleted file mode 100644
index 0d8c0dc722b..00000000000
--- a/public/content/translations/zh/28) Contributing 2/contributing/quizzes/index.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-title: 添加测验
-description: 向 ethereum.org 添加测验时采用的政策
-lang: zh
----
-
-# 测试 {#quizzes}
-
-测验让用户有机会自我检测,看看自己是否理解刚刚读过的页面内容。 问题应仅基于页面上提供的内容并且不应询问页面上未提及的信息。
-
-问题的结构如下。 问题提示、1 个正确答案以及为什么正确的解释、3 个错误答案以及为什么错误的解释。
-
-一些现有测验的示例可以在下面找到:
-
-- [二层网络](/layer-2)
-- [非同质化代币](/nft/)
-- [什么是以太坊?](/what-is-ethereum/)
-- [以太币是什么?](/eth/)
-
-## 添加学习测验
-
-如果一个页面尚未创建学习测验,请为其[创建问题](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml)。
-
-请提供以下信息:
-
-- 你想要添加测验的页面
-- 含有以下信息的 5 个问题:
- - 问题所依据的页面部分
- - 问题提示
- - 1 个正确答案以及为什么正确的解释
- - 3 个错误答案,每一个答案都有为什么错误的解释
-
-## 添加测验问题
-
-如果你想将一个问题添加到测验的问题库中,请[创建问题](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml)并提供以下信息:
-
-- 你想要添加测验问题的页面
-- 对于每个问题,提供以下信息:
- - 问题所依据的页面部分
- - 问题提示
- - 1 个正确答案以及为什么正确的解释
- - 3 个错误答案,每一个答案都有为什么错误的解释
-
-## 更新测验问题
-
-如果你想在测验的问题库中更新一个问题,请[创建问题](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml)并提供以下信息:
-
-- 你想要更新测验问题的页面
-- 对于每个被更新的问题,提供以下信息:
- - 问题所依据的页面部分
- - 你想更新问题的问题提示
- - 更新后的问题提示
- - 1 个正确答案以及为什么正确的解释
- - 3 个错误答案,每一个答案都有为什么错误的解释
-
-## 删除测验问题
-
-如果页面上和问题相关的内容不再存在并且需要删除问题,请[创建问题](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml)以删除测验问题并提供以下信息:
-
-- 你想要删除测验问题的页面
-- 你想要删除的问题
-- 为什么这个问题应该删除的解释(必要时)
From d1da92d50de95ba5d682a8dd2d7bf746adf863f8 Mon Sep 17 00:00:00 2001
From: Paul Wackerow <54227730+wackerow@users.noreply.github.com>
Date: Wed, 16 Oct 2024 12:35:02 -0700
Subject: [PATCH 3/4] fix: markdown syntax
---
.../zh/developers/docs/bridges/index.md | 3 +--
.../docs/programming-languages/dart/index.md | 13 ++++---------
.../docs/smart-contracts/testing/index.md | 2 +-
public/content/translations/zh/enterprise/index.md | 5 ++---
4 files changed, 8 insertions(+), 15 deletions(-)
diff --git a/public/content/translations/zh/developers/docs/bridges/index.md b/public/content/translations/zh/developers/docs/bridges/index.md
index 37232605f33..75dd16d84ad 100644
--- a/public/content/translations/zh/developers/docs/bridges/index.md
+++ b/public/content/translations/zh/developers/docs/bridges/index.md
@@ -67,8 +67,7 @@ lang: zh
## 链桥相关风险 {#risk-with-bridges}
-去中心化金融领域中最大的三次黑客攻击
-都是链桥造成的,而且链桥目前仍处于开发阶段早期。 使用任何链桥都有以下风险:
+去中心化金融领域中[最大的三次黑客攻击](https://rekt.news/leaderboard/)都是链桥造成的,而且链桥目前仍处于开发阶段早期。 使用任何链桥都有以下风险
- **智能合约风险 –** 虽然许多链桥已经成功通过了审计,但只需智能合约中的一个缺陷就会使资产暴露在黑客攻击中(例如:[Solana 的 Wormhole 链桥](https://rekt.news/wormhole-rekt/))。
- **系统性金融风险** – 许多链桥使用包装资产在新的链上铸造规范化的原始资产。 这使生态系统面临系统性风险,正如我们所看到的那样,包装代币遭到利用。
diff --git a/public/content/translations/zh/developers/docs/programming-languages/dart/index.md b/public/content/translations/zh/developers/docs/programming-languages/dart/index.md
index eb7e441cf59..3390207fe9e 100644
--- a/public/content/translations/zh/developers/docs/programming-languages/dart/index.md
+++ b/public/content/translations/zh/developers/docs/programming-languages/dart/index.md
@@ -10,18 +10,13 @@ incomplete: true
## 教程 {#tutorials}
- [Flutter 和区块链 – Hello World 去中心化应用程序](https://www.geeksforgeeks.org/flutter-and-blockchain-hello-world-dapp/)带你了解所有步骤,内容包括:
- 1. 安装 [Truffle 开发套件](https://www.trufflesuite.com/)
- 2. 使用 [Solidity](https://soliditylang.org/) 编写一个智能合约
- 3. 使用 Dart 编写一个用户界面
+ 1. 使用 [Solidity](https://soliditylang.org/) 编写一个智能合约
+ 2. 使用 Dart 编写一个用户界面
- 如果你已经了解基础知识,[使用 Flutter 构建移动去中心化应用程序](https://medium.com/dash-community/building-a-mobile-dapp-with-flutter-be945c80315a)的篇幅要短得多,效果可能更好
- 如果你喜欢通过观看视频来学习,可以观看[构建你的第一个区块链 Flutter 应用程序](https://www.youtube.com/watch?v=3Eeh3pJ6PeA),时长大约一个小时
- 如果你不想花这么多时间,你可能喜欢[在以太坊上使用 Flutter 和 Dart 创建去中心化的区块链应用](https://www.youtube.com/watch?v=jaMFEOCq_1s),时长仅约 20 分钟
-- 使用 WalletConnect 开发的 Web3Modal 库,将 MetaMask 集成到 Flutter 应用程序中<0> - 这个短视频教你使用 WallectConnect 开发的 Web3Modal <1>库,一步步地将 MetaMask 集成到你的 Flutter 应用程序中
-
- - [Flutter 去中心化应用程序简易钱包](https://youtu.be/JMfIBpuAhKA)和[首个 Flutter 去中心化应用程序 - Solidity、Truffle、Ganache](https://youtu.be/bHw2gQZxJ_s) - 这些视频展示了如何使用 Truffle 和 Ganache 在 Flutter 中构建简易的去中心化应用程序
-- [Solidity & Flutter 移动区块链开发者训练营课程](https://youtube.com/playlist?list=PL4V4Unlk5luhQ26ERO6hWEbcUwHDSSmVH) - 全栈移动区块链开发者课程播放列表
-
-
+- [使用 WalletConnect 开发的 Web3Modal 库,将 MetaMask 集成到 Flutter 应用程序中](https://www.youtube.com/watch?v=v_M2buHCpc4) - 这个短视频教你使用 WallectConnect 开发的 [Web3Modal ](https://pub.dev/packages/web3modal_flutter)库,一步步地将 MetaMask 集成到你的 Flutter 应用程序中
+- [Solidity & Flutter 移动区块链开发者训练营课程](https://youtube.com/playlist?list=PL4V4Unlk5luhQ26ERO6hWEbcUwHDSSmVH) - 全栈移动区块链开发者课程播放列表
## 使用以太坊客户端 {#working-with-ethereum-clients}
diff --git a/public/content/translations/zh/developers/docs/smart-contracts/testing/index.md b/public/content/translations/zh/developers/docs/smart-contracts/testing/index.md
index bed49ae5a01..e1833c0fc0b 100644
--- a/public/content/translations/zh/developers/docs/smart-contracts/testing/index.md
+++ b/public/content/translations/zh/developers/docs/smart-contracts/testing/index.md
@@ -277,7 +277,7 @@ function auctionEnd() external {
- **[Cyfrin Aderyn](https://cyfrin.io/tools/aderyn)** - _基于 Rust 的静态分析器,专为 Web3 智能合约安全和开发而设计。_
-- **[Wake](https://ackeeblockchain.com/wake/docs/latest/static-analysis/using- detectors/)** - < em x-id="4">基于 Python 的静态分析框架,具有漏洞和代码质量检测器,用于从代码中提取有用信息的打印机以及对编写自定义子模块的支持。
+- **[Wake](https://ackeeblockchain.com/wake/docs/latest/static-analysis/using-detectors/)** - _基于 Python 的静态分析框架,具有漏洞和代码质量检测器,用于从代码中提取有用信息的打印机以及对编写自定义子模块的支持。_
#### 动态分析工具 {#dynamic-analysis-tools}
diff --git a/public/content/translations/zh/enterprise/index.md b/public/content/translations/zh/enterprise/index.md
index 758fe9a16a8..82f4ecf41d0 100644
--- a/public/content/translations/zh/enterprise/index.md
+++ b/public/content/translations/zh/enterprise/index.md
@@ -63,7 +63,6 @@ lang: zh
- [Baseline 项目](https://www.baseline-protocol.org/) - _Baseline 协议是一组工具和库,可帮助企业协调复杂的多方业务流程和工作流程并保持隐私性,同时将数据保存在各自的记录系统中。 该标准使两个或多个状态机能够通过使用网络作为公用参考框架来实现和维护数据一致性和工作流程连续性。_
- [Chainlens](https://www.chainlens.com/) - _来自 Web3 Labs 的质押即服务和本地区块链数据与分析平台_
- [Ernst & Young's 'Nightfall'](https://github.com/EYBlockchain/nightfall_3) - _该应用程序用于通过乐观卷叠转移零知识下的 ERC20、ERC721 和 ERC1155 应用程序_
-- [Truffle Suite](https://trufflesuite.com) - _区块链开发套件(Truffle、Ganache、Drizzle)_
### 可扩展性解决方案 {#scalability-solutions}
@@ -147,9 +146,9 @@ lang: zh
- [BCdiploma](https://www.bcdiploma.com/) - _文凭、证书和微证书的数字化和验证_
- [Hyland Credentials](https://www.hylandcredentials.com) - _数字文凭和其他教育凭证、执照和证书_
-- [帕劳数字居住计划](https://rns.id/) - _让全球公民能够拥有帕劳政府颁发的合法身份证 EM>
+- [帕劳数字居住计划](https://rns.id/) - _让全球公民能够拥有帕劳政府颁发的合法身份证_
- [Spherity](https://www.spherity.com/) - _提供数字身份管理解决方案,以在生态系统中建立数字信任,专注于去中心化身份和可验证的凭证_
-- [Zug Digital ID](https://ezug.ch/en/) - _位于瑞士的基于区块链的身份系统,让居民能够以数字方式访问政府服务和支持功能,例如借用电动自行车和市政投票_
+- [Zug Digital ID](https://ezug.ch/en/) - _位于瑞士的基于区块链的身份系统,让居民能够以数字方式访问政府服务和支持功能,例如借用电动自行车和市政投票_
### 娱乐、非同质化代币和客户忠诚计划
From a5fca234c4aace3cca0d370a9795d651f12aa083 Mon Sep 17 00:00:00 2001
From: Paul Wackerow <54227730+wackerow@users.noreply.github.com>
Date: Wed, 16 Oct 2024 12:39:40 -0700
Subject: [PATCH 4/4] fix: markdown syntax
---
.../zh/developers/docs/nodes-and-clients/run-a-node/index.md | 2 +-
.../zh/developers/docs/programming-languages/dart/index.md | 2 +-
public/content/translations/zh/enterprise/index.md | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/public/content/translations/zh/developers/docs/nodes-and-clients/run-a-node/index.md b/public/content/translations/zh/developers/docs/nodes-and-clients/run-a-node/index.md
index 5cd30210906..6585cf2139e 100644
--- a/public/content/translations/zh/developers/docs/nodes-and-clients/run-a-node/index.md
+++ b/public/content/translations/zh/developers/docs/nodes-and-clients/run-a-node/index.md
@@ -353,7 +353,7 @@ lodestar beacon \
##### 运行 Nimbus
-Nimbus 包括共识客户端和执行客户端。 它也可以在各种设备上运行,甚至可以在算力很一般的设备上运行。 [安装依赖项和 Nimbus ](https://nimbus.guide/quick-start.html)后,你可以运行它的共识客户端:
+Nimbus 包括共识客户端和执行客户端。 它也可以在各种设备上运行,甚至可以在算力很一般的设备上运行。 [安装依赖项和 Nimbus](https://nimbus.guide/quick-start.html) 后,你可以运行它的共识客户端:
```sh
nimbus_beacon_node \
diff --git a/public/content/translations/zh/developers/docs/programming-languages/dart/index.md b/public/content/translations/zh/developers/docs/programming-languages/dart/index.md
index 3390207fe9e..bb0ec0ff318 100644
--- a/public/content/translations/zh/developers/docs/programming-languages/dart/index.md
+++ b/public/content/translations/zh/developers/docs/programming-languages/dart/index.md
@@ -15,7 +15,7 @@ incomplete: true
- 如果你已经了解基础知识,[使用 Flutter 构建移动去中心化应用程序](https://medium.com/dash-community/building-a-mobile-dapp-with-flutter-be945c80315a)的篇幅要短得多,效果可能更好
- 如果你喜欢通过观看视频来学习,可以观看[构建你的第一个区块链 Flutter 应用程序](https://www.youtube.com/watch?v=3Eeh3pJ6PeA),时长大约一个小时
- 如果你不想花这么多时间,你可能喜欢[在以太坊上使用 Flutter 和 Dart 创建去中心化的区块链应用](https://www.youtube.com/watch?v=jaMFEOCq_1s),时长仅约 20 分钟
-- [使用 WalletConnect 开发的 Web3Modal 库,将 MetaMask 集成到 Flutter 应用程序中](https://www.youtube.com/watch?v=v_M2buHCpc4) - 这个短视频教你使用 WallectConnect 开发的 [Web3Modal ](https://pub.dev/packages/web3modal_flutter)库,一步步地将 MetaMask 集成到你的 Flutter 应用程序中
+- [使用 WalletConnect 开发的 Web3Modal 库,将 MetaMask 集成到 Flutter 应用程序中](https://www.youtube.com/watch?v=v_M2buHCpc4) - 这个短视频教你使用 WallectConnect 开发的 [Web3Modal](https://pub.dev/packages/web3modal_flutter) 库,一步步地将 MetaMask 集成到你的 Flutter 应用程序中
- [Solidity & Flutter 移动区块链开发者训练营课程](https://youtube.com/playlist?list=PL4V4Unlk5luhQ26ERO6hWEbcUwHDSSmVH) - 全栈移动区块链开发者课程播放列表
## 使用以太坊客户端 {#working-with-ethereum-clients}
diff --git a/public/content/translations/zh/enterprise/index.md b/public/content/translations/zh/enterprise/index.md
index 82f4ecf41d0..1484a2c144d 100644
--- a/public/content/translations/zh/enterprise/index.md
+++ b/public/content/translations/zh/enterprise/index.md
@@ -75,7 +75,7 @@ lang: zh
### 支付 {#payments}
- [Brave Browser](https://basicattentiontoken.org/) - _向用户支付其对广告的关注,并且用户可以通过基本注意力代币向发布商付费以获得支持_
-- [瑞士卢加诺市](https://bitcoinsuisse.com/news/city-of-lugano-accepts-crypto- payments) - _税收和其他市政服务付款_
+- [瑞士卢加诺市](https://bitcoinsuisse.com/news/city-of-lugano-accepts-crypto-payments) - _税收和其他市政服务付款_
- [EthereumAds](https://ethereumads.com/) - _让网站运营商出售广告空间并通过以太坊获得报酬_
- [hCaptcha](https://www.hcaptcha.com/) - _预防机器人验证码系统,其根据用户完成的工作(标记数据以用于机器学习)向网站运营商付费。 现在由 Cloudflare 部署_
- [Opera MiniPay](https://www.opera.com/products/minipay) - _利用非保管钱包让非洲人更方便、更安全地使用移动支付,以及利用电话号码轻松进行交易_