133 lines
4.1 KiB
Markdown
133 lines
4.1 KiB
Markdown
|
|
# Midnight Network Privacy-First Challenge 戦略
|
|||
|
|
|
|||
|
|
## 🎯 チャレンジ概要
|
|||
|
|
- **主催**: DEV.to × Midnight Network
|
|||
|
|
- **賞金総額**: $5,000
|
|||
|
|
- **締切**: 2025年9月7日 11:59 PM PDT
|
|||
|
|
- **発表**: 2025年9月18日
|
|||
|
|
|
|||
|
|
## 🏆 カテゴリーと賞金
|
|||
|
|
1. **"Protect That Data"** - $3,500
|
|||
|
|
- プライバシー保護アプリケーション
|
|||
|
|
- ゼロ知識証明を活用したソリューション
|
|||
|
|
|
|||
|
|
2. **"Enhance the Ecosystem"** - $1,000
|
|||
|
|
- 開発者ツール・SDK
|
|||
|
|
- Midnight開発体験の改善
|
|||
|
|
|
|||
|
|
3. **"Best Tutorial"** - $500
|
|||
|
|
- 教育コンテンツ
|
|||
|
|
- Midnight技術の解説
|
|||
|
|
|
|||
|
|
## 💡 Nyashでの参加アイデア
|
|||
|
|
|
|||
|
|
### 1. **NyashPrivacyBox** - ゼロ知識証明ラッパー(Protect That Data部門)
|
|||
|
|
```nyash
|
|||
|
|
// Midnight NetworkのCompact言語をNyashから使いやすくするBox
|
|||
|
|
box PrivacyBox {
|
|||
|
|
init { midnightClient, proofs }
|
|||
|
|
|
|||
|
|
// プライベートデータの証明生成
|
|||
|
|
proveAge(actualAge, minimumAge) {
|
|||
|
|
// ゼロ知識証明で「最低年齢以上」を証明
|
|||
|
|
// 実際の年齢は公開しない
|
|||
|
|
return me.midnightClient.generateProof({
|
|||
|
|
"statement": "age >= " + minimumAge,
|
|||
|
|
"witness": actualAge
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// プライベート投票システム
|
|||
|
|
vote(choice) {
|
|||
|
|
// 投票内容を秘密にしたまま、有効な投票であることを証明
|
|||
|
|
local proof = me.midnightClient.proveValidVote(choice)
|
|||
|
|
return me.submitVote(proof)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. **Nyash→Compact トランスパイラー** (Enhance the Ecosystem部門)
|
|||
|
|
```nyash
|
|||
|
|
// NyashコードをMidnight Compact言語に変換
|
|||
|
|
box CompactTranspiler {
|
|||
|
|
transpile(nyashCode) {
|
|||
|
|
// Everything is Box → Compact型システム
|
|||
|
|
// Nyashのプライバシー宣言をCompactに変換
|
|||
|
|
return me.convertToCompact(nyashCode)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. **インタラクティブZKPチュートリアル** (Best Tutorial部門)
|
|||
|
|
- Nyashで書かれたステップバイステップガイド
|
|||
|
|
- ブラウザ上で動作するWASM版デモ
|
|||
|
|
- ゼロ知識証明の概念を視覚的に解説
|
|||
|
|
|
|||
|
|
## 🛠️ 技術要件
|
|||
|
|
- **Midnight Compact言語**: プライバシー保護言語
|
|||
|
|
- **MidnightJS**: JavaScript SDK
|
|||
|
|
- **Apache 2.0ライセンス**: オープンソース必須
|
|||
|
|
- **GitHub公開**: リポジトリ必須
|
|||
|
|
|
|||
|
|
## 📅 実装計画(〜9月7日)
|
|||
|
|
|
|||
|
|
### Phase 1: 調査(8月24-26日)
|
|||
|
|
- [ ] Midnight Networkドキュメント熟読
|
|||
|
|
- [ ] Compact言語の基礎学習
|
|||
|
|
- [ ] MidnightJSのサンプル実行
|
|||
|
|
|
|||
|
|
### Phase 2: プロトタイプ(8月27-31日)
|
|||
|
|
- [ ] NyashからMidnightJSを呼び出す基本実装
|
|||
|
|
- [ ] PrivacyBoxの最小実装
|
|||
|
|
- [ ] 簡単なゼロ知識証明デモ
|
|||
|
|
|
|||
|
|
### Phase 3: 本実装(9月1-5日)
|
|||
|
|
- [ ] 選択したカテゴリーの実装完成
|
|||
|
|
- [ ] ドキュメント作成
|
|||
|
|
- [ ] デモアプリケーション
|
|||
|
|
|
|||
|
|
### Phase 4: 仕上げ(9月6-7日)
|
|||
|
|
- [ ] チュートリアル動画作成
|
|||
|
|
- [ ] 最終テスト
|
|||
|
|
- [ ] 提出準備
|
|||
|
|
|
|||
|
|
## 🎯 戦略的優位性
|
|||
|
|
|
|||
|
|
### Nyashの強み
|
|||
|
|
1. **Everything is Box哲学**
|
|||
|
|
- プライバシーもBoxとして扱える
|
|||
|
|
- 直感的なAPIデザイン
|
|||
|
|
|
|||
|
|
2. **WASM対応**
|
|||
|
|
- ブラウザでゼロ知識証明デモ可能
|
|||
|
|
- インタラクティブな教育コンテンツ
|
|||
|
|
|
|||
|
|
3. **独自性**
|
|||
|
|
- Nyashという新言語での実装は注目を集める
|
|||
|
|
- 審査員の記憶に残りやすい
|
|||
|
|
|
|||
|
|
## 🤔 検討事項
|
|||
|
|
|
|||
|
|
### 技術的課題
|
|||
|
|
- MidnightJSとの統合方法
|
|||
|
|
- Compact言語の学習曲線
|
|||
|
|
- ゼロ知識証明の実装複雑性
|
|||
|
|
|
|||
|
|
### 時間的制約
|
|||
|
|
- 約2週間での実装
|
|||
|
|
- Midnight技術の学習時間
|
|||
|
|
- ドキュメント・チュートリアル作成
|
|||
|
|
|
|||
|
|
## 🎬 次のステップ
|
|||
|
|
|
|||
|
|
1. **今すぐ**: Midnight Networkのアカウント作成
|
|||
|
|
2. **明日**: Compact言語チュートリアル開始
|
|||
|
|
3. **週末**: 最初のプロトタイプ作成
|
|||
|
|
|
|||
|
|
## 📚 参考リンク
|
|||
|
|
- [Midnight Developer Docs](https://docs.midnight.network/)
|
|||
|
|
- [Challenge Details](https://dev.to/devteam/join-the-midnight-network-privacy-first-challenge-5000-in-prizes-3l45)
|
|||
|
|
- [Submission Template](https://dev.to/new/midnightchallenge)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
最終更新: 2025-08-24
|