tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)

支持 HackTricks

基本概念

  • 智能合约 被定义为在区块链上执行的程序,当满足特定条件时,自动化协议执行,无需中介。
  • 去中心化应用(dApps) 基于智能合约构建,具有用户友好的前端和透明、可审计的后端。
  • 代币与币 区分开来,币作为数字货币,而代币在特定上下文中代表价值或所有权。
  • 实用代币 授予对服务的访问权限,安全代币 表示资产所有权。
  • DeFi 代表去中心化金融,提供无中央权威的金融服务。
  • DEXDAO 分别指去中心化交易平台和去中心化自治组织。

共识机制

共识机制确保区块链上安全和一致的交易验证:

  • 工作量证明(PoW) 依赖计算能力进行交易验证。
  • 权益证明(PoS) 要求验证者持有一定数量的代币,相较于PoW减少能耗。

比特币基础知识

交易

比特币交易涉及在地址之间转移资金。交易通过数字签名进行验证,确保只有私钥的拥有者可以发起转账。

关键组件:

  • 多重签名交易 需要多个签名来授权交易。
  • 交易由 输入(资金来源)、输出(目的地)、费用(支付给矿工)和 脚本(交易规则)组成。

闪电网络

旨在通过允许在一个通道内进行多笔交易来增强比特币的可扩展性,仅将最终状态广播到区块链。

比特币隐私问题

隐私攻击,如 共同输入所有权UTXO找零地址检测,利用交易模式。策略如 混合器CoinJoin 通过模糊用户之间的交易链接来提高匿名性。

匿名获取比特币

方法包括现金交易、挖矿和使用混合器。CoinJoin 混合多笔交易以复杂化可追溯性,而 PayJoin 将CoinJoins伪装成常规交易以增强隐私。

比特币隐私攻击

比特币隐私攻击总结

在比特币的世界中,交易的隐私和用户的匿名性常常是关注的主题。以下是攻击者可能通过几种常见方法破坏比特币隐私的简化概述。

共同输入所有权假设

由于涉及的复杂性,不同用户的输入在单笔交易中组合的情况通常很少。因此,同一交易中的两个输入地址通常被假定属于同一所有者

UTXO找零地址检测

UTXO,或 未花费交易输出,必须在交易中完全花费。如果只有一部分发送到另一个地址,剩余部分将转到一个新的找零地址。观察者可以假设这个新地址属于发送者,从而损害隐私。

示例

为减轻此问题,混合服务或使用多个地址可以帮助模糊所有权。

社交网络与论坛曝光

用户有时在网上分享他们的比特币地址,使得 很容易将地址与其所有者关联

交易图分析

交易可以被可视化为图形,揭示基于资金流动的用户之间的潜在连接。

不必要输入启发式(最佳找零启发式)

该启发式基于分析具有多个输入和输出的交易,以猜测哪个输出是返回给发送者的找零。

示例

bash
2 btc --> 4 btc
3 btc     1 btc

如果添加更多输入使得变化输出大于任何单一输入,它可能会混淆启发式分析。

强制地址重用

攻击者可能会向之前使用过的地址发送少量资金,希望收款人将这些资金与未来交易中的其他输入合并,从而将地址链接在一起。

正确的钱包行为

钱包应避免使用在已经使用过的空地址上收到的硬币,以防止这种隐私泄露。

其他区块链分析技术

  • 确切支付金额: 没有找零的交易很可能是在两个由同一用户拥有的地址之间进行的。
  • 整数金额: 交易中的整数金额表明这是一次支付,而非整数输出很可能是找零。
  • 钱包指纹识别: 不同的钱包具有独特的交易创建模式,允许分析师识别所使用的软件,并可能识别找零地址。
  • 金额与时间相关性: 公开交易时间或金额可能使交易可追踪。

流量分析

通过监控网络流量,攻击者可以潜在地将交易或区块与IP地址关联,从而危及用户隐私。如果一个实体运营多个比特币节点,这种情况尤其明显,增强了他们监控交易的能力。

更多

有关隐私攻击和防御的全面列表,请访问 Bitcoin Privacy on Bitcoin Wiki

匿名比特币交易

匿名获取比特币的方法

  • 现金交易: 通过现金获取比特币。
  • 现金替代品: 购买礼品卡并在线兑换比特币。
  • 挖矿: 通过挖矿获得比特币是最私密的方法,尤其是单独进行时,因为挖矿池可能知道矿工的IP地址。 Mining Pools Information
  • 盗窃: 理论上,盗窃比特币可能是另一种匿名获取比特币的方法,尽管这是非法的且不推荐。

混合服务

通过使用混合服务,用户可以发送比特币收到不同的比特币作为回报,这使得追踪原始所有者变得困难。然而,这需要对服务的信任,以确保其不保留日志并实际返回比特币。替代的混合选项包括比特币赌场。

CoinJoin

CoinJoin 将来自不同用户的多个交易合并为一个,复杂化了任何试图将输入与输出匹配的过程。尽管其有效性,具有独特输入和输出大小的交易仍然可能被追踪。

可能使用 CoinJoin 的示例交易包括 402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238

有关更多信息,请访问 CoinJoin。有关以太坊上的类似服务,请查看 Tornado Cash,它通过矿工的资金匿名化交易。

PayJoin

PayJoin(或 P2EP)是 CoinJoin 的一种变体,它将两个参与方(例如,客户和商家)之间的交易伪装成常规交易,而没有 CoinJoin 特有的相等输出特征。这使得检测变得极其困难,并可能使交易监控实体使用的共同输入所有权启发式失效。

plaintext
2 btc --> 3 btc
5 btc     4 btc

像上述交易可以是 PayJoin,增强隐私,同时与标准比特币交易无区别。

PayJoin 的使用可能会显著破坏传统监控方法,使其成为追求交易隐私的一个有前景的发展。

加密货币隐私的最佳实践

钱包同步技术

为了维护隐私和安全,与区块链同步钱包至关重要。有两种方法脱颖而出:

  • 全节点:通过下载整个区块链,全节点确保最大隐私。所有曾经进行的交易都存储在本地,使对手无法识别用户感兴趣的交易或地址。
  • 客户端区块过滤:此方法涉及为区块链中的每个区块创建过滤器,使钱包能够识别相关交易,而不向网络观察者暴露特定兴趣。轻量级钱包下载这些过滤器,仅在与用户地址匹配时获取完整区块。

利用 Tor 实现匿名性

鉴于比特币在点对点网络上运行,建议使用 Tor 来掩盖您的 IP 地址,在与网络互动时增强隐私。

防止地址重用

为了保护隐私,使用新地址进行每笔交易至关重要。重用地址可能会通过将交易链接到同一实体而危及隐私。现代钱包通过其设计来阻止地址重用。

交易隐私策略

  • 多笔交易:将支付拆分为几笔交易可以模糊交易金额,阻碍隐私攻击。
  • 避免找零:选择不需要找零输出的交易可以通过干扰找零检测方法来增强隐私。
  • 多个找零输出:如果无法避免找零,生成多个找零输出仍然可以改善隐私。

门罗币:匿名性的灯塔

门罗币满足数字交易中对绝对匿名性的需求,为隐私设定了高标准。

以太坊:燃料费和交易

理解燃料费

燃料费衡量在以太坊上执行操作所需的计算努力,以 gwei 定价。例如,一笔交易的费用为 2,310,000 gwei(或 0.00231 ETH),涉及燃料限制和基本费用,并向矿工提供小费以激励他们。用户可以设置最高费用,以确保他们不会支付过多,超出部分会退还。

执行交易

以太坊中的交易涉及发送者和接收者,可以是用户或智能合约地址。它们需要支付费用并且必须被挖掘。交易中的关键信息包括接收者、发送者的签名、金额、可选数据、燃料限制和费用。值得注意的是,发送者的地址是从签名中推导出来的,因此在交易数据中不需要它。

这些实践和机制是任何希望参与加密货币,同时优先考虑隐私和安全的人的基础。

参考文献

tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)

支持 HackTricks