此次更新的功能可歸納為三點,分別是智能、效率和安全。
此次更新的功能可歸納為三點,分別是智能、效率和安全。
此次更新的功能可歸納為三點,分別是智能、效率和安全。
此次更新的功能可歸納為三點,分別是智能、效率和安全。
更為智能:實現Sierra 設計,確保Cairo 代碼可證明,StarkNet 智能合約將在下一個版本中實現。
更加高效:跟進Rust 語言的強類型、所有權機制和借用等設計思路,兼顧執行效率和編寫規範性;
更為安全:保持圖靈完備性,STARK 機制的安全性由數學證明來保證;
Cairo 1.0 公開版的工作流程將與以往有所不同,最主要的開發方向將是在智能合約編寫能力和開發者友好方面進行持續改進。
兩全:走向ZK-EVM
在本輪的Layer 2 纏鬥中,ZK 系中的STARK 和SNARK 成為兩大主流路線,但EVM 兼容性和執行效率也成為各方關注的焦點,更好的兼容性將會獲得以太坊主網的安全性加持,而較高的執行效率則會加快L2自身的執行速度。
但這其中存在一個悖論:EVM 兼容性和執行效率往往無法兼得,越好的L1兼容性則會降低L2執行效率,反之則存在安全性問題。
因此StarkWare 希望能使用Cairo 語言作為兩者之間的黏合劑,通過其編寫的智能合約不僅可在StarkNet 上全速運行,也可和以太坊主網保持較高的兼容性,這也是ZK-EVM 的真正含義。
在本次更新中,Cairo 將會支持完整的Cairo-VM,其中的關鍵就在於中間表示層Sierra。

這是Cairo 自身的語法改進,除此之外,StarkWare 的智能合約也將逐步過渡到完全的Cairo 語言上去,以完成自身的語言標準的統一。
化繁為簡:Cairo 1.0如何改變StarkWare的編寫範式
由於保持了相當程度的以太坊主網兼容性,Cairo 和Solidity 編寫的智能合約之間的轉換也將更為簡易,以太坊客戶端Nethermind 的轉譯器Warp 已經支持將Uniswap V3重寫為Cairo 代碼。

新芽:基於Rust 的平衡特性
化繁為簡:Cairo 1.0如何改變StarkWare的編寫範式
事實上,Cairo 本身可以視為Rust 語言寫就的語言,其繼承了較多的Rust 特性。
Rust 本身不同於Python/Go 等所謂的現代語言,其運行效率高度接近於較為底層的開發語言,但同時又兼顧了可讀性,比如特殊的內存管理機制——所有權(ownership)和借用等特殊設計。
準確而言,Cairo/Rust 的所有權是指管理內存的顯性要求,由於區塊鏈特殊的節點運行機制,其是典型的內存敏感性開發環境,以C/C++、Java 為例,目前主流有三種內存資源利用機制:
C/C++:手動管理內存,得益於(受害於)現代設備的進步,大多數開發者並未養成及時釋放內存的習慣,會造成嚴重的資源浪費;
Java:自動回收資源機制,JVM 是Java 運行時的虛擬機,其具備自動管理內存的功能,但一般為保證運行效率,JVM 會保持一段的內存資源,也會造成供需不匹配的問題;
Cairo/Rust:所有權機制管理內存資源,Rust 中的任何變量必須指定所有者,並且一次僅能有一個,當變量執行後即被釋放,不能繼續存在內存中。
這樣的所有權機制設計可以保證寶貴的內存資源僅在執行時調用,即可以兼顧C/C++的運行效率,但又避免了內存洩漏等問題,內存資源無需時刻準備著,對於減輕智能合約的整體大小具有重要意義。"其次是強類型的思路,Cairo/Rust 涉及眾多智能合約的編寫和運行,而其上承載的都是高價值的Token、NFT 以及個人數據,需要特殊對待,並且每次改變都需要慎重對待。
強類型語言和弱類型語言是相對於變量的定義而言的,簡單而言,強類型要求變量在使用前進行“數據類型
方面的定義,如整數、浮點數、字符串等,未經明確的類型變換操作,不可隨意更改其定義。

在智能合約的編寫中,資產類型和數量必須被顯性對待,以確保其歸屬權清晰和交易、轉換等流程明確,而Cairo/Rust 的可讀性強,其對開發者較為友好,便於避免更多的安全問題。
化繁為簡:Cairo 1.0如何改變StarkWare的編寫範式
按照官方進度,Cairo 1.0 的編譯器將在今年一季度面世,屆時,將和StarkNet 進行更深度的融合,而藉助Rust 的語言特性,有望從底層提高執行速度,從而將其TPS 抬升到日常可用的水平。

Cairo 1.0 肩負著打通L2和以太坊主網的重任,根據其官方的Regenesis(重生)計劃,StarkNet 將在2023 年一季度完全過渡到Cairo 之上,結束目前的割裂狀態,從而進入生態競爭的新發展階段。
化繁為簡:Cairo 1.0如何改變StarkWare的編寫範式
而缺乏真正殺手級的應用,再疊加上dYdX 等頭部項目的出走,StarkWare 的晉級之路仍然佈滿荊棘。
在Cairo 1.0 真正應用至StarkNet 之前,開發者的體驗是爭奪其進入StarkWare 生態的第一步,除Nethermind 的Warp 支持之外,ConsenSys 也和StarkWare 達成合作,將為Cairo 提供智能合約提供安全審計服務。
相關閱讀:
相關閱讀:相關閱讀:

盤點StarkWare 生態:StarkEx 共7 個應用,StarkNet 105 個生態項目
化繁為簡:Cairo 1.0 如何改變StarkWare 的編寫範式

結語
結語
結語
結語
Cairo 1.0 並非簡單作為語言更新,而是要承擔更為豐富的角色,包括激活StarkNet 的EVM 兼容性和執行效率,通過借助Rust 成熟的編程範式,如所有權、強類型等,減輕了開發難度。


