運作方式
一次工作階段有四個步驟:發現、握手、推論與結算。路徑上沒有任何一環由 GenKaKu Labs 營運。
1. 發現
Worker 在 WorkerRegistry 註冊:
- peer ID — 它回應的 libp2p 身分,
- policy hash — 它提供的模型與規則,
- 選填的 locator — 例如 multiaddr 的位址提示。
註冊表公開 count() 與 isActive(address)。應用程式透過公開 RPC 讀取,沒有需要信任的目錄 API。
Locator 是選填的。除非你明確開啟 publishAddress,桌面應用程式不會公開你的公網 IP;
一旦寫入鏈上,公開的 locator 就是永久的。
2. 握手
應用程式向 worker 的 peer ID 建立 libp2p 連線。NAT 穿透使用 DCUtR;當雙方都在對稱 NAT 後方時, relay 只用於握手。Relay 不承載模型流量:128 KiB / 2 分鐘的額度撐不起 LLM 串流。
hello 交換會釘住:
- peer ID(必須與註冊表一致),
- worker 的錢包位址,
- policy hash,
- 每小時報價與計費模式。
3. 推論
Worker 用 Ollama 在本機執行模型,並透過直接連線串流 token。市集不儲存提示詞; worker 營運者看得到它服務的流量。
4. 結算
計費採每小時報價、按已開始分鐘累計:
- worker 公告每小時價格,
- 每個已開始的分鐘算一分鐘,
- 兩分鐘的工作付兩分鐘,不是一小時。
使用者在 JobEscrow 以一定數量的測試 USDC 開啟工作階段。結束時:
- worker 對工作階段 ID、花費與收據雜湊簽章;
settle()驗證簽章並釋出花費;- 99% 給 worker,1% 給金庫;
- 剩餘部分透過
refund()回到使用者。
Worker 可隨時用 claim() 領出累積餘額。
取代 orchestrator 的部分
| 舊模式 | GenKaKu |
|---|---|
| 伺服器派工 | 使用者從合約挑選 worker |
| 伺服器儲存提示詞 | 直接點對點連線 |
| 伺服器計量 | 已開始分鐘累計+簽章收據 |
| 伺服器付款 | 鏈上釋放託管 |
中間的東西變少,信任假設也變小,但不是零:你仍然要信任 worker 看到提示詞, 也仍然要信任自己執行的程式碼。