etc/BlockChain

블록체인 구조와 이론_이론편 (분산원장과 비트코인 그리고 P2P 네트워크)

코딩무민 2020. 10. 14. 21:32
반응형

블록체인 구조와 이론 책을 정리해봤습니다! 

 

처음으로 블록체인의 가장 기본이 되는 구조인 분산원장에 대해서 알아보겠습니다.

1. 분산원장 

-  비유 : 공유 통합 문서 

 공유 통합 문서에서 여러 사람이 열어서 편집할 때 한명에게만 편집 허용하고, 다른 사람에게는 참조 권한 부여 등을 하는 것처럼시스템에서 여러 사람이 데이터를 사용 가능하게 하는 것!

 

→  데이터베이스에 저장된 데이터에 대한 권한 관리를 "데이터베이스 서버"가 수행하고, 여러 사용자로부터 동시에 같은 데이터 쓰기 요청이 와도 이를 관리하는 역할을 한다.

 

장점

- 복잡한 구조 단계를 단순화시킬수 있다.

- 다양한 정보를 분산원장에 기록하고 공유 가능.

- 부정이 일어나도 과거 이력을 통해 검증 가능

 

단점

- 지연이 발생할 수도 있다. 

 

예시 : 무역

 

기존 무역 시스템
블록체인 이용 무역 시스템 

(사진 출처 : https://blog.naver.com/chowk17/221565356024

 


이제 블록체인의 구조에 대해서 알아보겠습니다. 

2. 블록체인 구조 

2-1 블록체인의 특징 

1 시간별로 정렬되어 있다

2 분산형 원장 구조

 

  • 변조가 어려움
  • 거래 기록의 작성시점을 객관적으로 알 수 있음
  • 분산형 시스템이기 때문에 큰 중앙 시스템이 필요 없음
  • 거래 기록의 타당성을 모든 참가자에게 검증받음

2-2 블록체인 예시 : 비트코인

2-2-1  비트코인 구현 방법

블록체인의 기본 구조 

(1) 비트코인은 모든 거래(트랜잭션) 이력을 '블록체인'에 기록 > 과거 모든 이력 검증 가능

(2) 블록 단위로 결합해 앞의 블록 정보를 포함하여 해시로 만들어 불가역 데이터를 만듦. (사슬 모양)

(3) 블록 전체 위조를 방지하기 위해 어떤 거래를 위조하면 해시가 변경되어 보수계산을 다시해야함. 그리고 그 이전 해시도 변경되어 이 과정이 연속적으로 발생함. > 사실상 구조상으로 변조가 불가능함.

2-2-2 비트코인 처리 흐름

(1) 계좌를 사용하는 사용자 A~F , 승인자 1~6이 있다고 가정하자 (원래는 사용자, 승인자 겸함)

(2) 사용자 A가 송금을 의뢰(트랜잭션 with 전자서명)

(3) 발행된 트랜잭션은 P2P 네트워크를 통해 참가자 전원에게 브로드캐스트

(4) 트랜잭션을 받은 승인자는 전자서명 확인 후 블록 생셩 요건을 만족시키는 '해답'을 찾음

(5) 처음 조건을 만족하는 해답을 발견한 승인자는 생성한 블록을 참가자 전원에게 브로드캐스트

(6) 블록을 받은 각 노드는 정당한 블록인지 검증 (이전 블록 정보 + 해답을 매개변수로 해시값을 구해 조건 만족 확인)      > 조건을 만족한다면 수신한 블록을 로컬디스크의 블록체인에 추가 

 

3 P2P 네트워크 

P2P : Peer to Peer의 약자.

3-1 P2P vs 클라이언트 서버형

  • 클라이언트 서버형 : 시스템의 설계나 유지가 쉬우나 서버 장애가 발생하면 서비스 중단. 만약 다수의 클라이언트가 동시에 접속하면 고사양 서버와 큰 네트워크의 대역폭이 필요함
  • P2P : 서버를 준비할 필요가 없고 각 노드의 자원과 네트워크 회선을 이용해 부하를 분산시키며 시스템 운영.
     장점 : 노드가 증가해도 서비스 유지 가능한 높은 확장
     단점: 다수의 노드가 참여하는 P2P 네트워크를 구축하거나 다른 노드 찾는 기능 설계를 위해서는 많은 노력 필요

3-2 퓨어 P2P와 하이브리드 P2P

(1) 하이브리드 P2P

하이브리드 P2P

 

  • 각 노드가 보유한 데이터의 정보가 인덱스 서버에 기록. 노드는 자신이 요구하는 데이터의 소유자를 인덱스 서버에 질의하고 해당 데이터를 가진 노드 정보를 받고 직접 노드에 연결해 데이터를 교환. 노드가 데이터를 주고 받는 형식은 P2P 형태, 인덱스 서버 요청은 클라이언트 서버형 시스템의 형태

 

 

 

 

(2) 퓨어 P2P

 

 

  • 순수 P2P. 인덱스 서버 없이 자신이 원하는 데이터 검색함.

 

 

 

 

3-3. 비구조화 오버레이와 구조화 오버레이

(1) 비구조화 오버레이

  • 각 노드가 인접 노드를 선택할 때 제약이 없도록 설계한 네트워크로 특정 네트워크 토폴로지기 규정되지 않음.
  • 장점: 메세지 요청에 따라 메타 정보를 포함시켜 메타 정보에 맞는 데이터를 가진 노드 탐색 등 유연한 탐색이 가능
  • 단점 : 목적 노드에 메시지가 전달하는 것을 보장할 수 없음. 노드수 증가시 네트워크 메세지가 너무 많아짐
  • 해결 : 슈퍼노드형 구성
  • 일반 노드보다 상위 노드를 만드는 것. 슈퍼 노드는 다수의 일반 노드를 자기 밑에 놓고 메세지의 전파는 슈퍼 노드낄 구축된 네트워크에서 이루어짐.

슈퍼노드의 구성 

(2) 구조화 오버레이

  • 각 노드별로 연결할 상대가 미리 정해져있음.
  • 네트워크 토폴로지도 엄격
  • 장점: 메세지 도착 가능성 및 확장성이 높음
  • 단점 유연한 탐색 불가능

(사진 출처 : https://snowdeer.github.io/blockchain/2017/07/04/blockchain-and-p2p/ )

반응형