Irreversible Transactions

提供: tezos-wiki
移動先: 案内検索

正しく使用すると、ブロックチェーン上のBitcoinのベースレイヤートランザクションは不可逆的で最終的です。ビットコインの[ブロックチェーン]、マイニング作業の証明難しさなどのシステム全体が計算上不可能なこのトランザクションの履歴を生成するために存在すると言っても過言ではありません。

電子現金に関する文献では、この財産はしばしば「二重支出問題の解決」と呼ばれていました。二重支出は、何度かお金をうまく消費した結果です。 Bitcoinユーザーは、ブロックチェーンで支払いを受け取るときに確認を待つことによって、二重支出詐欺から自分自身を守ります。確認の数が増えると、トランザクションは不可逆的になります。

他の電子システムは、各取引を承認するためのビジネスルールに従うマスターの権威のあるソースを持つことによって、二重支出を防止する。 Bitcoinは、同じプロトコルに従ったノード間のコンセンサスが中央の権限で置き換えられている分散システムを使用します。これは、ビットコインが集中システムによって共有されない特別な特性を有することを意味します。たとえば、秘密鍵をビットコインの秘密にしておけば、トランザクションに十分な確認がある場合、どんな理由であれ、どんな理由でも誰もビットコインを取ることができません。ビットコインの所有は、ビジネスルールとポリシーではなく、暗号とゲーム理論によって強制されます。

ビットコイン取引は最終的なものであるため、顧客は請求先住所、氏名などの追加情報を顧客に煩わせる必要がないので、実名を登録したり、年齢、国籍、居住地に基づいてユーザーを除外することなくビットコインを使用できます。トランザクションの最終的な意味スマートコントラクトは、「コード法則」の精神で作成することができます。

攻撃ベクトル[編集]

レース攻撃[編集]

"0 /未確認"を見てすぐに支払いを受け入れるトレーダーと商人は、取引が逆転していることにさらされます。詐欺行為の試みは、詐欺師が商人に直接支払う取引を商人に送り、コインを自分自身にネットワークの残りの部分に送る競合する取引を送ることができます。 2番目に競合するトランザクションはブロックにマイニングされ、ビットコインノードによって純正品として受け入れられる可能性があります。

商人は、競争攻撃のリスクを軽減するために注意を払うことができますが(例えば、着信接続を無効にし、良好に接続されたノードにのみ接続する)、リスクを排除することはできません。したがって、攻撃者に対して頼りにならないときに0 /未確認の支払いを受け入れるときは、リスクのコスト/利益を考慮する必要があります。

研究論文2つのBitcoins on Oneの価格は、攻撃者がレース攻撃を行う際にプロトコルが高い成功を収めることができることを発見しました。研究論文で研究されている方法は、マーチャントのBitcoinノードへのアクセスに依存しています。これは、このペーパーの前でさえ、商人向けの勧告では着信接続を無効にし、特定の発信接続を選択することが含まれています。 index.php?topic = 79090.msg881283#msg881283 BitcoinTalkスレッド - 1つの価格で2つのBitcoins] </ ref>

フィニーの攻撃[編集]

0 /未確認の支払いを受け入れるときにトレーダーや商人がさらされる別の攻撃。 Finneyの攻撃は、ブロックが採掘されると、鉱夫の参加が必要な不正な二重支出です。<ref> - リスクはどれくらい高いのですか? </ ref>。 Finneyの攻撃の危険性は、商人の注意事項に関係なく排除することはできませんが、一部の鉱夫のハッシュ・パワーが必要であり、特定の一連のイベントが発生する必要があります。レース攻撃の場合と同様に、トレーダーや商人は、攻撃者に頼ることがないときにただ1つの確認で支払いを受け入れる際に、コスト/便益を考慮する必要があります。

Finney攻撃は次のように動作します。攻撃者が時折ブロックを生成しているとします。彼が生成する各ブロックにおいて、彼はアドレスAからアドレスBへの転送を含み、どちらも制御する。あなたを欺くために、ブロックを生成するとき、彼はそれを放送しません。代わりに、彼は店舗のWebページを開き、住所Aの住所Cに支払いを行います。何も聞こえずに何回も待ってから商品を移送することができます。彼は今すぐブロックを放送し、彼の取引はあなたのものよりも優先されます。

ベクトル76攻撃[編集]

1回の確認攻撃とも呼ばれる、1回の確認があっても依然として取り消すことができるように、レース攻撃とFinney攻撃を組み合わせたものです。 レース攻撃(着信接続なし、適切に接続されたノードへの明示的な発信接続)と同じ防御アクションが、この発生のリスクを大幅に低減します。

成功した攻撃は攻撃者に1ブロックのコストがかかることに注意する価値があります。ブロックをブロードキャストしないで犠牲にし、代わりに攻撃されたノードだけに中継する必要があります。

BitcoinTalkまたはさらに攻撃シナリオ


代替歴史攻撃[編集]

この攻撃は商人が何らかの確認を待っても働くことができますが、比較的高いハッシュレートと攻撃側の鉱夫に無駄な電力を浪費する危険があります。

攻撃者は、加盟店に支払う取引を加盟店/ネットワークに提出し、代わりに詐欺的な二重支出取引を含む代替ブロックチェーンフォークをプライベートマイニングします。 n 確認を待ってから、商人が商品を送ります。攻撃者がこの時点で「n」以上のブロックを見つけた場合、彼はフォークを解放してコインを回収します。さもなければ、彼はネットワークに追いつくことができるという希望でフォークを伸ばし続けることができます。彼がこれをやることが決してできないなら、攻撃は失敗し、攻撃者は相当量の電力を無駄にし、商人への支払いが進むでしょう。

成功の確率は、攻撃者のハッシュ・レート(ネットワーク・ハッシュ・トータルの割合)と、マーチャントが待つ確認数の関数です。オンラインの電卓は、here

たとえば、攻撃者がネットワークハッシュレートの10%を管理しているが、マーチャントが6回の確認を待っている場合、成功確率は0.1%のオーダーである[ref> [1] </ ref>この攻撃の機会費用のために、取引されるビットコインの額がブロック報酬に匹敵する場合、ゲーム理論のみが可能です(ただし攻撃側の鉱夫は複数の取引相手に対して一度にブルートフォース攻撃を試みることに注意してください)。

[大半の攻撃][編集]

51%攻撃または> 50%攻撃とも呼ばれます。攻撃者がネットワークハッシュレートの半分以上をコントロールしている場合、前述の代替ヒストリ攻撃は成功する確率が100%です。攻撃者はネットワークの他の部分より速くブロックを生成することができるので、正当なネットワークによって構築された支店よりも長くなるまで、自分のプライベートフォークで簡単に辛抱することができます。

確認の量はこの攻撃を防ぐことができません。ただし、確認を待つと、攻撃を実行するためのリソースコストが増加する可能性があります。そのため、状況が変化したり、動作が遅くなったりする同期メソッドが起動しなくなる可能性があります。Bitcoinのセキュリティモデルは、鉱業権の半分以上を支配する鉱夫の50%以上のハッシュ・パワーを持つ鉱夫は、鉱山設備とビットコイン所得がその価値を保持できるように、鉱業権を減らして攻撃から取り返すことを奨励されています。

成功した二重支出[編集]

  • 2013年11月、GHash.io鉱山プールが、ギャンブルサイトBetCoin Dice(BetCoin Dice)に対する支払い詐欺を繰り返すようになったことが判明しました。<ref> [https://bitcointalk.org/index.php?topic=327767.0 BitcoinTalk Thread - GHash.IOとBetCoin Diceに対する二重支出」</ ref> ダイスサイトはベットごとに1つの取引を使用し、確認を待つことはありません。 GHash.ioは彼らが調査し、二重支出をしていた不正な従業員を見つけたと主張した。彼らは解雇された。 しかし、これを裏付ける証拠は提供されておらず、その事件はプールにぶら下がっている恒久的な雲を残した。 それにも関わらず、市場シェアを傷つけるようなことはあまりありませんでした。大部分の鉱夫は、おそらく事件について全く聞いたことがないでしょう。

消費者保護[編集]

ビットコインの基本レイヤーブロックチェーントランザクションは不可逆的ですが、消費者保護は最上位のレイヤーに実装できます。

たとえば、エスクローエージェントを使用するは、特に multisignature smart contractsと組み合わせた場合の強力なテクニックです。 また、オンラインカジノなどのビットチェーンサイトは長年の評判に依存しており、一部の規制ブローカーや取引所は法的システムに依存しています。

こちらもご覧ください:Myths#Bitcoin_has_no_built-in_chargeback_mechanism_and_this_is_bad

関連項目[編集]

de:Doppelausgaben

参考文献[編集]

<リファレンス/>

Category:技術