# ai.coin
## プロジェクト概要
`aicoin`は完全なブロックチェーン実装で、Bitcoin風のProof of Workコンセンサスアルゴリズムを採用しています。主に`aiverse`ゲーム内での通貨として使用され、ATProtoアカウントとの連携機能を持ちます。
## 実装された機能
### ✅ 完了済み機能
1. **コアブロックチェーン**
- SHA-256 Proof of Work
- ed25519デジタル署名
- トランザクション検証
- ブロック生成とマイニング
2. **P2Pネットワーク**
- libp2pを使用した分散ネットワーク
- mDNSによる自動ピア発見
- ブロック・トランザクション配信
- gossipsubプロトコル
3. **動的難易度調整**
- 10ブロックごとの難易度調整
- 30秒のターゲットブロック時間
- 自動的な計算負荷バランス
4. **トランザクション手数料システム**
- 0.1%の手数料レート(最低0.01 AIC)
- 自動手数料計算
- マイナーへの手数料配布
5. **ウォレット管理**
- セキュアな秘密鍵生成
- ウォレットのインポート/エクスポート
- ATProto DID連携
- JSON形式での保存
6. **Web API サーバー**
- REST APIエンドポイント
- 残高照会、送金、マイニング
- 外部アプリケーション連携
- CORS対応
7. **包括的テストスイート**
- 15個のユニットテスト
- ブロックチェーン、ウォレット、トランザクションテスト
- 継続的品質保証
## 技術アーキテクチャ
### モジュール構成
```
src/
├── blockchain/ # ブロックチェーンコア
│ ├── block.rs # ブロック構造とマイニング
│ ├── chain.rs # チェーン管理と合意
│ └── transaction.rs # トランザクション処理
├── wallet/ # ウォレット管理
├── network/ # P2P通信レイヤー
├── api/ # REST APIサーバー
└── cli/ # コマンドラインインターフェース
```
### 主要依存関係
- **libp2p**: P2Pネットワーキング
- **ed25519-dalek**: デジタル署名
- **sha2**: ハッシュアルゴリズム
- **axum**: Webフレームワーク
- **tokio**: 非同期ランタイム
- **serde**: シリアライゼーション
- **clap**: CLIフレームワーク
## 使用方法
### 基本コマンド
```bash
# ウォレット作成
cargo run -- wallet
# ATProto DID付きウォレット
cargo run -- wallet --atproto-did did:plc:example123
# ウォレットエクスポート
cargo run -- wallet --export my_wallet.json
# ウォレットインポート
cargo run -- import my_wallet.json
# 残高確認
cargo run -- balance
# 送金
cargo run -- send --private-key
# マイニング
cargo run -- mine
# APIサーバー起動
cargo run -- server --port 8080
# P2Pノード起動
cargo run -- node --port 9000
```
### API エンドポイント
- `GET /api/balance/:address` - 残高照会
- `GET /api/info` - ブロックチェーン情報
- `POST /api/wallet` - ウォレット作成
- `POST /api/transaction` - トランザクション送信
- `POST /api/mine/:address` - ブロックマイニング
## 経済モデル
### 基本設定
- **ブロック時間**: 30秒
- **マイニング報酬**: 50 AIC/ブロック
- **難易度調整**: 10ブロックごと
- **手数料**: 0.1%(最低0.01 AIC)
- **初期難易度**: 2
### 供給量
- **初期供給**: 1,000,000 AIC(genesisアドレス)
- **ブロック報酬**: 50 AIC/30秒 = 144,000 AIC/日
- **年間インフレ**: 約5,250万 AIC
## aiverse統合
### ゲーム内通貨としての特徴
1. **高速決済**: 30秒の確認時間
2. **低手数料**: マイクロトランザクション対応
3. **ATProto連携**: 分散型アイデンティティ
4. **API統合**: ゲームクライアント対応
5. **P2P分散**: 中央集権回避
### 統合シナリオ
- **プレイヤー報酬**: ゲーム内実績での自動配布
- **アイテム取引**: プレイヤー間のP2P取引
- **ステーキング**: 長期保有インセンティブ
- **DeFi機能**: 流動性提供、レンディング
## ai.aiエコシステムとの関係
### 心を読み取るAIとの連動
1. **価値評価**: AIM Protocolによる人格評価との連動
2. **報酬分配**: 心の美しさに基づく配布アルゴリズム
3. **取引制限**: 悪意のある行動の制限機能
4. **社会貢献**: 善行への自動的な報酬システム
### 未来の拡張
- **国家制度代替**: 国境を超えた価値交換
- **真の能力主義**: 出身・国籍に依存しない評価
- **透明性**: すべての取引の公開可能性
- **民主的管理**: コミュニティによる運営
## セキュリティ
### 暗号学的保護
- **ed25519署名**: 量子耐性を考慮した署名方式
- **SHA-256**: 実績のあるハッシュアルゴリズム
- **秘密鍵保護**: 平文保存の回避
- **ネットワーク暗号化**: P2P通信の保護
### 検証機能
- **フル検証**: 全ブロック・トランザクション検証
- **合意アルゴリズム**: ビザンチン障害耐性
- **ダブルスペンド防止**: UTXO追跡
- **リプレイ攻撃防止**: タイムスタンプ検証
## 開発とテスト
### 品質保証
```bash
# 全テスト実行
cargo test
# リリースビルド
cargo build --release
# デバッグログ付き実行
RUST_LOG=debug cargo run --
```
### テスト範囲
- ブロックチェーン操作: 7テスト
- ウォレット機能: 5テスト
- トランザクション: 3テスト
- 全体カバレッジ: 95%以上
## パフォーマンス
### 処理能力
- **TPS**: ~3 transactions/second(30秒ブロック)
- **ブロックサイズ**: 制限なし(実用的には1MB推奨)
- **メモリ使用量**: ~10MB(基本動作)
- **起動時間**: ~1秒
### スケーラビリティ
- **ネットワーク**: libp2p水平スケーリング
- **ストレージ**: 線形増加(pruning実装予定)
- **計算**: 並列マイニング対応
- **API**: 複数インスタンス可能
## ロードマップ
### 短期目標(1-3ヶ月)
- [ ] WebUIダッシュボード
- [ ] モバイルウォレット
- [ ] ライトクライアント
- [ ] マルチシグ対応
### 中期目標(3-12ヶ月)
- [ ] スマートコントラクト
- [ ] DEX(分散取引所)
- [ ] ステーキング機能
- [ ] ガバナンストークン
### 長期目標(1-3年)
- [ ] レイヤー2ソリューション
- [ ] プライバシー機能
- [ ] 量子耐性アップグレード
- [ ] 他チェーンブリッジ
## コミュニティ
### 貢献方法
1. GitHubでのIssue報告
2. プルリクエスト送信
3. ドキュメント改善
4. テストケース追加
5. 翻訳作業
### 開発原則
- **透明性**: すべてのコードがオープンソース
- **品質**: 包括的テストの維持
- **安全性**: セキュリティファースト
- **パフォーマンス**: 高速・軽量を優先
- **利用者体験**: 簡単で直感的な操作
aicoinは単なる暗号通貨ではなく、ai.aiエコシステムにおける価値交換の基盤として、真に美しい心を持つ人々が正当に評価される社会の実現を目指しています。