-
블록체인 아키텍처: 구조개발 일지/Blockchain 2023. 8. 1. 14:06반응형
블록체인 아키텍처와 프로세스를 이해하는 것은 쉽지 않습니다.
아래와 같이 접근을 해보겠습니다.
- P2P 네트워크와 노드
- 블록과 원천 블록의 속성
- 원장과 트랜잭션
- 유효성 검사 프로세스 - 마이닝(채굴)
- 블록체인 아키텍처에서 '합의(컨센서스)'
- PoW (Proof-of-work)
사실 블록체인이라는 용어는 1991년에 처음 사용됐습니다. 한 리서치 그룹에서 디지털 문서에 변경할 수 없는 타임스탬프를 위한 툴을 만들고 싶어했습니다.
해당 기술은 사토시 나카모토에 의해 다시 개발되었는데, 2008년 나카모토는 블록체인 기반 첫 암호화폐(비트코인)을 만들었습니다.
일반적으로, 블록체인은 "탈중앙화", "재무적 신뢰", "보안"이라는 특징을 가집니다. 그리고 이 기술은 운용효율과 비용절감을 증대시킬 수 있습니다.
블록체인 아키텍처란?
논리적으로 블록체인은 특정한 정보를 포함한 블록의 연결이지만 네트워크에서 함께 그룹화되어 안전하고 단말간 통신을 합니다.
즉, 블록체인은 중앙서버가 아닌 서로 연결된 컴퓨터의 조합으로 전체 네트워크가 분산되어 있습니다.
블록체인 기술은 디지털 정보가 복사되는 것이 아니라 분산되게 합니다.이 분산된 원장은 투명성, 신뢰, 그리고 보안성을 제공합니다.
데이터베이스 vs. 블록체인 아키텍처
WWW의 전통적인 아키텍처는 클라이언트-서버 네트워크를 사용합니다. 이 경우에 서버는 한 곳에서 필요한 정보를 관리하기 때문에 해당 정보를 업데이트하기 편리합니다. (권한 있는 관리자가 제어하기 때문에)
블록체인 아키텍처의 분산 네트워크에서는 각 참여자가 새로운 항목을 승인 및 업데이트하고 관리합니다. 합의 알고리즘에 의해 각 구성원은 모든 기록과 절차가 올바른지 확인하여 데이터 유효성과 보안을 보장합니다.
다시 종합해보면, 블록체인은 P2P 네트워크에서 일어나는 트랜잭션의 탈중화된 분산원장입니다. 이 네트워크는 많은 컴퓨터로 구성되지만, 전체 네트워크의 합의 없이는 데이터를 변경할 수 없습니다.
블록체인 기술의 구조는 특정 순서의 트랜잭션 블록 목록으로 표시됩니다.
이 목록은 단순한 파일(txt 포맷) 또는 간단한 데이터베이스 형태로 저장될 수 있습니다.
2가지 필수 데이터 구조가 사용됩니다.
- Pointers
다른 변수의 위치에 대한 정보를 유지하는 변수. 연결된 후속 변수의 위치를 가리킵니다. - Linked lists
각 블록에는 특정 데이터가 있고, 포인터를 사용해 다음 블록에 대한 링크가 있는 블록의 연속입니다.
논리적으로, 첫번째 블록은 이 체인의 첫번째이기 때문에 포인터가 연결되어 있지 않습니다. 마찬가지로 블록체인 데이터베이스에서 값을 가지고 있지 않은 포인터를 가진 마지막 블록이 잠재적으로 있을 수 있습니다.
아래 다이어그램을 참고하면 레코드의 목록이 연결되어 있습니다.
블록체인 아키텍처는 조직과 기업에 다음과 같은 목적을 달성할 수 있습니다.
- 비용 절감
중앙 집중화된 데이터베이스 등 서버는 유지보수에 많은 비용이 필요합니다. (사이버 범죄 등에 보안을 유지하는 등) - 데이터 이력
블록체인 구조에서는 어느 순간이든 어떤 트랜잭션에 대해서도 이력을 확인할 수 있습니다. (중앙집중화된 데이터베이스가 어느 시점의 스냅샷이라면, 블록체인 네트워크는 계속 성장하는 아카이브입니다.) - 데이터 유효성 & 보안
한번 입력하면 블록체인의 특성상 변경하기 업렵습니다. 프로세스가 한곳에서 처리되는 것이 아니라 각각의 독립적인 네트워크에서 발생하기 때문에 유효성 검사를 하는데 시간이 소요됩니다.
블록체인 아키텍처 유형
모든 블록체인 구조는 아래 3가지로 나뉩니다.
Public 블록체인 아키텍처
퍼블릭 블록체인 아키텍처는 데이터와 시스템에 접근하려는 참여자들 누구나 사용할 수 있습니다.
(비트코인, 이더리움 등)
Private 블록체인 아키텍처
퍼블릭 블록체인과는 달리, 프라이빗 시스템은 특정 조직이나 참여자로부터 초대받은 인증된 사용자만 접근할 수 있습니다.
컨소시엄 블록체인 아키텍처
이 블록체인 구조는 소수의 조직으로 구성될 수 있습니다. 컨소시엄에서는 사전에 지정된 사용자들에 의해 절차가 구성되고 제어됩니다.
속성 퍼블릭 블록체인 컨소시엄 블록체인 프라이빗 블록체인 합의 기준 모든 참여자 지정된 노드 하나의 기관 읽기 권한 퍼블릭 퍼블릭 또는 제한적 퍼블릭 또는 제한적 불변성 거의 조작 불가 변조될 수 있음 변조될 수 있음 효율성(자원) 낮음 높음 높음 집중화 없음 부분적 있음 합의 절차 허가 필요없음 허가 필요 허가 필요 반응형'개발 일지 > Blockchain' 카테고리의 다른 글
ERC란? (0) 2023.08.24 블록체인 스토리지 (0) 2023.08.24 프라이빗 블록체인 아키텍처 (0) 2023.08.07 블록체인 아키텍처에서 핵심 컴포넌트 (0) 2023.08.04 Blockchain 들어가기 (feat. github developer-roadmap) (0) 2023.07.27