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

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

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

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

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

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

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

两全:走向?ZK-EVM

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

灰度GBTC日交易量在7月13日突破1.83亿美元,创今年最高:金色财经报道,受多家传统金融巨头申请ETF影响,灰度的GBTC日交易量持续飙升,灰度最大的基金产品在6月20日日交易量突破1.7亿美元,并在7月13日交易量突破1.83亿美元,到达年内新高。[2023/7/17 10:59:09]

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

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

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

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

CertiK:@porsches_eth为虚假账号,Porsche团队暂无官方铸币计划:金色财经报道,据CertiK监测,@porsches_eth为冒充Porsche项目官方推特(@eth_porsche)的虚假账户。Porsche团队已澄清目前没有进一步的官方铸币计划。[2023/1/28 11:34:09]

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

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

实际上,在?2022?年?10?月末,StarkNet?便宣称使用?Cairo?开发出?ZK-EVM,而在接下来随着?StarkNet?的真正投入生产环境,这种兼容性的实际效果便可一验真伪。

Ape质押功能已上线,将于12月12日开放奖励领取:金色财经报道,负责创建 ApeCoin DAO 质押系统的 Horizen Labs 官方宣布,ApeStake.io 已正式上线并开启 APE 存款,将于 12 月 12 日支持领取奖励。[2022/12/6 21:24:33]

新芽:基于?Rust?的平衡特性

事实上,Cairo?本身可以视为?Rust?语言写就的语言,其继承了较多的?Rust?特性。

Rust?本身不同于?Python/Go?等所谓的现代语言,其运行效率高度接近于较为底层的开发语言,但同时又兼顾了可读性,比如特殊的内存管理机制——所有权和借用等特殊设计。

准确而言,Cairo/Rust?的所有权是指管理内存的显性要求,由于区块链特殊的节点运行机制,其是典型的内存敏感性开发环境,以?C/C、Java?为例,目前主流有三种内存资源利用机制:

C/C:手动管理内存,得益于现代设备的进步,大多数开发者并未养成及时释放内存的习惯,会造成严重的资源浪费;

FTX任命五名独立董事,正与美国检察官办公室等监管机构保持联系:11月15日消息,据彭博社援引新的破产法庭文件报道,FTX任命了五名新的独立董事,包括前美国地方法院法官JosephJ.FarnanJr,他将担任首席独立董事,监督FTXTrading,其它四名包括FTX Trading的Matthew A.Doheny、West Realm Shires的MitchellI.Sonkin、Alameda Research的Matthew R.Rosenberg和Clifton Bay Investments的RishiJain。

此外FTX表示正在与美国检察官办公室以及数十家美国和国际监管机构进行交谈,在过去三天中也一直与包括美国证券交易委员会(SEC)和商品期货交易委员会(CFTC)在内的当局保持联系。(彭博社)[2022/11/15 13:07:53]

Java:自动回收资源机制,JVM?是?Java?运行时的虚拟机,其具备自动管理内存的功能,但一般为保证运行效率,JVM?会保持一段的内存资源,也会造成供需不匹配的问题;

佛罗里达国际大学与Blockchain.com合作,使该校学生为加密行业的职业机会做好准备:金色财经报道,佛罗里达国际大学(FIU)正在与Blockchain.com合作,为该校学生和FIU校友在加密行业的职业机会做更好的准备。Blockchain的首席商务官Lane Kasselman认为,公司与FIU的合作是该公司为南佛罗里达居民提供更多加密货币教育机会的一种方式。FIU的临时教务长Elizabeth M. Bejar说,这种合作关系反映了该校科技毕业生的多样化社区,以及未来的毕业生有可能更好地适应这一新兴行业。

FIU和Blockchain.com的合作从2022-23学年开始。学生、校友和社区成员将有机会参与与科技培训和就业有关的实习、研讨会和特别讲座。(miamiherald)[2022/8/16 12:28:35]

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:15ms0-0:632ms