狠狠撸

狠狠撸Share a Scribd company logo
Mimblewimble
さらなるスケーラビリティとファンジビリティを目指す
魔法
Takaya Imai
Co-founder and CTO@United Bitcoiners Inc.
CEO@Frontier Partners LLC
暗号通貨読書会/勉強会@株式会社オルトプラス
Jun/6/2017
自己紹介
? 株式会社ユナイテッド?ビットコイナーズ 共同創業者&CTO
? フロンティアパートナーズ合同会社代表CEO
? マスタリングビットコイン、翻訳者代表
? 2016/7/14出版、先日電子書籍版出ました
? オープンエディション版
? https://www.bitcoinbook.info
自己紹介
? バックグラウンド
? 新潟大学大学院 素粒子理論物理 博士(理)
? カカクコム
? 検索エンジン開発 検索サーバクラスタ構築運用 大規模データ処理 機械学
習 画像認識
? データタワー株式会社 代表取締役
? 株式会社ブロックチェーンハブ 技術アドバイザー
経緯
? 2016年8月2日
? <majorplayer> hi, i have an idea for improving
privacy in bitcoin. my friend who knows technology
says this channel would have interest
http://5pdcbgndmprm4wud.onion/mimblewimble.txt
? https://www.reddit.com/r/Bitcoin/comments/4vub3y/mimblewimble_noninteractive_coinjoin_and_better/
惭颈尘产濒别飞颈尘产濒别ホワイトペーパー解説
Mimblewimbleの当初のホワイトペーパーには不満足
な点もあり、2016年8月以降BlockstreamのAndrew
Poelstra氏らによってさらに発展していっている。
現在の進展まで追うことも考えたが、今回は当初のホ
ワイトペーパーに沿った形で説明を試みる。
さらなる進展については別途機会に行う。
http://www.unitedbitcoiners.com/blog/tumblebit
? 全トランザクション数: 1億5000万トランザクショ
ン
? うち、未使用アウトプットは400万个だけ
Mimblewimble概要
? ブロックチェーンサイズの削減
? 匿名性の確保
これまでの関連研究
? Confidential Transaction, Gregory Maxwell, 2013
? https://bitcointalk.org/index.php?topic=305791.0
? https://people.xiph.org/~greg/confidential_values.txt
? CoinJoin, Gregory Maxwell, 2013
? https://bitcointalk.org/index.php?topic=279249.0
? https://bitcointalk.org/index.php?topic=281848.0
? CryptoNote, Nicolas van Saberhagen, 2013
? https://cryptonote.org/whitepaper.pdf
? Ring Confidential Transaction, Shen Noether, 2015
? https://eprint.iacr.org/2015/1098.pdf
? One-way aggregate signatures(OWAS), Yuan Horas Mouton, 2013
? https://download.wpsoftware.net/bitcoin/wizardry/horasyuanmouton-owas.pdf
? https://bitcointalk.org/index.php?topic=290971.0
これまでの研究の問題点
? Confidential Transactionは秘匿性が素晴らしい。しかし、ト
ランザクションサイズが大きくなってしまう。
? CoinJoinは送金先秘匿性は素晴らしい。しかし、送金額はわ
かってしまうし、トランザクション圧縮にユーザ間調整が
必要なため使いづらい
(https://bitcointalk.org/index.php?topic=281848.0)。
? One-way aggregate signature(OWAS)はトランザクション圧
縮が素晴らしい。しかし、遅いし、ペアリングベース暗号
は暗号学的に不満足な点があり信用できない。
Mimblewimbleの提案
? これらの問題点をうまく解決する方法
? ブロックチェーンサイズの削減および増加速度低
減
? 送金受金関係と送金額の秘匿
? トランザクション圧縮の簡易化
Mimblewimbleの提案
? 離散対数問題に基づく公開鍵暗号を使用
? ブロックチェーンにはCoinbase TXとUTXOのみを
保持
? いわゆるscriptがない(Scriptless script)
? excess k*G、kに基づく署名、Range proof、明示的
なTx手数料の追加
大きく3つに分けて順に説明
? トランザクションレベル
? ブロックレベル
? ブロックチェーンレベル
トランザクション
レベル
Confidential Transaction
概要
? 目的の1つ
? 送金額を明示することなく、以下の等式を満たすことを証明する
? 各インプットの金額の総和 = 各アウトプットの総和(おつり含む) + TX手数
料
? 基本アイデア
? Bitcoinでの楕円曲線暗号ベースポイントGを使うと、以下の関係が成り立つ
? a + b = c <-> aG + bG = cG
? この関係を用いると、a, b, cを公開することなくa, b, cの間の関係を証明でき
る。
注: 楕円曲線が持つ位数を法として合同
Confidential Transaction
の変形
? C = r*G + v*H
? C: Pedersen Commitment
? G: Bitcoinでの楕円曲線暗号ベースポイント
? H: Gと同じベースポイント(G <> H), nothing-up-my-sleeve(NUMS)
? H = to_point(SHA256(ENCODE(G))
? v: 送金額
? r: ランダムなblinding secret key
Confidential Transaction
の変形
? トランザクションのやり取りの仕方
1. 送金者と受金者での送金額 b に合意する
2. 送金者はトランザクションを作成し、受金者に送る。このとき
、送金者側commitmentは、 r*G - b*H
3. 受金者はランダムな r’ を選んでcommitment k*G - fee*H と
range proofを作成し、受け取ったトランザクションに追加する
。
4. 受金者は k を使った空文字に対する署名をトランザクションに
追加する。
Confidential Transaction
の変形? 各commitment
? inputs
? (r*G + v_i1*H) + (r*G + v_i2*H)
? r は送金者が選んだランダムな値
? outputs
? (r’*G + v_o*H) + (r’*G + v_c*H)
? r’ は受金者が選んだランダムな値
? Tx fee
? fee*H
? 正常性の確認
? k*Gをあらかじめトランザクションに記載しておく(k は受金者しか知らない)
? inputs - outputs - txfee
? = (r*G + v_i1*H) + (r*G + v_i2*H) - (r’*G + v_o*H) - (r’*G + v_c*H) - fee*H
? = (2r - 2r’)*G
? = k’ *G
? k*G = k’*G ??
Confidential Transaction
の変形
? range proof(OR proof)は、値の範囲証明
? 証明が以下だけだと、お金を消したり増やしたりできてしまう
? 各インプットの金額の総和 = 各アウトプットの総和(おつり
含む) + TX手数料
? 例えば、(10 + 1) - (-9 + 20) = 0
? range proofの説明は割愛。
? 参照: https://eprint.iacr.org/2015/1098.pdf
ブロックレベル
ブロックのシンプル化
? この手順で作ったトランザクションは、複数のトランザクションをミッ
クスできる
? 細かい話をすると、このホワイトペーパーで説明されている方法は単純
にはうまくいかないらしく、BlockstreamのAndrew Poelstra氏が新たな
方法を提案している。
? Scaling bitcoin Milano, プレゼンシート
? https://scalingbitcoin.org/milan2016/presentations/D1%20-
%204%20-%20Andrew%20Poelstra.pdf
? http://diyhpl.us/~bryan/papers2/bitcoin/mimblewimble-andytoshi-
INCOMPLETE-DRAFT-2016-10-06-001.pdf
https://scalingbitcoin.org/milan2016/presentations/D1%20-%204%20-%20Andrew%20Poelstra.pdf
https://scalingbitcoin.org/milan2016/presentations/D1%20-%204%20-%20Andrew%20Poelstra.pdf
https://scalingbitcoin.org/milan2016/presentations/D1%20-%204%20-%20Andrew%20Poelstra.pdf
https://scalingbitcoin.org/milan2016/presentations/D1%20-%204%20-%20Andrew%20Poelstra.pdf
ブロックのシンプル化
? 1つのブロックに巨大な1個のトランザクションが
入るようにする。
? 複数のトランザクションのexcessをミックスして
1個にできる
? 送金受金関係がわからなくなる
ブロックのシンプル化
? ブロックのフォーマット
? 明示的な新規発行コイン額
? 全てのトランザクションのインプット
? 全てのトランザクションのアウトプット
? 全てのトランザクションのexcess k*G、range
proof、signature with k
ブロックチェーン
レベル
カットスルー
? ブロックチェーンに入っている全トランザクション
を全部つなぎ合わせる
? インプットとアウトプットで相殺するものがあるた
め、それが消え去る
https://scalingbitcoin.org/milan2016/presentations/D1%20-%204%20-%20Andrew%20Poelstra.pdf
https://scalingbitcoin.org/milan2016/presentations/D1%20-%204%20-%20Andrew%20Poelstra.pdf
https://scalingbitcoin.org/milan2016/presentations/D1%20-%204%20-%20Andrew%20Poelstra.pdf
https://scalingbitcoin.org/milan2016/presentations/D1%20-%204%20-%20Andrew%20Poelstra.pdf
カットスルー
? ブロックのフォーマット
? 明示的な新規発行コイン額
? 全てのトランザクションの未使用アウトプットと
merkle proof
? 全てのトランザクションのexcess k*G、range
proof、signature with k
Mimblewimbleの
ブロックチェーンサイズ
? Bitcoinのブロック数は423000、サイズは80GB(ホ
ワイトペーパー執筆時点)
? これが30GBになり、サイズ増加速度は遅い
ホワイトペーパーからの進展
? http://diyhpl.us/~bryan/papers2/bitcoin/mimblewimble-andytoshi-INCOMPLETE-DRAFT-2016-10-06-001.pdf
? BlockstreamのAndrew Poelstra氏による論文
? Mimblewimbleのホワイトペーパーに記載されていないコンセンサス部分や各定義の明確化、不満足点の解決
(Sinking Singnature等)を記載
? http://diyhpl.us/wiki/transcripts/mimblewimble-podcast/
? Andrew Poelstra氏、Pieter Wuille氏によるMimblewimbleの解説ポッドキャストの書き起こし
? 元ポッドキャスト
? https://soundcloud.com/heryptohow/mimblewimble-andrew-poelstra-peter-wuille-brian-deery-and-chris-odom
? https://lists.launchpad.net/mimblewimble/msg00086.html
? Mimblewimble上のlightning network
? https://github.com/ignopeverell/grin
日本語でのリファレン
ス
? http://btcnews.jp/mimblewimble-by-andrew-poelstra/
? http://techmedia-
think.hatenablog.com/entry/2015/12/31/002253
Thanks!
UB社はエンジニアを募集してます。

More Related Content

惭颈尘产濒别飞颈尘产濒别ホワイトペーパー解説