上一篇文章《RocketProtocol虚拟机技术:优化并兼容EVM》分析了EVM设计框架的缺陷以及RocketProtocol的解决方案:在兼容Solidity语言的同时,采用基于中继链技术的跨链资产解决方案,支持已有的以太坊资产在RocketProtocol中流转。根据RocketProtocol团队的规划,中继链技术将2021年第三季度落地。
前文还提到EVM缺乏标准库支持,我们将在本文中聊一聊标准库的问题。
库。标准库的设计哲学多种多样,在不同的编程语言中,标准库的表现形式都不一样。例如:
C标准库是用于完成诸如输入/输出处理、字符串处理、内存管理、数学计算和许多其他操作系统服务等任务的宏、类型和函数的集合;
LüM将为25位全球知名音乐人推出\"Access Pass\"NFT:1月13日消息,美国音乐平台LüM宣布与全球25位知名音乐人合作推出“AccessPass”NFT。LüM成立于2018年,拥有超过20万用户,主要为音乐人和粉丝提供社交媒体、音乐流媒体和微打赏等服务。LüM官方推特披露,他们将会推出一个NFT市场和一个粉丝参与平台、以及被称为“AccessPasses”的NFT。LüM首席执行官兼创始人MaxFergus表示,他们计划在2022年招募100位顶级音乐家,以促进艺术家大规模采用区块链技术并吸引粉丝,其长期目标是与10000多名音乐家合作。(Cointelegraph)[2022/1/13 8:46:46]
C标准库是一组C模板类,它提供了通用的编程数据结构和函数,如链表、堆、数组、算法、迭代器和任何其他能够被想到的C组件,C标准库包含了C标准库;
知名电脑厂商宏碁遭勒索软件攻击,要求支付价值5000万美元的XMR:上周末,知名电脑厂商宏碁(Acer)遭遇勒索软件团伙REvil的攻击,要求支付高达5000万美元的XMR,以解密公司的电脑,并且不在暗网上泄露数据。在外媒发出评论请求之后,宏碁发言人刻意淡化了这起勒索软件攻击事件,并避免承认遭到勒索软件攻击。宏碁是全球第六大个人电脑制造商,市场份额约占全球总销售额的6%。该公司在2020年第 4 季度的总收入约为30亿美元,因此,赎金需求创下了新纪录。(cnBeta)[2021/3/22 19:08:01]
Java标准库的常用表达是Java类库,Java的应用程序接口(API)以包的形式来组织,每个包提供了大量的相关类、接口和异常处理类,这些包的集合就是Java类库。?
挪威知名“绑架谋杀案”告破,凶手曾要求门罗币赎金以掩饰身份:挪威已破获一起在该国知名度极高的“富豪绑架谋杀案”。2018年10月,时年68岁的Anne-Elisabeth Hagen从家中失踪,Hagen家族曾表示,“绑匪”要求该家族支付1000万美元的门罗币赎金,以确保Anne获释。
本周二,挪威宣布已经逮捕了Anne-Elisabeth Hagen的丈夫、商人Tom Hagen。在新闻发布会上解释称:“经过18个月的调查,已经到了有理由怀疑Tom Hagen参与了谋杀或共谋谋杀。绑架不存在,谈判也不存在。有迹象表明Tom Hagen一直在有意回避调查人员。”(路透社)[2020/4/28]
Python语言的核心只包含数值、字符串、列表、字典、文件等常见类型和函数。Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。
动态 | Zerocoin遇到漏洞导致产生低于流通供应量的1%伪造硬币:据AMBcrypto4月27日消息,Zcoin发布了一份关于该团队发现的Zerocoin漏洞的官方声明。该声明表示,该协议本身存在漏洞,并且影响了所有Zerocoin实施。漏洞导致了“伪造硬币”的产生,这一数字低于Zcoin流通供应量的1%。这不是代码缺陷,而是从一开始就存在的“Zerocoin协议中的一个证明”中的加密缺陷。这意味着任何实施了Zerocoin协议的项目都可能受到攻击。此漏洞导致项目团队决定退出协议并转向其他协议,主要网络转换时间表约为六周。报告指出,关于加密漏洞的进一步细节将在稍后公布,包括伪造的硬币数量。[2019/4/27]
标准库的重要性
C的设计者BjarneStroustrup认为:标准库是每一个实现者都必须提供的东西,以便让每一个程序员能够依赖于它。标准库是一门编程语言的基础,基于任何语言的应用开发,都要尽可能地基于标准库开发。首先它可以降低开发成本,不必再浪费人力和时间去进行重新开发;其次,无论是由编程语言规格直接说明还是由编程社区非正式惯例决定,标准库都是经过严格验证的,它的正确性和准确性有保证;最关键的一点,使用标准库开发的代码,其执行效率是行业认可的最高水平。
EVM缺少标准库支持
在《RocketProtocol虚拟机技术》提到,REVM在兼容EVM的同时,也继承了EVM的Solidity语言。在具有编写程序简单、兼容性强、非常高效这些优点以外,REVM也同时具有Solidity与生俱来的缺陷:缺少标准库支持。
Solidity语言没有自己的标准代码库,它本身内置的只有一些非常简单的函数,开发者只能自己不停地对简单函数进行组合复用,例如字符串拼接、切割、查找等都需要开发者自己去实现,使得开发者开发复杂应用的难度较大。这种方式带来的后果是开发者需要关注很多非本身业务的零碎细节而不是开发应用本身,无端增加开发成本。同时,用这种方式编写出的代码,会比根据拥有健全标准库的虚拟机开发出来的代码更长。代码越长,上传到区块链环境中时产生的GAS费就越高,运行代码所需的步骤也会越多,增加虚拟机运算代码的时长,执行效率低下的同时也不能保证最终结果的正确性和准确性。有的开发者为了节省GAS费,会直接从一些开源软件中调用代码或者写出不是特别周全的代码,导致代码本身的安全性得不到保证,加重合约代码审计的难度。
REVM建立了标准类库
RocketProtocol技术团队认为,优秀的虚拟机除了要在架构设计上展现大方优雅的特点,也需要具有易用性和可操作性。因此,REVM在兼容EVM的基础上,建立了自己的标准类库——以太坊原有的智能合约不仅可以直接迁移到RocketProtocol上使用,无需重新编译,同时也能通过REVM添加的智能合约内置函数来将降低开发门槛。
除此之外,REVM还引入了RocketProtocol自定义的关键字,支持用一条语句完成跨链、NFT协议等功能,开发者在智能合约中使用这些关键字,即可享受到RocketProtocol带来的独有的可组合性与可操作性。对于使用了这些关键字的合约,必须要通过REVM的编译,才能生成可用的字节码。
针对用户编程,RocketProtocol目前已经添加了更直观的NFT操作函数。下一阶段,RocketProtocol也将在奖池、空投、DeFi等层面添加相应的内置函数,以提高智能合约的编写效率。
功能拓展方面,由于RocketProtocol的中继链是基于智能合约功能实现和拓展的,所以也将添加中继相关的智能合约内置函数,以扩展基于REVM智能合约的功能。
总结
DeFi和NFT近两年相继爆发,各类上层复杂应用的层出不穷对基础设施的要求会越来越高。标准库的建立并非一朝一夕就可完成,它需要随着开发者和用户真实需求的增加而不断完善,甚至需要随着行业的不断拓展而开发出更优于标准库的机制来提高开发者者效率和支持复杂应用落地。虚拟机的优化方案也绝非仅限于完善标准库,如何解决缺乏成熟工具集这个问题,将是我们下一个需要讨论的重点。
关于RocketProtocol
RocketProtocol是由MixMarvel孵化的面向未来虚拟世界的区块链基础设施。目前RocketProtocol已升级至2.0版本。作为可以实现EVM体系多链合约互操作的高性能链群,RocketProtocol2.0融合了跨链协议、NFT协议以及EVM协议,并在此基础上进行了扩展,使得开发者能够自由的创建适配各种场景的复杂去中心化应用,同时给予用户近似互联网应用般的体验。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。