b-moneyはWei Daiが1998年に発表したデジタル通貨の提案です。デジタルな仮名で活動する人々の残高を共同で記録し、契約を扱う二つの方法を述べています。運用された通貨でも、古い版のBitcoinソフトウェアでもありません。後にBitcoin whitepaperの参考文献の先頭に載りました。
アンナがネットでペーターにイラストを注文すると考えてください。二人は互いのハンドルネームしか知りません。銀行などの機関に身元を明かすことなく、支払いをし、約束が破られた場合も取り決めたいのです。暗号技術でプライバシーを守ろうとしたCypherpunksは、こうした問題に関心を持っていました。Wei Daiは1998年、b-moneyで答えようとしました。ここでのデジタルな仮名は単なる作り名ではなく、公開鍵でした。これは秘密にする必要のないデータで、他の人がメッセージの署名を確認するために使えます。本当の身元を隠すには、想定された匿名通信網も必要です。 [1] [2]
この例では、アンナに10単位あり、ペーターへ3単位送ろうとしています。送金のメッセージを公表し、デジタル署名を付けます。これは手書きの署名の画像ではありません。ソフトウェアがメッセージと秘密鍵から計算するデータです。秘密鍵はアンナが秘密にしておくデータで、他の人は公開鍵を使い、対応する秘密鍵の持ち主が指示に署名したことを確認できます。口座を記録する人々は署名と残高を調べ、アンナから3を引いてペーターへ加算し、アンナには7が残ります。コインのファイルを送るのではなく、残高記録を書き換えるのです。すると重要な疑問が生じます。アンナが矛盾する指示を送ったとき、すべての記録をどう一致させるのでしょう。署名だけでは、この一致は実現しません。 [1] [5]
最初のプロトコル、つまり提案された規則では、参加者全員が残高データベースを持ちます。皆が同じ変更を行うため、匿名で同期し、妨害できない一斉通信の経路を仮定しています。平たくいえば、必要な時間的足並みで全員にメッセージが届き、配信を止められず、送信者も明らかにならない必要があります。遅延や消失が起きる普通のインターネットより、はるかに強い条件です。そのためDai自身が第一案を非実用的と呼んでいました。第二案を考える出発点であって、運用準備のできたネットワークではありません。 [1] [2]
残高には出発点が必要です。Daiは、新しい計算困難な問題の解答を公表すれば、誰でも通貨単位を得られると提案しました。他の人が計算の労力を容易に評価でき、解答に別の実用的・知的価値がないことが条件でした。発行量は計算費用を標準的な商品バスケット、つまり費用比較のために合意した商品の組合せで表して決めます。計算作業を証明するProof of Workに似ていますが、まだBitcoinのブロック採掘ではありません。ブロックは、共有する支払い履歴に追加される取引のまとまりです。人によって計算機の性能も費用も違うのに、共通の費用評価が必要になる問題もあります。 [1] [2] [5]
第二のプロトコルでは、全員が帳簿全体を管理する必要はありません。サーバーと呼ぶ一部の参加者が担います。アンナとペーターは、無作為に選んだ一部のサーバーに支払いの処理を確認します。管理者への一定の信頼が生じるため、各サーバーは資金を担保として預け、不正が証明された場合の制裁に使えるようにします。また残高と通貨生成の記録を定期的に公開します。利用者は自分の残高と、全残高の合計が生成された通貨を上回っていないかを確認します。管理者への具体的な監視策であり、現在のBitcoinのノードやマイナーと同じ仕組みではありません。 [1]
お金はb-moneyの一部にすぎません。アンナとペーターの注文では、契約で条件と違反時の賠償上限を決めます。当事者と、必要なら紛争を判断する仲裁人が署名し、決めた額を特別口座に入れます。合意のうえで契約が終われば、結果に応じて資金を配分します。さらに、仲裁でも解決しない場合は当事者が主張を公開し、口座の記録者それぞれが賠償や罰金を判断する案でした。ここに限界が見えます。署名は合意を確認しても、イラストが本当に納品されたかを判断せず、全管理者の判断が同じになる保証もありません。 [1] [2]
Daiは実際の計算費用に合意する難しさを認識していました。技術は変わり、他人に知られていない優位性を持つ参加者もいるかもしれません。そこで付録Aは両プロトコルに使える代替案を示しました。まず口座の記録者が新規単位数を計画します。希望者は欲しい通貨量と引き換えにどの計算問題を解くかを提示し、計算を行って解答を公表します。受け入れた入札に応じて発行します。計画、入札、計算、生成という四段階で、単なる費用推定を置き換えるのです。Bitcoinの事前に定めた2100万という上限でも、ブロック当たりの新しいビットコインを定期的に半減するHalvingでもありません。 [1] [3]
Adam Backは1998年12月にこの案を検討しました。計算費用の違いや、同じ仮名を使う支払い同士は結び付けられる点などを指摘しています。本名を隠すだけでは、支払いの関連まで隠せるわけではありません。原文にはサーバーの監視策があるため、不正をまったく考えていなかったという説明も不正確です。しかし、故障や紛争のもとでも全データベースの一致を保つ、完全で実証済みの方法を示したわけではありません。そうした状況にも、提案と稼働するシステムの隔たりがあります。原案と残された議論を併せて読むと理解が深まります。 [1] [3] [7]
2008年8月22日、Satoshi NakamotoはWei Daiに、Adam Backからb-moneyを教わったと伝え、引用のために発表年を尋ねました。Daiは1998年に公表したと答えました。その後、Bitcoin whitepaperはb-moneyを参考文献の最初に載せます。2009年1月10日の別のメールでは、SatoshiがBitcoin v0.1の公開を知らせ、b-moneyの目標のほぼすべてを達成しているとの見方を述べました。これは交流と先行する発想への評価を示す記録です。しかしWei DaiがBitcoinを書いたこと、両者が同じ仕組みであること、どれだけ個々の技術を直接継承したかまでは証明しません。 [4] [5] [6]
b-moneyは発想の歴史における重要な地点ですが、この提案に基づく通貨を今日ウォレットへ入れられるわけではありません。ここで説明された運用可能な決済システムとして実装されませんでした。Bitcoinのブロックの連鎖も、累積作業量が最大の有効なチェーンを選ぶ規則もありませんでした。それでも問いは明快です。一つの銀行に任せず、デジタル署名、通貨生成、共同の帳簿をどう組み合わせるか。Bitcoinは後に独自の答えを稼働するネットワークへまとめました。b-moneyを読むと、デジタルなお金の発想と、互いを信頼しなくても検証可能な共通状態を保つ難しい課題を区別できます。 [1] [4] [5]
理解を深めるには、この項目とあわせて次もお読みください Wei Dai, サイファーパンク, Reusable Proofs of Work, Proof of Work, Hashcash, Bit Gold. 次の項目からも参照されています サイファーパンク, Bit Gold, Wei Dai, The Genesis Book.