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

ピーター・ウィーユ

BIP-32やSegWit、Taproot、libsecp256k1を設計したBitcoin Core開発者

人物

濃紺を基調とした技術図解。左側に年代順の出来事を示す縦のタイムラインがあり、右側には、一つのシードから枝分かれしていく鍵の木、二つに仕切られたブロック、一本の枝だけを金色にした小さな木と曲線が並ぶ。人物は描かれていない。

階層的決定性ウォレット、Segregated Witness、シュノア署名、Taproot。今のビットコインのウォレットの鍵の導き方、トランザクションの展性(取引IDを書き換えられてしまう弱点)を防ぐ仕組み、ブロックに入れられる量を増やした仕組み、Taprootのプライバシーとスクリプトの柔軟さ。この四つを定めた4つのBIPは、どれも ピーター・ウィーユ(GitHubとIRCではsipa)が一人で書いたか、共同で書いたものである。2013年には、ビットコインのためだけに作る楕円曲線のライブラリlibsecp256k1の開発も始めた。このライブラリは、のちにOpenSSLに代わって、Bitcoin Coreの署名の処理を担うことになる。ビットコインの設計の移り変わりを扱ったページで挙げた、v0.1以降に設計を大きく変えた数少ない変更に、この4つはすべて入っている。

ウィーユはベルギーのソフトウェア技術者である。bitcoin/bitcoinへの最初の貢献は2011年3月17日のPR #122で、その6週間後にコミット権限を得た。長くメンテナーを務めた人としては、ギャビン・アンドレセンに次いで2人目である。2014年にBlockstreamを共同設立し、後にChaincode Labsにも参画した。

2011最初の貢献 PR #122(3月17日)GitHub のコミット権限を 得る、アンドレセンに 次ぐ 2人目の メンテナー(5月1日)2012BIP-32 階層的決定性ウォレット (HDウォレット)2013libsecp256k1 開始(3月5日、後にマクスウェルが参加)2014Blockstream 共同創業Bitcoin Core 組み込みSHA-256/SHA-512実装追加 (4月20日)2015BIP-141 SegWit 共著(12月)2016libsecp256k1 が v0.12の 標準の 実装に(1月15日)2020BIP-340 シュノア署名 /BIP-341 Taproot2021Taproot 有効化 (11月)

初期の貢献(2011年)

ウィーユのbitcoin/bitcoinへの最初の貢献は、2011年3月17日のPR #122である。ウォレットの作りを変え、トランザクションの出力ごとに、すでに使われたかどうかを記録できるようにした。これで、一部だけ使われたトランザクションを扱えるようになった。2011年5月1日、ギャビン・アンドレセンが彼にGitHubコミット権限を付与した。こうしてウィーユは、長くメンテナーを務めた人として、アンドレセンに次ぐ2人目になった。ウラジミール・ファン・デル・ラーンはその次である。

Bitcoin Improvement Proposals

ウィーユが一人で書いたか、共同で書いたBIPは4本ある。サトシが去ったあとのビットコインの変化のうち、この4本が扱う範囲は驚くほど広い。

  • BIP-32(2012年)は階層的決定性ウォレット(HDウォレット)。1つのマスターシードから鍵の木全体を導き出す仕組みで、新しい鍵を作るたびにウォレットをバックアップし直す必要をなくした。今のビットコインのウォレットはすべて、この規格を土台にしている。この規格を早い時期に、ウィーユとは別に実装した例として、ヴィタリック・ブテリンのpybitcointoolsライブラリがある。詳細はブテリンの伝記を参照。
  • BIP-141(2015年、エリック・ロンブロゾ、ジョンソン・ラウと共著)はSegregated Witness(SegWit)。トランザクションの展性を直し、Lightningを使えるようにし、1ブロックに入る取引の数を実質的に増やした。
  • BIP-340(2020年)は、secp256k1曲線上のシュノア署名。
  • BIP-341(2020年)はTaproot。2021年11月に有効化された。

2015年から2017年にかけてのブロックサイズ戦争では、ウィーユは、大きなブロックの提案に反対し、SegWitとLightningを推した「Core開発者」の側にいた。この側の中心人物として名前が挙がる三人のうちの一人である。詳しい経緯はブロックサイズ戦争の総覧にまとめられている。

libsecp256k1

2013年3月5日、ウィーユはlibsecp256k1の開発を始めた。初めは、GLV法という、楕円曲線の特別な性質(自己準同型)を使って計算を速める手法で、どこまで速くなるかを試す実験だった。まもなくグレゴリー・マクスウェルが加わり、OpenSSLのsecp256k1の実装を丸ごと置き換えられる、ビットコイン専用のライブラリにまでなった。2016年1月15日、Bitcoin Core v0.12で、署名の処理に標準で使われるようになった。

2013年3月のチェーンの分岐

2013年3月11日、libsecp256k1を始めた6日後に、ネットワークが二つに割れた。バージョン0.8は受け入れ、0.7は受け入れないブロックが現れたのである。開発者のIRCのチャンネルで、ウィーユは、このブロックを処理するには、トランザクションの索引を5,000件以上も読み書きする必要があったことを突き止めた。アンドレセンがハッシュパワーの多数派が勝つと言うと、ウィーユは「これはハードフォークだ。多数派というだけでは足りない」と反対した。開発者たちは、どの版でも受け入れられる、短いほうのチェーンを選んだ。その夜の経過は、2013年3月のチェーン分岐のページで追っている。

BlockstreamとChaincode Labs

ウィーユは2014年、グレゴリー・マクスウェルらとともにBlockstreamを共同創業し、後にChaincode Labsにも参画した。その間もずっと、Bitcoin Coreのレビューを休まず続け、暗号の仕組みの設計にも携わり続けている。

ビットコインの歴史での意味

ウィーユが自分で設計した4本のBIPとlibsecp256k1は、今のビットコインの多くの部分の土台になっている。ウォレットが鍵を導き出す方法も、トランザクションが署名を確かめる方法も、支払いが展性の問題に左右されずに済む仕組みも、Taprootの出力のプライバシーとスクリプトの柔軟さも、その上に成り立っている。サトシが去ったあとに加わった人で、プロトコルにこれほど広く影響を与えた人は、ほとんどいない。

関連エントリー

25件 / 2スレッド

記事

2013年3月のチェーン分岐 — 0.7が受け入れられないブロックを0.8が受け入れ、二つのプールが引き返す

Bitcoin Institute ↔ ギャビン・アンドレセン, ピーター・ウィーユ, ジェフ・ガージック, グレゴリー・マクスウェル, ルーク・ダッシュジュニア, マレク・パラティヌス

2013年3月11日、一つの大きなブロックをきっかけにチェーンが割れた。開発者は全版が受け入れる短いほうのチェーンを選び、二つのプールが版を戻して合流した。

BIP(ビットコイン改善提案)

BIP 9 — タイムアウトと遅延を伴うバージョンビット

ピーター・ウィーユ ↔ ピーター・トッド, グレゴリー・マクスウェル, ラスティ・ラッセル

複数のソフトフォークをブロックのnVersionフィールドを使って並行して有効化できる、最初のバージョンビット式シグナリング方式を規定する。期間中央値の時刻としきい値、固定タイムアウトを用いる。

BIP(ビットコイン改善提案)

BIP 324 — P2P暗号化トランスポートプロトコルバージョン2

ドゥルーヴ・メータ ↔ ティム・ルフィング, ジョナス・シュネリ, ピーター・ウィーユ

v2 P2Pトランスポートを規定。ElligatorSwift符号化ECDHに日和見的ChaCha20Poly1305暗号化を重ね、擬似乱数バイト列を生成しv1へフォールバックする。

分析

Blockstreamはビットコインを支配したのか — ブロックサイズ戦争で最も大きかった「中央集権」の非難

Bitcoin Institute ↔ グレゴリー・マクスウェル, アダム・バック, ピーター・ウィーユ, マイク・ハーン, ロジャー・ヴァー, ジハン・ウー, サトシ・ナカモト

「Blockstreamがビットコインを支配する」という告発の出どころと、その連鎖の各環がどこまで持ちこたえるかを、記録に照らして検証する。

分析

ブロックサイズ戦争(2015〜2017年) — Bitcoin XT、BIP148、ニューヨーク合意、ビットコインキャッシュの分裂

Bitcoin Institute ↔ マイク・ハーン, ギャビン・アンドレセン, ロジャー・ヴァー, ジハン・ウー, アモリー・セシェ, マイク・ベルシェ, グレゴリー・マクスウェル, ピーター・ウィーユ, ウラジミール・ファン・デル・ラーン

2015〜2017年のブロックサイズ戦争を、段階、派閥、転機ごとに読む。Bitcoin XT、BIP148のUASF、ニューヨーク合意、ビットコインキャッシュ、SegWit2xの取りやめ。

記事

ビットコインv0.5、Crypto++への依存をなくし、SHA-256をOpenSSLに置き換える

Bitcoin Institute ↔ ニルス・シュナイダー, ギャビン・アンドレセン, ウェイ・ダイ, ピーター・ウィーユ, サトシ・ナカモト

2011年11月21日のビットコインv0.5で、同梱のCrypto++のうちSHA-256の部分が外され、OpenSSLに置き換えられた。v0.1以来のウェイ・ダイのライブラリへの依存が消えた。

記事

Bitcoin Core v0.12で、ブロックの正しさを確かめる署名の検証が、OpenSSLからlibsecp256k1に代わる

Bitcoin Institute ↔ ピーター・ウィーユ, グレゴリー・マクスウェル, サトシ・ナカモト

2016年1月15日、Bitcoin Core v0.12は、ECDSAの署名の検証に使うライブラリーを、OpenSSLから、ウィーユとマクスウェルが作ったlibsecp256k1に代えた。

記事

ビットコインの開発がGitHubへ移る — 初期にコミットの権限を得た開発者たち(2010–2011)

Bitcoin Project ↔ ギャビン・アンドレセン, クリス・ムーア, ピーター・ウィーユ, ジェフ・ガージック, ウラジミール・ファン・デル・ラーン, ニルス・シュナイダー

ビットコインのSourceForge SVNからGitHubへの移行と、2011年にGitHubリポジトリへのコミットアクセスを付与された開発者の時系列記録。

BIP(ビットコイン改善提案)

BIP 141 — Segregated Witness(コンセンサスレイヤー)

エリック・ロンブロゾ ↔ ジョンソン・ラウ, ピーター・ウィーユ

ビットコイン創設以来最大のアップグレードSegregated Witness(SegWit)を提案。署名データ分離で展性修正・ライトニング実現・ブロック容量拡大を後方互換ソフトフォークで達成。