基于量子链的 Dapp 开发
Dapp 和普通 App 的区别
Dapp 和普通 App 的区别

Dapp 的全称是 Decentralized Applications ,也就是去中心化的应用。首先是物理层面的去中心化,传统 App 等于前端加上部署在自己服务器上的后端,Dapp 是前端加上部署在区块链上的智能合约,区块链是一个去中心化的存储方式。去中心化的第二层含义是治理层面的去中心化,传统 App 大都基于用户对大公司实力的信任,而 Dapp 的日常经营靠的是大家通过区块链达成的共识。

理想条件下的 Dapp

Dapp 是个比较新的概念。理想条件下的 Dapp 和真实世界的 Dapp 还是有很多不同,所以咱们就分别来讲。先聊理想条件下 Dapp 应该具备哪些特征。

也还是先说物理层面。Dapp 应该有一个好看的前端,方便用户去操作底层的智能合约。智能合约是一个 Dapp 的灵魂,可以理解为智能合约就是传统意义上的后端代码。智能合约的内容部署到区块链上,是一个去中心化的存储形式。理想条件下,Dapp 的前端代码也应该存储在一个去中心化的媒介上,例如 IPFS 协议对应的存储媒介上。数据库也应该是去中心化的,例如很常见的做法就是把数据存放到区块链上。

再说治理层面。整个 Dapp 的去中心化的技术架构,其实底层是为了服务一个真正的去权威化,由参与者投票自制的治理结构。Dapp 的代码,理想条件下,应该是开源的,任何人都有权利去审核这个游戏规则,决定自己是否要加入游戏。数据甚至也要是开放透明的,任何人都可以监督运营状况。总之,没有透明就没有共识,区分公司内外,内部人就有某些特权,这个是违背去中心化的精神的。

那么执行效率如何保证呢?去中心化的组织中,会有所有的参与者共同接受的共识协议,例如比特币采用的 POW ,也就是工作量证明方式,或者是其他区块链使用的 POS ,也就是股权证明方式。各种共识的方式,本质上大都是通过投票的方式来选举各项工作的执行者。同时,Dapp 的很大一个特点就是有代币激励,付出辛劳的人也会有经济上的回报,关于什么是代币,后面我们详细聊。

总之,理想条件下的 Dapp ,就是要达成一个公开透明的游戏规则,可以容纳无限的参与者,同时可以有效的防止欺诈。

现实中的 Dapp

现实中的 Dapp 还处于早期,很多真实的情况跟理想模型还是有差异的。

还是先说物理层面。以太坊可以说是 Dapp 火起来的真正原因,因为狭义上来讲,一个 Dapp 就是一个好看的前端,加上一个智能合约。以太坊之后的区块链项目,例如量子链,也都支持智能合约。所以,写 Dapp ,先用 Solidity 写一个智能合约,部署到以太坊或者量子链上,这个是去中心化的。但是受当前区块链处理速度和存储容量的限制,要达成 Dapp 的良好的用户体验,一部分运算还有数据存储还都是在自己的服务器上完成的,只有在必要时才跟区块链进行通信。比较让开发者不爽的就是,因为涉及到数据在整个区块链网络上的扩散,其实往以太坊上写数据,是需要等待矿工进行确认的,所以需要很长时间,另外,每次写操作都是需要交钱的,在以太坊上这个费用叫做 gas ,也就是给以太坊加汽油的意思。

说完了作为后端的智能合约,再说前端,目前的做法还是以开发者熟悉的方式来做,Web App 因为开发方便而且跨平台,所以还是目前 Dapp 前端的主流。非常知名的 Dapp 项目 steemit 就是用 React 写的。前端代码也一般都部署到自己公司的服务器上,而非部署到分布式网络上。

再来说一下社区的治理。目前还是以公司主导,保证效率,但是一些关键的业务还是完全满足去中心化思维的,公开和透明的。底层的共识机制上,很多项目也都采用了中心化和去中心化结合的思路,兼顾了透明度和效率,例如当下非常火的 EOS 项目中就有超级节点的概念,网络上的各个节点不是绝对平等的。

总之,真实世界中的 Dapp 对理想的 Dapp 概念做了不少的调整。

实际应用举例

最后来看一下当下比较知名的一些 Dapp 。

当前最为知名的一个 Dapp 可能就是 Steemit 了,也许没有之一。这是一个代币激励的内容生产社区。到上面不管是发文章还是给别人的文章评论,都可能收到代币奖励。目前用户已经有百万,是我自己认为的落地最好的 Dapp 项目。

Slock.it 也是一家专注 Dapp 和物联网技术结合的公司。核心产品是一种使用区块链技术的智能锁,出租房屋的时候,只要收到加密货币转账,锁就能自动打开。这家公司有意思的地方在于它关注的不是人和人之间达成共识,而是智能设备和人,或者智能设备之间的共识。

还有一大类应用是试图颠覆传统大公司的。例如有针对滴滴这样的互联网租车平台的 Dapp 项目,让司机和乘客之间可以通过智能合约来交易,这样就避免了给滴滴这样的平台缴纳手续费了。也有要革的是淘宝和亚马逊的命的去中心化的商品交易市场。这些应用都是理想丰满,现实残酷,处于实验性阶段。

另外还有一大类特别火的 Dapp 都是跟博彩相关的。这类应用的特点就是需要最大化的共识,这正是智能合约的强项,同时规则也都比较简单清晰,容易开发。

坦率的说,Dapp 的发展还处于早期,很多项目处于概念阶段,要落地需要各项配套基础设施和人们的观念跟上来才行。但是,很多跟代币相关的项目确实是已经落地了,个人认为这个跟大家有投机心理进来吵币不能说没有关系,但是代币的激励作用其实是有着的实实在在的合理性的。这个后面小节中咱们展开来讲。

总结一下

什么是 Dapp 这节,主要内容就是这些了。总结一下。Dapp 的思想就是去中心化的,物理层面,借助区块链,分布式存储和软件开源的技术思路,达到最大程度的规则一致和透明。而治理层面,也尽量的去中心化,通过大家达成的共识机制,高效的避免腐败,降低管理成本。咱们也对现实中 Dapp 开发的基本技术栈做了介绍,前端采用我们熟悉的 Web 开发技术即可,后端写智能合约部署到区块链之上。最后给出了一些实际的 Dapp 的例子,这里我想说的是,区块链对于去中心化的推动,和人工智能物联网结合的各种可能,都是意义深远的,但是落地可能还是需要时间。当下 Dapp 的流行很大一个因素就是因为共识和透明,使得代币这种形式变得可能,这个我觉是可以立杆见影的发挥作用的方向,所以下一节咱们专门聊聊代币以及相关的 ICO 这些概念。