在EOS网络上运行DApp的实际成本是多少?

上海东哥 DApp
2020-03-19 16:27:48

  在考虑将EOS去中心化应用程序(DApp)部署到区块链网络之前,作为一名开发人员和系统规划人员,您应该详细研究在公共共享网络上使用有限的资源运行基础设施的成本。在公共区块链网络上的存储成本和执行成本高于任何云提供商,如Amazon Web Services、谷歌云或Microsoft Azure。

本文假设您对EOS治理方案、它的资源分配模型、EOS代币机制和块生成器有基本的了解。

在任何EOS公共网络上,都没有按使用次数付费的定价模式,不像以太坊(gas费)或比特币(交易费)等其他区块链。对有限的区块链资源的访问由一个名为staking的机制控制,该机制允许在网络上拥有较高所有权的用户,因此系统合约上冻结的SYS代笔数量越多,对有限资源的访问就具有更高的优先级。

在一个EOS区块链网络,有限的资源是:

RAM—存储支持智能合约的内存数据库所需的资源。当一个新的数据行被添加到您的智能合约数据库表时,将消耗该资源。EOS使用Bancor协议算法根据供需情况调整内存价格。示例:存储用户代币余额数据库的RAM。

CPU—执行DApp业务逻辑的共享CPU时间。每次您在网络上执行一个交易时都会消耗这个CPU,这取决于智能合约定义的代码复杂度,因此交易运行的时间越长,消耗的CPU时间就越多。示例:将余额从用户A转移到用户B。

网络带宽——提交给智能合约的数据量。当您将交易发送到EOS网络时,将消耗此资源,这取决于您的DApp交易传输的数据大小。

为了使用公共资源,DApp开发者应该通过设置网络本地代币(SYS)或在动态市场中购买带有SYS代币的RAM来获取CPU和网络带宽。  CPU和网络带宽消耗表是在3天内累积的,因此dAPP开发人员应该根据静态存储的数据量、该期间的交易数和传输的数据量的比例对该期间的SYS代币进行风险投资。

为了降低这些可观的成本,EOS主网络和REX市场允许DApp开发人员租用EOS (SYS)资源30天,以使DApp的需求达到可承受的峰值。

更多关于REX市场的信息:https://eosrex.io/。还有类似的选择,比如chintai.io,但是机制很相似。

目前,有多个基于EOS的公共网络可以用来运行您的DApp,尽管我们将分析限制在以下公共网络:

EOS -是由块启动的原始主网。2018年6月2日。EOS是第一个也是最快的去中心化自治区块链,它鼓励它的代币持有者、投资者和开发者通过提案和投票来分享他们的声音,作为达成共识的一种方式。EOS币是网络系统的货币。

WAX‘——WAX是一个基于EOSIO的侧链,它允许任何人在任何地点、任何地点,立即、安全地向任何人交易数字甚至实物物品。WAX是公共网络SYS货币。

TELOS -是一个由TELOS基金会管理的EOS侧链,它希望授权去中心化自治社区,公平补偿主块生产者和备用块生产者,并为DAPP开发者提供一个负担得起的公共网络。TLOS是公共网络系统的货币。

每个EOS的网络带宽成本。输入输出网络

下表估计了每天运行100个交易(每个交易的大小为200个字节)的网络带宽成本。您的CPU和网络带宽消耗是在3天周期内测量的,因此每次您运行一个事务时,您的消耗都是在这段时间内累积的,并且在3天之后重新计算。

这是必要的CPU权益和3天的期限的带宽。

如上表所示,如果您的应用程序不需要通过网络传输大量的数据,那么所需的SYS投入将不会考虑到您的总体成本。

每KB的净带宽成本是根据以下公式估算的:

净价=(净桩数/可售净数)/ 3

注意:要了解SYS/KB/Day动态定价的计算方法,请阅读“我们如何计算EOS资源使用情况”一文。

每个EOS的CPU成本。输入输出网络

EOS主网络上的CPU拥塞在过去几个月一直是一个热门话题,因为运行DApp事务的可用CPU数量随着EIDOS Airdrop带来的巨大CPU需求的增加而波动很大。

确保您在任何时候都有必要的资源来进行区块链网络提交,并且不向用户提供任何拒绝服务,这是非常重要的。

在下面的表格中,我们估计了SYS平衡所能支持的运行dAPP的数量,该dAPP每天需要在每个网络上执行100个交易。我们在2020年3月9日的价格上估计了SYS的最小数量。

 

另外,对于EOS主网络,我们估计了在30天内借出相同数量EOS/SYS的贷款成本(REX)。

CPU每毫秒的成本是根据以下公式估计的,我们使用一些块生产者来估计价格。

CPU价格= (CPU占用/可用)/ 3

注意:要了解SYS/ms/day动态定价的计算方法。

对于CPU带宽形状非常不规则的dAPPs,我们建议您通过在REX市场上租借SYS来处理CPU需求高峰。这种方法将极大地减少系统自身的平衡,以便在不中断服务的情况下适应应用程序负载。

每个EOS的RAM成本。输入输出网络

内存成本是DApp资源,它主要贡献于您的DApp预算。每次您运行一个在智能契约数据库中存储新数据信息的事务时,所消耗的RAM数量就会增加,您的预算就会被消耗。

 

我们建议您优化您的智能合约信息存储,以占用尽可能少的空间。

除此之外,还可以找到一些机制和服务,比如IPFS或去中心化存储解决方案,以便将存储转移到更便宜的服务上。一旦您的DApp扩展,您可以假设运行服务所需的RAM数量将会扩展。

在TAIKAI上基于的是我们的运营指标,我们基于当前价格估算了EOS主机的RAM需求和RAM获取成本。(声明:作者是 TAIKAI科技的首席技术官及联合创始人)

 

每个EOS的帐户获取成本。输入输出网络

DApp用户会希望尽快使用你的DApp。事实上,95%的人根本不知道他们将要与任何区块链进行交互。

为了实现这一目标,DApp开发人员可能需要为新用户登录所需的网络账户付费。在下表中,我们估计了建立一个具有4KB RAM的EOS帐户所需的成本。

 

一些DApp使用不同的方案来避免这一成本,比如支持虚拟账户,使用分级账户方案等。我们鼓励您找到一种适合您的DApp并避免软件集成问题的方法。

总结

必须计算运行DApp所需的网络代币(EOS、TLOS、WAX)。您的智能合约将需要数据库空间来节省用户数据和CPU带宽,以满足您的流量需求。

同时,也开始列举在此分析中列出的各个网络上运行的优点,并权衡您的决定。从一个网络迁移到另一个网络是不容易的,所以请慢慢做决定。

如果选择一个EOS边链,实际成本会显著降低10-50x,但是一旦这些网络有了更多的需求,EOS网络和边链之间的成本差就会减小。用于计算RAM价格的Bancor算法将对帐户获取成本和存储信息所需的操作RAM产生影响。

存储价格、CPU和EOS帐户获取可以显著增加您的基础设施成本,一旦您的dAPP开始板载和规模更大的用户数量。

一些dAPP将某些交易成本转嫁给最终用户,然而,这种机制需要谨慎地实现,因为一般消费者可能不理解它。

您只需进行计算并仔细计划,否则,您可能会陷入用户无法使用您的服务的情况,因为您耗尽了EOS资源。

· 成本=功能(CPU带宽占用,网络带宽占用)
· CPU带宽Staked =功能(SYS价格,dAPP需求,网络需求)
· 网络带宽Staked =功能(SYS价格,dAPP需求,网络需求)
· RAM成本=功能(SYS价格,dAPP需求,RAM市场)

在TAIKAI上,我们试图根据从我们在公共EOS 测试网上的操作中检索到的度量来估计成本。

我们还使用了一些s型需求曲线来预测需求随时间的变化,并估计了扩展业务所需的资源。


本文地址: https://www.xiguacaijing.com/news/DApp/2020/19587.html
声明:本文经授权发布,除注明来源外,均为西瓜财经用户投稿,不代表西瓜财经立场。转载请注明:西瓜财经(xiguacaijing.com)
提醒:投资有风险,入市需谨慎。若内容涉及投资建议,仅供参考勿作为投资依据。谨防以“区块链”名义进行非法集资。
赞助商