💡 Today I Learned

블록체인의 구조와 각 요소의 역할에 대해 알아보았다.
  • 새로 배움: 비둘기집 원리
  • 오늘의 하이라이트: 블록 거래 내용 중 보내는 사람은 없지만 받는 사람이 있는 경우에는 coinbase 거래라고 한다.
  • 궁금한 내용: Elliptic Curve Multiplication

  1. 블록체인 구조를 설명할 수 있다.
  2. 블록 Header에 들어가는 요소와 역할을 설명할 수 있다.
  3. 블록 Body에 들어가는 요소와 역할을 설명할 수 있다.
  4. 블록체인 거래에 대해 간략히 설명할 수 있다.
  5. 해시함수에 대해 간략히 설명할 수 있다.

블록체인 구조

🙋🏻‍♀️체인은 어떻게 생성되나요?

Genesis Block

가장 첫번째 블록, 블록 0번이라고도 한다
https://bitcoinexplorer.org/block-height/0#JSON

🙋🏻‍♀️블록은 어떻게 생겼나요? 🤔

메타데이터

  1. 해시
    여러가지 정보로 값이 정해진다

    • 버전
    • 이전 해시
    • 머클 루트
    • 타임
    • 비트
    • 논스
  2. 버전

  3. 이전 블록해시값
    블록을 연결해주는 유일한 고리

  4. 머클 루트
    트리를 쌓는다

  5. 타임스템프

  6. 난이도

  7. 논스

Body

  1. 수수료
  2. 거래
    거래 정보를 확인할 수 있음

코드

실제 코드에서는 블록 해시가 없다

🙋🏻‍♀️블록 거래는 누가 하나요?

보내는 사람

정보를 블록형태로 묶어서 한 번에 퍼뜨린다

받는 사람

채굴한 사람

블록을 생성하는 데 성공한 사람

💰 보내는 사람이 없는 경우는 coinbase 거래라고 한다.
이전 해시는 00000...이 된다.
시스템에서 주는 보상을 받는다.

🙋🏻‍♀️블록을 어떻게 생성하나요?

해시함수

f(x) = 2x+5

  • 함수는 예측 가능성과 가시성을 높여준다
  • 검증하는 데 활용된다
  • sha256은 무조건 64자리의 함수 (16진수)
  • 16진수 가능한 조합: 16^64
    • 입력값은 무한대인데, 출력값은 16^64 가지가 가능함
      • 💡 비둘기집 원리: 들어갈 수 있는 자리는 정해져 있는데, 들어가고자 하는 액터는 여럿일 때 한 자리를 같이 써야하는 상황.
  • 머클해시

🙋🏻‍♀️블록체인 거래의 특성은 무엇인가요?

블록체인 트랜잭션 특성

  • 양방향으로 생성되지 않는다
  • 블록은 시간순
  • 보내는 사람은 받는 사람의 월렛주소를 알아야함

프로세스

  • 블록체인 트랜잭션을 위해 잠금을 해제해야함
  • 잠금해제를 위해 개인키가 필요함
  • 돈을 때는 개인키가 사용됨
  • 돈을 받을 때는 공개키가 사용됨

공개키

  • 계좌번호
  • 거래시 사용됨
  • 실제 주인의 신원 파악은 불가능
  • 개인키로부터 형성

개인키

  • 비밀번호와 비슷한 개념
  • 디지털 서명시 사용됨
  • 외우고 있어야함

Elliptic Curve Multiplication

  • 개인키 -> 공개키
  • 역추적 불가

Hashing Function

  • 공개키 -> 비트코인 주소
  • 역추적 불가

⭐️ 블록에 있는 정보는 동일하지만 시간의 경우 어느 지역에 있는지에 따라 날짜가 달라질 수 있음
예) Genesis 0 블록 1월4일 vs 1월3일

0개의 댓글