394 / 736GMAX

Gregory Maxwell

gmaxwell として知られる開発者

Gregory Maxwell は、支払いを検証できる状態に保ちながら、参加者の金銭生活をむやみに明かさずに済む方法を考えてきました。その提案は、プライバシー保護には複数の形と、それぞれの限界があることを示します。

Gregory Maxwell は Greg Maxwell や gmaxwell とも呼ばれる Bitcoin 開発者で、Blockstream の共同創業者です。CoinJoin、Confidential Transactions、Taproot に貢献し、Bech32 の共著者でもあります。これらは異なる手法の名前であり、どの Bitcoin ウォレットにも備わる一式の機能ではありません。

Maxwell の仕事は、Bitcoin の開発をプライバシーや安全性の課題につなげています。Blockstream の共同創業者で、CTO、つまり最高技術責任者を務めました。同社は 2018 年 1 月 19 日、Bitcoin の開発に集中するため彼がその職を離れたと発表しました。これは発表日であって、正確な退任日の証明ではありません。また現在の勤務先を示すものでもありません。ここで重要なのは肩書きより、取り組んだ具体的な問題です。 [1]

複数人が支払いを一つの取引にまとめる場面を想像してください。それぞれが以前受け取って今から使うコインを入力として持ち寄り、その使用を認める署名をします。観察者は同じ取引に入っているという理由だけで、すべてが一人のものだと確実には判断できません。Maxwell は gmaxwell の名で 2013 年 8 月 22 日に CoinJoin を説明しました。それ以前にも限定的な利用があったと明記しており、Bitcoin のプロトコル規則を変える必要はありませんでした。 [2]

参加者は何に署名するかをどう決めるのでしょうか。単純な CoinJoin は調整役が組み立てられますが、各参加者はまず自分の出力、つまり資金の行き先と金額を確認します。その後で自分の入力に署名します。これで調整役がコインを勝手に使えるようになるわけではありません。ただし単純な実装では、入力と出力の対応を知ることがあります。また、署名を拒む参加者がいれば、その回の処理が止まる可能性もあります。盗難防止、利用可能性、プライバシーは別々の性質です。 [2]

通常の Bitcoin 取引では金額が公開されます。Confidential Transactions は、支払いをまとめるだけとは別の問題に取り組みます。金額を暗号学的コミットメントに隠すのです。これは値を明かさずに固定するデータで、合計も検証できます。Elements における Maxwell の説明は、Adam Back の 2013 年の提案を発展させたものです。Elements で使われていても、Bitcoin の基盤ネットワークにこの機能が導入されたことにはなりません。金額を隠すだけでは、支払い同士のつながりである取引グラフ全体も隠せません。 [3]

算数では 10 = 11 + (-1) が成り立ちます。手数料を無視した送金モデルとして見ると、問題が分かります。合計は一致しますが、元の価値を超える正の出力が、意味のない負の出力で相殺されています。Confidential Transactions では、計算が数の範囲を越えて先頭へ戻る剰余演算のオーバーフローによって、似たことが起こり得ます。そこで範囲証明が必要です。隠した金額が許された区間にあることを、正確な値を明かさずに示します。プライバシーのために余分なお金を作れるようになってはいけません。 [3]

全員が合意して予備の支出条件を使わずに済んだなら、なぜその条件まで公開するのでしょうか。Maxwell の 2018 年 1 月 23 日の Taproot 提案は、共同署名で別の支出条件の存在を隠す方法を示しました。参加者が協力すれば、複雑な契約も普通の鍵による支払いのように見せられます。ただし投稿日はネットワークでの有効化日ではありません。案から採用までには、議論、厳密な規則、その受け入れが必要です。 [4]

最終仕様の BIP 341 は Taproot の規則を定める公開技術文書で、Pieter Wuille、Jonas Nick、Anthony Towns を著者として挙げています。鍵の経路なら、代替スクリプトの存在を明かさず署名で支出できます。スクリプトは支出条件を表すプログラムです。その経路を使う場合は、選んだプログラムと包含証明を公開します。Maxwell の元のアイデアの価値を否定する話ではありませんが、最終規則を彼一人の作品とすることもできません。 [5]

送金には正しく書かれたアドレスも必要です。Pieter Wuille と Greg Maxwell は、ネイティブ SegWit アドレスの Bech32 を説明する BIP 173 の著者です。チェックサムは符号化の誤りを見つけるための文字列ですが、受取人の身元や秘密鍵の持ち主を確かめるものではありません。有効な別のアドレスに差し替えられていても、検査は通ることがあります。Bech32 は CoinJoin や金額の秘匿とは別の問題を扱っており、効果を混同してはいけません。 [6]

理解を深めるには、この項目とあわせて次もお読みください Pieter Wuille, Matt Corallo, Satoshi Nakamoto. 次の項目からも参照されています Pieter Wuille, Matt Corallo.

DOC · 001Blockstream — Farewell to Gregory Maxwell文書 DOC · 002Gregory Maxwell — CoinJoin (2013)文書 DOC · 003Elements — Confidential Transactions investigation文書 DOC · 004Gregory Maxwell — Taproot proposal (2018)文書 DOC · 005BIP 341 — Taproot spending rules文書 DOC · 006BIP 173 — Bech32文書
改訂日: 一次資料を優先 · 投資助言ではありません