Cryptocurrency에서 재생 공격이란 무엇입니까? 완전 초보자 가이드
전통적인 네트워크 재생 공격은 네트워크를 통한 데이터 전송이 사기 또는 악의적으로 지연되거나 반복되는 경우입니다. “중간자 (man in the middle)”공격의 한 형태이며 의도 한 것과 다른 컨텍스트에서 메시지 또는 데이터 전송을 재생하는 데 사용할 수 있습니다..
암호 화폐 내에서 재생 공격은 특별한 의미를 가지며 다른 암호 화폐 프로토콜의 하드 포크와 관련이 있습니다. 재생 보호는 업계에서 흔하고 흔해야하지만, 역사적으로 항상 그런 것은 아니며 미래의 하드 포크 프로토콜은이를 구현하지 않을 수도 있습니다..
암호 화폐와 관련하여 재생 공격이 작동하는 방식을 이해하려면 먼저 비트 코인과 같은 일반적인 암호 화폐 플랫폼 내에서 트랜잭션이 작동하는 방식에 대한 기본적인 이해가 필요합니다..
분산 원장 및 하드 포크+
비트 코인과 같은 암호 화폐는 모든 참여 노드에 존재하는 글로벌 분산 디지털 원장으로 작동합니다. 각 전체 노드에는 비트 코인 기록의 모든 거래가 포함 된 전체 원장의 사본이 있습니다. 비트 코인의 원장은 투명합니다. 즉, 주소를 보내고받는 모든 거래와 전송 된 금액이 공개 원장에 표시됩니다..
비트 코인 원장은 네트워크 내에서 하나의 범용 원장으로 존재하므로 모든 사본이 똑같습니다. 노드 응용 프로그램을 실행하는 소프트웨어는 모든 네트워크 노드에 대한 범용 프로토콜로도 존재하는 기본 비트 코인 프로토콜입니다..
암호 화폐 프로토콜 내에서 하드 포크가 발생하면 리플레이 공격이 관련됩니다. 기본적으로 프로토콜은 새로운 개발자 팀이 초기 프로토콜 및 원장의 더 나은 반복으로 간주하는 새롭고 업그레이드 된 버전으로 분기됩니다. 따라서 프로토콜과 후속 원장간에 분할이 발생하여 2 개의 개별 프로토콜에 의해 관리되는 2 개의 원장을 생성합니다..
이것의 가장 좋은 예는 비트 코인과 비트 코인 캐시입니다. 2017 년 8 월 1 일 비트 코인 캐시 개발자는 비트 코인 프로토콜을 하드 포킹했습니다. 레거시 비트 코인 체인을 계속 사용하기를 원하는 모든 사용자는 소프트웨어를 비트 코인 캐시 프로토콜로 업그레이드하지 않기로 선택했으며 비트 코인 캐시 체인에 가입하려는 모든 사용자는 소프트웨어를 업그레이드하고 비트 코인 캐시 네트워크에 가입했습니다. 그 결과 원래 비트 코인 원장과 새로운 비트 코인 캐시 원장이 남아 있습니다..
비트 코인 캐시 가이드 읽기
포크 날짜까지 정확히 동일한 원장 기록을 공유하지만 그 시점부터 다른 거래 원장을 가진 두 개의 별도 체인으로 존재합니다. 따라서 하드 포크가 있으면 제가 보유하고있는 비트 코인은 어떻게 되나요? 음, 하드 포크 이전에 비트 코인을 소유했다면 처음에 비트 코인을 소유했던 것과 동일한 양의 비트 코인 캐시를 받았으며 BTC도 유지했습니다. 예를 들어 앨리스가 하드 포크 이전에 5 BTC를 소유했다면 포크 이후에 그녀는 5 BTC를 보유하고 비트 코인 캐시 체인에서 추가로 5 BCH를 받게됩니다. 믿거 나 말거나, 공짜 돈이 존재합니다 (사람들은 분할의 결과로 시장 가치가 균형을 이룰 것이라고 말했지만 실제로는 일어나지 않았습니다).
리플레이 공격이란??
리플레이 공격은 포크 된 체인에서 하드 포크와 토큰 복제를 이용합니다. 정직한 사용자의 문제는 다른 체인이 아닌 한 체인에 돈을 쓰고 싶을 때 발생합니다. 예를 들어, Alice는 온라인에서 1BTC를 사용하고 싶지만 동시에 1BCH를 사용하고 싶지 않습니다..
리플레이 공격의 기회는 Alice가 레거시 체인에서 1 BTC를 사용할 때 발생합니다. BTC 거래에 첨부 된 디지털 서명이 BCH 체인에서 동일하기 때문에 다른 사람이 Alice의 서명을 복제하여 BCH 원장 거래에 포함시킬 수 있습니다. 기본적으로 다른 사람이 다른 체인에 돈을 쓸 수 있습니다. 그러나 재생 공격이 작동하려면 트랜잭션에 사용 된 정확한 양과 주소가 동일해야합니다. 그렇지 않으면 디지털 서명이 작동하지 않습니다..
거래 주소와 이체 금액이 동일해야하므로 기괴한 형태의 공격으로 보일 수 있지만 온라인 결제와 관련된 더 복잡한 문제로 이어질 수 있습니다. 따라서 리플레이 공격에 대한 쉬운 보호는 리플레이 공격에 취약한 암호 화폐를 애초에 사용하는 것이 아닙니다. 불편한 해결책이지만 그럼에도 불구하고 작동합니다. 리플레이 보호가 암호 화폐 하드 포크와 함께 제공되지 않는 경우, 대부분의 하드 지갑 서비스는 먼지가 해결되고 리플레이 보호를 포함한 새로운 포크의 문제가 해결 될 때까지 코인을 사용하지 않는 것이 좋습니다..
비트 코인 포크 가이드 읽기
예제 및 재생 보호
재생 보호는 구현하기가 매우 사소하며이 시점에서 일반화되어야하며 기본적으로 하드 포크 체인의 필수 요소 여야합니다. 비트 코인 캐시는 비트 코인 캐시 노드가 기존 비트 코인 체인에서 사용 된 거래를 비트 코인 캐시 체인과 독립적으로 구별 할 수 있도록하는 고유 한 마커를 구현하여 체인에 대한 재생 보호를 생성했습니다..
특수 마크로 BCH 체인의 트랜잭션을 식별함으로써 레거시 비트 코인 노드는 마찬가지로 BCH 트랜잭션을 유효하지 않은 것으로 거부합니다. 비트 코인 / 비트 코인 캐시 분할은 분할 이전에 성공적이고 의도적으로 리플레이 보호를 구현 한 하드 포크를 나타냅니다..
특히 한때 계획되고 논란이 많은 SegWit2X Bitcoin 하드 포크 제안에는 재생 보호 기능이 포함되지 않았습니다. 대신, 그들은 비트 코인 코어 팀이 우려 사항이라고 생각되면 재생 보호를 구현하도록 요구했습니다. 분명히 SegWit2X 팀은 계획된 포크가 결국 취소되고 리플레이 보호를 구현하려는 의지가 없다는 이유로 광범위하게 비판을 받았기 때문에 이것은 잘 드러나지 않았습니다..
비트 코인 캐시가 재생 보호를 구현하기 위해 사용하는 전략 외에 사용중인 암호 화폐가 재생 보호를 제공하지 않는 경우 사용자가 직접 재생 공격을 완화하는 데 도움이되는 다른 전략이 있습니다..
첫째, 코인 믹싱 서비스를 사용하여 하나의 체인에서만 유효하고 분기 된 체인에서는 재생할 수없는 코인베이스 트랜잭션과 거래를 혼합 할 수 있습니다. 그러나이 전략은 서비스를 중심으로 자체적으로 우려되는 제 3 자 코인 믹싱 서비스를 사용해야하므로 신중하게 사용하십시오..
둘째, 두 체인 모두에 대해 두 개의 개별 개인 키 세트를 사용해야합니다. 또한 자체 분할 서비스를 구현 한 거래소에 코인을 보낼 수 있으며 거래소에서 처리해드립니다. 이것은 사용자가 Shapeshift Splitter와 Poloniex를 모두 사용하여 코인을 분할하고 리플레이 보호를 제공 할 수있는 ETH / ETC 하드 포크에서 발생했습니다..
결론
리플레이 공격은 리플레이 보호를 제공하지 않거나 포크 이후에 구현하는 데 뒤처지는 하드 포크가있는 경우 분산 블록 체인 시스템에서만 실제로 관련됩니다. 이 개념은 제안 된 비트 코인 SegWit2X 하드 포크 직전에 주류 비등점에 도달했습니다..
요즘에는 하드 포크에 대한 리플레이 보호를 구현하는 것이 사용자를 보호하기위한 새로운 체인의 기본 구성 요소가되어야합니다. 그렇지 않으면 포크 된 네트워크를 사용하여 안전하다고 느끼지 못할 것입니다. 하이 프로파일 하드 포크가 2017 년 말에 보여준 열정이 계속 될지 여부는 아직 밝혀지지 않았지만 만약 그렇다면 리플레이 공격 문제가 다시 한 번 높은 관련성이 될 것임을 확신 할 수 있습니다..