TgWitness / 文件說明

文件說明 / 12

設定 Witness 機器人

讓獨立的程序檢查該日誌,並將簽名檢查點發佈至您的頻道。

兩台主機,兩組簽名金鑰

部署 / 資料收集器帳戶 + 日誌

Telegram 會話收集器的簽名金鑰

唯讀檢查點端點
HOST B / WITNESS驗證 + 保留

固定收集器指紋 獨立的見證簽署金鑰

專屬日誌 + 機器人代幣
Witness → Telegram 機器人 API →您的頻道 · 經簽名的 TGW1 貼文
Witness 會自行執行驗證。收集器的存取權限為唯讀。機器人發佈時會使用 Witness 的連線與憑證;Witness 不會獲得任何帳戶會話權限。
03 / 檢查點決策示例答案
最後接受日期120 筆記錄head 9c7d…
下一則答案128 筆記錄head a4f2…

已接受:計數持續增加,簽名經驗證無誤,且金鑰匹配。該見證者保留此新界限。

所有解答範例均假設具備有效簽名及已釘選的金鑰。此處的雜湊值僅為簡化示意。單憑較大的計數並不能證明整個舊前綴未曾變更;請將匯出資料與保留的檢查點進行比對。

準備一個機器人與一個頻道

使用 BotFather 建立一個機器人,並允許其在您所控制的頻道中發文。為 TgWitness 選擇一台電腦或伺服器。相較於在資料收集者的伺服器上運行第二個程序,使用獨立的主機和操作員能提供更強的獨立性。

「進階功能」中的三個步驟

  1. 唯讀存取權限。開啟「Extras」→ 在您的頻道中加入一個機器人,建立一個見證代幣並儲存存取檔案。此權限僅允許讀取檢查點和系統狀態,無法存取對話內容或收集器控制功能。
  2. 頻道與間隔。請輸入頻道名稱,以及可從該頻道存取的收集器位址。儲存設定檔。
  3. 啟動。將 witness.json、witness-token.txt 以及在 Witness 主機上建立的 bot-token.txt 置於同一位置。在已安裝的專案環境中執行以下指令。
python -m tgwitness.witness run --config witness.json --check-config
python -m tgwitness.witness run --config witness.json

下載檔案並不會啟動「witness」。請確認首則簽名貼文已出現在頻道中,然後將「witness」的公鑰指紋另行保存。

選擇發布頻率

每次檢查結果的發布都會建立一份定期的外部記錄。以五分鐘為間隔計算,每個工作區每天約有 288 則貼文。進階設定還提供在發生變更或問題時發布通知、代理伺服器以及自訂 Bot API 位址等功能。

該機器人實際上能證明什麼?

該「見證者」會向資料收集者索取經簽名的檢查點,並使用預期金鑰進行驗證,同時另行維護一份經簽名的日誌。它不僅記錄成功的驗證結果,亦會記錄缺失的回應與被拒絕的答案。發布與否仍取決於「見證者」是否正在運行,以及能否連線至 Telegram 的 Bot API。

本工具會檢查收集器回報的日誌狀態,但不會獨立監控每則 Telegram 訊息。若需進行此類監控,請新增「受控傳送測試」。

稍後查閱證據

請保留證據日誌、頻道貼文以及獨立儲存的指紋資料。完整的驗證程序會將這些資料與收集者簽署的匯出檔進行比對。