📜 [專欄新文章] [zkp 讀書會] Cairo 語言介紹
✍️ NIC Lin
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
Cairo 是 STARK 證明系統的其中一個編程語言,讓開發者能透過 Cairo 來使用 STARK,撰寫效能更高的 Dapp
Photo by Simon Berger on Unsplash
Warning:本篇會保持在 high level 的介紹,實際深入的部分請見文內附上的文檔或是官方開發者文件
背景介紹
建構於密碼學的零知識證明能提供計算的隱私性,但同時在區塊鏈生態系也被用來提升 Scalability — 我可以用 10 秒的運算資源來驗證原本耗費 1000 秒運算資源的計算過程
如同更多人熟悉的 SNARK,STARK 也是一個零知識證明的證明系統,但當前的 STARK 著重的是在 Scalability ,而非大家比較習以為常零知識證明提供的隱私性特質
其實目前基於 SNARK 的 Rollup 項目,例如 zkSync、Loopring、Aztec、zkopru,除了 Aztec 外,其他都是利用 SNARK 來增加 Scalability — 這些 Rollup 上資料都還是公開、沒有隱私性的
StarkWare 是目前唯一基於 STARK 的開發團隊
STARK 要加上隱私保護不會太難,只是 StarkWare 還沒有把這項功能放在未來規劃中
Cairo 簡介
標榜為圖靈完備的零知識證明系統語言,Cairo 對原本熟悉 Solidity 的開發者來說還是會感到比較難上手和陌生的。再加上套件庫還不夠充足,目前支援的雜湊函式是 Pedersen,數位簽章演算法是 ECDSA(相對於 SNARK,EdDSA 的效能反而比較差所以沒有支援)。
但 Cairo 還在早期開發的階段,相信開發體驗會越來越好的。
另外需要注意的是作為一個證明系統,會有 Prover 和 Verifier 的角色。而 STARK 的 Verifier 是公開的,但 Prover 軟體預計會有 License 保護。Prover 一般情況下不得用於商業用途,除非將 proof 上傳至官方的 Verifier。
最後要提及的是,第一版的 Cairo 是設計來方便開發者將 Dapp 的運算遷移至鏈下。不同於 Rollup,這個鏈下只會有它自己一個 Dapp。這個 Dapp 的項目方自己維護自己 Dapp 的 state。( Rollup 則是 operator 維護所有 Dapp 的 state,Dapp 開發者不需自己操煩)
這可能有點難懂。如果你有在寫 Solidity,想像一下今天你在合約要用到合約裡宣告的 storage 變數時,你要自己提供 merkle proof 上來,證明這個storage 變數真的是這個值。這個就是開發者要自己維護 state 的意思。
而第二版的 Cairo 則是 StarkNet 裡使用的 Cairo(第一和第二版是不同編譯器),這版的 Cairo 就是作為 Dapp 在 Rollup 開發所使用 — 開發者可以在合約裡宣告變數,變數的值不需開發者維護,可以直接假設存在。
註1:StarkWare 不喜歡 Rollup 這個詞,他們覺得 Data Availability 的需求是一段光譜:不一定得要把 data 全都送上 L1,中間有其他方式可以做不同層級的 Data Availability。
註2:第一版和第二版實際上在官方版本裡是 0.0.1 及 0.0.2,在撰文當前最新版即是 0.0.2
官方網站:https://www.cairo-lang.org
開發者文件:https://www.cairo-lang.org/docs/
開發環境
Cairo 有提供像是 Remix 的瀏覽器 IDE:playground。裡面提供各種範例練習和挑戰,除了可以編譯,還可以直接生成並上傳 proof。
註:但有些功能還是沒辦法在 playground 裡使用,例如要給你的程式 custom input 時。這時候只能在本地端開發才能使用這個功能。
開發 Cairo 要先安裝python,我將開發者文件整理出來的資料統整在這個 hackmd 文檔裡:https://hackmd.io/w690dpAQTsKeKZv3oikzTQ
裡面包含簡介、設置本地開發環境以及 Cairo 基礎(因為篇幅原因,所以不將內容複製到這裡)
註:我把開發者文件裡的代碼整理到這裡:https://github.com/NIC619/cairo_practice/tree/master/practices
如果不想在研究開發者文件過程中,還要自己手動拼湊裡面例子的話,可以直接用整理好的代碼來執行。同時 repo 裡還有包含一些額外自己測試 Cairo 功能的範例。
深入 Cairo
在那份 hackmd 文檔裡的開頭,可以連結到第二部分 — 深入 Cairo 的部分。裡面也是從開發者文件裡擷取出來我覺得比較重要的部分。如果你要讀開發者文件的話,我建議從 Hello Cairo 開始,它會從例子切入,會比較好知道 Cairo 怎麼使用。接著如果要更深入了解,再去讀 How Cairo Works。
StarkNet Cairo
第二版的 Cairo 其實功能和第一版的 Cairo 是差不多的,所以不必擔心在開發者文件裡學到的 Cairo 在 StarkNet 版本會不能用或差很多。在讀完 Hello Cairo/How Cairo works 後,就可以接著看 Hello StarkNet。會很順利的切換到 StarkNet 版本的 Cairo。
註1:我整理的文檔裡是按照第一版 Cairo 所寫的
註2:如果你從開發者文件一路看下來,體驗過非 StarkNet 版的 Cairo,那你在體驗 StarkNet 版的 Cairo 時一定會發現這更像一般智能合約的使用方式 — 你可以用 view 函式查詢 storage 變數,可以用 external 函式去執行合約(非 StarkNet 版本不是這樣操作 Dapp 的,這邊因為篇幅原因沒有詳細介紹)。
非常建議嘗試兩種版本的 Cairo,你會知道 1. 操作一個單獨在 L2 的 Dapp 和2. 操作與其他 Dapp 共存在 Rollup 上的 Dapp 的不同。這對了解 L2 怎麼運行、需要哪些資料、為什麼需要這些資料非常有幫助。
0.0.2 版的 StarkNet Cairo 目前還缺少一些功能:
函式還沒辦法宣告陣列或 struct 型態的參數
合約和合約之間還沒辦法互動
L1 沒有辦法讀取到 L2 的資料,L2 也沒辦法讀取到 L1 的資料。如果要建立跨 L2 Bridge,這個功能非常重要。
補充及個人心得
STARK 的 proof size 相比於 SNARK 系列的 proof size 大很多,又其證明所包含的交易數量對 proof size 和驗證時間的影響不大,所以把很多筆交易一併做一個 proof 會是對 STARK 非常有利、節省成本的方式(SNARK、STARK 比較表)。但這同時也是一個缺點,如果你的 Dapp 或 Rollup 的 TPS 不高,那就只能等更久時間搜集多一點的交易,要不然就只能提高成本來維持驗證 proof 的頻率。
StarkWare和 zkSync 一樣都有 Rollup 宇宙的概念( Rollup 宇宙的用詞並不精確,因為在他們的宇宙中不會所有子鏈都是 Rollup,而是會有依照 Data Availability 程度不同所區分的子鏈,像是 Validium、zk Porter 的設計),個人覺得能夠有(針對 Data Availability 程度的)選擇是會比只有一個選擇(完全 Data Available) 還好的方式,但實際上的可行性就要等其團隊釋出更多的資訊。
在 Rollup 越趨成熟的情況下,能夠提供快速跨 Rollup 服務的流動性提供者的角色會越來越重要。zk Rollup(StarkNet、zkSync、etc…)比 Optimistic Rollup (Optimism、Arbitrum、etc…)有著短上許多的 finalize 時間,這對降低流動性提供者的風險有很大的幫助,但目前 zk Rollup 支援合約功能甚至 L1 <-> L2 互動的完成度都比 Optimistic Rollup 還低上許多。短期內快速跨 Rollup 的服務應該還是侷限在 Optimitic Rollup 之間。
abbrev
[zkp 讀書會] Cairo 語言介紹 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
同時也有1部Youtube影片,追蹤數超過15萬的網紅Something Shelley,也在其Youtube影片中提到,✨請點開資訊欄 ✨ ✔️FAQ 👉🏻VLOG相機:Canon m50 with 15-45mm lens 👉🏻室內相機:Canon Rebel T6i with EF-S 18-55mm lens 👉🏻腳架:Manfrotto MTPIXI-B PIXI Mini Tripod 👉🏻剪接軟體:FC...
「proof 是 什麼 意思」的推薦目錄:
- 關於proof 是 什麼 意思 在 Taipei Ethereum Meetup Facebook 的最佳貼文
- 關於proof 是 什麼 意思 在 Facebook 的精選貼文
- 關於proof 是 什麼 意思 在 Andrew Chai Facebook 的最佳貼文
- 關於proof 是 什麼 意思 在 Something Shelley Youtube 的精選貼文
- 關於proof 是 什麼 意思 在 Etalking Online - " The proof is in the pudding. " 當你看到這句 的評價
- 關於proof 是 什麼 意思 在 proof名詞2023-在Facebook/IG/Youtube上的焦點新聞和熱門 ... 的評價
- 關於proof 是 什麼 意思 在 proof名詞2023-在Facebook/IG/Youtube上的焦點新聞和熱門 ... 的評價
- 關於proof 是 什麼 意思 在 80 proof意思的推薦與評價,FACEBOOK、PTT - 最新趨勢觀測站 的評價
- 關於proof 是 什麼 意思 在 80 proof意思的推薦與評價,FACEBOOK、PTT - 最新趨勢觀測站 的評價
proof 是 什麼 意思 在 Facebook 的精選貼文
疫週刊|https://www.joinclubhouse.com/event/xV73VZGO
WHO的疫情訊息中心(EPI WIN)最近釋出很有趣的訊息。
對於各國將採取 #疫苗護照 開啟旅遊通行,WHO表明的立場,依據IHR的宗旨和細部規範,並不建議各國使用疫苗護照與認證,這是來自IHR緊急委員會和為WHO提供工作指導的SAGE(Strategic Advisory Group of Experts,戰略諮詢專家組,是向世界衛生組織提供諮詢意見的機構)
這是WHO一個 #暫時性的建議
不要採用疫苗證明(Vaccine Proof),原因是在於未確知疫苗的保護效力
不可以"豁免"(exempt)旅行者降低配合防疫措施
--
暫時性的建議,意思是三個月內可能都會再修正。
考量點究竟是什麼,決策人員認為是考量倫理、法律、技術、和科學依據
但是疫苗護照總是要用啊
所以做為未來修正,很顯然WHO所想要的疫苗護照,被認證的疫苗是要什麼必備項目呢?
科學證據上
1. 要有確切的保護力 (涵蓋總體與重症,而且是第三期臨床試驗數據)
2. 保護力期限
3. 第二劑的施打實際,也就是兩劑間隔
4. 對於無症狀感染的保護力
5. 旅遊前疫苗施打時機 (指明多久前就要施打疫苗)
6. 能夠驗證有足夠中和抗體
道德上
要有盡量疫苗普及下才能有疫苗護照機制
這可能延續自丹麥專家對疫苗護照的批評
除此之外疫苗護照在WHO科學數據中心的專家表示
疫苗護照注重公平性,可近性很高、以及避免個資揭露
還有這科技政策一做下去就要有 #永續性 與兼顧 #彈性。
另一個有趣的點是,WHO表態疫苗,一定要由WHO所認證才行...
WHO也因此成立自己的Smart Vaccination Certificate Working Group (智慧疫苗認證工作小組)
大家要注意的是,WHO EPI WIN所列出來的圖示,不是只有飛機輪船而已,看來大眾交通如歐洲快捷和美國的鐵路都是需要這機制認證的範圍...
--
所以疫苗護照真的一做下去,拒絕打疫苗的人會大大失去了行動的自由。
過往流感疫苗是WHO統一選株,但是也沒到需要WHO認證才能取得通行自由
如果新冠疫苗護照都需要WHO的認證,這未來也許要很小心WHO擴權。
Clubhouse 每週日早上9:30 「疫週刊|看國際」
由姜冠宇醫師主持
https://www.joinclubhouse.com/event/xV73VZGO
proof 是 什麼 意思 在 Andrew Chai Facebook 的最佳貼文
「順服基督」到底是什麼意思?
圖/文:蔡頌輝(Andrew Chai)
彼得前書一章2節一般被認為是聖經中對何謂「基督徒」最精簡的定義:「就是照父神的先見被揀選,藉著聖靈得成聖潔,以致順服耶穌基督,又蒙他血所灑的人。」值得注意的是,本節所列的幾個必有的特徵中,唯獨「順服」是外在具體可見的。麥阿瑟(John MacArthur)說的對:「得救的唯一證明就是順服的生活。 這是一個人真正認識耶稣基督的唯一可能的證據。 如果一個人不以基督爲生活的榜樣,那麽自稱認識基督是一種空洞的口號。」(The only validation of salvation is a life of obedience. It is the only possible proof that a person really knows Jesus Christ. If one does not obey Christ as a pattern of life, then professing to know Him is an empty verbal exercise.)
然而,順服神到底是怎麼一回事?這包含以下三個等次:
1. 順服聖經全面的教導。神的子民以神的話語爲自己行事爲人最終極的依據,讓它塑造自己的價值觀、人生志向和道德操守。這個聽起來好像大家都懂,實行起來往往我們卻有太多主見和不順從,尤其是面對一些違背我們的意願和感受的吩咐(諸如饒恕、愛仇敵、不事奉金錢等)的時候,我們會用自己的判斷去認爲哪些可行、哪些不可行。順服基督也包括神為我們所立的領導,聖經中提到包括執政掌權者、奴僕的主人、父母、一家之主、教會的牧者等。除非這些領導的旨意違背了神至高的原則,否則我們應當順服。
2. 順服神所帶領的情勢。每個人對自己的環境和遭遇都有所期待,但現實不一定如理想。基督徒可以向神求,神有時會應允,有時不會,有時要我們等待。在這種情況下,我們就需要學習順服。所謂順服不是無奈地接受,而是學著在其中甘心和喜樂地面對,知道神仍掌權,這其中必有祂的美意。
3. 順服聖靈內心的感動。神有時候會把一些特定的感動放在我們裏面,催促我們去做一些事或不做一些事(在聖經許可的範圍內)。如果是一些及時能完成的,不牽涉動用太多資源和其他人參與的,我們應當順服這感動去做——如奉獻支持事工、關顧和服事某個人、對誰說某句造就他的話等。如果是牽涉較多人、影響較大的(如搬家、創業、購堂等),我們就該加以驗證。
proof 是 什麼 意思 在 Something Shelley Youtube 的精選貼文
✨請點開資訊欄 ✨
✔️FAQ
👉🏻VLOG相機:Canon m50 with 15-45mm lens
👉🏻室內相機:Canon Rebel T6i with EF-S 18-55mm lens
👉🏻腳架:Manfrotto MTPIXI-B PIXI Mini Tripod
👉🏻剪接軟體:FCPX
👉🏻Ring Light:Neewer 18" on Amazon
都可以在我的Amazon購物網找到👇🏻
https://www.amazon.ca/shop/somethingshelley
----------------------------
Hey Guys!! 累積超~~~久的Empties Videoooo
這是今天錄就當天馬上剪出來的!不知道為什麼今天下午超嗨 大家應該也感覺得到😆
另外!!! 心虛的說一下 我後來查了一下發現蘋果實驗的好像不是這瓶(SKINCEUTICALS Serum 10) 嗚嗚請大家原諒我 是Skinceuticals的「C E Ferulic」!!名字都太像了我搞混了不好意思!!
希望大家喜歡今天的影片~~Thanks for watching xx
----------------------------
✔️PRODUCTS MENTIONED
- 戴維爵士 長效抗菌護膜液
台灣藥局購入
- GUM 牙周護理潔齒液
台灣寶雅購入
- SHISEIDO HAND SOAP 殺毒、消箘
- SOAP CHERIE Body Lotion (Orchid)
https://www.soapcherie.com/
- ELF Makeup Remvoer Cleansing Wipes
https://rstyle.me/~aV3Nv
- SIMPLE Micellar Facial Wipes
https://rstyle.me/~aV3Nw
- LIVING PROOF Dry Shampoo
https://rstyle.me/~aV3Ny
- BUMBLE & BUMBLE Invisible Dry Oil Finishing Spray
https://rstyle.me/~aV3NA
- MORPHE Continuous Setting Mist
- SKINCEUTICALS Soothing Cleanser Foam
(溫哥華的話是在Richmond Centre Project Skin可以買到)
- VANICREAM Gentle Facial Cleanser
https://rstyle.me/~aV3ND
- 萊法葉 5號頭皮精油
- BOBBI BROWN Repair Serum
https://rstyle.me/~aORVL
- FARMACY Honey Potion Renewing Antioxidant Hydration Mask
https://rstyle.me/~aV3NE
- THREE Scalp & Hair Reinforcing Shampoo
- CHRISTOPHE ROBIN Regenerating Mask
https://rstyle.me/~aU86b
- ERNO LASZLO 豆腐霜
https://rstyle.me/~aV3NT
- SISLEY 黑玫瑰頂級乳霜抗老面膜
https://rstyle.me/~aV3NO
- SKINCEUTICALS Serum 10
(心虛的說一下 我後來查了一下發現蘋果實驗的好像不是這瓶 嗚嗚請大家原諒我 是Skinceuticals的C E Ferulic!!名字都太像了我搞混了不好意思!!)
- GLAMGLOW Thirstymud
https://rstyle.me/~aV3NF
- VALMONT Prime Renewing Pack
https://rstyle.me/~aTgu9
- ALTERNA CC Cream Leave In Conditioner
https://rstyle.me/~aV3NH
- OLAPLEX No.6 Bond Smoothing
- DIOR Lip Glow Bam 001
https://rstyle.me/~aV3NI
- DIOR Lip Glow Bam 006
https://rstyle.me/~aV3NJ
- PHYSICIANS FORMULA Butter Bronzer
https://rstyle.me/~aV3NK
- GIORGIO ARMANI Lasting Silk UV Compact Foundation
- MAKEUP FOREVER 柔霧空氣粉底
- KAT VON D Blotting Powder in Fair
https://rstyle.me/~aV3NU
----------------------------
✔️FOLLOW ME
Instagram: https://www.instagram.com/somethingshelley/
----------------------------
✔️WHAT I‘M WEARING
- Top: Aritzia
- 💄: 之後影片分享😛
- 💅: Gel Nails @ Minoko Nail
----------------------------
✔️DISCOUNT CODES
Sigma Beauty
https://www.sigmabeauty.com/
10% OFF : SOMETHINGSHELLEY
The Peach Box
https://www.thepeachbox.com/
15 % OFF : somethingshelley
YesStyle
https://www.yesstyle.com/zh_TW/women.html
10% OFF:SHELLEY10
----------------------------
💌Business Inquiries:
somethingshelley@gmail.com
FTC: This video is NOT sponsored! Some of the links and codes are affiliated but everything is based on my honest opinion! It's completely fine if you're uncomfortable with affiliate links/codes, simply open a new tab and search product name for purchase 👌
這支影片不是合作!有些(不是全部)網址和折扣碼有回饋但不會影響你們買的價錢,如果覺得買起來不舒服也完全沒關係,只要重開新的頁面搜尋購買就好了😉🤙
![post-title](https://i.ytimg.com/vi/Xki_53DRbFY/hqdefault.jpg)
proof 是 什麼 意思 在 proof名詞2023-在Facebook/IG/Youtube上的焦點新聞和熱門 ... 的推薦與評價
proof 名詞2023-在Facebook/IG/Youtube上的焦點新聞和熱門話題資訊,找proof意思,proof動詞,proof翻譯在2022年該注意什麼?proof名詞在2023的熱門內容就在年度社群熱搜 ... ... <看更多>
proof 是 什麼 意思 在 proof名詞2023-在Facebook/IG/Youtube上的焦點新聞和熱門 ... 的推薦與評價
proof 名詞2023-在Facebook/IG/Youtube上的焦點新聞和熱門話題資訊,找proof意思,proof動詞,proof翻譯在2022年該注意什麼?proof名詞在2023的熱門內容就在年度社群熱搜 ... ... <看更多>
proof 是 什麼 意思 在 Etalking Online - " The proof is in the pudding. " 當你看到這句 的推薦與評價
聽起來感覺怪怪的吧,為什麼布丁裡面會有證據呢? 喔~原來這句的意思是... 「要試過才會知道」的意思喔! ... <看更多>