二重支払いは、同一の通貨(デジタル通貨または従来型通貨)を不正に複数回使用することを指します。偽造通貨と同様に、二重支払いは、これまで存在しなかった新たな複製通貨を生み出すことで供給インフレを引き起こします。また、通貨の価値を低下させ、利用者の通貨に対する信頼を損なう可能性もあります。
トランザクションの匿名性を維持しながら二重支払いを防止するための基本的な暗号化技術は数多くあり、ブラインド署名のための中央機関(プルーフ・オブ・オーソリティ)の導入や、特にオフラインシステムにおける秘密分割などが含まれます。[ 1 ]二重支払い問題を軽減するその他の方法としては、プルーフ・オブ・ワークやプルーフ・オブ・ステークなどの分散型コンセンサスプロトコルがあります。
二重支払いの防止は通常、トークンが使用されたかどうかを検証できるオンラインの中央の信頼できる第三者を使用して実装されます。 [ 1 ]これは通常、可用性と信頼性の両方の観点から単一障害点となります。
分散型システムでは、二重支払いの問題を解決するのは著しく困難です。信頼できる第三者を必要としないために、多くのクライアントが公開トランザクション台帳の互換性のあるコピーを保存する必要があります。トランザクション(お金を使う要求)はブロードキャストされるため、各クライアントにはわずかに異なるタイミングで届きます。2つのトランザクションが同じトークンを使おうとした場合、各クライアントは一方のトランザクションを有効と判断し、もう一方のトランザクションを拒否します。トランザクションまたはブロックが競合すると、チェーンが分裂します。
分散型システムは、クライアントが有効なチェーン(カノニカルチェーンとも呼ばれる)について合意するコンセンサスプロトコルを使用することで、二重支払いのリスクを軽減します。コンセンサスメカニズムの代表的なものとして、プルーフ・オブ・ワークとプルーフ・オブ・ステークの2種類があります。
2007年までに、二重支払いを防止するための分散システムがいくつか提案された。[ 2 ] [ 3 ]
仮想通貨ビットコインは、 2009年初頭に二重支払い問題に対処するためのプロトコルを実装しました。ビットコインは、トランザクションをブロックにまとめてハッシュポインタのリンクリスト(ブロックチェーン)で連結するプルーフ・オブ・ワーク( PoW)コンセンサス機構を採用しています。マイナーは、十分な数の先頭ゼロを持つ有効なハッシュを見つけることで決まる抽選に勝つことで、ブロックを生成できます。
ビットコインのプルーフ・オブ・ワーク・プロトコルは確率的ファイナリティを持ち、競合するブロックチェーンが常に現在の正規チェーンを上回る可能性があるため、トランザクションは技術的には「最終的」になることはありません。しかし、トランザクションの上にブロックが構築されるにつれて、コストが増大し、別のチェーンがそれを追い越す可能性は低くなります。競合するチェーンや再編成は自然に発生する可能性があるため、参加者はトランザクションの確率的ファイナリティを受け入れる前に、一定数のブロック(つまり「確認」)を待つことが推奨されます。参加者が待つ確認の数が多いほど、再編成や二重支払いに遭遇するリスクは低くなります。[ 4 ]
プルーフ・オブ・ワークのブロックチェーンでは、ブロックの再編成が自然に起こり、確率的な確定性を持つ。競合するマイナーはブロックを提出して最長のチェーンを構築しようと競い合う。競合するマイナーが最長のチェーンになった場合、負けたチェーンのブロックは再編成され、もはや正統とはみなされない。十分な数の承認を待たないクライアントや加盟店は、自然な再編成中に受け取ったトークンが取り消された場合、二重支払いのリスクにさらされる。[ 4 ] [ 5 ]
プルーフ・オブ・ワークでは、ハッシュパワーの高い大規模なマイナーやマイニングプールは、ブロックをマイニングできる可能性が高くなります。ハッシュパワーが50%を超えるエンティティは、長期的には常に最長のチェーンを生成できるため、ブロック生成を制御できます。彼らは最長のチェーンを秘密裏にマイニングし、その後、ブロックを一度にすべてブロードキャストして、ブロックが正規のチェーンとして受け入れられたときに大規模な再編成を引き起こすことができます。取り消されたトランザクションは、攻撃者の新しいチェーンで二重に使用できます。[ 4 ] [ 5 ]
プルーフ・オブ・ワーク・プロトコルに対する多数派攻撃の結果として二重支払いが発生した事例は数多く知られている。
ビットコイン
2013年3月、ビットコインは、Bitcoin 0.8.0クライアントのバグによりチェーンが分裂した際に、仮想通貨の二重支払いの最初の事例を経験しました。0.8.0チェーン上で、ある加盟店(OKPAY)が顧客からの1万ドルの入金を確認しました。その後、ビットコインマイナーがネットワークに対して51%攻撃を行い、24ブロックを元に戻し、顧客の入金につながる取引を逆転させました。顧客はその後、実験として、正規の0.8.0以前のチェーン上でビットコインを二重支払いしました。[ 6 ]
ビットコインゴールド
ビットコインのフォークの一つであるビットコインゴールドは、51%攻撃の結果として2回の二重支払い攻撃を受けました。これにより、2018年9月に1800万ドル、2020年1月に7万2000ドルの損失が発生しました。[ 7 ] [ 8 ] [ 9 ]
イーサリアムクラシック
イーサリアムのフォークであるイーサリアムクラシックは、2019年に51%攻撃を受け[ 10 ] [ 11 ] 、2020年にはさらに複数回攻撃を受け、セキュリティと市場での評価に大きな影響を与えました。攻撃者はCoinbaseで110万ドルの二重支払いを試み、Gate.ioで20万ドルの二重支払いに成功しました。これらの攻撃では、悪意のある者がトランザクションを再編成してコインを二重支払いしており、イーサリアムクラシックブロックチェーンの長期的な存続可能性とセキュリティ対策に関する懸念が生じています[ 12 ] 。
アトミック所有権ブロックチェーン(AOB)は、複数のプライベートブロックチェーンからなる理論上のパブリックネットワークです。各プライベートブロックチェーンは、他のプライベートブロックチェーンに資産を転送できます。競合するブロックが検出された場合、参加する各ブロックチェーンは自身のセキュリティに責任を負います。AOBは、各ブロックチェーンが二重支払い者をブラックリストに登録できるようにすることで、二重支払いを抑制し、攻撃者なしでネットワークを分割します。[ 13 ]