[论文解读] An Empirical Study of Blockchain-based Decentralized Applications
本文对734个基于以太坊的去中心化应用(dapps)进行了全面的实证研究,分析了其流行度、智能合约组织结构、开源实践以及代码复用情况。研究数据来自DAppRadar、State of the DApps和Etherscan,结果表明dapp的流行度符合帕累托分布,开源智能合约与更高流行度相关,且代码复用现象普遍——为开发者和用户在dapp设计及从传统应用迁移方面提供了实用洞见。
A decentralized application (dapp for short) refers to an application that is executed by multiple users over a decentralized network. In recent years, the number of dapp keeps fast growing, mainly due to the popularity of blockchain technology. Despite the increasing importance of dapps as a typical application type that is assumed to promote the adoption of blockchain, little is known on what, how, and how well dapps are used in practice. In addition, the insightful knowledge of whether and how a traditional application can be transformed to a dapp is yet missing. To bridge the knowledge gap, this paper presents a comprehensive empirical study on an extensive dataset of 734 dapps that are collected from three popular open dapp marketplaces, i.e., ethereum, state of the dapp, and DAppRadar. We analyze the popularity of dapps, and summarize the patterns of how smart contracts are organized in a dapp. Based on the findings, we draw some implications to help dapp developers and users better understand and deploy dapps.
研究动机与目标
- 理解区块链去中心化应用(dapps)在实际应用中的使用情况与特征。
- 探究dapp流行度、开源实践与代码库规模(行数,LoC)之间的关系。
- 考察dapp智能合约与客户端代码中的代码复用模式。
- 为开发者提供将传统应用转化为dapps的实际指导。
- 为dapp市场平台、用户及研究人员提供关于dapp设计与采纳的数据驱动洞见。
提出的方法
- 从三个开放的dapp市场平台收集数据:DAppRadar、State of the DApps和以太坊区块浏览器Etherscan。
- 获取734个dapp的详细数据,包括dapp类别、独立用户数、交易量及交易频率。
- 从GitHub和Etherscan提取并分析2,740个智能合约源代码及客户端代码。
- 使用描述性统计与分布分析,刻画不同类别和指标下dapp流行度的特征。
- 对一个高流量dapp进行案例研究,分析其智能合约架构与迁移模式。
- 应用代码相似性检测技术,识别跨dapp在代码层面的复用模式。
实验结果
研究问题
- RQ1dapp在不同类别中的流行度如何分布?哪些指标(独立用户数、交易量、交易频率)表现出最显著的集中趋势?
- RQ2开源智能合约与客户端代码在多大程度上影响dapp的流行度?
- RQ3dapp智能合约与前端代码中的代码级复用有多普遍?其用途是什么?
- RQ4将传统应用转化为dapp时,关键的技术与架构考量因素有哪些?
- RQ5成功dapps中智能合约组织的结构模式是什么?
主要发现
- dapp在各类别、独立用户数、交易量及交易频率上的流行度均符合帕累托分布,少数dapp占据了绝大多数活动量。
- 开源智能合约源代码与dapp更高流行度显著相关,表明透明度有助于提升用户信任与采纳率。
- 代码级复用在dapps中较为普遍,尤其体现在智能合约与前端逻辑中,主要用于实现功能一致性与快速开发。
- dapp中的智能合约主要用于管理与代币相关的数据,且由于Gas成本限制,仅有限的操作适合迁移至区块链。
- 案例研究显示,仅核心状态管理与代币操作通常被迁移至智能合约,而复杂业务逻辑仍保留在链下。
- 博彩类dapp复用率较高,但风险也更大,因此用户需对其代码进行仔细审查。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。