Chaumian eCash は David Chaum の研究をもとにしたデジタル現金の仕組みの総称です。ウォレットはデジタルコインを保管し、支払いに使うためのアプリです。mint とも呼ばれる発行者から、ブラインド署名付きのデジタルコインを受け取ります。データを数学的に覆い隠すことで、特定のコインの発行と後の使用を結び付けにくくします。ただし、コインの受け入れや払い戻しは発行者に依存し、一般的なオンライン方式では二重使用の確認も発行者が担います。
アンナが一般的な決済アプリで見る残高は、通常、運営者が管理する口座の記録です。一方、eCash では、価値を示すデジタルな証票を直接持つことができます。ここではそれをコインやトークンと呼びます。証票にはデータとソフトウェアが発行者の秘密データを使って計算した認証情報が入っています。金属の硬貨ではなく、必ずしも新しい暗号資産でもありません。目指すのは現金に近い支払いです。少額の買い物のたびに、支払った人と簡単に結び付く記録を残さずに済むようにします。David Chaum は Bitcoin よりずっと前からこの考えを研究し、自身の会社 DigiCash で実用化を試みました。 [1] [3]
発行者は mint、つまり造幣局と呼ばれることがあります。ただし、ここでは金属を加工する機械ではなくサービスを指します。例えばアンナが資金を送ると、その代わりにウォレットがデジタルコインを受け取ります。Bitcoin に関連する仕組みでは、金額を sats、すなわち Bitcoin の最小単位である satoshi で表すことがあります。大切なのは、コインの裏付けとなる実際の資金を誰が持っているかです。mint が持っているなら、アンナが保有するのは発行者への請求権であり、自分の鍵だけで管理する bitcoin ではありません。この鍵とは、Bitcoin の送金に署名するための秘密データです。同じ sats の残高表示でも、資金の保管方法は異なり得ます。 [8] [6] [7]
ウォレットは新しいコイン用にランダムな秘密データを作り、署名の前に数学的に覆い隠します。発行者は求められた額面を見て、発行が認められるか確認できますが、隠された元のデータは見えません。署名を受け取ったウォレットは、認証の有効性を保ったまま覆いを取り除きます。これが blind signature、ブラインド署名です。不透明な封筒の中の紙に、検証可能な印を押すようなものと考えると分かりやすいでしょう。実際には数学がそれを実現します。正しく行われた署名だけからは、後に提示されたコインがどの引き出しに対応するのか、発行者には分かりません。署名や検証の具体的な方法はシステムによって異なります。 [1] [3] [8]
アンナがペーターにメッセージでトークンを送ったとします。必要なデータは届きましたが、アンナもそのコピーを残しているかもしれません。そのため Cashu では、受取人のウォレットが mint に依頼し、届いたコインを受取人自身が用意した新しいコインに交換します。mint は古いコインを無効にし、新しいものを発行します。交換が正常に完了して初めて、送り手は残しておいた古いコインのコピーを使えなくなります。この手順は新旧のコインの結び付きを切ることにも役立ちます。QR コードの画像やメッセージの配達済み表示だけでは、受取人が安全に価値を確保した証拠にはなりません。 [8] [9]
Double spend とは、同じ価値を繰り返し使おうとすることです。オンラインの mint は使用済みコインのデータを記録し、再使用を拒否します。これにより、利用者が単純にお金をコピーすることを防ぎます。ただし、その記録だけでは、発行者に十分な準備資産があるとも、裏付けのないコインを追加発行していないとも証明できません。不正な利用者への対策と、運営者への信頼は分けて考える必要があります。コインの暗号学的な認証が有効でも、準備資産の残高証明にはなりません。発行者が協力をやめれば、有効なトークンを持っていても資金を取り戻せないことがあります。 [2] [6] [8]
インターネットに接続せずに二台の端末間でデータを渡すことと、そのデータが別の場所で使われていないと確かめることは別です。署名の出所をオフラインで検証できる方式もありますが、それだけでコインの現在の状態は分かりません。Chaum、Amos Fiat、Moni Naor による過去の研究では、同じコインを二度使うと後から不正者を特定できる可能性のあるオフライン現金も提案されました。しかし、現在のすべてのウォレットがその仕組みを使うわけではありません。「オフライン決済」という説明では、データの受け渡し、真正性の検証、二重使用への対策を区別しましょう。 [2] [10]
ウォレットは、考えられるすべての金額に対応するコインを持つ必要はありません。異なる額面を組み合わせ、必要に応じて交換できます。残高が 500 sats で、300 sats を払う場面を考えましょう。手数料を除けば、アンナは合計 300 sats のコインを送り、200 sats を手元に残したいわけです。ちょうどよい組み合わせがなければ、Cashu では mint に古いコインを新しいものへ交換してもらえます。これは通貨の両替や為替取引ではなく、細かく分けることで利益が出るものでもありません。実際の手数料と使える額面は、そのシステムの規則によります。 [8] [9]
ブラインド署名は、コインの発行と使用の結び付きを制限します。しかし、店に伝えた配送先、アプリへのログイン、通信の痕跡、特徴的な時刻と金額の組み合わせまで消すわけではありません。追加のロック条件がない通常のトークンは、秘密データを得た人が使えます。したがって、その公開は受取用アドレスの公開とは違います。また、ウォレットのバックアップがすべての問題を解決するとも限りません。例えば Cashu の復元では、バックアップ用の単語だけでなく mint の協力も必要になることがあります。すでに他人が使った価値はバックアップで戻らず、発行者の不足した準備資産も補えません。 [3] [11] [12]
GNU Taler はブラインド署名で顧客を守る一方、店の売上を監査できる設計です。すべての参加者の行動を全員から隠すことが目的ではありません。Cashu は mint を使う Bitcoin ベースの電子現金プロトコルを提供します。Fedimint は複数の管理者からなるフェデレーションに管理を分担させ、一人だけが資金を支配しないようにします。それでも、十分な人数の管理者が結託すれば、預かった資金を危険にさらしたり、裏付けのないコインを発行したりできます。フェデレーションは信頼を分散するのであって、不要にするわけではありません。関連する暗号技術を使うからといって、これらを同じ仕組みと考えることはできません。 [4] [5] [6] [13]
Bitcoin は中央の発行者なしに、ネットワーク共通の規則で送金を検証しますが、取引履歴は公開されています。eCash は一部の支払いを、発行者が提供する、よりプライバシーを重視した環境へ移せます。接続には Lightning Network のような、決済チャネルを使って素早く支払うネットワークを利用できます。チャネルの参加者は、あらかじめ入れた bitcoin の配分を更新します。個々の支払いをすべて Bitcoin の公開履歴に記録する必要はありません。ただし、Lightning 経由の入出金によって mint のトークンが自動的に自己管理の bitcoin になるわけではありません。最初は三つの問いを押さえましょう。裏付け資金を持つのは誰か。払い戻しを拒めるのは誰か。支払いのどの情報を誰が見られるのか。その答えを合わせて初めて、各 eCash の実像が見えてきます。 [6] [7] [13] [14]
理解を深めるには、この項目とあわせて次もお読みください David Chaum, Blind Signature, DigiCash, Cashu, Fedimint, 二重支払い. 次の項目からも参照されています DigiCash, Reusable Proofs of Work, The Crypto Anarchist Manifesto, Blind Signature.