難易度調整(Difficulty Adjustment)アルゴリズムとは?

仮想通貨全般

最近、Monaが攻撃を受けて被害がでた件ですが

上記、大石さんの記事を引用しますが

攻撃を容易にした一つの要因に、モナコインの難易度調整アルゴリズムがあげられます。モナコインは採掘難易度を1ブロックごとに調整する仕様になっています。

これは急激なハッシュパワーの変化に強いという意味では良いのですが、今回のようなケースでは、たまたま難易度が低い時点を基点として攻撃を仕掛けると、平均した難易度より攻撃が容易になってしまうという欠点があります。

難易度調整アルゴリズムの性質を突かれたものと言われています。
Monaは Dash (DarkCoin)で採用されている Dark Gravity Wave v3 という難易度調整アルゴリズムを使用しており、1ブロックごとに難易度調整するものでした。採用は2014年なのでもう4年前にもなります。

調べていると、様々な難易度調整プログラムがある事がわかったので一部ですがまとめています。
* 随時追加していく可能性があります。

Sponsored Link


難易度調整(Difficulty Adjustment)アルゴリズム一覧

略称 正式名称 内容 使用しているコイン 備考
NDA Normal Difficulty Adjustment 難易度調整タイミングで手前の2016ブロックの取引生成速度を計算し、早くなっていればマイニング難易度を高くして取引生成時間を長くします Bitcoin デフォルトの難易度調整プログラム
EDA Emergency Difficulty Adjustment 手前12時間の取引数とマイナーの数を照らし合わせて取引数に対してマイナーが多い(たくさん取引が承認されている)場合マイニング難易度を高くして取引を遅くするように働き、逆にマイナーが少ない(承認される取引の数が少ない)とマイニング難易度を低くして取引をよりスムーズに流すように調整 以前はBCH 急激にハッシュレートが変わってしまうことも
DAA Difficulty Adjustment Algorithm EDAに加えて、①平均ブロック間隔は600秒(10分)に設定, ②安定したハッシュレートが続いている場合は難易度調整を行わない, ③ハッシュレートが急激に変化した場合、難易度を即座に調整 BCH(2017年11月13日) DAAはEDAにNDAの要素を足したようなプログラム
DGW Dark Gravity Wave 指数移動平均や通常の移動平均などを組み合わせて難易度を1ブロックごとに?調整。 DASH, Mona Monaの事件を受けてこれ採用するところ少なくなりそう
LWMA Linear Weighted Moving Average 線形加重移動平均をもとに難易度調整。いくつかのコインで採用予定 BTC Gold
monero
SHIELDCOIN
DGWからLWMAに以降しているところも。monero実装まじか。実装サンプル
Diff調整は1ブロックごとに行うとcoin-hopping-attackは防げる

まとめ

今回のMonaの攻撃を受けて一部界隈では注目を浴びる事になった難易度調整アルゴリズム。
ただ、こういったアルゴリズムもいたちごっこな気がしますが、当分やぶられないようなアルゴリズムや仕組みがでることが暗号通貨界隈の発展には必要でしょうね。

参考サイト


Sponsored Link

ビットコイン(Bitcoin)、イーサリアム(Ethereum)、リップル(Ripple)、ネム(NEM)などの仮想通貨を買うならZaifがおすすめです。

特に国内でETHを購入するなら、アルトコインでも板取引に対応しているZaif(ザイフ)が割安なのでよいですよ。

コメントはまだありません

コメントを残す

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

CAPTCHA


仮想通貨全般
Stablecoin(ステーブルコイン)とは?

最近Stablecoinのツイートをよく見ており、次の仮想通貨の本命などと言われています。 ステーブ …

ICO
ICO Platformはどんなものがあるか?

ICO Platform にどんなものがあるか調べてみました。 ここで取り上げているICO Plat …

Dapps
Web3.0 dApps なるサービスの概要をまとめました

1つ1つ投稿するのが面倒になったのでWeb3.0 dAppsの特徴を簡単に1つの記事にまとめました。 …