Skip to content

Latest commit

 

History

History
53 lines (44 loc) · 2.2 KB

Bitcoin.md

File metadata and controls

53 lines (44 loc) · 2.2 KB

Bitcoin

#Bitcoin

  • Bitcoin은 Block 단위이다

    • 블럭에는 트랜잭션(거래기록)이 담겨있다
    • 해시 퍼즐을 풀면 코인을 얻을 수 있고, 이를 채굴이라한다
  • 블럭에 데이터를 기록하는 방식은 작업 증명방식을 사용한다

    • 작업 증명방식 중에서도 해시퍼즐(SHA-256)을 사용한다
    • 작업 증명 방식은 연산이 많이 필요하다
      • 모든 블록에서 똑같은 거래 기록을 기입하는 것이다
      • 이 때문에 쓸데 없는 전력소모가 많다고들한다
      • 하지만 오히려 이러한 점이 신뢰도를 높인다.
  • 해시 충돌

    • 해시 결과 값이 동일한 것을 말한다
    • 이는 보안이 취약함을 의미한다
    • 하지만 필연적 해시 충돌까지 남은 시간을 계산하면 엄청 많이 남아 걱정 안해도된다
      • 양자 컴퓨터가 나오면 이야기가 조금 달라진다
  • Hash Rate

    • 전체 Block Chain 네트워크의 초당 연산량
  • 위에서 말했듯 양자 컴퓨터의 연산속도가 너무 빨라 해시 충돌 발생 시기를 앞 당길 것이다

    • 이를 양자 컴퓨터 리스크라 한다
    • 비트코인은 양자 컴퓨터 리스크 [^risk] 는 포크를 통해 극복하려고 한다
      • 포크란 시스템 규칙을 수정하는 것을 말한다. 소프트 포크와 하드 포크가 존재한다

Bitcoin의 구조

  • 블럭 헤더(블록 정보) + 블럭 바디(트랜잭션 정보)
    • 블록헤더
      • 이진 블록 헤더 해시
        • 블럭 연결
        • 하나의 해시 값 도출 (이진 트리 구조)
      • 머클 트릭 루트 해시
        • 트랜잭션 위변조 검증
          • 수 많은 트랜잭션 중 하나가 달라지면 해시값도 달라짐
        • 반드시 감시하는 구조
      • 타임 스탬프
        • 블록 생성시간
        • 로컬 타임을 이용함
      • 타깃 난이도 비트
        • 블럭 싱성을 의한 난이도 저장
        • 목표 해시 값에 영향을 미침
      • 난스
        • 블록의 답
        • 해시값에 0 을 붙이고SHA-256 2번 적용
    • 바디
      • 트랜잭션이 저장됨

[^risk]: 양자 컴퓨터의 공격을로 안전하다고 여겨지는 알고리즘(post 양자 암호화 알고리즘)을 이용해 포크를 진행해 방어하는거다