보안 공부/암호학

양자암호와 블록체인

sh1256 2025. 1. 14. 14:15
728x90

블록체인 관련 수업만 5번 이상 들었는데 이해가 안되어서 블록체인 자체를 포기하고 있었다.

하지만 어쩌다 보니 "양자암호와 블록체인"을 주제로 발표를 해야만 했고, 주제를 이해하지도 못하도 발표하는 건 못할 짓이였기에 발표 준비 겸 관련 공부를 시작하였다. 내가 이해한 내용은 이렇다.


목차

  • 블록체인 용어 설명
  • 블록체인과 암호화폐란?
  • 양자 컴퓨터의 등장
  • 양자 컴퓨터가 블록체인에게 끼치는 영향
  • 양자 암호 시대를 향한 정책과 미래 계획
  • 결론

블록체인이란?

블록 체인을 설명하기 전에 간단한 용어 설명

  1. 트랜잭션: 사용자가 간 자산(BTC, 데이터 등)을 전송하거나 데이터를 기록하는 단위
    예시: A가 B에게 10BTC를 보낸다.(트랜잭션)
  2. 블록: 여러 트랜잭션이 모여 생성된 데이터 묶음이며, 체인을 연결하는 단위

그래서 블록체인이란? 블록 + 체인으로, 네트워크 내에서 정보를 투명하게 공유할 수 있도록 하는 데이터베이스 매커니즘인 것이다.
즉, 모두가 투명하게 볼 수 있으면서도, 그 무결성이 입증되는 매커니즘인 것!

그래서 이 블록체인이 은행을 대신하게 된다. 은행이 하는 일 중에 하나가 금융거래의 신뢰성을 보장하는 것이다. 은행의 장부 역할을 블록체인이 대신하게 된다. 이 때에는 트랜잭션이 돈 거래 내역이 되는 것이다. 여기서 블록체인으로 서로 거래하는 돈을 암호화폐라고 한다.

  • 블록체인 활용의 다른 예시
    • 공금방 관리(투명한 물류 추적)
    • 위조 방지(고가품의 진품 인증 및 위조 방지 ex)Everledger)
    • 의약품 추적(약품의 생성및 전달 과정을 기록하여 위조 약품 문제 방지)
    • 전자 투표 및 장부 관리

일단 먼저 블록체인의 전체 흐름을 암호화폐를 통해 살펴보자.


블록체인의 전체 흐름

블록체인의 트랜잭션 처리 과정

1. 트랜잭션 생성 및 전파

트랜잭션 데이터 생성

  • 사용자가 암호화폐를 전송하려고 하면 트랜잭션이 생성된다.
  • 트랜잭션 데이터
    • 발신자 주소 (공개키에서 생성)
    • 수신자 주소
    • 전송 금액
    • 수수료
    • 타임스탬프 등

트랜잭션 서명

  • 사용자는 자신의 개인키로 트랜잭션 데이터를 서명한다.
    • 이 서명은 해당 트랜잭션이 발신자에 의해 생성되었음을 증명한다.
      1. 이 트랜잭션을 생성한 사람의 신원 확인
      2. 신뢰받는 트랜잭션

트랜잭션 전파

  • 서명된 트랜잭션은 네트워크의 모든 노드에 전파된다.
  • 다른 노드는 발신자의 공개키를 사용하여 서명의 유효성을 확인한다.
  • 각 노드는 트랜잭션의 유효성을 확인한 후 미확정 트랜잭션 풀(Unconfirmed Transaction Pool)에 추가한다.
    • 미확정 트랜잭션 풀은 네트워크에서 아직 블록에 포함되지 않은 유효한 트랜잭션의 임시 저장 공간이다.
    • 트랜잭션이 전파되며 네트워크 내의 모든 노드는 트랜잭션 풀이 동기화된다.

트랜잭션의 유효성 확인 이유

  1. 전자서명 유효성: 트랜잭션이 발신자의 개인키로 서명되었는지 확인.
  2. 잔액 확인: 발신자가 송금하려는 금액보다 많은 잔액을 보유하고 있는지 확인.
  3. 이중 지불 방지: 동일한 트랜잭션 ID로 두 번 송금하려는 시도를 차단.

2. 트랜잭션의 해시 값 계산

  • 트랜잭션은 해시 함수를 사용하여 고유한 ID를 생성한다.
    • 해시 함수의 입력값은 트랜잭션 정보와 개인키이다.
  • 해시 값의 역할
    1. 트랜잭션 식별: 네트워크에서 각 트랜잭션을 고유하게 구분.
    2. 무결성 보장: 트랜잭션 데이터가 변경될 경우, 해시 값이 완전히 달라지므로 데이터의 무결성을 확인 가능.

3. 블록 생성

트랜잭션 모으기

  • 채굴자(또는 검증자)는 미확정 트랜잭션 풀에서 유효한 트랜잭션을 선택해 블록을 생성한다.
  • 블록 데이터
    • 선택된 트랜잭션 목록
    • 이전 블록의 해시 값
    • 타임스탬프
    • Nonce (채굴자가 조정 가능한 숫자)

블록의 해시 계산

  • 블록 데이터 전체를 해시 함수로 계산해 블록 해시를 생성한다.
  • PoW 기반 블록체인에서는 블록 해시가 특정 난이도 조건(목표값) 이하를 만족해야 한다. 이는 채굴 조건이다.

PoW란?

  • 블록체인 네트워크에서 합의 알고리즘으로 사용되는 메커니즘 중 하나이다.
  • 채굴자가 블록을 생성하려면 특정 계산 작업(복잡한 문제 해결)을 수행해야 한다는 원리에 기반한다.
  • 이는 네트워크의 보안과 탈중앙화를 유지하는 데 중요한 역할을 한다.

4. 블록체인에 블록 추가

블록 전파

  • 채굴자가 유효한 블록을 생성하면 해당 블록을 네트워크의 모든 노드에 전파한다.

블록 검증 및 체인 연결

  • 다른 노드들은 블록의 유효성을 검증한다:
    • 블록의 해시가 난이도 목표를 만족하는지 확인.
    • 포함된 트랜잭션이 모두 유효한지 확인.
    • 이전 블록 해시와의 연결 확인.
  • 유효한 블록은 블록체인에 추가된다.
    • 다른 노드에서 전파된 블록을 검증 완료하면, 그 블록에 포함된 트랜잭션을 미확정 트랜잭션 풀에서 삭제한다.
    • 채굴자는 남은 미확정 트랜잭션 풀에 있는 트랜잭션을 활용해서 다음 블록을 만드는 다시 채굴을 시도한다

5. 합의 알고리즘 실행

  • 네트워크는 합의 알고리즘(PoW, PoS 등)을 사용하여 어떤 블록을 체인에 추가할지 결정한다.
  • PoW에서는 가장 긴 체인이 유효한 체인으로 간주된다.

블록체인의 전체 흐름 요약

  1. 트랜잭션 생성 → 개인키로 서명 → 네트워크 전파
    • 개인키는 트랜잭션의 소유권 증명과 유효성 보장에 사용된다.
  2. 해시 함수로 트랜잭션과 블록 식별 → 블록에 추가
    • 해시 함수는 트랜잭션과 블록의 고유 ID 생성과 무결성 보장에 사용된다.
  3. 블록 해시 계산 → 이전 블록 해시와 연결 → 체인 형성
  4. 합의 알고리즘 실행 → 블록체인 업데이트

양자 컴퓨터의 등장

양자 컴퓨터가 블록체인에게 끼치는 영향

블록체인에서 사용하는 핵심 보안 매커니즘인 해시함수와 비대칭키에 큰 영향이 있다.

비대칭 키의 위험

비대칭 키는 이산대수의 문제(인수분해의 어려움)에 의존하여서, 현대 컴퓨터로는 몇백년에 걸쳐 모든 key를 시도해야만 풀 수 있다. 하지만 양자 컴퓨터는 Shor 알고리즘을 이용하여 RSA, ECC, ECDSA같은 기존 비대칭 암호를 단시간에 해석할 수 있다.
-> 공격자는 공개키로부터 개인키를 역산할 수 있으며, 이를 통해 개인키를 탈취하여 트랜잭션을 위조하거나, 자산을 빼앗을 수 있다.

해시 함수의 위험

양자 컴퓨터는 Grover알고리즘을 사용해 해시 값을 찾는 작업을 기존 컴퓨터보다 훨씬 빠르게 수행할 수 있다.
-> 해시 충돌을 더 쉽게 찾을 수 있어서 블록체인의 무결성이 손상될 위험이 있으며, 공격자가 블록의 내용을 변경하고 새로운 해시를 생성해도 기존 체인과 연결이 가능하게 될 수 있다.

51% 공격의 쉬운 실행

PoW 기반 블록체인에서는 채굴자가 새로운 블록을 생성하기 위해 특정 난이도를 만족하는 해시 값을 생성해야 하는데, 양자 컴퓨터는 기존 장비보다 훨씬 빠르게 해시 값을 계산할 수 있으므로, 공격자가 네트워크의 51% 이상의 해시 파워를 점유하기 쉬워진다.

  • 부연 설명
    PoW 기반 네트워크는 가장 많은 작업량이 투입된 체인(가장 긴 체인)을 "유효한 체인"으로 간주한다. 블록을 생성하려면 채굴자가 난이도 조건(목표값)을 만족하는 해시를 계산해야 하며, 이를 위해 많은 해시 파워가 필요합니다.

(공격 방법)

  1. 양자 컴퓨터를 가진 채굴자는 다른 모든 채굴자보다 더 빠르게 블록을 생성한다.
  2. 이 때 자신의 체인을 비공개로 생성하여 이 체인은 다른 노드와 공유되지 않으며, 공격자의 목적(이중 지불) 등을 포함한다.
  3. 가장 긴 체인이 된 후에는 체인을 공개하여 네트워크에 전파하고, 진짜 체인이 된다.

실제로 블록체인에 쓰이는 각 암호 알고리즘들

양자 암호를 이용한 대책과 미래 계획

블록체인 기술에 사용된 암호 알고리즘은 양자 컴퓨터의 위협에 대응하기 위해 양자 내성 암호 (PQC)로 전환하는 것을 고려한다.

양자 내성 암호화 알고리즘

현재 쓰이는 양자내성암호는 양자컴퓨터 기술에 대응하기 위해 개발된 암호화 기술이다.

불확실성 원리를 이용한 암호화 방식을 가지고 있는 양자내성암호는 양자컴퓨터의 빠른 연산속도에 대해서도 안전하게 사용할 수 있다.

양자내성암호의 전자서명 알고리즘

  • FALCON(Fast Fourier Lattice-based Compact Signatures over NTRU):
    • 격자 기반 양자 내성 암호
    • 샘플링이 융합된 형태의 양자 컴퓨터로부터 내성을 가진 양자내성암호 및 전자서명 알고리즘이다.
    • 기존의 RSA 및 ECDSA와 같은 서명 알고리즘과 다르게 양자 컴퓨터의 공격에 대한 내성을 가지며 대규모 다항식을 효율적으로 처리할 수 있다.
  • CRYSTALS-DILITHIUM
    • 격자 기반 암호 시스템
  • RAINBOW
    • Oil과 Vinegar의 원리를 기반함
  • SPHINCS+, XMSS 등

양자 내성 암호의 해시기반 알고리즘

해시 기반 암호는 해시 함수의 충돌 저항 문제에 기반하고 있다.

해시 기반 암호는 양자 알고리즘에 의해 보안성이 감소하게 되지만, 긴 해시 출력을 사용하는 것으로 안전성을 유지할 수 있다.

또한 해시 기반 암호는 해시 함수와 서명 알고리즘을 결합한 것으로 보안 취약점이 발견된 부분을 모듈 형식으로 대체하여 유연하게 할 수 있다.

  • Lamport-Diffie OTS

블록체인 구조 개선의 필요성

양자내성암호를 기존의 블록체인에 그대로 도입했을 때 발생하는공개키 및 서명의 크기나 서명 검증 시간증가 등의 문제가 있다.

1. 키 크기가 작아야 한다.

- 기본적으로 블록체인은 정보를 안전하게 저장하는 데이터베이스의 일종으로, 데이터 이외의 다른 저장 공간을 효율적으로 줄여서 관리할 필요가 있다.

- 키가 커질수록 키를 생성하는데 연산량이 커지기 때문에 빠른 블록 생성을 방해한다.

2. 작은 서명 크기와 짧은 해시 길이이다.

- 서명의 크기가 커지고 해시 길이가 길어질수록 블록체인의 블록의 크기가 커진다.

- 따라서 서명의 크기를 줄이고 해시 길이를 짧게 해서 저장 공간을 효율적으로 사용할 수 있어야 한다.

3. 빠른 연산 속도가 필요하다.

- 블록을 빠르게 생성하고 트랜잭션을 처리하는 속도가 빨라야 한다. 그러기 위해서는 자원이 한정된 환경에서도 원활한 동작을 지원하기 위해 낮은 연산 복잡도를 가질 필요가 있다.

4. 낮은 연산 복잡도.

- 앞서 3번에서 말한 단순히 빠른 연산속도가 아니라, 병렬로 진행할 수 있는 알고리즘이 효율성을 끌어올릴 수 있다.

현재 Bitcoin Post-Quantum은 양자 내성을 확보하기 위해 제안되었으며, Ethereum 3.0 zk-STARK를 적용하는 등 양자를 암호화폐에 적용하기 위한 실험과 연구를 진행하고 있다.일본에서는 스마트 카드에 CRYSTALS-Dilithium을 적용하여 의료 데이터의 안전한 저장 및 교환을 실험적으로 구현하였다.

또다른 논의점

비트코인이 개선되어 양자 내성 암호가 포함되어 업데이트된 경우라 할지라도, 상당수의 유저들은 일반적인 트랜잭션 방식인 P2PKH(Pay-to-Public-Key-Hash)를 여전히 사용할 수 있다. 따라서 비트코인에 양자 내성 암호가 적용된 프로토콜이 배포되더라도 QCA(Quantum-Capable Adversary)에 취약하게 된다.

2018년, 비트코인에서 사용되고 있는 서명 알고리즘인 ECDSA를 양자 내성 암호로 안전하게 전이하기 위한 CDR(Commit-Delay-Reveal) 프로토콜이 제안되었다. CDR 프로토콜은 느리지만 안전하게 사용자를 양자 내성 환경으로 전환할 수 있게 설계되었다.

CDR 프로토콜로 전환이 완료된다면 기존 ECDSA는 더 이상 허용되지 않고, 클라이언트는 기존에 사용한 양자 내성 암호나 CDR 프로토콜을 통해 전환된 체계인 UTXO(Unspent Transaction Outputs)만을 사용할 수 있다.

블록체인 구조 개선 방법


1. 경량화 트랜잭션 구조 제안:

  • 양자 내성 서명 알고리즘은 일반적으로 큰 키와 서명 크기를 가지기 때문에 블록체인의 저장 공간과 네트워크 대역폭에 부담을 줄 수 있다.
  • 해결 방법:
    • 발신자의 서명과 수신자의 공개키를 해시 값으로 대체하여 저장 공간을 줄임.
    • 비고정 블록에서는 서명과 공개키 쌍을 전송하고, 고정 블록에서는 이를 제외해 블록 크기를 줄임

2. IPFS와 결합한 저장소 최적화:

  • 큰 공개키와 서명을 블록체인에 직접 저장하지 않고, **IPFS(InterPlanetary File System)**를 통해 외부에서 관리하고 해시 값만 블록에 저장하는 방법.
  • 이를 통해 블록 크기를 줄이고 네트워크 효율성을 높임

3. 하이브리드 및 전환 솔루션:

  • 양자 내성 암호로 완전히 전환하기 전까지 기존 암호와 양자 내성 암호를 병행 사용(하이브리드 방식).
  • CDR(Commit-Delay-Reveal) 프로토콜이나 하이브리드 서명 체계(PQFabric)를 통해 기존 블록체인을 양자 내성 환경으로 안전하게 전환하는 연구가 진행되고 있음

4. 합의 알고리즘 및 보안성 강화:

  • 기존의 합의 알고리즘(예: PoW, PoS)에 양자 내성 특성을 도입.
  • 예: 다변수 이차 방정식(MQE)을 사용한 PoW 대체 알고리즘

결론

양자화 언제될 지는 모르겠다. 사실상 이 내용들은 그냥 다 이론적인 거고, 실제로 계산을 성공했다는 이야기는 없다. (그런 게 나오면 세상 빨리 바뀔 듯)
어쨋든 뇌피셜로는 될 거 같으니 양자 알고리즘, 양자 컴퓨터, 양자암호 관련 주식을 구매하자(아 코인도)


참고 논문 및 사이트

  1. 양자 내성 블록체인을 위한 경량화 구조 제안
  2. 양자내성 블록체인에 관한 기술적 동향
  3. 양자 공격에 안전한 블록체인을 위한 요구사항 분석
  4. 국내·외 양자내성암호 전환 정책 및 상용화 동향
  5. 블록체인의 양자 내성 전자서명 호환성을 증대하기 위한 트랜잭션 구조 제안
  6. 양자내성 전자서명의 블록체인 적용에 관한 연구동향

https://brunch.co.kr/@bumgeunsong/50
https://horizon.kias.re.kr/14195/
https://ljy98.tistory.com/134
https://brunch.co.kr/@2be1st/1


추가 정보

미확정 트랜잭션 풀의 특징

  1. 각 노드별로 관리
    미확정 트랜잭션 풀은 네트워크의 각 노드에서 독립적으로 관리되는 구조이다.
    모든 노드가 동일한 트랜잭션 풀을 가지지 않을 수 있으며, 이는 네트워크 상태와 전파 속도에 따라 다르다.

  2. 트랜잭션의 우선순위
    채굴자는 보통 수수료가 높은 트랜잭션을 우선적으로 선택한다.
    높은 수수료는 채굴자에게 더 큰 인센티브를 제공한다.

  3. 공간 제한
    미확정 트랜잭션 풀은 공간이 제한되어 있다. 과부하 상태가 되면 낮은 수수료 트랜잭션부터 삭제된다.


미확정 트랜잭션 풀의 구조

  1. 각 노드별 관리
    네트워크에 연결된 각 노드는 자신만의 미확정 트랜잭션 풀을 유지한다.
    트랜잭션이 네트워크에 전파되면 노드들은 이를 수신하고 검증한 후 자신의 미확정 트랜잭션 풀에 추가한다.

  2. 노드 간 동기화
    트랜잭션은 네트워크를 통해 빠르게 전파되므로 대부분의 노드가 유사한 트랜잭션 풀을 가지게 된다.
    하지만 완전히 동일하지 않을 수 있다:

    • 일부 노드가 트랜잭션을 수신하지 못했을 수 있다.
    • 특정 노드가 수수료가 낮은 트랜잭션을 삭제했을 수 있다.

이더리움이 비트코인과 다르게 PoW 대신 PoS를 사용하는 이유 (보안 관점)

  • PoS는 PoW보다 51% 공격을 수행하기 어렵다.
    • PoW: 네트워크의 해시 파워의 51%를 점유하면 공격이 가능하다.
    • PoS: 네트워크의 총 스테이킹된 자산의 51% 이상을 점유해야 공격이 가능하다. 이는 자산 손실 위험이 크기 때문에 경제적으로 비효율적이다.

양자내성 암호의 표준화 및 전환 정책

  1. 미국

    • NIST는 2016년부터 양자내성암호(Post-Quantum Cryptography, PQC)의 표준화를 추진하고 있다.
      현재 3라운드 공모전에서 Dilithium, Falcon, Rainbow 등의 전자서명 알고리즘을 최종 후보로 선정했다.
    • 미국은 양자 내성 암호로의 전환을 위한 로드맵을 마련하고, 국가 안보 시스템에서 기존 암호화 시스템을 대체하는 계획을 실행하고 있다.
      이를 통해 2030년까지 양자내성 암호를 국가 사이버 보안 체계에 적용할 계획을 세우고 있다.
  2. 유럽

    • 유럽의 ETSI는 양자 내성 암호의 표준화 작업을 진행하며 양자 내성 암호를 적용하는 전환 전략을 제시했다.
    • 프랑스는 2022년에 양자내성 암호 전환 계획을 발표하고, 하이브리드 방식으로 양자 내성 암호를 도입하기 시작했다.
  3. 한국

    • 한국은 양자 내성 암호 기술 개발 및 상용화를 위해 KISA(한국인터넷진흥원)를 중심으로 연구와 정책을 추진하고 있다.
    • 국내 주요 기업들은 양자 내성 암호를 적용한 글로벌 VPN 네트워크와 같은 상용화 사례를 개발하여 양자 내성 블록체인 기술을 준비하고 있다.

이중지불 과정

이 상황은 이중지불 공격(Double Spending Attack)의 사례이다.
공격자가 한 번 사용한 자산을 블록체인을 조작하여 다시 자신의 지갑으로 돌려놓는 행위를 말한다.


예시: 비트코인 이중지불 공격

상황 설정

  1. 공격자 A10 BTC를 가지고 있다.
  2. 공격자 A판매자 B에게 상품을 구매하기 위해 10 BTC를 보낸다.
  3. 이 거래는 네트워크에 전파되어 임시로 블록에 기록된다.

공격 진행

  1. 공격자 A는 강력한 양자 컴퓨터를 사용해 새로운 체인을 만든다.
    • 새 체인에는 B에게 보낸 거래를 포함하지 않고, 10 BTC가 여전히 자신의 지갑에 있는 상태로 설정한다.
  2. A는 빠른 계산 능력으로 기존 체인보다 더 긴 체인을 만들어낸다.
    • PoW 시스템에서는 "가장 긴 체인"이 유효한 체인으로 간주되므로, 네트워크는 A의 체인을 받아들인다.
  3. 네트워크는 A의 체인을 승인하고, 기존 체인(10 BTC를 B에게 보낸 거래 포함)은 무효화된다.

결과

  1. 판매자 B는 A에게 상품을 보내지만, 블록체인에는 10 BTC 거래가 존재하지 않게 된다.
  2. A는 10 BTC를 다시 자신의 지갑에서 사용할 수 있다.

결론

이중지불 공격은 블록체인의 무결성을 위협한다.
양자 컴퓨터를 활용한 이 공격은 빠르게 새로운 블록을 생성해 네트워크의 규칙을 악용하며, 기존 거래를 무효화하고 자산을 탈취할 수 있는 위험성을 증가시킨다.

네븐의 법칙

네븐의 법칙(Neven's Law)은 양자 컴퓨팅 기술의 발전 속도를 설명하는 법칙으로, 구글 양자 인공지능 연구소의 하르트무트 네븐(Hartmut Neven)에 의해 제안되었다. 이 법칙은 양자 컴퓨터의 성능이 지수 함수적으로 증가한다고 주장한다.

내용
네븐의 법칙은 다음과 같이 요약할 수 있다:

양자 컴퓨터의 성능은 매년 더블링(doubling)을 넘어서, 기존의 지수 함수적인 속도보다 더 빠르게 성장한다.
이는 양자 컴퓨팅의 발전 속도가 전통적인 무어의 법칙보다 훨씬 더 가파르다는 것을 의미한다.
네븐의 법칙은 양자 우위(Quantum Supremacy)를 달성하는 데 중요한 역할을 한다고 여겨진다. 양자 우위란 특정 계산 문제에서 양자 컴퓨터가 기존의 슈퍼컴퓨터보다 우월한 성능을 보여주는 상태를 뜻한다.