Blockchain & Crypto Currencies

HackTricksのサポート

基本的な概念

  • スマートコントラクトは、特定の条件が満たされたときにブロックチェーン上で実行されるプログラムであり、仲介者なしで合意の実行を自動化します。

  • **分散型アプリケーション(dApps)**は、スマートコントラクトに基づき、ユーザーフレンドリーなフロントエンドと透明で監査可能なバックエンドを備えています。

  • トークン&コインは、コインがデジタル通貨として機能するのに対し、トークンは特定の文脈での価値や所有権を表します。

  • ユーティリティトークンはサービスへのアクセスを提供し、セキュリティトークンは資産の所有権を示します。

  • DeFiは分散型金融を意味し、中央機関なしで金融サービスを提供します。

  • DEXDAOはそれぞれ分散型取引所プラットフォームと分散型自治組織を指します。

コンセンサスメカニズム

コンセンサスメカニズムは、ブロックチェーン上での安全で合意されたトランザクション検証を確保します:

  • **Proof of Work(PoW)**は、トランザクションの検証に計算能力を依存します。

  • **Proof of Stake(PoS)**は、検証者が一定量のトークンを保持することを要求し、PoWに比べてエネルギー消費を削減します。

Bitcoinの基本

トランザクション

Bitcoinのトランザクションはアドレス間で資金を移動することを含みます。トランザクションはデジタル署名を介して検証され、プライベートキーの所有者のみが送金を開始できるようにします。

主要な構成要素:

  • マルチシグネチャトランザクションは、トランザクションを承認するために複数の署名が必要です。

  • トランザクションにはinputs(資金の出所)、outputs(送信先)、fees(マイナーへの支払い)、およびscripts(トランザクションルール)が含まれます。

Lightning Network

Bitcoinのスケーラビリティを向上させることを目的とし、チャネル内で複数のトランザクションを許可し、最終状態のみをブロックチェーンにブロードキャストします。

Bitcoinのプライバシー懸念

共通の入力所有権UTXOの変更アドレスの検出などのプライバシー攻撃は、トランザクションパターンを悪用します。ミキサーCoinJoinなどの戦略は、ユーザー間のトランザクションリンクを不明瞭にすることで匿名性を向上させます。

匿名でBitcoinを取得する方法

現金取引、マイニング、およびミキサーの使用などの方法があります。CoinJoinは複数のトランザクションを混合して追跡を複雑にし、PayJoinはプライバシーを高めるためにCoinJoinを通常のトランザクションに偽装します。

2 btc --> 4 btc
3 btc     1 btc

強制アドレス再利用

攻撃者は、以前に使用されたアドレスに少額を送金し、受信者が将来の取引でこれらを他の入力と組み合わせることを期待し、アドレスをリンクさせることができます。

正しいウォレットの動作

このプライバシーリークを防ぐために、ウォレットは既に使用された空のアドレスに受け取ったコインを使用しないようにする必要があります。

その他のブロックチェーン分析技術

  • 正確な支払額: おつりのない取引は、同じユーザーが所有する2つのアドレス間で行われた可能性が高いです。

  • 丸められた数値: 取引内の丸められた数値は支払いを示し、丸められていない出力はおつりである可能性が高いです。

  • ウォレットのフィンガープリント: 異なるウォレットには固有の取引作成パターンがあり、アナリストは使用されたソフトウェアやおつりのアドレスを特定することができます。

  • 金額とタイミングの相関: 取引時刻や金額を開示することで、取引を追跡できるようになります。

トラフィック分析

ネットワークトラフィックを監視することで、攻撃者は取引やブロックをIPアドレスにリンクさせる可能性があり、ユーザーのプライバシーが危険にさらされます。特に、エンティティが多くのBitcoinノードを運営している場合、取引を監視する能力が向上します。

その他

プライバシー攻撃と防御の包括的なリストについては、Bitcoin WikiのBitcoin Privacyを参照してください。

2 btc --> 3 btc
5 btc     4 btc

暗号通貨におけるプライバシーのベストプラクティス

ウォレット同期技術

プライバシーとセキュリティを維持するために、ブロックチェーンとウォレットを同期させることが重要です。2つの主要な方法があります:

  • フルノード:ブロックチェーン全体をダウンロードすることで、フルノードは最大限のプライバシーを確保します。これにより、過去に行われたすべての取引がローカルに保存され、敵対者がユーザーが関心を持っている取引やアドレスを特定することが不可能になります。

  • クライアントサイドのブロックフィルタリング:この方法では、ブロックチェーン内のすべてのブロックにフィルターを作成し、ウォレットが特定の取引を特定することなくネットワークの観察者に特定の関心を露呈することなく取引を特定できるようにします。軽量ウォレットはこれらのフィルターをダウンロードし、ユーザーのアドレスと一致する場合にのみ完全なブロックを取得します。

匿名性のためのTorの利用

Bitcoinはピアツーピアネットワーク上で動作しているため、ネットワークとやり取りする際にIPアドレスをマスクするためにTorを使用することが推奨されます。

アドレス再利用の防止

プライバシーを保護するために、取引ごとに新しいアドレスを使用することが重要です。アドレスの再利用は、取引を同じエンティティにリンクさせることでプライバシーを危険にさらす可能性があります。現代のウォレットは、デザインを通じてアドレスの再利用を des discourager しています。

取引プライバシーの戦略

  • 複数の取引:支払いを複数の取引に分割することで、取引金額を不明瞭にし、プライバシー攻撃を阻止できます。

  • おつりの回避:おつりが不要な取引を選択することで、おつりの検出方法を妨害してプライバシーを向上させます。

  • 複数のおつり出力:おつりを回避することができない場合、複数のおつり出力を生成することでもプライバシーを向上させることができます。

Last updated