1?月?5?日,StarkWare?宣布正式推出编程语言?Cairo1.0?公开版本,正式取代为期两年的测试、预览版本,也标志着使用该语言在?StarkNet?上编写智能合约已经成为可能,同时也会兼顾高效的执行效率,成为?ZK?系?Layer2Rollup?技术派的里程碑事件。
此次更新的功能可归纳为三点,分别是智能、效率和安全。
更为智能:实现?Sierra?设计,确保?Cairo?代码可证明,StarkNet?智能合约将在下一个版本中实现。
更加高效:跟进?Rust?语言的强类型、所有权机制和借用等设计思路,兼顾执行效率和编写规范性;
更为安全:保持图灵完备性,STARK?机制的安全性由数学证明来保证;
Cairo1.0?公开版的工作流程将与以往有所不同,最主要的开发方向将是在智能合约编写能力和开发者友好方面进行持续改进。
两全:走向?ZK-EVM
在本轮的?Layer2?缠斗中,ZK?系中的?STARK?和?SNARK?成为两大主流路线,但?EVM?兼容性和执行效率也成为各方关注的焦点,更好的兼容性将会获得以太坊主网的安全性加持,而较高的执行效率则会加快L2自身的执行速度。
BIS与七家央行发布关于rCBDC的最新论文:金色财经报道,国际清算银行(BIS)在其官网上宣布已与加拿大、欧洲联盟、日本、瑞典、瑞士、英国和美国的中央银行联合发布了一份详细说明它们对零售央行数字货币(rCBDC)的持续政策观点的论文。
该论文构建在之前的政策要素基础上,提出了一些新的观点。其中第一个要素是利益相关者的参与,研究表明这将依赖于几个机制。与立法者的合作将是至关重要,因为与央行数字货币相关的尚未解决的法律问题主要是国家法律的事项。此外,论文还详细讨论了与rCBDC相关的法律问题。[2023/5/26 10:41:08]
但这其中存在一个悖论:EVM?兼容性和执行效率往往无法兼得,越好的L1兼容性则会降低L2执行效率,反之则存在安全性问题。
因此?StarkWare?希望能使用?Cairo?语言作为两者之间的黏合剂,通过其编写的智能合约不仅可在?StarkNet?上全速运行,也可和以太坊主网保持较高的兼容性,这也是?ZK-EVM?的真正含义。
在本次更新中,Cairo?将会支持完整的?Cairo-VM,其中的关键就在于中间表示层?Sierra。
BIS:非洲央行CBDC其动机与其他新兴市场国家不同:金色财经报道,国际清算银行 (?BIS?) 发表了一篇关于非洲中央银行数字货币 (?CBDC?) 的论文,强调其动机与其他新兴市场国家不同。在进展方面,尼日利亚推出了eNaira零售CBDC,?加纳正处于试点阶段,?南非进行了批发CBDC 试点。在 19 个非洲中央银行中,CBDC 的首要动机是提供中央银行数字现金,其次是更好的金融包容性,并作为实施货币政策的工具。使用可编程货币作为优先事项得分非常低。
关于部署数字货币的三大担忧是网络安全风险,其次是对非中介银行的担忧,以及 CBDC 是否会吸引消费者。总体而言,与世界其他地区相比,BIS 评估非洲大陆在 CBDC 部署方面的进展较慢。[2022/11/25 8:06:13]
简单而言,Sierra?将作为?Cairo?语言编写的代码和其底层字节码之间“翻译层”,并且这种翻译将在确保安全性的基础上进行提速,而无需设置交易的执行状态,直接可根据当前状态开展证明。
这是?Cairo?自身的语法改进,除此之外,StarkWare?的智能合约也将逐步过渡到完全的?Cairo?语言上去,以完成自身的语言标准的统一。
元宇宙游戏开发商Bison已推出Forgottent Runiverse的首个可玩演示:金色财经消息,元宇宙游戏开发商和发行商 Bison 已推出其大型多人在线角色扮演游戏 Forgottent Runiverse 的首个可玩演示,玩家将能够探索游戏的不同区域,并在 Runiverse 中寻找青蛙,这些青蛙将授予游戏内的道具,并在即将到来的土地出售的允许列表中获得改进的位置。
Forgottent Runiverse 是一款基于 NFT 系列 Forgottent Runes Wizard's Cult 的大型多人在线角色扮演游戏(MMORPG),Bison 自去年年底以来一直在与区块链工作室 Machine Magic 合作开发,希望在 2023 年初发布 V1.0 版本。[2022/6/21 4:41:51]
由于保持了相当程度的以太坊主网兼容性,Cairo?和?Solidity?编写的智能合约之间的转换也将更为简易,以太坊客户端?Nethermind的转译器?Warp?已经支持将?UniswapV3重写为?Cairo?代码。
实际上,在?2022?年?10?月末,StarkNet?便宣称使用?Cairo?开发出?ZK-EVM,而在接下来随着?StarkNet?的真正投入生产环境,这种兼容性的实际效果便可一验真伪。
新芽:基于?Rust?的平衡特性
事实上,Cairo?本身可以视为?Rust?语言写就的语言,其继承了较多的?Rust?特性。
Rust?本身不同于?Python/Go?等所谓的现代语言,其运行效率高度接近于较为底层的开发语言,但同时又兼顾了可读性,比如特殊的内存管理机制——所有权和借用等特殊设计。
准确而言,Cairo/Rust?的所有权是指管理内存的显性要求,由于区块链特殊的节点运行机制,其是典型的内存敏感性开发环境,以?C/C、Java?为例,目前主流有三种内存资源利用机制:
C/C:手动管理内存,得益于现代设备的进步,大多数开发者并未养成及时释放内存的习惯,会造成严重的资源浪费;
Java:自动回收资源机制,JVM?是?Java?运行时的虚拟机,其具备自动管理内存的功能,但一般为保证运行效率,JVM?会保持一段的内存资源,也会造成供需不匹配的问题;
Cairo/Rust:所有权机制管理内存资源,Rust?中的任何变量必须指定所有者,并且一次仅能有一个,当变量执行后即被释放,不能继续存在内存中。
这样的所有权机制设计可以保证宝贵的内存资源仅在执行时调用,即可以兼顾?C/C的运行效率,但又避免了内存泄漏等问题,内存资源无需时刻准备着,对于减轻智能合约的整体大小具有重要意义。
其次是强类型的思路,Cairo/Rust?涉及众多智能合约的编写和运行,而其上承载的都是高价值的?Token、NFT?以及个人数据,需要特殊对待,并且每次改变都需要慎重对待。
强类型语言和弱类型语言是相对于变量的定义而言的,简单而言,强类型要求变量在使用前进行“数据类型"方面的定义,如整数、浮点数、字符串等,未经明确的类型变换操作,不可随意更改其定义。
弱类型语言并无此严格规定,变量的数据类型可灵活改变。
在智能合约的编写中,资产类型和数量必须被显性对待,以确保其归属权清晰和交易、转换等流程明确,而?Cairo/Rust?的可读性强,其对开发者较为友好,便于避免更多的安全问题。
按照官方进度,Cairo1.0?的编译器将在今年一季度面世,届时,将和?StarkNet?进行更深度的融合,而借助?Rust?的语言特性,有望从底层提高执行速度,从而将其?TPS?抬升到日常可用的水平。
重生:开发者友好
Cairo1.0?肩负着打通L2和以太坊主网的重任,根据其官方的?Regenesis计划,StarkNet?将在?2023?年一季度完全过渡到?Cairo?之上,结束目前的割裂状态,从而进入生态竞争的新发展阶段。
而缺乏真正杀手级的应用,再叠加上?dYdX?等头部项目的出走,StarkWare?的晋级之路仍然布满荆棘。
在目前的公链/L2/dApp?开发格局中,Solidity占据了近?98%?的垄断地位,而?Cairo?仅占据不到?1%?的市场空间,基本上目前只有?StarkWare?能够支撑起运行。
自从?StarkNet?和?StarkEx?设立以来,由?Cairo?驱动的?dApp?已经处理了超过?3?亿笔交易,铸造了超过?6500?万个?NFT,并处理了价值?7000?亿美元的交易,并且这些交易都利用以太坊上作为最终结算层。
在?Cairo1.0?真正应用至?StarkNet?之前,开发者的体验是争夺其进入?StarkWare?生态的第一步,除?Nethermind?的?Warp?支持之外,ConsenSys?也和?StarkWare?达成合作,将为?Cairo?提供智能合约提供安全审计服务。
根据官方说明,目前?Cairo0的各项功能开发进度如下,我们也可从中参照?Cairo1.0?的发展方向,并且说明?StarkWare?将会遵循将全部?StarkNet?开源的计划,Cairo?将是其开迈出的第一步。
相关阅读:盘点?StarkWare?生态:StarkEx?共?7?个应用,StarkNet105?个生态项目
可以从中发现,Cairo?的功能开发进度较快,并且预计实现的功能也较多,而?StarkNet?也将在?Cairo?实现后补齐目前的功能缺口,而最终实现?StarkNet?系统级调用的全功能模块。
目前可以适当参考下?StarkEx?的数据,不同于?StarkNet?的通用化路线,StarkEx?面向主要几个大型项目,包括?ImmutableX、Sorare、Rgino.Fi?和?dYdX,使用过服务的用户数达?2?千万人次,日均月活在数万量级。
借助和成熟的?DeFi?和链游进行合作,StarkEx?的市场化之路整体较为顺利,但是?StarkNet?将作为通用?Layer2?参与各个L2竞争之中,Cairo?将有望进一步带动?StarkNet?市场占有率的提升。
结语
Cairo1.0?并非简单作为语言更新,而是要承担更为丰富的角色,包括激活?StarkNet?的?EVM?兼容性和执行效率,通过借助?Rust?成熟的编程范式,如所有权、强类型等,减轻了开发难度。
同时需要注意,Cairo1.0?仍有些未完全实现的功能,其完全状态可能需要更长的开发周期,其代币发行时间也会随之进行调整。
总之,Cairo在结束?StarkNet?目前的“非完全”版具有重要意义,结合?Sierra、编译器等新工具,以及和主流开发工具的结合,显著减少开发者在其上编写智能合约的压力。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。