NEMを支える評判システム EigenTrust++

NEMを支える評判システム EigenTrust++

NEMのセキュリティを支える上で重要な手法のひとつ、EigenTrust++について調査していこうと思います。(あくまで自分の理解で書いていくので正確性は保証できません)

 

調査にはこのサイトがとても役に立ちそうです。(こんな良いサイトあったのか…)

 

NEMでEigenTrust++というものが使われているのは以下のような理由からです。

  • まず、「P2Pネットワークには特有のデメリット」がある。
  • それは、「害意のあるノードがネットワークに紛れ込み、正しくない情報を撒き散らすなどしてネットワークを妨害することが可能」で、
  • それを防ぐため、「ノードに対する評判システム(reputation system)を作る」ことで悪意あるノードを特定する。
  • それで、「EigenTrust++に似たアルゴリズムの評判システム」を使っている。

 

つまり、Eigentrust++という評判システムをNEMネットワークに導入することで害意のあるノードが悪さをしないように見張っているのです。

 

なんだか、Eigentrust++は人間社会でいうところの警察みたいなポジションですね。人間社会でも詐欺師とかを特定するシステムが活かせれば良いんですけどねぇ~。ちょっと、評判システムに興味が湧いてきました。機会があればいろいろ調べてみたいなぁ。

 

Eigentrust++の仕組み

このサイトではEigentrust++の仕組みについて少しだけ踏み込んで説明してくれるみたいです。

 

ざっと見た感じ、数式っぽいのも出てきているので頑張って読んでいきます…

 

ノード間の交信

NEMネットワークのノードはトランザクションやブロックの情報をやり取りすることで常にお互いに交信しています。 新しい参加者に関する情報もブロードキャストしたり、既存の参加者に訪ねたりすることができます。

参考元:http://nemmanual.net/NEM_Technical_reference_JA/Reputation/6.1.html

 

今まで、NEMに関しては価格の情報や「〇〇と提携しました」のような情報ばかり見ていたので、実際にNEMのネットワークがどのような動きをしているかゼロ知識だったので、この文章を見てこんなことしていたのか!って感じで刺激的でした。

 

てっきり、NEMネットワークがしていることは取引の記録くらいだろうと思っていましたが、常にノード間であらゆる交信をしているんですねぇ。ブロードキャスト(全てのノードに情報を発信するようなもの)なんかもしていたんですねぇ。

 

ほんと、生き物のようですよ!(ポエム)。いつかネットワークの動きを可視化して見られるようなもの作ってみたいな(もうあるんかな)

 

成功・ニュートラル・失敗

リモートのノードから情報を受け取ると、ノードはその情報の正当性と使用可能性をチェックすることができます。 その結果によってノードは交信(あるいは呼び出し)が「成功(新しい有効な情報を受信)」、「ニュートラル(有効だが既知の情報を受信)」、「失敗(無効な情報を受信)」のいずれかであったと判定します。

参考元:http://nemmanual.net/NEM_Technical_reference_JA/Reputation/6.1.html

 

リモートのノード…ローカルのノードもあるのか…

 

早速わからんw

 

あ、リモート(相手)ローカル(自分)って認識で良いのかな?とりあえずその理解で進もう…(後で間違っていたら直しますたぶん)

 

追記)リモートノードはスーパーノードのことか?

 

で、ノード間で多くの交信が行われていることが分かりましたが、もちろん害意のあるノードの可能性もあるわけです。そのため、情報を受け取る側のノードは送られてきた情報が正しいものか、利用できるものかチェックをします。

 

チェックした結果、新しい有効な情報ならば「成功」、有効だが既知の情報ならば「ニュートラル」、無効な情報なら「失敗」と判定しています。

 

いやぁ、こういった仕組みを学ぶのは初めてなのでとても面白いです。

 

NEMのノード間の交信を学んだところで、自分の理解をもとにイメージを作ってみました。(このイメージはあくまで僕個人の理解に基づくイメージですので正確性は保証しません

 

 

その2に続く

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です