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

12 KiB

{% hint style="success" %} AWS 해킹 학습 및 실습:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 학습 및 실습: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks 지원
{% endhint %}

기본 개념

  • 스마트 계약은 특정 조건이 충족될 때 블록체인에서 실행되는 프로그램으로 중개없이 합의 실행을 자동화합니다.
  • **탈중앙화 애플리케이션 (dApps)**은 스마트 계약을 기반으로 하며 사용자 친화적인 프론트엔드와 투명하고 감사 가능한 백엔드를 제공합니다.
  • 토큰 및 코인은 코인이 디지털 화폐로 작용하는 반면 토큰은 특정 맥락에서 가치나 소유권을 나타냅니다.
  • 유틸리티 토큰은 서비스 이용을 허용하며 보안 토큰은 자산 소유를 나타냅니다.
  • DeFi는 중앙 당국 없이 금융 서비스를 제공하는 탈중앙화된 금융을 의미합니다.
  • DEXDAO는 각각 탈중앙화된 거래소 플랫폼과 탈중앙화된 자율 조직을 나타냅니다.

합의 메커니즘

합의 메커니즘은 블록체인에서 안전하고 합의된 거래 유효성을 보장합니다:

  • **작업 증명 (PoW)**은 거래 확인을 위해 계산 능력을 사용합니다.
  • **지분 증명 (PoS)**은 유효성 검사자가 일정량의 토큰을 보유해야 하며 PoW에 비해 에너지 소비를 줄입니다.

비트코인 기본 사항

거래

비트코인 거래는 주소 간 자금 이체를 포함합니다. 거래는 디지턀 서명을 통해 유효성을 검증하며 개인 키 소유자만 이체를 시작할 수 있습니다.

주요 구성 요소:

  • 다중 서명 거래는 거래를 승인하기 위해 여러 서명이 필요합니다.
  • 거래는 입력 (자금 출처), 출력 (목적지), 수수료 (마이너에게 지불), 및 스크립트 (거래 규칙)로 구성됩니다.

라이트닝 네트워크

채널 내에서 여러 거래를 허용하여 블록체인에 최종 상태만 브로드캐스트하여 비트코인의 확장성을 향상시키려는 목적을 가지고 있습니다.

비트코인 개인 정보 보호 우려

공통 입력 소유 가정UTXO 변경 주소 감지와 같은 개인 정보 보호 공격은 거래 패턴을 이용합니다. 믹서CoinJoin과 같은 전략은 사용자 간 거래 링크를 숨겨 개인 정보 보호를 향상시킵니다.

익명으로 비트코인 획득

현금 거래, 채굴, 및 믹서 사용이 포함됩니다. CoinJoin은 여러 거래를 혼합하여 추적을 복잡하게 하고 PayJoin은 더 높은 개인 정보 보호를 위해 CoinJoin을 일반 거래처럼 위장합니다.

비트코인 개인 정보 보호 공격

비트코인 개인 정보 보호 공격 요약

비트코인 세계에서 거래의 개인 정보 보호와 사용자의 익명성은 종종 우려의 대상입니다. 여기에는 공격자가 비트코인 개인 정보를 침해할 수 있는 여러 일반적인 방법에 대한 간소화된 개요가 포함되어 있습니다.

공통 입력 소유 가정

일반적으로 서로 다른 사용자의 입력이 하나의 거래에서 결합되는 것은 복잡성 때문에 드물기 때문에 동일한 소유자에게 속한 두 입력 주소가 동일한 거래에 있을 것으로 가정됩니다.

UTXO 변경 주소 감지

UTXO 또는 사용되지 않은 거래 출력은 거래에서 완전히 사용되어야 합니다. 일부만 다른 주소로 전송되면 나머지는 새로운 변경 주소로 이동합니다. 관찰자는 이 새 주소가 송신자에게 속한다고 가정하여 개인 정보를 침해할 수 있습니다.

예시

이를 완화하기 위해 믹싱 서비스를 사용하거나 여러 주소를 사용하여 소유권을 숨길 수 있습니다.

소셜 네트워크 및 포럼 노출

사용자는 때로 온라인에서 비트코인 주소를 공유하여 해당 주소를 소유자에게 링크하는 것이 쉽습니다.

거래 그래프 분석

거래는 그래프로 시각화될 수 있으며 자금의 흐름에 따라 사용자 간의 잠재적 연결을 보여줍니다.

불필요한 입력 휴리스틱 (최적 변경 휴리스틱)

이 휴리스틱은 여러 입력과 출력을 가진 거래를 분석하여 변경이 송신자에게 반환되는 것을 추측합니다.

예시

2 btc --> 4 btc
3 btc     1 btc

강제 주소 재사용

공격자는 이전에 사용된 주소로 소액을 보내어 수신자가 이를 향후 거래에서 다른 입력과 결합하도록 하여 주소를 연결하는 것을 희망할 수 있습니다.

올바른 지갑 동작

이 개인 정보 누출을 방지하기 위해 지갑은 이미 사용된 빈 주소에서 받은 코인을 사용하지 않아야 합니다.

기타 블록체인 분석 기술

  • 정확한 지불 금액: 거스름돈이 없는 거래는 동일한 사용자가 소유한 두 주소 간의 것일 가능성이 높습니다.
  • 둥근 숫자: 거래에서 둥근 숫자는 지불을 나타내며, 비둥근 출력은 거스름돈일 가능성이 높습니다.
  • 지갑 지문: 서로 다른 지갑은 고유한 거래 생성 패턴을 가지고 있어 분석가가 사용된 소프트웨어와 잠재적으로 거스름돈 주소를 식별할 수 있습니다.
  • 금액 및 시간 상관 관계: 거래 시간이나 금액을 공개하면 거래를 추적할 수 있습니다.

트래픽 분석

네트워크 트래픽을 모니터링함으로써 공격자는 거래나 블록을 IP 주소에 연결하여 사용자의 개인 정보를 침해할 수 있습니다. 특히 한 엔티티가 많은 비트코인 노드를 운영하는 경우, 거래를 모니터링할 수 있는 능력이 향상됩니다.

더 알아보기

개인 정보 공격 및 방어에 대한 포괄적인 목록은 비트코인 위키의 비트코인 개인 정보를 방문하십시오.

익명 비트코인 거래

익명으로 비트코인을 얻는 방법

  • 현금 거래: 현금으로 비트코인을 획득합니다.
  • 현금 대체 수단: 상품권을 구매하고 온라인에서 비트코인으로 교환합니다.
  • 채굴: 비트코인을 얻는 가장 개인 정보 보호 수준이 높은 방법은 채굴을 통해 얻는 것이며, 특히 혼자서 하는 경우에는 채굴 풀이 채굴자의 IP 주소를 알 수 있을 수 있습니다. 채굴 풀 정보
  • 도난: 이론적으로 비트코인을 훔치는 것은 익명으로 획득할 수 있는 또 다른 방법일 수 있지만, 불법이며 권장되지 않습니다.

혼합 서비스

혼합 서비스를 사용하면 사용자는 비트코인을 보내고 다른 비트코인을 반환 받아 원래 소유자를 추적하기 어렵게 만들 수 있습니다. 그러나 이를 위해서는 서비스가 로그를 보관하지 않고 실제로 비트코인을 반환하는 것에 대한 신뢰가 필요합니다. 대체 혼합 옵션에는 비트코인 카지노가 포함됩니다.

코인조인

코인조인은 여러 사용자의 다양한 거래를 하나로 병합하여 입력과 출력을 매칭하려는 누군가의 과정을 복잡하게 만듭니다. 그러나 고유한 입력 및 출력 크기를 가진 거래는 여전히 추적될 수 있습니다.

코인조인을 사용한 예시 거래에는 402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238가 포함될 수 있습니다.

더 많은 정보는 코인조인을 방문하십시오. 이더리움에서 유사한 서비스를 찾으려면 토네이도 캐시를 확인하십시오. 이 서비스는 채굴자의 자금으로 거래를 익명화합니다.

페이조인

코인조인의 변형인 페이조인 (또는 P2EP)은 두 당사자 (예: 고객 및 상인) 간의 거래를 일반 거래로 위장시키며, 코인조인의 특징적인 동일한 출력을 갖지 않아 감지하기 매우 어렵고 거래 감시 엔티티가 사용하는 공통 입력 소유 추론을 무효화할 수 있습니다.

2 btc --> 3 btc
5 btc     4 btc

암호화폐에서 개인 정보 보호를 위한 최상의 실천 방법

지갑 동기화 기술

개인 정보 보호와 보안을 유지하기 위해 블록체인과 지갑을 동기화하는 것이 중요합니다. 두 가지 주요 방법이 있습니다:

  • 풀 노드: 전체 블록체인을 다운로드하여 풀 노드는 최대한의 개인 정보 보호를 보장합니다. 사용자가 관심을 가지는 거래나 주소를 식별하는 것을 불가능하게 합니다.
  • 클라이언트 측 블록 필터링: 이 방법은 블록체인의 각 블록에 대한 필터를 생성하여 지갑이 네트워크 관찰자에게 특정 관심사를 노출하지 않고 관련 거래를 식별할 수 있게 합니다. 가벼운 지갑은 이러한 필터를 다운로드하며 사용자의 주소와 일치하는 경우에만 전체 블록을 가져옵니다.

익명성을 위한 Tor 활용

비트코인이 피어 투 피어 네트워크에서 작동하기 때문에 Tor를 사용하여 IP 주소를 가리는 것이 권장됩니다. 네트워크와 상호 작용할 때 개인 정보 보호를 강화합니다.

주소 재사용 방지

개인 정보 보호를 보호하기 위해 모든 거래마다 새 주소를 사용하는 것이 중요합니다. 주소를 재사용하면 거래가 동일한 엔터티에 연결되어 개인 정보 보호가 손상될 수 있습니다. 현대적인 지갑은 주소 재사용을 방지하기 위한 디자인을 채택하고 있습니다.

거래 개인 정보 보호를 위한 전략

  • 여러 거래: 지불을 여러 거래로 분할하면 거래 금액을 숨기고 개인 정보 보호 공격을 방해할 수 있습니다.
  • 거스름돈 회피: 거스름돈이 필요 없는 거래를 선택하면 거스름돈 감지 방법을 방해하여 개인 정보 보호를 강화할 수 있습니다.
  • 여러 거스름돈 출력: 거스름돈 회피가 불가능한 경우 여러 거스름돈 출력을 생성하면 여전히 개인 정보 보호를 향상시킬 수 있습니다.

모네로: 익명성의 상징

디지털 거래에서 절대적인 익명성의 필요를 다루며, 개인 정보 보호에 높은 기준을 설정합니다.

이더리움: 가스와 거래

가스 이해

가스는 이더리움에서 작업을 실행하는 데 필요한 계산 노력을 측정하며 gwei로 가격이 매겨집니다. 예를 들어, 2,310,000 gwei(또는 0.00231 ETH)가 드는 거래에는 가스 한도와 기본 수수료, 채굴자를 동기화하기 위한 팁이 포함됩니다. 사용자는 과다 지불을 방지하기 위해 최대 수수료를 설정하고 초과분은 환불됩니다.

거래 실행

이더리움의 거래에는 송신자와 수신자가 포함되며, 사용자 또는 스마트 계약 주소가 될 수 있습니다. 수수료가 필요하며 채굴되어야 합니다. 거래에 필요한 주요 정보는 수신자, 송신자의 서명, 가치, 선택적 데이터, 가스 한도 및 수수료를 포함합니다. 특히, 송신자의 주소는 서명에서 유추되어 거래 데이터에 필요하지 않습니다.

이러한 실천 방법과 메커니즘은 개인 정보 보호와 보안을 우선시하는 사람들에게 필수적입니다.