簡介
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應用程序是一系列支持可擴展和自我托管交易的應用程序,區分現貨交易和杠桿交易。應用包括兩個組件,智能合約和后端。
前SEC官員:Ripple裁決可能會被上訴并被推翻:金色財經報道,美國證券交易委員會前高管John Reed Stark表示,法院對Ripple案的裁決在多個方面都令人不安。這一裁決似乎違背了美國證券交易委員會保護投資者的使命。法院裁定XRP作為證券出售給機構投資者。因此,Ripple裁決賦予機構投資者SEC提供的保護。然而,由于法院裁定XRP在加密貨幣交易所出售時不是證券,因此該裁決不能保護散戶投資者。
Stark補充稱,該裁決不僅是傲慢,而且是侮辱,因為它假定散戶投資者通常是愚蠢的。Ripple的裁決很可能會被上訴。此外,鑒于該裁決前所未有的性質,法院很可能會立即批準中間上訴,第二巡回法院很可能會審理該上訴。[2023/7/16 10:58:03]
標準流程
用戶發起交易,交易可以直接與智能合約交互每個交易都有一個唯一的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上部署應用。
基本介紹
在以太坊上,每提交一筆交易都需要所有節點檢查、驗證并執行交易來保證計算正確性,并將計算后的狀態變化在網絡中廣播。
美國法官批準從FTX破產案中移除其土耳其子公司:金色財經報道,美國特拉華州破產法院法官批準從 FTX 破產案中移除其土耳其子公司 FTX Turkey。去年 11 月 FTX 申請破產后,土耳其執法部門宣布該公司在當地的活動正在接受調查,隨后下令沒收 FTX 在該國的大部分資產。 FTX 在美國的新管理層辯稱,將 FTX Turkey 和 SNG Investments(其資產和活動主要局限于土耳其)納入重組計劃是徒勞的。法院認定該請求符合 FTX 及其資產的最大利益。
上月底,FTX尋求在其破產案件的范圍中移除土耳其子公司。[2023/2/14 12:06:07]
以太坊虛擬機(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語言的轉譯器
OogaVerse項目Discord服務器遭到攻擊:金色財經報道,據CertiK監測,OogaVerse項目Discord服務器遭到攻擊。請社區用戶在服務器修復之前不要點擊任何鏈接。[2023/2/3 11:44:45]
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
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全節點解密。
全節點基本發揮存儲功能。全節點存儲狀態改變、元數據、證明以及記錄在StarkNet中的已被執行的所有事務,并跟蹤系統的當前全局狀態。在有必要的時候,全節點將解密“metadata”來重構StarkNet的歷史。
美CFTC專員:反對《數字商品消費保護法》,已要求參議院禁止加密貨幣交易所“自我認證”:金色財經報道,美國商品期貨交易委員會(CFTC)專員克里斯蒂·戈德史密斯·羅梅羅 (Christy Goldsmith Romero) 已要求美國參議院收緊一項加密法案《數字商品消費者保護法》(DCCPA),該法案將授予加密貨幣交易所自我認證(self-certify)的權力。據悉,一旦該法案通過賦予加密貨幣交易所自我認證權力,可能會讓交易所對上線特定加密貨幣保持實質性控制,繼而降低美國商品期貨交易委員會監督加密貨幣交易的能力,甚至會繞開美國證券交易委員會。(cryptoslate)[2023/1/19 11:20:40]
參考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的擴展性更強。證明生成速度具備線性擴展性,驗證時間和證明大小具備對數擴展性。但缺點在于生成的證明尺寸更大。但隨著證明規模增加,驗證成本將會邊際遞減——這意味證明越大,總成本越低。
跨鏈橋 Hop Protocol 已開放治理代幣 HOP 申領:金色財經消息,跨鏈橋 Hop Protocol 在 Twitter 上宣布已開放治理代幣 HOP 申領,代幣合約地址為 0xc5102fe9359fd9a28f877a67e36b0f050d81a3cc,初始流通量為 5480 萬枚 HOP。用戶在領取空投前需要選擇一位委托進行治理的代表。[2022/6/10 4:15:04]
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模型算力挖礦。
研究導讀: 中本聰在2009年創造比特幣的時候,就有了關于支付通道的想法,并在Bitcoin1.0中包含了支付通道的代碼草稿.
1900/1/1 0:00:00社交媒體已經改變了我們的溝通方式,但不是每個人都認為這些變化總是積極的。許多社交媒體平臺都因沒有適當調整內容而受到批評,導致虛假信息的傳播.
1900/1/1 0:00:00隨著越來越多的品牌進入Web3領域,成千上萬的用戶也隨之而來,那么讓我們退一步審視:如何成功啟動一個Web3項目所需可以提高品牌的忠誠度和知名度,而不是傷害它的條件.
1900/1/1 0:00:00在Vitalik的文章及Ethereum社區提出的一些Roadmap中,對于ETH2.0之后的規劃,都有提到一個核心觀點——中心化出塊、去中心化驗證.
1900/1/1 0:00:00TL;DR: 1.BTC減半將在約一年后發生,其減半后安全性會為BTC二層帶來更多關注,同時市場亦在尋找和減半相關、更高波動性的交易機會.
1900/1/1 0:00:00背景 以太坊網絡的合并發生在2022年9月15日,導致ETH資產的基本面發生變化。現在,由于以下原因,長期持有ETH對投資者更具吸引力:ETH發行減少:合并最明顯的鏈上影響是ETH發行率下降.
1900/1/1 0:00:00