ビットコイン・インスティテュート

モネロ:事前採掘された​Bytecoinからの​分岐、​台帳を​隠す仕組み、​止まらない​発行

暗い背景の図解。ほぼ同じ大きさの円が輪になって並び、その中の一つだけがかすかに強調されている。南京錠の輪郭の隣には、鍵穴の形をした小さなステルスアドレスの記号がある。発行の曲線は右へ進むにつれて下がり続け、やがて途切れない水平線になって右端まで伸びる。最下段に説明の枠が三つ並ぶ。

リカルド・スパーニ(Blockonomiの記事)

実のところ、コインの82% は、通貨が「公開」される前にすでに掘られていた。事前の採掘に悪意がなかったとしても、コインの82% が、どこの誰とも分からない者たちの手にあることに変わりはない。

のちにモネロの主任保守者となるリカルド・スパーニが、Bytecoinについてこう書いた。BytecoinはCryptoNote方式で作られた最初の通貨で、モネロはこのBytecoinから分かれた。この事前採掘こそが、モネロが生まれた理由である。スパーニの数え方では、供給の上限1,840億BCNのうち1,510億枚が、関係者以外にコインの存在が知られる前に、すでに採掘されていた。

掲示板の一投稿者thankful_for_todayは2014年4月9日にBytecoinからの分岐を発表し、9日後の4月18日にBitMoneroを起動する。事前採掘は一枚もなかった。だが、BitMoneroは7日しか続かなかった。4月25日、当のthankful_for_todayがコミュニティと協力しなかったため、7人の開発者があらためて分岐させ、名前からBitを落としてモネロと改めた。17日で二度の分岐。これは設計を練り直した結果というより、創設のときからの原則の表れである。立ち上げの前に供給を持っている者は、立ち上げのあとも公正に持ち続けるとは信じられない、という原則だ。アルトコインの数と設計の比較の表では、配分の公正さとシステムの分散の二つの点で、モネロがどのチェーンよりもビットコインに近い。だが、その表には載らないことがある。モネロはその後、二つの点で、わざとビットコインから大きく離れていった。台帳を誰でも読めるようにするか、発行をいつか止めるか。ビットコインはこの二つに、モネロと逆の答えを出している。

CryptoNoteの技術文書が指摘するビットコインの弱点

モネロが実装するCryptoNoteの技術文書は、ビットコインのどこが問題かを、はっきり書いている。電子現金の条件を二つ挙げ、ビットコインはそのうち一つしか満たさないと言い切る。

(モネロ公式サイトの注釈つきCryptoNoteホワイトペーパー)

追跡不能性 — 受け取ったどの取引を見ても、送り手としてありうる者が、どれも同じくらい確からしく見えること。連結不能性 — 送り出したどの二つの取引を見ても、それが同じ相手に宛てたものだと証明できないこと。……残念ながら、ビットコインは追跡不能性の条件を満たさない。

同じ点は、サトシ自身も何年も前に認めている。ビットコインは匿名ではなく仮名にすぎない、という本人の警告が、このサイトに記録されている。CryptoNoteの技術文書は、その注意書きを、設計で必ず満たす条件にまで押し進めた。

もう一つの異議は採掘についてのもので、サトシ自身の「1 CPUにつき1票」という言葉を、そのままビットコインへの批判に使っている。

(モネロ公式サイトの注釈つきCryptoNoteホワイトペーパー)

したがってビットコインでは、参加者が合意で持つ票の重みに、大きな差がつきやすい。GPUや専用機を持つ者は、CPUしか持たない者よりはるかに重い票を持ち、「1 CPUにつき1票」の原則が破られるからである。

二つの異議は、文書の中だけでは終わらなかった。のちに、前者はリング署名とステルスアドレスという仕組みとして、後者はRandomXという演算方式として、それぞれコードになる。

台帳を秘匿する仕組み — リング署名・ステルスアドレス・RingCT

技術隠す対象導入時期
リング署名送り手発足時から
ステルスアドレス受け取り手発足時から
RingCT金額2017年1月導入、同年9月に義務化
Bulletproofs金額証明のデータ量2018年10月、取引サイズを8割以上削減

送金者が実際に使う出力は、過去のブロックから無作為に選んだ他人の出力と一つの環にまとめられる。署名は「この環の中の誰か一人が送金者である」ことだけを数学的に証明し、どれが本物かは示さない。環の大きさ (リングサイズ) は、かつては送金者が自由に選べた。だが、環の小さい取引はそれだけで目立ち、調べる手がかりになっていた。2018年10月、Bulletproofsを入れたリリースで、ネットワークはリングサイズを全員一律の11に固定し、2022年8月の「Fluorine Fermi」ハードフォークで現在の16に引き上げた。内訳は本物1個とおとり15個だ。ノードは環全体を検証するが、本物とおとりを見分けることはできない。見分けられないことこそが、この仕組みの要点である。

受け取る側を隠すのは、また別の仕組みだ。受信者は、閲覧用の鍵 (view鍵) と送金用の鍵 (spend鍵) という二つの公開鍵を含むアドレスを、一つだけ公開する。送金者は乱数を一つ生成し、ディフィー・ヘルマン鍵交換と同じ原理を使って、その取引専用の使い捨てアドレスを毎回新しく計算する。受信者は自分の秘密鍵を使って、その使い捨てアドレスに届いた資金が自分宛てだと見つけ出せる。だが外から見ると、同じ相手への複数回の支払いであっても、宛先が毎回別人に見える。

金額を隠す仕組みは最後に加わった。三つの中で、隠すのに最も多くのデータを使う仕組みでもある。2017年1月にブロック1,220,516で導入され、同年9月に義務化されたRingCTは、取引の金額そのものを隠しながら、入力の合計と出力の合計が一致することをネットワークが検証できるようにする。隠した数が負でないことを、数そのものを明かさずに証明するには、数をそのまま比べるよりずっと多くのデータが要る。2018年10月18日のハードフォークで導入されたBulletproofsは、この証明をより効率のよい方式に置き換え、こうした秘匿取引のサイズを少なくとも8割削減した。

採掘の仕組み — いたちごっこの末にたどり着いたRandomX

CryptoNoteの技術文書は、ビットコインの採掘にも異議を唱えていた。モネロはこの異議に、一つのアルゴリズムで答えたのではなかった。答えは、アルゴリズムを定期的に取り替えるという方針だった。発足時に採用したCryptoNightは、メモリーを大量に使うことで専用回路の優位性を薄める設計だった。これはライトコインがScryptに込めたのと同じ前提であり、結局は両チェーンともに専用ハードウェアに打ち破られた前提でもある。CryptoNight専用の採掘機が現れると、モネロは、アルゴリズムの細部を書き換えるハードフォークをおよそ半年ごとに行い、そのたびに、出たばかりの専用機を役に立たなくした。いたちごっこで、解決にはならない。採掘への同じ異議に、プルーフ・オブ・ステークのチェーンは採掘そのものをやめることで答えた。それぞれの道が何を引き換えにしたかは、プルーフ・オブ・ワークとプルーフ・オブ・ステークの比較で比べている。

2019年11月30日、ブロック高1,978,433でこのいたちごっこに区切りをつけたのがRandomXである。あらかじめ固定された演算手順を並べるのではなく、ハッシュを試すたびにランダムなプログラムをその場で生成し実行する。そのプログラムは、整数の演算、浮動小数点の演算、分岐の命令を混ぜた命令の並びで、約2ギガバイトのデータセットを読み書きしながら実行され、ハッシュを出す。このデータセットは2,048ブロック (およそ2.8日) ごとに丸ごと作り直される。汎用のCPUはこの一連の命令をそのまま効率よく実行できるが、演算の形そのものが絶えず変わる以上、専用の回路を作って速くする余地はない。本番のネットワークに入る前、2019年5月から8月にかけて、Trail of Bits・X41 D-Sec・Kudelski Security・QuarksLabの4社が独立に監査した。最初の監査の費用はArweaveが出し、残る三つの費用はモネロのコミュニティの寄付でまかなった。

発行設計 — 上限ではなく、止まらない末尾発行

項目ビットコインモネロ
発行の減り方21万ブロックごとに半分へ (階段状)1ブロックごとに、残り供給に比例してなめらかに減衰
上限の性質2,100万枚。設計者が選んだ丸い数字約1,844万6,744枚。整数の型を選んだ結果、たまたま決まった数
発行の終着点2140年頃にゼロへ2022年5月末に0.6 XMR/ブロックで下げ止まり、以後ずっとその額

モネロのブロック報酬は、ブロックごとに計算される。供給の上限を表す定数から、すでに生成された枚数を引き、それを2の19乗で割って、端数を捨てた値である。ブロックの間隔が1分だった最初のころは、2の20乗で割っていた。間隔を2分に延ばしたときに割る数を半分にし、1ブロックあたりの報酬を倍にした。ビットコインの報酬が21万ブロックごとに階段のように半分になるのに対し、この式では、報酬が1ブロックごとに、残りの供給に比例して少しずつなめらかに減っていく。CryptoNoteの技術文書は、ビットコインの半減をこう批判していた。

(モネロ公式サイトの注釈つきCryptoNoteホワイトペーパー)

もともとは、指数的になめらかに減っていく発行を目指していたはずだが、実際の発行は、いくつかの直線をつないだ形になっており、そのつなぎ目が、ビットコインの仕組みに支障をきたすおそれがある。

この式が使う、供給の上限を表す定数の値は、2の64乗から1を引いた18,446,744,073,709,551,615である。64ビットの符号なし整数で表せる最大の値だ。モネロの最小単位 (1 XMRの1兆分の1) で割ると、およそ1,844万6,744 XMRに相当する。ビットコインの2,100万枚が設計者の選んだ目標であるのに対し、モネロのこの数字は、誰かが目標として選んだものではない。整数の型をどう選ぶかという実装の都合で決まった数が、結果として供給の上限になっただけだ。

この天井に実際に届くことはなかった。計算結果が1分あたり0.3 XMR (2分のブロック時間で0.6 XMR) を下回った時点で、コードは報酬を減らす計算をやめ、報酬をこの下限の額に固定する。2022年5月末、モネロはこの下限に達し、以後1ブロックあたり0.6 XMRの発行が恒久的に続いている。終わりの予定はない。ビットコインの供給は2,100万枚に近づいて止まるが、モネロの供給は増え続ける。新しい発行が全体に占める割合は、年に1% に満たない。この割合は下がり続けるが、ゼロにはならない。

2014Bytecoin からBitMonero が 分岐、事前採掘なし (4月18日)7 人が再分岐、モネロと改称 (4月25日)2017RingCT 義務化、金額を既定で秘匿 (9月)2018Bulletproofs で取引サイズを8割以上削減(10月18日)2019RandomX 稼働、 ASIC対抗に区切り(11月30日)2022末尾発行 0.6 XMRで恒久化 (5月末)

統治と分配 — 財団を持たない資金調達

Bytecoinの初期の保有者のような得を、モネロの立ち上げでした者はいない。事前販売も、開発者への割り当てもなく、チェーンを率いる会社や最高経営責任者がいたこともない。デジタルゴールドの構造的な読み解きも、特定の人や組織がいないことを、ビットコインを支える特徴の一つに数えている。モネロのもとを作った仮名の人物thankful_for_todayは、4月25日の分岐の後まもなく姿を消し、その名で二度と表に出ていない。その点はサトシの離脱と同じ形に見える。だが違いも一つある。ビットコインでは、サトシが去ったあと、代わりに表に立つ人はいなかった。モネロでは、分岐に加わった開発者の一部、中でもスパーニが、その後十年近く、表に立ってプロジェクトを代表し続けた。

それでも開発には資金が要る。モネロには、資金をまとめて出す一つの提供者はいない。Community Crowdfunding System (CCS) では、誰でも開発の提案を公開の場に出せる。コミュニティがその範囲と金額を議論し、集まった寄付はコアチームが預かる。支払いは、財団の理事会が決めた計画に沿って行うのではなく、作業が一段落するたびに、終わった分について行う。一つの提案に収まらない基礎的な支出は、誰でも直接寄付できる別枠のGeneral Fundが受け持つ。何を作るかを決める組織はない。作られるかどうかは、その提案に寄付が十分集まるかどうかで決まる。アルトコイン横断比較は、モネロにはプロトコルの権限を握る一つの組織がない、としている。それを具体的に支えているのが、この仕組みである。

スパーニが名指ししたビットコイン

モネロの主任保守者は、ビットコインが失敗したとは言っていない。言っているのはもっと限られたことで、そのぶん反論しにくい。ビットコインの透明性は本物の性質で、本物の結果を生む。モネロが生まれたのも、その結果の一つだ、というのである。本人はこう語った。

リカルド・スパーニ(What Bitcoin Didのインタビュー、2018年10月8日)

ビットコインが匿名ではないと分かった以上、モネロには、はっきりした大きな使い道がある。

スパーニは、同じ透明性の話を、逆の側からも持ち出した。ビットコインにプライバシーがないというだけでなく、読める台帳は、人が思うほど安全の支えにならない、という指摘である。

リカルド・スパーニ(Coin Storyのインタビュー、2020年12月30日)

結局のところ、ビットコインにも、供給を監査しきれなくなる危険はある。それは、ビットコインに、コインを不正に増やせるバグがはっきり二件あったことから分かる。一件目は2010年に実際に悪用され、誰かが何十億ものビットコインを作り出した……二件目はもう少し厄介で、2018年のCVEだ。取引の出力を二重に使えてしまうものだった。

二件のバグは、どちらもこのサイトに記録がある。2010年のバリュー・オーバーフロー事件は本番のチェーン上で実際に悪用され、CVE-2018-17144は悪用される前に見つかり開示された。彼の主張は、前半は記録と合うが、後半には条件が付く。読める供給は原理として監査できるが、バグが存在しないことの保証にはならない。ただ、二件とも見つかったのは、台帳が誰にでも読めたからだった。ビットコインとモネロのこうした比べ方は、リカルド・スパーニの記録が全体を通して詳しく扱っている。

下の図は、モネロの末尾発行を、ビットコインとほかの10の通貨と並べたものだ。どれも同じ基準にそろえた指数で表している。

ビットコインにとっての意味

モネロのリング署名は、ビットコインのコードではなくCryptoNoteから来ている。フォークと隣接通貨の系譜でも、モネロはビットコインのコードから枝分かれした通貨には入っていない。それでもモネロをビットコインの記録の中で取り上げるのは、ビットコインの構造的特徴で挙げたフェアローンチとシステムの分散を、モネロがビットコインと同じ形で満たしているからだ。事前採掘も財団も会社もなく、供給を握る単一の組織もない。

この共通点の上に立って、モネロは、二つの点でだけ、わざとビットコインと逆の答えを選んだ。台帳は読めるべきか。発行はいつか止まるべきか。前者の違いはすでに試されている。コインを不正に増やせたビットコインの二つのバグは、読める台帳だからこそ見つかった不具合であり、金額を隠すモネロは、そのプライバシーと引き換えに、監査しにくい供給を抱える。後者の違いはまだ試されていない。発行が止まらないので、枚数は数え終わることがない。ビットコインの2,100万枚は設計者が選んだ数だ。モネロの約1,844万枚という天井は、そもそも選ばれていない。64ビット整数の副産物である。しかもモネロは、ここで取り上げたチェーンの中でただ一つ、監査されていない数が何を隠しているか分からないという不信から、別の通貨を離れて生まれたチェーンなのである。

参照元の外部ソース

https://www.getmonero.org/resources/research-lab/pubs/whitepaper_annotated.pdf
モネロ自身のホワイトペーパーはない。モネロが実装しているCryptoNoteの技術文書 (2013年10月改訂版) が、この通貨の設計文書に最も近い。

その他の外部ソース

他11件を表示