前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EKT多链技术谈 | 效率与公平——浅谈古典App与DAPP平台的区别

EKT多链技术谈 | 效率与公平——浅谈古典App与DAPP平台的区别

原创
作者头像
风中凌乱的靓仔
修改2019-03-22 15:22:41
4930
修改2019-03-22 15:22:41
举报

摘要:区块链技术正在重构我们的世界。在第一代区块链账本(比特币)的基础上。以太坊加入了智能合约的概念。以太坊区块链被认为是区块链的2.0时代,如果说比特币区块链相当于PC操作系统的“DOS”时代,那么以太坊区块链则进入了“Windows95/98”时代。商业级Dapp的落地或者说区块链行业的发展需要基于一个智能合约速度更快,扩展性更强,安全性更高的基础设施,即底层链。区块链行业近期的主要发展趋势将会是底层链技术的创新。对于投资者而言,未来则将变成一场底层链争夺战。

【古典App的开发】

传统App的开发,倾向于强调快速迭代(fast iteration cycles)。作为一个开发者,你想要建立一个最小可行产品(minimum viable product)让人们测试,然后尽快释放更新版本的产品。像Facebook这样的传统App有一个座右铭:快速移动并进行突破。

首先我们来看看App的构成,一般一个完整的App产品包含服务端和客户端两个部分,没有服务端的App也有,像简单的工具类,单机游戏,但是非常少,从经营的角度考虑,为了积累用户和数据,大部分App都有服务端;客户端就是平常我们从应用商店下载到手机上的部分, 服务端一般提供数据读写存储,处理业务逻辑,进行图片,视频等资源存储,部署在服务器上,用户使用客户端通过接口和服务端进行交互,享受App提供的服务。客户端用户更能容易感知(大部分用户所理解的App,也就是客户端),实际上,服务端才是App中最重要的部分,从代码量上来说,一般一个客户端容量大小在几兆到上百兆不等,但是服务端往往会非常庞大,比如我之前工作的公司,每次更新代码量都在好几G,这还不是全部,所以在整个App产品中,客户端只是“小荷才漏肩尖尖角”中的尖尖角,大头是服务端,服务端会需求比客户端多好几倍的开发时间。

客户端需要根据手机操作系统来开发,不同的操作系统,有不同的要求,对于开发者来说,只需要满足主流的的操作系统即可,目前用的最多的操作系统分别为(如上图所示)苹果的iOS系统,谷歌的Android系统和微软的Windows Phone(简称为WP),目前iOS系统和Android系统占据了大部分市场,通常因为人力和物力有限,团队早期大多只能开发iOS版和Android版本其中一个,很难达到全平台全部开发,而且为了测试市场,大多数团队也会根据目标群体使用手机的特征,在iOS版和Android版中选择一个开发,以避免造成资源浪费。

尽管Android和iOS这样的平台方便了大家,也改善了贸易和经济,但它们也存在一些明显的缺点:

1)被平台束缚。参与的商家受制于拥有平台的企业。在任何时候,平台拥有者可以自行决定在是否对某个APP进行封号处理,而如果APP严重依赖于平台,那么账号被封就是一个巨大的打击。

2)平台抽成费用用高。团队上架APP要交费,售出增值服务也要交佣金。收费本身并没有错,毕竟iOS这样的平台提供了服务。但是,上架费有时太高了,这导致商家最后盈利很少,或是将成本转嫁到消费者身上。

3)数据失控。APP或消费者都无法拥有本应属于自己的数据。评论、购买历史等等所有数据都为平台拥有者所有。比如,如果一个APP想要换一个平台,或者想要导出APP评论或是其他数据都非常不容易,甚至不可能。

在35年前,也就是1983年,史蒂芬·乔布斯就开始谈论现在已被大家熟知的APP应用商店的商业模式。那时候用户要使用一款应用,必须要先购买才能试用,面对这种落后的操作模式,乔布斯设想采用当时唱片行业的模式进行改进。他解释道“APP应用商店应该改变这种落后的模式,要让大家像唱片行业一样通过广播这个载体提前了解他们要买的唱片内容”。根据乔布斯的观点,在软件行业也可以使用同样的方法,即用户先试用APP,觉得满意再去下载。25年之后,2008年,苹果APP应用商店上线,其简单易用的「用户界面」被人所熟知,APP应用商店让开发者能够很容易地创建和上传他们的APP,让开发者可以获得收益,千百万人可以参与使用;同时,用户可以通过下载或者从APP应用商店购买来更新软件。

虽然APP应用商店对于移动设备来说,已经是一次革命,但乔布斯当初设想的像广播一样方便地发送到千家万户的愿望还远未实现。而如今已进入到了APP过剩、用户注意力稀缺的时代,不论是因为谷歌和Apple这样的大公司所形成的垄断,还是APP所存在的隐私泄露问题,都在暗示着第四次APP应用的变革已经来临。

互联网的开发平台来自于它基于一个简单的核心层,在这个核心层面上,连接着数亿万计的边缘设备。每个边缘设备都拥有参与功能(App)发布和内容发布的权利。App只是将人类思维通过代码呈现出来,因此具有几乎无限的设计空间。连接到互联网的计算机大体上可以随意运行所有者选择的任何软件。有了合适的激励机制,构想的任何产品或服务都可以在互联网上迅速传播开来。互联网架构是技术创造力和激励设计交汇的地方。

在21世纪头十年的后期,这种App开发的去中心化逐渐被垄断所控制,用户逐渐被迫参与“免费”的科技巨头营造的次级网络空间,在这个空间里,规则由巨头的算法指定。但是这种半垄断状态注定不能长久,新技术的萌芽总是在巨头的视野边缘,甚至是其视野之外。

所以互联网仍处于发展初期:核心互联网服务在未来几十年很可能几乎完全重新设计架构。这将离不开区块链网络的支持,这种网络脱胎于最初在比特币中引入,在以太坊中进一步发展起来的想法。社区管理的去中心化网络与最终超过最先进的集中式服务的功能结合,将是区块链网络将来引领下一代互联网的最佳特点。

【Dapp开发和古典App开发的主要区别】

在区块链行业生态当中,一个能够满足商业需求、高效的区块链公共应用平台是必不可少,并占有极其重要的地位。Ethereum的兴起以及在2017年的爆发性增长,为我们提供了一个绝佳的参考范例。以太坊作为区块链2.0,加入了智能合约,采用的仍然是POW算法(近期发布Plasma要转为POS)。号称要取代以太坊生态的EOS,则采用了DpoS。EOS在主网上线之前已经吸引近50个DAPP的入驻。

智能合约设计的是一个可以用来计算一切的分布式图灵完备机器,一个去中心化的应用平台,一个解决金融/财务纷争的预言机。早期的ETH在架构上为充分意识到scalability的重要性,全网资源共享,难以隔离。从以往经验来看,ETH在代币发售之时就经历了数次大面积拥堵,cryptokitties的流行就能够阻塞整个ETH网络的转账,随着区块链技术更加广泛的应用,线性处理压力正在面临超出其设计容量的风险。

Dapp的后端代码运行在去中心化的点对点网络。而传统app的后端代码运行在中心化的服务器上。Dapp有能够用任何编程语言写的前端代码,使得API调用后端。更进一步,它的前端能够运行在例如IPFS这样的去中心化存储上。

最大的区别在于在被推向生产之前代码能够被仔细检查的程度。在这一方面,Dapp的开发更像是硬件的开发而不是软件的开发。在硬件开发过程中,产品推向公众之前必须进行严格的测试和原型制造(rigorous testing and prototyping)。硬件的召回花费大量资金,需要很长时间修复,毁坏制造商的声誉。同样的,在Dapp的开发中,智能合约一旦被部署到主网,便不能够改变。一个智能合约的漏洞会使得用户损失资金,毁坏Dapp开发者的声誉。

Dapp和古典App的区别还在于:

2.安全性增强:小额的交易通过走底层区块链的方式,可以更好的隐蔽拥有大量存储价值的APP账户地址。

3.速度更慢:现在比特币/以太坊转账速度已经达到瓶颈,17年12月高峰时比特币主网曾经滞留20万笔未确认交易,突破了历史记录。大部分链上转账其实都是小额交易,把这部分交易走到侧链,既可以加快他们的转账速度,又可以减轻主网的压力。古典App则基本没有运行缓慢的问题。

4.智能合约:古典App完成的大多是功能性的开发,对于完善有效的仲裁机制未作深层次考虑。

5.数字资产托管:在根链和以太坊上都有这么一些机构。根链使用一种叫双向锚定的机制,将比特币锁定在某个公钥里,就是将比特币区块链当成了数字资产(即比特币)托管所。而智能合约里面的其他数字资产和智能财产都需要某种代码或某种区块链来保管。资产托管在古典App上也未见应用。

区块链是一个能够保证输出可信的系统。去中心化系统容量天生不如中心化系统,所以,需要高容量的应用,可以根据需求选取中心化程度较高去中心化程度较低的区块链系统,基本上,所有的所谓大容量高并行低延迟的区块链系统,其实都有某种程度上的中心化,中心化程度越高越快。同互联网一样,区块链提供的也不是完全的去中心化,而是,你可以用它在任何层面,进行任何程度的去中心化。所以,你对容量需求高,就需要少去中心化一点好了,至少在可靠性上,它可能会比完全中心化的系统强。

然而,不得不承认的是,整个区块链行业还处于一个在初期完善基础架构的阶段,现阶段阻碍区块链大规模应用的最大障碍存在于技术上。Ethereum的机制以及运行效率,目前还很难支持一个庞大的去中心化商业应用生态。

【效率与公平】

公链是区块链发展的前提基础,也是区块链行业未来发展的核心保障。而目前区块链的发展现状是,底层公链的性能尚未发展起来,在其上构建的各类DAPP严重受限于性能。因此,我们预计2018年区块链行业的发展,仍以底层公链为重心,各公链在性能、可扩展性和应用性上将继续角力的局面。底层公链是一切的基础,使用网络编程、链式或TAG数据结构、加密算法、数据存储等技术来构建区块网络,通过共识机制和分配机制,实现节点网络的正常运行。从过去到现在来看底层公链的发展,可以将之分为三个阶段:

A. 以比特币BTC为代表的区块链1.0时代,通过建立区块网络,开发钱包,实现基础数字货币的功能(转账、支付)。

B. 以以太坊ETH为代表的区块链2.0时代,通过智能合约的方式,承载部分商用(如ICO)开发和业务拓展(分布式DAPP应用)。

C. 以EOS为代表的区块链准3.0时代,通过高并发量、高性能、可拓展性,为区块链技术的商用及大规模推广构建了基础。(准3.0和3.0是有区别的,目前的这些区块链项目及技术还处理理论认证及测试阶段,还没有成熟到在大规模商用阶段;除此之外,这些项目在共识机制、扩展性能方面都有一些不足,我们无法确定是否是未来真正的3.0版本,所以暂时定义为准3.0)

现在看来,Dapp平台在效率与公平上还无法找到一个恰如其分的平衡点:

1. 处理效率低。目前成功落地的底层链都存在效率低、资源占用不合理问题,比特币的5TPS、以太坊的25TPS跟VISA的1300TPS几乎没有可对比性。EOS、Qtum的上千乃至过百万TPS由于没有实际落地现在不做讨论。所以,目前公链并不适合商业化应用开发,如果借用其中几个技术(不涉及实时交易)倒是没有问题,比如积分交易、版权分享等。

2. 难以进行资源隔离。ETH没有scalability的架构,从以往经验来看,ETH在代币发售之时就经历了数次大面积拥堵,cryptokitties的流行就能够阻塞整个ETH网络的转账,随着区块链技术更加广泛的应用,线性处理压力正在面临超出其设计容量的风险。随着链上DAPP运行压力的增大,许多应用都在设法离开以太坊平台。

3. 主流共识机制在效率。公平,安全方面难以兼得。区块链平台在以去中心化已经密码学加密的安全性能著称的同时,面临的最大挑战就是性能问题。一些新型的底层链平台提出了一些解决性能问题的方案,但又都必须在去中心化程度上做出让步。

4. Dapp运行速度问题。目前比较成功的(用户较多的)Dapp比如DEX(去中心化交易所)或者加密猫,都面临速度缓慢的问题。因为应用需要获取基于底层平台链的转账,并且每一步操作都需要矿工来确认,所以这样几秒到几十秒一个步骤的使用体验并不佳。

在这样的情况下,我们判断,虽然以太坊极其成功地普及了链上智能合约的技术并建立了包含各类区块链应用和 ERC-20 代币的庞大生态,但它远未发展为能够满足现实商业需求的应用平台。限制它商业发展的阻碍存在于其技术机制。

显然 EOS 能够解决Ethereum一些的问题。EOS 的 DPOS 共识算法和石墨烯底层工具组能够满足每秒上万次,甚至每秒上百万次交易请求的企业级应用需求。EOS软件也提供完善的账号系统,可以帮助开发者快速开发自己的DAPP,而如果要在以太坊上开发DAPP,则需要花更多的时间去开发底层模块。

时至今日,底层公链依然处在非常薄弱的境地,尚且无法实现真正的安全、可靠和高效。到目前为止,对于目前整个数字货币领域而言,基本是遵循“底层公链 → 解决方案 → 项目应用”的发展逻辑。底层公链相当于区块链世界的基础设施,解决方案用来拓展底层公链的性能或为商业应用提供服务支撑。只有在底层公链扎实稳健高效运转的基础上,区块链商业应用才能发展和落地。公链在整个区块链领域的重要性和必要性,由此可见一斑。

目前互联网产品设计思路是“小步快跑、高速迭代”,这个方式在纯Dapp应用中应该会出现较大问题。简单来说,现有的APP都基于自有服务器,重大问题迭代强行刷新版本即可。但Dapp基于分布式的区块链网络,一旦提交上线出现核心bug很难迭代(基于现有资料,可能未来会有完美解决方案,技术总是不断在进步)。虽然我提到智能合约不算Dapp,但是还是拿“The DAO”来举个例子,The DAO的核心漏洞如果是中心化处理,只需要下线更改Bug即可,但是以太坊却只能以硬分叉解决。这就是Dapp与现有APP设计思想的不同,在MVP1.0的调研阶段,一定要确认核心机制不出意外。

虽然大多数公链项目都会提出高TPS,高可用性,高扩展性,跨链等标配指标,但在区块链底层框架世界,解决性能、去中心化程度、和安全度这个三角问题,还是一个需要跨越的巨大障碍。

【结语】

对于用户来说转账速度、操作顺畅、高可用性是对Dapp关注的重点。考虑到公有链在区块大小、转账速度、手续费方面的局限性,Dapp平台需要在其上打开一个快速流动的通道。但由此引发的关于中心化/去中心化的社区争论也长期难有定论。Dapp平台的意义在于能够建立好方便开发者使用,用户体验友好的去中心化基础设施,但其稳定性和转账、应用操作速度仍然是用户现在使用的最大障碍。一些新型公链例如TON或EKT提出了多链的观点,也许将不同的工作链在处理交易的过程中承担着不同的角色,对于不同形式的账户地址、不同的交易形式、不同的智能合约虚拟机甚至不同的虚拟货币结算方式都有着不同的工作链对应处理,实现在不同的工作链中统一的交互标准,可以更加兼顾Dapp在平台上使用时的效率与公平性。

Dapp平台总体来说在今年还处于未见曙光的黎明,有一些爆红一时的游戏类Dapp吸引眼球,但由于底层生态不明朗,标准尚未统一,并且性能也不够好,以太坊只有不到20的tps,任何交互都需要交易费。但作为价值投资笔者认为这是大多数行业早期一定会有的局限性,而放弃去认知一个全新的市场和机遇,可能五年后你会再一次感叹自己错过了一场价值投资。

古典互联网的协议都是开源免费的,所以在互联网世界里巨头们把持着应用层。从古典互联网到区块链,由于激励机制的存在,在区块链世界里,底层公链是最大的收益者。因此区块链的代码贡献者和使用者更加关注底层公链的技术和生态。笔者认为作为Dapp平台的底层公链将是现阶段区块链行业攻关和关注重点。各个公链在可扩展性,应用性,共识哲学以及应用生态建设上的角逐将持续。

参考阅读:

20170528 阿希(ASCH)系统,升级版的以太坊

20170708 Vitalik给R3提供的跨链技术报告

20180108 基于区块链最有前景的分布式应用(DAPP)

20180109 深度解析:区块链跨链技术

20180104 我眼中的价值币——公链

20180203 统计了一份国内公链的简表

20180505 底层公链最后的疯狂!Plus,卖出EOS前你要问自己的问题

20180507 区块链Dapp平台分析

Vitalik Buterin 《Chain Interoperaability》

《Ethereum whitepaper》

《EOS whitepaper》

《EKT whitepaper》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档