📜 [專欄新文章] [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.
👏 歡迎轉載分享鼓掌
「零知識證明缺點」的推薦目錄:
- 關於零知識證明缺點 在 Taipei Ethereum Meetup Facebook 的最佳解答
- 關於零知識證明缺點 在 張珮歆Carey Chang Facebook 的最佳解答
- 關於零知識證明缺點 在 Taipei Ethereum Meetup Facebook 的最佳解答
- 關於零知識證明缺點 在 Blockore 區塊識集- 零知識證明是什麼?讓我們從歷史切入 的評價
- 關於零知識證明缺點 在 什么是零知识证明?零知识证明在区块链有什么用处?快速理解 ... 的評價
- 關於零知識證明缺點 在 web3 零知识证明What are zero-knowledge proofs? - Echo Blog 的評價
- 關於零知識證明缺點 在 區塊鏈隱私資源| Blockchain privacy resources - GitHub 的評價
零知識證明缺點 在 張珮歆Carey Chang Facebook 的最佳解答
【 北一女校慶聊天十分鐘45元的新聞,還可以怎麼討論?】
﹏﹏﹏﹏﹏﹏﹏﹏
▍輿論怎麼開始的?
﹋﹋﹋﹋﹋﹋﹋﹋
.
北一女中12月12日舉行117周年校慶和園遊會,其中一個攤位提供「聊天」項目,消費者可以從街舞社社長、民謠吉他教學、流行音樂社社長、合唱團團長等學姐中,選擇拍照、點歌、聊天、打球等活動。
.
引發網路熱議,有人認為有商業頭腦、有人則認為不妥,更多的是在網絡平台的批評和羞辱。
.﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏
▍可以用什麼方式更深討論?
﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋
.
1、標籤拆解:
.
將主角多重身份背後標籤拆解,通常輿論都是從標籤的衝突之中產生
比如「你是xxx就應該要ooo」,而當沒有做到ooo時,就會引起輿論
所以將標籤拆解,以便理解「預設概念衝突」是怎麼發生的
.
2、三種觀點:
.
這件事的社群輿論主要從三種觀點切入,分別為 #社會 #商業 #教育
我會以第一人稱口吻,描述各持這三種不同觀點的人會怎麼表達
.
3、先後因果:
.
先發生「園遊會」,才有「網路熱議」,然後才有「新聞報導」
所以不能直接看到「新聞」來反推「辦這種活動」的起心
「是為了賺錢才辦活動」
.
🚩標籤拆解
.
北一女學生同時背負 #女性 #名校 #高中生 的標籤
.
🚩三種觀點
.
▍社會觀點
.
著重在 #女性 #名校 的討論
.
►為什麼這麼多活動,「拍照」「點歌」「打球」可以,唯獨「陪聊」被特別放大?
.
►「女性」與「盈利」掛鉤,潛意識便會跳出「性交易」「八大行業」?
這是這社會還不願正視的問題所致,#污名化 和 #歧視 普遍散落。
.
一來不明白八大行業真正內容為何,而直接認為這是下賤、骯髒的,事實上,並不是所有酒店從業人員都是在賣身、賣感情,會上酒店的人也不是每個都想亂搞。
.
酒店客群主要分成商業客和兄弟客,商業客就是一般西裝領帶的商務人士而已。
.
酒店又依照服裝樣式開放程度分成 制服店、禮服店、便服店。
以最單純的禮服店而言,就只是倒酒、整理桌面、唱歌聊天,僅此。
.
再有更多的接觸,如果自己不能接受,是可以拒絕並換桌/換台的,看每個人程度到哪(當然有些人就是想找人包養,用自己去交換未來,用話術和身體去勾引客人,但大部分不是。)
(btw我前男友幹上的那個就是這種典型,但不是每個人都這樣。感謝前男友讓我對酒店行業了解透徹。)
.
當感受到被侵犯時,每個小姐會有求救暗號,打暗號讓少爺/行政/幹部知道,就可以被保護離開。
.
二來是對於女性的「貞潔」要求凌駕於「身體自主權」,女性應是屬於另一個主體的,不是自己的,這種「自己」除了身體,還上崗到了包括「時間」「談心裡話」
當這樣的行為被作為獲利工具,就如同出賣自己的靈魂約契
.
►名校背後的品德枷鎖
.
大家對於這種社會新聞「xx高材生竟然犯了oo罪」不陌生,這種就是標籤的概念衝突。
背後假定了「會讀書就應該品行優良」
.
或者穿著小綠綠制服,走在路上就應該要舉止端莊賢淑、在公車上要坐有坐相等等。
(短褲夾腳拖是我高中的基本配備,想來也是對於這種標籤的微小反抗。)
.
今天當「應該品行優良的高材生」與「八大從事人員的陪聊工作」碰上了,標籤的衝突因而產生。
.
►物化自己、販賣父權紅利?
.
如果說酒店公關是物化女性和販賣父權紅利的終極體現,那在灰色地帶的直播主、「線上聊天平台」算不算是?
她們都知道「我是漂亮的/性感的/甜美可愛的」「女人」正是收益來源,因此從事此行業。
.
但北一女學妹一開始辦這攤販的起心,是「因為我知道男人會付我錢」而去辦的嗎?
.
什麼是物化自己?
用身體作為契約的客體,主動的成為從屬者/商品化,又因性別權力不對等而失衡。
.
就我與學妹們聊天的過程中,她們的起心本意與「仗著自己是女生來賺取男生的錢」而且「我就是要成為商品本身附加在男生身上」恐怕相去甚遠。
.
▍商業觀點
.
著重在 #名校 與 #高中生 的討論
.
►如果說市場機制裡,有需求就有供應,有客群願意掏錢買單,交易便成立
但這個需求是被創造出來的、還是本來就存在?
.
這個需求內涵是什麼?
是社會上無處可去的焦慮。
.
對高中生而言,就是升學壓力、同時處理課業、人際、社團、家庭的滿腹辛酸,師長的不理解或高壓要求
因此他們有了「只有年紀相近的學長姊能體會、並針對當前環境給予建議」的需求。
.
對校外而言,是對光環的想像與追逐。
人們對於自己未到過的地方,會有加成的想像附著,例如,能出國讀書/旅行,一定很有國際觀/一定家裡很有錢,那他們是怎麼做到/從中習得什麼,無論他們到底是靠自己的努力達成還是靠爸(能考上名校,也是有一定程度的文化資本落差)
.
不一定是升學主義學歷至上,根本而言,出於人性的基本好奇使然。
.
►園遊會本質:娛樂性的進行學生商業行為賺取班費
.
這邊有兩種輿論聲音:分享心得經驗怎麼可以拿來賺錢/怎麼可以用無成本的方式賺錢
.
但首先,沒有人會在園遊會時候做公益,什麼家裡的破布娃娃都可以拿來賣個三五十塊
.
與其說為了賺大錢來辦活動,不如說為了符合園遊會性質加減產生一些金錢流動
.
大家都有辦園遊會的經驗,通常都先問班上有沒有人家裡是賣什麼吃的喝的,再來設計一些遊戲或服務
這就是練習如何在資源稀缺的情況下,盤點現有資本設計商業模式
.
對高中生而言,他們的資本並不多
「知識」和「經驗」正是他們最大的資產
.
呈上,當他們發現有市場需求,而他們正好能以現有資本作出供給,且現實面呈現供不應求情形,證明這樣的價格符合市場機制並未超過
.
但為什麼知識可以賣錢?
.
►知識經濟、知識變現
.
有位知名網紅表示「女學生要想啊,你憑什麼賺取這個錢,律師和心理諮詢靠講話可以收那個錢,是因為他們的專業」
.
憑什麼賺這個錢,就是對於這個「知識」和「經驗」的質疑。
.
坊間職能培訓、升學求職經驗分享、家教、線上課程、一堆冬夏令營培訓、之前紅極一時的醫學生面試工作坊爭議,之間的差別是什麼?
.
知識經濟是近幾年才蔚為風潮的商業模式,最初因著互聯網從中國大陸崛起,2017年被稱作知識經濟元年
.
除了打破原本實體物換取收益的模式,也包括縮短知識變現歷程(產品-營銷-交付),轉變為擁有知識的主體獨立完成這個流程,實質經濟性價值判斷就來自「知識的不可取代性」
.
衝突點在於他們認為,高中的知識,大家攝取的大部分相同,不可取代性低、「專業性」低,有課綱、有老師,就能觸及這塊知識
.
但「師傅引進門,修行在個人」,已經脫離全民教育的階段,高中課程更深更廣,無法妥善吸收而載浮載沉於知識苦海的學生才是多數
.
北一女學生的專業,不止在於課業本身,更是「學習如何學習」這件事,「如何有效率的、有系統性的」張羅和梳理浩瀚陌生知識,這才是她們的不可取代性。
.
►「零成本、高收益」
.
這則新聞被放上網時,那個筆者用這句話來形容這個攤販,這個「零成本」恐怕未估計得到這些知識和經驗時間的隱形成本
.
在跌跌撞撞中所獨自承受的心理壓力,在沒有人提攜和引領時的惶恐和迷茫,這些對高中生而言,都是很沈重的成本
.
在這過程中,學習如何去找前輩解決種種心理與精神困境,如何與同儕相處互動待人處事、在社團上當幹部,學習如何做一個領導者
.
要同時兼顧家庭、課業、社團、人際,這些是成本,也是經驗的獨特性
.
►業界前輩怎麼說
.
我從前輩板上截取的,但資料太多混淆來源了,如果有人知道麻煩告訴我!
.
原文如下:「
【怎樣是門好生意】
有一年的期末報告主題是老師給每一組學生一百美元的基金,要他們去創造最高的收入,並在期末報告時上台分享。
.
大部分同學都是去買東西來賣,靠各種加工或銷售方式賺取差價。但最後獲勝的那一組根本沒有買任何東西來賣,卻獲得了最高收入跟超高利潤率。你猜他們怎麼做的?
.
這組同學仔細分析了所有手上擁有的元素,發現這次報告最有增值空間的不是那一百元能買來的東西,而是他們自己花在這件事上的工作時間、全班同學在期末報告時專注聆聽的十分鐘,以及這些準畢業生的未來。
.
於是他們把期末報告的上台時段賣給了徵才企業跟獵才公司,最後選了出價最高的一家,不僅沒有花到那一百元,還賺了好幾千元的收入,甚至可以獲得未來獵才成功的抽成機會。
.
這就是商業頭腦,懂得從資源稀有角度出發。我要是天使投資人,還會想從當中談一輪找出是誰發想跟執行這個計畫的(當然要付錢給他們),長期輔導跟追蹤這一群孩子。
#時間才是最值錢的資產 #年輕人的未來更是」
.
▍教育觀點
.
著重在 #名校 #高中生 的討論
.
►誠如前面所述,能夠上名校的,有一定程度的社會背景和文化資本,這些是幸運,而不單靠「自己多努力」
.
有些人認為,這是販賣光環,是忽視了作為社會族群中佔優勢的位置,將功勞佔為己有的自大行徑
.
但不只北一女有標籤,其他學校各自有各自的原罪要背負,這邊的問題,我想,是會持續在有人有文明的社會持續存在的
.
►身分,資格論,17歲怎麼談108課綱?
.
高二,才經歷新課綱一年,可能連自己學習歷程都還搞不定、甚至連老師、學校都還摸不清楚課綱到底在做什麼,有什麼資格談、甚至收錢?
.
理念者與實踐者,很多時候是不同人。
.
在坊間教育組織裡,是因為認同了同一個理念而湊在一起,但在國民教育的教學場域,一個政策的實施,不是每個人都認同,迫使大家開始群起討論這個方向,需要更多的激盪和問題反饋,才是推動下一個進程、或是將遇見所阻呈報回政府機關並再修正的重要過程。
.
更多的討論,應是被鼓勵、而非以資格審查而禁止的。
.
另外,新課綱大家都還在摸索,教學者與當事者,會有不同的摸索經驗,是只有那個位置能看見的視角和困境、新想法和新的焦慮
.
各自有各自獨特經驗,就值得被提出來探討,跨越了身份審查的問題
.
►教育資訊落差,是可以販賣的嗎?
.
現實是,北一女的資源肯定比其他學校優渥。(我在TFT徵才那篇有詳細談)
.
她們有的資訊、管道、組織、計畫,其他學校可能不見得有、或老師不見得重視,阻斷許多機會流入學生手中的可能。
有些人認為,名校學生經歷這些活動營隊後的心得,販賣給其他學校沒有參加過的學生
.
衝突點在於,這樣的資源落差,是大多數教育(含NGO)工作者致力想解決的問題,當這種落差被用作盈利時,是一種「傾銷」之既視感
.
在國際衛生場域上,曾發生過一件事:
某A大國獲得B小國的共用病毒株後,回去研發出疫苗,再高價賣給B國
.
這個共用病毒株可視為總體教育資源,名校(A國)從總體資源中拿取站比較多的資源後,有能力產製出知識結晶(視做疫苗),再賣給原本被剝奪資源的那些學校學生(B國人民)
.
雖然行為無本意,但在結構上問題油然而生,高中生或許不明白這件事還藏有這一層問題在,但每個角色在社會上,都同時擁有壓迫與被壓迫者的位置。
.
.﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏
▍為什麼先後因果關係重要?
.﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋
.
有段話如下:
.
「顧客清一色是男性,恐怕賣的都還是“女高中生”甚至“北一女”相關的概念,所以“成本”並不是零,而賺取的就是“父權紅利”,所以這件事的本質其實是“父權經濟”。
.
“父權經濟”在任何男性掌握資本而且有貧富差距的社會都存在,程度多少的問題而已,因為“愛慾”是人類最基本的需求,而且女性天生可以在生理和心理上供給,所以市場必定存在。父權經濟的光譜很廣,從單純的陪伴經濟到性產業都是。」
.
►這是很典型「用新聞來看事情」
.
看似振振有詞,實質為 #倒果為因 的謬論例子。
.
再次強調,是先有園遊會,才有新聞。
不能看到新聞註解「顧客清一色都是男性」,就認為學生是為了招攬男性而做。
.
🚩那新聞媒體怎麼報的呢?
.
▍標題:「真香」「暴動」「懂賺」「清一色男性」
.
▍內文:
.
「有沒有照片?正的話馬上驅車前往」
「便宜還保證女高中生」
「不早講,我在火車上了」
「直播主出道預備」
「良心事業,人美心美」
.
►著重顏值、外貌,而非舉辦活動初心,強化「只有漂亮的我才要去」
.
是她們在物化自己、還是新聞出來後,社會在物化她們?
.
▍這是對事實的描寫、還是變相鼓勵風潮?
.
是對社會反應的記載,還是以明知可能的眾矢之的作為標題博眼球?
.
記者知不知道可能會產生的輿論和社會問題、對當事者、北一女的傷害?
.
記者有沒有這個責任要知道後續可能影響?
.
有沒有攔截問題的責任?
.
▍刻板印象的強化與新的標籤
在議題被鼓動到大家一窩蜂去搜尋時,「陪聊」「台女」在搜尋度暴增,新的標籤就產生了,成為「熱門關鍵字」,永遠留在網路平台上。
.
▍媒體少了什麼?
.
所有新聞文章都是互抄,片面之詞呈現,但網絡的反撲、指責、甚至對女學生的羞辱卻視而不見。
.
所謂的不客觀,不是因為主觀意識表示支持與否,而是少了不同聲音。
.
在後續造成的輿論有哪些、校長回那封信的前提是什麼、大家在意的關鍵點是哪些、為社麼會有這個現象、當事者受網路攻擊後的反應如何?
甚至用數據分析網路聲量、正負面比例、搜尋關鍵字圍繞哪些問題
.
這些也都是客觀事實,並不是主觀認定,是可以同時呈現在報導裡的。
.
但媒體都少寫了。
是不知道、不在意、不想花時間研究,還是就是打定了想要賺流量?
.
但這是記者本身、媒體自己本身的錯嗎?
.
要在媒體生態下生存,高工時、低薪資,內部編制導致落在記者個人身上負擔過高,生態惡性競爭即時性和煽動性,廣告與流量定勝負
.
導致產能和品質降低,又得成為千夫所指之人,這是記者自願的嗎?
.
.﹏﹏﹏﹏﹏﹏﹏
▍報導後的低級輿論
.﹋﹋﹋﹋﹋﹋﹋
黃士修在留言處寫道「有加S嗎?」(掏皮夾)
.
我先來解釋台灣的性交易生態,雖然是非法,但其實到處都有檯面下的交易,而且相當頻繁。
不一定要從酒店,只要有經濟帶、有群組門路、有學長姐或朋友,只要有「媒合人」,一場交易就能達成。
(感謝拿我爸的錢去嫖妓的前男友again)
.
如果是自己狩獵型的,遇見有解時的通關密語,就是「S?」
「掏皮夾」的意思是:「性交易的錢直接給現金」就不會有金流、留證據。
.
.﹏﹏﹏﹏﹏﹏
▍校長怎麼回?
.﹋﹋﹋﹋﹋﹋
1. 校慶當天,本校所有園遊會的擺攤學生沒有回報任何負面訊息,也沒有任何外賓反映攤位問題。
2.以"聊天"為項目的攤位,該班級當初設定的客群是高一學妹,針對108課綱的選課問題、如何製作學習檔案、社團幹部的工作內容等等。想法單純且正向,導師及學務處都支持。
3. 園遊會現場為公開場合,人潮眾多、教官巡場,未發現任何不妥現象,當天的活動除了學妹外,也有本校家長、大學教授、外校學生等外賓參加,外賓詢問的內容多以本校學業、社團活動、時間管理、校園生活為主。
4.針對那些沒在校慶現場,只憑臆測去描述自己觀點,並連結負面意象的網友留言,本校表示遺憾。
.
親愛的同學們,校長相信你們有足夠的智慧,去判斷事情的真相與是非,也相信你們有足夠的勇氣,去面對莫須有的不實流言。這個世界雖不美好,但我們仍要正面以對。
.
校長 陳智源敬上
.
.﹏﹏﹏﹏﹏﹏﹏﹏
⚠️⚠️我們可以怎麼做?
.﹋﹋﹋﹋﹋﹋﹋﹋
當媒體無法進到守門人角色時,這個責任就落在閱聽眾身上。
除了上網跟大家辯論之外,還有哪些是我們能做的?
.
1、不要搜尋「被固化的標籤」增加流量和搜尋引擎排行
.
🈲️尤其「北x女 陪聊」這種直接綁死的關鍵字,最直接的讓大家在搜尋時會跳到最前面
.
2、條列式舉例、分段思辨
先區分議題,如我前面所提,要討論社會觀點、商業觀點、還是教育觀點?
要論證舉例,是在哪個區塊、要舉反例,又是不是在相同的社會背景下?
如果想到什麼講什麼、爆氣式論述,容易讓雙方語言沒有交集
.
3、不要讓學生在這場風波中受的傷白費
這一起輿論能夠鬆動、或喚起社會怎樣的關注和討論,後續如何延續動能?
既然大家已經發現前述污名化與歧視問題,那可以在自己能力所及之中,做出哪些改變與影響?
.
4、面對學生,理解取代羞辱、批判取代批評。
如果可以,讓孩子們知道這個社會會這樣評判一件事情,何妨不是一次機會教育。
.
5、傾聽與尊重。
不是說支持這種行為(你當然可以不認同、可以批判)
但可以試著告訴孩子們,這場風暴是一堂課,理解了可能的優缺點與風險之後,在下一次她思考後並做出選擇時,我們會尊重他們、但他們也必須自行承擔後續的社會輿論成本
.
.﹏﹏﹏﹏﹏﹏
▍我自己的註解
.﹋﹋﹋﹋﹋﹋
不是她們自己要販賣父權紅利,看似既得利益,其實是被社會的需求,被迫推向了供給的一方,讓原本立意良善的初心被扭曲、認為他們就是為了這樣的目的而去主動供給,而且被固化為標籤,而且這標籤會跟著所有北一女學生、甚至包括其他女高中生,至少數年。
零知識證明缺點 在 Taipei Ethereum Meetup Facebook 的最佳解答
📜 [專欄新文章] [ZKP 讀書會] Zkopru
✍️ NIC Lin
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
Photo by Barth Bailey on Unsplash
Zkopru
Zkopru 這個名稱是由 zk-transaction + Optimistic Roll-Up 的字首組成,這個layer 2 的協議包含了使用零知識證明來保護交易的隱私( zk-transaction)、再搭配 Optimistic Rollup 來管理 layer 2 。
接下來會講到 Zk Rollup 和 Optimistic Rollup,如果讀者還不熟悉,可以先閱讀這篇ˊ指介紹。
它和 Zk Rollup 有什麼不同?
Zk Rollup 連同 layer 2 的鏈的 state transition 都是由零知識證明來處理,但缺點是目前零知識證明技術的成本較高,包含在鏈下產生證明和在鏈上驗證證明(鏈下產生證明耗費時間,鏈上驗證證明則耗費 gas)。
註:接下來提到的(零知識證明、circuit)的鏈下成本都是指時間多寡,而鏈上成本則都是指 gas 多寡)
另外目前的 Rollup 協議都是使用 merkle tree 來儲存當前的鏈的狀態(例如使用者的餘額、nonce 或是 UTXO) — 如果使用者要證明他有 $20,則他必須要提供 merkle proof ,而這個 merkle proof 的大小及 hash 次數也會因為選擇的 merkle tree 的高度而有不同。
而這個因素再搭配上 hash 的成本在 EVM 和 circuit 會有不同,導致協議如果使用在 EVM 成本較便宜的 hash function,則 circuit 的 hash 成本會較高;反之亦然。
目前還沒有安全的 hash function 是在 EVM 或 circuit 裡都是便宜的,所以協議設計者必須做出妥協。可想而知,Zk Rollup 便是使用在 circuit 便宜但是在 EVM 貴的 hash function,這導致當使用者要離開 layer 2 回到 layer 1 時(這個步驟在這裡稱作 withdraw),他成本會很高(因為要在 EVM 裡驗證他持有資產的擁有權,這可以是一個 merkle proof 或 zk proof)。
和 Optimistic Rollup 有什麼不同?
而這個成本相對的也反映了採用 Optimistic Rollup 的好處 — 只有在特殊情況下(例如協議裡的 Operator 作惡)才需要付出較高的成本,其他時間大家則享受極低成本的使用費。
但使用 Optimistic 的方式也有附帶的缺點: challenge period 。輕節點使用者需要等待 challenge period 來確保交易不會被推翻、withdraw 過程需要等待 challenge period(以下稱 withdraw period) 過了才能將錢提回到 layer 1。
所以使用哪種 Rollup 就要看協議設計者如何依照他們的使用需求去權衡。
那為什麼不使用 Optimistic Rollup 就好?
因為需要零知識證明來保護交易隱私!
前提
zkopru 使用和 Bitcoin 相同的 UTXO model
transfer 的付款方、收款方和金額都是被保護住、看不到的,但 zkopru 和其他隱私幣一樣,不需要付款方和收款方合作即可由付款方單獨完成 transfer。
但也和隱私幣一樣,收款方必須去監看鏈上每一筆交易並嘗試解密來得知是否有人 transfer 給自己
基本使用流程
Deposit
使用者將 ether 、ERC20 或 ERC721 代幣轉入 zkopru 位於 layer 1 的合約,觸發 event。協議的 Operator 會監看合約並搜集 deposit event,然後將這些 deposit 一起放入下一個(zkopru 的)區塊裡。
Transfer
如同 Bitcoin 的 UTXO,zkopru 裡使用者必須要證明其對某 UTXO 有擁有權才能花費該 UTXO。要被花費的 UTXO 會被放到 transaction 格式裡的 inputs 欄位, outputs 欄位的 UTXO 則是填入收款方的公鑰和收款金額(outputs 的 UTXO 就會是新產生的 UTXO)。
因為要保護交易的隱私,新的 UTXO 的資訊是不會洩露出去的,第三方只會看到該 UTXO 的 hash 值。那收款方要怎麼知道一個 UTXO 是不是他的呢?
sender 會利用自己的私鑰、收款方的公鑰及一個隨機值,透過密鑰交換協議來產生一個臨時的共享密鑰。 付款方用此共享密鑰加密收款方所需的資訊(包含 transfer 的代幣種類和金額),而收款方會監看每一筆交易並試著用自己的私鑰組出一個共享密鑰然後去解密,如果解密完的資料不是亂碼而是合理的,則可確認收到錢。
Withdraw使用者產生 withdraw 類別的交易,等待協議 Operator 收進區塊裡,然後再等待 withdraw period 過去,即可送出 merkle proof 來將錢提領回 layer 1。
註:提領回 layer 1 之後的收款方和金額都是公開透明的,隱私不再受保護。
零知識證明
zkopru 裡一共有三種類型的 merkle tree 來儲存所需的狀態,分別是 UTXO tree、Nullifier tree 以及 Withdrawal tree。
UTXO tree 紀錄所有產生過的 UTXO,包含新的和已經花掉的。
Nullifier tree 紀錄被花掉的 UTXO 的 nullifier 值。一個 UTXO 的 nullifer 由該 UTXO 的相關資訊算出,而且只能得出唯一一個 nullifier。這個 nullifier 能夠證明該 UTXO 已被花掉,但同時又不會洩露是哪個 UTXO 被花掉。聽起來很饒口,但這就是零知識證明的能力。
Withdrawal tree 紀錄 withdraw 類別的交易的資訊,使用者要提領回 layer 1 就需要這棵 merkle tree 的 merkle proof。也是就說,前面說的 Operator 會把 withdraw 交易放到這棵 merkle tree 裡,然後等待 withdrawal period 過後,再由使用者提供 merkle proof 來領走。
這裏以 transfer 為例來說明其中一部分的 circuit 在做什麼事
當使用者要產生一筆 transfer,他首先要證明 inputs 裡的 UTXO 都是合法的,這包含了證明:
他擁有這個 UTXO — 藉由提供簽章來證明
這個 UTXO 是真的存在的 — 藉由證明該 UTXO 的 hash 值存在 UTXO tree 裡
這個 UTXO 沒有被花過 — 藉由證明該 UTXO 的 nullifier 值不存在 Nullifier tree 裡
接者是 outputs,新產生的 UTXO 的 hash 值會被放進 UTXO tree 裡。
最後是比對 inputs 金額加總等於 outputs 金額加總再加上交易手續費。
而這些都在 circuit 裡完成,第三方沒辦法得知實際的 inputs、outputs 或 nullifiers 等等,第三方只能知道新的 UTXO 的 hash 值以及運算過程是正確的 — 也就是這些 tree 都被正確的更新了。
其他特色
Mass migration
原本每個使用者要把資產換到另外一個 layer 2 協議,他必須申請 withdraw 、等待 withdraw period ,然後把資產 deposit 到另外一個 layer 2 協議。
zkopru 支援使用者成批的搬移資產到另外一個 layer 2 協議 — 共享經濟。
Instant withdrawal
如果其他需要等待 withdraw period 的應用來說,withdraw period 是一個 UX 痛點。zkopru 的 instant withdrawal 提供急著 withdraw 的一方和不急著 withdraw 的一方一個管道能互惠。
急的一方提供一點手續費,對自己的 withdraw 交易做簽名並廣播出去。不急的一方在聽到這個簽名後,可以將這個簽名送到 zkopru 合約並附上 withdraw 金額(扣掉自己該收的手續費)。
這筆錢會直接轉給急的一方,然後急的一方的 withdraw 擁有權便會轉移到不急的一方手上,不急的一方再慢慢等到 withdraw period 過了再提領。
估計效能
目前在初版的效能估計中,一筆 transfer 平均耗費 8800 gas;而 TPS 則是 105。zkopru 還在積極更新迭代中,所以這個效能會在提升。
Reference:
https://ethresear.ch/t/zkopru-zk-optimistic-rollup-for-private-transactions/7717
https://docs.zkopru.network
https://www.chainnews.com/zh-hant/articles/443085023250.htm
[ZKP 讀書會] Zkopru was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
零知識證明缺點 在 什么是零知识证明?零知识证明在区块链有什么用处?快速理解 ... 的推薦與評價
![影片讀取中](/images/youtube.png)
大懒猫的矿友们” Discord群:https://discord.gg/ptUnDQ6TUE“大懒猫的Cardano矿池”矿池名称:BigLazyCat代号:BLC ... ... <看更多>
零知識證明缺點 在 web3 零知识证明What are zero-knowledge proofs? - Echo Blog 的推薦與評價
什么是零知识证明? ... 零知识证明首次出现在1985 年的一篇论文“交互式证明系统的知识复杂性”中,该论文提供了当今广泛 ... 使用零知识证明的缺点. ... <看更多>
零知識證明缺點 在 Blockore 區塊識集- 零知識證明是什麼?讓我們從歷史切入 的推薦與評價
要解釋甚麼是零知識證明,那就先要從比特幣講起,眾所周知,比特幣網絡中所有交易以明文方式記錄在區塊鏈上,雖然具有匿名性,但這種所謂"匿名性"並非真正做到完全 ... ... <看更多>