二重支払いは、物理的なお金ではなくデジタル通貨でのみ発生します。
ブロックチェーンは、分散化または集中化のいずれかを使用して、二重支払いを制御できます。
51%攻撃、レース攻撃、フィニー攻撃は二重支払いの一種です。
二重支払いの可能性を減らすために、ユーザーは少なくとも3つの確認で取引を受け入れる必要があります。
暗号資産などのデジタル通貨の性質と送金方法は、二重支払いと呼ばれる問題に余裕を与えます。 この問題を引き起こすのは、システムが支払いを確認する必要があるため、トランザクションの完了が遅れることです。 暗号資産を送金すると、確定または確認されるまでに数秒または数分かかります。 これは、紙幣や硬貨を使用して支払いを行う方法とは異なります。 紙幣や硬貨では、他の人にお金を引き渡すと支払いが確認されます。 この記事では、二重支払いの問題とその防止方法について説明します。
二重支払い
二重支出の例としては、ユーザー A が C に同じトークンを送信する前に 50 ドル相当のトークンを B に送信する場合が挙げられます。結局のところ、ユーザー A が B または C をだましたかどうかを判断するのは困難です。
二重支出の種類
人々が暗号通貨の二重支出を実行するには、3つの方法があります。 方法は51%攻撃、レース攻撃、フィニー攻撃です。
二重支払いとは、同じトークンを使用して2つの支払いを行うことを意味します。 物理的な現金を使用する場合、二重支払いの問題は発生しません。 これは、2人の人に同じ100ドル紙幣を与えることができないためです。 ほとんどのオンライン支払いでは、第三者が支払いが目的の受取人に送られるようにします。 一方、決済処理業者やその他の伝統的な金融機関は、取引自体を検証します。
ただし、上記のシナリオは、ブロックチェーン上に存在する暗号資産やその他のデジタル資産を使用して支払いを行う場合は異なります。 その理由は、デジタル通貨を送金するときは、支払人と受取人の2つの当事者のみが関与しているためです。 ここで二重支払いの危険性が出てきます。
言い換えれば、誰かが暗号資産や支払い手段として使用されるデジタル資産を盗む目的でブロックチェーンを妨害すると、二重支払いが発生します。 暗号資産を盗んだ人は、支払いを本物に見せるために取引の証拠を送信します。 場合によっては、二重支払いの責任者が取引を完全に削除することがあります。 このような問題の主な加害者は、ブロックチェーン開発者やその他の暗号資産専門家です。
二重支払いの例としては、ユーザー A が C に同じトークンを送信する前に 50 ドル相当のトークンを B に送信する場合が挙げられます。結局のところ、ユーザー A が B または C をだましたかどうかを判断するのは困難です。
51%攻撃
51%攻撃を実行するには、攻撃者はまず、トランザクションとブロックを検証するために必要なネットワークのハッシュパワーの50%以上を制御する必要があります。 このようにして、彼/彼女は状況を操作してトークンを2人の個人に送信できます。 ただし、これは、問題のブロックチェーンシステムに他の適切なセキュリティシステムがない場合にのみ発生します。
レースアタック
このメソッドは、トレーダーが確認ゼロのトランザクションを受け入れる場合にのみ機能します。 そのため、攻撃者は同じトークンを別の人に送信できます。 例えば、トレーダーが、Aが未確認の取引を受け入れ、Bが確認を待つという二重取引を行った場合、最終的にBへの取引は確認され、Aは二重の支出コインを受け取ります。 したがって、意図された受信者が暗号資産を取得するには、少なくとも3つのバリデータによって確認されたトランザクションのみを受け入れる必要があります。
フィニーの攻撃
このタイプの攻撃は、ネットワークに送信せずにいくつかのブロックを生成するマイナーによって設計されています。 この場合、マイナーは同じトークンを使用して二重支払いを行います。 ディーラーが取引をチェックするとき、彼/彼女は商品やサービスを支払人に引き渡します。 トレーダーは、商品を受け取った後にのみ取引をネットワークに送信します。 その結果、ディーラーの取引を除く他のすべての取引が確認されます。 この種の攻撃を回避するために、受取人は未確認の取引を受け入れないでください。
ブロックチェーンが二重支払いの問題をどのように防ぐべきか
ユーザーが二重支払いのケースを経験すると、ブロックチェーンへの信頼を失うことに注意することが重要です。 したがって、ブロックチェーンは、二重支払いの可能性に対抗するための適切なセキュリティシステムを備えていることを確認する必要があります。 ブロックチェーンは、中央集権化または地方分権化のいずれかを通じて二重支払いの問題を防ぐことができます。
一元化
この場合、ブロックチェーンは信頼できる第三者を使用してすべてのトランザクションを検証できます。 これは二重支払いを防ぐ確実な方法ですが、中央集権化には独自の欠点があります。 ほとんどの場合、この方法は非常に高価です。 これは、ブロックチェーンが暗号資産の送金と検証のコストを支払う必要があるためです。
ディセントラリゼーション
地方分権化を使用して二重支払いを防ぐ主な手段は、最初のトランザクションの迅速な検証によるものです。 これにより、重複したトランザクションはできるだけ早く無効になります。 このシステムを効率的にするには、関連データを格納するさまざまなサーバーを同期するコンセンサスアルゴリズムを持つことが不可欠です。 たとえば、プルーフオブステークとプルーフオブワークコンセンサスシステムは、トランザクションデータを予定どおりに同期させるのに役立ち、二重支払いを防ぎます。
ビットコインの事例
ビットコインブロックチェーンには、二重支払いを防ぐための適切なセキュリティ対策があります。
ビットコインネットワークが期待どおりに機能し、ユーザーがすべての取引が確認されるのを待っている場合、二重支出は行われません。プロトコルは、確認メカニズムを通じてトランザクションを検証します。
トレーダーが同じコインを異なるアドレスに送信すると、それらは未検証のトランザクションのネットワークに保存されます。 トランザクションが同時に完了すると、確認数が最も多いトランザクションが検証され、もう一方が拒否されます。 安全対策として、トランザクションを受け入れるには、少なくとも6つの確認を待つ必要があります。
二重支払いの回避
一部の人々が抱くかもしれない質問は、二重支払いをどのように制御できるかということです。 二重支払いを制御する最大の責任はブロックチェーンですが、個人は自分の役割を果たすことができます。 確認されていないトランザクションは受け入れないでください。 また、トランザクションを受け入れる前にさらに時間がかかることもあります。 これは、二重支払いの可能性を減らすのに役立ちます。
標準として、トランザクションの確認を少なくとも 3 つ待つことをお奨めします。 さらに、取引を受け入れるまでに少なくとも10分かかることがあります。 これらの措置は、二重支払いのケースを減らすのに役立つはずです。
結論
お金を操作する問題は、世界中の多くの場所で一般的です。 物理的なお金に関しては、人々は偽造紙幣を作成することができます。 それにもかかわらず、暗号資産では、人々はそれらを二重に使うことができます。 最終的に、予想される受信者の1人は、上記のトークンを受け取らないため、失われます。 二重支払いを避ける手段の 1 つは、トランザクションに少なくとも 3 つの確認があるのを待つことです。
著者:
マシェルC.、Gate.io 研究者
この記事は研究者の見解のみを表しており、投資提案を構成するものではありません。
Gate.io は、この記事に対するすべての権利を留保します。 記事の再投稿は、参照されている限り許可さ Gate.io ます。 いずれの場合も、著作権侵害により法的措置が取られます。