用語集 / トランザクションと手数料
確認
別名は承認、承認回数、コンファメーション、未承認トランザクション、承認済みトランザクションです。
- 確認とは?
- 確認とは、お客様の取引を含むブロックの上に積み重ねられたプルーフ・オブ・ワークのブロック1つ分のことであり、最新のブロックに含まれる支払いはちょうど1回の確認を持つことになります。
確認数は、支払いを取り消すのにどれだけのコストがかかるかを示すものであり、その支払いがどれだけ存在しているかを示すものではありません。ブロックは平均して約10分ごとに到着するため、6ブロックでは通常1時間程度かかります。取引所はこの回数を入金の可否のルールに変換します。そのため、入金がオンチェーンで確認できても、口座ではまだ使用できないということが起こります。
仕組み
確認数を数えるのは、ブロック高に関する単純な算術です。チェーンの先端の高さを取得し、自分のトランザクションを含むブロックの高さを引き、1を足すと、それが確認数になります。メンプールで待機しているトランザクションの確認数はゼロで、マイナーがその上にブロックを積み上げるにつれて数は自然に増えていきます。
確認数は、実質的にはコストの見積もりです。履歴を書き換えるには、自分のブロックとその上にあるすべてのブロックのプルーフ・オブ・ワークを、ネットワークの残りが正直なチェーンを延長するよりも速くやり直す必要があります。ビットコインのホワイトペーパーの第11節では確率が計算され、失敗確率が0.1%未満となる条件が解かれています。ハッシュレートの10%を持つ攻撃者に対しては5ブロックで十分であり、30%に対しては24ブロック、45%に対しては340ブロックです。よく知られた6という数字は、特定の脅威モデルに対する切り上げた答えであり、法則ではありません。
浅い巻き戻しは現実に起こりますが、まれです。2013年3月、古いソフトウェアでは処理できないブロックがネットワークを二つに分断し、ハッシュパワーのおよそ60%を持つブランチは、単一のチェーンを回復するために2つの大規模プールがノードをダウングレードした際に意図的に放棄されました。BIP50は事後分析であり、分断が続いた間取引所が入金を停止したこと、およびその間に二重支払いが1件行われたことを記録しています。有効なブロックを数秒差で公開するマイナー間の競争ははるかに一般的で、数分以内に解消されます。
プロトコルは自らの見解を1か所で示しています。コインベースの出力は、その上に100ブロックが積み上げられるまで使用できません。およそ16時間40分であり、新たに作られたお金を安全に移動できる深さについてのネットワークの組み込みの答えです。
ブロック間の時間は平均であり、スケジュールではありません。マイニングはランダムな探索であるため、ブロックは数秒差で到着することもあれば、1時間の沈黙が続くこともあります。2,016ブロックごとの難易度調整が、長期的な平均を10分に向けて引き戻す役割を果たします。
ビットコインを購入する際にこれが重要な理由
入金のルールはプラットフォームごとに設定されており、入金が反映されていないものは取引できません。Kraken、Coinbase、Binanceはそれぞれ、ビットコインの入金が取引可能な残高になるまでに必要な確認数を公開しており、その待ち時間は、自分のトランザクションがメンプールで過ごした時間に加算されます。動きのある市場で売却する予定の人は、行動しようとする時ではなく、その前にコインを取引所へ移しておくべきです。
同じ遅延は逆方向にも当てはまり、最悪のタイミングで人々を驚かせます。手数料が急騰している間に申請した出金は、何時間も未確認のままになることがあります。StrikeとKrakenがライトニングネットワークによる支払いに対応している理由の1つはこれで、そこでは決済が即時に行われ、確認数はフローに含まれません。
対面取引や個人間取引では、確認数が実際に重要な役割を果たします。Paxfulのようなマーケットプレイスでは、エスクローが保護するのは買い手であり、あなたではありません。現金、商品、または銀行振込を渡す側である場合は、識別子を確認した後ではなく、確認数の後に行ってください。ビットコインATMは意図的に逆の取引を行い、確認数ゼロで現金を払い出し、そのリスクをしばしば数%に及ぶスプレッドに織り込んでいます。
保有は簡単なケースです。すでに自分のウォレットにあるコインは監視する必要がありません。深さは積み上がるだけだからです。BitpandaやRelaiでの購入が着金し、数ブロックを経過すれば、それ以上の操作は一切必要ありません。
6確認で実際に得られるもの
20,000ドルの購入が自分のウォレットに決済される場合を考えてみましょう。確認数ゼロでは、支払いはメンプールにのみ存在し、送金者が置き換えることができます。完全なreplace-by-feeが、現代のBitcoin Coreにおけるデフォルトのリレーポリシーだからです。確認数1ではブロックに含まれており、それを巻き戻すには、攻撃者が1ブロック遅れの状態からネットワーク全体をアウトマイニングする必要があります。
6になると、ホワイトペーパー自身の数字では、10%の攻撃者が追いつく確率は千分の1を大きく下回り、それを試みるコストは、1時間にわたって世界をアウトハッシュするための電気代とハードウェアです。個人の貯蓄の移動であれば、1確認で十分すぎるほどです。機関間の2,000万ドルの決済では、攻撃者のモデルがより大きいというまさにその理由から、6が慣例となっています。
確認数は急ぐこともできません。手数料の引き上げは最初の確認を速めます。マイナーが並べ替える待ち行列の中で順位が上がるからです。2番目の確認を速めるものは何もありません。そのブロックは、あなたが誰であっても約10分かかるからです。
確認数vsブロック高
ブロック高はジェネシスブロックからブロックを数えるため、増加する一方で、全員にとって同じ数です。確認数は相対的であり、1つのトランザクションと現在のチェーン先端との距離を数えるため、支払いは継続的に確認数を獲得しますが、そのブロック高は決して変わりません。ブロックエクスプローラーが「ブロック900,000」と「412確認」を表示しているのは、そのトランザクションがどこにあり、どれだけ深く埋もれているかを示しています。
確認数vsチェーン再編成
確認数は防御であり、チェーン再編成はそれが防御する事象です。2人のマイナーが同時に有効なブロックを公開すると、一方のブランチが破棄され、その中のトランザクションはメンプールに戻ります。そのため、1確認の支払いが一時的にゼロに戻ることがあります。これは攻撃ではなくネットワークの通常の動作であり、深さが重要であるまさにその理由です。追加のブロックごとに、あなたの支払いを含むブランチを放棄することが難しくなります。