经过移动互联网以及智能手机的普及,相信几乎所有人都知道了什么是APP(Application的简称)。 然而如今转眼迈入了区块链时代, 一个新的名词DAPP(Decentralized Application)出现了。时常看到走在技术前沿的技术开发者在问:什么是DAPP? 如何开发一个DAPP? 为什么要开发DAPP而不是APP,DAPP和APP到底有哪些区别和联系? 本文将会对DAPP的概念、优势以及如何开发DAPP进行详细的探讨。
一、什么是DAPP
根据David Johnston在文章DavidJohnstonCEO/DecentralizedApplications里的定义,只有当满足以下所有条件时,一个应用才可以称之为DAPP。
- 应用必须完全开源、自治并且没有一个实体控制着该应用的大部分代币(Token)。该应用必须能够根据市场的反馈及技术要求进行升级,但是升级必须是该应用的用户达成共识之后才可以进行;
- 应用的数据必须加密后存储在公开的区块链账本上;
- 应用必须拥有代币机制(可以使用已存在的代币或者新发行一种内置代币),矿工或者应用维护节点需要得到代币奖励。
- 应用代币的产生必须依据标准的加密算法,有价值的节点可以根据该算法获取应用的代币奖励。
根据以上的标准,比特币、牛顿仙女座小程序都算是DAPP,以Bitcoin为例;
- 比特币的代码完全开源且不受中心组织的控制,所有比特币的交易等信息都可以在区块链上查到,并且是全网公开的。
- 比特币的代币奖励机制有预先内置的加密算法决定,无法修改。矿工由于维护比特币节点的安全和稳定获取奖励;
- 所有比特币区块链上数据的修改都要经过大多数用户的认可(共识)。
所以比特币是一个DAPP,牛顿仙女座小程序也是一个DAPP,而基于牛顿公链开发的各项应用也应该叫做DAPP。不同的是,有些DAPP扮演了操作系统的角色(比如Ethereum、NEWTON),基于这些平台可以很容易的开发出特定需求的DAPP,而有些DAPP(比如奈斯生态通证)则是具体的应用。但它们都满足上面的标准。
二、DAPP的核心要素
Dapp的应用越来越受到年轻人的喜欢。当然你可以从零开始,自己创造一个完整的区块链系统并开发自己的应用。这相当于开发一个新的区块链项目,比较费事费力且对团队能力要求较高。如果你只是一个普通的开发者想基于区块链开发自己的应用,那选择一个成熟的区块链应用开发平台就好了。这些平台一般会提供完善的接口以及开发工具和开发文档,你只需要操心业务逻辑及其实现过程就好。关于Dapp的开发大家可以访问更多的技术论坛,比如国内比较著名的有巴比特、CSDN等。
1. 开发平台
目前最流行的开发平台是Ethereum:Ethereum是目前全球除了比特币以外第二大的区块链项目,它就像一台全世界的共用的分布式计算机,你只需要把你的应用部署在Ethereum上,应用的运行就可以由所有的Ethereum节点来保证。应用的运行需要支付手续费(GAS)。缺点是需要学习一门新的语言Solidity。不同这门语言类似JavaScript,很容易上门入手。
另外一个建议就是基于牛顿公链开发项目(英文名叫做NEWTON,代币名称为NEW,在火币交易所可以交易)。牛顿的技术文档为开发者提供了全面的开发指导,包括如何为牛顿社群经济生态开发DAPP,交易所对接,以及其他技术开发等。文档涵盖了牛顿开发工具,智能合约教程,示例代码以及API文档可供参考。牛顿的技术文档可以帮助开发者快速的参与到牛顿DAPP生态建设中。开发者使用以NewStudio为核心的开发工具链,可以零编程基础开发DApp。NEWTON采用的是主链+子链的设计架构。NewChain支持无缝桥接BTC、ETH等主流区块链网络。不同于Ethereum, NewChain上DAPP数量的增加不会增加主链的负担,是一套更加先进的机制,并且NewChain的TPS稳定在5000以上,解决了以太坊网络拥堵的问题。牛顿技术架构包含基础技术层、超级交换协议层和应用层。其中,基础技术层包含NewChain、NewNET、原子哈希、NewIoT和NewAI等;超级交换协议层包含数字身份与信用、供应链、数字营销、交易和支付、可信物理通道、供应链及NNIO等;应用层包含钱包、商城、物流、金融及保险等。
2. 共识机制
共识机制决定了运行DAPP的各节点如何达成共识及获取奖励,目前最常用的共识机制有POW、POS以及DPOS等。POW依据计算资源分配奖励,目前Bitcoin、Ethereum都采用了这种机制(不过Ethereum后面可能要迁移到POS)。柚子EOS,被誉为区块链3.0,目前采用的是DPOS共识机制,牛顿目前采用的是POA共识机制。关于共识机制有很多,不同的公链项目根据自身定位和需求采用的方式也不同。
3. 代币分发
一般DAPP都会内置代币(Token), 而想让更多用户参与到DAPP的维护与使用中的话,就需要考虑好如何把代币分发到用户手中。目前最常见的有以下几种方案:
- 挖矿:以Bitcoin为例,任何拥有计算资源的人都可以加入到Bitcoin的挖矿中来,通过挖矿奖励来获取新的Bitcoin。
- ICO: 可以简单理解为众筹。通过收集市面上已经成熟的其他代币,根据一定比例兑换为本DAPP内的代币来完成。Ethereum就是按照 1BTC/2000ETH的比例通过ICO众筹到了很多BTC作为起始资金。这种分发方式在国内现已被禁止。
- 空投: 将代币免费分发到用户手中。持有其他代币的用户只需要完成一个简单的绑定流程,就可以得到代币。最近的案例有NSB空投,具体方式可参考奈斯币官方网站
- 私募:这个就跟找投资一样,私募具有一定的风险性,参与需谨慎。
- 完全去中心化发行:目前主流的柴犬币(SHIB)、奈斯币(NSB)都是采用这样的发行机制,通过DEFI协议进行一次性投放发行。建立的共识机制更强,无项目方,或者说人人都是项目方。
三、DAPP的生命周期
一个DAPP的生命周期主要分为三部分:
1. 撰写白皮书
白皮书描述了DAPP的技术原理、要解决的问题以及特点等。社区对白皮书的反馈可以添加到后期的更新中。
2. 分发代币
可以采用上一章节描述的代币分发机制的一种。
3. 开发DAPP,逐步进化完善
在DAPP发布之后,如果该DAPP走向了一个健康发展的道路,可以期望会有越来越多掌握各种技能的用户加入到社区,一起维护DAPP的发展。这时早期开发者在社区所占的比重越来越小,DAPP的发展交由社区整体进行运营、更新。无论是比特币还是比特股,早期开发者所起到的作用已经越来越小,去中心化的社区已经可以推动这些项目的继续发展。
四、 为什么要开发一个DAPP?
目前社会对DAPP开发的关注度正在逐步提高,市面上还难以看到特别流行的DAPP应用。目前随着DEFI和NFT相关概念的火热,DAPP应用大有出圈的趋势。随着区块链技术的发展,传统的C/S模式可能会被颠覆,开发者不用再去买云服务器部署自己的应用。有了区块链开发平台,开发者可以很容易的把应用部署到区块链上,这是一个基于全球服务器,7*24不间断服务的应用平台。另外由于DAPP代币机制的存在,开发者可以很容易的基于代币获得价值回报。相信在不久的将来,DAPP会超越传统的APP,在人们的社会生活中扮演越来越重要的角色。也相信区块链技术真正能够服务于社会,提高人民的生活质量。
|