区块链如何满足实时dApp的要求
扫描二维码
随时随地手机看文章
正如在将计算机用于主流用途之前需要用户友好的软件一样,dApp(更确切地说,实时dApp)是运行在区块链上的软件,它将帮助区块链成为用户的主流产品。请记住,在Windows和图形用户界面出现之前就有计算机了,但那时的计算机使用起来非常的困难,使用这些计算机的人数也很少。区块链和分布式分类账技术(DLT)目前还处于起步阶段,它们还没有适用于用户友好的软件来帮助公众与它们进行交互。但据报道84%的公司都在关注区块链,如果你是一名程序员,那么实时dApp可能是你职业生涯的方向。你可以把这篇文章当作你未来的速成课程。
实时dApp技术要求
对于那些已经了解dApp的人来说,这将是一篇复习性文章。但对于那些正在阅读这篇文章但对这个主题知之甚少的人来说,这一部分是为你们准备的。但是在进一步深入探讨之前,我们需要讨论dApp的基础知识。根据David Johnston和他的同事说, dApp的资质如下:
· 应用程序的数据和操作记录必须以加密的方式存储在一个公开的、分散的区块链中,以避免任何中心点的故障。
· 应用程序必须是完全开源的,必须自主操作,并且没有实体控制其大多数代币。
· 应用程序必须使用加密货币(比特币或其系统自带的代币),这是访问应用程序所必需的,来自矿工的任何价值贡献都应该在应用程序中得到代币奖励。
· 应用程序必须根据作为对应用程序作出贡献的值节点的证明标准加密算法生成代币。
我们在前面解释过,dApp运行在区块链或其他DLT之上是为了使应用程序更易于访问。但大多数现代dapp还远远不能实时运行。
为了让某样东西能够实时运行,就像它的名字所暗示的那样,它必须在尽可能短的时间内发送、接收和验证信息,最好不超过一秒钟。当讨论“实时”应用程序时,通常会出现一个关键字:服务器推送。这些服务器推送在现实世界中经常使用;在手机上追踪Lyft/Uber的位置,在iMessage上给朋友发信息,在网上玩多人游戏。
实时dApp将dApp与服务器推送技术结合到一个分散的过程中。实时dApp不依赖于所有东西都通过中央服务器,而是依赖于区块链或其他DLT来实时处理所有数据的智能合约。当你看到当前主要区块链的平均交易速度(比特币- 78分钟,Ethereum - 6分钟,Ripple - 4秒,比特币现金- 60分钟,EOS - 1.5秒)的能力时,你会发现这些距离“实时”能力有多远。为了更好地理解这些数字,以下是实时技术的一些常见用途及其服务器负载(不考虑实际数据大小):
· WhatsApp - 637,000 Tx/s
· Telegram - 174,000 Tx/s
· Fortnite-1.66亿Tx/s
毋庸置疑,目前主流的去中心化技术无法承受实时技术所需要的负载,这也是行业被迫创建新技术和替代链的原因。
DApp的结构和对新链的需求
大多数Dapp都是使用特定的公式构建的,在这里我们将使用Brendan Lee的“我们在构建第一个以太坊Dapp时学到的东西”媒体文章作为例子,在文中他解释了他们使用的技术堆栈。你可能知道也可能不知道这些技术是什么,所以我们在这里为你详细介绍:
· Solidity是以太坊的主要编程语言,而智能合约为以太坊链上的dApp创建了“服务器”。
· IPFS是一种分散存储选项,允许用户将其存储需求分散到一系列节点上。
· 正如Lee指出的,Truffle和Ganache是测试框架。设想这是一个等价于以太坊的Microsoft Visual Studio c++测试。
· 所有这些都是前端开发语言,根据程序员的需要而有所不同,很像JS、Ruby、c++等。
· MetaMask是以太坊使用的一个钱包,因为需要一个钱包来资助运行dApp的节点(以及存储数据的IPFS节点)。还必须持有dApp用户所接受的资金。
上面提到的当前结构是针对传统dapp的,虽然实时dapp是类似的,但有一个关键区别是:它们交互的链必须比以太坊快。
哪些区块链满足实时dApp的要求?
目前市场上有一些替代方案可以完成运行实时dApp的任务,每个dApp都以自己独特的方式提供服务。让我们看看。
Loom 网络
Loom依靠以太坊作为基础,同时在其上建造侧链。这意味着以太坊是主链,Loom创建侧链,这些侧链与以太坊一起检入,以借用其安全协议,同时允许进行大规模扩展和更大的Tx/s。Loom是以太坊之上的第2层区块链,运行他们称为“dappchain”的程序,这些程序使用替代的一致规则集。
链速:小于1秒批准时间,Tx/s 1,000,000+
综上所述: Loom网络与以太坊共存,当需要解决纠纷时,与以太坊交互检查,但在其他方面保持独立。这允许不到一秒的交易批准时间,极低的价格,以及实时dApp在Loom侧链上运行的能力。
MetaHash
MetaHash在dApp支持方面为以太坊提供了一个完整的替代方案。这是通过专注于四个组件:# TraceChain(基于自学习算法,将成长为更高的带宽节点被添加到网络),# MetaApps(dApps和实时dApp的版本),# MetaGate(包含开放源代码允许开发人员创建dApps和# TraceChain特性)以及# MetaHashCoin(网络的数字付款货币用于共识协议)。
链条速度:3秒内通过,Tx/s 5 - 1,000,000+
总结:当考虑到TraceChain的速度和事务审批时间时,MetaHash是一个可靠的选择;然而,它们完全独立于以太坊运作的事实,可能会在未来会造成一定的问题。
Zilliqa
Zilliqa是一个可伸缩的、矿商支持的、和可分片的区块链选项,适用于智能合约和dApp。Zilliqa的Tx/s基于分片的频率,本质上意味着可能的事务量随着网络和节点大小的增加而增加。尽管Zilliqa比以太坊、比特币等快得多,但除非分片节点极其依赖,否则它很难跟上实时dapp的高强度。目前它使用ERC20协议,并在以太坊上运行,但他们的目标是在未来拥有自己的区块链。
链速:2分钟批核时间,最多~ 10000 Tx/s
简介:Zilliqa肯定会有它的用途,但是在实时dApp的更大的方案中,它将努力跟上它较慢的块审批时间。
我们现在的定位
如果您是一位创始人,正在寻找下一个dApp项目的基地,那么答案就有点含糊了。这取决于您的需求:您是否需要每秒处理数百万个事务,您是否介意处理以太坊网络?如果是这样,可以考虑使用Loom。但是,如果您希望扩展并采用完全重写的解决方案,而不带过去的问题,那么MetaHash是您的理想选项。
最后,最重要的事情是回顾过去浮华的营销活动,深入技术细节,以确保项目建立在可靠的代码之上。正如我们前面所说的,这项技术还很年轻,所以随着时间的推移,可以期待区块链/DLT领域带来更多的变化。