3주차 - 블록체인_비트코인

백소현·2025년 4월 19일

블록체인 암호기술

1. 해시 함수

임의의 길이의 데이터를 고정된 길이의 무작위처럼 보이는 값으로 변환하여, 데이터의 무결성을 검증하고 식별할 수 있게 해주는 암호 기술

해시 함수의 특징

  1. 고정 길이 값 출력
    : 어떤 데이터를 입력해도 항상 같은 길이의 해시값을 출력한다.
  2. 사소한 변화에도 민감 반응
    : 입력값 중 숫자 하나만 바꾸어도 완전히 다른 해시값을 출력한다.
  3. 일방향성
    : 해시값을 통해 입력 데이터를 유추하는 것은 불가능하다.
  4. 해시값 무작위성
    : 입력 데이터에 대한 출력값은 예측할 수 없다.
  5. 해시값의 일관성
    : 입력 데이터가 동일하다면 해시값은 항상 동일하다.

해시 함수의 활용

  1. 디지털 서명을 위한 문서 지문 생성
  2. 블록체인에서 블록 간의 연결
  3. 작업 증명 방식

2. 공개키 암호

서로 다른 공개키와 개인키를 사용해 데이터를 암호화하고 복호화함으로써, 안전한 통신과 디지털 서명을 가능하게 하는 암호 기술

한 쌍의 키 생성

  • 서로 다른 키를 생성하여 암호화와 복호화에 서로 다른 키를 적용
  • K+ : 공개키 (다른 사람에게 공개, Public Key)
  • K- : 개인키 (비밀로 보관, Private Key)
  • 공개키로부터 개인키 추론 불가능

암호화(Encryption)

방법 1) 공개키를 사용하여 암호화, 대응되는 개인키로 복호화
방법 2) 개인키를 사용하여 암호화, 대응되는 공개키로 복호화

공개키 암호 활용

전자 서명(Digital Signature)

  • 공개키 기반의 암호 기술을 활용
  • 디지털 문서에 대한 인증과 부인 방지가 목적
  • 개인키는 개인이 소유하여 서명
  • 공개키로 복호화(검증)
  1. 개인키로 문서에 대한 Hash 값 암호화 → 전자서명
  2. 다른 사람은 서명한 사람의 공개키로 전자서명을 풀 수 있음
  3. 문서의 해시값을 계산한 후 전자서명과 비교

비트코인에서 공개키 암호의 활용

비트코인에서의 송금

상대방의 공개키로 암호화하여 상대방에게 송금(트랜잭션의 Output)
→ 송금 받은 사람은 자신의 개인키를 이용하여 복호화함으로써 소유권 증명(트랜잭션의 Input)

0개의 댓글