前几天我和几个朋友聊天,说到现在很多 DAPP 的落地,突然一兄弟画风一转,问到底什么是 DAPP?
然后发现好像每个人都有不一样的定义。有人说 DAPP 就是去中心化的 APP,没有一个中心机构来管理。有人说 DAPP 是上链的 APP,所有的数据都记录在链上,公开透明。也有人说 DAPP 是智能合约,可以自动完成某些事件。还有人认为 DAPP 很多都不需要下载,在 web 端就可以运行。
我当时也没有讲清楚,回来之后学习研究后,成文,跟大家分享和讨论。
DAPP是什么?应该怎么理解
DAPP 是 Decentralized Application 的缩写,可以说是去中心化应用或者分布式应用。字面理解即数据并非存储在中心化的服务器中,而是分布式存储在每一个节点中。
节点可以认为是区块链网络中的计算机,可能是电脑、手机、矿机,节点负责记录和储存数据。比如比特币网络中负责记录和存储数据的全节点就是矿机。
像我们平时使用的微信,比如头像、联系人、朋友圈的数据都是在储存在腾讯服务器中的,由一个公司来进行管理,这是一种中心化的存储方式。
腾讯有权限删除你所有的数据,也有权限更改所有规则。比如以后所有人的朋友圈不能再发布视频。中心化的产品规则和数据都是由中心机构决定的。
假设一个游戏
比如我开发了一款游戏,叫愤怒的小脑斧。
狮子偷走了小脑斧逮到的小鹿,小脑斧为了夺回小鹿,开始了闯关游戏。游戏规定小脑斧每通过一关就可以获得10点能量用来提升自己的战斗力,迎接下一关的挑战。
我们来做几个设想
1、修改游戏规则
突然有一天我觉得游戏这样太简单了,用户很快就能通关,找不到乐趣就卸载了游戏。于是我修改了游戏规则,设定每通过一个大关卡只能获得5点能量用来提升战斗力,同时增加小关卡,每通过一个增加2点能量。并开通了商城通道,可以用法币购买能量。
有些用户因此更喜欢玩了,但也有些用户不开心了,本来可以快速通关获得快感,现在要花大量的时间去过关卡和甚至需要花钱。
你看,这就是一个中心化的游戏,因为所有的规则都是我自己说了算。
2、服务器被攻击
上次修改规则之后,那些不开心的用户,组建了一个小群,吐槽这个游戏,后来有个群友说要让大家都无法玩这个游戏,让它瘫痪。
经过一晚上的折腾,这位朋友成功攻击这个游戏服务器,所有玩家的数据全部被清空。
上面这两种场景是中心化应用很有可能发生的事情。
那DAPP应该是什么样呢?
DAPP是分布式储存数据,运行在去中心化的网络中,好处是每个节点所存储的数据都是一样的,数据公开透明,任何单一或少量的数据篡改,也无法改变整个数据库。
它需要具备哪些要素呢?
1、应用必须完全开源、自治,且没有一个实体控制着该应用超51%Token。该应用必须能够根据用户的反馈及技术要求进行升级,且应用升级必须由大部分用户达成共识之后方可进行;
2、应用的数据必须加密后存储在公开的区块链上;
3、应用必须拥有Token机制(可用基于相同底层区块链平台的通用代币或自行发行新币),矿工或应用维护节点需要得到代币奖励;
4、应用代币的产生必须依据标准的加密算法,有价值的节点可以根据该算法获取应用的代币奖励。
参考:
https://medium.com/@ksin751119/ethereum-dapp%E5%88%9D%E5%BF%83%E8%80%85%E4%B9%8B%E8%B7%AF-1-%E7%B0%A1%E4%BB%8Bdapp-decentralized-application-cf12ce581f90
https://espeoblockchain.com/blog/dapps-blockchain-applications/
https://blog.ethereum.org/2014/05/06/daos-dacs-das-and-more-an-incomplete-terminology-guide/
网友评论
看来孝虎参考了很多资料,我抽空也去学习下。
不过,从文章本身来看,最后少了对现有一些 Dapp 的案例介绍,以及你自己对于 Dapp 未来趋势的看法,这样会让文章更加饱满。
加油~