Investor's wiki

CoinJoin

CoinJoin

CoinJoinとは何ですか?

CoinJoinは、ビットコインユーザーが相互にトランザクションを実行するときにプライバシーを保護し、トランザクションで使用されるBTCの送信元と宛先を隠す匿名化戦略です。

CoinJoinでは、複数の関係者が共同でデジタルスマート契約に署名して、新しいBitcoinトランザクションでコインを混合する必要があります。この場合、トランザクションの出力では参加者に同じ数のコインが残りますが、アドレスが混合されているため、外部追跡が困難になっています。

このプロセスは、コインミキシングとも呼ばれます。

CoinJoinはどのように機能しますか?

CoinJoinは、他の方法で公開されているBitcoinトランザクションにプライバシーのレイヤーを導入するために開発されました。このフレーズは、ビットコインフォーラムの発表スレッドでビットコイン開発者のグレゴリーマクスウェルによって造られました。

###ビットコインが完全にプライベートではない理由

初期のビットコインは匿名であるという評判があり、シルクロードなどのダークネットサイトでのトランザクションに使用されていましたが、暗号通貨は実際にはほとんどプライバシーを提供しません。ビットコインアドレスにはユーザーの名前とアドレスは表示されませんが、簡単に追跡でき、誰かがあなたのIPアドレスをビットコイントランザクションに関連付けることができる場合があります。

1人のユーザーが特定されると、研究者は一般的なデジタルフォレンジック手法を使用して、ネットワーク内のすべての連絡先を追跡できます。これはBitcoinのバグではなく、「信頼できない」システムの基盤です。ユーザーの不正行為を防ぐために、すべてのトランザクションは公開されています。

他のコインは、ユーザーのプライバシーをコインのコードに組み込むために開発されました。 Monero、 ZCash 、およびDashが顕著な例です。 MoneroのプライバシーテクノロジーはCoinJoinに似ており、リング署名を使用して支出者の署名を他のユーザーの署名と混合し、アドレスの追跡をほぼ不可能にします。

CoinJoinは、ビットコインの第1世代のプライバシー対策です

BitcoinトランザクションにCoinJoinを実装したいユーザーは、コインを混ぜたい別のユーザーを見つける必要があり、一緒に共同トランザクションを開始します。ビットコインの送信元のアドレスは、入力と呼ばれます。

同時に行われる次のトランザクションについて考えてみます。AがBからアイテムを購入し、CがDからアイテムを購入し、EがFからアイテムを購入します。CoinJoinがない場合、パブリックブロックチェーン元帳は、入力と出力の一致ごとに3つの個別のトランザクションを記録します。 。 CoinJoinを使用すると、1つのトランザクションのみが記録されます。元帳は、ビットコインがA、C、およびEアドレスからB、D、およびFに支払われたことを示します。すべての関係者による取引をマスクすることにより、オブザーバーは誰が誰にビットコインを送信したかを完全に確実に判断できません。

##CoinJoinツール

プロセスは理論的には明確に見えますが、実際には、トランザクションへの参加はいくつかの理由で困難です。参加する参加者が匿名のままでいるためには、Torネットワークを介して接続する必要があり、コーディングについてかなりの知識があり、お互いを信頼する必要があります。

これらのハードルを克服するために、CoinJoin開発者は、ほとんどのユーザーがプロセスを自動化するツールの作成を早期に開始しました。 CoinJoinツールでの最初の試みはウォレットに組み込まれました。初期の例は、Dark Wallet、JoinMarket、およびSharedCoinsでした。これらのプラットフォームは、ビットコインで取引するユーザーに追加レベルのデータマスキングを提供することを目的としています。

その後の取り組みには、WasabiWalletとSamouraiWalletのWhirlpoolが含まれます。ただし、これらのウォレットがどれほど信頼でき、安全であるか、ビットコインの保有をどれだけ匿名化できるかについては、いくつかの論争があります。

##ハイライト

-CoinJoinには、トランザクションのすべてのパーティが同じ量のビットコインを出し入れするマルチパーティのビットコイントランザクションが含まれますが、トランザクションでアドレスが混在しているため、コインの出所を追跡するのが困難です。

-CoinJoinは通常、それを実行する専用サービスによって自動的に実行されます。このようなツールを使用せずにCoinJoinを実行することは困難であり、高度なコーディングスキルが必要です。

--CoinJoinは、ビットコイントランザクションをオンラインで匿名化するために使用されるプロセスです。