tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
基本概念
- 智能合约 被定义为在区块链上执行的程序,当满足特定条件时,自动化协议执行,无需中介。
- 去中心化应用(dApps) 基于智能合约构建,具有用户友好的前端和透明、可审计的后端。
- 代币与币 区分开来,币作为数字货币,而代币在特定上下文中代表价值或所有权。
- 实用代币 授予对服务的访问权限,安全代币 表示资产所有权。
- DeFi 代表去中心化金融,提供无中央权威的金融服务。
- DEX 和 DAO 分别指去中心化交易平台和去中心化自治组织。
共识机制
共识机制确保区块链上安全和一致的交易验证:
- 工作量证明(PoW) 依赖计算能力进行交易验证。
- 权益证明(PoS) 要求验证者持有一定数量的代币,相较于PoW减少能耗。
比特币基础知识
交易
比特币交易涉及在地址之间转移资金。交易通过数字签名进行验证,确保只有私钥的拥有者可以发起转账。
关键组件:
- 多重签名交易 需要多个签名来授权交易。
- 交易由 输入(资金来源)、输出(目的地)、费用(支付给矿工)和 脚本(交易规则)组成。
闪电网络
旨在通过允许在一个通道内进行多笔交易来增强比特币的可扩展性,仅将最终状态广播到区块链。
比特币隐私问题
隐私攻击,如 共同输入所有权 和 UTXO找零地址检测,利用交易模式。策略如 混合器 和 CoinJoin 通过模糊用户之间的交易链接来提高匿名性。
匿名获取比特币
方法包括现金交易、挖矿和使用混合器。CoinJoin 混合多笔交易以复杂化可追溯性,而 PayJoin 将CoinJoins伪装成常规交易以增强隐私。
比特币隐私攻击
比特币隐私攻击总结
在比特币的世界中,交易的隐私和用户的匿名性常常是关注的主题。以下是攻击者可能通过几种常见方法破坏比特币隐私的简化概述。
共同输入所有权假设
由于涉及的复杂性,不同用户的输入在单笔交易中组合的情况通常很少。因此,同一交易中的两个输入地址通常被假定属于同一所有者。
UTXO找零地址检测
UTXO,或 未花费交易输出,必须在交易中完全花费。如果只有一部分发送到另一个地址,剩余部分将转到一个新的找零地址。观察者可以假设这个新地址属于发送者,从而损害隐私。
示例
为减轻此问题,混合服务或使用多个地址可以帮助模糊所有权。
社交网络与论坛曝光
用户有时在网上分享他们的比特币地址,使得 很容易将地址与其所有者关联。
交易图分析
交易可以被可视化为图形,揭示基于资金流动的用户之间的潜在连接。
不必要输入启发式(最佳找零启发式)
该启发式基于分析具有多个输入和输出的交易,以猜测哪个输出是返回给发送者的找零。
示例
2 btc --> 4 btc
3 btc 1 btc
如果添加更多输入使得变化输出大于任何单一输入,它可能会混淆启发式分析。
强制地址重用
攻击者可能会向之前使用过的地址发送少量资金,希望收款人将这些资金与未来交易中的其他输入合并,从而将地址链接在一起。
正确的钱包行为
钱包应避免使用在已经使用过的空地址上收到的硬币,以防止这种隐私泄露。
其他区块链分析技术
- 确切支付金额: 没有找零的交易很可能是在两个由同一用户拥有的地址之间进行的。
- 整数金额: 交易中的整数金额表明这是一次支付,而非整数输出很可能是找零。
- 钱包指纹识别: 不同的钱包具有独特的交易创建模式,允许分析师识别所使用的软件,并可能识别找零地址。
- 金额与时间相关性: 公开交易时间或金额可能使交易可追踪。
流量分析
通过监控网络流量,攻击者可以潜在地将交易或区块与IP地址关联,从而危及用户隐私。如果一个实体运营多个比特币节点,这种情况尤其明显,增强了他们监控交易的能力。
更多
有关隐私攻击和防御的全面列表,请访问 Bitcoin Privacy on Bitcoin Wiki。
匿名比特币交易
匿名获取比特币的方法
- 现金交易: 通过现金获取比特币。
- 现金替代品: 购买礼品卡并在线兑换比特币。
- 挖矿: 通过挖矿获得比特币是最私密的方法,尤其是单独进行时,因为挖矿池可能知道矿工的IP地址。 Mining Pools Information
- 盗窃: 理论上,盗窃比特币可能是另一种匿名获取比特币的方法,尽管这是非法的且不推荐。
混合服务
通过使用混合服务,用户可以发送比特币并收到不同的比特币作为回报,这使得追踪原始所有者变得困难。然而,这需要对服务的信任,以确保其不保留日志并实际返回比特币。替代的混合选项包括比特币赌场。
CoinJoin
CoinJoin 将来自不同用户的多个交易合并为一个,复杂化了任何试图将输入与输出匹配的过程。尽管其有效性,具有独特输入和输出大小的交易仍然可能被追踪。
可能使用 CoinJoin 的示例交易包括 402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a
和 85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238
。
有关更多信息,请访问 CoinJoin。有关以太坊上的类似服务,请查看 Tornado Cash,它通过矿工的资金匿名化交易。
PayJoin
PayJoin(或 P2EP)是 CoinJoin 的一种变体,它将两个参与方(例如,客户和商家)之间的交易伪装成常规交易,而没有 CoinJoin 特有的相等输出特征。这使得检测变得极其困难,并可能使交易监控实体使用的共同输入所有权启发式失效。
2 btc --> 3 btc
5 btc 4 btc
像上述交易可以是 PayJoin,增强隐私,同时与标准比特币交易无区别。
PayJoin 的使用可能会显著破坏传统监控方法,使其成为追求交易隐私的一个有前景的发展。
加密货币隐私的最佳实践
钱包同步技术
为了维护隐私和安全,与区块链同步钱包至关重要。有两种方法脱颖而出:
- 全节点:通过下载整个区块链,全节点确保最大隐私。所有曾经进行的交易都存储在本地,使对手无法识别用户感兴趣的交易或地址。
- 客户端区块过滤:此方法涉及为区块链中的每个区块创建过滤器,使钱包能够识别相关交易,而不向网络观察者暴露特定兴趣。轻量级钱包下载这些过滤器,仅在与用户地址匹配时获取完整区块。
利用 Tor 实现匿名性
鉴于比特币在点对点网络上运行,建议使用 Tor 来掩盖您的 IP 地址,在与网络互动时增强隐私。
防止地址重用
为了保护隐私,使用新地址进行每笔交易至关重要。重用地址可能会通过将交易链接到同一实体而危及隐私。现代钱包通过其设计来阻止地址重用。
交易隐私策略
- 多笔交易:将支付拆分为几笔交易可以模糊交易金额,阻碍隐私攻击。
- 避免找零:选择不需要找零输出的交易可以通过干扰找零检测方法来增强隐私。
- 多个找零输出:如果无法避免找零,生成多个找零输出仍然可以改善隐私。
门罗币:匿名性的灯塔
门罗币满足数字交易中对绝对匿名性的需求,为隐私设定了高标准。
以太坊:燃料费和交易
理解燃料费
燃料费衡量在以太坊上执行操作所需的计算努力,以 gwei 定价。例如,一笔交易的费用为 2,310,000 gwei(或 0.00231 ETH),涉及燃料限制和基本费用,并向矿工提供小费以激励他们。用户可以设置最高费用,以确保他们不会支付过多,超出部分会退还。
执行交易
以太坊中的交易涉及发送者和接收者,可以是用户或智能合约地址。它们需要支付费用并且必须被挖掘。交易中的关键信息包括接收者、发送者的签名、金额、可选数据、燃料限制和费用。值得注意的是,发送者的地址是从签名中推导出来的,因此在交易数据中不需要它。
这些实践和机制是任何希望参与加密货币,同时优先考虑隐私和安全的人的基础。
参考文献
- https://en.wikipedia.org/wiki/Proof_of_stake
- https://www.mycryptopedia.com/public-key-private-key-explained/
- https://bitcoin.stackexchange.com/questions/3718/what-are-multi-signature-transactions
- https://ethereum.org/en/developers/docs/transactions/
- https://ethereum.org/en/developers/docs/gas/
- https://en.bitcoin.it/wiki/Privacy
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。