@kenshishido is on PowPing!

PowPing is a place where you can earn Bitcoin simply by socializing, for FREE.
Never tried Bitcoin? It's OK! Just come, socialize, and earn Bitcoin.
Check out kenshishido's activities

ビットコイン総合

visit channel home
Total Economy: 0 USD

10分のBlocktimeは遅いの?

2021年8月19日 宍戸健

ビットコインのBlocktimeは10分なので「ビットコイン遅いよ〜。」とクリプト民によく勘違いされています。しかし実際には1秒以内でトランザクションは確定します。なぜこうなるのかについて以下説明します。

1. 10 min. block time

ビットコインのBlockTimeは平均10分がターゲットに設定されていますが、これはマイナーへの報酬の支払いとブロック生成のインターバルであり、各トランザクションが有効であるか否かを判別に要する時間ではありません。

2. Simplified Verification Process (SPV)

ビットコインホワイトペーパーSection 8はSPVの概念についての説明です。以下のようにしてフルノードを持たない場合(モバイルウォレット)にも支払い(受け取り)をすばやく確認することができます。

「フルノードを稼働させることなく、支払いを確認することが可能です。ユーザーは、最長のプルーフ・オブ・ワークチェーンのブロックヘッダのコピーを保持するだけでよく、これは、最長のチェーンを持っていると確信できるまで、ネットワークノードに問い合わせて得ることができます。そして、トランザクションとタイムスタンプされたブロックを結びつけられたMerkleブランチを取得します。ユーザーは彼自身でトランザクションを確認できませんが、チェーン内でリンクすることで、ネットワークノードが受け取ったこと、その後にブロックを生成したことを確認することができます。」

3. SPV概念図

以下はSPV Walletの2つのアーキテクチャの概念図です。二重払いでないか確認するまで(98%のマイナー)の平均時間は935.8msec〜573msecである。(nChain調査。2019年12月)

4. Double Spend Transaction

二重払いに関するゲーム理論的、リスク-リワード分析的、法律的な解説です。(クレイグ博士)

「二重払い(Double Spend)を受けとった側は、事後に騙されたことを容易に証明できます。取引を二重にするためには、不正な送信者が同じ入力(Input)に複数回署名し、支払いを無効にするような他の取引が発行されたことを当事者に通知することなく、ネットワークにブロードキャストする必要があります。二重払いが発生する可能性があることを取引の受取人にアナウンスすることは可能ですが、それが実際に起こったことを証明するのは、受信者の責任になります。

さらに重要なことは、受信者は元の支払いの詳細を記した署名入りの取引のコピーを持っていることです。二重払いが成功した場合、受信者は、受信者を欺こうとした送信者が署名した矛盾する取引を持っていることにより、これは証拠として(法律的に)認められます。取引に関する他の証拠や、支払いを行おうとした人物のビデオなどと合わせて、刑事訴追を開始するのに十分な証拠となります。」

"The deceived party can easily prove deception after the event. In order to double spend a transaction, the dishonest party needs to sign the same input multiple times and then to issue this to the network without notifying the party that other transactions have been issued that would invalidate the payment. Although it is possible to announce to the recipient of the transaction that a double spend may occur, it would be up to the accused party to demonstrate that this had in fact happened.

More importantly, the recipient will have a copy of a signed transaction detailing the original payment. If the double spend is successful, the recipient will now have a conflicting transaction signed by the party seeking to deceive the recipient which is admissible evidence. Taken with other evidence of the transaction, or in a store video evidence of the person seeking to make the payment, this would be adequate to commence a criminal prosecution."

このような理由で二重払いは割りに合わない攻撃であることがわかりますね。

5. BTCのReplace By Fee(RBF)機能

Replace By Feeはオリジナルビットコインプロトコルには存在していませんでした。Satoshiが去った後の2013年のアップグレードにより実装されました。 (Peter Todd提案, Bitcointalk Forum/Github)これは次のような働きをするはずでした。「リプレイス・バイ・フィー」という概念が開発されました。リプレイスの際に、自分のコストだけでなく、リプレイスされるトランザクションの手数料も支払うように要求することで、DoSのリスクは、別々のトランザクションでフラッディングするリスクよりも厳密に小さくなりました。」 (BitcoinWiki)

しかしながら、BTCはブロックサイズが1Mであるため、トランザクションがブロックに格納されない時間が非常に長くなる可能性があるため、実際にはこのRBFを利用したDouble Spendのリスクがより拡大します。また、クレイグ博士はRBF自体が二重払い攻撃であり、ビットコインの基本原則の一つ"First Seen Rule"が壊されてしまうと説明されています。このためRBFはBitcoinSVプロトコルから取り除いてあります。

BitcoinSVは現在ブロックサイズのディフォルト設定値は2ギガバイトです。(2021年8月現在)このためMempoolにトランザクションが溜まることはなく、全てのトランザクションがネットワークに伝播された直後のブロックに格納されます。

上記1〜5により、仮にブロックリオーガナイゼーションがあっても一度有効なトランザクションと認められたコインは次のブロックに含まれることになり、送信、受信者ともに安心してゼロコンファメーションで使うことが出来るのです。

powered by powpress
link Tip
Share
tx
translate