블록체인이란?

윤형·2025년 4월 14일

Blockchain

목록 보기
1/4

🔖 서론

게임 개발중에 이더리움과 같은 블록체인을 이용해서 아이템에 희소성을 부여하고 서로 거래하는 시스템을 구현하고 싶다는 생각이 들었다.
하지만 블록체인이라는 용어는 나에게는 너무 어렵게 느껴졌고, 최신 기술이라는 생각이 들어서 겁이났다. 그러던 중 학교 과목중에서 블록체인이 있다는 것을 알게 됐고, 배우게 되었다. 이번 블록체인 시리즈는 내가 학교수업중에 배운 내용들을 정리하게 될 것이다. 그리고 최종적으로는 내가 앞서 말했던 아이템 희소성 부여나, 코인을 이용한 거래까지 직접 게임에 녹여보는 것을 목표로 하고 있다.

🔓 블록체인

암호화 기술로 보호되는 분산된 디지털 장부

기존 시스템에서는 하나의 DB가 있고 거기서 사용자들의 데이터를 관리하고 보호했다면, 블록체인이란 합의된 여러 컴퓨터들이 공통된 데이터를 가지고 있는 것이라고 생각하면 된다. 그렇기에 하나의 노드(컴퓨터)의 데이터가 변조가 된다고 해도, 연결되어있는 대다수의 데이터를 확인해 보안성을 강화한 것이다.


🔓 블록체인 핵심 요소

우리가 블록체인이라고 부르기 위해서는 핵심적인 5가지의 기술이 필수적으로 있어야 한다. 지금은 대략적으로 어떤 것들이 있는지 전체적으로 확인해보고 그 다음에 하나씩 설명하도록 하겠다.

1. 탈중앙화(Decentralization)

중앙 권한 없이 네트워크 참여자들끼리 공동으로 운영하는것.

2. 분산 원장 기술(DLT : Distributed Ledger Technology)

거래 정보를 기록한 원장을 특정 기관의 중앙화된 서버가 아니라 분산화된 네트워크의 참여자들이 기록 및 관리하는 것.

  • 블록체인은 분산원장 기술을 사용하지만 모든 분산원장이 블록체인은 아니다.

3. 합의 알고리즘(Consensus Mechanism)

여러 참여자가 거래 유효성 검증을 하는 것.

  • 미리 약속된 규칙을 통해 거래의 유효성을 판단한다. -> 거래 유효성 검증 방식이 명확하게 정의되어있어야 한다.
  • POW, POS, DPOS, PBFT 등이 있다. 각각 어떤 개념인지는 뒤에서 설명하겠다.

4. 암호화 및 불변성

Hash함수등을 이용해 블록을 연결한다. 각 블록은 이전의 해시값을 가지고 있어, 변조되지 않았음을 증명하는데 사용한다.

  • 대칭키, 공개키 암호화 기법을 사용해 데이터를 보호한다.

5. Smart Contract

사람이 아니라 "코드"가 자동으로 계약을 실행하는 시스템

  • 누구나 거래 내역(트랜잭션)을 열람할 수 있고, 그 거래가 유효했는지 확인할 수 있다.
  • 투명성과 검증 가능성을 보장한다.

기존 시스템과 차이점

DataBaseBlockChain
작동 방식CRUDinsert만 가능
통제중앙화탈중앙화
데이터 영속성수정 가능불변성

🔐 블록체인의 구조

그렇다면 이러한 블록체인은 어떠한 구조로 되어있을까?

블록 헤더

블록에 대한 정보와 메타데이터를 포함하고 있다. 블록체인의 연결성과 무결성을 보장하는 핵심 요소이다.

  • 버전 : 블록 구조 정보

  • Mekle Root : 바디에 있는 트렌젝션의 해시를 머클 트리로 요약한 루트값

  • Nonce : Pow작업증명에서 해시를 만족시킨 값. -> 이 변수값을 찾는게 채굴임.

  • Difficulty Target (비트) : 블록 생성 난이도.

  • previous block hash : 이전 블록의 헤더를 해시한 값 -> 블록 연결에 필수적이다.

  • TimeStamp : 블록이 생성된 시간.

블록 바디

실제 데이터 = 트렌젝션이 저장되는 장소.

  • transaction lists : 해당 블록안에 들어있는 모든 트렌젝션들의 정보.

  • transaction count : 트렌젝션 개수.

  • 각 트렌젝션은 송신자,수신자,금액,서명의 정보를 포함함 -> 머클트리로 요약된다.


블록체인 유형

블록체인은 우리가 생각하고 있는 퍼블릭한 것도 있지만, 사실 내부적으로 사용되는 경우도 있다. 그렇다면 블록체인의 유형에는 어떤게 있을까?

Public 블록체인

  • 누구나 참여 가능.
  • 완전한 탈중앙화임.
  • 속도가 느림 -> 네트워크 상에서 검증해야하기 때문
  • 네트워크 확장이 어렵다. (+ 유지비용이 많이 든다.)
  • 예 : 비트코인, 이더리움.

Private 블록체인

  • 허가된 노드만 참여 가능.
  • 중앙 기관이 통제. (주로 기관용임)
  • 빠른 속도.
  • 네트워크 확장이 매우 쉽다. (+ 유지비용이 적게 든다.)
  • 예 : 하이퍼레저 페브릭, R3.

Consortium(Hybrid) 블록체인

  • 특정 그룹이 관리.
  • 비즈니스에서 주로 사용된다. (식별은 됨-초대하니까)
  • 속도가 퍼블릭에 비해서는 빠르다.
  • 네트워크 확장이 쉽다. (+ 유지비용은 거의 없음.)
  • 예 : 은행간의 블록체인.

✉️ 마치며

지금까지 대략적인 블록체인에 대해서 알아보았다. 뭐든 기초가 중요하기 때문에 블록체인의 특징과 특성에 대해서만 설명했다. 다음 시간에서는 앞서 설명한 블록체인의 핵심 요소들을 각각 정리하도록 하겠다.

profile
제가 관심있고 공부하고 싶은걸 정리하는 저만의 노트입니다.

0개의 댓글