上一篇文章《RocketProtocol虚拟机技术:优化并兼容EVM》分析了EVM设计框架的缺陷以及RocketProtocol的解决方案:在兼容Solidity语言的同时,采用基于中继链技术的跨链资产解决方案,支持已有的以太坊资产在RocketProtocol中流转。根据RocketProtocol团队的规划,中继链技术将2021年第三季度落地。
前文还提到EVM缺乏标准库支持,我们将在本文中聊一聊标准库的问题。
库。标准库的设计哲学多种多样,在不同的编程语言中,标准库的表现形式都不一样。例如:
C标准库是用于完成诸如输入/输出处理、字符串处理、内存管理、数学计算和许多其他操作系统服务等任务的宏、类型和函数的集合;
Web3硬件钱包初创公司Cypherock完成100万美元融资:12月1日消息,Web3硬件钱包初创公司Cypherock宣布完成100万美元融资,Consensys Mesh、Infinite Capital、Gnosis、OrangeDAO、以及包括Stefan George (Gnosis)、Sandeep Nailwal (Polygon)、Mahin Gupta (Zebpay) & Liminal)、Prasanna Sankar (Rippling)和Furqan Rydhan (Thirdweb & F Inc)在内的天使投资人参投。
Cypherock正在开发无助记词硬件钱包“X1”,旨在让人们能够实现自我主权,并像在银行金库的储蓄一样安心和控制自己的加密货币和个人数据,允许个人自行保管加密货币并通过减少私钥管理中单点故障来提高加密货币安全性。[2022/12/1 21:15:26]
C标准库是一组C模板类,它提供了通用的编程数据结构和函数,如链表、堆、数组、算法、迭代器和任何其他能够被想到的C组件,C标准库包含了C标准库;
农业巨头Agrocorp通过区块链将1200万美元小麦从北美交易到印尼:国际农业巨头Agrocorp和嘉吉(Cargill)已通过区块链将价值1200万美元的小麦从北美交易到印尼。据悉,该交易通过新加坡的区块链平台dltledge进行。(Cointelegraph)[2020/4/16]
Java标准库的常用表达是Java类库,Java的应用程序接口(API)以包的形式来组织,每个包提供了大量的相关类、接口和异常处理类,这些包的集合就是Java类库。?
Python语言的核心只包含数值、字符串、列表、字典、文件等常见类型和函数。Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。
声音 | Pierre Rochard:美元作为“储蓄技术”是失败的,凸显比特币优势:Bitcoin Advisory创始人Pierre Rochard近期发推称,由于通货膨胀,美元已经完全不能作为储蓄技术使用,每个人都必须立即将其用于投资或消费。这一言论引发了支持比特币的呼声。社区认为,法币已成为保持价值的无效手段。加密货币社区同意这一看法并不奇怪,但事实上,美元在过去100年里确实已经严重贬值,并一直持续到现在。过去一个世纪里美元购买力的下降很好地说明了这一点。(BeInCrypto)[2019/11/16]
标准库的重要性
C的设计者BjarneStroustrup认为:标准库是每一个实现者都必须提供的东西,以便让每一个程序员能够依赖于它。标准库是一门编程语言的基础,基于任何语言的应用开发,都要尽可能地基于标准库开发。首先它可以降低开发成本,不必再浪费人力和时间去进行重新开发;其次,无论是由编程语言规格直接说明还是由编程社区非正式惯例决定,标准库都是经过严格验证的,它的正确性和准确性有保证;最关键的一点,使用标准库开发的代码,其执行效率是行业认可的最高水平。
动态 | Zerocoin遇到漏洞导致产生低于流通供应量的1%伪造硬币:据AMBcrypto4月27日消息,Zcoin发布了一份关于该团队发现的Zerocoin漏洞的官方声明。该声明表示,该协议本身存在漏洞,并且影响了所有Zerocoin实施。漏洞导致了“伪造硬币”的产生,这一数字低于Zcoin流通供应量的1%。这不是代码缺陷,而是从一开始就存在的“Zerocoin协议中的一个证明”中的加密缺陷。这意味着任何实施了Zerocoin协议的项目都可能受到攻击。此漏洞导致项目团队决定退出协议并转向其他协议,主要网络转换时间表约为六周。报告指出,关于加密漏洞的进一步细节将在稍后公布,包括伪造的硬币数量。[2019/4/27]
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协议,并在此基础上进行了扩展,使得开发者能够自由的创建适配各种场景的复杂去中心化应用,同时给予用户近似互联网应用般的体验。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。