3

趣味として、単純で原始的な分散 Web 検索エンジンを作成していますが、検索結果をゆがめようとする悪意のあるピアに対する保護が現在のところないことに気付きました。

プロジェクトの現在のアーキテクチャは、逆インデックスとランキング要素を kad dht に格納し、ピアが Web をクロールするときにこの逆インデックスを更新します。

私はいくつかの解決策を見つけようとして Google Scholar を使用しましたが、提案された p2p Web 検索の作成者のほとんどは上記の問題を無視しているようです。

なんらかの評判システムまたは信頼指標が必要だと思いますが、この分野に関する私の知識は十分に不足しているため、いくつかの指針をいただければ幸いです。

4

3 に答える 3

3

これを回避する方法の 1 つは、値の保存と取得に信頼できるノードのみを使用することです。ノードの信頼性は、既知の良好なノードによって計算される必要があり、既知の良好なノードによって計算された同じランキング係数と比較した、ノードの最近のいくつかの計算されたランキング係数の類似性などのようなものになる可能性があります (つまり、ノードのスコアを比較します)。 google.com から google.com の既知の良好なスコアまで)。このアプローチを使用すると、「不正な信頼できるノード」の問題を回避する必要があります (たとえば、ランダム チェックを使用するか、すべての信頼性スコアをランダムに減らすことによって)。

これにアプローチする別の方法は、複数のノード間でランキング係数の計算を複製し、検索時にすべての値を取得し、クライアント側でそれらをランク付けすることです (たとえば、分散を使用します)。また、計算された重複値が 10 個を超えるサイトのみに検索を制限して、新しいサイトがランク付けされるまでに時間がかかるようにすることもできます。さらに、通常の範囲外の値を持つノードは、クライアントによってバックグラウンドで報告される可能性があり、それらの信頼性スコアはこの方法で計算できます。このアプローチは、エンド ユーザーにとって時間がかかります (ルックアップを高速化するために、既知の良好な結果を既知の良好なノードに複製しない限り)。

また、シビルプルーフの弱い信頼システム (著者が説明しているように、不可能なシビルプルーフの強力な信頼システムよりも堅牢です) について説明しているこの論文を見てください: http://www.eecs.harvard .edu/econcs/pubs/Seuken_aamas14.pdf

于 2014-07-23T14:47:27.423 に答える
1

あなたが説明している問題は、ビザンチン将軍の問題またはビザンチン フォールト トレランスです。ウィキペディアで詳しく読むことができますが、それについて書かれた論文がたくさんあるはずです。

正確なアルゴリズムは覚えていませんが、基本的に、裏切り者 (悪意のあるピア) の場合、裏切り者を検出するためにピアtが必要になることが数学的に証明されています。3*t + 1

私の一般的な考えでは、これは実装のオーバーヘッドとインデックス作成側のリソースの浪費であり、分散インデックス作成と分散検索について十分な研究が行われている一方で、まだ多くの人がそれに取り組んでいないということです。また、問題は基本的にビザンチン将軍によって解決されており、既存の (そして動作している) 分散検索エンジンの上に「ただ」実装する必要があります。

于 2014-07-16T07:22:04.727 に答える