1?月?5?日,StarkWare?宣布正式推出编程语言?Cairo1.0?公开版本,正式取代为期两年的测试、预览版本,也标志着使用该语言在?StarkNet?上编写智能合约已经成为可能,同时也会兼顾高效的执行效率,成为?ZK?系?Layer2Rollup?技术派的里程碑事件。
此次更新的功能可归纳为三点,分别是智能、效率和安全。
更为智能:实现?Sierra?设计,确保?Cairo?代码可证明,StarkNet?智能合约将在下一个版本中实现。
更加高效:跟进?Rust?语言的强类型、所有权机制和借用等设计思路,兼顾执行效率和编写规范性;
更为安全:保持图灵完备性,STARK?机制的安全性由数学证明来保证;
Cairo1.0?公开版的工作流程将与以往有所不同,最主要的开发方向将是在智能合约编写能力和开发者友好方面进行持续改进。
两全:走向?ZK-EVM
在本轮的?Layer2?缠斗中,ZK?系中的?STARK?和?SNARK?成为两大主流路线,但?EVM?兼容性和执行效率也成为各方关注的焦点,更好的兼容性将会获得以太坊主网的安全性加持,而较高的执行效率则会加快L2自身的执行速度。
0xScope呼吁行业头部CEX协作寻找nd4.eth并施以援手:8月12日消息,0xScope在社交媒体上发文表示,近期注意到nd4.eth出现诸多异常链上行为,认为nd4.eth很可能正在经历或已经历一些非常困难的事情,导致其世界观和想法发生变化。0xScope及其合作伙伴都对nd4.eth的情况感到担忧。
Web3本质上代表着平等和互助。0xScope的研究团队找到了可能的方法来获取重要线索,以了解nd4.eth背后用户的真实个人信息并施以援手。但部分线索可能需要行业领先机构(如OKX和Binance)提供帮助,因为可能需要从nd4.eth的充提币地址及KYC信息上入手。
此前报道,用户nd4.eth自7月26日起已陆续将其持有的多个ENS域名、3枚BAYC、2枚MAYC、1枚BAKC、1枚CryptoPunks系列NFT,以及2500枚ETH、36,188枚GMX、311,003枚GNS转入黑洞地址销毁,总价值已超1300万美元。[2023/8/12 16:22:25]
但这其中存在一个悖论:EVM?兼容性和执行效率往往无法兼得,越好的L1兼容性则会降低L2执行效率,反之则存在安全性问题。
0xScope:与MultichainOrgteam相关地址将近50万枚MULTI转入gate交易所:5月24日消息,Web3知识图谱协议0xScope发推称,与@MultichainOrgteam 相关的地址(0xb4df开头)一个小时之前将 494,200 枚 MULTI (317万美元)转入 gate 交易所。[2023/5/24 22:15:21]
因此?StarkWare?希望能使用?Cairo?语言作为两者之间的黏合剂,通过其编写的智能合约不仅可在?StarkNet?上全速运行,也可和以太坊主网保持较高的兼容性,这也是?ZK-EVM?的真正含义。
在本次更新中,Cairo?将会支持完整的?Cairo-VM,其中的关键就在于中间表示层?Sierra。
简单而言,Sierra?将作为?Cairo?语言编写的代码和其底层字节码之间“翻译层”,并且这种翻译将在确保安全性的基础上进行提速,而无需设置交易的执行状态,直接可根据当前状态开展证明。
这是?Cairo?自身的语法改进,除此之外,StarkWare?的智能合约也将逐步过渡到完全的?Cairo?语言上去,以完成自身的语言标准的统一。
0xscope:FTX目前仍没有任何资产流出:11月8日消息,据0xscope称,收到一些反馈,发现一个FTX地址链上还有提款:0x7abE0cE388281d2aCF297Cb089caef3819b13448。经过0xscope解析,是FTX US(美国市场专用交易所)的地址,跟FTX的产品、用户都是独立运营的。FTX目前还是没有任何资产流出。[2022/11/9 12:34:43]
由于保持了相当程度的以太坊主网兼容性,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、编译器等新工具,以及和主流开发工具的结合,显著减少开发者在其上编写智能合约的压力。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。