コンテンツ
導入
機密取引とは何ですか?
関連する暗号化の概要
機密取引では何ができるのでしょうか?
結論
導入
ブロックチェーンの機能にとって、システムが透過的であることが重要であると考えられることがよくあります。これは、ネットワーク上の各ノードがコピーを保存し、ルールに違反していないことを確認できる必要があることを意味します。多くの分散台帳では、誰でもオンライン ブロック エクスプローラーをアップロードして、ブロック、トランザクション、アドレス全体を検索できるようになります。
プライバシーの観点からすると、これは理想的な状況ではありません。ビットコインのようなシステムでは、どのトランザクションもその前のトランザクションにリンクできます。コインは技術的に代替可能ではありません。つまり、特定の取引に関連付けることができます。ビットコインの送信を止めることは誰にもできませんが、それに含まれるコインが以前に「ブラックリストに登録されたアドレス」を経由していた場合、トランザクションは拒否される可能性があります。
最悪のシナリオでは、代替性の欠如がシステムの基盤そのものに重大な影響を与える可能性があります。 「きれいな」コインはその価値を上回るプレミアが付く可能性がありますが、古いコインはその歴史により価値が低くなります。
ビットコインではプライバシーが過大評価されることがよくあります。コインだけでなくユーザーも追跡できます。これらは「仮名性」(名前の代わりに公開アドレスが表示される)を享受していますが、これには欠陥がないわけではありません。高度な分析技術により、ネットワーク上のエンティティの匿名化を解除するためにアドレスを集約し、精度を高めることができます。
トランザクションを真にプライベートにするための更新提案の 1 つは、機密トランザクションです。
機密取引とは何ですか?
機密トランザクション (CT) は、2013 年に Blockstream の CEO、Adam Back によって初めて取り上げられました。そしてその後、ビットコイン開発者のグレゴリー・マクスウェルが分析を拡張することになります。マクスウェルは、前のセクションで述べた問題 (つまり、代替可能性と弱い「仮名性」) を強調し、解決策を提案するでしょう。送信された金額はネットワークの残りの部分から保護され、取引に関係する当事者だけがそのデータを知ることができるようにすることができます。
通常の状況 (トランザクションが公開されている場合) では、ノードが受信した金額が送信した金額を超えていないことを確認するのは簡単です。アリスがボブに 0.3 BTC を送信したい場合、彼女は未使用の出力 (たとえば 1 BTC) を 2 つの部分に分割します。ボブに送信する 0.3 ビットと、自分自身に送信する 0.69 ビットです (不足しているものの差)採掘手数料の控除に相当します)。
他のノードの場合、これは単純な代数です。1 は 0.3 + 0.69 より大きく、署名はすべて正しく、アリスの入力はまだ他の場所で使用されていないため、トランザクションは有効である必要があります。しかし、量が曖昧になると、物事はそれほど簡単ではなくなります。未知の量が他の 2 つの未知の量の合計と等しいかそれを超えるかどうかをどうやって評価できるのでしょうか?
関連する暗号化の概要
データを隠すには暗号化が必要です。ただし、従来の方法は書類を金庫に保管することに似ており、一度鍵を中に閉めてしまうと、金庫を取り出すまで使用できなくなります。機密取引を機能させるために必要なのは、中身は明かさないが、その性質を部外者が確認できるデジタル金庫です。
この質問に対する答えは、準同型暗号化、特に「ペダーセンコミットメント」と呼ばれる方式にあります。このタイプの暗号化により、部外者はさまざまな目的で、暗号化されたデータ (見ることができない) に対して操作を実行できます。
通常のハッシュは、後で公開するデータをコミットするために使用できます。ソーシャル ネットワーク上で、お気に入りの取引所を推測した人に 0.01 BTC の賞金が与えられるコンテストを発表したいと想像してください。参加者は、コンテスト終了後に答えが表示され、言及されていない交換を選択できることに懐疑的になるかもしれません。
あなたができることは、フォロワーにハッシュ、つまり特定のエントリにマッピングされる一見ランダムな数字と文字の文字列を提供することです。特定の結果を取得するには、交換を関数に渡します。 SHA256 アルゴリズムを使って説明します。
f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191これを見ると、何が入力されたのか分かりません。関数を逆にして取得することもできません。ただし、エントリが「Binance」であることがわかっている場合は、ハッシュが上記のものと一致することを簡単に確認できます。こうすることで、まったく異なる結果が生じるため、コンテスト終了時に回答を変更しないことをフォロワーに保証します。
ただし、現実的には、これはあまり安全ではありません。フォロワーはアルゴリズムをリバース エンジニアリングすることはできませんが、潜在的な取引のリストを作成し、一致するものが見つかるまでそれぞれをハッシュすることはできます。ハッシュ化するデータにブラインド要素と呼ばれるランダム データを追加することで、この可能性を減らすことができます。
「Binance は私のお気に入りの取引所です。他の取引所 #43Wrよりも大好きです」と入力すると、対戦相手が推測することははるかに困難になります (0.01 BTC の場合、誰も試そうとする可能性は低いでしょう)。
Pedersen のコミットメントにより、コミットメントの背後に貢献を追加することができます。マクスウェルは次のように説明しています。
C(BF1 + D1) + C(BF2 + D2) = C(BF1 + BF2, D1 + D2)ここで、BF はブラインド係数、D はデータです。
ここからは、楕円曲線暗号化と範囲テストを含むいくつかの手順が必要になりますが、基本的な考え方は、ユーザーは自分のアドレスに対して強いこだわりを持っているということです。資金を送金する場合、追加のコミットメントが 2 つ作成されます (1 つはユーザーに返される変更アドレス用、もう 1 つは宛先アドレス用)。
送信される量は誰も知りませんが、交換と宛先のコミットメント (マクスウェルの方程式の左側) が送信元アドレス (方程式の右側) に加算されることは確認できます。これが正しく評価された場合、入力が出力と等しいことが示されるため、ユーザーのトランザクションは有効です。
機密取引では何ができるのでしょうか?
機密トランザクションがビットコインに実装されれば、私たちはよりプライベートなシステムを享受できるでしょう。入力と出力の両方がより広範なネットワークからマスクされ、台帳内のエントリは難読化されますが、ノードは引き続きその信頼性を検証できます。このプライバシーの大幅な向上により、オンチェーン分析では特定の単位の履歴が明らかにならなくなるため、ビットコインは事実上代替可能になります。
機密トランザクションがプロトコルに統合されるかどうかについては、現時点ではその可能性は低いと思われます。この追加機能により、トランザクションは標準のものよりもはるかに大きくなります。限られたブロック スペースを考慮すると、需要が増加するだけです。また、参加者の過半数がコードを変更することに同意することも必要となるが、これは伝統的に困難であることが証明されている作業である。
結論は
機密トランザクションは、他の暗号通貨やビットコインのサイドチェーンでも何度か繰り返されてきました。たとえば、Monero はリング署名と呼ばれる構造と組み合わせてそれらを使用し、匿名性と代替性を実現します。 Liquid サイドチェーンはプライバシーを強化するためにそれらを実装し、MimbleWimble はそれらを同じエンドポイントに拡張します。
機密トランザクションにはメリットがあるものの、フットプリントが大きくなるというトレードオフが伴います。暗号通貨はベースレイヤーでのスケーラビリティとパフォーマンスに苦戦することが多く、トランザクションサイズが大きいことは誰にとっても魅力的ではありません。そうは言っても、プライバシー擁護派は、取引金額を隠し、参加者が実際に仮想通貨が代替可能なお金として機能することを許可することが不可欠であると考えています。



