都说是下一个十年,DApp为什么还如此冷清?

2018 年 9 月 05 日

在 1983 年,史蒂芬. 乔布斯就开始谈论现在已被大家熟知的 App 应用商店的商业模式。在 25 年之后,2008 年,苹果 App 应用商店上线,其简单易用的“用户界面”被人所熟知。在网络信息领域过去的 10 年,是 App 蓬勃发展的 10 年。技术发展的浪潮几乎都以十年为一个节点,Web 持续了十年,App 持续了十年,未来的十年则被认为是 DApp 的十年。

在公众看来,DApp 就类似于一个 iOS 或 Android 应用。一般一个完整的 App 产品包含服务端和客户端两个部分。而一个 DApp, 其数据可以存储在区块链上,读写数据的逻辑也跑在区块链上,所以区块链就充当了大部分服务器端功能。区块链发展了近 10 年,虽然在以太坊上已有上千款 DApp,但到目前为止,却还没有一款能够让大多数用户所使用!

DApp 的现状

目前 DApp 主要应用在去中心化的交易所、游戏、博彩、数字收藏品等方面。DappRadar 最新数据显示总共有 829 个 DApp,24 小时内的活跃用户为 8000+。根据 Researchly 对七月上中旬的统计可以看出,DApp 的主要应用集中在博彩、游戏和高风险金融交易(如 PoWH 3D)上,相对于 APP 的实质性应用场景,这些场景可谓是很小众的了。

加密猫作为以太坊上第一个现象级的产品,一经问世就迅速火爆全球。在 2017 年 12 月的高峰期间,加密猫的日活用户为 1.7 万。如今,加密猫只有大约 650 个日活跃用户。今年 6 月的交易数量与去年 12 月 80500 次峰值相比下降了 98.4%。虽然该游戏仍是以太坊相关游戏当中最受欢迎的选择之一,但近几个月以来,公众对游戏中购买与交易活动的兴趣似乎开始大幅下降。

两个著名开源的有智能合约功能的公共区块链平台,其中以太坊价值 280 亿美元,EOS 价值 46 亿美元。然而根据一名研究员的调查,以太坊和 EOS 目前共有八个分散应用程序(DApp),其中只有 300 多个活跃用户。相对于古典 APP 的日活量,作为运行智能合约和 DApp 的公网,活跃率对比实在有些鲜明。

DApp 的困境

Visa 有大约 8.8 亿张信用卡在流通,全球有几亿活跃用户,为了处理每日交易量,Visa 网络必须每秒处理数万笔交易。但是,在以太坊和 EOS 上 DApp 缺乏活动并不仅仅与扩展公共区块链网络的难度有关。大部分 DApp 界面还过于简陋,相比今天丰富的应用对于用户没有什么吸引力。而且分散系统的概念对于消费者来说,还过于新颖。

DApp 受阻很大一部分还受制于使用体验以及开发过程。开发人员还要花费很长的时间来优化,如果可以让 DApp 像中心化一样容易使用,还是很容易激励用户的。

与此同时,以太坊上高昂的 gas(以太坊手续费)对于用户来说有些沉重了,每一条消息提交给以太坊链都要消耗很多的 gas。如果 DApp 不能找到一个有效的办法让用户可以在不知情的情况下支付这些成本,单纯每一次记录所花费的费用就会把这些潜在的用户拒之门外。

可扩展性

整个区块链行业还处于一个在初期完善基础架构的阶段,现阶段阻碍区块链大规模应用的最大障碍存在于技术上,比如公链的运行效率。目前的公链还很难支持一个庞大的去中心化商业应用生态。

“以太坊养猫直接导致了以太坊交易拥堵”-BBC 新闻

“一个应用就压垮整个区块链网络?”- ConsenSys

以太坊拥堵长达半月,开发者大面积停工,Fcoin 刷充值被指元凶

目前成功落地的公链都存在效率低、资源占用不合理问题,比特币的 5TPS、以太坊的 25TPS 跟 VISA 的高峰 4000TPS 几乎没有可对比性。目前主要的 DApp 集中在以太坊上,而以太坊目前确实难以承受更多的活跃用户,如果不解决日常容量问题,堵塞几乎就是每天就要面对的问题。

智能合约

我们知道区块链的一大作用是保证应用的可信任程度。举例说,一个人在区块链上开发了一个 DApp,自诞生之日起,便具有了不可篡改的特性,包括 DApp 内的业务逻辑也不可篡改。如果用户可以看到它后台的逻辑架构,并清楚地知道它不可能被更改,从而也可以产生更多的信任感。区块链的这种不可篡改性促成了数字版权、防伪、供应链管理这些应用场景的落地。

但是,在目前的环境和情景下,开发和应用 DApp 并非易事。

其一,现在的 DApp 其实就是智能合约,需要通过钱包去调用,或者通过一些比较粗糙的网页去使用,前者流程多且耗时,后者麻烦且体验差。

其二,互联网产品设计思路是“小步快跑、高速迭代”。传统 App 的开发,倾向于强调快速迭代,一般首先是建立一个最小可行产品,然后不断释放更新版本。DApp 基于分布式的区块链网络,一旦提交上线后出现核心 bug 很难迭代。

在 DApp 的开发中,智能合约一旦被部署到主网,便不能够改变。智能合约的漏洞会使得用户损失资金,毁坏 DApp 开发者的声誉。那么 DApp 的准确性很大程度取决于发布之前代码被检查和测试的程度。从这点来说,比起 APP 开发,DApp 的开发更像是硬件的开发而不是软件的开发。在硬件开发过程中,产品发布之前必须进行严格的测试和原型制造,而硬件的召回则需花费大量资金,并毁坏制造商的声誉。

高昂的 DApp 费用

事实上,根本不存在典型 DApp 这种东西。DApp 的表现形式多种多样,从游戏到去中心化交易所皆在此列。在计算成本时,我们重点关注每月唯一身份用户量与每用户每月交易量这两项指标。

目前只有约 20 款 DApp 每月拥有超过 1000 名唯一身份用户。我们假设要计算的 DApp 属于这 20 款之中,即每月拥有 1000 位真实用户。活跃用户的日均交易数量为 6 笔。而根据常规情况,假定每位用户每月有一半时间访问该项目,这意味着我们的全年交易总量约为 1000 x 6 x 0.5 x 30 = 90000 次。听起来还不错。我们以此条件来计算下在各类高人气智能合约区块链上部署并运行此类应用所需要的成本。

以太坊

在以太坊区块链当中,作为开发人员,我们只需要按实际合约部署量付费。大家的用户则需要为与合约相关的所有交易操作付费。根据以太坊发布的黄皮书(〈The Create and CodeDeposit opcodes〉)中附录 G 部分的说明,部署一份合约的最低费用为 32000 gas,外加每字节源代码 200 gas。举例来说,为了创建 CryptoKittiesCore 合约,作者大概需要支付 376 万 9599 gas,外加 4.1 Gwei gas 费用,总金额为 4.64 美元。目前该区块链的 gas 限额为 800 万,因此 10 Gwei gas 的价格约为 0.08 以太币,即 24 美元。换言之,即使大家需要同时利用多项交易部署合约,您的交易成本也不会高于约 0.3 以太币 /100 美元。

如前所述,用户必须付费才能运行智能合约,下面,让我们看看用户一方一年之内的使用成本。9 万次交易将带来约 90 以太币 /27000 美元成本,这意味着每次交易的平均成本约为 0.001 以太币 /0.03 美元——具体取决于交易进行时的实际 gas 价格。如果您的 DApp 属于交易所那类对执行时间要求很高的类型,那么 gas 成本可能会很高。但如果您的 DApp 能够接受在提交数小时后才执行完成,那么交易成本则会大幅下降。

在使用以太坊的情况下,您的总体成本将由部署 + 运行成本(由用户支付)构成,且年均支出大约为 90 以太币 /27000 美元。

EOS

与以太坊相反,EOS 区块链用户无需为智能合约的使用付费。但大家必须放弃自己的 EOS 代币才能保证智能合约拥有必要的带宽资源、CPU 以及存储空间。此外,RAM 非常珍贵,因此存在着相关内部市场,用户必须在这里购买 RAM 容量才能使用 ; 当然,用完后您可以转手出售。目前,EOS 的 RAM 资源存在巨大的价格波动。

由于需要首先购买 EOS 代币才能加入,并在使用后进行转售,因此我们很难准确计算 EOS 的服务成本——实际上,单凭转售获利也是完全有可能的。但需要强调的是,为了运行 dApp 而购买 EOS 代币可能会给您带来可观的前期成本压力。

要在 EOS 上部署智能合约,您需要为其购买对应的 RAM 资源。任何正常的智能合约都至少需要 1 MB 内存资源,价格约为 120 EOS/600 美元。

在 EOS 当中,开发者需要为每个用户帐户付费。为了向每位用户提供 4 KB 内存,1000 用户的场景至少需要 4000 KB 内存。根据 EOS Resource Planner 网站的当前结果,相关成本大约为 508 EOS/2611 美元。

应用程序开发者需要支付帐户创建成本以注册新用户。传统企业一直在广告宣传及免费服务等领域投入大量资金,用于吸引更多新用户。相比之下,新区块链帐户创建带来的成本显然微不足道。– 摘自 EOS 技术白皮书

用户已经有了帐户之后,他们可能需要存储数据。这部分成本也得计算在内。用户数据的大小取决于应用程序类型。如果您的应用程序中涉及大量字符串,那么用户数据规模也将快速增长。这里我们假设最低内存使用水平,即将每位用户的数据拟合为 1 KB 大小,那么 1000 位用户的总内存需求为 1 MB,成本约为 120 EOS/600 美元。

用户数据已经计算进来。接下来还有 CPU 与带宽。同样,交易所使用的 CPU 及带宽资源量取决于交易的实际类型。除了您所运行的 DApp 之外,这两项指标亦与网络条件有着很大关系。如果有人通过交易向网络发送垃圾邮件,那么您的交易将因 CPU 使用量限制而失败。这里,我们假设 10 EOS 即可覆盖单一用户的需求,那么 1000 名用户大概需要 10000 EOS/50000 美元。

EOS 与以太坊的不同之处在于,您实际不需要付费以运行 DApp 本身。换言之,在开发完成之后,您可以直接将其部署在 EOS 当中并加以运行。这肯定是种颇具吸引力的模式,当然前提是大家愿意购买代币支持 EOS 区块链。

那么运行 EOS DApp 的年均支出是多少?部署成本加上前期运行成本约为 10628 EOS/55000 美元。当然,大家可以随时转售自己持有的 EOS 代币。但遗憾的是,我们没法判断一年之后其实际价值如何。如果您对 EOS 抱有强烈的信心,那么这种模式对您应该具有吸引力——毕竟您深信 EOS 的价值将逐年增长。如此一来,您的 DApp 不仅相当免费运行,甚至有可能带来额外的投资利润。

小结

很多人将区块链视为一种神奇的魔法,能够以极低成本解决一切难题。而事实上,区块链效能低下、昂贵且开发难度极高。那么,这是否意味着区块链技术没有实际价值?

当然不是。大家可能还记得拨号上网的年代,我们不仅需要忍受 64 KBps 的龟速,还得按 KB 支付网费。那时候,640 MB 代表着磁盘存储领域的尖端科技。成本高昂、效果糟糕,但我们是否该放弃努力?当然不是。随着时间的推移,如今我们拥有极高的网速以及几乎用之不尽的存储空间。相信技术的改进,也将使区块链变成成本低廉且易于获取的服务选项。

至于现在,用户、投资者与开发者则必须清醒地意识到,与传统应用相比,区块链交易的成本相当高昂。因此,只有金融、医疗卫生、房地产等具有高交易价值的行业才适合使用区块链技术。

DApp 的落地需要基于一个速度更快,扩展性更强,安全性更高的基础设施,即底层链,DApp 的发展依赖于底层链技术的创新。目前区块链的遇冷并不意味着没有未来,反而可以让我们好好反思,沉淀下来去关注技术本身,真正的去创新和突破,塑造区块链美好的未来。

查看参考链接:

未来的十年,是 DApp 的十年: https://www.jinse.com/blockchain/197761.html

效率与公平——浅谈古典 App 与 DApp 平台开发: http://www.huoxing24.com/newsdetail/2018051411552386651.html

How Much Does It Cost to Run DApp in 2018: https://hackernoon.com/how-much-does-it-costs-to-run-dapp-in-2018-87ee11fe1d5d

2018 年 9 月 05 日 19:001627
用户头像
Tina InfoQ高级编辑

发布了 356 篇内容, 共 186.7 次阅读, 收获喜欢 853 次。

关注

评论

发布
暂无评论
发现更多内容

并发编程Bug的源头-原子性

Java架构师迁哥

合约API跟单系统开发方案,智能合约跟单软件

13530558032

架构师训练营第 1 期第 9 周作业

好吃不贵

极客大学架构师训练营

一张图片一份文档,我想redis就到这里吧,剩下的只有实践了

小Q

Java redis 学习 编程 面试

Week 8 學習總結

--------世界中心---------

Week 9 學習總結

--------世界中心---------

Java程序员工作三年,月薪达到38K,只因他掌握了这七大技能树

Crud的程序员

Java 数据库 编程 架构

训练营第九周作业 1

仲夏

极客大学架构师训练营

React 灵魂 23 问

局外人

Java 前端 React

阿里内部“新鲜出炉”手慢无!首发面试终极指南V3.0,符合一线大厂面试知识点+面试题

Java架构追梦

Java 阿里巴巴 架构 分布式 面试手册

算法讲解|贪心算法的理解与分析

Java架构师迁哥

Redis 分布式锁原理看这篇就够了, 循循渐进

麻花不是花花

redis 架构 分布式 分布式锁

Week 8 作業

--------世界中心---------

2021年Java程序员请先把这几项硬技能熟悉掌握,再想着跳槽拿高薪

Java架构之路

Java 编程 程序员 架构 面试

奉劝各位准备面试的Java程序员耗子尾汁,赶紧扔掉网上那些千篇一律的面试题

Java架构之路

Java 程序员 架构 面试 编程语言

作业-第5周

arcyao

接口的幂等性的多重考虑,你会了吗?

moon聊技术

Java 接口

数字货币钱包开发源码,多币种钱包搭建app

WX13823153201

Week 9 作業

--------世界中心---------

数字货币交易所开发价格,深圳区块链交易所系统APP开发

13530558032

架构师训练营第 1 期 - 第九周作业

Todd-Lee

极客大学架构师训练营

MyBatis 面试题(附答案解析)

比伯

Java 大数据 编程 架构 面试

看“区块链”如何为外贸企业融资

CECBC区块链专委会

区块链 银行

接口测试之json中的key获取

测试人生路

接口测试

并发编程Bug的源头-原子性

996小迁

Java 程序员 架构 面试 并发编程

区块链钱包开发功能与优势,数字货币钱包APP开发

13530558032

交易所量化机器人搭建--市值管理机器人

13530558032

4年Java开发经验,从传统公司裸辞之后足足准备了3个月,终于拿到美团、京东、字节跳动等大厂offer

Java架构之路

Java 程序员 架构 面试 编程语言

MySQL 连接为什么挂死了?

Java架构师迁哥

网络冲浪信任危机频发,区块链能否破局?

CECBC区块链专委会

区块链 征信透明

第八周作业 1

Yangjing

极客大学架构师训练营

都说是下一个十年,DApp为什么还如此冷清?-InfoQ