# Starkware ### Starkware 的 zk 技術有甚麼特點? [參考資料](https://medium.com/qed-it/the-incredible-machine-4d1270d7363a) zk-SNARK 是 zkSync(zero-knowledge succinct non-interactive argument of knowledge)所使用的 zero-knowledge 技術,常常會跟 Starkware 的 zk-STARK(zero-knowledge scalable transparent argument of knowledge)做比較。 zk-STARK 是 Starkware 所開發以及採用的 zk 技術,與 zk-SNARK相比,zk-STARK 因為密碼學設計,不用初始化可信任的驗證裝置,所以不存在需信任參與人的問題。而當 zk-SNARK 開始運作時,必須初始化驗證裝置的參數,這個參數由幾個人去設定,設定的人之間彼此獨立。像 Zcash(採用 zk-SNARK)在開始運作時,也發起了一個[活動](https://z.cash/technology/paramgen/),就是一群參與人共同設置了驗證裝置的參數,如果要作惡,這幾個參與人就必須同時作惡,才會導致安全性出現問題。 ※ 驗證裝置就像考題,如果考題洩漏就有辦法作弊通過考試,zk-SNARK 的考題需要人為設定,而 zk-STARK 則可以自動產生並且無人知道考題內容。 zk-STARK 相較於 zk-SNARK 還有驗證速度更快,以及抗量子運算的優點,但其缺點也很明顯,其驗證的資訊量的大小明顯比 zk-SNARK 大,需要更多儲存空間。 ### StarkEx 特定需求的應用可以在 StarkEx 上建立,StarkEx 是許可制的 Layer2 並支援智能合約,採用鏈下計算鏈上證明的方式,大大減少 gas 的成本。 StarkEx 在以太坊上有 4 個部屬,分別是 DeversiFi、Immutable、dYdX 和 Sorare。 ### StarkEx 的元件與流程 [參考資料](https://docs.starkware.co/starkex-v4/overview) StarkEx 有分為鏈上元件和鏈下元件,分別為: * 鏈下元件 * 維持訂單狀態 * 在系統執行交易 * 傳送狀態更新給鏈上元件 * 鏈上元件 * 確認狀態轉換的有效性 * 維持狀態提交和系統資產 * 管理鏈上帳戶  [圖片來源](https://docs.starkware.co/starkex-v4/overview) 1. 系統中的所有交易都由應用程序執行並發送到 StarkEx 服務。 2. StarkEx 服務對交易進行批量處理並將該批量交易發送到共享證明服務(SHARP),以生成證明該批量交易有效性的證明。 3. SHARP 將 STARK 證明發送給鏈上 STARK 驗證者進行驗證。 4. StarkEx 服務向 StarkEx 合約發送鏈上狀態更新交易,只有在驗證者發現證明有效時才會被接受。 ### StarkEx 的資料可用性模式 [參考資料](https://docs.starkware.co/starkex-v4/starkex-deep-dive/data-availability-modes) 1. ZK-Rollup 會將用戶的餘額儲存在鏈上,所以是無需信任的(不必信任任何第三方),但會造成 gas 費用增加。 3. Validium 會將用戶餘額儲存在可信任的委員(節點)上,儲存完成後委員會附上簽章,如此交易在鏈上驗證時,只需要驗證交易以及簽章,不需要在鏈上儲存狀態,因為交易狀態儲存在鏈下(委員),如此可節省 gas 的費用。 ### StarkNet StarkNet 是一個無須許可的 layer2 網路,一樣支援採用 Cairo 的智能合約,在 StarkNet 上的應用,可以互相的組合與疊加就像 Ethereum 一樣。 ### 官方在 StarkEx 與 StarkNet 差別不同時期有不同想法 #### StarkEx 會成為 StarkNet 的應用之一(2021 年 1 月 26 日) [參考資料](https://medium.com/starkware/on-the-road-to-starknet-a-permissionless-stark-powered-l2-zk-rollup-83be53640880) StarkEx 可以想像成 Starkware 為了證明其 STARK 和 ZK-Rollup 應用擴展的能力,為某幾個特別應用所做的客製化項目,所以是許可制的,而 StarkNet 則是 STARK 和 ZK-Rollup 的通用型項目,任何應用都可以在上面構建,不需要任何許可,並且可以相互組合與疊加,並且未來 StarkEx 也會成為 StarkNet 的其中一個應用。 #### StarkEx 及 StarkNet 依據應用的需求選擇(2022 年 6 月 2 日) [參考資料](https://medium.com/starkware/starks-starkex-and-starknet-9a426680745a#:~:text=Unlike%20StarkEx%2C%20where%20applications%20are,to%20be%20processed%20and%20proved.) StarkEx 可能是適合大部分不必與其他應用組合並適合 StarkEx 提供的 API 的應用程序的正確解決方案。StarkNet 可能更適合需要與其他應用同步交互或超出 StarkEx 提供的需求之應用。 StarkEx 是由應用提交交易,而 StarkNet 則是由 StarkNet 排序器(sequencers)批量處理交易並將其發送以進行處理和證明,也就是說 StarkNet 在應用(Cairo 智能合約)部屬好後,就不需要額外維護,不像 StarkEx 的應用還需要提交交易。 ### Starkware 的挑戰 Starkware 智能合約語言採用 Cairo 並不是 Solidity,但未來會推出將其他語言轉譯成 Cairo 的功能,所以這個問題會相對減輕,另外 Starkware 不是一個開源的項目,項目的透明性大幅下降,對開發者與社群而言相對不友善。 ### 參考資料 https://docs.starkware.co/starkex-v4/ https://medium.com/starkware/on-the-road-to-starknet-a-permissionless-stark-powered-l2-zk-rollup-83be53640880 https://z.cash/technology/paramgen/ https://starkware.co/starknet/ https://medium.com/qed-it/the-incredible-machine-4d1270d7363a https://medium.com/starkware/starks-starkex-and-starknet-9a426680745a#:~:text=Unlike%20StarkEx%2C%20where%20applications%20are,to%20be%20processed%20and%20proved. **作者:hugebing 協作人:y.w. 審稿人:狸貓(bill)** ### 以上文章內容不構成投資建議 ###### tags: `Blockchain Articles`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up