블록체인에 대해 전반적인 그림을 그리기 위해 조사하며 얻은 얕은 지식입니다.
1. 어디에 저장?
노드에 저장된다
블록체인을 설명할때 주로 블록은 데이터베이스, 체인은 체인 이라는 표현을 한다.
블록에 정보를 저장하고 체인형태로 쭉 이은 구조이기 때문인데,
이러한 탈중앙화 구조로 인해 해킹에 안전하다고 한다.
그런데 문뜩 궁금해졌다. 거래내역과 같은 정보들은 블록에 저장된다고 하는데,
그럼 이 블록은 실제로 어디에 존재하는 것일까?
무엇이 됐든 물리적인 저장 공간은 있어야 기록이 계속 유지되지 않는가?
어딘가의 서버에 존재하면 그것은 중앙화된 구조기에 말이 안되지 않는가?
2. 블록체인 노드
블록들은 노드에 저장된다.
노드라는 단어를 많이 들었지만 정확히는 잘 몰랐다.
우선 암호화폐 시장은 3종류의 사람들로 구성된다.
- 채굴자 (컴퓨터로 암호를 풀고 블록을 생성할 권한을 얻음)
- 소비자 (생성된 코인을 가지고 거래를 함)
- 네트워크 참여자 (거래가 안전한지 검토하고 승인하는 관리자)
이때 네트워크 참여자들이 사용하는 기계를 노드라고 한다.
노드는 새로운 블록이 생성되면 그 블록이 안전한 거래인지 검토하고 승인하는 역할이다.
데이터를 다운로드할 수 있는 모든 종류의 전자기기는 노드가 될 수 있다.
즉, 모든 스마트폰이나 데스크탑 PC가 노드가 될 수 있다.
노드가 되려면 블록체인 네트워크에 접속하면 된다.
블록체인 네트워크에 접속하려면 데이터(블록)를 다운받거나 지갑을 생성하는 등의 행위를 의미한다.
이런 노드는 전 세계에 무수히 많이 있기에 탈중앙화었다고 말할 수 있고, 이를 해킹하기 위해선 전세계의 스마트폰과 데스크탑을 해킹해야 한다는 말이 된다.
검증의 원리와 과정은 다음 포스팅으로 알아보도록 하자.
3. 노드의 종류
노드는 풀노드와 라이트노드로 구분할 수 있다.
더 많은 종류의 노드가 있긴하지만 일단 대표적인 종류부터 알아보자.
1. 풀노드
풀노드는 모든 기능을 다 가지고 있는 노드이다.
이때 모든 기능이란
- 지갑
- 채굴
- 데이터베이스
- 라우팅
을 의미한다.
풀노드는 최초의 블록부터 최신의 블록까지 모든 블록을 가지고있다.
따라서 독자적으로 어떤 거래에 대한 검증을 할 수 있다.
모든 블록을 저장하고 있어야하기에 저장공간이 많이 필요하다.
비트코인의 경우 최초블록(제네시스블록)부터 현재의 블록까지 모든 정보를 저장하기 위해서는 200GB 이상의 용량이 필요하다고 한다.
이곳에서 소프트웨어를 다운로드받으면 풀노드가 될 수 있다.
https://bitcoin.org/ko/download
2. 라이트노드
라이트노드는 블록체인의 모든 블록을 가지고있지는 않다.
따라서 풀노드보다 요구되는 저장용량이 적다.
헤더정보만 가지고있는 일종의 요약본이다.
라이트노드도 거래는 가능하다. 다만 거래에 대한 검증은 불가능하다.
검증을 하기위해 풀노드에 검증된 거래인지 머클트리를 통해 확인하는 요청이 필요하다.
이를 SPV(Simple Payment Verification)라고 한다.
참고:
'Block Chain' 카테고리의 다른 글
[블록체인] 암호화폐 채굴과 51% 공격 (2) | 2021.12.05 |
---|---|
[블록체인] 트랜잭션의 검증(비대칭 암호화 방식) (0) | 2021.11.28 |
[블록체인] 블록체인의 활용 (0) | 2021.08.29 |
[블록체인] 블록체인 애플리케이션 BApp (1) | 2021.08.28 |
[블록체인] 스마트 컨트랙트 (0) | 2021.08.26 |