[블록체인 개념] 정리 2

hskim_·2022년 5월 8일
0
post-thumbnail

본 블로깅은 깊은 이해를 돕고자함이 아닌 블록체인 이론을 이해하고자 함에 배경이 될 수 있는 개념들을 저의 수준에 맞추어 정리한다는 느낌으로 작성하는 점 참고 부탁드립니다.

블록체인의 핵심

인터넷 상에 있는 사람(노드, 네트워크 참여자)들끼리 동일한 데이터(원장, 장부)를 모두 가지는 것.

  • 누구나 데이터를 추가할 수 있지만, 한 번 추가되면 수정/삭제가 불가능함.
  • 어느 특정 개인 또는 단체가 데이터를 관리하는 것이 아닌, 네트워크 참여자 모두가 하나의 동일한 데이터를 관리함.

분산원장이란

'원장'은 흔히들 알고있는 거래 장부, 즉 거래 내역의 집합이라고 할 수 있음. 그렇다면 분산 원장은 이 거래 장부(데이터)를 여러 사용자(네트워크 참여자)들이 나누어 가지는 개념. 현재는 은행이라는 중앙 단체가 이 거래 장부를 관리한다면, 블록체인 기술을 이용하여 해당 원장을 특정 단체가 아닌 수많은 사용자들이 관리한다고 볼 수 있음. 유념할 것은 블록체인 기술을 써야만 분산 원장이 되는것은 아니고, 일반 분산 원장과 블록체인 기술을 이용한 분산원장은 구분하여 이해해야함.

  • 블록 구조
    블록체인 분산원장은 블록형태로 데이터가 저장. 일반 분산원장은 다양한 방식으로 데이터를 저장.
  • 데이터 순서
    블록체인 분산원장은 나중에 생겨난 블록이 직전에 생겨난 블록을 가리키며 순서대로 이어져있음, 일반 분산원장은 순서와 무관한 형태로 저장.
  • 데이터(블록)생성 메커니즘
    블록체인 분산원장은 POW,POS 등의 경쟁적 구조의 데이터 저장 메커니즘을 채택하고 있기 때문에 '자원(전기,경제적 지분)'의 소모를 요구하게 되지만, 일반 분산원장은 경쟁적으로 데이터를 생성/저장하지 않기에, 자원의 소모를 요구하지도 않음.
  • 토큰(보상)
    블록체인 분산원장은 토큰이라는 보상체계를 갖추어 네트워크 참여자(데이터 검증자)들에게 검증의 수고로움을 보상함.

공개 범위에 따른 블록체인 구분

공개 범위란 쉽게 말해 해당 블록체인 네트워크에 참여하여 트랜잭션(데이터)을 생성할 수 있는 사용자의 범위를 말한다. 여기서 트랜잭션이라 함은 비트코인의 입장에서는 거래 장부의 내용(a가 b에게 몇개의 비트코인을 보냈다)이 될 것이고, 이더리움 입장에서는 스마트 컨트랙트의 계약 내용이 될 것이다. 다음은 공개 범위에 따른 블록체인의 구분에 대한 내용이다.

  • 퍼블릭 블록체인(Public Blockchain)
    대표적으로 '비트코인'을 예로 들 수 있다. 개방형 블록체인으로써 누구든지 트랜잭션(데이터)를 생성할 수 있다. 해당 블록체인 네트워크에 참여한 누구나 블록체인 위에서 만들어지는 트랜잭션(데이터)를 검증할 수 있는 검증자가 될 수 있고, 그에 따른 인센티브를 수령할 자격이 주어진다.
  • 프라이빗 블록체인(Private Blockchain)
    패쇄형 블록체인으로 퍼블릭 블록체인과는 상대적임. 해당 블록체인의 제공자에게 승인을 받아야만 참여가 가능한 구조. 간단하게 중앙화된 플랫폼이라고 보면 됨.
    -컨소시엄 블록체인(Consortium Blockchain)
    퍼블릭 블록체인과 프라이빗 블록체인을 합친 형태라고 하면 이해가 쉬움. 하나의 기관이아니라 컨소시엄 소속인 약속된 참여자들이 네트워크 참여 및 트랜잭션을 생성, 검증할 수 있게 됨. 때문에, 퍼블릭 블록체인이 가지는 느린 속도와 확장의 어려움 등을 해소시켜줄 수 있으며, 프라이빗 블록체인의 중앙화 적인 요소를 어느정도 해소시켜줄 수 있는 장점을 가짐.

분산원장기술

거래 정보를 기록한 원장(거래 장부)를 특정 기관이 관리하는 것이 아니라, 해당 네트워크에 참여한 모두가 공동으로 기록 밑 관리(분산 관리)하는 기술을 말함.

중앙집중원장의 취약점

  • 비용 문제 : 구식의 관리시스템이 개선 없이 유지되어오다보니 과도한 관리와 그에 다른 비용의 발생은 고스란히 사용자에게 청구됨.
  • 시간 문제 : 구식의 관리시스템에 따른 문제는 비용 뿐만 아닌 처리 시간를 지연시키는 원인이기도 함.
  • 보안 문제 : '중앙'서버에 모든 거래 장부가 위치하다보니 해커들의 타겟이 되기 좋음.

분산원장의 장점

중앙 집중 원장처럼 거래 증명을 위한 중개자가 필요하지 않고, 거래 내역을 네트워크 참여자 모두가 공유 및 관리를 하기때문에 아래와 같은 장점들이 존재함.

  • 인증과 증명의 효율성
  • 시스템 안정성
  • 보안성
  • 투명성

트랜잭션

블록체인이 블록들이 체인으로 연결되어 있는 구조라고 한다면, 블록은 헤더와 바디로 이루어져있으며, 이 조합을 메타데이터라고 함. 그리고 바디는 트랜잭션(비트코인에서는 거래내역) 리스트로 구성되어 있음. 좀 어려운 말로는 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업. (예: 비트코인의 지갑 이동, 즉 블록체인 내에서의 상태변화)

ACID

데이터베이스 내에서 일어나는 하나의 트랜잭션의 안정성을 보장하기 위한 성질.

  • Atomicty (원자성)
    하나의 트랜잭션에 속해있는 모든 작업이 전부 성공, 또는 전부 실패 이어야만 함, 중간은 없음.
  • Consistency (일관성)
    트랜잭션이 처리되기 전과 후 모두 데이터베이스 내에서의 제약/규칙을 만족해야함.
  • isolation (격리성, 고립성)
    모든 트랜잭션은 다른 트랜잭션과의 관계가 독립적이어야 함.
  • Durability (지속성)
    트랜잭션의 처리가 성공/실패 수행 후, 해당 로그가 남아야하고, 이 로그는 영구적이어야 함.
profile
열심히, 꾸준히, 그리고 정확히

0개의 댓글