
万亿美元安全计划
安全挑战总览
以太坊使最安全,最具弹性和最值得信赖的区块链生态系统。在过去的十年中,以太坊生态系统发展了丰富的技术、标准和知识,支撑着拥有数百万用户和超过 6000 亿美元资金的生态系统。
但要使以太坊在全球采用的下一阶段中成功,还必须做出许多改进。为了实现我们社区的雄心壮志,以太坊必须发展成为这样一个生态系统:
- 数十亿用户安心持有超过$1000的链上资产,在以太坊上得到安全保护的资产总值达到万亿美元。
- 公司,机构和政府能够放心地在单个合约或应用程序中存储超过 1 万亿美元的价值,并且乐于进行相当规模的交易。
万亿美元安全 (1TS)opens in a new tab 项目是一次旨在升级以太坊安全性的全生态系统范围的努力。此报告是 1TS 项目的首份成果。在过去一个月中,我们收集了用户、开发者、安全专家和机构的反馈,了解他们认为最大的挑战和改进空间。感谢数百位个人和组织抽出时间与我们分析你们的看法。
本报告对我们的研究发现进行了总结,涵盖了6个不同领域:
- 用户体验 (UX)
影响用户能力的问题包括:安全地进行私钥管理、链上应用交互及交易签名。
- 智能合约安全性
以太坊应用程序的智能合约组件的安全性,以及塑造它们的软件生产生命周期。
- 基础设施和云安全
以太坊的应用(app)所取决于的基础设施问题(包括加密特定是和已停用的),比如L2链、RPC节点、云托管服务等等。
- 共识协议
核心协议的安全特点,是保护以太坊区块链自身抵御攻击与操纵的能力。
- 监控、事件响应和通过干预缓和事物的负面影响
用户与组织在处理安全漏洞事件时面临挑战,特别是在追回资金或善后的时候。
- 社交圈与治理
以太坊的开源治理来源、社区和组织的生态系统。
该首份报告专注于识别和梳理仍然存在的问题和挑战。下一步将是选择优先级最高的问题、寻找解决方案,并与生态系统协作解决这些问题。
由于以太坊生态系统是去中心化的,保障以太坊的安全不是单一实体能够完成的,以太坊的技术栈由世界各地的独立组织构建和维护,包括钱包、基础设施和开发者工具。虽然 1TS 项目由以太坊基金会协调,但我们仍需要你的帮助来保障以太坊的安全。
你可以分享自己的反馈和想法,为万亿美元安全项目贡献一份力量:
- 关于以太坊的安全,有没有什么你意识到但没有在这份报告中涵盖的问题?
- 你认为下面这些调查的问题中优先级最高的是什么?
- 你有什么想法或解决方案来解决这些问题?
我们很希望能够在万亿美元的安全@以太坊官网收到你的回音。
1. 用户体验 (UX)
安全开始于人们与以太坊交互所使用的界面。用户与区块链本身之间的这一边界始终是安全挑战的来源。
区块链的一个显著特征是交易的原子性:一旦更新被记录在区块链中,就无法干预或撤销。者提供了强力的一致性保证和协议级别的安全性,但也使用户面临更高的操作风险:任何错误、密钥泄露或仓促批准都可能导致无法挽回的损失。
因此,用户承担了巨大的安全负担。为了安全地使用以太坊,个人和组织必须安全地持有和管理密钥、与链上应用程序交互,以及使用其密钥签署交易以转移资产或以其他方式更新以太坊的状态。
每一项这些要求都会带来风险,例如密钥泄露或丢失、仓促或不知情的授权,或者用户依赖的钱包软件遭到入侵 (这些软件用于通知和指导用于与以太坊进行交互)。
1.1 钥匙(包括公钥和私钥)管理
许多用户没有能力安全地管理密码学的密钥。
大多数广泛使用的软件钱包依赖用户安全地存储代表其底层密码学私钥的助记词,这往往导致用户使用不安全的替代方法,例如将助记词以明文方式存储、存储在云服务上,或写在纸上。
硬件钱包是一种替代发干,使用户能够管理存储在专用物理设备中的加密密钥,然而。硬件钱包也有其缺陷和攻击面。硬件钱包可能会丢失、损坏或被盗。许多硬件钱包并非开源,并且可能拥有非透明的供应链,这带来了供应链攻击的风险,即被篡改的设备可能流入市场。
无论是使用软件钱包还是硬件钱包管理密钥,许多用户都会对自我保管感到担忧,因为密钥会可能遭受物理盗窃或攻击。
企业和机构用户在密钥管理方面面临额外挑战。如果个人员工持有密钥 (即作为多重签名钱包的一部分),由于人员会随时间变动,组织将必须能够替换旧密钥并创建新密钥。不同行业和司法管辖区的合规要求可能需要现有钱包软件不支持的自定义工作流或审计记录。在某些情况下,企业用户转向使用第三方托管数字资产,而这可能会引入另一层需要考虑的安全风险。
1.2盲签名与交易的不确定性
用户经常在不了解操作内容的情况下”盲目“批准交易。钱包通常显示原始十六进制数据、被截断的合约地址,或其他不足以让用户理解交易后果的信息。这使得各类用户容易受到恶意智能合约、网络钓鱼、诈骗、伪造界面、前端篡改以及基本用户错误的威胁。
1.3审批与权限管理
在许多以太坊应用程序中,用户在正常使用过程中通常会授予底层应用程序某些权限。例如,用户可能会授予像 Uniswap 这样的去中心化交易所移动其代币的权限,以便将此代币兑换为 ETH。
这些授权可以对金额设定限制,但许多钱包默认授予无限期的无限量授权。在大多数钱包中,用户无法管理或查看他们未撤销的授权。
这可能使用户更易受到恶意应用程序或被篡改前端的攻击,因为许多用户的默认操作模式是授予无限制的批准,这可能被用于抽取他们的资金。即使用户对一个合法智能合约授予批准,如果该合约之后被入侵且该批准仍然有效,被入侵的合约也可能抽取用户的资金。
这对组织用户同样构成风险。例如,某个组织可能为了操作便利而选择授予去中心化交易所路由器无限 USDC 授权,如果路由器合约升级,用户的资金将面临风险。
1.4受到入侵的网络界面
大多数用户并不直接与智能合约交互,而是使用其移动设备或网页浏览器,通过网页界面进行操作。
这些前端可能通过常见的手段受到攻击,例如 DNS 劫持、恶意 javascript 注入,不安全的托管或各种第三方依赖。被入侵的应用程序 UX 可能会将各类用户引导至恶意智能合约,或者导致他们签署误导性的交易。
1.5 隐私
隐私性可以减轻或放大各种用户的安全风险。
较弱的隐私保护会将个人用户暴露在各种定向威胁之下,例如网络钓鱼、漏洞利用、诈骗或物理攻击。许多常见的用户体验模式也会导致用户暴露,例如地址重用、KYC 数据和其他元数据泄露。
对于机构和企业而言,隐私往往是出于合规或特定用例的基本业务需求。此外,隐私问题还可能带来特定的安全风险。例如,在基于以太坊构建的供应链系统中,用户可能需要强力的隐私保障,以保护其知识产权资产。如果系统是透明的,这些资产可能会被遭到泄露。
1.6 片段
不同的钱包在处理核心行为 (如显示交易、处理批准或标记合约) 方面缺乏一致性。这种用户体验的碎片化增加了用户学习安全使用钱包的难度,也提高了风险。
例如,由于不同钱包的用户体验提示各不相同,用户无法依赖其一致性来保护自己免受网络钓鱼和欺骗。如果每个工具的运作方式都不同,用户就无法对以太坊的工作方式形成可靠的预期。
2. 智能合约安全性
智能合约是以太坊应用程序的链上组件:它们持有资金、定义访问控制并执行应用程序的业务逻辑。由于智能合约通常是透明的并且任何人都可以访问,因此在考虑以太坊生态系统的安全性时,它们是一个关键的攻击面。
智能合约安全性随着以太坊的发展得到了显著提升。早期的安全事件,如 DAO 攻击,促使生态系统更加专业化,并改进了整个软件生命周期的安全防护,使代码在部署到链上前更加安全。关键的改进包括:
- 安全审计成为标准化的做法,多家安全公司进入生态系统并研究相关专业知识。
- 工具、测试与静态分析系统已经走向成熟并成为实践的标准。
- 经过审核的通用程序库给开发者提供了默认安全原则的构建区块。
- 形式化的验证技术被广泛采用,特别应用于跨链桥、质押系统和高价值合约。
- 生态系统的安全文化和最好的实践得到了改善。
- 高额奖金的计划的创立,使得应用的阶段得到显著强化。
然而,这个领域仍然存在有漏洞的环节和需要改进的领域。
2.1合约的疏漏
虽然智能合约安全性已经有所改进,但仍存在可能导致重大安全问题的漏洞,包括:
- 合约升级的风险. 一些合约被设计为可以在部署后进行修改,以便开发团队能够继续更新和改进应用程序。然而,这也带来了风险。升级可能会引入新的漏洞,或者在恶意升级的情况下导致用户损失全部资金。
- 重入攻击, 即合约 A 在更新其内部状态前调用外部合约 B,而合约 B 在第一次调用结束之前又回调到原始合约 A。
- 外部程序库的不安全使用, 当合约调用了可能未经过审计、恶意的或可升级的外部程序库。
- 未经审计的部分. 尽管标准库的审计和使用已经有所改进,开发者有时仍在其应用程序中依赖于未经审计的组件。
- 访问控制的失败, 当权限配置错误或定义太过宽泛时,攻击者就能够采取恶意的行动。
- 未经授权的访问, 当恶意的攻击者得到了能够控制合约的私钥。
- 跨链桥与跨链交互. 跨链桥与跨链协议的使用引入了另外的复杂性,攻击者可以利用跨链信息的传递或验证机制的漏洞发起攻击。
- 外部帐户(EOA)的委托授权或签名机制的误用. 恶意应用程序可能诱导用户将帐户的完整委托权限签署给另一方,从而实现盗窃。恶意应用程序还可能以意想不到的方式使用用户签署的消息,例如进行重放攻击。
- 由AI代码生成工具或自动化重构的工具带来的漏洞正在成为新的威胁.
2.2开发者经验,工具和编程语言
由于开发者的错误,漏洞最终会出现在已部署的代码中。改进的开发者工具显著降低了部署安全智能合约的难度,但问题依然存在。
- 流行的框架中缺乏安全的默认设置. 一些工具优先考虑灵活性或速度而非安全性,设置了不安全的默认值,例如在 approve() 函数中默认授予无限制代币授权,或默认未包含访问控制模式。
- 用于高级操作控制的自定义代码. 具有复杂操作需求的机构用户往往必须从头构建所需功能,这增加了漏洞风险。目前缺乏针对高级安全工作流程的标准化安全组件或框架。
- 不一致的测试覆盖面 跨工具栈,以及缺乏经过验证的技术的规范,比如模糊测试或不变性检查的规范。
- 形式化的验证方法的采用率低. 形式化验证技术非常强大,但它们也相当复杂、昂贵、需要专业领域知识,且尚未很好地整合到标准开发工作流中,不过可以在软件生产的早期用于在规范阶段验证安全性。
- 合约验证环节存在的问题. 用户和开发者难以轻易评估已部署合约的可信度、安全验证程度(如代码审计),或潜在的风险。尽管已有一些解决方案,但仍存在许多问题。解决这些问题的工具尚未被广泛采用,用于统一方法的标准仍然碎片化,而且部分现有服务本身也是中心化的依赖。
- 编译器风险. 编译器 (将人类可读的代码,如 Solidity,转换为 EVM 本身使用的字节码的软件) 可能存在缺陷,从而在智能合约部署前引入错误。目前,以太坊生态系统主要依赖 solc 编译器,这意味着任何漏洞都可能造成广泛影响。
- 编程语言的广度与深度. 尽管 Solidity 已有一个构建于之上的有深度的工具生态系统,部分开发者还是期望找到其他编程语言中更现代的安全特点,比如内存安全。
2.3链上代码的风险评估
机构和企业通常使用其现有的流程、标准和要求来评估其依赖的技术和系统的安全性。然而,现有的框架往往无法直接适用于智能合约,其通常假设代码是可变的、拥有中心化的变更控制,并且具有明确的责任和法律义务。基于智能合约构建的系统有时可能会打破这些假设,这使得组织在采用以太坊和适当管理风险上面临困难。
3. 基础设施和云安全
以太坊的许多用例依赖于各种基础设施提供商,包括加密货币专用的基础设施 (如二层网络区块链、RPC 提供者) 和传统云服务,以及互联网基础设施 (如 AWS、CDN、DNS)。
这些系统既是钱包和应用层的攻击面 (例如钱包的 RPC 端点),也是以太坊协议本身的攻击面 (例如,许多验证者将其节点托管在云基础设施上)。即使底层区块链协议保持安全,私钥泄露、网络钓鱼以及缺乏细粒度访问控制仍可能导致大规模中断、盗窃或未经授权的更改。
3.1Layer 2链
二层网络区块链 (L2) 作为以太坊的扩展,在保留以太坊主网的一些典型安全保障 (取决于其具体设计) 的同时,提供更快、费用更低的环境。然而,它们也有自己独特的攻击面,包括:
- 多跳跨链资产的复杂性. 当资产在一层网络和多个二层网络之间流动时,它们会暴露于多个合约集合中,这些合约都必须保持安全。二层网络链上的账目不匹配或停机可能会引入漏洞,这些都可能被攻击者利用。
- Rollup L2依靠着证明系统来增强状态更新的正确性。. 这些系统中的漏洞或配置错误可以阻止最终敲定,或允许错误更新状态的最终敲定,导致用户的资金损失。
- 安全委员会是由关键持有者组成的团体,作为“备份”机制用于升级二层网络软件或应对某些紧急情况. 安全委员会本身也存在风险,因为成员被入侵或彼此串通可能导致用户的资金面临风险或资产被冻结。
看一看L2打击opens in a new tab来了解详细的框架及监控仪表盘,用于评估和比较L2性能与安全性。。
3.2RPC和节点的基础设施
以太坊应用程序依赖少数基础设施提供商获取 RPC 访问、API 和节点服务。着包括加密货币专用的基础设施提供商,以及通常用于托管节点的传统云服务 (例如 AWS、Cloudflare、Hetzner)。
如果这些基础设施提供商下线,或者尝试审查或限制访问,许多用户可能会无法通过他们的钱包或应用程序访问以太坊,直到迁移至新的 RPC 或其他基础设施提供商。其中一些提供商过去曾暂停或关闭与区块链活动相关的帐户,这引发了人们对其作为去中心化应用程序长期可靠性的担忧。
3.3DNS 层的弱点
域名系统 (DNS) 是互联网的基础层,但它也是中心化的,并且可能遭到入侵。许多用户通过网页域名访问应用程序,这可能受到以下风险的影响:
- DNS劫持攻击技术,攻击者植入恶意的前端界面。
- 域名检获风险,政府或域名注册商可以检获域名。
- 钓鱼域名攻击,攻击者注册相近的域名迷惑用户。
3.4软件供应链和程序库
以太坊开发者依赖开源程序库,这些库通常直接从 npm、crates.io 或 GitHub 等服务获取。如果这些库被入侵,它们可能成为以下攻击的载体:
- 恶意软件包的注入, 攻击者通过入侵被广泛使用的软件包,或发布名字相似的恶意软件包
- 依赖性劫持, 当维护者们失去项目的控制权时,恶意攻击者趁机植入有害代码
- 开发者入侵, 安装的软件包含能让攻击者控制开发者的电脑的代码。
3.5 前端交付服务和相关风险
许多以太坊应用程序通过内容分发网络 (CDN) 或基于云的托管平台 (例如 Vercel、Netlify、Cloudflare) 提供前端服务。如果这些服务受到入侵,它们可能会成为各种攻击的载体, 例如恶意 javascript 注入,攻击者向用户提供被篡改的前端。
3.6 互联网服务提供商层面的审查
互联网服务提供商 (ISP) 或国家可以通过控制底层互联网基础设施来审查对以太坊的访问。这些攻击可能包括:
- 拦截或限制访问以太坊的常用端口
- 屏蔽解析至以太坊相关服务的 DNS请求
- 对已知以太坊节点实施地域封锁或IP限制
- 深度的数据包审查,识别和审查以太坊协议相关流量
如今,世界各地的威权政府已经使用许多这些基本技术来限制访问信息、抗议工具或加密货币的途径。
4. 共识协议
以太坊的共识协议定义了网络如何更新以太坊区块链的状态并达成一致。该协议是使以太坊成为一个值得信赖的货币、金融、身份、治理、现实世界资产等平台的基础。
以太坊的共识协议已经在实践中被证明是稳健的,自 2015 年首次上线以来,经过多次升级,仍然保持零停机。然而,仍然存在长期改进空间,以使系统更具弹性和安全。
4.1 共识的脆弱性和恢复的风险
以太坊的分叉选择和最终确定性规则具有弹性,但并非无懈可击,在某些边缘情况下 (如验证者长时间分歧、客户端漏洞或网络分区),共识可能会停止或暂时分歧。在极端情况下,这可能导致验证者由于怠惰惩罚和罚没而受到连锁惩罚,进而导致验证者资本外逃。
4.2客户端多样性
以太坊业界领先的客户端多样性保护了网络免受单一客户端漏洞的影响。然而,客户端多样性仍有改善空间,通过更多地采用少数客户端,能够进一步降低这些风险。
4.3质押的中心化和池子的主导
大量验证者权重集中在流动性质押协议、托管服务和大型节点运营商手中。这种集中化可能会带来以下风险:
- 治理掌控或影响。如果控制大量质押的实体 (或有法律权力影响这些实体的机构) 共同协作,他们可能对区块的提议和验证产生巨大影响,从而可能审查用户或影响协议升级。
- 客户端选择和基础设施的设置的同质性,可以增加相关的失败风险。
4.4 未被定义的社会惩罚和协调差距
在某些极端故障模式下,以太坊将依赖”社交惩罚“来惩处那些恶意攻击网络的验证者 (参见 6.1)。然而,用于这种惩罚的基础设施、规范和预期流程尚未完善。社区目前没有可用的既定机制来执行这一过程。
4.5 经济和博弈攻击载体
仍然存在许多尚未被研究的潜在经济攻击载体,包括:
- 悲伤攻击或惩罚性破坏。验证者可能会因非自身过错的原因而遭受损失或罚没,而是由于攻击者纯粹为了损害他人利益而采取的恶意行为。
- 战略性退出或定期怠惰。验证者可能会在关键时刻故意离线或退出,以在受到最小惩罚的情况下最大化利益或扰乱共识。
- 验证者和中继者的合谋。验证者之间或中继者与验证者的协同行为可以降低去中心化程度,或者抽取最大可提取价值(MEV)。
- 利用最大可提取价值 (MEV),提议者-构建者分离或流动性质押设计中的边缘案例激励。相关行为者可能会操纵罕见的协议条件来获取超额的奖励。
4.6量化风险
以太坊的核心密码学 (如椭圆曲线签名算法 secp256k1) 未来可能会被量子计算机破解。虽然这不是迫在眉睫的风险,但一旦出现可信的威胁,现有的钱包,合约和质押密钥可能立即面临风险。这一未来挑战削弱了以太坊对用户的长期保障。
向抗量子密码学迁移的路径 (例如通过后量子签名方案) 需要在实际需求出现前的数年就进行设计、测试,并可能应用到协议中。以太坊生态系统中的组织,包括以太坊基金会,正在积极探索这些方案并监控风险。
5. 监控、事件响应和通过干预缓和事物的负面影响
即使是理想的区块链生态系统,也会存在风险、攻击和漏洞。当出现问题时,必须有有效的系统来缓解、检测并应对问题。这里的挑战包括:
- 联系受到影响的团队. 与应用程序被入侵的团队取得联系可能很困难。这可能会导致数小时的延误,从而限制应对人员挽回资金的能力。
- 有关组织的问题升级. 当问题涉及某个平台 (如某个社交网络或中心化交易所) 时,如果它们没有现有的联系渠道,响应者可能会难以升级问题。
- 协调多方进行响应. 通常不清楚有多少事件响应团队在协助受影响的应用程序,这可能导致沟通不畅或资源浪费,而团队努力可能更为高效。
- 缺乏监管能力. 监控链上和链下问题可能很困难,但这能够提供早期预警并确保对威胁的迅速响应。
- 获得保险. 保险是大多数传统系统中用于减少损失的重要工具,这些系统设计货币、金融系统、身份以及其他有价值的信息。然而,目前传统金融服务为加密货币领域提供的保险选项仍然很有限。

6. 社交圈与治理
以太坊的”社交层“指的是影响以太坊生态系统行为的一系列人群、组织、公司、治理流程和文化规范。该社交层本身也容易受到某些攻击或风险的影响,从而进一步影响以太坊的安全性和可靠性。
这些风险往往是更长期导向的,且涉及到了整个以太坊,而非单个的用户或应用的安全。
6.1质押的中心化
如果控制大量质押的实体们决定串通,那么大量质押的中心化可能对整个以太坊构成风险。
这种经济上的中心化创造了捕获社会治理的潜力。如果一小群验证者掌控着绝大多数的质押,他们可以:
如果发生这种极端情况,以太坊社区建议使用”社交惩罚“来解决问题。社交惩罚是通过链下社会共识来决定惩罚行为不当的验证者,以限制其能力。但目前尚不存在明确的规范、流程或工具来实施此类措施 (参见 4.4)。
6.2脱链资产的中心化
以太坊托管了大量现实世界资产,这些资产存放在链下的银行账户或其他存款中,然后通过代表链下资产所有权的代币在链上进行交易。例如,许多大型稳定币就是以这种方式运作的。
持有链下存款的机构可能对以太坊生态系统产生影响。例如,在出现有争议的分叉或网络升级的极端情况下,大额存款者仅通过选择认可某一条链上的代币,就可以影响哪一条链被广泛接受。
6.3 监管的攻击或压力
政府和监管机构可能会对控制以太坊堆栈关键组件的各个实体施加压力,以进行审查或干扰以太坊协议。以太坊的机构用户也可能收到这些压力的影响,从而进一步影响其用户 (例如,由于监管禁令,银行可能无法继续提供某些加密货币产品)。
6.4 组织的治理的捕获
以太坊的开源治理和开发过程由多样化且全球化的团队和公司驱动,他们负责维护核心客户端软件、基础设施以及工具。
各种形式的影响(企业收购、资金依赖、关键贡献者的雇佣、现有组织内部的利益冲突)可能会逐渐改变以太坊治理的文化和优先事项。这可能导致以太坊与特定商业或外部利益趋同,而偏离社区驱动的精神和既定路线图,随着时间推移,这可能会使以太坊的中立和弹性随时间而削弱。