블록체인

2 minute read


블록체인

변경이 불가능한 블록이 연속된 구조로 만들어져있는 분산형 데이터 저장 기술이다.

P2P(peer to peer) 방식으로 중간 매개자의 필요성이 없어 개인간의 직접 상호작용이 가능하며 한 대가 아닌 여러 대의 컴퓨터가 기록을 검증해 해킹을 막을 수 있다. 대표적으로 비트코인 같은 암호화폐에서 사용되는 것이다.


종류

퍼블릭 블록체인

탈 중앙화의 성격을 띈다. 제한없이 불특정 다수 누구나 운영과 참여가 가능하며 누구나 데이터를 읽을 수 있어 투명성이 보장된다.

하지만 참여자가 많기 때문에 네트워크의 확장이나 수정 등 업그레이드가 어려우며 거래 속도가 느리다는 단점도 가지고 있다.


프라이빗 블록체인

퍼블릭 블록체인과 반대로 특정 네트워크 상에서의 인증 방식을 통해 검증된 사람만이 참여가 가능하다.

폐쇄적이며 권한이 집중되어 있기 때문에 투명성이 낮지만 제한된 수의 참여자로 처리 속도가 빠르며 특정 대상으로 적합한 설계가 가능하여 보안 측면에서 뛰어나다.


거래과정

거래 요청 ▶
네트워크 내 참여자에게 정보 전송 ▶ 새로운 블록에 거래정보 추가
▶ 모든 참여자가 해당 거래 타당성 확인 ▶ 승인된 블록 기존 블록체인에 연결 ▶
거래 완료

이처럼 블록체인은 거래가 발생할 때마다 모든 참여자들간에 정보가 공유되기 때문에 이를 대조하면서 데이터의 위조나 변조가 불가능하도록한다.

이 때 거래에 참여하는 사람들이 해시 값을 대조하게 만들며 검증 작업에 참여하는 사람들에게 일정 수준의 가상화폐를 보상으로 지급하는 것을 가상화폐에서 채굴(mining)이라고 한다.

이렇게 채굴 작업은 다수의 사람들에 의해서 이루어지며 모두가 블록 전체를 가지고 있기 때문에 현실적으로 해킹이 불가능하다고 볼 수 있다.


관련 용어

이름 내용
블록(block) 데이터의 묶음, 바디와 헤더로 구분되며 헤더에는 암호코드 바디에는 거래 내용이 담겨 있다.
제네시스 블록(genesis block) 가장 처음 시작된 블록
블록 타임(block time) 일정 블록이 생성되는데 걸리는 시간
머클 트리(merkle tree) 블록에 포함된 거래 요약이 트리 구조로 표현된 것, 해시 함수를 통해 두 개의 거래 데이터를 하나로 묶어 용량을 절약하여 위조와 변조를 방지한다.
노드(node) 블록체인 네트워크에 연결된 컴퓨터, 데이터 보관과 승인하여 합의하는 역할
풀노드(full node) 제네시스 블록에서 시작해 모든 블록체인 정보를 수집하고 저장하는 노드, 새로운 블록 추가를 위한 검증을 수행 및 타 노드로 전파하는 기능
라이트 노드(light node) 모든 블록 정보를 가지고 있지 않으면서 블록체인에 참여해 거래를 수행, 개별 거래에 대한 검증의 기능
마스터 노드(master node) PoS에 이자를 받기 위해 지분을 묶는 노드
합의 새로 생성된 블록을 전파하고 기존 블록에 연결할 것인지 결정하는 과정
PoS 지분 증명, 보유하고 있는 자산에 비례해 블록을 승인
PoW 직업 증명, 특정 난이도의 작업을 수행했음을 증명
PoA 권한 증명, 신뢰 가능한 일부 노드에 블록을 생성할 권한을 부여
P2P 네트워크 사용자간 연결
디앱(decentralizea application) 탈 중앙화 어플리케이션, 특정한 중간 관리자 없이 지속적으로 활동하며 스마트 계약을 실행
스마트 계약(smart contact) 블록체인을 이용해 중개자 없이 계약
해시(hash) 특정 문자열을 대응되는 값이나 키로 변환
해시 캐시(hash cash) 해시를 이용해 이메일 스팸과 dos 공격을 제한
해시 파워, 해시레이트(hash power, hashrate) 암호화된 문제를 풀어나가는 속도
채굴(mining) 합의 방식 중 작업증명하는 행위
이중 지불(double spending) 사용자가 블록체인에 행하는 공격, 자산에 대한 거래가 확저오디기 전 대가를 제공받고 거래를 취소하거나 재사용하는것
논스(nonce) 작업증명의 알고리즘 중 해시값을 구하기 위해서 한 번만 사용되도록 만들어지는 임의의 숫자
포크(fork) 하나의 소프트웨어 코드를 그대로 복사해 독립적은 새로운 소프트웨어를 개발하는 것
소프트 포크(soft fork) 구 버전과 신 버전이 호환되는 포크, 간단한 오류나 작은 기능을 추가할 때 사용
하드 포크(hard fork) 구 버전과 신 버전이 호환되지 않는 포크, 심각한 오류나 큰 기능이나 알고리즘 등을 변경할 때 사용
스마트 컨트랙트(smart contract) 블록체인의 핵심기술, 위조와 변조를 방지하고 계약조건을 만족할 때 자동으로 계약이 실행되게 하는 기술
가스(gas) 이더리움에서 어플리케이션을 실행할 때 지급하는 네트워크 수수료
메인 넷(main net) 독자적인 플랫폼을 가지면서 토큰이 아닌 정식 코인으로 인정받는 것
사이드 체인(side chains) 다른 블록체인에 존재하는 자산 간의 상호 거래를 가능하게 만들어 주는 기술