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.
翻译:自2016年以来,碎片法已成为解决遗留链链系统伸缩问题的吉祥解决办法。尽管它有可能有力地推动块链通量,但碎片法也随其自身的安全问题而出现。为了方便决定哪些碎片可以放置交易的过程,现有的碎片法程序使用散散落法交易碎片,其中交易的散落值决定其产出碎片。不幸的是,我们表明,这一机制打开了一个漏洞,可以利用它来进行单点洪涝袭击,一种拒绝服务(Do-servictice)攻击,以压倒一个碎片,最终降低整个系统的性能。为了应对单点洪涝袭击,我们建议采取一项反措施,从根本上消除漏洞,拒绝使用散发交易碎片法。该反措施利用信任执行环境(TEE),让阻断链验证者安全地执行一种易碎的交易算法。我们为反措施提供了正式的规格,并分析了其安全特性,从而降低了整个系统的业绩。为了对付单点洪水,我们提出了一个抵制单点的洪涝袭击,我们提出了一种反制化可行性框架。最后,即展示了我们所发展到的可靠度。