본문 바로가기
블록체인

#2. 누구나 이해할 수 있는 블록체인 작동원리 25단계

by 캔버스토리 Canvastory 2022. 8. 23.

Summary: 큰 그림으로 바라보기. 소프트웨어 아키텍처란 무엇이고 블록체인과 어떤 관계인가

 

'블록체인 작동원리 25단계'는 논리적 흐름에 따라 작성된 시리즈물이다. 기반 지식이 있다면 필요한 내용만 골라 보는 것도 가능하겠지만, 생소하다면 처음부터 순서대로 읽는 것을 추천한다.

 

- 처음 글 : #0. 누구나 이해할 수 있는 블록체인 작동원리 25단계

- 이전 글 : #1. 누구나 이해할 수 있는 블록체인 작동원리 25단계

 

첫째 마당 (1~3단계) 키워드: 소프트웨어 아키텍처, 무결성, 이 두 가지 개념과 블록체인의 연관성, 블록체인의 목적과 잠재력

 

[2단계. 큰 그림으로 바라보기. 소프트웨어 아키텍처란 무엇이고 블록체인과 어떤 관계인가]

 소프트웨어 시스템 아키텍처는 구성요소(노드node, 피어 peer[*])들이 어떻게 구조화되고 서로 어떤 관계를 가지는지를 결정한다.

 

 중앙 통제 소프트웨어 아키텍처와 분산 소프트웨어 아키텍처는 구조 면에서 서로 양극단으로 볼 수 있다.

 

 분산 시스템은 다수의 독립된 컴퓨터가 중앙 통제나 조정 요소 없이 특정 목적 달성을 위해 통신 매체를 사용해 서로 협력하는 시스템이다.

 

 분산 시스템의 주요 장단점

- 조정 오버헤드 발생: 구성요소들을 조정하는 중앙 요소가 없으므로 구성요소들 스스로가 조정을 해야 한다. 하지만 모두가 동등한 지위를 가지는 까닭에 조정이 쉽지 않을 뿐만 아니라 조정을 위한 작업에 자원이 소모된다.

 - 통신 오버헤드 발생: 조정을 위해서는 소통이 필요하고 각 노드들은 서로 통신을 주고받는다. 이로 인해 계산 능력의 일부가 통신 프로토콜 지원과 메시지의 송수신에 소모된다.

 

 일반적으로 시스템 전체를 한꺼번에 멈출 수 있는 단일 요소가 존재하면 아무리 아키텍처가 복잡해 보여도 그 시스템은 분산 시스템이 아니다.

 

 블록체인은 분산 소프트웨어 시스템의 구현계층에 속한다.

 

 블록체인의 목적은 분산 시스템의 무결성을 확보하고 유지하는 것이다.



[*] 노드, 컴퓨터, 피어(peer)는 동일한 의미를 가질 때가 많지만 반드시 그렇지는 않다. 구조에 따라 단일 컴퓨터가 복수의 노드 역할을 할 수도 있고, 반대로 하나의 노드에 복수의 컴퓨터가 연결되어 있을 수도 있다. 또 전체 시스템 노드 중 나와 직접 연결된 노드를 특별히 피어라 부르기도 하는데, 특히 이더리움(ethereum)에서 그런 의미로 구분해 사용한다. 보통의 책에서는 전체 시스템 내 한 요소임을 강조할 때는 노드라는 용어를 주로 사용하고, 일대일의 의미가 강조되거나 노드를 사용해 특정 행위를 하는 사람의 관점에서 얘기할 때는 피어(또는 사용자)를 사용하며, 공유하는 자원 측면에서 기술할 때는 컴퓨터란 용어를 사용한다. 그러나 여기서는 세 용어를 크게 구분하지 않고 동일한 의미로 쓴다.

 

※  함께 읽으면 좋은 글

[독서 기록] 최고의 블록체인 입문서 (블록체인 무엇인가?)

[독서 기록] 블록체인과 암호화폐를 가볍게 접하는 입문서 (만화로 배우는 블록체인)

댓글