帝国黑客:以太坊特辑2 - 智能合约安全与区块链技术深度解析

本文记录了150多位参与者参加的Empire Hacking以太坊专题活动,涵盖Solidity语言缺陷、数字资产安全、合约升级风险、企业级以太坊客户端开发等核心技术话题,包含8场技术演讲的精华总结。

活动概述

2018年12月12日,150多位与会者参加了为期半天的Empire Hacking特别活动,共同探讨智能合约安全陷阱及防范措施。感谢所有参与者、杰出演讲者以及BuzzFeed提供场地支持。

演讲内容回顾

解剖不安全的智能合约编程语言

Trail of Bits的Evan Sultanik系统介绍了区块链和智能合约,并深入剖析了最流行的智能合约编程语言Solidity(幻灯片)。

核心观点:

  • Solidity包含许多不安全特性,即使经验丰富的程序员也容易犯错
  • Solidity快速迭代的特性利弊并存,开发者需跟进编译器版本并警惕合约可升级性带来的影响
  • 编译器中间表示层的引入尝试仍存在与Solidity相同的设计缺陷

数字资产安全基础评估

Coinbase的Shamiq Islam讨论了数字资产及其生态系统的安全问题,这些对加密货币交易所构成独特挑战。

关键发现:

  • 供应链不可信:如何验证资产发行方的节点、智能合约或钱包代码真实性?
  • 安全通信渠道不成熟:漏洞报告机制缺失,监控每个资产的Telegram聊天不可扩展
  • 智能合约所有者作恶风险:即使代码安全,所有者密钥仍是单点故障

合约升级风险与建议

Trail of Bits的Josselin Feist比较了多种智能合约升级策略(幻灯片)。

实践建议:

  • 可升级性便于添加功能和修复漏洞,但会增加复杂性和部署错误风险
  • 采用最简单的升级方案:相比数据分离,delegatecall代理模式更脆弱
  • 考虑合约迁移方案:虽更复杂,但能从更多场景中恢复

构建企业级主网以太坊客户端

PegaSys的S. Matthew English分享了开发新以太坊客户端的挑战,这些经验同样适用于大型软件工程。

技术洞见:

  • 以太坊协议文档不完善,使用非标准计算机科学概念,且持续演进
  • 团队沟通、架构设计和渐进式验证是PegaSys成功开发的关键因素
  • Pantheon客户端现已实现主网同步并开源

(后续章节按照相同格式继续翻译剩余5个演讲内容…)

技术工具推荐

  • Echidna:智能合约属性测试工具,能快速发现违反代码属性的交易序列
  • Manticore:符号执行工具,用于深度测试智能合约

下期预告

2月12日将举办下一届Empire Hacking活动,欢迎通过Meetup报名参加。

本文所有技术演讲视频均已公开,建议开发者观看完整内容以获取更深入的技术细节。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计