STARK:详解Cairo1.0公开版:如何改变StarkWare的编写范式?

1?月?5?日,StarkWare?宣布正式推出编程语言?Cairo1.0?公开版本,正式取代为期两年的测试、预览版本,也标志着使用该语言在?StarkNet?上编写智能合约已经成为可能,同时也会兼顾高效的执行效率,成为?ZK?系?Layer2Rollup?技术派的里程碑事件。

此次更新的功能可归纳为三点,分别是智能、效率和安全。

更为智能:实现?Sierra?设计,确保?Cairo?代码可证明,StarkNet?智能合约将在下一个版本中实现。

更加高效:跟进?Rust?语言的强类型、所有权机制和借用等设计思路,兼顾执行效率和编写规范性;

更为安全:保持图灵完备性,STARK?机制的安全性由数学证明来保证;

Cairo1.0?公开版的工作流程将与以往有所不同,最主要的开发方向将是在智能合约编写能力和开发者友好方面进行持续改进。

两全:走向?ZK-EVM

在本轮的?Layer2?缠斗中,ZK?系中的?STARK?和?SNARK?成为两大主流路线,但?EVM?兼容性和执行效率也成为各方关注的焦点,更好的兼容性将会获得以太坊主网的安全性加持,而较高的执行效率则会加快L2自身的执行速度。

张一鸣在香港设立个人投资基金Cool River Venture,Galaxy LLC是唯一股东:5月26日消息,字节跳动联合创始人张一鸣在香港设立了一家名为“Cool River Venture”的个人投资基金。香港公司注册处显示,在开曼群岛注册的Galaxy LLC是该基金的唯一股东。据YiCai Global披露,Galaxy是一家数字资产和区块链公司。

据悉,“Cool River Venture”于5月22日成立,将进行与科技相关的投资,此前张一鸣曾表示对虚拟现实、生命科学和科学计算等新兴领域有兴趣。[2023/5/26 9:44:13]

但这其中存在一个悖论:EVM?兼容性和执行效率往往无法兼得,越好的L1兼容性则会降低L2执行效率,反之则存在安全性问题。

因此?StarkWare?希望能使用?Cairo?语言作为两者之间的黏合剂,通过其编写的智能合约不仅可在?StarkNet?上全速运行,也可和以太坊主网保持较高的兼容性,这也是?ZK-EVM?的真正含义。

推特在成本削减行动中至少裁员50人:金色财经报道,据the Information报道,推特公司周六裁员数十人,以弥补收入下降的影响。报道称,此举涉及到一些工程团队,包括广告技术支持、推特主要应用程序和技术基础设施的团队。推特尚未对此置评。[2023/2/26 12:30:36]

在本次更新中,Cairo?将会支持完整的?Cairo-VM,其中的关键就在于中间表示层?Sierra。

简单而言,Sierra?将作为?Cairo?语言编写的代码和其底层字节码之间“翻译层”,并且这种翻译将在确保安全性的基础上进行提速,而无需设置交易的执行状态,直接可根据当前状态开展证明。

这是?Cairo?自身的语法改进,除此之外,StarkWare?的智能合约也将逐步过渡到完全的?Cairo?语言上去,以完成自身的语言标准的统一。

由于保持了相当程度的以太坊主网兼容性,Cairo?和?Solidity?编写的智能合约之间的转换也将更为简易,以太坊客户端?Nethermind的转译器?Warp?已经支持将?UniswapV3重写为?Cairo?代码。

比特币全网未确认交易数量为11325笔:金色财经报道,BTC.com数据显示,目前比特币全网未确认交易数量为11325笔,全网算力为229.88 EH/s,24小时交易速率为3.35交易/s,目前全网难度为31.36T,预测下次难度上调2.51%至32.15 T,距离调整还剩10天20小时。[2022/10/1 18:36:37]

实际上,在?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、编译器等新工具,以及和主流开发工具的结合,显著减少开发者在其上编写智能合约的压力。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:0ms0-3:390ms