暗号通貨の安全な送金、とは?
BTCPayServer について語る前に、もう少し根源的なことを意識合わせする必要があるような気がしてきました。
読者の皆さんの知識レベルの高低を心配しているのではなく、ビットコイナーとして知識も発言力のある方も、おそらく彼/彼女の信条か何かで、意見が偏っていたりするので。
...
ビットコインや派生オルトコイン(モナコイン等)は、安全な送金を行うために、幾つかの手順を踏みます。ご存知の方には退屈でしょうから、気分に応じて次の段落は読み飛ばしてください。
1. ブロックチェーンから送金として使える(≒残高が残っている)トランザクション(UTXO)をかき集めてきます。
2. UTXO を使って新しいトランザクションを作成し、送信者が所有している秘密鍵で署名します。
3. 送信者は署名済みのトランザクションをノード群に送信します。
4. ノード群は、トランザクションが正しく署名されていることや残高が実際にあることなどをチェックし、不正があったなら捨てます。
5. 採掘者は、不正でないトランザクションをかき集めて、力技でなければ解けないパズルを解きます。
6. 真っ先に正解を出した採掘者には報酬が与えられると同時に、使われたトランザクションがブロックチェーンの先頭につながれます。この作業は "承認 (confirmation)" と呼ばれます。
7. 何回か "承認" が行われると、トランザクションを後から改ざんすることが確率的に不可能なレベルになります。
(ちなみにトランザクションというのは、小切手とか振替伝票みたいなものだと思っていただいて結構です。)
...
文字にしてみると意外と面倒なのですが、実際の処理もなかなか面倒で時間がかかります。"承認" の時間間隔はコインにより異なりますが、ビットコインで平均 10 分、モナコインで平均 90 秒です。
ほぼ改ざん不可能と言われる承認回数は 6 なので、モナコインでも 9 分、ビットコインなら 1時間。
取引所間の送金なら待てるかもしれませんが、対面販売で 1時間待たされるのでは、使い物になりませんね? ECサイトでの買い物でも結構つらいかも。
...
待ち時間がつらいので、通常は、承認回数を減らします。承認回数1回なら、支払いが無効になるリスクは増えますが、送信者の待ち時間は減ります。
しかし承認回数1回でも、承認の時間間隔は平均であることに注意が必要です。実際には間隔は変動します。
モナコインの場合、平均は確かに 90秒です。しかし実際には、採掘者の都合で、遅延が発生します。
モナコインのメインネットチェーンでの遅延は、次に示すスクリーンショットのように、 http://mona-coin.com で確認できます。
割と頻繁に起きていることがお判り頂けるでしょう。スクリーンショットの時点では 22分以上の遅延がありますし、タイミング次第では30分以上待たされる場合もあります。
これでは同様に対面販売では使い物になりません。
...
なので、待ち時間が問題になる場合には、最も短い支払手段を検討することになります。大きく分けて2つあります。
ノードが不正と認めなかったトランザクションがネットワークに流れたのを確認できた時点で、送金完了とみなす。(いわゆる "0承認取引 / 0-conf)
ブロックチェーン以外の場所で支払いを記録して、あとで残高の帳尻を合わせる。(ウォレット内送金やセカンドレイヤ送金など)
共に「トランザクションがブロックチェーンに組み込まれる前に、支払われたことにしてしまおう」という点では同じ着想です。
そして「もしかしたらトランザクションがブロックチェーンに取り込まれない」という同じリスクを背負っています。
ブロックチェーン技術での唯一の正解は、ブロックチェーンです。ブロックチェーンに取り込まれていないトランザクションは、いかなる場合でも、無効です。
...
ですが、結局のところ、暗号通貨の信頼性は確率的なものです。
「6承認のあとは支払いの事実が覆らない」でさえも確実なものではありません。…まあほぼ確実ですが、銀行のようにガチガチのシステムを組んでいる方々にとっては、不確実性はご不満のタネのようです。
...
さて、そろそろ本題へ。
本稿で業者BOTの中の人が確認しておきたいのは、下記のように考えるのは、実利用時には合理的な考え方で有り得るということです。
もしかしたら取りはぐれる(トランザクションがブロックチェーンに取り込まれない)かもしれないが、少なめの承認(0承認含む)を敢えて選んで、お客さんからの支払いを多く裁きたい
…もちろん、リスクを損害額に換算してみて許容なら、ですが。
たとえば、現金での支払いを確実に記録したければ、銀行振込を使うのがおそらくベストです。だからといって駄菓子屋での決済を銀行振込ですべきだというのは、ナンセンスですね?
原理主義ビットコイナーの中には、この手のナンセンスを真顔で言う人がいるので、ここで強く指摘してきます。
返す刀になりますが、ウォレット内取引(モナコイン系ならMonappyが典型)やセカンドレイヤー・オフチェーン(Lightning Networkが典型)について盲目的にディスるコイナーも、これまたナンセンスでしょう。
コイナーのオハジキやヲタクのゴールドだった時代はそろそろ終わりそうです。これから暗号通貨での決済を導入する層は、世間の中ではアーリーアダプターだったとしても、ブロックチェーンそのものよりは決済手段としてコインを見る層でしょう。
(回収失敗リスクの許容範囲内で)あらゆる支払手段が選択しうることが、今後の暗号通貨決済には求められるはずで、技術クラスタには応えていく余地があります。
...
P.S. なので、次回以降の本論で、既存の決済手段にも触れますが、別にディスる意図はないのよ。ってことで、ひとつよしなに。