QUIVer Documentation

QUIVerは、世界中のコンピューターをつなぎ、分散型AI推論ネットワークを構築するオープンソースプロジェクトです。

📢 最新情報
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には投稿しないでください。

実装されているセキュリティ機能

  • TLS 1.3によるトランスポート暗号化
  • Ed25519による署名検証
  • Noise Protocolによるセキュアチャネル
  • レート制限とDDoS対策