【NEM/Symbol技術勉強会】低手数料係数ノードの増加がSymbolメインネットに及ぼした影響について(minFeeMultiplier = 10)

今回は、ShizuiNetのテスト機能を使った実験から、実際にどんな効果がSymbolブロックチェーンに現れたかについて、データを示しながら解説したいと思います。


方法

ShizuiNetデバイスは、バーコードを読み込んでブロックチェーンに書き込むための小型デバイスですが、内部でテスト用の送金(トランザクション)データを自動生成して、好きな時間間隔、好きな手数料係数で送り込むことができる機能を持っています。実験は、6月と7月にそれぞれ2回ずつおこないました。それぞれの実験では、1000個から10000個のテスト用トランザクションデータを、ネットワークに負荷をかけないように、2秒から10秒間隔でゆっくりと投入し、これらのトランザクションが投入から、承認されるまでの時間を、すべて計測しました。結果は、横軸にかかった時間、縦軸にそれぞれの実験ごとの、全体に対する各区分のトランザクション数の割合で表しました。

結果

結果のヒストグラムをお見せします。黄色とオレンジで示された6月の実験では、minFeeMultiplier = 10のノードが全体のインポータンスに占める割合は、全体の1割程度でした。それが、7月には2割程度まで増えました。その効果が、承認にかかった時間のグラフにもはっきりと現れています。承認にかかる時間は明らかに短くなり、ウォレットでタイムアウトしてしまう2時間以上かかる事例が消失しました。


何がどう変わった?

minFeeMultiplier = 10のノードが倍増したことによる、具体的な効果としては、

  1. タイムアウトするトランザクションが無くなった
  2. すべてのトランザクションが30分以内に承認されるようになった
  3. 平均手数料係数が下がりやすくなった

の3点が挙げられます。これによって、エンタープライズ向けだけではなく、ウォレットを使った送金にも影響が現れると考えられます。

トランザクションがタイムアウトしないメリット

図にするとこういうことになります。minFeeMultiplier = 10以上のノードに接続すれば、デスクトップウォレット、モバイルウォレットとも、30分以内にはちゃんと着金するようになっているはずです。これは、意図的に送金手数料を低く設定した場合だけではなく、間違って「最遅」で送金や委任ハーベスト設定をしてしまった場合にも、タイムアウトエラーを心配する必要がなくなったことを意味しています。

平均手数料率を引き下げる効果

さらに、低手数料トランザクションが前よりも頻繁に承認されるようになった効果は、平均手数料係数(Average Fee Multiplier)にも反映されているようです。平均手数料係数は、デスクトップウォレットの「最遅」以外の設定で手数料計算に使われるため、デスクトップウォレットの「遅い」や「平均」の手数料も少し安くなっている可能性があります(要検証)。

攻撃に対する脆弱性は大丈夫?

ただし、今後さらに多くのノードが10に設定するようになると、攻撃コストも下がることになります。そこで、最後に6月および7月の、minFeeMultiplier設定ごとのノードのインポータンス占有率のヒストグラムをお見せします。

オレンジで示した7/3の時点でも、相変わらず100のノードが多く、それに25, 10のノードが続く形は変わっていません。この分布ならば、攻撃者がいくら10のノードを集中的に攻撃して支配下においたとしても、ブロック承認に必要なインポータンスや、ましてやファイナライズに必要なインポータンスを得ることはできません。ただし10のノードが過半数を占めるようになると、明らかに攻撃コストが下がってくるため、このように2割から3割程度の範囲におさまっているほうが、全体のセキュリティー的には良いのかもしれませんね。


まとめ

さらなる検証と観察は必要ですが、minFeeMultiplier = 10のノードが増えたことによって、ネットワーク全体の手数料に関するトラブルが減り、企業も個人も安心してSymbolを使えるようになったのではないでしょうか。

ネットワークの安定性、コスト、セキュリティの3つをうまくバランスさせる理想的な手数料係数分布が分かれば、Symbolはさらに安全で使いやすいブロックチェーンに進化していくことができると思います。

長文かつ難解な文章にお付き合いくださいまして、ありがとうございます。良きノード運営を。