ビットコイン トランザクションの解説

ビットコイントランザクションの解説
ビットコイントランザクションの解説
ビットコイントランザクションの解説

ブロックチェーンは相互決済システムを近代化し、外部規制当局との作業を根本的に変える可能性があります。ブロックチェーンの独自性は、暗号化アルゴリズムでブロックチェーンに記録されたデータが改ざん不可能で不可逆であるという性質にあります。

トランザクションの主な特徴は決定論的なところにあります。この操作は、実装のプロセスがいくつの段階に分割されているかに関係なく、実行または却下されます。ブロックチェーン上の仮想通貨トランザクションは、銀行送金と情報ブロックになされた変更が一緒になったようなものです。

ビットコインは世界のほとんどの国で最も人気のある仮想通貨で、この特別な資産のトランザクションについておさらいしておくとよいでしょう。ビットコインのトランザクションはどのように機能するのでしょうか?なぜビットコインのトランザクションが承認されないのでしょうか?このChangelly(チェンジリー)の記事でこれらの疑問に答えます。

ビットコインのトランザクションとは何なのか

トランザクションとは、ネットワークの参加者間で資産を転送するのに必要な署名された情報モジュールの要素です。検証が完了すると、ビットコインのマイナーはtxidトランザクションを新しい暗号ブロックのデータベースに追加します。

ビットコインネットワークは、分散型台帳と呼ばれる現代版電子台帳の上に構築されています。その分散レジストリシステムは、データベースの膨大な数のコピーです。情報構造に加えられた変更は、ネットワークのノードによってトランザクションが確定された後でのみ信頼できます。特定の操作の実行記録は、データベースの各コピーに入力されます。

データ構造の整合性を保つために、プロジェクトのブロックチェーンのプログラムには保護メカニズムが組み込まれています。確定したビットコイントランザクションのログから情報をキャンセルまたは削除することは不可能です。

銀行送金に直接相当する標準的なトランザクションに加え、生成トランザクションも存在します。生成トランザクションでは、生成された一定数のコインがブロックを発見した報酬としてマイナーに送金されます。

これら2種類のトランザクションは、標準的なビットコイントランザクションは保有者が送信するのに対し、生成トランザクションは新しいブロックがテストに合格したあとシステムが自動的に実行する点でのみ異なります。

ビットコイン トランザクションのライフサイクル
ビットコイン トランザクションのライフサイクル

ビットコイン トランザクションの形成

送金を完了するには、プログラムにアクセスするための秘密鍵を持つ仮想通貨の保有者が、仮想通貨ウォレットの送信フォームに必要事項を入力します。受取人のアドレスと送金金額は必須です。

送金者が送金の意図を確認すると、送金情報はマイナーに処理されるのを待つ特別なメンプールに入ります。

すべてのビットコイントランザクションは、トランザクションを新しいブロックに組み入れるすべてのノードに送信されます。マイナーのひとつがハッシュコードをみつけると、ブロックは検証に送られます。ビットコインネットワークでは、後続の6つのブロックの検証が確認されると、トランザクションは確定したとみなされます。

ビットコイン トランザクションの例

ブロックチェーントランザクションの仕組みについてもう少し説明します。ブロックチェーンシステムで操作の際にする電子署名は暗号に基づいていたもので、2つの鍵があります。1つ目の鍵は秘密鍵で、資産の所有者のみが利用でき、秘密のまま保管され、他の誰にも転送することはありません。

しかし、取引の場でのデポジットや、電子資産を保存する一部の中央集権型のシステムでは、秘密鍵またはその複製がサービスの運営者によって保存されます。

2つ目の鍵は公開鍵です。公開鍵はビットコイントランザクションを実行、検証、追跡するのに必要です。公開鍵から秘密鍵を計算するのは不可能ですが、その逆はそれほど難しくはありません。

ビットコインネットワークでは、ECDSA楕円暗号標準をsecp256k1楕円曲線と組み合わせて使います。秘密鍵は32バイト、公開鍵は33バイト、署名は約70バイトです。

ビットコイントランザクションの解説

公開鍵での署名の考え方を簡単な言葉で説明しましょう。アリスはボブに1BTC送金します。アリスはどこからお金を持ってきて誰にお金を送るのか示したトランザクションを作り、秘密鍵でこのブロックチェーンの断片を処理する権利を裏付けます。マイナーは公開鍵を使って金融取引が有効なものであるか確認します。

P2Pネットワークにはシステムの動作を制御する中央集権的なノードを持たないことで、金融詐欺を排除します。

どうやってビットコイン トランザクションを追跡するのか

お金が送金され、ウォレットを離れましたが、受取人に届くまでにはしばらくかかります。もし何かが起こったらどうしましょう?ビットコイントランザクションをどうやってチェックしたらよいのでしょう?このためにBlock Explorerが作られました。

ビットコイントランザクションの検証情報はblockchain.comの [エクスプローラー](検索して取引を認証)で見ることができます。具体的な手順は以下の通りです。

  • ページ上部のメニューで「データ」を選択
  • 簡単に検索をするために「すべてのブロックチェーン」ボタンをクリックし、「ビットコインサービス」を選択
  • トランザクションのtxidを入力して「検索」をクリック

TXIDはブロックチェーンシステムでトランザクションを追跡するためのトランザクション識別番号です。トランザクションidとウォレットアドレスを混同しないでください。TXIDはシステムが特定の電子資産の転送に割り当てるユニークなパスポートです。TXIDの唯一の目的は、すべてのユーザーがすべてのユーザーが暗号ネットワークでトランザクションを検出し、そのステータスを追跡できるようにすることです。

ウォレットアドレスでビットコインのトランザクションを追跡することはかなり可能です。ウォレットの所有者のこれまでの送受信履歴に他のデータとともに表示されます。

ビットコイン トランザクションが未確認なのはなぜ?

ビットコインネットワークの1ブロックのサイズは小さく、たった1MBで、これがシステムをDOS攻撃から守っています。仮想通貨が人気を集めるにつれ、スケーラビリティーの問題が出てきました。マイナーにとって、大幅に増加した送金処理に対処するのがますます困難になりました。

「ビットコインの送金が承認されるまでにどのくらいの時間がかかるのか?」という質問に正確に答えることはできません。仮想通貨ブームの間、ビットコインネットワークの負荷は、未確認のトランザクション数が致命的なレベルに達するほどでした。あるアドレスから他のアドレスへの送金に1週間かかることもありました。しかし、2019年、ビットコインのトランザクションの確認に一時間半より長くかかることはありません。

ネットワークのノードは未確認のビットコイントランザクションを却下することができ、この場合、ビットコインは送金者のアドレスに戻ります。ビットコインの送金がフリーズし、返金される主な理由は手数料の安さです。

ユーザーはビットコインクライアントで個別に手数料の額を設定できますが、手数料は十分な金額でなければなりません。手数料が十分でないとトランザクションは実行されません。未確認のトランザクションの数が少なければ、安い手数料で安全に送金することができます。

ビットコイントランザクションをスピードアップするには?

ビットコインの未確認トランザクションの問題を個別に解決する方法が3つありますが、いずれも100%の結果を約束するものではありません。

手数料を増やす(Replace-by-fee)。以前はビットコインネットワークのトランザクションは固定の手数料で実行されていました。デジタルゴールドビットコインが人気を集めるにつれ、オンラインの支払いトランザクションの数は増加していきました。

ビットコイントランザクションの解説

動的に手数料を変更できるオプションを持つユーティリティーがあり、このユーティリティーで未確認のトランザクションをスピードアップすることができます。すでに送金されたお金に対する実際の変更を言っているのではありません。RBFオプションを有効にすることで、ネットワークに対して遅延があった場合により多くの手数料を支払う準備があると伝えることができ、古い送金の代わりに新しい送金が自動的に承認されるのです。ビットコイン Core、Electrum、Green Addressといったビットコインウォレットがこの機能を持っています。

2つ目の方法はDouble Wasteと呼ばれるものです。ビットコインネットワークの全パワーの少なくとも51%を必要とする悪意のある攻撃ではありませんよ。トランザクションを高い手数料とともに再送すると、古いトランザクションはキャンセルされます。ただしこの方法を乱用すべきではありません。

最後の方法はChild Pays For Parent (CPFP)です。これは、マイニングするトランザクションをそのトランザクションの手数料だけでなく、そのトランザクションの先祖(親)と子孫(子)の手数料にも基づいて選択することを意味します。ウォレットにお金がある場合、送金者と受信者両方がCPFPを使うことができます。詰まっているトランザクションのアウトプットを使って別の送金を作る必要があります。資金の残高は2つのトランザクションの手数料を支払うのに十分でなければならないことに注意してください。

CPFPがどのように機能するかについて、法定通貨の例で説明しましょう。商品を購入するにあたって、あなたは売り手に現金を送らなければなりません。売り手もそのお金を使って他の商品を買い「送金」します。

売り手のトランザクションはあなたの親トランザクションの子トランザクションと捉えることができます。なぜなら、売り手はあなたが代金を支払うまで何も買えないからです。あなたが購入しようとしている商品の代金よりも多く支払ったとしたら、売り手は差額をあなたに返金しなければなりません。それぞれのビットコイントランザクションには、変更のための同様の出口があるため、CPFPメカニズムを開始できます。

結論

ビットコインネットワークとその他の仮想通貨でトランザクションの処理を加速することは、ブロックチェーンプロジェクトのクリエーターにとって優先順位の高いタスクのひとつです。選択肢としてライトニングネットワークがあり、これはブロックチェーンのアドオンとして高いスループットを達成するために使われます。

この他にもエキサイティングな開発が行われています。仮想通貨は未来のお金で、今、私たちは新しいタイプの世界金融システムの開発の時代を生きているのです。