Sharding is the prevalent approach to breaking the trilemma of simultaneously achieving decentralization, security, and scalability in traditional blockchain systems, which are implemented as replicated state machines relying on atomic broadcast for consensus on an immutable chain of valid transactions. Sharding is to be understood broadly as techniques for dynamically partitioning nodes in a blockchain system into subsets (shards) that perform storage, communication, and computation tasks without fine-grained synchronization with each other. Despite much recent research on sharding blockchains, much remains to be explored in the design space of these systems. Towards that aim, we conduct a systematic analysis of existing sharding blockchain systems and derive a conceptual decomposition of their architecture into functional components and the underlying assumptions about system models and attackers they are built on. The functional components identified are node selection, epoch randomness, node assignment, intra-shard consensus, cross-shard transaction processing, shard reconfiguration, and motivation mechanism. We describe interfaces, functionality, and properties of each component and show how they compose into a sharding blockchain system. For each component, we systematically review existing approaches, identify potential and open problems, and propose future research directions. We focus on potential security attacks and performance problems, including system throughput and latency concerns such as confirmation delays. We believe our modular architectural decomposition and in-depth analysis of each component, based on a comprehensive literature study, provides a systematic basis for conceptualizing state-of-the-art sharding blockchain systems, proving or improving security and performance properties of components, and developing new sharding blockchain system designs.
翻译:硬化是打破同时实现分权、安全和扩缩的传统链锁系统三边的典型方法。 硬化是打破同时实现分权、安全和扩缩的传统链锁系统的典型方法。 传统链锁系统是作为复制的国家机器实施的,依靠原子广播进行复制,就无法改变的有效交易链链的链条达成共识。 硬化应被广泛理解为将链锁系统中的节点动态分割成子(硬体)的技巧,即进行存储、通信和计算任务,而没有细微同步的子集子(硬体),不进行细微的存储、通信和计算任务。 尽管最近对分解的模块链条进行了大量研究,但这些系统的设计空间仍有许多有待探索。 为了实现这一目标,我们系统对现有分解裂的链条系统进行系统进行系统化分析,从概念上将其结构拆分解成功能部分,将系统模型和攻击者的基本假设进行概念分解。 我们系统地审查每个部分的功能,通过系统分析,分析我们现有的系统分析,分析潜在的系统, 分析潜在的系统, 分析,分析潜在的系统, 分析,分析, 分析我们现有的系统 分析,分析,分析,分析, 分析, 分析,分析, 分析,分析,分析,分析,分析,分析,分析, 分析,分析,分析,分析,分析,分析,分析, 分析,分析,分析,分析,分析,分析, 分析, 分析, 分析, 分析, 分析,分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析, 分析