Filecoin檢索#土星Saturn的日志檢測模塊(連載4)
在本報告中,我們對 Saturn 的日志檢測模塊進行了深入分析。這是 Saturn 的組件,負責檢測節點運營商提交的任何篡改或虛假日志。因此,它可以作為防止作弊和隨之而來的分配不當獎勵的保護層。
動機
作為一個去中心化的內容分發網絡 (CDN),Saturn 依賴於自愿的運營商節點的參與。任何擁有足夠好的硬件資源的人都可以免費加入,為 Saturn 的服務做出貢獻,並作為回報獲得一些獎勵。土星的獎勵取決於三個主要數據來源:
Saturn 的協調器模塊:一種集中式服務,它將向其他操作員節點發出測試請求,以衡量它們在下載速度和正常運行時間方面的性能。
操作員節點:每次操作員節點處理請求時,它們都會記錄請求(連同一些相關的統計信息)並將其發送到編排器。
客戶網站:使用 Saturn 加速其在线分發的內容發布者將在其應用程序中運行 Saturn 代碼,該代碼將記錄每個訪問其內容的用戶的指標。請注意,此數據僅在 Saturn 將客戶端接入網絡後可用。
由於內容交付的去信任驗證沒有可行的解決方案,我們不能假設 Saturn 從其運營商節點接收的數據是正確的。這些日志可以被篡改,方法是破解 Saturn 的代碼直接編輯日志,或者使用機器人發出“虛假”請求。
如果我們沒有適當的檢測系統(連同檢測時的懲罰),“流氓”節點將有明顯的動機欺騙系統並從其他誠實的參與者那裏竊取獎勵。因此,Saturn 的日志檢測模塊旨在通過查找和標記節點運營商提交的篡改或虛假日志來解決此問題。
在編排器和客戶端網站方面也有攻擊媒介。例如,客戶網站可以謊報所服務的請求,以減少他們為 Saturn 服務支付的費用,而節點運營商可以通過以不同於真實用戶的方式向編排器回答他們對編排器的感知性能。然而,這些攻擊媒介並不是第一版 Saturn 的主要關注點,因此,它們將在以後的版本中得到解決。
設計概覽
當我們談論可疑行為時,我們可以在兩個不同的級別上檢測到它:
請求級別:我們查看單個日志的級別,對應於檢測看起來不合法的特定請求。這裏的一個例子是一個持續時間快得令人難以置信的請求。在此級別,我們篩選來自日志服務的所有個人請求,並標記任何看起來可疑的請求。輸出是標記請求的列表及其標記的來源。
操作員級別:我們不查明看起來可疑的特定日志的級別,而是查看各個節點操作員的一般行為。這裏的一個例子是一個操作員記錄了不可能的大量請求。在此級別,我們匯總了每個操作員的原始日志,並標記了任何看起來可疑的日志。輸出是標記節點的列表及其標記的來源。
這兩個級別都很重要,並且會給出對基礎數據的不同看法。這不是哪個級別更好的問題。相反,我們將在兩個級別並行進行檢測。
另一個考慮因素是我們計劃使用的檢測技術。由於檢測模塊的初始版本必須在 Saturn 擁有真正的活躍用戶之前設計,我們從一個簡單的基於啓發式的檢測系統开始,根據關於用戶將如何使用 Saturn 和我們已有的測試數據進行操作的合理假設進行調整。下一節將更詳細地介紹這些啓發式方法。
在 Saturn 發射並收集到更多數據後,我們計劃通過改進啓發式算法和試驗更復雜的檢測方法(例如異常檢測模型、監督模型和主動學習模型)來迭代這個簡單的系統。
除了這種基於行為的檢測方法外,還可以通過交叉檢查市場兩側的數據來進行檢測。一旦 Saturn 开始將內容發布者加入網絡(他們將為服務付費),我們就可以使用這些客戶提交的日志來交叉檢查節點運營商提供的日志。任何一方都沒有動機串通欺騙網絡,因為一方總是會支付另一方的報酬。但是,由於 Saturn 還沒有客戶端,因此該方法在第一版系統中將不可用。
啓發式
啓發式被定義為對我們試圖避免的特定行為進行編碼的簡單規則。在本模塊中,我們將對前面描述的兩個級別(請求和運算符)進行試探。
下表描述了建議包含在檢測系統中的所有啓發式方法,並突出顯示了每種啓發式方法的推理。需要注意的是,這是第一個提案,隨着項目的成熟,它可能會發生變化。
幾乎所有提出的啓發式方法都有一個需要設置或調整的閾值。這個閾值取決於我們正在比較的單個指標。例如,在快速請求啓發式中,指標是請求持續時間。
我們可以將此問題解釋為對單變量異常的搜索。在快速請求啓發式的情況下,我們感興趣的是對於“正常”數據分布而言太低的數據點。在這裏,閾值是我們認為數據點“異常”的點。
在本文檔中,我們不共享每個啓發式的最終閾值。如果我們這樣做了,啓發式算法將很容易被欺騙!相反,我們討論達到最終閾值的過程。特別是,我們使用兩種不同的方法,即:
專家判斷:這裏我們使用我們對 Saturn 和真實請求如何工作的知識來設置閾值。這主要用於我們可以輕松定義什么是不可能的啓發式方法。
統計異常值:這裏我們使用 Saturn 測試版本的數據來模擬基礎指標的統計分布。因此,我們假設數據遵循已知分布並且它將代表未來的請求。此測試版本使用內部節點運行,這意味着來自真實用戶的觀察指標可能略有不同。然而,這是我們目前擁有的最佳近似值。一旦我們有了度量的分布,我們就將擬合分布的百分位數 99.999 或 0.0001 (1/10000) 設置為閾值候選。
需要注意的是,在統計離群值方法中,我們測試了scipy中的所有連續分布,並選擇殘差平方和 (SSR) 最低的分布。
此外,在某些啓發式算法中,我們沒有足夠的數據來適應分布(即兩個篡改的內容啓發式算法)。在這些情況下,我們假設服從高斯分布並使用正態分布的經典閾值 - μ+4σ。
關於Saturn的詳細介紹,後續將持續輸出,請關注公衆號“大有IPFS研究院”!添加客服邀請進入“大有 | FIL檢索網絡Saturn首發交流”
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
7月23:Mt. Gox 比特幣錢包在市場緊縮的情況下轉移了價值 28.2 億美元的 BTC
7月23:Mt. Gox 比特幣錢包在市場緊縮的情況下轉移了價值 28.2 億美元的 BTC一個引...
悅盈:比特幣68000的空完美落地反彈繼續看跌 以太坊破前高看回撤
一個人的自律中,藏着無限的可能性,你自律的程度,決定着你人生的高度。 人生沒有近路可走,但你走的每...
大有IPFS研究院
文章數量
31粉絲數
0