かんがえる、かがんでいる人

考えたことをまとめます。

MONAへの攻撃をまとめた話

f:id:ton96O:20180518230039j:plain

今回は知識の整理です。考えた話ではありません。

最後に、ちょっとだけ、意見を書いてはいますが。

大事な話なので、ちゃんと整理をしておきたいと思います。

 

順を追って確認します。長いです。

間違ったことを書かないように、他の記事を結構参考にさせていただきました。

ちゃんと最後に「参考」として載せてありますので、途中途中でのリンクがされていない点、ご勘弁ください。

 

さて。

 

 

今回攻撃対象になったのはMONAです。bitflyer等で手に入る仮想通貨です。

コンセンサスアルゴリズムPoWです。

取引の承認時間は90秒。

コンセンサスアルゴリズムとは、取引が正しいという合意形成をする手段です。

PoWは一番仕事をした人に対してその権限を与えます。

 

ブロックチェーンでは、トランザクションなどをまとめたブロックが連なります。

PoWでは、GPUやASIC等を利用した計算をした結果、マイニングが成功しブロックの生成が行われます。

f:id:ton96O:20180518212601j:plain

マイニングとはナンスを探すことであり、PoWの場合、膨大な計算を必要とします。

BTCの場合は、このナンス探しが10分くらいになるように調整されています。

MONAだと90秒です。

それによって作成されたブロックを承認し、上図でいうところの右のブロックが「未承認」から(左と同じく)「承認済み」へと変わります。

上記で、PoWは「一番仕事をした人が取引が正しいと判断する、取引正当性の合意形成手段」と書きました。

ブロックを主体に考えると「ブロックを生成して、そのブロックに正しい取引が記録されているか承認する一連の作業」とも言えます。

 

 

二つのグループが「同時に」マイニングに成功すると、一時的にブロックは分岐します。これは、まま起こることで、そんなに珍しい事ではありません。

f:id:ton96O:20180518214139j:plain

その場合「最も長いブロックチェーン」や「最も計算が積み重なったブロックチェーン」をメインチェーンとする、と約束事で決まっています。

f:id:ton96O:20180518215227j:plain

上図で、上の方が長く続きました。下の方は廃棄されます。

なので、マイナーは上のブロックチェーンをつなげようとします。

 

ここで、ブロードキャストの説明をします。

マイナーがナンスを探し出せ、ブロックを作り出すことができた場合、通常であればすぐにネットワークに公開します。これを「ブロードキャストする」と表現します。

今回の事件で、悪い人は、そのブロードキャストをせず、隠れてマイニングし続けました。

f:id:ton96O:20180518215831j:plain

ご覧ください。

前の図と状況は一緒

上がつながるはずで、下は廃棄されるはずなのです。

しかし、下のブロックチェーン廃棄されませんマイニングの対象であり続けています上のブロックチェーンの方が長いのに隠されてしまっているから。ブロードキャストされていないから。

 

次に、悪い人が隠していたブロックを一気に見せます。

じゃーん。

f:id:ton96O:20180518215227j:plain

オセロのように一気に逆転、一般のマイナーは下のブロックチェーンをつなげようと頑張っていたのに無駄になりました取引も無効になりました。

これを再編成(re-organization)といい、「reorg」とも書きます。

これら一連の流れを、「Selfish Mining」「Block Withholding Attack」といいます。

 

この行為で

意図した取引が無効となった事が問題です。

例えば、「tonから A取引所ton口座 への送金」が廃棄され、「tonから A取引所悪い人口座 への送金」という取引が承認をされ正しいものとして残っているのです。

私のMONAを返せ!(冗談です、私は被害にあっていません)

今回被害にあったのはLivecoinという取引所です。

 

各取引所は、対策として承認数を上げました。

 

今回の事件は、取引所への攻撃ではなく、ブロックチェーンへの攻撃である点がポイントです。

被害額が問題ではないのです。

堅牢であろうと思われていたブロックチェーンへの攻撃ができてしまった、それがよろしくないのです。

ハッシュパワーが低く、承認間隔が短いPoWコインは、今後この「理論的にできるといわれていたが、やってみたらできてしまった」攻撃の影響を受けるでしょう。

平野淳也さんやCoinPostさんは「上記コインは売りが入り、マイニング報酬が下がり、マイナーが離れ、ハッシュレートがさらに低くなり、さらに攻撃しやすくなる」という悪循環を指摘します。

一方でgunosyさんは「二番手以降は攻撃を受ける可能性にさらされる、しかし流動性がそもそも低いため、大きな利益を上げるのは難しいかもしれない」「今回のケースは極めて珍しい」といいます。(ASIC開発の観点からの指摘もあります)

さらに大石哲之さんは「PoSではNothing Stake問題というセキュリティ欠陥があります。」と、PoWだけにセキュリティの問題があるわけではないことを指摘されています。

*Nothing Stake問題=PoSはブロック作成のコストが低いので不正なチェーンを持続して作りやすい

日経Fintechでは他の問題点も記載されています。

 

ここで、最後に私が考えたこと。

ブロードキャストしないという選択ができることがダメなのでは?

 

ton96o.hatenablog.com

 

下記は私のものではありません。25pをご覧ください。

www.slideshare.net

上記は私のものではありません。

 

参考(たくさん参考にしました。ありがとうございます。)

Monacoin project

とってもやさしいビットコイン

暗号通貨を理解するために必要な、たったひとつの数学的知識|cryptcoin_junkey|note

プルーフオブワーク(PoW)の仕組みを知らずにビットコインは語れない

ビットコインネットワークにおける分散型コンセンサス形成の具体的な流れ

【まとめ】ブロックチェーンにおけるソフトフォークとハードフォークの違い

モナコインに対する攻撃|史上最大級のブロックチェーン攻撃事件

モナコインへの攻撃から、ブロックチェーンへの攻撃やマイニングを深掘りする - Gunosy Blockchain Blog

マイニングプールの収益配分と攻撃手法

モナコインへの攻撃について(Block withholding attack) | ビットコイン研究所

暗号通貨史上で最も大きいブロックチェーンへの攻撃について。モナコインでの事件の重要性。 | Junya Hirano.com

ビットコインは本当に安全なのか、理論研究が示す意外な落とし穴 | 日経 xTECH(クロステック)