译者前言:对于EOS而言,当前最需要解决的问题就是CPU资源的短缺,其生态里的很多组织也因此推出了CPU租赁服务,然而,这一解决方案也只是治标不治本,而对此,EOS创始人Daniel Larimer在其最新发布的文章《开发有效的合约》中提到了两种解决方案,一是增加CPU容量,二则是应用开发人员需编写更有效的合约来减少对CPU的需求。
(图片来自:bytemaster)
以下为译文:
EOS区块链用户面临的主要挑战之一,在于CPU资源的短缺问题。有两种方法可以解决这种稀缺性问题:通过提高效率来增加CPU容量或降低CPU需求。Block One正在努力增加容量,另一方面则是应用开发人员需编写更有效的合约来减少对CPU的需求。
我最近审查了一笔只有单一活动的交易,其生成了28个子活动。这些子活动包括10次传输(以及给发送者/接收者的相关通知),3笔发布活动,以及4个相关合约之间的通信。
这一应用的设计使用了大量拷贝而来的代码来作为其token合约,其结合了大量涉及EOS和DICE token的原子微支付。这种模块化设计具有一些安全好处(这使得token在智能合约管理下的时间量最小化),但是它是以大量CPU使用为代价的。每个操作必须设置和拆卸自己的执行环境,验证自己的权限,并执行其他冗余计算。所有被告知的操作,都需要消耗5.37 ms 的CPU时间(平均每个内联操作消耗0.2ms)。
而通过以下改变,我们可实现相同的效果:
betdicetoken
、betdicegroup
以及betdicelucky
)合并为单个合约。
在应用层进行少量优化之后,我猜这个骰子游戏所需的CPU可能减少80%或更多。在CPU时间用完之前,用户可较之前玩5倍的游戏。
在不久之后的EOSIO升级中,我们将使应用程序开发人员能够按每笔交易支付CPU,这意味着用户不需要任何CPU资源来玩游戏,并且开发人员可通过其他方式货币化CPU使用。在当前世界,有效的合约开发将减少80%或更多的应用开发人员的资本成本。而今天的应用程序将这些成本推给了用户,用户必须购买或借入股份才能使用应用。
现在是应用开发人员开始仔细考虑其设计效率的时候了,否则他们将被更有效和更具成本效益的替代方案所超越。
英特尔、苹果和微软只能通过改进硬件和操作系统来提高应用程序性能。最大的性能收益,掌握在应用程序开发人员手中,这同样适用于区块链应用。
2023-11-16 17:03
2023-11-14 17:08
2023-05-04 12:44
2023-03-30 20:42
2022-12-06 09:30
2022-11-17 20:09
2022-11-16 10:41
2022-11-04 11:10
2022-11-01 15:39
2022-10-20 15:16