文件與常見問題
這裡是理解 TCP 產出所需要的概念,以及最常被問到的問題。
你需要知道的七個概念
如果你只讀一段,請讀第一個。
- 價值圖與可達圖
- 價值圖只包含真正的資產轉移邊。可達圖包含所有邊,含手續費補貼與粉塵。兩張圖永遠同時計算,但結論只能來自價值圖 —— 一項來自可達圖的結論在我們的資料模型裡是一個違規。可達圖的用途是脈絡與視覺化。
- 時序因果
- 一個地址在時間 T 收到資金之後,只有它在 T 之後送出的部分會被視為往下游傳遞。少了這條規則,任何結論都沒有價值 —— 因為你會把「事件發生前就存在的關係」算成事件的後果。允許 5 分鐘的時鐘誤差。
- 證據層級、強度與依據
- 每一項發現帶三個欄位。層級分為 authoritative(事件後、時序成立、價值圖 —— 唯一能支撐結論的層級)、reference(全時段可達,明確標示為巧合可能)與 background(廣域脈絡)。強度分為強與弱,用邊框樣式而不是顏色表示。依據欄位不可為空,它是這項發現可被稽核的原因。
- 偽陽性標記
- 五個具名偵測器:受害地址橋接、共用服務巧合、僅靠手續費/粉塵連結、時序不可能、舊錢包重複使用。其中「時序不可能」是硬性標記,其餘為軟性。被標記的發現一律顯示、降級、解釋,不會被過濾掉。
- 邊界帳
- 走訪不會無限展開。每一個被停在那裡的節點都會記錄停止原因 —— 到達深度上限、到達節點上限、判定為集散節點、金額低於展開門檻、超出時間窗、資料截斷。空結果配上完整邊界帳是一項發現;空結果沒有邊界帳是一份錯誤回報。
- 快照與 as_of
- 每一次分析在建立時就固定一個 as_of 時點,並把它夾進之後每一次供應商呼叫。這是「同一個案件明天重跑會得到同一個答案」的基礎。要看新資料,就建立一份新快照,兩份之間可以做差異比對。
- 原始整數金額
- 鏈上金額是任意精度的整數。JavaScript 的 number 裝不下 uint256,Python 的 float 也會在加總時失真。所以金額在系統裡一路是整數,在 JSON 裡是字串,只在顯示的最後一刻才轉成人類單位 —— 而且是截斷,不是四捨五入,並且會標示截斷。
常見問題
- TCP 支援哪些鏈?
- Phase 1 只有 TRON,資產涵蓋 USDT(TRC-20)與 TRX。這是刻意的:TRON 是 USDT 的主要通道,也是散戶盜領最集中的場域,而它有一整組別的產品當成「又一條鏈」處理的特徵 —— 能量/頻寬租賃服務、手續費代付、USDT 合約黑名單。
- 為什麼沒有風險分數?
- 因為一個講不出依據的分數比沒有分數更糟。Phase 1 完全沒有風險分數。我們規劃在 Phase 2 提供一個可拆解、每一項貢獻都看得到依據的版本。在那之前,我們寧可回答「這個地址被 OFAC 列入制裁名單」或「這個地址被 Tether 合約凍結」這種可以被查證的事實。
- 為什麼標籤會互相矛盾?
- 因為真實世界就是矛盾的。使用者標籤、鏈上瀏覽器標籤、免費公開清單與我們自己的啟發式判斷可以同時存在並且不一致。我們把它們全部列出來,附上來源與信任層級。把矛盾藏起來只是把判斷從你手上拿走。
- 「查無關聯」真的會有報告嗎?
- 會,而且品質與肯定結論相同。報告會包含:走訪範圍與邊界帳、每一個被降級的疑似連結與降級理由、金流守恆會計,以及一段「鏈上資料無法告訴你什麼」。這是我們認為這個產品最重要的一種輸出。
- 你們會拿我的資料做什麼?
- 分析所需的地址與案件資料存在我們自己的資料庫裡,證據性的供應商回應存在我們自己的物件儲存。我們永遠不會要求助記詞或私鑰 —— 我們沒有任何功能需要它們,而持有它們是不可逆的資安責任。
- 為什麼一次分析要跑好幾分鐘?
- 因為我們一個地址一個地址地從有速率限制的公開節點把完整轉帳歷史拉下來,並且原樣保存。這是可重現性的代價。等待畫面上的進度來自後端回報的實際階段,不是計時器 —— 一個假的進度條在六分鐘的爬取上比沒有進度條更糟。
- 我可以在報告裡引用你們的結論嗎?
- 報告會明確標示每一項發現的證據層級。只有 authoritative 層級的發現支撐結論;reference 與 background 層級在報告裡會被明確標示為脈絡。此外報告一律附上邊界帳與 SHA-256 清單,讓對造可以檢驗我們看了什麼、沒看什麼。
- 有 API 嗎?
- 有一組 REST 控制平面,但 Phase 1 的存取是綁在使用者登入上的。給機器用的服務帳號與 API 金鑰規劃在 Phase 2。
- TCP v2 現在可以用了嗎?
- TCP v2 目前部署在審閱環境的主機名稱上。這個公開入口網站是它的一部分,而且是刻意不需要登入的。功能的階段標示請見分析能力頁。