블록체인 - ChoDragon9/posts GitHub Wiki

Klaytn 클레이튼 스마트계약과 탈중앙앱

블록체인의 정의와 구성, 해시함수

블록체인이란?

블록이라는 단위로 정보가 저장되어 있고, 블록들을 체인형태로 묶은 저장기술

해시함수

임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수

  • if X == Y then H(X) == H(Y)
  • if X != Y then H(X) != H(Y)
  • if H(X) == H(Y) then X == Y

블록체인의 구조, 주요 용어

블록, 블록헤더, 해시포인터

  • 블록은 헤더와 바디로 구분됨
  • 헤더는 블록을 설명하는 정보와 이전 블록의 해시를 포함
    • 이전 블록의 해시(hash pointer)를 가지기 때문에 어떤 블록이 앞에 오는 지 알 수 있고, 블록의 순서를 결정할 수 있음

블록높이, 블록생성주기

  • 블록높이
    • 블록들을 최근 블록이 위로 오도록 정렬하면 블록이 생성됨에 따라 체인의 높이가 늘어난다.
    • 블록의 순서를 그 블록이 위치한 높이라 부른다.
  • 블록생성주기
    • 다음 블록을 생성하기까지 걸리는 시간을 블록생성시간이라한다.
    • 비교적 일정한 경우 블록생성주기란 표현을 사용한다.
    • 비트코인: 1시간 / 이더리움: 15초 / 클레이: 1초
      • 블록에 정보가 들어가는 시간이라고 할 수 있다.
      • 클레이는 서비스 지향하기 때문에 짧다.

합의 알고리즘

nonce 해시를 만들 때 중복된 값을 만들지 않기 위해서 사용하는 값

  • PoW
  • PoS
  • BFT-variants