Race Attack이란 무엇인가?
Race Attack는 누군가 거의 동시에 상충되는 두 개의 암호화폐 거래를 방송하여 잘못된 쪽이 먼저 수락되기를 바라는 경우를 말합니다. 제로 컨펌 결제를 받는 상인에 대한 고전적인 속임수입니다. 같은 계정에서 두 장을 보내고 담당자가 자기가 선호하는 것을 처리하리라고 베팅하는 것과 같습니다.
“Race Attack는 Replace by Fee로 대체되어야 한다.”는 식의 설명은 정확하지 않습니다. RBF가 관련되어 있지만, Race Attack는 명시적 교체 규칙이 없어도 발생할 수 있으며, 이것이 Transaction Replacement Attack와 다른 이유입니다.
Race Attack의 동작 방식
숫자처럼 카운터에서 상점에 암호화폐로 지불하는 사람을 상상해 보세요. 그들은 커피를 원하고 동전은 지키고 싶어합니다. 플레이는 이렇습니다.
- 1단계: 공격자는 같은 코인을 사용하되 서로 다른 수령자와 함께 두 거래를 생성합니다.
- 2단계: 그들은 하나를 상인에게 보내고 동시에 다른 하나를 서로 다른 노드에 퍼뜨려 더 빨리 전파되기를 기대합니다.
- 3단계: 상인은 첫 거래가 도착했다고 보고 결제로 처리하고 물품을 건네줍니다.
- 4단계: 채굴자들이 상충 거래 중 하나를 확정합니다. 다른 거래는 블록이 확정되는 즉시 네트워크에서 거부됩니다.
- 5단계: 확정된 것이 공격자의 선호 버전인 경우, 상인은 아무 것도 얻지 못하고 교훈만 얻습니다.
네, 그리 어렵지 않고 예, 타이밍이 핵심입니다.
Race Attack가 왜 중요한가
누군가가 이것을 시도한다면 어쩌나요?
- 이점: Race Attack에 대해 알면 합리적인 결제 규칙을 설정할 수 있어, 결제가 이행되지 않는 약속에 상품을 제공하지 않게 됩니다.
- 관점: 이것은 더 넓은 이중지출 공격의 한 가지 형태이지만, 멋진 기기나 두꺼운 지갑이 필요하지 않습니다.
- 관련성: 제로 컨펌 결제를 고려하는 POS 지갑, 전자 상거래, 그리고 어떤 서비스에서도 이 주제를 볼 수 있습니다.
배송되거나 실제 가치가 있는 물건을 팔고 있다면, 인도하기 전에 하나 이상의 거래 확인을 기다리세요. 현장 구매의 경우, 한도를 설정하고 충돌을 표시하는 지갑을 사용하세요.
Race Attack의 주요 특징
Race Attack를 돋보이게 만드는 점은 다음과 같습니다:
- 즉시: 첫 번째 블록 확인 전에 벌어집니다.
- 상충: 두 거래가 같은 입력을 사용하며, 한 가지만 확정될 수 있습니다.
- 속도: 전파와 채굴자 선택이 승자를 결정합니다. 고급 하드웨어가 아니라.
- 다름: 51% 공격이나 채굴에 대한 제어를 필요로 하지 않습니다.
Variations
Race Attack에 만날 수 있는 몇 가지 친척들이 있습니다:
- Classic: 거의 동시에 두 개의 상충 거래가 방송됩니다.
- Finney: 채굴자가 미리 블록 하나를 생성한 뒤, 상인에게 지불한 다음 블록을 게시합니다.
- Vector76: 사전 채굴된 블록과 시각의 요소를 결합하여 거래소를 속입니다.
- RBF: 목표는 같지만, 순수 전파 경쟁보다는 수수료 기반 교체 규칙에 의존합니다.
네트워크 토폴로지는 중요합니다. 공격자가 다수의 피어를 제어하거나 가짜 신원을 만들 수 있다면, 이는 Race Attack 방어에 대해 자주 등장하는 Sybil 공격의 이유이기도 합니다.
예시
사기꾼이 제로 컨펀 트랜스퍼로 키오스크를 결제한 뒤, 충돌 거래를 채굴자들에게 보내어 이기고, 화면에 일시적으로 결제됨으로 표시되지만 키오스크는 미지급으로 남습니다.
재미있는 사실
Race Attack는 최초의 비트코인 포럼에서 논의되었고, Satoshi의 다중 확인 대기 조언은 여전히 기본 수법으로 남아 있습니다. 롤렉스가 레딧 스레드를 만난다.
Wrap-Up
한 줄로 요약하면: Race Attack은 제로 컨펌에 대한 타이밍 플레이이므로 약간의 인내를 더하면 어제의 소식이 됩니다.