ビットコインの暗号技術が破られたらどうなる?
ビットコインを発明し、未だその正体が分かっていないサトシ・ナカモト。そんなサトシが残した約2年間の文章を、小宮自由氏の解説と共に紹介する連載「サトシ・ナカモトが残した言葉〜ビットコインの歴史をたどる旅」の第38回。
まずサトシのメールの前に、本連載の元になっている書籍『ビットコイン バイブル:サトシナカモトとは何者か?』の著者フィル・シャンパーニュ氏の解説も掲載する。
フィル・シャンパーニュ氏の解説
サトシは、異なるスレッドで議論された異なるテーマに対して同じ解決策を提示した。以下のスレッドのうち、二つはSHA-256に関するもので、ビットコイン取引を記録した公開台帳の代わりとなるブロックで、「メッセージダイジェスト」の作成に利用されているのがこの暗号学的ハッシュ関数である。SHA-256は銀行業界や金融機関で広く使われている。この暗号手法の脆弱性が発見されれば、金融業界全体に影響が及び、新たな手法への乗り換えを強いられる。サトシはビットコインにも同じ方針を提案している。
二つ目のスレッドは、暗号の重大な脆弱性の発見に関するものである。最初にサトシは以前の「SHA-256の衝突」の投稿に言及しているが、ユーザー「llama」が、ビットコインの秘密鍵に使われる楕円曲線暗号コードに重大な脆弱性が発見されるケースを明示して論じている。
サトシ・ナカモトの投稿
それではサトシの投稿をみていこう。
========================
Re:SHA-256の衝突を論じる
サトシ・ナカモト 2010年06月14日 午前08時39分50秒
(注:斜体部分は、サトシ以外の者の質問を指す)
引用:lachesis 2010年06月14日 午前01時01分11秒
私の友人に数学者がいて、その指摘によると、十年以上続いたハッシュ・プロトコルはごくわずかしかないそうです。SHA-256がもし明日破られたら、ビットコインではどんな解決策がありますか?
SHA-256はとても強力です。MD-5からSHA-1に移行したときのような増分ステップとは違います。大量動員による突破攻撃でもなければ数十年は持続できます。*1
もしSHA-256が完璧に破られたら、問題発生の時点でどれが誠実なブロックチェーンだったかについて合意を形成し、ロックインして、その箇所から新しいハッシュ関数に切り替えて続けることができると思います。
ハッシュの破壊が緩やかに進むならば、新しいハッシュへ整然と移行できます。ソフトウェアは、ある特定のブロック番号から新しいハッシュを利用開始できるようにプログラムされています。それまでにみんながアップグレードする必要があります。ソフトウェアでは、それ以前の全てのブロックに対する新しいハッシュを保存し、同一の旧ハッシュを持つ別のブロックが使われないようにします。
(訳注:以上が1つ目のスレッドで、以下が2つ目のスレッド)
Re:重大なメルトダウン
サトシ・ナカモト 2010年07月10日 午後04時26分01秒
引用:llama 2010年07月01日 午後10時21分47秒
サトシへ、それはSHAの破壊(確かにメルトダウンのようなものです)に対処する一つの解決策でしょう。コインの有効な所有者をなお、署名で識別できるからです(秘密鍵はなお安全が保たれます)。
ですが、トラブルが起きて署名が危険にさらされたら(たぶん整数の因数分解が解決されたとき。量子コンピューターで?)、有効な最後のブロックへの合意形成ですら無意味になります。
突如起きれば確かにその通りになります。徐々に起きれば、強度を増した別のものに移行できます。アップグレードしたソフトウェアを初めて稼動するときは、強度を増した新しい署名アルゴリズムで全ての所有コインに再度署名し直します(強度を増した署名を用いて自分自身への送金取引を行うという形で)。
(訳注:以上が2つ目のスレッドで、以下が3つ目のスレッド)
Re:hash() 関数は安全ではない
サトシ・ナカモト 2010年07月16日 午後04時13分53秒
SHA-256は128ビットから160ビットへのステップとは違います。
例えるなら、アドレススペースが32ビットから64ビットへ移行したステップに似ています。16ビットコンピューターのアドレススペースは速やかに在庫切れとなり、32ビットコンピューターのアドレススペースは4GBで在庫切れとなりましたが、64ビットがまたすぐに在庫切れになるわけではありません。
SHA-256は、ムーアの法則の電算的進歩に鑑みれば、私たちの生きているうちには破られないはずです。もし破られるとすれば、画期的な突破手法が出てきたときです。SHA-256を完璧に制覇して電算的操作の配下に置ける攻撃法なら、SHA-512も粉砕できるチャンスがあります。
SHA-256の脆弱性が徐々に進むなら、あるブロック番号以降から新しいハッシュ関数に乗り換えできます。そのブロック番号までソフトウェアのアップグレードが必要になります。新しいソフトウェアでは全ての古いブロックの新しいハッシュを保存し、同一の旧ハッシュを持つ別のブロックで置き換わらないようにします。
========================
【訳注】
*1 原文ではこの発言は lachesis 氏のものとレイアウトされているが、前後の内容を考えるとこれは誤りである可能性が高い。翻訳ではサトシの発言として扱った。
解説
サトシは暗号が破られることについて楽観的な姿勢を持っています。破られる可能性は低いし、破られても事後的な対処が可能というものです。事後的な対応としてはコミュニティで合意を形成してどの時点までが有効なのかを決定し、それ以降のブロックは無効とするものです。
暗号が破られたわけではありませんが、似たような事例はあります。「The DAO 事件」と呼ばれる、イーサリアムの大規模ハッキングの事例です。イーサリアム内のICOプロジェクト「The DAO」がハッキングにより莫大な資産を失い、放置すればチェーン自体の信用が失われかねないとして、様々な方法が考案された結果、最終的にチェーン自体を特定の段階で分岐させるという方法で決着が付きました。この手法は「ハードフォーク」と言い、現在はセキュリティに関係なく、ブロックチェーンのアップグレードの手段の一つとして使われています。
SHA256が破られたときも、ビットコインコミュニティは同様の手法で難を逃れられる可能性はありますが、懸念点は2つあります。
まず1つは、ビットコインコミュニティ(の多数派)がハードフォークを頑なに拒む傾向にあるということです。ハードフォークして分離したビットコインキャッシュやビットコインゴールドなどは、いずれも多数の指示を受けるに至っておらず、ハードフォークを1回もしていないビットコインが正統なものとして扱われています。このため、有事にハードフォークをする判断が速やかにできるかは未知数です。
もう1つは、本文で想定されている暗号が破られることは、ビットコインの根幹を脅かすということです。The DAO 事件はあくまで ICO プロジェクトのハッキングであり、イーサリアム自体には大きなセキュリティホールはありませんでした。しかし本文のSHA256 が破られる場合、ビットコイン自体に大きなセキュリティホールがあるということであり、このような前代未聞の事件においてビットコインが存続(≒経済的価値の維持)し続けられるかは誰にもわかりません。
「量子コンピュータにより主要な暗号が破られ、全ての暗号資産は暴落する」という予想は、本文にある通り2010年7月時点で既になされています。これは暗号資産が持続可能かという論点に付き長期的な懸念事項として残り続けるでしょう。
しかし、そもそも「量子コンピュータにより主要な暗号が破られ」たら、既存の銀行等の金融システムも全てハッキングにより大混乱になることが予想されるので、暗号資産だけとりわけ脆弱だというのは木を見て森を見ない行為であることはよく理解しておく必要があるでしょう。
小宮自由