Arsitektur Kvasir

Satu peta untuk seluruh sistem: dompet, gateway yang menerima pembayaran, bridge yang menjadi wajah mesin inferensi, dan jaringan p4 yang menjalankan model.

Kvasir adalah empat lapisan dengan satu sambungan di tiap batasnya. Dompet memegang kunci. Gateway menerima pembayaran dan menyimpan buku besar. Bridge memberi wajah HTTP kepada mesin inferensi. Jaringan p4 yang benar-benar menjalankan model. Semua yang ada di bawah ini adalah konsekuensi dari di mana sambungan-sambungan itu jatuh — dan diagramnya menandai apa yang sudah berjalan hari ini terhadap apa yang masih berupa rancangan.

Dompet

Kunci tak pernah meninggalkan perangkat

iOS (Swift), Android (Kotlin), dan desktop (React + Electron) adalah build terpisah dari dompet yang sama, dan build desktop itu pula yang disajikan gateway di / sebagai dompet peramban — dompet utuh dengan penandatanganan di dalam halaman, bukan konsol baca-saja. Imbalan dibayarkan ke alamat Solana milik masing-masing pemilik; gateway tak pernah memegang kunci pengguna.

Gateway

Satu proses, dua permukaan

solana/staking-service sekaligus menjadi API gateway (/v1/chat/completions yang kompatibel OpenAI, plus alur bayar-per-permintaan /api/pay/quote → /api/inference) dan gateway penyelesaian (staking, registri node, akun kredit, kredit kontribusi). Keduanya satu proses karena berbagi satu buku besar: sebuah permintaan baru dilayani setelah transfer KVR-nya terverifikasi on-chain, dan buku besar yang sama mengkreditkan node-node yang melayaninya.

Pembayaran diselesaikan sebelum inferensi berjalan. Jika setelah itu bridge gagal, gateway mengembalikan dana pembayar dari treasury dan mengembalikan 502 alih-alih menagih untuk nol hasil. Tak ada model tiruan dan tak ada katalog pengganti di belakangnya: model yang ditawarkan aplikasi adalah model yang memang sedang dilayani sebuah bridge, atau daftarnya kosong.

Bridge

Wajah HTTP mesin inferensi

Bridge (p4bridge) adalah sebuah OUTER dalam istilah p4: ia memasang sesi melintasi stage-stage, mengirim permintaan ke stage kepala, lalu mengumpulkan aliran token. Bagi gateway ia adalah kontrak kecil yang tetap — model apa yang termuat, siapa berkontribusi berapa, dan completion.

RuteApa yang dijawabnya
/api/controllersmodel apa yang termuat, dan status tiap stage
/api/runtimedompet operator dan mesin-mesin di belakangnya
/api/contributionsbaris, unit, permintaan, dan throughput per node
/c/<model>/v1/chat/completionsinferensi

Dua tugas yang sengaja ditinggalkan p4 untuk bridge: template chat (p4 menyerahkan prompt buram ke stage server dan tak menerapkan satu pun, sehingga model instruct akan melanjutkan teks Anda alih-alih menjawabnya) dan blok penalaran (dikembalikan sebagai reasoning_content, terpisah dari content, agar sesi berpikir tak diam-diam melahap anggaran token lalu menagih pembayar untuk jawaban kosong).

Bridge tak pernah dipublikasikan. Satu-satunya autentikasinya adalah service token bersama, dan apa pun yang bisa menjangkaunya bisa menjalankan ring. Ia mengikat loopback; terowonganlah pintunya.

Jaringan p4

Agen memiliki node, stage server memegang lapisan

Sebuah agen memiliki node-node pada satu host; sebuah stage server adalah satu proses yang memegang irisan lapisan model. Sebuah stage menyerahkan hasilnya ke stage berikutnya dengan meminta agennya sendiri menelepon agen stage itu di alamat yang diiklankan agen tersebut — jadi alamat yang diiklankan harus terjangkau dari host-host lain, dan sebaiknya jaringan tercepat yang mereka bagi. Pada rak MI250 itu berarti tautan InfiniBand, bukan LAN kantor dan tak pernah loopback.

  • `p4-agent` dan `p4_staged_server` adalah satu rilis. Agen yang dibangun dari pohon sumber lebih baru gagal di READY karena kapabilitas HELLO yang hilang — setelah memuat seluruh model.
  • Penempatan adalah artefak operator. Lapisan mana duduk di GPU mana, pada load generation berapa, berasal dari rencana penempatan; bridge menjawab 409 kepada siapa pun yang memintanya melayani, dan watchdog gateway menyatakannya sekali lalu berhenti bertanya.
  • Sebuah pipeline butuh setidaknya dua stage. Perintah sesi menolak pipeline satu-stage.
Relay

Alamat yang bisa ditelepon untuk sebuah laptop

Node tepi — aplikasi desktop, sebuah ponsel — tak punya alamat yang bisa ditelepon siapa pun. Relay memberikannya: node menelepon keluar, membuktikan pasangan kunci dompetnya lewat tantangan ed25519, dan sejak itu terjangkau melalui relay. Relay adalah batas autentikasi dan tak pernah mengurai payload. Installer desktop mengirimkan agen p4 berdampingan dengan aplikasinya, jadi bergabung bukan instalasi kedua.

Penyelesaian

Kredit mengikuti partisipasi

Setiap stage melaporkan baris token yang dijalankannya. Bridge mengakumulasinya per node, dan gateway mem-poll /api/contributions setiap 30 detik lalu mengkreditkan dompet yang disebut bridge, sebagai rows / 1000 unit yang diskalakan tingkat performa node. Dalam sebuah pipeline setiap stage melihat baris yang sama, jadi ring empat-stage membayar keempat stage-nya sama rata tak peduli berapa lapisan yang dipegang masing-masing — kredit mengikuti partisipasi, bukan porsi bobot. Sharding pakar, tempat node memegang pecahan berbeda dari satu lapisan yang sama, adalah kasus yang nanti menuntut ini ditinjau ulang.

P4 Studio

Apa yang ditandai diagram sebagai usulan

P4 Studio adalah konsol operator milik p4 sendiri. Umpan observabilitas per-permintaan yang dibutuhkannya dari para agen masih berupa usulan di upstream, bukan sesuatu yang berjalan di sini — karena itulah diagram menggambarnya putus-putus, bersama shard pakar yang dilayani dari node tepi, yang sudah dirancang dan belum berjalan.