# [TEM] 去中心化領稿費機制實驗 2 ###### tags: `TEM` [ToC] --- ## 🧙♂️ 1. 申請人 :::info Johnson ::: ## ⛲️ 2. 申請贊助之公共財 去中心化領稿費機制實驗 2 ### 📣 2.1 Introduction TEM Medium 已經透過[去中心化領稿費機制實驗 1](https://hackmd.io/@nic619/SkZDIp2GJl) 改變為投稿人自己到[領稿費網站](https://ethertw.github.io/RoyaltyAutoClaim/)上領取,審稿人也都透過同一個網站為每篇投稿給出稿費等級。 但目前的文章登記、投稿人領取稿費地址登記都還是由中心化的 Admin 操作,因此這個 Grant 的目的就是要透過 ZK Email 的技術來達成去中心化的文章和領稿費地址的登記。 ### 🎯 2.2 Objectives 這個實驗性的 Grant 希望能將目前的稿費領取系統再進一步去中心化,讓投稿人可以自己登記投稿並自己完成稿費領取。 ### 📕 2.3 Plan 1. 在[目前的稿費領取機制](https://github.com/EtherTW/RoyaltyAutoClaim)中加入 [ZK Email](https://ethtaipeixtem.substack.com/i/164167919/zk-email-summary-by-ryan) 技術,讓投稿人可以透過 eth.taipei@gmail.com 的回信來作為投稿認證及稿費領取資格的認證 2. 完成開發心得及技術文章產出並發表至 TEM Medium #### 延伸(不包含在這個 Grant 之中) - 如果要提供審稿人隱私保護,會需要零知識證明讓審稿人能隱藏身份。 ## 💰 3. 申請贊助金額 USD$ 2500 (2000 + 500;500 為後來新增整合 Semaphore 的部分) ## 📝 4. 補充 ### Spec #### 1. 系統組成 - 鏈上的 `RoyaltyAutoClaim` [合約](https://github.com/EtherTW/RoyaltyAutoClaim)及[前端](https://github.com/EtherTW/RoyaltyAutoClaim/tree/main/frontend) - 參與角色:Admin、Reviewer、投稿人 - Admin:維護 Reviewer 地址、維護合約 - Reviewer:負責給予投稿文章一個稿費金額 - 投稿人:登記投稿、在稿費金額決定後領取稿費 #### 2. 執行流程 ##### a. 初始化 - Admin 將手續費與稿費轉給 `RoyaltyAutoClaim` 合約 - Admin 註冊 Reviewer 們的地址 註:如果合約已經在前一版進行過初始化,那就可以省略初始化的步驟。 ##### b. 登記投稿 - eth.taipei@gmail.com 在收到並確認投稿資訊後,回信給投稿人“確認已收到投稿: XXXX by YYY”,其中XXXX 為文章標題名稱;YYY 為投稿人名稱 - 投稿人透過 ZK Email 證明收到來自 eth.taipei@gmail.com 的確認投稿資訊回覆,將投稿資訊及領取稿費地址(Recipient)登記至 `RoyaltyAutoClaim` 合約中 ##### c. Review 並決定稿費金額 (至少兩位)Reviewer 決定一篇投稿的稿費。稿費有四個等級,最終稿費取所有 Reviewer 的稿費平均。稿費等級: 1. 20 2. 40 3. 60 4. 80 ##### d. 領取稿費 - 投稿人以登記的 Recipient 地址到 `RoyaltyAutoClaim` 合約領取稿費(合約會驗證 Recipient 的簽名) #### 3. `RoyaltyAutoClaim` 合約 要修改的函式如下: `function registerSubmission(string title, address royaltyRecipient)` - 原本運作方式為驗證 Admin 簽章,現在要換成驗證 ZK Email 證明 新增的函式如下: `function updateRegistrationVerifier(address registrationVerifier)` - 讓 Admin 註冊或更新 ZK Email 的 Verifier(註冊投稿用的 Verifier) `function revokeEmail(string title, bytes proof)` - 目的是讓 Admin 能撤銷某個投稿人產生的證明,可能是因為流程有誤所導致 ### Updated Spec Details (2025/12/20) by Johnson Please refer to https://hackmd.io/@johnson86tw/BJQWi61Cxl
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.