Back to list

Skycoinへの51%攻撃は可能なのか?

これは2015/2/16にbitcointalkでされた投稿です。

引用:“iamback” 2015/2/16 09:28:38

PoWでない合意形成アルゴリズムを作るのは不可能です。 20→PoWの問題点を解決する新たなアルゴリズムが作られ、それが信用されて使われるようになるまでの間に、世界経済は崩壊をはじめることでしょう。 私の予測通りになれば2016年を境に経済崩壊が進むので、残された時間はあまりにも少なすぎます。 例えば、サトシがPoWを公開した後から数年経つまで(広く言えば、実証され認識されている)利己的なマイニング攻撃はありませんでした。

逆に言えば、PoWの抱える欠陥は数年間も問題にされてこなかったのです。 今、PoWでない新たな合意形成アルゴリズムを提唱したところで、誰が相手にするでしょうか。 全く別の合意形成アルゴリズムではなく、新たなPoWのシステムを私は考案しました。 これは特定用途向け集積回路(ASIC)の問題をはじめとする、Bitcoinの根本的欠陥を解決するものです。 幾つかのヒントを私が投稿した上記リンクに載せてあります。

また、私の数学的な直観ですが、51%攻撃の防止は常に安全性とのトレードオフになります。

Skycoinでは51%攻撃は問題ではありません。 ネットワークでは1日で20回もの51%攻撃を受け入れ、殆ど誰も心配しません。

SkycoinはBitcoinとは異なる数学的性質を持ち、より厳格です。 クローズドネットワークで5人の間でコインを取引している場合、51%攻撃は彼らに影響を与えません。 Skycoinの51%攻撃において誰かに損益を与えたいのなら、トランザクションチェーンにいる誰かの秘密鍵が必要です。 Skycoinにおいてはトランザクション展性の問題はありません。 攻撃者とコインを取引していた人を除くと、殆どの人は元のチェーンとフォークの両方で同じ出力、同じ残高、同じ取引履歴を持つことになります。 チェーンの中にフォークがある場合、他のチェーンからトランザクションをただコピーします。

51%攻撃はいかがわしい人々とのデイトレードやギャンブルサイトに影響を与えるだけです。 それは商取引にそれほど影響を与えないでしょう。 もし取引所が最高のセキュリティ対策に従い、ユーザーのウォレットを隔離して保管していた場合は、最悪の攻撃があっても軽度の損失で済むでしょう。

Bitcoinは1日につき、1億ドルもの出来高があります。 Bitcoinの合計出来高は約20万Bitcoinになります。 Bitcoinにはトランザクション展性があります。 つまり、誰かが51%攻撃を受けて、過去一時間にトランザクションをロールバックするとなると、400万ドルやトランザクション残高の1万Bitcoinが台無しになります。 24時間のロールバック攻撃は1億ドルの損失と、最大20万のBitcoinの損失になる可能性があります。 攻撃者はBitcoinでどのトランザクションもロールバックすることが出来ます。

Skycoinにおいては、トランザクションチェーンで使われているアドレスの秘密鍵を知らなくては、彼らはトランザクションチェーンに影響を与えたり、修正できません。 だから、もし5つの銀行が決済のために互いの間でのみ取引をして、彼らすべてが優れたウォレットのセキュリティを持っている場合、51%攻撃には気づかないでしょう。 彼らの残高は同じです。 もちろん、51%攻撃は数学的、理論的な可能性の話です。 本当に誰かが膨大なリソースをわざわざ準備して、Skycoinに51%攻撃を意図、成功したと仮定した場合のみ、上の状況が当てはまります。

もし、Skycoinへの51%攻撃がなされたとしても (可能性ながら、数学的に限りなく低い確率)、Skycoinのおかげで損失は最小限に済むので、小売商は喜び、歌い、踊ることでしょう。 例えば、VISAでチャージバックが起きれば、小売商への損失は図り知れないものになるからです。 ノートパソコンを売る小売商は1台につき5%以下の利益を上げています。 誰かがノートパソコンを受け取っていなくて、1,000ドルの損失だとと主張しても、 小売商の手元にはノートパソコンは戻らないし、VISAに手数料の80ドル支払わなければなりません。 1件の詐欺があった場合、その損失を埋めるために小売商は25個のノートパソコンを売らなければなりません。 もし誰かがクレジットカードを盗んで、それを使ってノートパソコンを買ったら、VISAは損失を被りません。VISAは損失を小売商に押し付けます。

Skycoinの合意形成アルゴリズムと台帳は分けられています。 合意形成システムはモジュール式で、取り替えが可能になっています。 今から5年後により良いアルゴリズムがあれば、新しいもののために、コンセンサスを交換することが出来ます。 その場合でも、台帳と通貨の残高は完全に同じまま維持されます。

Skycoin:

  • Bitcoinの抱える欠陥を解決しています。
  • Bitcoinの未来の姿です
  • Bitcoinが生み出した負の連鎖を取り除きます

上の文章はどれも本当のことです。 しかし、重要なトレードオフがあります。 例えば、Skycoinのような関係モデル合意形成アルゴリズムにおいて、合意形成にかかる時間の短さは、ノード数が少なくてもネットワークにDoS攻撃をしかけられることを意味します。 しかし、たとえDoS攻撃があった場合でも、人々は信用リストから悪意のあるノードを取り除くことが出来ます。 問題が全くないというのはあり得ませんし、その都度に対策はなされることでしょう。

Skycoinの取引構造

https://github.com/skycoin/skycoin/blob/master/src/coin/transactions.go

Skycoinのトランザクションは以下の通りになります。:

  1. 使用されている出力ハッシュのリスト
  2. 使用されている出力が許可する署名のリスト(トランザクションの内部分のハッシュの署名)
  3. 生成された出力のリスト

コインの入出力数は同じにならなければなりません。 コインの数は生成されたコインと同じ数でなければなりません。 送金手数料は"coinhours"で支払われます。

Skycoinはデフォルトでcoinjoin方式を対応しています。

※coinjoin方式:送信履歴を外部から閲覧不可にさせたもの

普通のトランザクションとcoinjoin方式のものには違いはありません

  • 使用したい出力を2人が選び、出力は彼らが生成し、リモートサーバーへ送信します
  • サーバーはトランザクションを生成し、出力の順番をランダムにします。 その後各人にトランザクションを送ります。
  • 各人は出力のための署名をサーバーに送ります。
  • coinjoin方式のサーバーはトランザクションをネットワークに入れ込みます。
  • coinjoin方式のサーバーではコインを盗むことが出来ません。
  • coinjooin方式のサーバーだけが人が関わったかを知ることが出来ます。(1,2,4人?)
  • coinjooin方式のサーバーだけ誰がどの出力に関わったかを知っています。
  • 普通のトランザクションとコインジョインのものには違いはありません。(全く同様に見えます)

i番目のスロットにある署名はi番目の出力を持つアドレスのためにあります。 トランザクションの内部ハッシュは出力のハッシュを使用してハッシュされ、その後出力を持つ秘密鍵で署名されます。

だから他のcoinjoin方式のシステムに比べて非常に簡単です。