- 블록체인이란 정보를 블록 단위로 저장하여 저장된 블록을 체인 형태로 묶은 저장 기술이다.
- LinkedList와 똑같은 방식으로 구현되있다. 하지만 기억하는 방법다르다.
블록체인에서는 해시함수로 이를 기억한다.
- 해시함수
- 해시(Hash) 함수란 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수이다.
- 해시 함수는 하나의 데이터에서 단 하나의 해시가 도출된다.
- 사용 예로는 URL을 줄여주는 것이 있다.
ex) www.bit.ly/A42B5 => 원래 길었던 URL을 해시변환을 통해서 짧게 줄여줌
- SHA-256, Keccak 등의 해시 함수가 있는데
같은함수로 다른 데이터를 해시했을 경우,
다른함수로 같은 데이터를 해시했을 경우 모두 다른 값이 나온다.
하지만 모두 256비트 (64자리 hex, 32바이트)길이의 값으로 해시된다.
- 블록의 구조
- 그렇다면 블록체인에서 블록은 어떻게 존재할까?
블록은 헤더와 바디로 구분되는데,
헤더는 블록을 설명하는 정보와 이전 블록의 해시를 포함한다.
- 블록 높이, 블록생성주기
- 블록체인에서는 첫번째(0번) 블록에서 쌓아올린다는 점에서 블록의 순서를 높이로 표현한다.
- 또한 블록체인은 블록생성주기가 중요하다.
비트코인은 10분, 클레이튼은 1초정도의 블록 생성주기를 갖는다.
블록 생성주기 == 체결 속도라고 볼 수 있는데 클레이튼은 서비스를 더 중요시하는
코인으로 높은 블록 생성주기를 갖는다.
만약 카카오 같이 빠르고 다양한 서비스를 제공해야하는 플랫폼에서
한 트랜잭션 처리가 10분씩 걸린다면 아무도 이 서비스를 사용하지 않을 것이다.
- 블록체인 네트워크
- 보통의 네트워크는 연산력이 큰 서버에 클라이언트가 요청하여 답을 받는 클라이언트-서버 구조를 갖는다.
하지만 블록체인 네트워크는 P2P(Peer-to-Peer) 구조의 네트워크 이다.
P2P의 대표적인 예로 토렌트가 있는데, P2P 네트워크에서는 네트워크 참여자 전원이
모든 블록을 동일한 순서로 저장하여 모두 같은 블록체인을 유지한다.
- 코인을 하다보면 스냅샷이라는 말을 종종 들을 수 있는데,
어떤 블록체인 네트워크에 블록이 100개가 있다고 가정하자.
이 블록체인에서 현재 상태에서 스냅샷은 100개의 블록이다.
즉, 모든 노드들이 100개의 블록을 가지고 있어야 다음 블록을 기록할 준비가 된 것이다.
- 합의(Consesus)
- 비트코인은 블록체인 네트워크의 첫번째 어플리케이션이다.
비트코인의 목적은 금융을 기록하는 것이었다.
예를 들어 A에게 100원은 전송했다는 모든 노드에 기록하는 것이다.
블록체인은 PoW 합의 메커니즘을 따른다.
노드들은 블록을 제안자가 누군지는 몰라도 PoW 메커니즘에 따라
올바르게 일을 하고 있다면 블록 제안 자격을 얻었다고 판단 한다.
각 노드들은 제안자가 올바른 자격을 취했는지 검증한 뒤 제안한 블록을 자신의 체인에 추가한다.
정해진 기준을 만족하는 수 이상의 노드들이 블록을 자신에 체인에 추가하면
이를 합의가 이뤄졌다고 판단한다.
- 정리
(한양대학교 X GroundX)
'Block Chain ETC' 카테고리의 다른 글
블록체인 개념 정리#3 (0) | 2022.07.01 |
---|---|
블록체인 개념 정리#2 (0) | 2022.06.30 |
Solidity 문법 정리 (0) | 2022.06.29 |
BlockChain Trilemma (0) | 2022.05.30 |
Mainnet (0) | 2022.01.03 |