블록체인에서는 여러 참여자가 거래 기록을 검증하고 공유합니다. 그런데 특정 개인이나 집단이 네트워크에서 지나치게 큰 영향력을 확보하면 거래 기록의 신뢰성이 흔들릴 수 있습니다.
이때 자주 등장하는 개념이 51% 공격입니다. 다만 이 공격이 가능하다고 해서 다른 사람의 비트코인을 마음대로 가져가거나 새로운 코인을 무제한으로 발행할 수 있는 것은 아닙니다.
51% 공격은 무엇을 의미할까?
51% 공격은 특정 참여자나 집단이 블록체인 네트워크의 합의 과정에서 과도한 영향력을 확보하는 상황을 뜻합니다. 비트코인처럼 작업증명을 사용하는 네트워크에서는 전체 채굴 연산 능력의 과반을 장악하는 경우를 대표적인 예로 설명합니다.
여기서 중요한 것은 코인 보유량이 아닙니다.
비트코인을 전체 발행량의 절반 이상 가지고 있다고 해서 곧바로 51% 공격을 할 수 있는 것은 아닙니다. 공격 가능성을 판단할 때 필요한 기준은 네트워크 전체에서 차지하는 채굴 연산 능력의 비중입니다.
채굴 연산 능력을 해시레이트라고 합니다. 해시레이트는 컴퓨터가 블록 생성을 위해 필요한 계산을 얼마나 빠르게 수행할 수 있는지를 나타내는 지표입니다.
예를 들어 전체 채굴 능력을 100으로 가정해 보겠습니다.
이 경우 특정 집단은 장기적으로 다른 참여자들보다 더 빠르게 거래 기록을 만들어낼 가능성이 커집니다. 그 결과 자신에게 유리한 거래 기록을 따로 만든 뒤 기존 기록을 대체하려는 시도가 가능해집니다.
비트코인 개발자 문서는 네트워크의 채굴 능력 과반을 확보하면 거래 기록을 변경하는 공격을 상대적으로 안정적으로 시도할 수 있다고 설명합니다. 다만 과반 미만이라도 상황에 따라 공격이 성공할 가능성은 남아 있습니다.
- 일반 참여자들이 보유한 채굴 능력: 49
- 특정 집단이 보유한 채굴 능력: 51

공격자는 거래 기록을 어떻게 바꾸려고 할까?
51% 공격은 주로 이미 보낸 자산을 다시 사용하려는 이중지불과 연결됩니다. 이중지불은 같은 디지털 자산을 서로 다른 거래에서 중복 사용하려는 행위입니다.
공격자는 정상적인 거래 기록을 따라가는 것처럼 행동하면서 별도의 거래 기록을 비공개로 만들 수 있습니다. 이후 자신이 만든 기록의 누적 작업량이 더 커지면 이를 네트워크에 공개하는 방식입니다.
예를 들어 공격자가 거래소에 비트코인을 입금한다고 가정해 보겠습니다.
① 공격자가 거래소에 비트코인을 전송합니다. ② 거래소가 입금을 확인하고 다른 자산을 지급합니다. ③ 공격자는 입금 거래가 없는 별도 거래 기록을 뒤에서 생성합니다. ④ 별도 기록의 누적 작업량이 기존 기록보다 커집니다. ⑤ 공격자가 해당 기록을 네트워크에 공개합니다. ⑥ 네트워크가 더 많은 작업이 누적된 유효한 기록을 따릅니다. ⑦ 기존 입금 거래가 최종 거래 기록에서 제외될 수 있습니다.
이 과정이 성공하면 공격자는 거래소에서 받은 다른 자산을 유지하면서, 처음 보냈던 비트코인도 다시 사용하려고 시도할 수 있습니다.
하지만 이것이 모든 거래를 마음대로 삭제한다는 뜻은 아닙니다. 공격자가 유효한 규칙을 지키면서 새로운 기록을 만들어야 하며, 기존 기록보다 더 많은 작업을 수행해야 합니다.
또한 블록 수만 많다고 무조건 인정되는 것도 아닙니다. 비트코인에서는 누적 작업량이 더 큰 유효한 거래 기록을 기준으로 판단합니다.
이중지불 자체가 왜 발생하는지부터 이해하려면 이중지불 문제는 무엇이며 어떻게 막을까?를 함께 살펴보면 됩니다.
51% 공격으로 가능한 일과 불가능한 일
51% 공격은 네트워크의 거래 순서와 블록 생성에 영향을 미치는 공격입니다. 개인 지갑의 비밀번호를 알아내거나 암호화 기술 자체를 무력화하는 공격과는 다릅니다.
가능한 일과 불가능한 일을 구분하면 다음과 같습니다.
비트코인 백서는 공격자가 유리한 거래 기록을 만들더라도 없는 자산을 임의로 만들거나, 자신에게 속하지 않은 돈을 가져갈 수는 없다고 설명합니다. 다른 참여자들은 규칙에 어긋나는 거래와 블록을 유효한 기록으로 인정하지 않기 때문입니다.
따라서 51% 공격을 이해할 때는 거래 기록의 변경과 지갑 자산의 탈취를 구분해야 합니다.
채굴 능력을 장악한다고 해서 다른 사람의 지갑에 접근할 권한이 생기는 것은 아닙니다. 공격의 핵심은 최근 거래의 처리 순서나 확정 상태에 영향을 주는 데 있습니다.
| 행위 | 가능 여부 | 조건 및 설명 |
|---|---|---|
| 자신이 보낸 최근 거래를 되돌리려는 시도 | 조건부 가능 | 기존 기록보다 누적 작업량이 큰 유효한 기록을 만들어야 합니다. |
| 같은 자산을 다시 사용하는 이중지불 | 조건부 가능 | 거래 상대방이 자산을 지급한 뒤 기존 거래 기록이 대체돼야 합니다. |
| 특정 거래의 블록 포함을 지연 | 조건부 가능 | 공격자가 생성하는 블록에서 해당 거래를 제외할 수 있습니다. |
| 블록 생성 과정에 영향력 행사 | 가능 | 공격자가 충분한 채굴 능력을 유지하는 동안 영향력이 커집니다. |
| 다른 사람의 개인키 없이 자산 탈취 | 불가 | 소유자의 유효한 전자서명이 필요합니다. |
| 정해진 규칙을 무시하고 코인 무제한 발행 | 불가 | 다른 참여자가 유효하지 않은 블록을 거부합니다. |
| 발행량이나 합의 규칙을 단독 변경 | 불가 | 네트워크 참여자들이 변경된 규칙을 받아들여야 합니다. |
| 모든 과거 거래를 즉시 삭제 | 불가 | 과거 기록을 변경하려면 이후 블록들의 작업까지 다시 수행해야 합니다. |

채굴 능력이 정확히 51%여야 할까?
반드시 정확히 51%여야 하는 것은 아닙니다. 51%라는 표현은 특정 세력이 나머지 참여자 전체보다 많은 채굴 능력을 확보했다는 뜻을 쉽게 전달하기 위해 사용됩니다.
채굴 능력이 과반을 넘으면 공격자는 장기적으로 다른 참여자들보다 빠르게 블록을 생성할 가능성이 커집니다. 그렇다고 공격을 시작하는 즉시 원하는 거래를 되돌릴 수 있다는 의미는 아닙니다.
운과 공격 지속 시간도 영향을 줍니다.
채굴 능력이 40%인 공격자도 짧은 구간에서는 우연히 더 빠르게 블록을 생성할 수 있습니다. 반대로 51%를 확보한 공격자라도 짧은 시간 안에 항상 공격에 성공하는 것은 아닙니다.
비트코인 개발자 문서는 과반에 미달하는 연산 능력으로도 특정 조건에서는 거래 기록 공격이 가능하다고 설명합니다. 결국 핵심은 숫자 자체보다 공격자의 연산 능력, 거래 확인 횟수, 공격 지속 시간입니다.
또한 채굴풀의 점유율이 과반을 넘었다고 해서 곧바로 공격이 시작됐다고 단정할 수도 없습니다. 채굴풀은 여러 채굴자가 계산 능력을 모아 운영하는 구조이며, 참여자들은 다른 채굴풀로 이동할 수 있습니다.
다만 채굴 능력이 소수 집단에 집중될수록 네트워크가 특정 운영 주체의 영향을 받을 위험은 커집니다.
거래 확인 횟수가 늘어나면 공격이 어려워지는 이유
비트코인 거래가 블록에 한 번 포함됐다고 해서 위험이 완전히 사라지는 것은 아닙니다. 해당 블록 뒤에 새로운 블록이 계속 연결될수록 거래 기록을 바꾸는 데 필요한 작업량이 증가합니다.
예를 들어 거래가 방금 생성된 블록에 포함됐다면 공격자는 비교적 짧은 구간만 다시 만들면 됩니다. 반대로 여러 블록이 추가된 상태라면 그만큼 더 많은 계산을 수행해야 합니다.
이 때문에 거래소나 결제 서비스는 입금 확인 횟수를 별도로 설정합니다.
비트코인 개발자 문서는 6회 확인을 고액 거래의 위험을 낮추기 위한 참고 기준으로 소개합니다. 평균적으로 약 1시간이 걸릴 수 있지만, 네트워크 상황에 따라 실제 대기 시간은 달라집니다.
다만 6회 확인이 모든 상황에서 절대적인 안전을 보장하는 기준은 아닙니다. 공격자의 연산 능력이나 네트워크의 보안 상태에 따라 필요한 확인 횟수는 달라질 수 있습니다.
특히 전체 채굴 능력이 작은 네트워크는 상대적으로 적은 비용으로 공격을 시도할 수 있습니다. 같은 확인 횟수라도 네트워크 규모와 참여자 분산 정도에 따라 보안 수준은 달라집니다.
비트코인 이전의 중앙집중형 전자화폐가 어떤 방식으로 거래를 관리했는지는 비트코인 이전에도 디지털 화폐가 있었을까?에서 확인할 수 있습니다.
| 확인 상태 | 거래 기록의 상태 | 공격에 필요한 부담 |
|---|---|---|
| 0회 확인 | 거래가 전송됐지만 블록에 미포함 | 상대적으로 낮음 |
| 1회 확인 | 거래가 하나의 블록에 포함 | 해당 블록을 대체해야 합니다. |
| 여러 차례 확인 | 거래 뒤에 후속 블록이 연결 | 거래 블록과 후속 기록을 함께 따라잡아야 합니다. |
| 6회 확인 | 거래 기록에 추가 작업이 누적 | 공격 비용과 필요한 연산 능력이 커집니다. |

지분증명에서도 51% 공격이 가능할까?
지분증명 블록체인에서도 특정 집단이 네트워크 합의에 지나치게 큰 영향력을 행사할 수 있습니다. 다만 비트코인과 달리 채굴 연산 능력이 아니라 검증에 참여하는 예치 자산의 비중이 중요합니다.
지분증명은 검증자가 자산을 맡기고 거래 기록의 검증에 참여하는 방식입니다. 검증자가 규칙을 위반하면 맡긴 자산의 일부가 삭감되거나 네트워크 참여 자격을 잃을 수 있습니다.
이더리움에서는 공격의 유형에 따라 필요한 지분 비중도 달라집니다.
이 수치는 모든 지분증명 블록체인에 공통으로 적용되는 공식은 아닙니다. 이더리움의 합의 구조를 설명하기 위한 기준이며, 다른 네트워크는 설계 방식에 따라 조건이 달라집니다.
이더리움 공식 문서에서는 거래 확정 방해, 블록 내용 통제, 거래 기록 변경에 필요한 지분 비중을 구분해 설명합니다. 또한 부정행위를 저지른 검증자는 맡긴 자산이 삭감되는 불이익을 받을 수 있습니다.
여기서 말하는 비율은 전체 코인 발행량이 아닙니다. 네트워크 검증에 실제로 참여하는 예치 자산의 비중을 기준으로 이해해야 합니다.
두 합의 방식의 차이는 작업증명과 지분증명은 무엇이 다를까?에서 자세히 비교할 수 있습니다.
결국 51% 공격은 블록체인이 무조건 쉽게 해킹된다는 의미가 아닙니다. 특정 참여자에게 합의 권한이 집중될 때 거래 기록의 신뢰성이 어떤 방식으로 영향을 받는지를 보여주는 개념입니다.
| 공격 또는 영향 | 기준 | 설명 |
|---|---|---|
| 거래 기록의 최종 확정 방해 | 약 33% 이상 | 검증 합의가 필요한 기준을 충족하지 못하도록 방해할 수 있습니다. |
| 향후 블록 구성에 영향 | 약 51% 이상 | 새로운 블록에 포함되는 거래에 영향을 줄 가능성이 커집니다. |
| 확정된 거래 기록 변경 시도 | 약 66% 초과 | 더 높은 수준의 지분 통제와 상당한 경제적 손실이 수반됩니다. |
자주 묻는 질문
51% 공격이 발생하면 내 지갑의 코인이 사라지나요?
공격자가 개인키 없이 다른 사람의 지갑에서 코인을 직접 가져갈 수는 없습니다. 다만 거래소 입금이나 최근 결제 기록이 변경되면 거래 상대방에게 피해가 발생할 수 있습니다.
코인을 전체 발행량의 51% 보유하면 공격할 수 있나요?
비트코인에서는 코인 보유량이 아니라 채굴 연산 능력이 중요합니다. 지분증명에서는 전체 발행량이 아니라 검증에 참여하는 예치 자산의 비중을 확인해야 합니다.
채굴 능력이 50% 미만이면 공격은 불가능한가요?
그렇지 않습니다. 과반에 못 미쳐도 짧은 구간에서는 공격이 성공할 가능성이 있습니다. 다만 공격자가 기존 기록을 따라잡을 가능성은 조건에 따라 달라집니다.
51% 공격으로 비트코인을 무제한 발행할 수 있나요?
불가능합니다. 네트워크 참여자는 발행 규칙을 위반한 블록을 유효한 거래 기록으로 받아들이지 않습니다.
확인 횟수가 많으면 51% 공격을 완전히 막을 수 있나요?
확인 횟수가 늘어나면 공격에 필요한 계산량과 비용이 증가합니다. 그러나 모든 상황에서 위험이 완전히 사라진다고 단정할 수는 없습니다.
오해하기 쉬운 점
51% 공격은 코인 보유량 51%나 개인 지갑 해킹을 뜻하지 않습니다. 작업증명에서는 채굴 연산 능력, 지분증명에서는 검증에 참여하는 예치 지분의 영향력을 기준으로 보며, 네트워크별 합의 구조에 따라 공격 조건도 달라집니다.
자주 묻는 질문
51% 공격이 발생하면 내 지갑의 코인이 사라지나요?
공격자가 개인키 없이 다른 사람의 지갑에서 코인을 직접 가져갈 수는 없습니다. 다만 거래소 입금이나 최근 결제 기록이 변경되면 거래 상대방에게 피해가 발생할 수 있습니다.
코인을 전체 발행량의 51% 보유하면 공격할 수 있나요?
비트코인에서는 코인 보유량이 아니라 채굴 연산 능력이 중요합니다. 지분증명에서는 전체 발행량이 아니라 검증에 참여하는 예치 자산의 비중을 확인해야 합니다.
채굴 능력이 50% 미만이면 공격은 불가능한가요?
그렇지 않습니다. 과반에 못 미쳐도 짧은 구간에서는 공격이 성공할 가능성이 있습니다. 다만 공격자가 기존 기록을 따라잡을 가능성은 조건에 따라 달라집니다.
51% 공격으로 비트코인을 무제한 발행할 수 있나요?
불가능합니다. 네트워크 참여자는 발행 규칙을 위반한 블록을 유효한 거래 기록으로 받아들이지 않습니다.
확인 횟수가 많으면 51% 공격을 완전히 막을 수 있나요?
확인 횟수가 늘어나면 공격에 필요한 계산량과 비용이 증가합니다. 그러나 모든 상황에서 위험이 완전히 사라진다고 단정할 수는 없습니다.