Blockchain papers : [2016] 비트코인의 신뢰구조와 이중지불의 위협

Words
319
Reading
2 min
Listen
Play
9y

이혁준 & 이수미, 2016. 비트코인의 신뢰구조와 이중지불의 위협. 정보보호학회지, 26(2), pp.25–30.

  • 비트코인의 위협 행위는 이중 지불, 부정 인출 등이 있음
  • 개인키를 탈취하여 부정인출을 시도
  • 사용한 비트코인을 재사용하는 이중 지불(Double spending)
  • 이중 지불은 탈중앙화의 구조적 특징에 기인하며, 다양한 방식이 존재

거래 절차

지갑설치 -> 주소생성 -> 송금지시 -> 송금지시 발송 -> 송금지시 검증 -> 블록 생성 및 배포 -> 블록체인 생성 및 공유

송금지시

  • 이전 거래 해쉬 값 (Previous tx)
  • 송금액 (value)
  • 수신자 주소 (공개키, scriptPubKey)
  • 전자서명 (scriptSig) : 송신자의 개인키(priviate key)로 서명

송금지시 검증

  • 송금액 검증 : 블록체인의 거래 내역을 참고해 송금액의 존재 여부를 확인
  • 송신자 및 거래내역 검증 : scriptSig를 확인하여 거래내역 및 송신자를 검증

비트코인의 신뢰구조

  • 전자서명, 해쉬 연결, 검증 비용

거래내역의 무결성 검증

  • 이전 거래의 공개키를 현재 거래의 송신자 전자서명에 대입. 성공한다면 송금지시 내역의 변조 여부와 송신자의 검증이 완료

블록체인 무결성 검증

  • 머클 루트, 이전 블록 헤더 해쉬, 특정값을 헤더에 기록. 이전 블록 헤더로 블록들을 체이닝하고, 머클 루트로 포함 거래의 신뢰성을 확보
  • 머클 트리 노드가 생성된 이후 거래가 변조되면 머클 루트가 변경되므로 신뢰성 판단 기준으로 삼을 수 있음

이중지불 위협 유형

  • 개인키에 대한 위협
  • 송금지시 거래내역의 블록체인 포함에 대한 위협

일반적 보안 위협

  • 거래소 털릴 수 있음
  • 개인 PC의 개인키도 털릴 수 있음
  • 알죠? 콜드월릿

이중지불 공격 유형

  • 기 지불된 비트코인을 회수하거나 재지불하여 거래를 완료하는 것
  • 돈 못받는 사람이 생김
  • 2가지 방식
    • 송금지시가 포함되는 것을 방해하는 방식 (미승인형)
    • 송금지시가 블록체인에 포함되었으나 이를 제거하는 방식 (승인형)

미승인형 1 : 레이스(Race) 공격

  • 2개의 거래내역을 만듦. 원래 거래, 다른 사람한테 돈주는 거래
  • 원래 거래 보여주고, 이것봐바 나 돈 냈음. ㅇㅇ
  • 다른 사람한테 돈주는 거래를 네트워크에 먼저 전파 -> 블록체인에 들어감 -> 원래 거래는 나가리

미승인형 2 : 피니 공격

  • 채굴꾼을 섭외해서 다른 사람한테 돈 주는 거래를 먼저 넣음

승인형

  • 블록체인에 포함되었던 거래를 없애는 것
  • 무작위(Btute Force) 공격 : 긴 블록체인을 가질 때 까지 기다림
  • >50% 공격 : 이러면 확률적으로 원하는 거래를 없애기 쉬움
  • <50% 공격 : 네트워크를 박살내서 >50%으로 가는 것

이중지불 위협 대응

  • 충분한 승인 횟수 확보
  • 모니터링
  • 대규모/장시간 단절 대응
Blockchain papers : [2016] 비트코인의 신뢰구조와 이중지불의 위협 | Ecency