BM:两大方式可解决EOS CPU资源短缺问题

巴比特 2018-12-13 16:07 3.33万
分享
译者前言:对于EOS而言,当前最需要解决的问题就是CPU资源的短缺,其生态里的很多组织也因此推出了CPU租赁服务,然而,这一解决方案也只是治标不治本,而对此,EOS创始人Daniel Larimer在其最新发布的文章《开发有效的合约》中提到了两种解决方案,一是增加CPU容量,二则是应用开发人员需编写更有效的合约来减少对CPU的需求。

er

 (图片来自:bytemaster)

以下为译文:

EOS区块链用户面临的主要挑战之一,在于CPU资源的短缺问题。有两种方法可以解决这种稀缺性问题:通过提高效率来增加CPU容量或降低CPU需求。Block One正在努力增加容量,另一方面则是应用开发人员需编写更有效的合约来减少对CPU的需求。

我最近审查了一笔只有单一活动的交易,其生成了28个子活动。这些子活动包括10次传输(以及给发送者/接收者的相关通知),3笔发布活动,以及4个相关合约之间的通信。

这一应用的设计使用了大量拷贝而来的代码来作为其token合约,其结合了大量涉及EOS和DICE token的原子微支付。这种模块化设计具有一些安全好处(这使得token在智能合约管理下的时间量最小化),但是它是以大量CPU使用为代价的。每个操作必须设置和拆卸自己的执行环境,验证自己的权限,并执行其他冗余计算。所有被告知的操作,都需要消耗5.37 ms 的CPU时间(平均每个内联操作消耗0.2ms)。

而通过以下改变,我们可实现相同的效果:

  1. 将独立合约(betdicetokenbetdicegroup以及betdicelucky)合并为单个合约。
  2. 一旦合并之后,所有合约间的通信都可以消除。DICE token可以在不创建任何内联操作的情况下实现发行,并存入各个账户持有人的余额当中。
  3. 允许用户用betdicegroup维持存款余额。通过这种方式,用户可存款一次,押注多次,取款一次。这将消除多次与eosio.token合约通信的需要。用户账户余额可在betdice合约内部快速而有效地更新,而不必为每次小额支付通知发送方/接收方。

在应用层进行少量优化之后,我猜这个骰子游戏所需的CPU可能减少80%或更多。在CPU时间用完之前,用户可较之前玩5倍的游戏。

在不久之后的EOSIO升级中,我们将使应用程序开发人员能够按每笔交易支付CPU,这意味着用户不需要任何CPU资源来玩游戏,并且开发人员可通过其他方式货币化CPU使用。在当前世界,有效的合约开发将减少80%或更多的应用开发人员的资本成本。而今天的应用程序将这些成本推给了用户,用户必须购买或借入股份才能使用应用。

现在是应用开发人员开始仔细考虑其设计效率的时候了,否则他们将被更有效和更具成本效益的替代方案所超越。

英特尔、苹果和微软只能通过改进硬件和操作系统来提高应用程序性能。最大的性能收益,掌握在应用程序开发人员手中,这同样适用于区块链应用。

本文来源:巴比特 原文作者:巴比特 责任编辑:孟超
声明:本视频由入驻奔跑财经的专栏作者制作,观点仅代表作者本人,绝不代表奔跑财经赞同其观点或证实其描述。

评论

还没有人评论,快来评论吧

相关新闻

贝莱德旗下的比特币ETF IBIT资产管理规模达到138亿美元,即将超越GBTC

2024-03-28 15:12
BlackRock的比特币ETF IBIT有望很快超越GBTC,成为 ETF 历史上增长最快的 ETF。>
Coingape 6115

以太坊联合创始人Vitalik Buterin质疑元宇宙的未来

2024-03-28 14:26
在首尔举行的 BUIDL 亚洲会议上,Buterin 阐明了他的担忧,挑战了人们对元宇宙的普遍理解。>
BeepCrypto 6386

法院驳回SEC关于Coinbase钱包是未注册经纪商的说法

2024-03-28 12:46
美国纽约南区联邦地区法院驳回了美国证券交易委员会(SEC)关于Coinbase钱包是一个未注册经纪商的说法。>
CryptoNews 6757