论文标题
基于哈希的交易碎片的拒绝服务脆弱性:攻击和对策
Denial-of-Service Vulnerability of Hash-based Transaction Sharding: Attack and Countermeasure
论文作者
论文摘要
自2016年以来,Sharding已成为解决旧区块链系统中可伸缩性问题的吉祥解决方案。尽管它有可能强烈提高区块链吞吐量,但Sharding带来了自己的安全问题。为了简化确定要放置交易的碎片的过程,现有的碎片协议使用基于哈希的交易碎片,其中交易的哈希值决定其输出碎片。不幸的是,我们表明这种机制打开了一个可以利用的漏洞来进行单切洪水攻击,即一种拒绝服务(DOS)攻击,以压倒单个碎片,最终降低了整个系统的性能。 为了应对单切洪水的攻击,我们提出了一种对策,从而通过拒绝使用基于哈希的交易分片来消除漏洞。对策利用可信赖的执行环境(TEE)让区块链的验证者用可忽略的开销安全地执行交易碎片算法。我们为对策提供了正式的规范,并在通用合并性(UC)框架中分析其安全性。最后,开发了概念验证,以证明我们解决方案的可行性和实用性。
Since 2016, sharding has become an auspicious solution to tackle the scalability issue in legacy blockchain systems. Despite its potential to strongly boost the blockchain throughput, sharding comes with its own security issues. To ease the process of deciding which shard to place transactions, existing sharding protocols use a hash-based transaction sharding in which the hash value of a transaction determines its output shard. Unfortunately, we show that this mechanism opens up a loophole that could be exploited to conduct a single-shard flooding attack, a type of Denial-of-Service (DoS) attack, to overwhelm a single shard that ends up reducing the performance of the system as a whole. To counter the single-shard flooding attack, we propose a countermeasure that essentially eliminates the loophole by rejecting the use of hash-based transaction sharding. The countermeasure leverages the Trusted Execution Environment (TEE) to let blockchain's validators securely execute a transaction sharding algorithm with a negligible overhead. We provide a formal specification for the countermeasure and analyze its security properties in the Universal Composability (UC) framework. Finally, a proof-of-concept is developed to demonstrate the feasibility and practicality of our solution.