CoinJoinとは何か
CoinJoinは複数の支払いをひとつの共通取引にまとめる協調的なビットコイン送金方法で、外部から誰が誰に支払ったかを特定しにくくします。通常のチェーン上の送金であり、複数のウォレットが同時に共同で組み立てるだけです。友人たちが同じ額面の札を一つの封筒に入れ、各自が同じ額をこっそり新しいポケットから取り出す様子を想像してください。
CoinJoinは資金洗浄と同じだ、という誤解があります。これは正しくありません。CoinJoinはウォレット間の調整手法であり、プロセス中に資金があなたの管理外になることはありません。
CoinJoinの仕組み
簡単に説明します。
- 開始: CoinJoinに対応するウォレットを開き、他の参加者とラウンドに参加することを選びます。
- 構築: 参加者は各々の入力を出し、同じサイズの出力を準備します。ウォレットはコーディネーターやピアと通信して下書きを組み立てます。
- 署名: 各参加者は自分の部分だけに署名し、最終的な共同の取引が完成します。
- おつり: 残ったおつりは新しいアドレスに戻されます。混ぜられた出力とは分けて管理してください。
- 確認: 取引がブロードキャストされ、承認されます。より大きな効果を得たい場合は再度ラウンドに参加できます。
以上が基本的な流れです。
CoinJoinが重要な理由
なぜ注目すべきかというと:
- 利点: 給与、貯蓄、贈り物、日常の支払いなどのチェーン上でのプライバシーを高めます。プライバシー
- 視点: チェーン分析は広く行われており、CoinJoinは標準的な署名に基づくユーザー側の対策です。
- 関連性: Bitcoinウォレット、ピア間支払い、公開を避けたいコミュニティの資金運用で見かけることがあります。
混ぜた出力を古いコインと合算しないでください。単独で使うか、新しいラウンドで使い続け、アドレスの再利用は避けてください。簡単な工夫で識別を困難にできます。
CoinJoinの主な特徴
この手法を定義する要素は次の通りです:
- プール化: 多数の入力と同じ見た目の多数の出力が一つの送金に現れ、単純な追跡を混乱させます。
- 署名: 各参加者は自分の鍵を保持し、自分の入力だけに署名します。
- 等額: 出力は同一金額で揃えられることが多く、金額一致による追跡手法を崩します。
- ノンカストディアル: 第三者が資金を預かるわけではなく、調整はメッセージ交換と署名によって行われます。
- おつり管理: おつりの扱いは重要で、雑な処理は元の所有者と結びつける可能性があります。
- 繰り返し: 複数ラウンドを重ねると参加者の母数が増え、匿名性が高まります。
バリエーション
速度、手数料、調整方法にそれぞれの訳があります:
- JoinMarket: メーカーとテイカーのモデルで、メーカーに報酬を支払い、ピアツーピアで動くことが多いです。
- Wasabi WabiSabi: セッション内で金額を隠すためにクレデンシャルを使う可変量ラウンドです。
- Whirlpool: 固定額の単位を使い、複数サイクルで長期的なカバーを目指します。
- PayJoin: BIP 78に基づく直接支払いで、受取人も入力を追加するため、見た目は通常の支払いに見えつつも混ぜる効果があります。
これは匿名化技術であって不可視化ではありません。サービスや規制当局によっては混合出力を精査される可能性があるため、記録を残し地元のルールを確認してください。
例
フリーランスのデザイナーがクライアントからビットコインを受け取り、数十人の参加者と0.1 BTCのラウンドに参加して新しいアドレスに0.1 BTCの出力を得て、後にその出力から機材を購入する、という流れが想定されます。
豆知識
Gregory Maxwellは2013年にこの考えを紹介しました。名前の通り「コインを結合する」ことを指し、ロレックスとRedditのスレッドの雰囲気を数学的基盤で支えたようなイメージです。
まとめ
簡潔に言えば:標準的な署名を使い、仲介者なしで自分の取引を守るための群衆的な支払い手法です。
