MIMBLEWIMBLE: ビットコイン取引のプライバシーを向上させる方法

MIMBLEWIMBLE: ビットコイン取引のプライバシーを向上させる方法

MIMBLEWIMBLE (ビットコイン取引のプライバシーを向上させる方法)

(訳者注:ミンブルウィンブルはハリーポッターに出てくる呪いです)

原作者: トム・エルビス・ジェダソル

(訳者注:この名前はハリー・ポッターのヴォルデモートのフランス語名でもあるため、偽名ではないかと推測されています)

2016年7月19日

翻訳者:黄世良

2016年8月19日

導入

ビットコインは、システムの状態を確認するために必要なすべてのデータに誰でもアクセスできる、初めて広く使用されている金融システムです。この偉業は、すべての取引データをブロックチェーンと呼ばれる公開データベースに保存することで達成されますが、実際にシステムの状態を確認したい人は、すべてのデータをダウンロードし、すべての取引を遡る必要があります。同時に、これらのトランザクションのほとんどは最終的な実際の状態に影響を与えません (出力を作成するたびに、以前のトランザクションが破棄されます)。

本稿執筆時点では、ブロックチェーンには約 1 億 5000 万件のトランザクションが含まれていますが、重複して記録されている未使用の出力は 400 万件のみです。

監査人が出力データ自体のみをチェックすれば良いのであれば良いのですが、出力が有効となるのは、それぞれが前の出力に連続している「以前の出力」のチェーンの最後のものである場合のみであるため、これは不可能です。つまり、最終状態を確認する前に、ブロックチェーン全体を完全に検証する必要があります。

さらに、これらのトランザクションは「暗号的にアトミック」であるため、各トランザクションに入力された出力が何であったか、そしてそれらに何が起こったかが明確です。 「トランザクショングラフ」からは多くの情報が漏れており、市場のこうしたトランザクション層を監視・制御することをビジネスモデルとする、トランザクション分析を専門とする企業が数多く存在します。これにより、取引は非常に非個人的なものとなり、ユーザーにとって危険なものになります。

いくつかの解決策が提案されました。グレッグ・マクスウェルは、取引金額を暗号化することで取引を匿名にしつつ、他の人が金額が正しいことを確認できることを発見しました。 [1]マクスウェル博士はまた、ビットコインユーザーが複数の取引を混ぜて関係を難読化できるシステムであるCoinJoinも作成しました。ニコラス・ファン・セイバーハーゲンは、取引入力をマスクし、取引関係をさらに難読化する(コインの混合を必要とせずに)システムを開発しました[3] 。その後、ネーターはこれら2つの方法を組み合わせて「マクスウェルの『秘密取引』とヴァン・セイバーハーゲンの裏取引」を入手した[4]

これらのソリューションは優れており、ビットコインを非常に安全に使用できるようになります。しかし、問題は、これによって大量のデータが悪化してしまうことです。機密トランザクションでは、各出力に対して複数バイトの証明が必要であり、van Saberhagen 署名では各出力を保存する必要があるため、トランザクションがいつ完了したかを判断することは不可能です。

Maxwell 博士の CoinJoin にはすでに、対話が必要であるという問題がありました (翻訳者注: CoinJoin では、機密トランザクションに参加するために、複数のユーザーがコインを混合して参加する必要があります)。ユアン・ホラス・ムートン博士は、トランザクションを自由にマージできるようにすることでこの問題を解決しました[5]が、ペアリングベースの暗号化を使用する必要があり、トランザクションが遅くなる可能性があり、さらに信じにくくなりました。彼はこれを「一方向集約署名」(OWAS) と呼びました。

一方向の集約署名は、ブロック内のトランザクションを混在させるのに適した方法です。ブロック間でトランザクション(およびおそらく接着データ)を混在させることができると想像してください。そうすれば、出力が作成されて破棄されたときに、何も起こらなかったのと同じになります。そして、チェーン全体を検証するために、ユーザーはお金がいつシステムに入るのか(各ブロックのブロック報酬によって生成された新しいコイン、Monero、またはサイドチェーンペグ用のBitcoin [6] )と、それが最終的に未使用の出力になるのかを知るだけでよい。残りは転送されて忘れ去られる可能性があります。次に、機密トランザクションを使用して金額と一方向の集約署名を非表示にし、トランザクション グラフを難読化して、ユーザーがより少ないスペース (現在の Bitcoin ブロックチェーンと比較して) を使用してブロックチェーンを完全に検証できるようにします。もう一度、ペアリングベースのパスワードや新しい推測は必要なく、ビットコインのような単純な古いハッシュ署名だけが必要だと想像してください。これが私の提案です。

ブロックチェーンがユーザーのすべての情報を漏らさないようにするために使用されるため、私はこの発明をMimblewimble [7]と名付けました。

機密トランザクションと一方向集約署名 (OWAS)

最初に行う必要があるのは、Bitcoin スクリプトを削除することです。残念に思えますが、強力すぎるため、ユニバーサル スクリプトを使用してトランザクションを混合することは不可能です。マクスウェル博士の機密トランザクション (いくつかの小さな変更後) は、支出を構築し、相互作用なしでトランザクションを混合するのに十分であることを示します。同じことが一方向集約署名 (OWAS) にも当てはまり、リレーノードがトランザクション手数料を請求したり、受信者がトランザクション手数料を変更したりできるようになります。ビットコインでは無料では実現できないこれらの追加機能を実現できます。

まず、機密取引がどのように機能するかを読者に説明します。まず、次の式を使用して金額をエンコードします。

C = r*G + v*H

このうち、Cはペダーセンコミットメント(訳者注:文脈から翻訳すると、CはECDSAアルゴリズムで暗号化された取引金額)、GとHは楕円曲線暗号機能(ECDSA)とは独立して生成される固定値、vは金額、rは秘密のランダムブラインドキーです。 (訳者注:この式は取引金額を暗号化します。例えば、実際の取引金額が1 BTCの場合 v=1 BTCとなります。C、実際の金額を隠すためにECDSAアルゴリズムによって暗号化された金額です。2つのパラメータGHも、 ECDSAアルゴリズムによって生成された2つの値です。rはパスワードに似ています。G H r一緒に集まった場合にのみ、 Cからv導き出すことができます。)

出力には範囲証明が関連付けられており、v は [0, 2^64] の範囲内にあるため、ユーザーはブルートフォースを使用してこれを解読することはできません。

トランザクションを検証するために、バリデーターはすべての出力を加算し、f*H (f は明示的なトランザクション手数料) を加算し、すべての入力手数料を減算します。結果は 0 である必要があります。これは、トランザクション全体が作成または破棄されなかったことを意味します。

この取引を作成するには、ユーザーはすべての「コミットメントエントリ」を知っている必要があることに注意してください。 (翻訳者注:現時点ではこの単語をどのように翻訳すればよいかは明確ではありません。この記事ではコミットメントという言葉が何度も登場します。以下に原文をそのまま残しておきます。)したがって、r値(およびその合計)が鍵となります。 r 出力の値を受取人だけに知らせることができれば、認証されたシステムが得られます。残念ながら、ルールに従うと、送信者は自分の r 値の合計を知っており、したがって受信者の r 値が負の数になることを知っているため、すべての「コミット」を合計して0 にすることは不可能です。したがって、トランザクションの合計がゼロ以外の値 K * G になることを許可し、金額部分がゼロであることを証明するために、キーとして空の文字列を含む署名を要求します。

トランザクションには必要な数の K*G 値があり、それぞれに署名が付けられ、検証中にそれらの値が合計されます。

取引を作成する場合、取引の支払人と受取人は次のルールに従う必要があります。

  1. 受取人と受取人は取引金額について合意します。これをbといいます。

  2. 受取人は、すべての入力を使用してトランザクションを作成し、出力を変更し、「合計ブラインド係数」 (r の変化から入力 r を引いたもの)をトランザクションとともに受取人に送信します。したがって、「コミットメント」の合計値は r*G – b*H になります。

  3. 受取人は、出力として r 個の値をランダムに選択し、その合計が b から取引手数料を引いた値になり、それらすべてを取引に追加します (値の範囲を含む)。総投資額は k*G – fee*H となり、k を知っているのは受取人のみです。

  4. 受取人は k を使用して署名し、取引に追加し、明確な手数料を支払います。これで取引は完了です。

この方法で作成されたトランザクションは、一方向集約署名 (OWAS) をサポートするようになりました。デモンストレーションのために、余剰のある2 つのトランザクション k1*G と k2*G があり、これらが署名されているとします。その後、2 つのトランザクションの入力と出力を混合することができ、k1*G と k2*G が互いに混合され、再び有効なトランザクションになります。この混合トランザクションの入力値と出力値は、対応する元のトランザクションでは見つかりません。

このため、ビットコインのブロック形式を次のように変更しました。

  1. 新しい通貨(ブロック報酬またはサイドチェーン ペグのビットコイン)の明確な量とその他の必要なデータ。サイドチェーン アンカーにトランザクションが含まれる場合、このトランザクションは特定の k*G 値を送信しますか? (訳者注:これは確かに原文では疑問文であり、著者もその点については確信が持てなかったのかもしれない。)

  2. すべてのトランザクションの入力。

  3. すべてのトランザクションの出力。

  4. すべてのトランザクションにおける k*G 値。

元のトランザクション境界が何であったかは関係ないため、これらはすべて混在します。さらに、リスト 2、3、4 の値はアルファベット順にリストする必要があります。これにより、迅速な確認が可能になり、ブロックの作成者が生のトランザクション情報を漏らすことを防ぐことができます。

出力はトランザクション内の位置ではなくハッシュで識別できるため、簡単に変更できることに注意してください。したがって、混乱を避けるために、未使用の同一の出力が 2 つ同時に処理されることは禁止する必要があります。

クロスブロック混合トランザクション

現在、私たちはマクスウェル博士の Confidential Transactions を使用して、マクスウェル博士のCoinJoin対話型バージョンを作成しましたが、最終的な奇跡はまだ見ていません。 「トランザクションのカットスルー」という別のアイデアが必要だと彼は言いました [8]ここでも非対話型バージョンを作成し、いくつかのブロックを使ってその使い方を示します。

ここで、各ブロックを大きなトランザクションとして想像することができます。これを検証するために、すべての出力コミットメントを全体として取得し、すべての入力コミットメント、K*G 値、およびすべての明示的な入力の発生回数 H を減算します。新しいトランザクションは 2 つのブロックから混合できること、および 1 つのブロック内でトランザクションを混合すると、結果は有効なトランザクションになることが分かりました。さらに、最初のブロックからの出力を 2 番目のブロックに入れるときに、一部の出力コミットメントは入力コミットメントとまったく同じになります。これら 2 つのコミットメントを削除しても、有効なトランザクションが取得されます。実際には、削除された出力の範囲証明を確認する必要はありません。

この考え方をジェネシス ブロックから最新のブロックに拡張すると、明示的でないすべての入力が関連する出力とともに削除されることがわかります。残るのは、未使用の出力、明示的な入力の合計、および各 K*G 値だけです。これらすべてをトランザクションであるかのように扱います。未使用の出力コミットメントをすべて取得し、K*G を減算し、明示的な入力合計を検証し (ここで検証するものがある場合)、そのカウント H を減算します。合計が 0 の場合、ブロックチェーン全体が正しいと見なされます。

これはどういう意味ですか?ユーザーがブロックチェーン全体を起動してダウンロードする場合、各ブロックに次のデータが必要です。

  1. 新しいコイン(ブロック報酬またはサイドチェーン アンカー コイン)の明確な量とその他の必要なデータ。

  2. トランザクションの未使用の出力はすべて、各出力のマークル証明とともに元のブロックに表示されます。

  3. すべてのトランザクションの k*G 値。

ビットコインには現在約 423,000 個のブロックがあり、80 GB のハードドライブ容量を占めており、このデータですべてのトランザクションを検証できます。これらの数字は、1 億 5,000 万件のトランザクションと 500 万件の未使用の非機密出力です。同じトランザクション量が Mimblewinmble チェーン上にある場合、それが占めるスペースを推定します。未使用の出力ごとに、範囲証明と Merkle 証明を保存するために 3Kb のスペースが必要であり、各トランザクションも K*G 値と署名を保存するために 100 バイトかかります。ブロック ヘッダーと明示的な合計金額は無視できます。これらすべてを合計すると 30 GB になります。これには、すべての機密トランザクションと Osmanthus Cake のトランザクション グラフが含まれます。

疑問と直感

ここ数週間、私は問題に関する夢を見て、いつも冷や汗をかいて目が覚めます。

実際、状況は悪くありません。

問題: トランザクションの出力を削除すると、ユーザーは範囲証明を検証できず、金額がマイナスになる可能性があります。

回答:問題ありません。すべての取引を検証した後、すべてのマイナス金額が相殺されることを確認できます。過去に違法なインフレが発生したことがないからこそ、ユーザーは今現在インフレが発生しないことを知りながら、SPVを安心して利用できるのです。

問題: 入力を削除すると、二重支出が発生します。

回答: 実際には、これは、以前に使用されたが未使用の出力があると主張する人がいる可能性があることを意味します。しかし、これは不可能です。そうしないと、混合トランザクションの合計金額がゼロになることはありません。

例外があります。出力の合計量がゼロの場合、2 つの出力が正負で完全に反対になる可能性があり、このデータのペアは再度使用できます。したがって、一貫性の問題を防ぐために、合計出力が 0 のトランザクションは禁止する必要があります。すべての量が少なくとも 1 になるように、各出力に H を追加するだけです。

今後の研究

以下は、この記事の執筆時点では答えられない質問です。

  1. このアプリケーションにはどのようなスクリプト サポートがありますか?スクリプト操作を何らかの形式の離散値情報に変換する必要があります。

  2. ユーザーはすべての k*G 値を確認する必要がありますが、実際、必要なデータはすべて k*G から取得されます。署名を使用する代わりに、混合できる他の離散値証明はありますか?

  3. ユーザーがブロックチェーンをダウンロードするときにサービス拒否オプションがあり、攻撃者は数バイトのデータを与え、偽の未使用出力を提供することができます。ユーザーは、加算の最終結果が 0 ではないことがわかりますが、どこに問題があるのか​​を見つけることはできません。

現在、ユーザーは Torrent から、または他のユーザーが共有したデータからブロックチェーンをダウンロードするだけで済みます。その場合、正しいデータを取得できるはずです。

(翻訳者注:翻訳のdocx版とpdf版はBaidu Netdiskからダウンロードできます:http://pan.baidu.com/s/1o8dEf7G パスワード:7jes)

[[2]] https://bitcointalk.org/index.php?topic=279249.0[[2]]

注釈(↵で本文に戻る)

  1. https://people.xiph.org/~greg/confidential_values.txt↵

  2. https://cryptonote.org/whitepaper.pdf↵

  3. https://eprint.iacr.org/2015/1098.pdf↵

  4. https://download.wpsoftware.net/bitcoin/wizardry/horasyuanmouton-owas.pdf↵

  5. http://blockstream.com/sidechains.pdf↵

  6. http://fr.harrypotter.wikia.com/wiki/Sortilège_de_Langue_de_Plomb↵

  7. https://bitcointalk.org/index.php?topic=281848.0↵


<<:  ビットコインに反対する人がいる理由はいくつかある

>>:  ブロックチェーンの微妙な暴政

推薦する

意見 |今こそFilecoinの計算パワーマイニングマシンを購入する「最も暗い瞬間」です

この記事の内容はシンプルですが重要であり、次のような結論を直接述べています。今はFilecoinマイ...

ネットワーク全体が急落:トルコは暗号通貨を禁止し、コインベースの創設チームは売却した。

Wu Blockchainは、北京時間4月18日の朝に暗号通貨市場が急落したことを知った。 24時...

バビット独占 |中央銀行のデジタル通貨は内部テスト中であり、4つの主要な要求がDC / EPの実装を加速させている。

4月14日の夕方、中央銀行のデジタル通貨DC/EPのウォレットの内部テストの写真がソーシャルプラッ...

フロリダ州政府職員、州所有のコンピューターを使ってデジタル通貨を採掘したとして逮捕

フロリダ州法執行局(FDLE)が発表した声明によると、シトラス局の職員が州所有のコンピューターハード...

日銀副総裁「ビットコインなどのデジタル通貨の普及は規制や課税政策に大きな影響を与える」

日本の中央銀行の高官は月曜日、デジタル通貨と分散型台帳の利用増加は規制と金融政策に影響を及ぼす可能性...

中央銀行デジタル通貨研究レポート

出典:Xiaomi 金融技術研究センター中央銀行デジタル通貨(CBDC)のプロセスが加速しています。...

22歳の仮想通貨億万長者がタイで5,500ビットコイン以上を騙し取られる

22歳の仮想通貨億万長者がタイの投資詐欺で5,500ビットコイン以上を失い、タイの映画俳優もこの詐欺...

BTH(ビットコインホットスポット)はフォークに成功し、取引初日は浮き沈みがあった

12月12日のニュース: 2017年12月12日12時48分、ビットコインのブロックの高さは4988...

ロシアメディア:ビットコインマイニングでどれくらいのお金が稼げるのか? 10分の1は電気代に充てられ、残りの純利益は

中国小康網は2月27日、ラオマー・アマーケットの分析部門責任者アルチョム・デイエフ氏が記者団に対し、...

急落による巨額の損失よりも悲痛なのは、暗号資産が無駄に失われることです。ソーシャルリカバリーウォレットは便利ですか?

少し前、あるブロガーがソーシャルプラットフォームで、友人が突然の病気で亡くなり、「家族に秘密鍵を渡す...

過去2年間、誰もがこのトラックが人気になるだろうと考えていたが、まだ人気が出ていない。

ブロックチェーン投資の概念について言えば、おそらく誰もが一連の理論を思いつくでしょう。 Kラインや契...

ビットメインの5nmチップは来年第1四半期以降、量産化に成功しそうだ

今日、TSMC の 5nm プロセスが Apple、HiSilicon、AMD、Bitmain、Xi...

コインボックスはマレーシアのビットコイン取引市場をリードし、東南アジアへの投資を計画

コインボックスの代表であるロイ氏はメディアのインタビューを受け、同社の発展やビットコインに関する話題...

Uniswap NFT マーケット プロトコルの解明: 単なるアグリゲーター以上のもの

今回、Uniswap はアグリゲーター プラットフォームとスケジューリング プロトコルをリリースした...