共有ファイルで広がったP2Pネットワークは、昨今ブロックチェーン領域で再び注目を集めるものになっています。ブロックチェーン技術は、きわめて応用範囲の広いものとして、インターネット登場以来の革命を引き起こすともいわれていますが、現状ではとくにこれを基盤技術とする仮想通貨が高い関心を集めていますね。知名度が高く、参加している人も多いビットコインやイーサリアムなどの主要コインはもちろん、日々新しくさまざまな仮想通貨が誕生し、独自の価値と経済圏を創出するようになりました。一定以上の広がりと信頼性・実績を確保した仮想通貨は、リアル世界における決済でも利用可能になってきています。政府も推進するキャッシュレス社会の本格的な到来とともに、今後はさらに仮想通貨による決済や各種取引、関連サービスなども普及していくことでしょう。一方で、ブロックチェーンをベースとする仮想通貨には、まだまだ乗り越えなければならない課題もあり、その対策として導入された機能にもメリット・デメリットが存在します。これはよりよい仕組みを皆で作っていくため、技術開発と議論が活発に進められている最中であることを示しているともいえます。私たちは現在がそうした段階の時代であることを認識し、正しい知識を身につけて、自身の行動判断に活かしたり、議論に参加したりしていかねばなりません。そのための一歩として、今回はRBFとゼロコンファメーション(0承認)、二重送金の問題について取り上げていきます。仮想通貨の送金取引は、その性質上、いわゆるファイナライズといえる段階にまで確定させるためには、一定以上のまとまった時間を要します。トランザクションの生成を行い、電子署名を施して送信しても、取引はまだ未承認段階で正式には成立していません。一時的にプールされ、ネットワーク上の承認を待つことになります。プールされた未承認トランザクションから、マイナーによるマイニングが行われ、ブロックが生成されて帰属が決定、ブロックチェーンへの書き込みが実行されるには、ビットコインの場合で最低でも10分程度が必要です。確実とされる6承認を得るには、6ブロックが必要ですから、後に続くチェーンが伸びていくのを待つと、1時間程度かかることになります。手数料が相対的に低くてマイナーに選ばれない場合や、ネットワークが混雑していてトランザクション詰まりを起こしている場合などでは、さらに長い時間がかかることもあります。したファイナライズに時間のかかるスタイルは、キャッシュレスなオンライン決済手段として利用することを考えると、利便性の面で致命的な問題になることは明らかです。店頭レジで何十分、何時間と顧客を待たせるわけにはいきません。何らか現実的な対応をとらねばならないでしょう。そこで多くの場合、未承認段階で送金取引完了とみなすゼロコンファメーション(0承認)取引が取り入れられています。ウォレットの送金実行などで、すぐに応答が返ってくる通知などはトランザクションの投函を示すものであり、相手が受け入れてもそれはゼロコンファメーションによるもの、正式な取引プロセス完了をもっての成立ではないのです。時間さえ経過すれば、間違いなくそのままの内容で取引が成立するなら、もちろんこのゼロコンファメーションで問題はありません。未承認の段階で成立と“みなす”ことにはリスクがあるのです。ネットワーク混雑時に有効なRBFの問題点ここでいったんゼロコンファメーションから離れ、なかなか処理されないトランザクションを早く確定させたいニーズに応えたRBFの話に移りましょう。Feeの略称で、手数料の低さなどからトランザクションプールに放置されたままとなっているデータについて、後から新たに手数料を引き上げた設定のトランザクションと置換させることを可能にする機能です。未承認段階のトランザクションが対象ですが、これにより先に送信したものをキャンセルし、上書きした新しいトランザクションをスムーズに処理させることができるようになります。ネットワークの混雑回避策として有効なRBFですが、これとゼロコンファメーションが組み合わさると、悪意あるユーザーの行動が容易に誘発され、先述のリスクが増大するという問題があるのです。いうことか、具体的に説明しましょう。意図的に手数料を低く設定し、ゼロコンファメーションで取り扱われる決済のトランザクションを生成、送信します。「AさんがBさんのアドレスにD量のコインを送金する」という内容です。Bさんはこの取引を成立とみなし、D量のコインを受け取れると考えて商品やサービスの提供を行いました。ところがAさんは、このトランザクションの投函後、RBFを用い、すぐにより高い手数料設定に切り替えた新たなトランザクションを、「Bさんではなく自分宛てのアドレスCにD量のコインを送金する」内容で送信、上書きしてしまいました。これでは、ブロックチェーンに記録されるフローにのり、最終的に取引が成立するのは後者の不正取引となり、Bさんは商品やサービスをタダで持ち逃げされてしまいます。このようにゼロコンファメーションでは、受け取り側が最終的に着金できなくなるリスクがあります。未承認トランザクションの状態をベースに、同じコインを2度取引に用いる、こうしたAさんのような行動を二重送金(二重支払い・ダブルスペント)といいますが、RBFはこの二重送金をより容易に、明確な悪意をもって利用させてしまう問題があるといえます。RBFを用いる場合には、あらかじめこれによって手数料を変更する可能性がある旨を示した特定のマークを、トランザクションに付しておかねばなりません。受け取り側が対象取引について、RBFかどうかを検知することは可能です。よってRBFをオプトとして付けているものは、そもそも受け付けないようにしているケースもあります。RBFの提唱者は、セキュリティの観点などからゼロコンファメーションのトランザクションを絶対に認めない立場をとる人物で、これを事実上不可能なものにしようという考えがベースにあります。信頼関係の上に成り立つ、即時決済が可能なゼロコンファメーションを支持するか、あくまでトラストレスで成立するブロックチェーンの基礎に厳密に、トランザクションの詰まりを解消させる一手段として、手数料によるRBFを有用と認めるか、考え方も人によって異なるでしょう。二重送金で取引がキャンセルされる、着金トラブルが生じるリスクがあっても、少額決済が中心であるため、利便性を優先したい、リスクは許認できる範囲だと、ビジネス上、割り切るケースも多くみられます。ゼロコンファメーションはリスク承知で受け入れるが、RBFのみ拒否とし、リスク低減を図るところもあるなど、現状の対応はさまざまです。どのような判断をするかは、それぞれに任されており、いずれの選択にもメリット・デメリット、利便性とリスクがあります。将来的には根本的にある二重送金やゼロコンファメーションの問題自体について、解消が図られていく可能性も十分にあります。新技術による問題の緩和を提案するものも多くみられ、早期の実現が期待されます。仮想通貨やブロックチェーンは、いまも発展途上の改善、拡張可能な領域を多くもつものです。した認識のもと、今後の動向を注視していくとよいですね。