connecting...
Google translation for articles :
7 NEMBER donated to you!!

【NEM技術勉強会】4.4 未承認トランザクション(スパムフィルター)

nem17.67xem (7) 304 0 4

おはようございます。今日も頑張ってNEM Technical Referenceの勉強をしてみたいと思います。

 

(おしらせ)

  • 4.3のマルチシグについては、自分で使っていなくて理解が追いついてこないので、ちょっと飛ばします。
  • 講義ノート的に書いていますから、公開後、より読みやすくするために随時改訂しています。特に公開24時間以内に、かなり手を入れていますので、一つ前のやつを読んでもらうと、昨日より読みやすくなっているかもしれません。
  • なんとか最後までたどりついたら、一冊のPDFファイルにまとめてアポスティーユ使ってネムストアで格安で売ろうかとか、訳解んないことを考え始めました。

 

では妄想はこのくらいにして、続けます(僕が付けたコメントはで表示されています)。


4.4 未承認トランザクション(スパムフィルター)

 

新しいトランザクションが作られて、ノードのひとつに届けられた時、ノードは以下の2つのことをします。

 

1. トランザクションを未承認トランザクションキャッシュに入れる。

2. トランザクションを他のノードにブロードキャストする(トランザクション内容が合格のときだけ)。

 

ブロックチェーンの同期ごとに、未承認トランザクションのpollも行われます。これは、ポート7890が開いていない(そのためブロードキャストを受け取れない=UDPポートがあいていない?)ノードにも未承認トランザクションが届くようにするためです。

 

トランザクション手数料が安価に設定されているため、悪意のあるユーザーが大量の新規トランザクションを送り込んでネットワークの運用を妨害するかもしれません。そのために、未承認トランザクションの最大数を定める必要があります。

 

1番単純なのは、1つのノードが受け取れる未承認トランザクションに最大数を定めてしまうことですが、これだと一般ユーザーのトランザクションにも影響が出てしまいます。攻撃を受けている間も、正当なトランザクションは受け取れるようにしておかなければなりません。また、トランザクションを送付するアカウント側に、送出できる未承認トランザクションの最大数を定めるのもよくありません。なぜならアカウントはいくらでも増やせるから、大量のアカウントを作って送り込めば良いからです。

 

そのため、NEMは特別なフィルター(スパムフィルター)機能を持っています。スパムフィルターが、新しい未承認トランザクションを、受け付けるか拒否するかを決定する仕組みを以下に示します。

 

まず未承認トランザクションを入れる1000個のスロットを用意します。

120スロットまでは、すべて受け入れます。

それ以上の数(fs個)のスロットが埋まった状態で受け取った未承認トランザクションが、アカウント(原文ではsignerとなってます)Aから届いたとします。その際アカウントAは以下の計算で求めた有効スロット数(fair share)分のスロットを使用できる事にします。

以下の式によって有効スロット数を求めることができます。

アカウントAが有効スロット数未満の数のスロットを使う場合のみ、新しい未承認トランザクションを受け付けます。

 

 

トランザクション手数料を増やして、その合計が1000(単位はXEM?)を超えると、より多くのスロットを使うことができるようになります。

 

図3に、すでに埋まったスロットの数に対して、有効インポータンス(eff. importance)0.0001の場合のfair shareスロット数をグラフで示します。攻撃者が大量のスパムアカウントを作ってトランザクションを送り込んだ場合でも、それぞれのアカウントが持つインポータンスが低いならば、大きな影響を与えることはできないでしょう。トランザクション手数料を大きくして影響力を上げることもできますが、その分を攻撃者が負担することになります。

 

図3 有効インポータンスが0.0001 の場合の有効スロット数のグラフ(縦軸)

 

上の式のmax()の中が少しおかしい気がしますが、とりあえず攻撃者のアカウントのeff. インポータンスが0.001で、1トランザクションあたりの手数料を1000XEMにした場合(かなり本気)のfair shareスロット数も計算してみました。参考のためその場合のグラフを示します。この場合は、グラフが交差する300スロットくらいまで埋められそうです。

 


インポータンスを使う場面がようやく出てきました。NEMのネットワークを麻痺させるくらいの大量のトランザクションを生じさせるには、高いインポータンスが必要な上、莫大な手数料もかかるようになっているのですね。

 

今回も、勉強に付き合ってくださってありがとうございました。次回は、4章のまとめをしたいと思います。

 

目指せ北海道

 

Why don't you get crypt currency 'nem' by posting your blog article?

nemlog is blog posting service which has donation feature by crypt currency nem.
nemlog was launched to create environment which can be donated nem among NEMbers via blog articles.
Let's get nem by posting good blogs.

Nem prize event is being held frequently, Please join us on this opportunity!

nemlog registration from here
Register

NEMber who posted this article

趣味はバイクでツーリングしながら、ブログを書いたり、動画配信したりすること。暗号通貨はまだまだ初心者。

nemlogに何を書こうかいろいろ考えたのですが、まずはバイクで動画配信をするための工夫や楽しさ、充実感などを伝えられたらと思ってはじめました。ラズパイをバイクに積載して、ボタン一つでYoutubeライブ配信できるシステムを作りました。現在の課題は帯域不足と臨場感。仕方がないので、動画をUSBメモリに保存しています。早く5Gにならないかな。

本業は再生医療系研究者です。歯の神経にいる「歯髄(しずい)細胞」を使って、世界中の人を助けるため、しずい細胞プロジェクトを推進中。細胞の流通(トレーサビリティー)管理にNEMのモザイクを使いたいと思って、NEMについて勉強中です。
8473
0