论文标题
基于区块链的分散应用:技术审查和开发指南
Blockchain based Decentralized Applications: Technology Review and Development Guidelines
论文作者
论文摘要
区块链或分布式分类帐技术是一种破坏性技术,它为开发分散应用程序提供基础架构,即使在传统上集中式的领域也能够实施新颖的商业模型。在过去的几年中,它引起了学术界的浓厚兴趣,技术开发人员和初创公司已经开发了许多解决方案,以解决区块链技术的局限性和应用程序软件工程的要求。在本文中,我们提供了DLT解决方案的全面概述,分析了解决的挑战,提供了解决方案及其用于开发分散应用程序的用法。我们的研究回顾了100多篇区块链论文和初创企业,我们从中构建了一个基于3层的架构,用于分散应用程序,并将其用于系统地对技术解决方案进行分类。协议和网络层解决方案涉及数字资产注册,交易,数据结构以及隐私和业务规则实施,以及建立点对点网络,分类帐复制以及基于共识的状态验证。缩放层解决方案在存储尺寸,交易吞吐量和计算能力方面解决了可扩展性问题。最后,在多个区块链应用程序部署中联合层汇总集成解决方案。该论文通过提供了多个步骤的指南来分散传统系统的设计并实施分散应用程序,讨论了开发分散应用程序的挑战和机会的讨论。
Blockchain or Distributed Ledger Technology is a disruptive technology that provides the infrastructure for developing decentralized applications enabling the implementation of novel business models even in traditionally centralized domains. In the last years it has drawn high interest from the academic community, technology developers and startups thus lots of solutions have been developed to address blockchain technology limitations and the requirements of applications software engineering. In this paper, we provide a comprehensive overview of DLT solutions analyzing the addressed challenges, provided solutions and their usage for developing decentralized applications. Our study reviews over 100 blockchain papers and startup initiatives from which we construct a 3-tier based architecture for decentralized applications and we use it to systematically classify the technology solutions. Protocol and Network Tier solutions address the digital assets registration, transactions, data structure, and privacy and business rules implementation and the creation of peer-to-peer networks, ledger replication, and consensus-based state validation. Scaling Tier solutions address the scalability problems in terms of storage size, transaction throughput, and computational capability. Finally, Federated Tier aggregates integrative solutions across multiple blockchain applications deployments. The paper closes with a discussion on challenges and opportunities for developing decentralized applications by providing a multi-step guideline for decentralizing the design of traditional systems and implementing decentralized applications.