Files
hakorune/private/challenges/midnight-network-privacy-challenge.md
Moe Charm 4b984d937b refactor: MIR builder - extract expressions module (Phase 3-5)
- Moved all expression-related functions to expressions.rs (621 lines)
- Includes: build_expression, build_literal, binary/unary ops
- Added missing functions for build_expression completeness:
  - build_assignment, build_field_assignment
  - build_new_expression, build_await_expression
- expressions.rs now contains 16 functions total
- Build verified successfully
2025-08-25 18:15:23 +09:00

133 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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