以太坊(Ethereum) 分布式应用 DApp
分布式应用(DApp)是运行在区块链之上的应用程序,支持区块链网络中用户之间的交互。
DApp(decentralized application)的后端代码运行在区块链网络上,普通互联网应用的后端代码运行在集中式的服务器上。
DApp可以使用任何语言编写前端代码和用户界面(就像普通应用程序一样),前端调用后端实现实现功能。
如果一个互联网普通app可以表示为:
App = 前端 + 后端服务器
则一个DApp可以表示为:
DApp = 前端 + 智能合约(运行在区块链网络上)
如下图所示:
DApp这个概念流行于 2017 年末,大部分 DApp 都是基于以太坊开发。到现在为止,平均每天有 10 多个 DApp 被提交到 DApp 统计平台 http://dappradar.com 上。
http://dappradar.com 列出了以太坊上最优秀的那些 DApp,并且从不同的维度对 DApp 进行评分。
1. 什么是 DApp
关于DApp的标准定义,现在业界并没有达成一个很好的共识。简单来讲,DApp是Decentralized Application 的简称。DApp可以是一个网站,也可以是一个手机上的应用。只要支持应用的主要业务逻辑和数据都是基于区块链的,那它就可以称之为一个DApp。
每一个DApp都运行在一个基于全球节点的节点网络上。它主要有以下几个优点:
1) 永不宕机
因为DApp是运行于区块链上的,而区块链是基于分布于全球的服务器节点来运行的。所以只要区块链不出问题,DApp就可以一直在线。
2) 没有审查
这个也是借助于区块链的特点,任何的审查机制在DApp上都行不通。
3) 开源
DApp的代码是开源的,任何人都可以去查看它的原始代码。
2. DApp的分类
目前DApp名目繁多,但大体可以分为以下几类:
1) 去中心化交易所
FolkDelta 是去中心化交易所的一个典型应用。目前每天有4000多用户使用。在FolkDelta上,用户可以对一些流行的Token进行兑换。
2) 游戏
去年最火的游戏是以太猫,最流行时一度占有了以太坊网络的20%的流量,造成了以太坊网络的拥堵。从那以后,各种游戏如雨后春笋般冒了出来。把游戏跑在区块链上的好处是数据永不丢失,也不会被盗走。目前比较流行的游戏有:Etherbots, EtherCraft等。
3) 赌博
普通的赌博游戏必然会遭遇庄家抽成、可能性的作弊等情况。但如果把这个游戏搬到区块链上,前面所说的问题就不会出现了。
4) 其他
目前最流行的DApp基本都属于前三种,还有更多的DApp正在开发中。不过区块链以及基于区块链开发DApp都还处于比较早期的阶段,但它们的进化速度肯定会越来越快。让我们拭目以待!
下一章:以太坊 账号(地址)
以太坊(Ethereum) 账号(地址):以太坊(Ethereum)网络中,有两种账号:外部账号– 用户使用的账号;合约账号 – 智能合约使用的账号,每个智能合约都有一个账号。这些账号,都被称为 状态对象/state object,构成了以太坊网络的状态。外部账号的状态是账户余额,合约账号的状态是内存与账户余额。