文字及数据 | Carol 视觉设计 | Tina 编辑 | Tong
自去年下半年起,DApp如雨后春笋般一个接一个冒出,每月新增数量已经呈现指数级增长趋势。DApp Total数据显示,截至1月23日,ETH上共有349个活跃DApp,总活跃用户超过3万,日均交易次数接近5万笔。而EOS上共有219个活跃DApp,总活跃用户超过8万,日均交易次数超过350万笔。显然,虽然ETH是最早可供开发的公链,但EOS才是目前最受开发者欢迎的公链。
这些数据让DApp看起来像是那只不畏熊市,在寒冬里站上风口的“猪”。对于跃跃欲试想要抓“猪”机会的DApp开发者而言,布局一款DAPP产品,需要多少成本呢?应该选择基于哪条公链开发呢?
ETH:最低2美元可布局
最高成本千元上下 游戏开发者出手最阔绰
在ETH上操作任何一种操作都需要支付Gas费,每一次操作都是调用的合约的过程,合约不同需要支付的Gas费也就不同。
Gas费模式意味着在ETH上,谁主张交易谁承担费用,所以在ETH上布局一个DApp,理论上开发者仅需要承担布局合约的费用。在ETH上开发一个DApp的成本=合约个数*(32000gas+200gas/B*DApp智能合约大小)*(Gwei*0.000000001)
根据计算公式可以看到,DApp智能合约的大小与设置的Gwei值是影响成本的两个因素。前者与合约的复杂程度有关,也可以理解为和DApp使用的复杂程度成正比,后者与开发者希望多快上线合约以及上线合约时以太坊的拥堵程度有关。
PAData根据DAppReview对ETH DApp的排名,观察了其中用户数量前10的DApp部署合约的开发费用,发现在ETH上布局一个Dapp平均需要12个合约,除去三个市场类DApp无法找到合约创建时的花费以外,其余7个DApp的平均开发费用为56.76美元,最高在150美元左右[注1]。
从DApp的类型上来看,布局游戏类DApp需要的智能合约最多,其中区块链萌宠一共上线了35个合约,以太小精灵上线了32个合约,云斗龙上线了22个合约。可见目前在ETH上运行的DApp游戏比其他类型的DApp在玩法上复杂很多。这也直接造成游戏类DApp的开发成本较高,以太小精灵以总计152.9美元的开发成本位居观察范围内DApp之最,其次是云斗龙,开发成本为109.8美元。
而抽奖类、风险类和市场类(比如交易所、钱包等)的DApp普遍使用方法比较简单,这6个DApp加起来的合约总数都比上游戏类DApp的平均值。开发这些类型的DApp普遍成本较低,最低只需2.1美元即可,最高也只有不到55美元。
但在统计各个DApp上线合约时设置的Gwei时,PAData发现大部分合约都设置了较高的Gwei值,在总计120个合约中,有89个合约设置的Gwei值都高于当前大多数交易的Gwei值2.1[注2],其中最高的一个合约设置了61个Gwei。大多数开发者都为了让合约尽快上线而付出了较高的Gas price[注3]。
开发者开发不同类型的DApp有着明显不同的Gwei设置偏好。从上图可以明显看出,游戏类DApp开发者是设置Gwei值最不手软的人,换言之,他们也是最有钱的开发者。超过20个Gwei的合约全部都来自游戏类DApp。其次抽奖和风险类DApp开发者设置的Gwei也比较高,而市场类DApp开发者可能是最不着急合约上线的人,他们设置的Gwei值普遍低于2。
EOS:租赁市场风生水起
熊市开发DAPP成本平均4000美金
EOS主打免交易手续费,但需要用EOS购买或抵押以获得交易所需的资源。这些资源包括RAM、CPU和NET。不同于ETH将运行费用完全转移给用户,EOS的原则是谁主张资源谁出钱。
其中,RAM需要开发者以EOS购买,RAM的购买价格由市场决定。EOS于去年7月对RAM机制进行了修改,即在原来64GB内存的基础上,每出一个区块,RAM增加1KB,按照EOS每秒出两个区块的速度,每年将会增加60G。
CPU和NET则需要用户以EOS抵押换得,当不使用时可以赎回。抵押的EOS数量与实际获得的CPU/NET带宽按比例浮动,即以用户当前所抵押的EOS数量占全网抵押总量的比例实时计算获得的CPU/NET,随着全网抵押总量的变化,用户能获得的带宽也会随之浮动。
由于这种不确定的浮动,造成时常“有EOS游戏的CPU爆了”这样的新闻出现。DAppReview的创始人Vincent在接受PANews采访时就说:“我遇到过太多次,玩游戏玩着玩着突然卡住了,然后一看自己CPU够啊,但一看游戏合约,发现游戏合约的CPU不够了,然后只能去群里催开发者赶紧起床去抵押EOS,经常发生这种搞笑的事情。”
但是以目前EOS DApp运行所需的CPU和NET来看,如果开发者以自己的EOS真金白银地抵押,成本将会非常惊人。另一方面,市场上同时存在拥有闲置CPU/NET资源的人,于是,一个愿买一个愿卖的租赁市场就出现了、兴起了、繁荣了。据Vincent观察,“现在市面上的CPU租赁机构保守估计有十到二十家。”
因此,在EOS上开发一个DApp的成本=[合约数量*(合约所需RAM*RAM市场价+自己抵押CPU/NET的EOS+租赁利率*他人抵押的CPU/NET的EOS)]*EOS当时币价
影响EOS开发成本的因素要比ETH复杂很多,涉及到合约大小(不同大小的合约所需的RAM不同)、RAM市场价格、合约运行所需CPU/NET的多少、租赁利率、EOS的币价。
PAData根据DAppReview对EOS DApp的排名,观察了其中用户数量前10的DApp的开发费用后发现,EOS上用户量排名前10的DApp有一半都是抽奖类DApp,这些DApp上线的合约数量也比其他类型多,其中最复杂的一个抽奖DApp是Endless Game,上线了10个合约。而游戏、其他和市场类DApp都只有一两个合约。
从这里已经可以对比出EOS和ETH DApp生态的不同,ETH上用户量排名前10的DApp以较为复杂的游戏为主,而EOS则以抽奖类DApp为主。
具体来看单个DApp中每个合约的资源构成,PAData以FeeXplorer上1月23日RAM市场收盘价0.0576EOS/RAM为换算比率,计算每个DApp 已用于购买RAM的EOS数量,再对比自己抵押(开发者抵押)和他人抵押(租赁得来)的CPU和NET的EOS数量后发现,CPU是绝大多数开发者花费最多的资源,比其他两项资源的需求要大的多得多。
如果以EOS CPU交易市场Chintai上1月23日的收盘价来看,租赁他人1个EOS,需要支付0.05%个EOS的利率,再结合CoinMarketCap上EOS去年全年收盘价的中位数6.99美元的币价来看,虽然PRA糖果盒的成本已经高达18万美元左右,但这比其他大多数DApp的成本高出很多,应该来说,开发一个EOS DApp的成本大概在12000美元左右。
因为EOS DApp的开发受到币价的影响,如果按照熊市期的币价来看,这个成本还要低很多。根据CoinMarketCap1月23日的收盘价2.42美元来计算,成本最高的PRA糖果盒也只需64413美元,仅约为按去年中位数水平计算的1/3左右,在熊市开发一个EOS DApp的成本大概在4000美元左右,最低甚至只需要100美元。
可以看到EOS在二级市场上的币价波动对开发者而言是一个不小的机会成本,但Vincent觉得开发者不会在低点囤币:“我觉得开发者只能是看着用看着买。因为很难说什么时候是低价什么是高价,囤币这件事大部分人是无法判断时间节点的,只能是按需购买。”而且现在开发者主要依靠租赁节约成本,这也会稀释一点币价波动的影响。
经过PAData统计,相比币价浮动,租赁市场存在与否对开发者成本的影响更为巨大,尤其对那些需要大量CPU资源的DApp而言,比如游戏类、抽奖类的DApp。假设以去年全年币价的中位数6.99美元为计算参数,在不租赁,即完全由开发者用EOS去抵押的情况下,大部分DApp开发成本会大幅上升,EOSBet不租赁的成本甚至要超过200万美元,Endless Game和EOS骑士也将达到100万美元左右的成本。超过一半的DApp,不租赁的成本是租赁的2倍,这就是为什么租赁市场火爆的原因所在了。
选择EOS系别无选择
公链之争:技术、用户、钱
在ETH上开发一个DApp的成本仅是开发合约的费用,而DApp运行的成本全部有用户自己承担,而EOS上开发者要承担大部分运行成本。对于开发者来说,其实在ETH上进行开发的成本要比在EOS进行开发的成本低很多,那为什么EOS反而是当下DApp生态最火爆的公链呢?
Vincent认为由于目前整个行业还处于相对早期阶段,DApp的类型还是以博彩类为主,而这类DApp需要高TPS的链支撑,所以只能说EOS目前在这一品类上是比较有优势的,“现在对开发者来说也没得选择,但大家没办法,只能在EOS上开发。”
在选择余地不那么丰富的现阶段,成本可能还不是影响开发者选择公链的最主要因素,Vincent认为技术是影响开发者选择的基础因素,“公链必须达到一个技术上的基础水平,至少让开发者能部署,能上线合约。”
而且开发者还必须要考虑所开发的DApp类型和难易程度,因为“开发一些复杂的DApp,比如开发一些游戏道具或者让游戏资产上链,这些需要一些中间件的支持,以太坊有很多标准,比如ERC 721和ERC 1155,但EOS没有,开发者要做得自己去写一套,这是非常复杂的。所以很多海外开发者在以太坊上开发一些不同类型的游戏,比如策略类啊、冒险类啊,虽然比较凉,但至少有很多人在尝试,而EOS上除了EOS Knight,其他所有游戏基本上都是博彩。”
其次,用户是影响开发者选择公链的一个重要因素,Vincent认为:“开发者开发一个东西必须要有人玩才行,否则即使出现一个超级容易部署的公链,但这个链没人用,那开发者也不能赚钱。”而另一个重要因素则是钱。就目前而言,在各大公链都积极建设生态的情况下,好的DApp是有话语权的,“公链本身有钱才能够资助一些开发者,把一些好的游戏吸引过来。”正如Vincent所说,如果现在公链不拔点羊毛给开发者,他们为什么要放着既有用户也有钱的EOS和TRON不去,而要去别的公链上开发呢?
注解
[1]如果DApp超过一半的合约无法找到合约创建时的费用则该DApp全部合约的费用记为0,在后续分析中予以剔除;如果DApp少于一半的合约无法找到合约创建时的费用则以该DApp剩余合约的平均开发费用作为缺失值,计入后续分析。
[2]当前交易的Gwei值参考ETH Gas Station1月23日的数据。
[3]Gas费包括Gas Limit、Gas Used和Gwei这三个维度。用户每一次发起交易时都需要设置Gas Limit,这表示用户愿意为这笔交易支付的最高Gas值,Gas Used则表示在交易中实际耗费的Gas值,Gas Used一定是小于等于Gas Limit的值。如果把交易比作开车,那么这两个值代表了油耗,一个是预期油耗,一个是实际油耗,而Gwei则与油价相关。在ETH中,Gwei也需要用户自行设置,1 Gwei恒等于0.000000001 ETH,这就是Gas Price。用户设置的Gwei越高,相当于支付的油费越高,矿工打包交易的收益越高,所以交易达成的速度就会越快。做一每一次调用合约的Gas费就等于Gas Used*Gas Price。
根据以太坊黄皮书The Create and CodeDeposit opcodes附录G显示,部署合约的最低最少需要32 000 gas,加上每字节源代码200 gas。