<블록체인>

윤장원·2022년 6월 22일
0

블록체인

목록 보기
1/3

블록체인이란?

정보를 블록이라고 하는 단위로 저장하여 저장된 블록들을 체인형태로 묶은 저장기술
데이터들은 일정한 순서로 정렬되어 묶음으로 저장

  • 누구나 데이터를 추가할 수 있다.
  • 데이터는 한 번 추가되면, 수정하거나 삭제할 수 없다.
  • 개인이나 단체가 데이터를 관리하는 것이 아니라, 블록체인 네트워크에 있는 모든 사람들이 함께 관리한다.

블록체인 구조

블록은 헤더와 바디로 구분한다.
헤더는 블록을 설명하는 정보와 이전 블록의 해시를 포함.
이전 블록의 해시(hash pointer)를 가지기 때문에 어떤 블록이 앞에 와야하는지 결정적으로 알 수 있고 이를 바탕으로 블록의 순서를 결정할 수 있다.

블록높이

블록들은 이전 블록이 아래에 최근 블록이 위에 오도록 정렬하면 블록이 생성됨에 따라 체인의 높이가 늘어난다.
블록의 순서를 그 블록이 위치한 높이라 부른다. 첫 번째 블록은 편의상 높이를 0이라 한다.
다음 블록을 생성하기까지 걸리는 시간을 블록생성시간이라 하고 블록생성시간이 비교적 일정한 경우 블록생성주기란 표현을 사용한다.

분산 데이터베이스

하나의 데이터베이스 관리 시스템(DBMS, Database Management System)으로, 여러 CPU에 연결된 저장장치들을 제어하는 형태의 데이터베이스.
물리적으로는 여러 위치에 분산 저장하고 흩어져 있는 시스템이지만, 논리적으로는 하나인 것처럼 활용한다.

목표로 하는 투명성

분산 데이터베이스의 대표적 기술

  • 클러스터링
  • 레플리케이션
  • 샤딩

분산 데이터베이스 장단점

분산 데이터베이스와 블록체인의 차이점

  1. 블록체인은 악의적인 상요자를 전제하고 만들어진 시스템이다.(합의 알고리즘)
  2. 블록체인은 운영 주체가 사라져도 시스템 유지 가능하다.(거버넌스)

분산 원장 기술

거래정보를 기록한 원장을 특정 기관의 중앙 서버가 아닌 P2P 네트워크에 분산하여 참가자가 공동으로 저장하고 기록하는 기술.
운영 주체가 없이 운영되기 때문에 노드간의 합의가 필요한 시스템.

분산 원장 기술 장단점

장점

  • 효율성
  • 보안성
  • 시스템 안정성
  • 투명성

단점

  • 특정 내부 참가자가 악의적으로 원장을 조작하여 배포하는 것을 방지할 필요가 있음.
  • 합의(Consensus) 절차를 마련하지 못했기 때문에 비트코인 개발 이전까지 동 기술을 지급결제 시스템 및 여타 금융서비스 등에 실제로 적용하지 못함.

세그윗

비트코인의 블록에서 디지털 서명 부분을 분리함으로써 블록당 저장 용량을 늘리는 소프트웨어 업그레이드.
블록체인의 속도와 확장성을 개선하기 위한 방법.

  • 거래 속도의 확장성을 해결
  • 거래 가변성 문제를 해결
  • 버전 호환

머클트리

여러 데이터에 대해 단계적으로 해시함수를 적용하여 하나의 해시값으로 나타내는 데이터 구조로, 블록체인에 있는 데이터의 무결성을 보장.


블록 헤더의 머클 루트는 트랜잭션을 사용해 머클 트리를 만들고, 그 결과로 나온 머클 루트 값이다.
블록에 담긴 모든 트랜잭션에 대한 무결성을 보장하는 머클루트 값이 블록 해시에도 들어가게 된다.
특정 블록에 들어있는 트랜잭션을 단 하나라도 변경하는 경우, 블록은 체인처럼 모두 연결되어 있기 때문에 해당 블록 이후에 연결된 블록을 모두 수정해야 한다.

공개 범위에 따른 블록체인

트랜잭션

데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위.

합의 알고리즘

다수의 참여자들이 통일된 의사결정을 하기 위해 사용하는 알고리즘.

0개의 댓글