从加密猫到Fomo 3D,“去中心化应用程序”你真的了解吗?

Odaily星球日报·2018-09-26 11:28
本文将带你全面了解DApps的的整个生态结构。

编者按:本文来自36氪战略合作区块链媒体“Odaily星球日报”(公众号ID:o-daily,APP下载)。

本文编译自www.engineerbabu.com,原文作者:Mayank Pratap,编译:袁辉腾。

目前,基于区块链技术的比特币等加密货币持续升温吸引诸多投资者入场。凭借点对点技术和分布式账本等功能而受到追捧的同时,也为创建新的应用程序提供建构模块。以区块链游戏为例,从去年一度造成以太坊网络拥堵的加密猫(CryptoKitties)到当下巨额奖金诱惑的 Fomo 3D,这两款备受玩家追捧的产品都是基于区块链的去中心化应用,也就是我们常说的“DApps”。除游戏之外,作为行业中的新概念,DApps 受到广泛关注,越来越多的应用也开始出现在不同行业。

到底什么是去中心化应用程序?其有哪些特性?与传统中心化应用相比,存在哪些异同?本文将围绕这些问题展开。

什么是去中心化应用程序(DApps)?

DApps 为 Decentralized Applications 的缩写。目前大部分 DApps 选择在以太坊系统上部署,简单来说,其可以被视为基于去中心化区块链平台以太坊运行的应用、工具或程序。

根据维基百科定义,“去中心化应用程序是众多用户在分布式网络上运行的应用程序,无需信任协议。其旨在减少单点故障(SPOF)的同时,通常借助 token 来奖励提供计算能力的用户。”

为了更好地理解这个定义,我们先了解传统 Web 应用程序的功能,对比其与 DApps 的异同。

在传统 Web 应用程序中,使系统可用的两个重要元素为前端和后端,其通过 HTTP 协议以编码消息的形式相互通信,并使用 HTMLCSS 和 Javascript 来呈现页面。此外,它还需要利用应用程序编程接口(API)从数据库中获取相关信息。当用户访问网页时,该页面通过调用相关 API 来获取个人数据并将其显示在页面上。即前端——API——数据库。

传统 Web 应用程序存在诸多问题。首先,此类应用程序服务器由一个中心化的服务方托管,在遭到恶意攻击时可能会造成单点故障(SPOF);其次,关闭基于中心化服务器的应用程序,黑客只需中断主机服务即可。因此,应用程序中的数据信息更容易遭到攻击。

DApps 也存在前后端的概念,通信方式与传统应用程序相同。DApps 能实现以任何语言编写的前端代码和用户界面,也可以调用其后端。此外,其前端可以托管在 Swarm 或 IPFS 等去中心化的存储方式上。但与传统应用程序不同的是,前端并不是连接到数据库的 API,而是通过智能合约连接到区块链。即前端——智能合约——区块链。

目前,应用市场中的应用程序绝大部分都是中心化的。以支付宝为例,用户在天猫商城购买商品后,需付款给支付宝,卖家收到购买信息后发货,用户在确认收货之后,支付宝将具体款项打给卖家。其中,支付宝即为一个中心化的应用,集中所有卖家、买家的所有数据信息。也就是说,虽然支付宝有数以百万的前端用户,但后端仍由中心机构绝对控制。

若阿里巴巴的数据中心遭到攻击或者破坏,用户的交易信息以及支付宝中的存款就有可能“灰飞烟灭”,无从查证。而不同于中心化应用的数据信息由单一机构控制,DApps 的后台运行在对等的分布式网络上,网络中的所有节点均有权利参与信息的修改,且不存在一个节点可以完全控制一个去中心化的应用。

DApps 有哪些特性?

结合当前应用市场上相对成功的 DApps 可以发现,与传统的中心化应用相比,基于区块链技术的 DApps 存在以下特性,并成为其核心优势在移动应用中占据一席。

开源性

在闭源应用程序中,终端用户不能通过任何中心源直接访问其数据,因此需要信任应用程序的开发人员,用户则面临数据泄漏、篡改等风险。而 DApps 是开源应用程序,其允许所有用户参与管理。根据提出的改进建议或市场的反馈,应用程序可能会调整其协议,但任何一个更改都必须基于用户的共识。

共识机制

在引入比特币等加密货币之前,任何有效的交易均依赖于一定程度中心化的机构,一笔交易需要通过监管其的清算所进行处理。DApps 在对等网络或区块链网络上运行,这就意味着任意节点之间可实现互相连接。在 DApps 应用程序中,各项事务基于共识机制得到处理。当大多数节点批准该事务时,其便会得到确认并进行处理。此外,网络中的验证器也会获得一定数量的加密 token 作为奖励。

无中心故障点

由于 DApps 是去中心化的,且不依赖于单个服务器,因此不存在中心故障点。DApps 允许将存储在其中的数据分散至各个节点,这些节点互相独立。当其中一个节点发生故障时,其他节点不会受到影响,能够保证正常运行。IPFS(星际文件系统)BitTorrent(比特流)独立 DHT(分布式哈希表)等不同的分布式数据库系统,均可以基于这个特性创建 DApps。

DApps 可以分为哪几类?

以太坊 DApps 为例,以太坊计划为建立 DApps 提供底层平台,允许任何开发者编写智能合约和 DApp。在这些应用程序中,其可以为所有权,交易格式和状态转换功能创建任意规则。总的来说,DApps 可以被分为以下三类。

财务区块链应用程序

顾名思义,该类别基于去中心化应用程序,为用户提供管理其财务资产的方法。例如比特币,其为用户提供一个去中心化的货币系统。

由于不存在中心化的控制网络,因此任何机构都不能控制应用程序中用户的所有资金。权利和监管职责由基于共识机制的所有用户负责,用户是这些应用程序中资金的所有者。除了比特币,市场上的各种山寨币也属于这一范畴。

半金融区块链应用程序

该类别是借助区块链技术,将用户资金和各种数据信息的混合。以保险应用程序为例,当航班晚点延误时,该应用允许用户申请赔偿或退款;ICO(初始代币发行)也属于半金融区块链应用程序,这是一种类似于 IPO 的融资机制。不同的是,其用加密货币替代法定货币。项目发起方通过区块链技术发行、出售项目初始产生的加密代币,募集比特币、以太坊等通用加密代币或法币,筹集项目发展资金。 

ICO DApps 应用 ERC20 token 标准等技术,易于构建。该应用的大部分功能是允许投资者以数字货币的形式向智能合约发送资金。该智能合约存储资金并在稍后的时间点以新 token 的形式共享等价值。

完全去中心化应用程序

这一类 DApps 涵盖去中心化系统的所有特性,也是当前最受欢迎的 DApps 类型。在线投票或去中心化治理申请均属于这一类别。据悉,迪拜等国家已开始利用区块链技术,旨在建立基于区块链管理的政府。

DApps 的本质是什么?

判断一个应用程序是否为 DApp,需满足以下四个基本要素:

  • 应用程序应是开源的,且以自主的方式运行。任何中心化的单一权限都无法控制应用程序大部分 token。针对建议的未来升级和市场反馈,DApp 必须遵守被其应用在共识机制中的规则。应用程序中的所有更改必须通过系统用户的共识来决定。

  • 应用程序的数据和操作记录必须存储在一个去中心化的公共区块链上。此外,区块链上存储的所有信息都必须加密。

  • 应用程序必须使用加密货币(比特币或者其系统本身的 token)。同时,对矿工给予一定的 token 奖励。

  • 应用程序应根据作为价值证明的标准加密算法生成 token,并具有与比特币类似的固定共识机制。

DApps 共识机制的建立

DApps 使用两种常见机制来建立共识,即工作量证明(PoW)和权益证明(PoS)。

工作量证明可简单理解为一份证明,证明你做过一定量的工作。PoW 通过评估工作量来决定你获得记账的机率,工作量越大,获得此次记账机会就越大。

比特币挖矿采用的即为工作量证明机制。比特币网络通过调节计算难度,保证每次竞争记账均需要全网矿工花费约 10 分钟,才能算出一个满足条件的随机结果,即获得本次记账权,发出本轮需要记录的数据,全网其他节点进行验证确认后共同存储。

权益证明机制也称股权证明机制,是 PoW 的一种升级共识机制。权益证明机制通过评估用户持有 token 的数量和时长来决定其获得记账权的机率。例如,若用户持有该应用程序 25 %的 token,则其权重为 25 %,这就类似于股票的分红制度,持有股权相对多的人能够获得更多的分红。例如,Omni 协议则使用股权证明机制。

在应用程序中,这两种共识机制可单独使用,也可以并行使用。Peercoin 即为并行使用这两种机制的例子,这种组合能够使 DApp 消耗更少的能量,而这恰恰是独立使用工作量证明机制的主要缺点之一。此外,其还可以使得应用程序更耐 51 %攻击

DApps 中 token 分发机制

为了在数字货币市场中分配自己的 token,DApps 遵循三种常见机制,即挖矿、筹资以及开发。前文中已经提到,挖矿机制遵循 PoW 原则或者 PoS 原则,其允许将最大数量 token 分发给大部分工作贡献给应用程序操作的人。例如,当矿工通过使用其计算能力来确认交易并利用比特币区块链解决数学问题时,比特币就会以奖励的形式进行分发。

筹资机制只不过是为应用程序的初始开发筹集资金的一种渠道,这是在 ICO(初始代币发行)的帮助下进行的。通过发布白皮书、上线网站以及概念证明等向投资者展示该应用程序的想法。若投资者认为该项目可行,其便可以通过筹集资金落地应用程序。

在筹资机制中,token 分发给对应用程序初始开发有贡献的人。以万事达币(Mastercoins)为例,其最初分发给参与 ICO 的投资者。筹集到的比特币发送至指定地址后,投资者可以换取万事达币,而项目则会利用筹集到的比特币用于资助应用程序的开发。

这些 token 仅适用于 DApps 的开发。以 Master Protocol 为例,应用程序使用协作机制和筹款机制为未来发展提供资金。通过筹款筹集的大约 10 %的 Mastercoin 被保留下来用以制定协议。这些 token 的可用性基于预定的时间表,并通过社区驱动的赏金系统进行分发。

DApps 如何运作?

为了使 DApps 能够正常运行,需要实现此前介绍的四个基本要素。

基于去中心化的区块链上的应用程序,其不断消耗使用协议生成的 token。DApps 的开源特性使其完全去中心化,允许任何人查看代码并为其作出贡献。由于代码决定产品开发的可拓展过程,因此开源特性能够保证其质量和数量。

一旦这些基本因素得到解决,接下来就是构建去中心化的应用程序。区块链技术能够创建一个永久性的分布式账本,用来记录存储任何类型的数据。之后在使用不同协议或算法(PoW或PoS)进行挖矿,进而获得 token,向分布式账本添加交易和记录。

去中心化应用程序实例

Golem

作为 DApps 项目,其概念是利用 PC 和数据中心,创建能够对外出租的超级计算机,全球任何人均可以申请租用。

该项目不依赖任何中央服务器群,而是将计算负荷分配至愿意租用其计算机进行工作的“提供商”。这些提供商通过共享起计算机资源,以换取 GNT token。与类似集中式的项目相比,这种分布式的呈现过程计算速度更快,费用更低。

Augur

Augur 将预测市场与去中心化网络的优势相结合。其可以被视为一个去中心化的市场预测平台,允许用户对潜在交易的收益进行预测。此外,Augur 利用“人群的智慧”来进行真实世界事件的预测,并使用 ERC20 Token。

比现实世界中专家预测相比,该应用程序预测的许多结果已被证实更为准确。用户在对事务作出正确预测时,平台会给予一定奖励。此外,市场创建者、报告事件的平台 token 持有者也会得到一定报酬。

Prism

Prism 是 ShapeShift 的以太坊托管项目,其提供一个无需信任和去中心化的资产组合市场。它利用 EDCC(可执行的分布式代码合同),为市场组合生成自定义管理工具。用户可以在不同的加密货币中投入以太坊,并指定其想要持有的百分比。

Prism 消除对第三方的需求以及保存和存储钱包和多个私钥的复杂过程。由于该项目基于以太坊智能合约,因此无需管理不同交易所的密码和密钥。此外,它还通过交互式 UI 显示投资者的投资组合,并实时自动跟踪所有内容。

Aragon

作为一个开源项目,Aragon 基于以太坊平台允许用户创建和管理一个去中心化组织,由 Aragon 基金会管理。

创建该平台是为了构建和管理 DAO(去中心化自治组织),其还包括 ANT,即平台 token,为决定产品的未来发展提供投票权。Aragon 的 DAO 概念可用于任何组织或公司,甚至是非盈利的基金会,为这些实体提高治理水平。

Aragon 还通过利用基于以太坊的智能合约取代不必要的第三方,通过消除地理边界和文书工作,旨在为用户提供极为方便的数字管辖权。

结论

尽管 DApps 的功能越来越受到人们的追捧,但不可否认,去中心化应用的生态环境依然不完善。转视当下,全球各行业巨头纷纷涉足区块链技术,试图在区块链生态系统中占据一席之地。但与互联网的覆盖程度相比,目前区块链还只是“点点繁星”。如何将区块链带入主流用户视野,DApp 被寄予厚望。

+1
4

好文章,需要你的鼓励

参与评论
评论千万条,友善第一条
后参与讨论
提交评论0/1000

下一篇

“黎曼猜想是否被证明,都与区块链无关”

2018-09-26

36氪APP让一部分人先看到未来
36氪
鲸准
氪空间

推送和解读前沿、有料的科技创投资讯

一级市场金融信息和系统服务提供商

聚焦全球优秀创业者,项目融资率接近97%,领跑行业