QUIVer Documentation
QUIVerは、世界中のコンピューターをつなぎ、分散型AI推論ネットワークを構築するオープンソースプロジェクトです。
📢 最新情報
v1.1.0がリリースされました!Mac版のDMGインストーラーが利用可能です。
v1.1.0がリリースされました!Mac版のDMGインストーラーが利用可能です。
主な特徴
- 完全分散型: 中央サーバーなしで動作
- P2P通信: QUIC/WebRTCによる高速通信
- 暗号化: エンドツーエンド暗号化
- 報酬システム: QUIVトークンによる自動決済
クイックスタート
1. Mac版をインストール
# DMGをダウンロード
curl -L https://github.com/yukihamada/quiver/releases/download/v1.1.0/QUIVerProvider-1.1.0.dmg -o QUIVer.dmg
# インストール
open QUIVer.dmg
# 「インストール.command」をダブルクリック
2. ソースからビルド
# リポジトリをクローン
git clone https://github.com/yukihamada/quiver
cd quiver
# ビルド
make build-all
# 起動
./scripts/start-network.sh
3. Dockerで実行
# Dockerイメージをビルド
cd quiver
docker build -t quiver-provider provider/
# 実行
docker run -d -p 4001:4001 quiver-provider
アーキテクチャ
QUIVerは、以下のコンポーネントで構成されています:
コンポーネント | 役割 | 技術スタック |
---|---|---|
Provider Node | AI推論を実行 | Go, libp2p, Ollama |
Gateway | HTTPからP2Pへの変換 | Go, WebRTC, WebSocket |
Bootstrap Node | ピア発見 | Go, Kademlia DHT |
Smart Contract | 決済・ガバナンス | Solidity, Polygon |
Provider セットアップ
必要な環境
- macOS 10.15以降 または Linux
- 8GB以上のRAM
- 20GB以上の空きストレージ
- 安定したインターネット接続
設定ファイル
# ~/.quiver/config.json
{
"provider": {
"models": ["llama3.2:3b", "qwen2.5:3b"],
"max_concurrent": 5,
"port": 4001
},
"p2p": {
"bootstrap": [
"/dns4/bootstrap1.quiver.network/tcp/4001",
"/dns4/bootstrap2.quiver.network/tcp/4001"
],
"nat_traversal": true,
"relay": "auto"
},
"earnings": {
"wallet": "0x...",
"min_payout": "100"
}
}
API リファレンス
推論リクエスト
POST https://api.quiver.network/inference
{
"model": "llama3.2:3b",
"prompt": "Explain quantum computing",
"stream": true,
"max_tokens": 1000
}
レスポンス
{
"completion": "Quantum computing is a revolutionary...",
"usage": {
"prompt_tokens": 4,
"completion_tokens": 150,
"total_tokens": 154
},
"receipt": {
"provider_id": "12D3KooW...",
"timestamp": 1704931200,
"signature": "0x..."
}
}
JavaScript SDK
インストール
<script src="https://yukihamada.github.io/quiver/js/quiver-p2p-client.js"></script>
使用例
// P2Pクライアントを初期化
const client = new QUIVerP2PClient();
// ネットワークに接続
await client.connect();
// 推論を実行(ストリーミング)
const response = await client.generateStream(
"量子コンピューターについて説明してください",
"llama3.2:3b",
(chunk) => {
console.log("Chunk:", chunk);
}
);
console.log("完了:", response);
P2P プロトコル
使用技術
- libp2p: P2Pネットワーキングスタック
- QUIC: 高速・安全な転送プロトコル
- Kademlia DHT: 分散ハッシュテーブル
- GossipSub: メッセージ伝播
- Circuit Relay v2: NAT traversal
ピア接続フロー
1. Bootstrap nodeに接続
2. DHTでピアを発見
3. QUIC/TCPで直接接続を試行
4. 失敗時はCircuit Relay経由
5. 暗号化チャネルを確立
6. 推論リクエスト/レスポンス
セキュリティ
⚠️ セキュリティ脆弱性を発見した場合
security@quiver.network までご連絡ください。公開Issueには投稿しないでください。
security@quiver.network までご連絡ください。公開Issueには投稿しないでください。
実装されているセキュリティ機能
- TLS 1.3によるトランスポート暗号化
- Ed25519による署名検証
- Noise Protocolによるセキュアチャネル
- レート制限とDDoS対策