上一篇文章《RocketProtocol虚拟机技术:优化并兼容EVM》分析了EVM设计框架的缺陷以及RocketProtocol的解决方案:在兼容Solidity语言的同时,采用基于中继链技术的跨链资产解决方案,支持已有的以太坊资产在RocketProtocol中流转。根据RocketProtocol团队的规划,中继链技术将2021年第三季度落地。
前文还提到EVM缺乏标准库支持,我们将在本文中聊一聊标准库的问题。
库。标准库的设计哲学多种多样,在不同的编程语言中,标准库的表现形式都不一样。例如:
C标准库是用于完成诸如输入/输出处理、字符串处理、内存管理、数学计算和许多其他操作系统服务等任务的宏、类型和函数的集合;
江卓尔:击败BTC的如果不是BCH,那就是ETH:2月14日,莱比特矿池CEO江卓尔发微博表示:1,BCH是中本聪设计的世界货币,目的是实现哈耶克《货币的非国家化》里展望的,通过货币竞争,抑制法币过度通胀,造福全球经济,使人民免受通胀剥削的伟大愿景。2,BTC现在只是一个类似房子的资产,高币价和高房价一样,是法币通胀的一个恶果。除了使富者更富以外,BTC还能做什么?3,我承认我对BCH有感情,这是投资行为中的大忌。对我而言,BCH是人类之光,BTC只是一个赚钱工具而已。BCH即使失败了,其伟大愿景也不是恶臭的BTC可比的。4,拒绝扩容的BTC,必将被某个积极扩容的大区块币击败,并像集邮市场一样永久衰败。击败BTC的如果不是BCH,那就是ETH。5,BCH和ETH中,任何一个对BTC的胜利,都是扩容派对小区块派的胜利,是市场派对宗教派的胜利,是演化派对原教旨派的胜利。[2021/2/14 19:44:24]
C标准库是一组C模板类,它提供了通用的编程数据结构和函数,如链表、堆、数组、算法、迭代器和任何其他能够被想到的C组件,C标准库包含了C标准库;
江卓尔:DOT价格无法支撑,因其大量解禁币及链上缺乏刚需项目和刚需用户:1月27日,莱比特矿池CEO江卓尔再次发微博表示,感觉DOT这价格撑不住了,短期原因是大量解禁币,长期原因是链上除了炒币用户,没有使用用户,没有像ETH那种DeFi的刚需项目和刚需用户。例如抵押币借款是币圈用户的刚需项目,用户会选哪个项目抵押借款?肯定是用户多+深度厚+历史长(安全)的,所以马太效应和网络效应影响非常巨大。[2021/1/27 13:37:53]
Java标准库的常用表达是Java类库,Java的应用程序接口(API)以包的形式来组织,每个包提供了大量的相关类、接口和异常处理类,这些包的集合就是Java类库。?
Python语言的核心只包含数值、字符串、列表、字典、文件等常见类型和函数。Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。
声音 | 江卓尔回应“BTC减产前主要矿池倾向屯币”:熊市大部分币都得卖了交电费:财经博主BeatleNews 1月10日在微博表示,自从9月份以来,矿池流入交易所的比特币总量总体呈现下降趋势 (除了12月份),12月份矿工的抛压主要来自SLUSH以及BTC.TOP两家矿池,其中BTC.TOP 在2019年全年每个月都在系统性的抛售比特币.当前BTC.TOP算力占全网算力的4.7%,排名第六,Slush矿池算力占全网算力的4.6%,排名第七。可见比特币减产前,主要矿池和矿工还是更加倾向屯币的。对此,江卓尔评论称,很显然数据有问题:1、熊市电费占比高,大部分币(例如S9的80%-90%产出,新矿机的30-50%产出)都得卖了交电费;2、而图中,比如Antpool用户有时卖币多,有时卖币为0,说明没统计出来;3、我们统计出来,可能是因为大部分算力是自己的,币转移渠道固定,所以统计值稳定。[2020/1/12]
标准库的重要性
声音 | 江卓尔:分片提升容量难度大时间长 故而Vitalik提出使用BCH或者ETC作为以太坊数据层:7月25日消息,莱比特矿池CEO江卓尔表示,分布式系统(去中心化系统)有一个不可能三角,称为分布式系统CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。Vitalik提出用分片方法提升容量,但分片方法的难点是一致性,也就是CAP中的C,Consistency(一致性),这个是一个要挑战不可能三角的开发,所以开发难度很大,时间长,所以Vitalik才提出使用BCH或者ETC作为以太坊数据层的短期方案,来解决ETH的燃眉之急。[2019/7/25]
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协议,并在此基础上进行了扩展,使得开发者能够自由的创建适配各种场景的复杂去中心化应用,同时给予用户近似互联网应用般的体验。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。