比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > MEXC > Info

Starkware技術架構與生態應用梳理_STAR

Author:

Time:1900/1/1 0:00:00

StarkWare

簡介

StarkEx和StarkNet均為StarkWare團隊開發的項目,前者類似Iaas,類比應用鏈,StarkWare幫助大型項目開發專有應用Rollup;后者則是可部署通用應用的Rollup。

截止目前,StarkWare已經完成6輪融資,共計2.73億美元。尤其是最近一輪融資金額達到1億美元,使其估值翻了兩番,達到80億。作為?L2項目中估值最高的項目,本文特探討?Starkware?的技術架構和生態應用。

StarkEx:專有ZKR引擎

簡介

在去年和今年上半年,StarkWare通過提供擴容技術解決方案StarkEx創立了擴容即服務的商業模式,建立應用專有網絡,服務業內頭部客戶dYdX、Sorare、ImmutableX、DeversiFi等。

整體架構

工作流包括以下四個環節

打包交易:鏈下服務器處理客戶請求,將多個交易組合成一個“批次”,供StarkEx處理。

確認交易和更新狀態:鏈下服務器確認交易合法,并以被壓縮后的哈希形式更新系統狀態。

為交易生成證明:完成上述流程后,SHARP會為交易生成STARK證明以確認交易的有效性。然后將證明和更新發送到鏈上Verifier智能合約,以確保交易的完整性。

鏈上驗證證明:一旦?STARK?證明被驗證,狀態更新被提交并結算回以太坊主網。所有交易都是在鏈外處理和驗證的,而其完整性的證明是在鏈上驗證的。

SHARP是一個共享證明者,它同時為多個StarkEx客戶/應用提供證明生成服務——生成計算完整性聲明的證明。

Verifier是部署在以太坊上的智能合約,用于驗證來自StarkEx的交易的正確性。

StarkWareApplications

StarkEx應用程序是一系列支持可擴展和自我托管交易的應用程序,區分現貨交易和杠桿交易。應用包括兩個組件,智能合約和后端。

?標準流程

用戶發起交易,交易可以直接與智能合約交互

每個交易都有一個唯一的id,共同組成一個交易流,StarkEx應用將交易流傳輸到后端

后端將狀態轉換提交給SHARP,SHARP為狀態轉換生成證明

SHARP向驗證者合約提交證明并在驗證者完成驗證后,驗證者將之記錄在VerifierFactRegistry,然后后端將在StarkEx智能合約上執行狀態轉換。

StarkEx智能合約檢查狀態轉換是否符合預定義規則來確保狀態轉換的有效性。

參考鏈接:Introduction::StarkExDocumentation

高級概述

如下圖所示,StarkEx系統旨在接受來自合作伙伴后端的用戶交易。這些交易隨后由StarkEx系統進行批處理和處理。結合前面智能合約和后端的介紹,整個StarkEx處理交易的過程和職責分工概述如下。

幣安支持的AltLayer宣布支持OP Stack:金色財經報道, 幣安支持的以太坊擴容項目AltLayer宣布Rollups Suite已擴展支持OP Stack,后者是Optimism Collective的開源模塊化代碼庫,dApp開發者現在將能基于OP Stack代碼庫進行實驗和構建,AltLayer則負責管理項目的所有節點基礎設施,以便開發人員可以專注于其核心業務和技術運營。[2023/8/29 13:03:22]

前端,StarkEx客戶支持兩類操作,鏈上和鏈下。前者是標準的以太坊交易,用戶直接通過StaarkEx合約進行存款取款,后者是通過StarkEx引擎執行的操作,如dydx等。

訂單驗證,由StarkEx客戶的后端設置并進行驗證。

業務邏輯,客制化StarkEx合約來支持客戶業務邏輯

交易流,傳輸到StarkEx的所有交易都使用稱為tx_ids的連續標識符進行驗證和索引,類似nonce的做法,

交易發送方,一旦StarkEx網關確認交易正確就會保證執行它,并且將在前端提前顯示給用戶,而不是等待鏈上最終確定。

錯誤處理,如果檢測到無效交易,StarkEx系統將會向客戶的專業端點報告錯誤,客戶將會以另外的要執行的交易列表來代替無效交易,如空列表等。

批處理審核,任何批次在鏈上傳輸之前可以被客戶審核,如果和預期狀態轉換和不一致,客戶可以不批準或者回滾。

抗審查,如果客戶審查用戶請求,StarkEx允許用戶直接通過?StarkEx合約執行操作,客戶必須在規定時間內向用戶提供它,否則StarkEx合約將會凍結。

參考文檔:StarkExPartnerIntegration::StarkExDocumentation

StarkNet:通用ZKR

簡介

不同于為不同的應用定制ZKRollup的StarkEx,StarkNet是一個通用的ZKRollup,開發者可在StarkNet上部署應用。

基本介紹

在以太坊上,每提交一筆交易都需要所有節點檢查、驗證并執行交易來保證計算正確性,并將計算后的狀態變化在網絡中廣播。

https://ethereum.org/zh/developers/docs/evm/?

StarkNet僅在鏈下執行計算并生成一個ZK證明,然后在鏈上驗證該證明的正確性,最后把多個L2交易打包為以太坊上的一筆交易。因此,StarkNet上發生的交易成本可以被同一打包批次的其他交易所均攤,就像拼車一樣,交易越多,成本越低。

除此之外,相比以太坊讓每個節點完整執行交易的方法,StarkNet為交易生成ZK證明的方法可以大大提高網絡運行速度、減少鏈上通信量、增加網絡吞吐,因此StarkNet相比以太坊具有更高TPS和更低Gas。

簡而言之,將驗證計算正確性比喻為老師需要檢查同學們是不是掌握了知識。以太坊的方法是檢查每個同學是否能背誦整本教科書,而StarkNet的方法是讓同學們做卷子。后者的效率更高,成本更低,但仍然保證安全。

The Sandbox:官方Instagram賬戶或遭入侵,請注意防范風險:8月4日消息,The Sandbox發推稱,已經意識到其官方Instagram賬戶可能已經被入侵。請不要點擊The Sandbox的Instagram頁面上的任何鏈接。不要和Instagram頁面上自稱來自The Sandbox的人交流。The Sandbox的安全團隊正在調查此事。[2022/8/4 12:02:11]

EVM兼容

StarkNet網絡本身不兼容EVM,而設計了另外一套ZK友好的CairoVM。

StarkNet沒有和Hermez和Scroll一樣針對以太坊操作碼做ZK電路,而是自己做了一套更加ZK友好的匯編語言、AIR以及高級語言Cairo。

StarkNet屬于Vitalik定義的type4級別——語言兼容的zkEVM。

https://vitalik.eth.limo/general/2022/08/04/zkevm.html

盡管StarkNet本身不兼容EVM,但StarkNet仍然可以通過其他方式兼容以太坊。

1、Warp:將Solidity轉譯為Cairo語言的轉譯器

Warp是一個Solidity-Cairo轉譯器,目前已經由以太坊著名基礎設施團隊Nethermind開發完成。Warp可以把Solidity代碼轉譯為Cairo,但轉譯后的Cairo程序往往需要修改并增添Cairo特性才能最大化執行效率。

2、Kakarot:一個用Cairo語言編寫的zkEVM

Kakarot是一個用Cairo寫的智能合約,目前部署在Starknet上,字節碼等效EVM。目前處于測試階段。以太坊應用可以通過部署到Kakarot的方式移植到StarkNet。

Kakarot可以:(a)執行任意EVM字節碼,(b)按原樣部署EVM智能合約,(c)調用Kakarot部署的EVM智能合約的功能

Kakarot是一個EVM字節碼解釋器。

目前已經支持EVM全部操作碼。

https://github.com/sayajin-labs/kakarot

工作原理

組成部分

StarkNet有五個組成部分。分別是在StarkNet上的Prover,Sequencer和全節點;以及部署在以太坊上的驗證者和核心狀態合約。

https://david-barreto.com/starknets-architecture-review/#more-4602?

當我們在StarkNet上發起一個交易,一個鏈下服務器——排序器將會接收、排序、驗證,并將它們打包到區塊。執行交易,然后狀態轉換發送給StarkNetCore合約;

證明者將為交易生成證明,并發送給以太坊的驗證者合約;

元宇宙服務商MetaEstate完成數百萬美元戰略輪融資:5月25日消息,元宇宙服務商 MetaEstate 宣布完成數百萬美元戰略輪股權融資,本輪融資由 Matrixport 和 SevenX Ventures 領投,Cryptogram Venture (CGV)、Everest Ventures Group、Y+ Ventures 等機構跟投,包括數名加密投資機構合伙人以個人身份參與投資。

通過本次戰略輪融資,MetaEstate 將引入一系列戰略合作伙伴,為下一步布局虛擬不動產經營、基金資產化、業務全球化及 EstateFi 金融合作等新興業務板塊提供必要支持。[2022/5/25 3:39:56]

驗證者將驗證結果發送到以太坊上的StarkNetCore合約,并從StarkNetCore合約觸發一組新的以太坊交易,以更新鏈上的全局狀態以進行記錄保存。狀態事務作為“calldata”來發送,以節省L1事務gas。這些“metadata”可被StarkNet全節點解密。

全節點基本發揮存儲功能。全節點存儲狀態改變、元數據、證明以及記錄在StarkNet中的已被執行的所有事務,并跟蹤系統的當前全局狀態。在有必要的時候,全節點將解密“metadata”來重構StarkNet的歷史。

參考StarkNet開發倡導者?@barretodavid寫的《StarkNet’sArchitectureReview》。

瀏覽器?https://testnet.starkscan.co/,L2?動態出塊,以太坊一小時結算

賬戶抽象與交易模型

不同于以太坊EOACA的雙賬戶設計,StarkNet實現了原生賬戶抽象,只有一種賬戶設計,借鑒了EIP4337的精神,

下圖為交易模型,

https://community.starknet.io/t/starknet-account-abstraction-model-part-1/781?

原生賬戶抽象為賬戶可編程打開大門,StarkNet的開發倡導者@barretodavid提到StarkNet上實現手機硬錢包的思路。

以太坊上的EOA僅支持Secp?256?k?1橢圓曲線上的簽名方案ECDSA

大部分的智能手機都不支持以太坊的橢圓曲線。

所以移動錢包需要依靠軟件簽署交易,移動錢包因此是熱錢包。

StarkNet原生賬戶抽象,支持多種橢圓曲線,簽名驗證高度可編程,因此基于StarkNet/Cairo的手機錢包完全可以變成硬錢包。

Cairo已經有一個?nistp?256?的實現

https://github.com/spartucus/nistp?256-cairo

簡單來講就是直接調用手機的加密模塊來對交易進行“硬簽名”。

STARK

Stacks成為比特幣鏈上規模最大智能合約項目:1月18日消息,根據 Stacks 鏈上數據顯示,該網絡已實現每月超過 3.5 億次 API 請求、40,000 個 Hiro 錢包下載,以及 2,500 個 Clarity 智能合約,目前 Stacks 已成為比特幣鏈上規模最大的智能合約項目。由于其獨特的 PoX 共識機制,每月有超過 11,000 名用戶在 Stacks 上獲得超過 100 比特幣獎勵,迄今為止,該機制已交付價值超過 5000 萬美元的比特幣獎勵,鎖倉量超過 10 億美元。

在 Stacks 上啟動的第一個項目是紐約市和邁阿密市的 CityCoin,Stacks 基金會執行董事 Brittany Laughlin 表示,Stacks 社區已經證明了比特幣智能合約的巨大潛力,從 DeFi 到 NFT,從 CityCoin 到慈善事業,從便攜式身份到新的基礎設施,所有這些是都在一年內完成的。(cointelegraph)[2022/1/18 8:56:30]

目前有許多不同的證明系統,如Halo、PLONK、Groth?16、Groth?09、Marlin、Plonky?2等,它們都屬于SNARK證明系統。證明系統存在一個證明者生成證明,一個驗證者驗證證明。而不同的ZK項目幾乎都會使用不同的證明系統,StarkNet使用的STARK某種意義上屬于一種特別的SNARK。

STARK相比SNARK有更多創新。它不需要和SNARK一樣依賴“可信設置”。它還帶有更簡單的密碼學假設,避免了對橢圓曲線、配對和指數知識假設的需要,純粹依賴哈希和信息論,因此抗量子攻擊。總體來講STARK比SNARK更安全。

在擴展性方面,STARK的擴展性更強。證明生成速度具備線性擴展性,驗證時間和證明大小具備對數擴展性。但缺點在于生成的證明尺寸更大。但隨著證明規模增加,驗證成本將會邊際遞減——這意味證明越大,總成本越低。

https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/

總結一下,相比SNARK,STARK更安全,平均驗證時間和證明大小將隨著驗證規模擴大而降低,缺點在于初始證明尺寸更大,因此更適合大規模應用。

擴展性詳解

證明時間線性擴展:證明人花費的時間與哈希調用的數量呈近似線性關系。

在80比特的安全級,STARK每12288次哈希調用的證明者執行時間為1秒,得12288?次/S;而每98304次哈希調用需要10秒,得9830?次/S,因此,我們可以知道STARK的證明時間和哈希調用基本呈近似線性關系。如下圖所示

https://eprint.iacr.org/2021/582.pdf

**驗證和證明大小對數擴展:驗證時間與哈希調用呈現對數關系。**如下圖所示:

左圖可以看出,當哈希調用從3072增加到49152?,驗證時間從40毫秒增加到60毫秒。而當哈希調用從49152增加到786432?,驗證時間僅從60毫秒增加到80毫秒。證明大小同理。因此,我們可得知,哈希調用次數越多,平均驗證時間越短,平均證明大小也會更小。

摩根士丹利(MORGAN STANLEY):央行可能會用加密貨幣加強負利率:根據摩根士丹利(Morgan Stanley)的新發現,各國央行可以使用加密貨幣,使得大幅降息來減輕下一場金融危機的負面影響。[2018/5/15]

遞歸證明

任何通用的、簡潔的知識系統的證明/論證都可以用來遞增地驗證計算。這意味著一個計算可以產生一個證明,以證明該計算的前一個實例的正確性,這個概念被非正式地稱為“遞歸證明組合"或者"遞歸?STARKs”。

換句話說,一個遞歸STARK證明者可為一個陳述生成一個證明,即系統的狀態可以從a移到a?1?。因為證明者已經驗證了一個證實a的計算完整性的(遞歸)證明,并且忠實地執行了狀態a的計算,達到了新的狀態a?1?。簡而言之,你可以理解該過程將a和a?1兩個證明合并為了一個證明**。如下圖所示:**

https://medium.com/starkware/recursive-starks-78?f?8?dd?401025?

CairoVM:驗證計算正確性

CairoVM概述

有時候也通過StarkNetOS/CairoOS的方式出現,是一個東西,不同于EVM執行計算,CairoVM本身僅為計算生成證明并驗證正確性。

CairoVM是一個是一個采用馮諾依曼架構的CPUVM,其編程語言也叫Cairo,Cairo語言基于Cairo匯編,因此編譯效率非常高。Cairo是CPUAlgebraicIntermediateRepresentation的首字母縮寫。CairoVM包含單個AIR來驗證這個「CPU」的指令集。

關于工作方式,它根據收到的輸入的交易來更新系統的L2狀態。促進StarkNet合約的執行。操作系統是基于?Cairo?的,本質上是使用STARK證明系統對其輸出進行證明和驗證的程序。StarkNet合約可用的具體系統操作和功能可作為對操作系統的調用。

Cairo語言概述

Cairo是StarkNet的智能合約語言,基于STARK設計,Cairo程序可生成STARK證明。

Cairo程序是匯編代碼的集合,Cairo開發人員將以高級語言Cairo來編寫智能合約而非Cairo匯編。當我們寫了一個Cairo程序,Cairo編譯器會將Cairo代碼編譯成Cairo匯編,Cairo匯編器將采用匯編代碼生成Cairo字節碼以在CairoVM執行,當他最終運行到真實機器上還需要編譯為操作碼和機器代碼。

非確定性計算

Cairo程序的目標是驗證某些計算是正確的,因此可以相比那些確定性計算走捷徑。它意味著為了證明一個計算,驗證者可以做一些不屬于計算的額外工作。

例如,證明?x=?961?的平方根?y?是在?0,?1,…,?100?的范圍內。直接的方法是寫一個復雜的代碼,從961開始,計算它的根,并驗證這個根是否在所要求的范圍內。

偽代碼如下:猜測?y?的值。計算?y?2?并確保其結果等于?x。驗證?y?是否在范圍內。并且,如果我們采取以下的計算方式。Y=SQRT(X)我們可以改為計算如下。Y*Y=X

我們可以看到,有兩種可能的解決方案。Y?和-Y,而且有可能只有其中一個能滿足其余的指令。

這意味著,如果沒有一些額外的信息,一些開羅程序是無法有效執行的。這種信息由我們稱之為提示的東西提供。提示是CairoRunner的特殊指令;用于解決不能輕易推導出數值的非確定性問題。理論上,提示可以用任何編程語言編寫。在當前的?Cairo?實現中,提示是用Python寫的。

關于確定性和非確定虛擬機,witness

Cairo在這里其實也會涉及到有確定性的CairoVM和非確定性的CairoVM。前者就是正經的zkVM,證明和驗證;后者用于非確定性計算。

anacceptinginputtotheCairodeterministicmachine,thatconstitutesthewitnesstothenondeterministicmachine.

Cairo確定性VM的一個可接受的輸入構成了非確定性VM的witness,ZKP需要將witness作為輸入輸出proof。

是一個并行狀態機。

內存模型:只讀非確定性

只讀的非確定性內存,這意味著每個內存單元的值由證明者選擇,它不能隨時間改變,是不可變的。該指令只能從中讀取。我們可以將之視為一次寫入的存儲器:可以向一個單元寫一次值,但事后不能改變它。

而且它是連續的,如果有空會被任意值填充。

ROM優點包括

低成本,電路比RAM更簡單

永存儲,

不可篡改,數據不能修改和刪除

內置函數:減少代碼編譯

開發者直接調用內置函數可以減少計算開銷,優化開發體驗,而不需要代碼轉換。添加內置函數不會影響CPU約束。這只是意味著相同的內存在CPU和內置函數之間共享,如圖所示。

https://medium.com/@pban/demystifying-cairo-white-paper-part-i-b?71976?ad?0108?

Cairo體系結構沒有指定一組特定的內置函數。可以根據需要在AIR中添加或刪除內置函數。

CPU架構:靈活

更加靈活,可以通過軟件編程的方式無限接近AISC的性能。以Cairo復刻其他虛擬機。

啟動加載:從哈希加載程序

程序可以將另一個程序字節碼寫入內存,并讓ProgramCounter指向該內存段,然后運行該程序。一個從哈希啟動加載的用例是,一個被稱為啟動加載器的程序計算并輸出另一個程序的字節碼,然后像之前一樣開始執行它。這樣驗證者只需要知道程序的哈希而非完整字節碼。這有兩個好處:

可擴展性,驗證時間和程序大小呈現對數關系,正如STARK部分提到的。

隱私性,驗證者可以驗證程序是否正確執行而無需知道計算。

連續記憶:連續訪問內存地址

Cairo有一個技術要求,程序訪問的內存地址必須是連續的。例如,如果訪問地址7和9?,那么在程序結束之前也必須訪問8?。如果地址范圍中存在小間隙,證明者將自動用任意值填充這些地址。通常,存在這樣的間隙是低效的,因為這意味著內存在未被使用的情況下被消耗。引入太多的漏洞可能會使證明的生成對于誠實的證明者來說過于昂貴而無法執行。然而,這仍然沒有違反可靠性保證——無論如何都不會產生錯誤的證明。

StarkNet生態

盤點StarkNet生態:

https://h?0?m?83?hhc?6?r.feishu.cn/docx/doxcnS?3?GGdXXc?1?PzKh?9?uTgTR?73?c

全鏈游戲

全鏈游戲——生產效率消費體驗的變革,基本上,有思考,有實踐,有資金,最重要的是有一個富有活力的開發者社區。

MatchboxDAO:https://mirror.xyz/matchboxdao.eth

TheFutureofOn-ChainGaming:

https://volt.capital/blog/the-future-of-on-chain-gaming

Game2.0?:

https://www.guiltygyoza.xyz/2022/07/game?2?

重點推薦Topology團隊,Lootreamls。

合約錢包

合約錢包變成硬錢包的實現方法有兩種。

共識層支持手機硬件。在StarkNet這樣原生賬戶抽象的L2上,支持多種橢圓曲線,而不是和以太坊一樣只支持ECDSA,因此可以讓手機的加密芯片/模塊直接對交易簽名。因此,在原生賬戶抽象的L2上,合約錢包可以和硬錢包一樣直接通過硬件簽署交易。

錢包層進行簽名轉錄。在以太坊這樣非原生賬戶抽象的網絡上,合約錢包可以簽名轉錄。像EIP-4337可以自定義驗證邏輯,用戶用手機硬件支持的算法簽名后再轉換為以太坊支持的ECDSA。

StarkNet的開發倡導者@barretodavid,提到的在StarkNet上實現手機硬錢包的思路。

以太坊上的EOA僅支持Secp?256?k?1橢圓曲線上的簽名方案ECDSA

大部分的智能手機都不支持以太坊的橢圓曲線。

所以移動錢包需要依靠軟件簽署交易,移動錢包因此是熱錢包。

StarkNet原生賬戶抽象,支持多種橢圓曲線,簽名驗證高度可編程,因此基于StarkNet/Cairo的手機錢包完全可以變成硬錢包。

https://twitter.com/barretodavid/status/1563584823884935168?

Cairo已經有一個(

)的實現。

合約錢包全鏈游戲的耦合,開辟了錢包DeFi之外的新場景。Argent、Cartridge.gg正在做。

鏈上?AI

目前有2個機器學習項目,ML平臺Giza和鏈上交易機器人StarkNet中文群還有另外一個。

ModulusLabs:https://www.moduluslabs.xyz/

Giza-MachineLearningintheBlockchain:

https://gizatech.xyz/

StarkNetdecentralization:Kickingoffthediscussion

mirror.xyz:https://community.starknet.io/t/starknet-decentralization-kicking-off-the-discussion/711?

總結下StarkNet與AIML為何如此登對?ZKP允許AIML鏈下計算,將生成證明交由他人驗證。

應用范圍包括:游戲、預言機、交易、反女巫、KYC、數據隱私;AI模型算力挖礦。

致謝

本文由?HackerDojo?資助和創作。HackerDōjo?是由?Hacker?共建的加密、Web3前沿技術開源知識社區。

感謝創作者?Maxlion?及?HackerDojo。

原文鏈接:https://community.dorahacks.io/t/starkware/272?

Tags:STAARKSTARKSTARParaStatearkm幣行情STARK價格Cosmostarter

MEXC
上海數據交易所牽頭啟動數據交易鏈建設_FOR

ForesightNews消息,據央廣網報道,大數據流通與交易技術國家工程實驗室與上海數據交易所正式啟動國內首個數據交易鏈的建設工作.

1900/1/1 0:00:00
BKEX 關于ETP專區新增GMX3L、GMX3S (GMX)并開啟交易瓜分 1,200USDT 活動的公告_USD

尊敬的用戶: BKEXETP專區將于2023年3月9日15:00上線GMX3L、GMX3S,并同步開啟交易瓜分1,200USDT活動.

1900/1/1 0:00:00
報告:DeFi替代CeFi成為VC的最愛_DEFI

金色財經報道,在加密行業融資方面,本周是平靜的一周。向加密貨幣初創公司提供的資金略低于9100萬美元,與前一周的2.54億美元相比大幅下降.

1900/1/1 0:00:00
比特幣的目標是30000美元,而ORBN和FIL看到巨大收益_ORB

隨著比特幣(BTC)的目標是達到30,000美元的水平,加密貨幣再次引起了全球投資者和交易者的關注,而其他數字資產.

1900/1/1 0:00:00
BitMart上線GemHUB (GHUB)_NEX

親愛的BitMart用戶:BitMart將于2023年3月9日上線代幣GemHUB(GHUB)。屆時將開通GHUB/USDT交易對.

1900/1/1 0:00:00
XT.COM關於上線BCHUSDT,XRPUSDT季度U本位交割合約的公告_COM

尊敬的XT.COM用戶:XT.COM將於2023年03月07日08:00上線BCHUSDT、XRPUSDT季度U本位交割合約,支持1-20倍槓桿.

1900/1/1 0:00:00
ads