hacktricks/blockchain/blockchain-and-crypto-currencies/README.md

270 lines
30 KiB
Markdown
Raw Normal View History

2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください**。
2022-04-28 16:01:33 +00:00
</details>
2022-05-01 16:32:23 +00:00
2023-07-07 23:42:27 +00:00
# 基本用語
2023-07-07 23:42:27 +00:00
* **スマートコントラクト**: スマートコントラクトは、あらかじめ決められた条件が満たされたときに実行される**ブロックチェーン上に格納されたプログラム**です。通常、すべての参加者が中間業者の関与や時間のロスなしに結果を即座に確認できるように、**契約の実行を自動化**するために使用されます([ここから](https://www.ibm.com/topics/smart-contracts))。
* 基本的に、スマートコントラクトは、契約にアクセスして受け入れるときに実行される**コードの一部**です。スマートコントラクトは**ブロックチェーン上で実行**されます(その結果は不変に保存されます)し、人々は受け入れる前にそれを読むことができます。
* **dApps**: **分散型アプリケーション**は、**スマートコントラクト**の上に実装されます。通常、ユーザーがアプリと対話できるフロントエンドがあり、バックエンドは公開されています監査が可能し、スマートコントラクトとして実装されています。場合によっては、データベースの使用が必要ですが、Ethereumブロックチェーンは各アカウントに一定のストレージを割り当てます。
* **トークンとコイン**: **コイン**は暗号通貨であり、**デジタルなお金**として機能し、**トークン**はある**価値を表す**ものですが、コインではありません。
* **ユーティリティトークン**: これらのトークンは、**後で特定のサービスにアクセス**するために使用できるものです(特定の環境で価値を持つものです)。
* **セキュリティトークン**: これらは**所有権**またはある資産を表します。
* **DeFi**: **分散型金融**
* **DEX: 分散型取引所プラットフォーム**。
* **DAO**: **分散型自治組織**
2023-07-07 23:42:27 +00:00
# コンセンサスメカニズム
2023-07-07 23:42:27 +00:00
ブロックチェーンのトランザクションが認識されるためには、**ブロックチェーンに追加**される必要があります。バリデータ(マイナー)がこれを行い、多くのプロトコルではそのために**報酬を受け取ります**。ブロックチェーンが安全であるためには、悪意のあるユーザーやグループがバリデーションの大部分を占めることを防ぐメカニズムが必要です。
2023-07-07 23:42:27 +00:00
Proof of workPoWは、計算能力の検証を使用してトランザクションを検証し、潜在的な攻撃者がバリデータネットワークの計算能力の大部分を取得する必要があります。
2023-07-07 23:42:27 +00:00
## Proof Of WorkPoW
2023-07-07 23:42:27 +00:00
これは、トランザクションを検証するために**計算能力の検証**を使用し、潜在的な攻撃者がバリデータネットワークの計算能力の大部分を取得する必要があります。\
**マイナー**はいくつかのトランザクションを**選択**し、それから**Proof Of Workを計算**し始めます。**計算リソースが最も多いマイナー**がProof of Workを**早く終了**し、すべてのトランザクションの手数料を得る可能性が高くなります。
2023-07-07 23:42:27 +00:00
## Proof Of StakePoS
2023-07-07 23:42:27 +00:00
PoSは、バリデータが一定量のブロックチェーントークンを持っていることを要求することでこれを実現し、攻撃者が攻撃を行うためにはブロックチェーン上のトークンの大部分を取得する必要があります。\
この種のコンセンサスでは、マイナーが持つトークンの量が多いほど、次のブロックを作成するように求められる可能性が高くなります。\
PoWと比較して、これによりマイナーが消費するエネルギーが大幅に**削減**されます。
2022-05-01 16:32:23 +00:00
# Bitcoin
2023-07-07 23:42:27 +00:00
## トランザクション
2023-07-07 23:42:27 +00:00
単純な**トランザクション**は、アドレスから別のアドレスへの**お金の移動**です。\
ビットコインの**アドレス**は**公開鍵のハッシュ**であり、したがって、トランザクションを行うためには、その公開鍵(アドレス)に関連付けられた秘密鍵を知っている必要があります。\
その後、トランザクションが実行されると、そのアドレスの秘密鍵で**署名**され、トランザクションが**正当**であることを示します。
2023-07-07 23:42:27 +00:00
ビットコインでデジタル署名を生成するための最初の部分は、数学的に次のように表すことができます:\
_**Sig**_ = _**Fsig**_(_**Fhash**_(_**m**_),_**dA**_)
2023-07-07 23:42:27 +00:00
ここで:
2023-07-07 23:42:27 +00:00
* _d_Aは署名の**秘密鍵**です
* _m_は**トランザクション**です
* Fhashはハッシュ関数です
* Fsigは署名アルゴリズムです
* Sigは生成された署名です
2023-07-07 23:42:27 +00:00
署名関数Fsigは、RとSの2つの値からなる署名Sigを生成します
* Sig = (R, S)
2023-07-07 23:42:27 +00:00
RとSが計算されたら、それらはバイトストリームにシリアル化され、国際標準のエンコーディングスキームでエンコードされます。これはDistinguished Encoding RulesDERとして知られています。署名が有効であることを
### マルチシグトランザクション
2023-07-07 23:42:27 +00:00
マルチシグアドレスは、1つ以上のECDSAプライベートキーに関連付けられたアドレスです。最も単純なタイプは、m-of-nアドレスです。これは、n個のプライベートキーに関連付けられており、このアドレスからビットコインを送信するには、少なくともm個のキーの署名が必要です。マルチシグトランザクションは、マルチシグアドレスから資金を送信するトランザクションのことです。
2023-07-07 23:42:27 +00:00
### トランザクションのフィールド
2023-07-07 23:42:27 +00:00
各ビットコインのトランザクションには、いくつかのフィールドがあります:
2023-07-07 23:42:27 +00:00
- **Inputs**: ビットコインが送信される金額とアドレス
- **Outputs**: 各アウトプットに転送されるアドレスと金額
- **Fee**: トランザクションのマイナーに支払われる金額
- **Script_sig**: トランザクションのスクリプト署名
- **Script_type**: トランザクションのタイプ
2023-07-07 23:42:27 +00:00
トランザクションには、次の2つの主要なタイプがあります
2023-07-07 23:42:27 +00:00
- **P2PKH: "Pay To Public Key Hash"**: これがトランザクションが行われる方法です。送信者には有効な署名(プライベートキーから)と公開鍵を提供することが要求されます。トランザクションのアウトプットスクリプトは、署名と公開鍵を使用し、いくつかの暗号関数を介して公開鍵ハッシュと一致するかどうかをチェックします。一致する場合、資金は使用可能になります。この方法では、公開鍵をハッシュの形で隠すことで、追加のセキュリティが提供されます。
- **P2SH: "Pay To Script Hash"**: トランザクションのアウトプットは、特定のパラメータで実行されるスクリプト(この場合、お金を送りたい人がスクリプトを送信する)です。マイナーが提供されたパラメータでアウトプットスクリプトを実行し、`true` になる場合、お金は指定したアウトプットに送信されます。 `P2SH` は、マルチシグウォレットに使用され、トランザクションを受け入れる前に複数の署名をチェックするロジックをアウトプットスクリプトとして作成します。 `P2SH` は、誰でも、または誰でもなく、資金を使えるようにするためにも使用できます。 P2SHトランザクションのアウトプットスクリプトが単に `1` である場合、パラメータを提供せずにアウトプットを使おうとすると、結果は `1` になり、誰でもがお金を使えるようになります。これは、出力が `0` を返すスクリプトにも適用され、誰もがお金を使えなくなります。
2023-07-07 23:42:27 +00:00
## ライトニングネットワーク
2023-07-07 23:42:27 +00:00
このプロトコルは、チャネルへの複数のトランザクションを実行し、最終的な状態をブロックチェーンに保存するだけで送信することを支援します。これにより、ビットコインブロックチェーンのスピードが向上します1秒あたりの支払いは7回までし、チャネルはビットコインブロックチェーンのードを介して作成されるため、トレースが困難なトランザクションを作成することができます。
2022-04-06 16:21:07 +00:00
![](<../../.gitbook/assets/image (611).png>)
2023-07-07 23:42:27 +00:00
ライトニングネットワークの通常の使用方法は、関連するベースブロックチェーンレイヤー1に資金トランザクションをコミットすることによる支払いチャネルの開設、ブロックチェーンにブロードキャストせずにチャネルの資金の仮分配を更新する任意の数のライトニングネットワークトランザクションの作成、オプションで、決済トランザクションの最終バージョンをブロードキャストして支払いチャネルを閉じることです。
2023-07-07 23:42:27 +00:00
チャネルの両メンバーはいつでも停止し、チャネルの最終状態をブロックチェーンに送信することができることに注意してください。
2023-07-07 23:42:27 +00:00
# ビットコインのプライバシー攻撃
2023-07-07 23:42:27 +00:00
## 共通のインプット
2023-07-07 23:42:27 +00:00
理論的には、1つのトランザクションのインプットは異なるユーザーに属する可能性がありますが、実際にはそれは珍しいことです追加の手順が必要です。したがって、同じトランザクション内の2つのインプットアドレスは、通常、同じ所有者に属していると推定できます。
2023-07-07 23:42:27 +00:00
## UTXOの変更アドレスの検出
2023-07-07 23:42:27 +00:00
**UTXO**は**未使用のトランザクションアウトプット**UTXOの略です。前のトランザクションのアウトプットを入力として使用するトランザクションでは、**アウトプット全体を使い切る必要があります**(二重支払い攻撃を防ぐため)。したがって、そのアウトプットからお金の一部をアドレスに送信し、残りのお金を**別の新しいランダムな変更アドレス**に保存する場合、**2つの異なるアウトプット**が表示されます:意図したアウトプットと残りのお金が保存されるランダムな新しい変更アドレス。
2023-07-07 23:42:27 +00:00
そのため、ウォッチャーは、**生成された新しい変更アドレスがUTXOの所有者に属していると推定**することができます。
2023-07-07 23:42:27 +00:00
## ソーシャルネットワークとフォーラム
2023-07-07 23:42:27 +00:00
一部の人々はインターネット上のさまざまなウェブサイトで自分のビットコインアドレスに関するデータを公開しています。**これにより、アドレスの所有者を特定することが非常に簡単になります**。
2023-07-07 23:42:27 +00:00
## トランザクショングラフ
2023-07-07 23:42:27 +00:00
トランザクションをグラフで表現することにより、アカウントのお金がどこにあるかをある程度の確率で知ることができます。したがって、ブロックチェーン上で関連する**ユーザー**について何かを知ることができます。
2023-07-07 23:42:27 +00:00
## 不要なインプットヒューリスティック
2023-07-07 23:42:27 +00:00
または「最適なおつりヒューリスティック」とも呼ばれます。次のビットコインのトランザクションを考えてみましょう。このトランザクションには、2 BTCと3 BTCの2つのインプットと、4 BTCと1 BTCの2つのアウトプットがあります。
```
2 btc --> 4 btc
3 btc 1 btc
```
2023-07-07 23:42:27 +00:00
仮定すると、出力の1つはおつりであり、もう1つの出力は支払いです。2つの解釈があります支払いの出力は4 BTCの出力または1 BTCの出力のいずれかです。しかし、1 BTCの出力が支払い金額である場合、3 BTCの入力は不要です。なぜなら、ウォレットは2 BTCの入力のみを使って支払いを行い、より低いマイナー手数料を支払うことができるからです。これは、実際の支払い出力が4 BTCであり、1 BTCがおつりの出力であることを示しています。
2023-07-07 23:42:27 +00:00
これは、複数の入力を持つトランザクションに対して問題です。このリークを修正する方法の1つは、おつりの出力がどの入力よりも高くなるまで、さらに入力を追加することです。例えば
```
2 btc --> 4 btc
3 btc 6 btc
5 btc
```
2023-07-07 23:42:27 +00:00
## 強制的なアドレス再利用
2023-07-07 23:42:27 +00:00
**強制的なアドレス再利用**または**インセンティブ付きアドレス再利用**は、敵対者がブロックチェーン上で既に使用されたアドレスにビットコインの(しばしば小額の)支払いを行うことです。敵対者は、ユーザーまたは彼らのウォレットソフトウェアがこれらの支払いを他のアドレスを通じて他のアドレスを明らかにする大きなトランザクションの入力として使用することを期待しています。これらの支払いは、アドレスの所有者を意図しないアドレスの再利用に強制する手段として理解することができます。
2021-08-30 22:37:30 +00:00
2023-07-07 23:42:27 +00:00
この攻撃は、時には**ダスト攻撃**と誤って呼ばれることがあります。
2021-08-30 22:37:30 +00:00
2023-07-07 23:42:27 +00:00
ウォレットの正しい動作は、既に使用された空のアドレスに着地したコインを使わないことです。
2021-08-30 22:37:30 +00:00
2023-07-07 23:42:27 +00:00
## その他のブロックチェーン分析
2023-07-07 23:42:27 +00:00
* **正確な支払額**: おつりのないトランザクションを避けるためには、支払いはUTXOと等しくする必要がありますこれは非常に予期しないことです。したがって、**おつりのないアドレス間の転送である可能性が高い**です。
* **丸められた数値**: トランザクションで出力の1つが「**丸められた数値**」である場合、これはおそらくその「丸められた数値」の価格を設定した人への**支払い**であり、他の部分は残りになります。
* **ウォレットの指紋認証**: 慎重な分析者は、異なるウォレットソフトウェアが常にまったく同じ方法でトランザクションを作成しないため、特定のトランザクションを作成したソフトウェアを推測することがあります。ウォレットの指紋認証は、おつりの出力を検出するために使用できます。おつりの出力は、同じウォレットの指紋で使われるものです。
* **金額とタイミングの相関**: トランザクションを実行した人がトランザクションの**時間**と/または**金額**を公開する場合、それは簡単に**発見可能**です。
2023-07-07 23:42:27 +00:00
## トラフィック分析
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
組織があなたのトラフィックを嗅ぎ取ると、ビットコインネットワークでの通信を見ることができます。\
敵対者があなたのードから出てきたトランザクションまたはブロックを見ると、それが以前に入っていなかったことをほぼ確実に知ることができます。したがって、インターネット接続が関与しているため、敵対者はIPアドレスを発見したビットコイン情報と関連付けることができます。
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
インターネットトラフィックをすべて嗅ぎ取ることはできないが、ソースに近づくために**多くのビットコインノード**を持っている攻撃者は、トランザクションまたはブロックを発表しているIPアドレスを知ることができるかもしれません。\
また、一部のウォレットは定期的に未確認のトランザクションを再放送するため、ネットワークを広く伝播し、マイニングされる可能性が高くなります。
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
## アドレスの所有者に関する情報を見つけるためのその他の攻撃
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
その他の攻撃については、[https://en.bitcoin.it/wiki/Privacy](https://en.bitcoin.it/wiki/Privacy)を参照してください。
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
# 匿名ビットコイン
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
## 匿名でビットコインを入手する方法
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
* **現金取引**: 現金でビットコインを購入する。
* **現金の代替**: ギフトカードなどを購入し、オンラインでビットコインと交換する。
* **マイニング**: マイニングはビットコインを入手する最も匿名性の高い方法です。これは、[マイニングプール](https://en.bitcoin.it/wiki/Pooled\_mining)が一般的にハッシャーのIPアドレスを知っているため、ソロマイニングに当てはまります。
* **窃盗**: 理論的には、匿名のビットコインを入手する別の方法は、それらを盗むことです。
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
## ミキサー
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
ユーザーはビットコインをミキシングサービスに**送信し**、サービスが**異なるビットコインをユーザーに送り返します**(手数料を差し引いたもの)。理論的には、ブロックチェーンを観察している敵対者は、入金と出金のトランザクションを**リンクすることができません**。
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
ただし、ユーザーはミキシングサービスがビットコインを返却し、また受け取ったお金と送金の関係についてログを保存していないことを信頼する必要があります。\
ビットコインカジノなどの他のサービスもミキサーとして使用することができます。ここではビットコインを送信し、後で取り戻すことができます。
2021-08-31 13:52:31 +00:00
2022-05-01 16:32:23 +00:00
## CoinJoin
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
**CoinJoin**は、異なるユーザーの複数のトランザクションを**1つに混ぜ合わせる**ことで、外部の観察者が**どの入力がどの出力に関連しているか**を見つけにくくするためのものです。\
これは新たなプライバシーのレベルを提供しますが、**一部のトランザクション**では、一部の入力と出力の金額が相関しているか、他の入力と出力と非常に異なる場合、外部の観察者によって**相関付け**される可能性があります。
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
ビットコインのブロックチェーン上でのおそらくCoinJoinトランザクションIDの例は、`402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a`と`85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238`です。
2021-08-31 13:52:31 +00:00
2022-04-05 22:24:52 +00:00
[**https://coinjoin.io/en**](https://coinjoin.io/en)\
2023-07-07 23:42:27 +00:00
**CoinJoinに似ていますが、より優れており、Ethereumでは**[**Tornado Cash**](https://tornado.cash)**(お金はマイナーから提供されるため、ウォレットに表示されます)。**
2022-05-01 16:32:23 +00:00
## PayJoin
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
前のセクションで議論されたCoinJoinのタイプは、同じ値を持つ複数の出力をチェックすることで簡単に特定できます。
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
PayJoinまたはpay-to-end-pointまたはP2EPとも呼ばれるは、2つの当事者間の特別なCoinJoinのタイプであり、一方の当事者が他方に支払いを行います。そのトランザクションには**同じ値を持つ複数の出力がない**ため、等しい出力のCoinJoinとして明らかに見えません。次のトランザクションを考えてみてください。
```
2021-08-31 13:52:31 +00:00
2 btc --> 3 btc
5 btc 4 btc
```
2023-07-07 23:42:27 +00:00
単純なトランザクションとして解釈することができます。お釣りを払うためにどの出力が支払いであり、どの出力がお釣りであるかという問題は一旦無視します。このトランザクションの別の解釈方法は、2 BTCの入力が商人によって所有され、5 BTCが顧客によって所有されており、このトランザクションは顧客が商人に1 BTCを支払うものであるというものです。これらの2つの解釈のうち、どちらが正しいかはわかりません。その結果、コインジョイントトランザクションが生成され、共通の入力所有ヒューリスティックを破り、プライバシーが向上しますが、通常のビットコインのトランザクションと区別することはできません。
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
もしPayJoinトランザクションが適度に使用されるようになれば、共通の入力所有ヒューリスティックは実際には完全に間違っていることになります。検出不可能なため、現在それらが使用されているかどうかさえわかりません。トランザクション監視会社は主にそのヒューリスティックに依存しているため、2019年時点ではPayJoinのアイデアに大きな期待が寄せられています。
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
# Bitcoinプライバシーの良い実践方法
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
## ウォレットの同期
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
Bitcoinウォレットは、自分の残高と履歴に関する情報をどうやって取得するかを考えなければなりません。2018年末時点で、最も実用的でプライバシーが高い既存の解決策は、**フルノードウォレット**(最大限のプライバシー)と**クライアントサイドのブロックフィルタリング**(非常に優れている)を使用することです。
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
* **フルノード:** フルノードは、ビットコインでこれまでに行われたすべてのオンチェーントランザクションを含むブロックチェーン全体をダウンロードします。したがって、ユーザーのインターネット接続を監視している敵対者は、ユーザーが関心を持っているトランザクションやアドレスを知ることはできません。
* **クライアントサイドのブロックフィルタリング:** クライアントサイドのブロックフィルタリングは、ブロック内のすべてのトランザクションのアドレスを含むフィルターを作成することで機能します。フィルターは、要素がセットに含まれているかどうかをテストできます。誤検出は可能ですが、誤検出はありません。軽量ウォレットは、ブロックチェーンのすべてのブロックのすべてのフィルターをダウンロードし、自分自身のアドレスと一致するかどうかをチェックします。一致するトランザクションを含むブロックはピアツーピアネットワークから完全にダウンロードされ、それらのブロックを使用してウォレットの履歴と現在の残高を取得します。
2021-08-31 13:52:31 +00:00
2022-05-01 16:32:23 +00:00
## Tor
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
Bitcoinネットワークはピアツーピアネットワークを使用しているため、他のピアはあなたのIPアドレスを知ることができます。これが、ビットコインネットワークとやり取りする際には常にTorを介して接続することをお勧めする理由です。
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
## アドレスの再利用を避ける
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
**アドレスを複数回使用することは、プライバシーに非常に悪影響を与えます。なぜなら、それによって同じエンティティによって作成されたブロックチェーントランザクションがさらにリンクされ、それが証明されるからです**。Bitcoinを使用する最もプライベートで安全な方法は、支払いを行う各個人に対して新しいアドレスを送信することです。受け取ったコインが使われた後は、そのアドレスを再利用しないでください。また、ビットコインを送信する際には、新しいビットコインアドレスを要求する必要があります。すべての優れたビットコインウォレットには、アドレスの再利用を desuお勧めするユーザーインターフェースがあります。
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
## 複数のトランザクション
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
**1つ以上のオンチェーントランザクションで誰かに支払う**ことは、金額に基づくプライバシー攻撃金額の相関や丸め数などの影響を大幅に減らすことができます。たとえば、ユーザーが誰かに5 BTCを支払いたいが、その5 BTCの価値が簡単に検索されることを望まない場合、2 BTCと3 BTCの2つのトランザクションを送信することができます。これらのトランザクションは合計で5 BTCになります。
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
## お釣りの回避
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
お釣りの回避とは、トランザクションの入力と出力を慎重に選択し、お釣りの出力を一切必要としないようにすることです。**お釣りの出力がないことはプライバシーに優れています**。なぜなら、お釣りの検出ヒューリスティックを破るからです。
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
## 複数のお釣りの出力
2021-08-31 13:52:31 +00:00
2023-07-07 23:42:27 +00:00
お釣りの回避ができない場合、**複数のお釣りの出力を作成することでプライバシーを向上**させることができます。これは通常、単一のお釣りの出力しかないと想定しているお釣りの検出ヒューリスティックを破ります。この方法は通常よりも多くのブロックスペースを使用するため、お釣りの回避が望ましいです。
2021-08-31 13:52:31 +00:00
2022-05-01 16:32:23 +00:00
# Monero
2021-08-31 16:48:59 +00:00
2023-07-07 23:42:27 +00:00
Moneroが開発されたとき、**完全な匿名性**への深刻なニーズを解決し、大いに満たしています。
2021-08-31 16:48:59 +00:00
2022-05-01 16:32:23 +00:00
# Ethereum
2023-07-07 23:42:27 +00:00
## ガス
2023-07-07 23:42:27 +00:00
ガスとは、Ethereumネットワーク上で特定の操作を実行するために必要な**計算の労力**の単位を指します。ガスはEthereum上でトランザクションを正常に実行するために必要な**手数料**を指します。
2023-07-07 23:42:27 +00:00
ガスの価格は**gwei**で表され、それ自体がETHの単位です。1 gweiは**0.000000001 ETH**10^-9 ETHに相当します。たとえば、ガスの費用が0.000000001イーサであると言う代わりに、ガスの費用が1 gweiであると言うことができます。'gwei'という言葉自体は'giga-wei'を意味し、**1,000,000,000 wei**に等しいです。Wei自体が**ETHの最小単位**です。
2023-07-07 23:42:27 +00:00
トランザクションのガスコストを計算するためには、次の例を参照してください。
2023-07-07 23:42:27 +00:00
ジョーダンがテイラーに1 ETHを支払わなければならないとします。トランザクションのガスリミットは21,000ユ
# 参考文献
2021-11-30 16:46:07 +00:00
* [https://en.wikipedia.org/wiki/Proof\_of\_stake](https://en.wikipedia.org/wiki/Proof\_of\_stake)
* [https://www.mycryptopedia.com/public-key-private-key-explained/](https://www.mycryptopedia.com/public-key-private-key-explained/)
* [https://bitcoin.stackexchange.com/questions/3718/what-are-multi-signature-transactions](https://bitcoin.stackexchange.com/questions/3718/what-are-multi-signature-transactions)
* [https://ethereum.org/en/developers/docs/transactions/](https://ethereum.org/en/developers/docs/transactions/)
* [https://ethereum.org/en/developers/docs/gas/](https://ethereum.org/en/developers/docs/gas/)
2021-11-30 16:46:07 +00:00
* [https://en.bitcoin.it/wiki/Privacy](https://en.bitcoin.it/wiki/Privacy#Forced\_address\_reuse)
2022-04-28 16:01:33 +00:00
2022-05-01 16:32:23 +00:00
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンやHackTricksのPDFをダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**をフォロー**してください。
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。
2022-04-28 16:01:33 +00:00
</details>