さまざまな CoinJoin 実装のナビゲート

By Bitcoin 雑誌 - 1 年前 - 閲覧時間: 12 分

さまざまな CoinJoin 実装のナビゲート

CoinJoin を活用し、コインジョインを目立たなくする最適な方法を見つけるために、ノイズと混乱を切り抜けるにはどうすればよいでしょうか。 bitcoin トランザクション?

これは、プライバシーを重視した雑誌の寄稿者であるティボー・マレシャルによる意見論説です。 Bitcoin ウォレットプロジェクト「Wasabi Wallet」。

「分割統治」は、共通の敵に対して団結するのではなく、人々の意見を異にし、互いに戦わせることで人々のグループを分裂させる、歴戦の軍事戦略です。 人気の「わさび」と「サムライ」 bitcoin 異なる CoinJoin 実装を備えたウォレット間で長年にわたって争いが続いています。 CoinJoin の XNUMX 番目の実装である JoinMarket も、他のプライバシー開発者とのさまざまな議論に参加してきました。

について勉強している bitcoin プライバシーとCoinJoinsは、進行中のドラマにより非常に困難になっています。 誰を信頼すればよいでしょうか? どうすれば自分で確認できるのでしょうか? それはすべて非常に不明確です。 プレコイナー、カジュアルに何をもたらすか bitcoinえー、純粋主義者も同様ですか? 混乱、恐怖、不確実性、疑い (FUD)。 の状態 bitcoin このような絶え間ないドラマが新規ユーザーを怖がらせているため、プライバシーは当惑するものです。 貴重な時間が、開発者、教育者、一般ユーザーによって無駄にされています。彼らはおそらく、ドラマについていくこと以外は何もしたくないでしょう。

ユーザーのプライバシーを最適化し、スペース効率をブロックするために CoinJoins を実装する方法については言うまでもなく、「CoinJoins を正しく行う方法」について誰も同意していないことは明らかです。 Bitcoin 通信網? 異なる実装間のトレードオフは何ですか? 一部の実装には完全な欠陥があるのでしょうか? 何十億人もの人々がCoinJoinに注目する中、CoinJoinsはアーリーアダプターから主流ユーザーまでどのように「キャズムを越える」のか bitcoin 今後数年のうちに?

それでは、基本的な質問をし、将来の記事でさまざまな実装を評価する際に役立つ、ある種のメンタル モデルを構築するためのいくつかの仮定を提起して、CoinJoins を見てみましょう。

すべての CoinJoin が等しくなるわけではない

CoinJoin トランザクションを適切に拡張するには、ブロックスペースの効率を考慮する必要があります。 Bitcoin 世界中でより多くの人に利用されるようになります。 これが最優先事項として議論されることはほとんどありません。 ブロックスペースの不足を無視したCoinJoinの設計は、技術的負債を蓄積しながらブロックチェーンに不必要にスパム送信することになり、将来的にCoinJoinユーザーが増えるにつれて返済するのが困難になります。 ブロックチェーン上のフットプリントを最小限に抑えることは、目指すのが非常に合理的であると思われる目標の XNUMX つです。匿名性の許容レベルに到達するために少数のトランザクションが理想的であるように思えます。

許容可能な匿名性のレベルはどれくらいですか? 匿名性とはどういう意味ですか? bitcoin プライバシー?特定の CoinJoin 設計はブロックスペース不足にどのように対処していますか?

プライバシーを取り戻す

匿名性 bitcoin これは、特定の取引を台帳上の他の取引から際立たせる顕著なまたは異常な特徴がないことを意味します。 もちろん、それは仕様によるものではありません Bitcoin これは、コイン (UTXO、技術用語で Unspent Transaction Output の略) が固有のトランザクション履歴を持つため、デフォルトでは代替不可能な仮名システムです。

CoinJoins は、あるレベルの匿名性を bitcoin トランザクションの入力と出力の間のリンクを切断することで、主に結果として得られる UTXO を互いに区別できなくすることで、ネットワークを構築します。 チェーン分析会社が監視するために使用するヒューリスティックは他にもあります。 bitcoin いくつか例を挙げると、共通の入力所有権、自己支出、ラウンド金額、タイミング分析などのネットワークであり、これらは CoinJoins によって隠蔽される場合もあれば、隠蔽されない場合もあります。

CoinJoins ヘルプ bitcoin彼らはプライバシーを取り戻しますが、それがすべての解決策になるわけではありません。 プライバシーが自分自身に関する情報を共有する選択として理解されている場合、CoinJoins を通じて優れたプライバシーを実現できますが、適切な実装を選択することが不可欠です。

CoinJoins を使用したプライバシーの目標は何ですか? CoinJoin の実装はどのヒューリスティックから保護されますか? 避けたいリスクは何ですか?

参加者の数

既存の CoinJoin 実装には、プライバシーを改善するための非常に異なる方法があります。 各 CoinJoin 実装設計に関係なく、匿名セット (匿名性のレベルの XNUMX つの尺度) は、CoinJoin から得られるプライバシーの量を評価する最も伝統的な方法のようです。 他の記事で説明する他の方法があります。 大規模な CoinJoin トランザクションで高い匿名性セットが達成されるか、複数の小規模な CoinJoin トランザクションで達成されるという前提があります。 この XNUMX つのパラメータはどちらも重要ですが、どちらがより重要なのでしょうか?

ブロックスペースの効率という点では、多数の参加者を持つ XNUMX つの非常に大規模なトランザクションで大規模な匿名性セットを達成することは、少数の参加者を持つ複数の非常に小さなトランザクションよりも優れていると想定されます。

単一の大きな CoinJoin と複数の小さな CoinJoin のどちらがプライバシーに優れていますか?それを真実かつ厳密に検証するにはどうすればよいでしょうか? CoinJoin にとって小さすぎるとはどのくらいですか? CoinJoin からどの程度のプライバシーが得られるかを評価するための適切な指標は何ですか? プライバシーを取り戻すために CoinJoin のサイズと数に関して最も効率的なブロックスペースは何ですか? CoinJoins を使用し始める人が増えるにつれて、時間の経過とともにコインが複数の CoinJoin に参加することを期待するのは現実的ですか? CoinJoin ラウンドは何回で十分ですか、それとも多すぎますか?

簡単に言うと、CoinJoins を使用すると、 bitcoinもっともらしい否認を与えることでプライバシーを取り戻すことができます。 もっともらしさは確率の尺度です。 あなたがそうなる可能性はどのくらいありますか bitcoinは使用されましたか、それともまだ管理している別のアドレスに移動されただけですか? XNUMX つの入力が特定の出力にリンクされる可能性はどのくらいですか?

明らかに、多くの選択肢にわたる確率が小さければ小さいほど、ホドラーとして得られる否定の可能性は高くなります。 間違いが起こりやすいため、もっともらしい否定を維持するのは困難です。 変更出力は多くの場合問題になります bitcoinプライバシーを重視し、しばしば論争の的となる議論や批判の源となる人たちです。 なぜ CoinJoins では変更出力がこれほど物議を醸すトピックなのでしょうか?

出力の変更

すべては決定的リンクに関するものです。 もし bitcoin トランザクションにはさまざまなプライバシーがあり、一方の端では、絶対的な否定可能性を備えたトランザクションになります。これは、入力と出力の間のリンクを知る可能性が 0% であることを意味します。 これは、CoinJoin のランダム性またはエントロピーとも呼ばれます。 ランダム性が高いほど、またはエントロピーが高いほど良いという仮定があります。 もう一方の端は、唯一の入力と単一の出力の間に 100% の決定的なリンクを持つトランザクションになります。

直感的にはわかりませんが、エントロピーが高いからといって、トランザクションが優れたプライバシーを提供するとは限りません。 100 つの入力と 33.33 つの出力が等しい量のトランザクションは、技術的には XNUMX% のエントロピーを持ちます。つまり、各出力を互いに区別する方法はありません。 それでも、各入力が特定の出力にリンクされている可能性は XNUMX% あります。 高いエントロピーは、必ずしも妥当な否定可能性を意味するわけではありません。

ほとんどの場合、変更は以前のトランザクションと非常に高い決定論的リンクを持っています。 言い換えれば、変更出力が、それを消費した前のトランザクションに関連付けられていないことはほとんど疑いの余地がありません。 特定の変更出力が、CoinJoins に続く他の匿名入力と共同で使用される場合、これはかなりのプライバシーの問題になる可能性があります (ただし、特定のケースでは例外が適用される場合があります)。 これは通常 UTXO 統合と呼ばれ、単純に行うとプライバシーにとって致命的となる可能性があります。

変更出力は、一緒に使用された場合、CoinJoins からある程度の妥当な否定可能性を得た出力を匿名化することができます。 エラーはよくあることですが、 bitcoin場合によっては、気づくのが遅すぎて、何年にもわたる熱心なプライバシー強化が XNUMX 回の支出で台無しになってしまうことがあります。 この変更出力の問題を解決するにはどうすればよいでしょうか?

既存の CoinJoin 実装には、変更出力を処理する XNUMX つの方法があります。CoinJoining ではない別のウォレットに変更を分離するか、CoinJoining である同じウォレットに変更出力を含めるか、変更出力をまったく持たないようにして変更出力を取り除きます。 後者は、プライバシーとブロックスペースの効率の点で最も望ましいようですが、この仮定を検証または拒否するには、さらに掘り下げる必要があります.

CoinJoin がプライバシーに適していると認定するには、エントロピー スコアが高いだけで十分ですか?変更出力を別のウォレットに分離した方が良いですか、それとも完全に削除する必要がありますか?変更出力は常にプライバシーに悪影響を及ぼしますか?

硬貨の種類

CoinJoin で小銭出力を削除するには、CoinJoin でコインの額面が可変である必要があります。 言い換えれば、特定の CoinJoin に登録された入力は、0.1 BTC などの固定サイズを持つことはできません。wise ほとんどの UTXO には概数 (つまり、0.19572394 BTC、0.09572394 BTC は 0.1 BTC の固定コイン単位 CoinJoin での小銭になります) がないため、釣銭出力を作成せずに入力を消費することは不可能 (または少なくとも非常に困難) になります。

変更出力はプライバシーにとって危険な場合があります。覚えていますか? CoinJoin で入力と出力に複数のサイズを使用することは、入力と出力の間の決定論的なリンクに近づくため、悪い考えのように思えますよね? はい、いいえ。 場合によります。 CoinJoin の参加者の数が少ない場合 (入力と出力が少ないことを意味します)、異なる金種を使用することはお勧めできません。 しかし、特定の CoinJoin に多数の入力と出力が含まれている場合はどうなるでしょうか?

大規模な CoinJoin では、複数の金種が、変更出力を作成したり追加のトランザクションを必要としたりすることなく、結果として得られる各出力に高レベルの妥当な否認をもたらすことができます。これは、ブロックスペースの非常に効率的な使用です。 この時点で、多くのボックスにチェックを入れることができたようです。

CoinJoin でコインの額面を固定した方が良いですか?CoinJoin の額面を変動させるには、CoinJoin はどのくらいの大きさにすべきですか?CoinJoin で小銭の出力を取り除くには、コインの額面を変動させるのが最善の方法ですか?

言うまでもなく、CoinJoin ラウンドの相互接続性は、コインの金種が異なるかどうか、または CoinJoin が大小のトランザクションであるかどうかに関係なく、いかなる状況でも許容されるべきではありませんよね? さて、ここでも、理解すべき重要なニュアンスがあります。

Coinjoin ラウンドの相互接続性

過去に共有された CoinJoins からの入力を新しい CoinJoins に登録することは、すべての場合において不適切であると主張されています。 相互に共有された過去の CoinJoins からの参加者は、他の CoinJoins で一緒に混合することから利益を得ないようです。 プライバシーを侵害するように思われ、しばしば批判されます。

CoinJoin が大きく、いくつかの登録された入力が他の複数の CoinJoin から来ており、それぞれが他の複数の CoinJoin の下流にもある場合はどうなりますか? このような場合、一緒にリミックスする参加者は、共有された過去の CoinJoin から来ているにもかかわらず、依然としてプライバシーを改善しています。 各 CoinJoin が十分に大きい場合、参加者は複数回リミックスする必要はありませんが、匿名性セットをさらに増やしたい場合はリミックスできます。

多くの大規模な絡み合った CoinJoin が関係している場合、結果として得られる匿名性セットは、過去の CoinJoins を資金源として共有しているにもかかわらず、多くのもっともらしい否認を提供するはずです。

過去の CoinJoin を相互に共有する CoinJoin ラウンドの相互接続性は、それ自体で悪いことですか? 他の過去の入力とリミックスしても安全とみなされるには、CoinJoin はどのくらいの大きさでなければなりませんか?

パーソナルフルノード

自分で実行する必要がありますか bitcoin CoinJoins に参加するときはフルノードですか? 表面的には、それは素晴らしいアイデアのように見えますが、通常はその通りです。 CoinJoin の実装によってはそれが許可されているものもありますが、完全にそれを要求しているものもあります。 他のものでは、独自の完全なノードの使用さえ許可されません。 それは絶対に非難することですか? ここまで読んだ方なら、その答えは微妙であり、後で調査するための深いウサギの穴を開くことになることがわかるはずです。

独自の完全なノードを実行すると、使いやすさのトレードオフが発生し、すべてのユーザーがそうしないと、プライバシー保護があまり追加されない可能性があります. 独自のノードを実行すると、CoinJoin 参加者がほとんど実行しない場合、セキュリティとプライバシーの誤った感覚を与える可能性があり、これは非常に有害な場合があります。 Tor が CoinJoin への匿名の方法として使用されている場合 (ここではそのままにしておきます)、信頼できるフル ノードを使用して CoinJoin トランザクションをブロードキャストすることは、デフォルトで問題ありません。 多くのニュアンス、そしてもちろん、信頼せずに確認してください。

プライバシー美徳シグナリングの罠に陥らないようにするために、いくつかの重要な質問があります。

CoinJoin の実装では完全なノードの実行が許可されていますか、デフォルトで必要ですか、それとも許可しませんか? 個人のフルノードが必須ではない場合、どのようなプライバシーシールドが設けられていますか? つまり、Tor、ブロックフィルターなど…私が独自のフルノードを実行しているが、ほとんどのユーザーがデフォルトの信頼されたノードを使用して CoinJoin を行うことが予想される場合、それは私のプライバシーにどのような影響を与えるでしょうか? コーディネーターは私の匿名化を解除できますか?

プライバシーに関する懸念がある場合、何を誰から保護しようとしているのかを理解することが常に重要です。 フルノードを実行し、それを自分のウォレットで使用するのが正しい使用方法です bitcoin 誰も信頼せずにウォレットの残高を確認し、トランザクションをネットワークにブロードキャストできるためです。 しかし、CoinJoins に関しては、通常、担当のコーディネーターが存在します。 コーディネーターは何をする人ですか?また、どのように選ばれるのでしょうか? 読む。

コーディネーター

CoinJoin コーディネーターは、すべての参加者に入力と出力を登録させ、共同トランザクションをブロードキャストする前に署名させる責任を負います。 ほとんどの CoinJoin 実装は、デフォルトで中央コーディネーターを使用しますが、これが単一障害点となります。 これまで、これはほとんどの分野で受け入れられてきたトレードオフです。 bitcoin コミュニティ。 中央の CoinJoin コーディネーターが失敗することはありますか? 絶対に。 他の実装では、誰でもさまざまな CoinJoin のコーディネーターになることができますが、ここには他の一連のトレードオフがあり、これについては後で説明します。

コインジョインは保管されていないため、コーディネーターが失敗した場合でも資金の損失は発生しません。 コーディネーターは、誰もが公に知っていること以上のことを知ってはなりません。 bitcoin 通信網。 なぜ? コーディネーターが公開されている以上のことを知っている場合、CoinJoin コーディネーターは、悪用される可能性のある非常に機密データを含むハニーポットになります。 bitcoinサービスを信頼している人。

CoinJoin コーディネーターを決して信用してはなりません。 CoinJoin コーディネーターが悪であることができない場合は、善です。 それが悪である可能性がある場合、それは最終的には、エラー、省略、強制、または完全な不誠実から発生します。

機密ユーザー データの例としては、XPUB が挙げられます。XPUB は、過去、現在、未来を含む、ウォレットとそのアドレスに関するすべての情報を漏洩することは間違いありません。 bitcoin 取引。 別の例としては、独自のフル ノードを実行しているユーザーと、CoinJoins をブロードキャストするコーディネーターのフル ノードを信頼しているユーザーの比率が挙げられます。これは、独自のノードを実行しているユーザーの匿名化が解除され、入力と出力の間のリンクを決定的に知ることができるためです。 これもまた微妙なトピックであり、さらなる調査と議論が必要となるでしょう。

コーディネーターは、サイトで公開されている以上のことを知っていますか? bitcoin 通信網? ユーザーは、XPUB や独自のフルノードを実行しているかどうかなど、機密データをコーディネーターに漏洩しますか? コーディネーターは、ユーザーが法的防御メカニズムを使用してユーザーを信頼する必要があると主張しますか? (つまり、カナリア令状、規制上の裁定取引など)

費用

要するに、CoinJoins では誰が何に対して支払うのでしょうか? これら bitcoin 取引は高額になる可能性があり、料金体系が不明確な場合もあります bitcoinえーっ。 優れたプライバシーを得るためにどれくらいのコストがかかるのか、あるいはそこからプライバシーが得られるのかどうかを知るのは困難です。 一部の CoinJoin 実装では、単一の入力が、独自の匿名性セットを増やすために無料でのみ参加する他の入力からプライバシーを購入することができます。 CoinJoinで支払いを受けていますか? 忍耐強く、はい。

一部のモデルは、一部の UTXO のみが料金を支払い、他の UTXO は料金を支払わない共有料金に依存しています。 他のモデルは、十分に高い匿名性レベルを持たない入力をリミックスするために、既存の CoinJoins に資金を提供するために、ますます多くの新しい明確な入力 (まだ混合されていない) を招待することに依存しています。 一部のモデルは長期的に持続可能ではないように見えますが、他のモデルはナイーブであるか、ほとんどのユーザーにとって高すぎます。

そして、私たちはどのような料金について話しているのでしょうか? 通常、CoinJoins に参加する入力は、コーディネーター料金またはテイカー料金 (ある程度の匿名性を取得するためのサービス料金) と、 bitcoin ネットワーク料金。 特定の CoinJoin モデルでは、特定の状況においてこれらの手数料が免除されます。 CoinJoins の経済学は深いウサギの穴であり、より深く理解するにはさらなる調査が必要です。

CoinJoin では誰が何に対して支払いますか? すべての料金はいくらですか? CoinJoin コーディネーターのインセンティブは何ですか? CoinJoin ラウンドはすべて有料ですか、それとも無料のリミックスはありますか?

ここまで読んできて、期待できるのは、 bitcoinCoinJoins を探し回っている人は、必ずしもすべての答えを持っているわけではありませんが、尋ねるべき適切な質問を持っています。 さまざまな CoinJoin 実装を評価するためのメンタル モデルまたはフレームワークは、CoinJoin を使用してプライバシーを取り戻すことを検討している人にとって非常に役立ちます。 bitcoin。 ソーシャルメディアのノイズを選別するには、知的誠実さと、厳密に適用された適切な評価システムが必要です。

これはティボー・マレシャルによるゲスト投稿です。 表明された意見は完全に独自のものであり、BTC Inc または BTC の意見を必ずしも反映するものではありません。 Bitcoin アフリカ⇔日本 情報雑誌発行

元のソース: Bitcoin アフリカ⇔日本 情報雑誌発行