簡介
StarkEx和StarkNet均為StarkWare團隊開發的項目,前者類似Iaas,類比應用鏈,StarkWare幫助大型項目開發專有應用Rollup;后者則是可部署通用應用的Rollup。
StarkWare主要由世界頂級密碼學家構成,
EliBen-Sasson:Co-Founder&首席科學家,以色列理工學院計算機專業的教授。Zcash的創始科學家,ZK-SNARKs和ZK-STARK的發明者。AlessandroChiesa:Co-Founder&首席科學家,加州大學伯克利分校計算機專業的教授。Zcash的創始科學家,zk-SNARKs的聯合發明者,libsnark的核心開發者。UriKolodny:Co-Founder&CEO,Uri是一個商業經驗豐富、善于合作的連續創業者。MichaelRiabzev:Co-Founder&首席架構師。以色利理工學院的博士,曾在Intel、IBM工作。OrenKatz:工程副總裁。Hebrew大學計算機專業畢業,TelAvivMBA,20年經驗的資深工程師。
截止目前,StarkWare已經完成6輪融資,共計2.73億美元。尤其是最近一輪融資金額達到1億美元,使其估值翻了兩番,達到80億,是所有L2項目中估值最高的。Vitalik是種子輪投資者,此外,投資方名單中還包括Paradigm、紅杉資本、PanteraCapital、FoundersFund等多輪投資者。
參考鏈接:https://mp.weixin.qq.com/s/VthPnsONmW8yywna0QzFQg
StarkEx:專有ZKR引擎
簡介
在去年和今年上半年,StarkWare通過提供擴容技術解決方案StarkEx創立了擴容即服務的商業模式,建立應用專有網絡,服務業內頭部客戶dYdX、Sorare、ImmutableX、DeversiFi等。
整體架構
工作流包括以下四個環節
打包交易:鏈下服務器處理客戶請求,將多個交易組合成一個“批次”,供StarkEx處理。確認交易和更新狀態:鏈下服務器確認交易合法,并以被壓縮后的哈希形式更新系統狀態。為交易生成證明:完成上述流程后,SHARP會為交易生成STARK證明以確認交易的有效性。然后將證明和更新發送到鏈上Verifier智能合約,以確保交易的完整性。鏈上驗證證明:一旦STARK證明被驗證,狀態更新被提交并結算回以太坊主網。所有交易都是在鏈外處理和驗證的,而其完整性的證明是在鏈上驗證的。SHARP是一個共享證明者,它同時為多個StarkEx客戶/應用提供證明生成服務——生成計算完整性聲明的證明。
Verifier是部署在以太坊上的智能合約,用于驗證來自StarkEx的交易的正確性。
StarkWareApplications
StarkEx應用程序是一系列支持可擴展和自我托管交易的應用程序,區分現貨交易和杠桿交易。應用包括兩個組件,智能合約和后端。
香港財政司司長:政府將對Web3采取“適當監管”和“推動發展”兩者并重的策略:4月9日消息,香港特區政府財政司司長陳茂波在香港特區政府網站發表司長隨筆《發展 Web3—守正創新 穩慎前行》,稱《財政預算案》提出推動香港高質量發展三大方向,認為當中數字經濟和第三代互聯網(Web3)的應用,都極具發展潛力。單是在這個星期,就有最少四個與Web3、數字經濟、金融科技等相關的大型研討會或嘉年華活動在香港舉行,當中個別活動更預計有超過一萬人次實體參與。
陳茂波表示,過去一段時間虛擬資產巿場大幅波動,以至有虛擬資產交易所倒閉,都讓一些人懷疑Web3的前景,但這正是推動Web3發展的最好時機。政府將采取“適當監管”和“推動發展”兩者并重的策略,包括于今年6月引入虛擬資產服務提供者發牌制度,亦正研究穩定幣等監管,確保虛擬資產行業可持續和負責任發展。[2023/4/9 13:52:48]
標準流程
用戶發起交易,交易可以直接與智能合約交互每個交易都有一個唯一的id,共同組成一個交易流,StarkEx應用將交易流傳輸到后端后端將狀態轉換提交給SHARP,SHARP為狀態轉換生成證明SHARP向驗證者合約提交證明并在驗證者完成驗證后,驗證者將之記錄在VerifierFactRegistry,然后后端將在StarkEx智能合約上執行狀態轉換。StarkEx智能合約檢查狀態轉換是否符合預定義規則來確保狀態轉換的有效性。參考鏈接:Introduction::StarkExDocumentation
高級概述
如下圖所示,StarkEx系統旨在接受來自合作伙伴后端的用戶交易。這些交易隨后由StarkEx系統進行批處理和處理。結合前面智能合約和后端的介紹,整個StarkEx處理交易的過程和職責分工概述如下。
前端,StarkEx客戶支持兩類操作,鏈上和鏈下。前者是標準的以太坊交易,用戶直接通過StaarkEx合約進行存款取款,后者是通過StarkEx引擎執行的操作,如dydx等。訂單驗證,由StarkEx客戶的后端設置并進行驗證。業務邏輯,客制化StarkEx合約來支持客戶業務邏輯交易流,傳輸到StarkEx的所有交易都使用稱為tx_ids的連續標識符進行驗證和索引,類似nonce的做法,交易發送方,一旦StarkEx網關確認交易正確就會保證執行它,并且將在前端提前顯示給用戶,而不是等待鏈上最終確定。錯誤處理,如果檢測到無效交易,StarkEx系統將會向客戶的專業端點報告錯誤,客戶將會以另外的要執行的交易列表來代替無效交易,如空列表等。批處理審核,任何批次在鏈上傳輸之前可以被客戶審核,如果和預期狀態轉換和不一致,客戶可以不批準或者回滾。抗審查,如果客戶審查用戶請求,StarkEx允許用戶直接通過StarkEx合約執行操作,客戶必須在規定時間內向用戶提供它,否則StarkEx合約將會凍結。參考文檔:StarkExPartnerIntegration::StarkExDocumentation
StarkNet:通用ZKR
簡介
不同于為不同的應用定制ZKRollup的StarkEx,StarkNet是一個通用的ZKRollup,開發者可在StarkNet上部署應用。
約6000萬枚DOGE從未知錢包轉移到Coinbase:金色財經報道,據WhaleAlert數據顯示,60,329,057枚DOGE(5,042,594美元)從未知錢包轉移到Coinbase。[2023/1/17 11:15:26]
基本介紹
在以太坊上,每提交一筆交易都需要所有節點檢查、驗證并執行交易來保證計算正確性,并將計算后的狀態變化在網絡中廣播。
以太坊虛擬機(EVM)|ethereum.org
介紹以太坊虛擬機及其與狀態、交易和智能合約的關系。
StarkNet僅在鏈下執行計算并生成一個ZK證明,然后在鏈上驗證該證明的正確性,最后把多個L2交易打包為以太坊上的一筆交易。因此,StarkNet上發生的交易成本可以被同一打包批次的其他交易所均攤,就像拼車一樣,交易越多,成本越低。
除此之外,相比以太坊讓每個節點完整執行交易的方法,StarkNet為交易生成ZK證明的方法可以大大提高網絡運行速度、減少鏈上通信量、增加網絡吞吐,因此StarkNet相比以太坊具有更高TPS和更低Gas。
簡而言之,將驗證計算正確性比喻為老師需要檢查同學們是不是掌握了知識。以太坊的方法是檢查每個同學是否能背誦整本教科書,而StarkNet的方法是讓同學們做卷子。后者的效率更高,成本更低,但仍然保證安全。
EVM兼容
StarkNet網絡本身不兼容?EVM?,而設計了另外一套?ZK?友好的Cairo?VM?。
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特性才能最大化執行效率。
FTX在巴哈馬購有至少19處房產,價值近1.21億美元:11月22日消息,官方房地產記錄顯示,FTX、SBF的父母,以及該交易所的其他高管過去兩年里在巴哈馬購買了至少19處房產,價值近1.21億美元。
FTX購買的大多為海濱豪宅,其中包括Albany高檔度假社區內的七套共管公寓,價值近7200萬美元。房產契約顯示,這些公寓由FTX的一個部門購買,用于關鍵員工的居住。
此外值得一提的是,在Old Fort Bay的一處住宅簽名人為SBF的父母Joseph Bankman和Barbara Fried。在被詢問為何決定在巴哈馬購買房產,以及這筆錢究竟是如何支付的時候,SBF的父母回應稱一直都試圖將房產歸還給FTX。(路透社)[2022/11/22 7:56:01]
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
ZK-EVMtype3writteninCairo,leveragingSTARKproofsystem.-GitHub-sayajin-labs/kakarot:ZK-EVMtype3writteninCairo,leveragingSTARKproofsystem.
工作原理
組成部分
StarkNet有五個組成部分。分別是在StarkNet上的Prover,Sequencer和全節點;以及部署在以太坊上的驗證者和核心狀態合約。
https://david-barreto.com/starknets-architecture-review/#more-4602
1、當我們在StarkNet上發起一個交易,一個鏈下服務器——排序器將會接收、排序、驗證,并將它們打包到區塊。執行交易,然后狀態轉換發送給StarkNetCore合約;
2、證明者將為交易生成證明,并發送給以太坊的驗證者合約;
3、驗證者將驗證結果發送到以太坊上的StarkNetCore合約,并從StarkNetCore合約觸發一組新的以太坊交易,以更新鏈上的全局狀態以進行記錄保存。狀態事務作為“calldata”來發送,以節省L1事務gas。這些“metadata”可被StarkNet全節點解密。
DeFi可組合型杠桿協議Gearbox即將推出V2版本:7月7日消息,DeFi可組合型杠桿協議Gearbox宣布即將推出V2版本,早期僅針對一個精選的巨鯨名單列表開放,抵押品至少需要5萬美元。V2版將為杠桿用戶新增支持多個資產,還會有新的協議集成,以及支持杠桿穩定幣挖礦、杠桿挖礦Lido stETH、交叉抵押杠桿頭寸等。[2022/7/7 1:57:30]
全節點基本發揮存儲功能。全節點存儲狀態改變、元數據、證明以及記錄在StarkNet中的已被執行的所有事務,并跟蹤系統的當前全局狀態。在有必要的時候,全節點將解密“metadata”來重構StarkNet的歷史。
參考StarkNet開發倡導者?@barretodavid?寫的《StarkNet’sArchitectureReview》?1。
瀏覽器?https://testnet.starkscan.co/,L2?動態出塊,以太坊一小時結算
賬戶抽象與交易模型
不同于以太坊EOA+CA的雙賬戶設計,StarkNet實現了原生賬戶抽象,只有一種賬戶設計,借鑒了EIP4337的精神,
下圖為交易模型,
https://community.starknet.io/t/starknet-account-abstraction-model-part-1/781
原生賬戶抽象為賬戶可編程打開大門,StarkNet的開發倡導者@barretodavid?提到StarkNet上實現手機硬錢包的思路。
1.以太坊上的EOA僅支持Secp256k1橢圓曲線上的簽名方案ECDSA
2.大部分的智能手機都不支持以太坊的橢圓曲線。
3.所以移動錢包需要依靠軟件簽署交易,移動錢包因此是熱錢包。
4.StarkNet原生賬戶抽象,支持多種橢圓曲線,簽名驗證高度可編程,因此基于StarkNet/Cairo的手機錢包完全可以變成硬錢包。
Cairo已經有一個nistp256的實現
https://github.com/spartucus/nistp256-cairo
簡單來講就是直接調用手機的加密模塊來對交易進行“硬簽名”。
STARK
目前有許多不同的證明系統,如Halo、PLONK、Groth16、Groth09?、Marlin、Plonky2等,它們都屬于SNARK證明系統。證明系統存在一個證明者生成證明,一個驗證者驗證證明。而不同的ZK項目幾乎都會使用不同的證明系統,StarkNet使用的STARK某種意義上屬于一種特別的SNARK。
STARK相比SNARK有更多創新。它不需要和SNARK一樣依賴“可信設置”。它還帶有更簡單的密碼學假設,避免了對橢圓曲線、配對和指數知識假設的需要,純粹依賴哈希和信息論,因此抗量子攻擊。總體來講STARK比SNARK更安全。
在擴展性方面,STARK的擴展性更強。證明生成速度具備線性擴展性,驗證時間和證明大小具備對數擴展性。但缺點在于生成的證明尺寸更大。但隨著證明規模增加,驗證成本將會邊際遞減——這意味證明越大,總成本越低。
數據:以太坊網絡昨日燃燒銷毀低于2000枚ETH:金色財經報道,據Ultrasound數據顯示,以太坊網絡昨日燃燒銷毀低于2000枚ETH,僅為1998.31枚ETH。其中,OpenSea銷毀193.38枚ETH,ETH transfers銷毀181.03枚ETH,Uniswap V2銷毀127.11枚。
注:自以太坊倫敦升級引入EIP-1559后,以太坊網絡會根據交易需求和區塊大小動態調整每筆交易的BaseFee,而這部分的費用將直接燃燒銷毀。[2022/5/16 3:18:39]
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的證明時間和哈希調用基本呈近似線性關系。如下圖所示
Beprint.iacr.org582.pdf
**驗證和證明大小對數擴展:驗證時間與哈希調用呈現對數關系。**如下圖所示:
左圖可以看出,當哈希調用從3072增加到49152,驗證時間從40毫秒增加到60毫秒。而當哈希調用從49152增加到786432,驗證時間僅從60毫秒增加到80毫秒。證明大小同理。因此,我們可得知,哈希調用次數越多,平均驗證時間越短,平均證明大小也會更小。
遞歸證明
任何通用的、簡潔的知識系統的證明/論證都可以用來遞增地驗證計算。這意味著一個計算可以產生一個證明,以證明該計算的前一個實例的正確性,這個概念被非正式地稱為“遞歸證明組合"或者"遞歸STARKs”。
換句話說,一個遞歸STARK證明者可為一個陳述生成一個證明,即系統的狀態可以從a移到a+1。因為證明者已經驗證了一個證實a的計算完整性的(遞歸)證明,并且忠實地執行了狀態a的計算,達到了新的狀態a+1。簡而言之,你可以理解該過程將a和a+1兩個證明合并為了一個證明**。如下圖所示:**
https://medium.com/starkware/recursive-starks-78f8dd401025
CairoVM:驗證計算正確性
CairoVM概述
有時候也通過StarkNetOS/CairoOS的方式出現,是一個東西,不同于EVM執行計算,CairoVM本身僅為計算生成證明并驗證正確性。
CairoVM是一個是一個采用馮諾依曼架構的CPUVM,其編程語言也叫Cairo,Cairo語言基于Cairo匯編,因此編譯效率非常高。Cairo是?CPU?Algebraic?Intermediate?Representation的首字母縮寫。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的值。計算y2并確保其結果等于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-b71976ad0108
Cairo體系結構沒有指定一組特定的內置函數。可以根據需要在AIR中添加或刪除內置函數。
CPU架構:靈活
更加靈活,可以通過軟件編程的方式無限接近AISC的性能。以Cairo復刻其他虛擬機。
啟動加載:從哈希加載程序
程序可以將另一個程序字節碼寫入內存,并讓ProgramCounter指向該內存段,然后運行該程序。一個從哈希啟動加載的用例是,一個被稱為啟動加載器的程序計算并輸出另一個程序的字節碼,然后像之前一樣開始執行它。這樣驗證者只需要知道程序的哈希而非完整字節碼。這有兩個好處:
可擴展性,驗證時間和程序大小呈現對數關系,正如STARK部分提到的。隱私性,驗證者可以驗證程序是否正確執行而無需知道計算。連續記憶:連續訪問內存地址
Cairo有一個技術要求,程序訪問的內存地址必須是連續的。例如,如果訪問地址7和9,那么在程序結束之前也必須訪問8。如果地址范圍中存在小間隙,證明者將自動用任意值填充這些地址。通常,存在這樣的間隙是低效的,因為這意味著內存在未被使用的情況下被消耗。引入太多的漏洞可能會使證明的生成對于誠實的證明者來說過于昂貴而無法執行。然而,這仍然沒有違反可靠性保證——無論如何都不會產生錯誤的證明。
StarkNet生態
盤點StarkNet生態
全鏈游戲
全鏈游戲——生產效率+消費體驗的變革,基本上,有思考,有實踐,有資金,最重要的是有一個富有活力的開發者社區。
MatchboxDAO
TheFutureofOn-ChainGaming
Game2.0
重點推薦Topology團隊,Lootreamls。
合約錢包
合約錢包變成硬錢包的實現方法有兩種。
共識層支持手機硬件。在StarkNet這樣原生賬戶抽象的L2上,支持多種橢圓曲線,而不是和以太坊一樣只支持ECDSA,因此可以讓手機的加密芯片/模塊直接對交易簽名。因此,在原生賬戶抽象的L2上,合約錢包可以和硬錢包一樣直接通過硬件簽署交易。錢包層進行簽名轉錄。在以太坊這樣非原生賬戶抽象的網絡上,合約錢包可以簽名轉錄。像EIP-4337可以自定義驗證邏輯,用戶用手機硬件支持的算法簽名后再轉換為以太坊支持的ECDSA。StarkNet的開發倡導者@barretodavid,提到的在StarkNet上實現手機硬錢包的思路。
1.以太坊上的EOA僅支持Secp256k1橢圓曲線上的簽名方案ECDSA
2.大部分的智能手機都不支持以太坊的橢圓曲線。
3.所以移動錢包需要依靠軟件簽署交易,移動錢包因此是熱錢包。
4.StarkNet原生賬戶抽象,支持多種橢圓曲線,簽名驗證高度可編程,因此基于StarkNet/Cairo的手機錢包完全可以變成硬錢包。
https://twitter.com/barretodavid/status/1563584823884935168
Cairo已經有一個(<https://github.com/spartucus/nistp256-cairo>)的實現。
合約錢包+全鏈游戲的耦合,開辟了錢包+DeFi之外的新場景。Argent、Cartridge.gg正在做。
鏈上AI
目前有2個機器學習項目,ML平臺Giza和鏈上交易機器人StarkNet中文群還有另外一個。
ModulusLabs
Giza-MachineLearningintheBlockchain
StarkNetdecentralization:Kickingoffthediscussion
總結下StarkNet與AI+ML為何如此登對?ZKP允許AIML鏈下計算,將生成證明交由他人驗證。
應用范圍包括:游戲、預言機、交易、反女巫、KYC、數據隱私;AI模型算力挖礦。
北京時間2月23日晚間,Coinbase?宣布將基于OPStack?推出以太坊Layer?2網絡?Base,這是一個安全、低成本、開發者友好的以太坊Layer?2?.
1900/1/1 0:00:00上周,美國證券交易委員會突然與Kraken達成和解,以Kraken關停質押服務而收場。這引發諸多討論,關于以太坊等區塊鏈上的“質押”服務是否能夠繼續尋在.
1900/1/1 0:00:00Blur0擼A7的技術向復盤。先說戰績:blur從12月底開始操作期間嘗試了七八種策略,3階段到手了9萬多分,分布在差不多20個地址里.
1900/1/1 0:00:00雖然區塊鏈行業發展已十年有余,但如果以太坊要與Web2巨頭相抗衡,并在軟件領域占據一片天地,就需要達到互聯網級別的規模,但現在沒有一個擴容方案或L1可以支持.
1900/1/1 0:00:00BUSD遭遇美國監管鐵拳,其風險究竟幾何,本文將從以下三方面剖析BUSD的風險:1.底層資產安全性和流動性2.Binance-pegUSD不等于BUSD3.Paxos團隊可能存在的問題1.底層資.
1900/1/1 0:00:002月7日,Arbitrum?開發團隊OffchainLabs宣布將于今年晚些時候為ArbitrumOne和ArbitrumNova推出下一代編程環境Stylus.
1900/1/1 0:00:00