# QR 코드 (QR Code)

QR 코드(Quick Response Code)는 기계가 읽을 수 있는 2차원 바코드로, 정사각형 격자 안의 흑백 패턴으로 정보를 인코딩합니다. 1994년 일본의 덴소 웨이브(Denso Wave)가 개발했으며, 스마트폰 카메라로 빠르게 읽을 수 있습니다. 암호화폐에서는 지갑 주소나 결제 요청을 다른 사람과 쉽게 공유하는 데 자주 쓰이며, 대부분의 지갑 앱은 공개 주소를 QR 코드로 바로 보여 주는 기능을 제공합니다.

**작동 방식**

- **구조:** 세 모서리의 큰 사각형(위치 찾기 패턴)으로 방향과 크기를 파악하고, 나머지 칸의 흑백 모듈에서 데이터를 읽습니다. 숫자, 영숫자, 바이트 등 여러 모드로 데이터를 담을 수 있습니다. 크기는 21×21 모듈인 버전 1부터 177×177 모듈인 버전 40까지 있으며, 담는 데이터가 많을수록 더 큰 버전이 필요합니다. 그래서 짧은 주소만 담은 QR 코드는 칸이 크고 단순하게 보이고, 금액과 메모까지 담은 결제 요청 QR 코드는 더 촘촘해집니다.
- **오류 정정:** 리드–솔로몬(Reed–Solomon) 부호를 써서 일부가 가려지거나 손상되어도 읽을 수 있습니다. 오류 정정 수준은 L, M, Q, H 네 단계로, 각각 데이터의 약 7%, 15%, 25%, 30%까지 복구할 수 있습니다.
- **암호화가 아닙니다:** QR 코드는 정보를 숨기지 않습니다. 누구나 스캔하면 내용을 그대로 읽을 수 있으므로, 개인 키나 시드 문구를 QR 코드로 만들어 노출해서는 안 됩니다.

**암호화폐 결제 URI**

QR 코드에는 주소만 담을 수도 있고, 금액과 네트워크 정보가 포함된 결제 요청 URI를 담을 수도 있습니다.

- **BIP-21 (비트코인):** `bitcoin:주소?amount=0.01&label=...` 형식으로 주소, 금액, 메모 등을 담습니다.
- **EIP-681 (이더리움):** `ethereum:주소@체인ID` 형식으로 주소와 체인을 지정하며, 토큰 전송 같은 컨트랙트 호출도 표현할 수 있습니다.

지갑이 URI를 읽으면 송금 화면에 주소와 금액이 자동으로 채워지므로, 길고 복잡한 주소를 직접 입력할 때 생기는 오타를 줄일 수 있습니다.

**보안상 주의할 점**

- **QR 코드 바꿔치기:** 인쇄된 QR 코드 위에 다른 QR 스티커를 붙이거나, 화면 속 QR 코드를 바꾸면 공격자의 주소로 송금하게 될 수 있습니다. 스캔한 뒤 주소의 앞뒤 몇 글자를 받는 사람과 다른 경로로 확인하는 것이 좋습니다.
- **네트워크 확인:** 같은 형식의 주소가 여러 네트워크에서 쓰이는 경우가 있으므로, 주소만 담긴 QR 코드를 받았다면 어떤 네트워크로 보내야 하는지 따로 확인해야 합니다. 스테이블코인처럼 여러 네트워크에서 발행되는 자산은 특히 주의가 필요합니다.
- **악성 링크:** 출처를 확인하지 않은 QR 코드는 피싱 사이트나 악성 결제 요청으로 연결될 수 있습니다.

---
출처: https://achivx.kr/glossary/qr-code-qr-%EC%BD%94%EB%93%9C/ · ACHIVX 용어 사전 · 수정일 2026-10-20
