51%攻撃とは
- 執筆
- CRYPTO PORT 編集部
- 公開日
- 更新日
- 読了目安
- 6 分
結論
51%攻撃は、あるチェーンの合意形成に必要な資源の過半を一者が握り、取引履歴を自分に都合よく書き換えようとする状況を指します。参加者が多く分散したチェーンでは費用が現実的でない一方、規模の小さいチェーンでは実際に発生しています。利用者側の対策は、入金の承認数を十分に取ることです。
要点
- 合意形成の資源の過半を握られた状態を指す
- 書き換えられるのは直近の履歴に限られる
- 分散の進んだチェーンほど費用面で現実的でない
- 入金は十分な承認数を待ってから確定扱いにする
定義
ブロックを作る権利を決める資源(作業証明なら計算能力、持分証明なら預け入れ量)の過半を一者が支配し、直近のブロックを差し替えて取引履歴を変更しうる状態。
ブロックチェーンは、多数の参加者が同じ規則に従い、最も多くの資源が費やされた履歴を正とすることで合意を作ります。過半の資源を一者が持つと、その者が作った履歴が常に採用されうるため、自分が送った取引をなかったことにする、といった操作の余地が生まれます。
ただし、できることには限界があります。他人の資産を勝手に動かすことはできません。署名には秘密鍵が必要で、それは資源の量とは無関係だからです。また、過去のブロックを遡って書き換えるには積み上がった作業をすべてやり直す必要があり、時間が経った取引ほど事実上覆せません。
現実に問題になるのは、参加者が少なく資源が集めやすい小規模なチェーンです。そのため取引所は、チェーンごとに入金を確定とみなす承認数を変えています。個人の受け取りでも同じ考え方が使えます。金額が大きいほど、また参加者の少ないチェーンほど、承認を多めに待つのが妥当です。
持分証明のチェーンでは、攻撃に使った預け入れ分が没収される設計が一般的です。攻撃が成功しても資源そのものを失うため、経済的な動機が抑えられています。いずれの方式でも、分散の度合いと参加者の多さが、そのまま安全性の土台になっています。
注意点
- · 参加者の少ないチェーンでの受け取りは、承認数を多めに待ってから確定扱いにする
- · 高額の受け取りでは、取引所が案内している必要承認数を目安にする
- · 「過半を握られると鍵なしで資産を奪える」という説明は誤りなので鵜呑みにしない