정보를 블록이라고 하는 단위로 저장하여 저장된 블록들을 체인형태로 묶은 저장기술
데이터들은 일정한 순서로 정렬되어 묶음으로 저장
블록은 헤더와 바디로 구분한다.
헤더는 블록을 설명하는 정보와 이전 블록의 해시를 포함.
이전 블록의 해시(hash pointer)를 가지기 때문에 어떤 블록이 앞에 와야하는지 결정적으로 알 수 있고 이를 바탕으로 블록의 순서를 결정할 수 있다.
블록들은 이전 블록이 아래에 최근 블록이 위에 오도록 정렬하면 블록이 생성됨에 따라 체인의 높이가 늘어난다.
블록의 순서를 그 블록이 위치한 높이라 부른다. 첫 번째 블록은 편의상 높이를 0이라 한다.
다음 블록을 생성하기까지 걸리는 시간을 블록생성시간이라 하고 블록생성시간이 비교적 일정한 경우 블록생성주기란 표현을 사용한다.
하나의 데이터베이스 관리 시스템(DBMS, Database Management System)으로, 여러 CPU에 연결된 저장장치들을 제어하는 형태의 데이터베이스.
물리적으로는 여러 위치에 분산 저장하고 흩어져 있는 시스템이지만, 논리적으로는 하나인 것처럼 활용한다.
거래정보를 기록한 원장을 특정 기관의 중앙 서버가 아닌 P2P 네트워크에 분산하여 참가자가 공동으로 저장하고 기록하는 기술.
운영 주체가 없이 운영되기 때문에 노드간의 합의가 필요한 시스템.
장점
단점
비트코인의 블록에서 디지털 서명 부분을 분리함으로써 블록당 저장 용량을 늘리는 소프트웨어 업그레이드.
블록체인의 속도와 확장성을 개선하기 위한 방법.
여러 데이터에 대해 단계적으로 해시함수를 적용하여 하나의 해시값으로 나타내는 데이터 구조로, 블록체인에 있는 데이터의 무결성을 보장.
블록 헤더의 머클 루트는 트랜잭션을 사용해 머클 트리를 만들고, 그 결과로 나온 머클 루트 값이다.
블록에 담긴 모든 트랜잭션에 대한 무결성을 보장하는 머클루트 값이 블록 해시에도 들어가게 된다.
특정 블록에 들어있는 트랜잭션을 단 하나라도 변경하는 경우, 블록은 체인처럼 모두 연결되어 있기 때문에 해당 블록 이후에 연결된 블록을 모두 수정해야 한다.
데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위.
다수의 참여자들이 통일된 의사결정을 하기 위해 사용하는 알고리즘.