金融密码学2020回顾:区块链安全与智能合约技术前沿

本文回顾了2020年金融密码学会议上的重要研究成果,涵盖区块链共识协议攻击、智能合约漏洞分析、隐私保护方案及安全计算技术,为密码学和分布式系统开发者提供深入的技术洞见。

金融密码学2020回顾 - Trail of Bits博客

几周前,我们参加了第24届金融密码学(FC)会议和可信智能合约研讨会(WTSC),在会上展示了我们在智能合约漏洞分类方面的工作(参见我们的执行摘要)以及关于Echidna的海报。尽管FC不是区块链会议,但今年和往年都有多个以区块链为导向的演讲。尽管存在全球旅行限制的问题,组织者还是成功举办了2020年的优秀会议。

以下是我们推荐查看的一些会议论文:

安全

NEO的dBFT协议安全分析

秦王、江山余、志昂彭、Van Cuong Bui、石平陈、勇丁和向阳
在这篇对NEO区块链共识协议dBFT(标准PBFT的变体)的回顾中,作者发现了两次成功的安全攻击,这些攻击的发生主要是因为dBFT出于优化原因跳过了特定消息(COMMIT)。我们在Trail of Bits审查过类似的共识协议,很高兴了解这里发现的攻击。

破解莫斯科互联网投票系统的加密方案

Pierrick Gaudry和Alexander Golovnev
我们审查过多个链上选举系统,因此这个系统的漏洞对我们来说并不意外。在这项研究中,最近莫斯科选举中链上投票系统的加密使用了称为3 ElGamal的ElGamal变体,这是ElGamal的多级加密版本。不清楚开发者为什么创建这个变体,因为它并没有增加安全性。他们使用了256位密钥,这些密钥(如你所料)太小;然而,论文作者认为使用256位密钥是因为它们与EVM操作数的大小匹配,并允许简单的链上加密实现。问题在选举前几周被报告,因此开发者在选举前重写了大部分代码库并移除了链上加密。作者随后发现了另一个问题,导致一位信息的泄漏——足以识别选民选择的候选人。毫不奇怪,这篇论文受到了媒体的广泛报道(Coindesk、ZDnet等)。

LockDown:针对闪电网络通道的余额可用性攻击

Cristina Pérez-Solà、Alejandro Ranchal-Pedrosa、Jordi Herrera-Joancomartí、Guillermo Navarro-Arribas和Joaquin Garcia-Alfaro
在这篇论文中,作者展示了在比特币闪电网络上触发余额锁定是可能的。本质上,攻击者可以在网络中对其目标达到主导地位,使其成为路由支付的主要网关。有趣的是,支付通道允许路径中的循环,增加了攻击者的费用。

自私挖矿再审视

Kevin Alarcón Negy、Peter Rizun和Emin Gün Sirer
在高层次上,自私挖矿发生在矿工不透露已挖出区块时。知道区块已被挖出,自私矿工可以继续挖下一个区块,从而在竞争中获得优势。自私挖矿是区块链中已知的概念,但部分社区认为推理有缺陷,攻击并不盈利。这篇论文介绍了一种变体,其中矿工在自私挖矿和标准挖矿之间切换,并展示了矿工如何从这种行为中获利。他们研究了难度调整算法,发现一些区块链似乎比其他区块链更脆弱。通常,以太坊的叔块奖励——如果竞争区块被挖出(即两个矿工同时找到不同的区块),矿工会获得小额奖励——似乎使以太坊更脆弱。

程序分析

Marlowe:在区块链上实现和分析金融合约

Pablo Lamela Seijas、Alexander Nemish、David Smith和Simon Thompson
Marlowe是一种基于Haskell的DSL,旨在代表Cardano区块链上的金融合约。DSL不是图灵完备的,但旨在为最常见的金融合约提供所有必要功能。这是一个很好的进行中的工作;查看他们的基于Web的IDE。

强制Java智能合约的确定性

Fausto Spoto
这项工作专注于Takamaka区块链,它允许智能合约用Java编写并在Java虚拟机中执行。Java的主要问题之一是保持确定性执行,而一些标准库不是确定性的(例如HashSet)。这项进行中的工作使用已知确定性库的白名单方法,并静态检测函数调用何时危险;然后添加动态检测,并在检测到非确定性行为时恢复合约。

Albert:Tezos区块链的中间智能合约语言

Bruno Bernardo、Raphaël Cauderlier、Basile Pesin和Julien Tesson
Albert是Tezos区块链的中间表示。其到Michelson(在Tezos上执行的语言)的编译器是用Coq编写和验证的。这是一个很好的进行中的工作,我们很高兴看到编译器验证应用于智能合约语言。

一个形式化验证的组合合约静态分析框架

Fritz Henglein、Christian Kjær Larsen和Agata Murawska
这项工作提出了一个基于合约规范语言(CSL)的抽象解释框架。这项工作很有趣,但不幸的是,CSL尚未找到太多实际应用。

协议设计

分片区块链中的负载均衡

Naoya Okanami、Ryuya Nakamura和Takashi Nishide
这篇论文专注于Eth 2.0的分片重新分区。随着Eth 2.0,智能合约将在分片之间拆分,然后必须确定哪个合约在哪个分片中。这是一个热门话题,有许多不同的方法。例如,Eth 2.0可能以“Yank”操作码结束,允许合约在分片之间切换。这项工作提出了一种负载均衡方法,其中链下竞争者提交不同的重新分区,如果他们的解决方案被选中,则获得奖励。

基于DAG的加密货币中的公平性和效率

Georgios Birmpas、Elias Koutsoupias、Philip Lazos和Francisco J. Marmolejo-Cossío
基于DAG的公共账本是区块链的替代方案。一些团队尝试使用DAG(有向无环图)而不是将链的历史存储在线性数据结构中。基于DAG的账本应该比区块链扩展得更好,但它们创建了一个难以同步的架构。这篇论文提出了一个没有恶意矿工的场景,并表明即使在这种情况下,同步也很困难,并且严重依赖矿工连接性。

支付系统区块链上的去中心化隐私保护净额协议

Shengjiao Cao、Yuan Yuan、Angelo De Caro、Karthik Nandakumar、Kaoutar Elkhiyaoui和Yanyan Hu
与IBM合作完成的这项工作使用zk-proof创建去中心化净额,并允许银行结算余额。参见代码。

MicroCash:微支付的实用并发处理

Ghada Almashaqbeh、Allison Bishop和Justin Cappos
在这篇论文中,作者创建了一种处理并行支付的微支付解决方案。大多数现有的微支付解决方案需要顺序支付,这限制了它们的使用。作者扩展了现有的概率微支付方案。一个限制是系统需要相对稳定的商户集合,但可能匹配大多数现实情况。

驾驭闪电:支付通道的博弈论

Zeta Avarikioti、Lioba Heimbach、Yuyi Wang和Roger Wattenhofer
在这里,作者使用博弈论方法进行支付通道的经济建模。他们使用基于图的指标(介数和中

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