블록체인은 데이터를 블록에 담아 체인 형태로 연결하고, 이를 다수의 컴퓨터에 복제하여 저장하는 분산형 데이터 저장 기술
입니다. 쉽게 말하면, 일종의 분산식 공공장부
라고 할 수 있습니다.
중앙 집중형 서버에 거래 데이터를 보관하지 않고, 모든 사용자가 거래 기록을 공유 및 대조할 수 있어 데이터 위조나 변조가 거의 불가능합니다.
공개형 블록체인이라고도 하며, 전 세계의 누구든지 자유롭게 읽고, 거래 정보를 발송하고, 거래의 유효성을 확인할 수 있으며, 블록체인의 합의 과정에 참여할 수 있는 블록체인입니다.
이는 완전한 탈중앙화 시스템으로 여겨지고 있습니다.
블록체인 기술을 세상에 알렸던 비트코인은 퍼블릭 블록체인 구조로 되어있지만, 기업들은 비즈니스 모델을 적용하기에 해당 구조가 적절하지 않다고 판단하였고(모든 사람들이 자유롭게 네트워크에 참여하는 것을 원하지 않음), 따라서 프라이빗 블록체인과 컨소시엄 블록체인이 탄생하게 됩니다.
폐쇄형 블록체인이라고도 불리며, 특정 기관 또는 조직에서 권한(허가)을 통해 관리되는 블록체인입니다.
authorized person만 입장이 가능하고, 네트워크에 참여하기 위해서는 고유의 인증 방식이 필요합니다.
미리 선정된 특정 노드에 의해서 제어되는, 퍼블릭과 프라이빗 블록체인 사이의 반 중앙형 블록체인입니다.
미리 선정된 기관이 노드를 한 개씩 운영하고, 각 기관의 노드 간 동의가 있을 때 거래가 생성됩니다.
블록체인의 기록 열람 권리를 대중에게 부여할 수도 있고, 특정 기관에만 제공할 수도 있고, API를 통해 특정 인원에게만 공개할 수도 있습니다.
유효한 거래 정보의 묶음을 말하며, 블록체인 시스템의 거래 데이터를 저장하는 기본 구성 단위입니다.
일정 기간의 거래 데이터를 블록에 분산 저장합니다.
블록체인 네트워크마다 블록 안의 거래 데이터는 조금씩 다릅니다.
블록은 블록 헤더
와 거래 카운터
, 거래 목록
으로 구성되며 비트코인의 경우 블록 하나에 약 1,800 ~ 2,400개의 거래 정보가 포함됩니다.
블록에 저장되는 거래 정보는 거래의 요약을 트리 형태로 만들어 저장됩니다. 이를 머클 트리라고 하며, 랄프 머클(Ralph Merkle)의 이름에서 따왔습니다.
해시 트리라고도 알려져 있으며, 해시 함수를 통해 2개의 거래 데이터를 하나의 데이터로 묶어서 용량을 절약합니다.
해당 블록에 포함된 거래들로부터 생성된 머클 트리의 루트에 대한 해시입니다.
즉, 블록에 포함된 모든 거래들의 해시 값을 요약한 값을 의미하며, 간단하게 모든 거래의 요약본이라고 할 수 있습니다.
블록체인 네트워크의 시작이자, 첫 번째 블록을 의미합니다.
제네시스 블록이 생성된 이후, 그 뒤로 다음 블록들이 지속적으로 연결됩니다.
블록 생성 순서는 "높이"로 표현되며, 그 중 0번 블록은 제네시스 블록입니다.
비트코인의 제네시스 블록은 링크에서 확인할 수 있습니다.
제네시스 블록부터 가장 최근의 블록까지 연결되어 있는 체인이 주요 체인(Main chain)이며, 가장 긴 요휴한 연결로 구성된 체인을 의미합니다. 모든 노드는 이 메인 체인을 따라 업데이트하고 동기화합니다.
제네시스 블록으로부터 현재 블록까지 블록이 만들어진 양을 의미합니다.
블록 헤더는 거래 정보를 저장하는 단위인 블록에 대한 메타데이터를 포함합니다.
[버전] : 블록 구조의 버전을 나타냅니다.
[이전 블록 해시] : 바로 이전 블록의 해시 값으로, 이를 통해 블록들이 서로 연결되어 블록체인이 형성됩니다.
[머클 루트] : 블록에 포함된 모든 거래들의 해시 값을 요약한 값입니다.
[타임스탬프] : 블록이 생성된 시간을 나타냅니다.
[난이도 목표] : 채굴 과정에서 요구되는 작업 증명(PoW) 난이도를 나타냅니다.
[논스(Nonce)] : 채굴자가 채굴을 하는 과정에서 블록 해시 값이 난이도 목표보다 작아질 때까지 변경하는 값입니다.
블록체인 네트워크에서 블록을 생성(채=채굴)하는 것은 작업 증명(PoW) 알고리즘을 사용하여 논스 값을 찾는 것입니다. 이 과정에서 채굴자들은 다음 조건을 만족하는 논스 값을 찾기 위해 계산을 반복합니다.
- 블록 헤더에 논스 값을 포함한 후, 해당 블록 헤더를 해싱합니다.
- 결과로 나온 해시 값이 현재 네트워크에서 설정된 난이도 목표보다 작거나 같아야 합니다.
가장 먼저 작업 증명을 달성한 채굴자는 블록 보상(새로 생성된 비트코인)과 거래 수수료를 받게 됩니다.
작업 증명시에 전기비와 같은 비용이 들기 때문에 네트워크는 보상의 개념으로 새로운 블록을 생성할 때마다 블록 보상을 마이너에게 부여합니다.
이처럼 비트코인 네트워크는 채굴자들에게 경제적인 인센티브를 제공하며, 동시에 네트워크의 보안과 안정성을 유지합니다.
일정한 블록이 생성되는 데 걸리는 시간을 의미합니다.
비트코인의 경우 평균적으로 10분에 1개의 블록이 만들어지도록 설계되어 있습니다.
시간이 너무 짧으면 블록이 동시에 발견되거나 빠르게 생성되어 네트워크 상에 여러 체인 분기가 발생할 수 있고, 이는 네트워크의 안정성 저하와 이중 지불 공격과 같은 보안 문제가 발생할 수 있습니다.
또한 새로운 블록이 생성되면 네트워크 상의 모든 노드에 전파되어야 하는데, 10분의 시간을 두면 전파 지연을 최소화하고 블록 전파가 원활하게 이루어질 수 있도록 충분한 시간을 제공합니다.
블록 타임을 유지하기 위해 비트코인의 작업 증명 알고리즘은 블록 생성 속도를 일정하게 유지하기 위해 난이도를 조절합니다.
각 블록체인에 따라 거래 내역, 주소, 특정 블록에 대한 정보를 보여주는 탐색기가 존재합니다.
대표적인 블록 탐색기는 이더리움 블록 탐색기입니다.
최초의 분산형 암호화폐로, 사토시 나카모토에 의해 발명되어 2009년 오픈소스 소프트웨어로 출시되었습니다.
P2P 네트워크 방식으로, 중개자 없이 사용자 간 직접적인 트랜잭션이 발생합니다.
거래는 암호화를 통해 네트워크 노드에 의해 검증되고, 공개적인 분산 원장인 블록체인에 기록됩니다.
블록체인을 구성하고, 거래를 검증하는 프로그램입니다.
이는 트랜잭션을 생성하고, 블록체인을 모니터링합니다.
비트코인 코어를 통해 블록체인 네트워크에 연결할 수 있습니다.
법정 화폐나 실물 자산을 기준으로 가격이 연동되는 암호화폐를 의미합니다.
기존의 암호화폐는 특유의 가격 변동성으로 인해 통화로써 사용되기에 안정성이 떨어지지만, 스테이블 코인은 가치가 달러 등에 고정되며 비교적 가격 안정성이 높습니다.
튜링 완전성을 지원하며, 프로그래밍이 가능한 블록체인 기술 기반의 분산 컴퓨팅 플랫폼입니다.
비트코인과 같이 블록체인을 기반으로 하지만, 프로그래밍 언어와의 접목을 통해 스마트 계약과 범용 목적의 분산된 어플리케이션(DApp)의 개발 및 실행 환경을 지원합니다.
DApp은 분산형 애플리케이션(Decentralized Application)의 약자로, 블록체인 기반 플랫폼에서 중앙 서버나 단일 조직의 관리 없이 작동하는 탈중앙화된 어플리케이션을 의미합니다.
스마트 계약을 통해 로직과 규칙이 구현되며, 데이터 저장과 처리가 분산된 노드들에 의해 수행됩니다.
디앱의 참여자가 증가할수록 해당 토큰에 대한 수요가 증가하며, 디앱 사용에 필요한 플랫폼의 가치 또한 증가합니다.
모든 이더리움 플랫폼에서 트랜잭션을 실행하기 위한 네트워크 수수료 단위를 의미합니다.
이더리움 전송 시 네트워크의 모든 노드가 같은 계산을 수행하고 저장하는 작업이 필요한데, 이 작업량을 가스 등으로 환산합니다.
이더리움의 원활한 스마트 계약 활용을 지원하는 가상 머신(Ethereum Virtual Machine, EVM)입니다.
이더리움 블록체인 네트워크 노드들이 공유하는 가상 환경이자 자체 중개 시스템 역할을 수행하는 트랜잭션 프로토콜을 의미합니다.
이더리움 블록체인 네트워크에서 발행되는 토큰의 호환성을 보장하기 위한 표준 사양(Ethereum Request for Comment, ERC)입니다.
이는 이더리움 블록체인 네트워크에서 구현되기 위해 만들어진 일련의 표준들을 설명합니다.
대표적으론 ERC20 토큰 표준이 있습니다.
독립된 블록체인 네트워크(메인넷)를 소유하고 있는 것이 아닌, 이더리움과 같은 플랫폼을 이용하여 발행하는 암호화폐를 토큰이라고 합니다.
메인넷 시스템을 한 번에 구축하는 것은 어려우므로, 일반적으로 먼저 이더리움 등의 플랫폼 위에 토큰을 발행한 후, 개발을 통해 메인넷을 구축하여 코인으로 전환합니다.
기존의 플랫폼으로부터 독립된 자체 메인넷 블록체인을 구축하기 위한 작업으로, 일종의 베타 서비스와 같습니다.
테스트넷 과정을 통해 블록체인 및 지갑의 안정성이 검증되며 최종적으로 독립된 블록체인을 구현하는 메인넷이 출시됩니다.
기존의 플랫폼에 종속되지 않는 독립적인 플랫폼으로, 새로운 생태계를 구성하고 자체 지갑을 생성합니다.
안정성이 검증된 메인넷을 갖는 것은 난이도가 상당하므로 높은 기술력이 요구됩니다.
암호화폐를 송금하는 이체 거래 과정에서 전송되는 서명된 정보(하나의 문자열)를 의미합니다.
송신자, 수신자, 전송할 금액, 가스비(이더리움의 경우) 등의 정보를 포함합니다.
위 내용을 바탕으로 전자 지갑과 같은 애플리케이션을 사용하여 트랜잭션을 생성한 후, 보내는 사람은 자신의 개인 키로 트랜잭션을 서명하여 그 유효성을 증명합니다.
트랜잭션 데이터 전체에 대한 해시값이며, 데이터를 문자열로 치환한 것입니다.
해시값은 데이터에 아주 작은 변경만 있어도 전혀 다른 값이 되므로 트랜잭션에 대한 블록체인 네트워크의 기록을 조회 및 식별할 수 있습니다.
이를 통해 지갑 주소, 송금 양, 컨펌 수, 시간 등을 확인할 수 있습니다.
암호화폐 전송 등의 거래 시에 채굴자에게 제공하는 비용이자, 경제적 유인책입니다.
거래가 블록에 포함되기 위해 증명 작업이 필요하고, 채굴자들이 이러한 검증과 증명을 대신 해주는 대가로 블록 보상과 함께 수수료를 받습니다.
일반적으로 수수료는 채굴자가 작업을 하는 우선순위와 관련이 있습니다.
암호화폐 거래 시 인증받는 과정이며, "거래가 블록에 포함되어 발행되었는가"를 확인하는 것을 의미합니다.
어떤 트랜잭션이 얼마나 많은 블록에 의해 확인되었는지를 나타내는 지표입니다. 예를 들어, 트랜잭션 A가 100번째 블록에 포함되어 있다고 할 때, 해당 블록체인의 높이가 110이라면 트랜잭션 A의 컨펌 숫자는 110 - 100 = 10이 됩니다.
각 블록이 생성(채굴)되고 체인에 연결될 때, 물론 풀 노드 등에 의해 그 유효성과 무결성을 검증하지만 이것의 컨펌 숫자가 낮을 때에는 그것의 완전 무결성을 증명하기엔 부족합니다. 따라서 해당 블록이 재구성되지 않고, 그 뒤로 여러 블록이 계속 쌓이는 정도를 이용해서 해당 블록이 얼마나 무결한지를 입증하게 되는 것입니다. 컨펌 숫자가 높아질수록 블록체인 네트워크의 보안성이 강화되고 거래의 안정성이 높아짐을 의미하게 됩니다.
비트코인의 경우 매 블록의 생성 시간을 10분 정도로 제한하고 있고, 컨펌 숫자는 6개 이상을 권장하고 있습니다. 따라서 비트코인에서는 어떠한 거래가 어느정도 안정적이라고 보장받기까지 약 1시간이 걸리게 되는 것과 같습니다. 이는 일반적으로 사회에서 결제 수단으로써 비트코인을 사용하기 어려울 것이라고 꼽는 대표적인 이유 중 하나입니다.
블록체인 네트워크에서 일정 조건이 만족되면 자동으로 거래가 체결되는 기술을 의미합니다.
블록체인을 기반으로 금융부터 부동산 공증 등 다양한 형태의 계약을 체결 및 이행할 수 있으며, 스마트 컨트랙트를 작동시킬 때 모든 사용자가 동일한 권리를 갖는 분산된 네트워크를 요합니다.
암호화폐를 지갑에 보관하기 위한 주소로, 여러 복잡한 숫자, 영문, 대소문자의 조합으로 만들어집니다.
암호화폐를 주고 받기 위해 필요하며, 비트코인과 이더리움 등 여러 방식의 암호 화폐 주소가 존재합니다.
주소를 통해 수신인과 발신인을 확인할 수 있으며, 최근에는 거래소에서 편리하게 암호화폐 주소를 생성 및 이용할 수 있습니다.
블록체인 기술을 활용하는 디지털 자산(암호화폐)를 사용자들이 교환할 수 있는 "중앙화된" 거래소를 의미합니다.
증권 거래소와 비슷한 방식으로 운영되며, 이용자들 사이에서 발생하는 거래 수수료를 주요 비즈니스 모델로 삼고 있습니다.
중앙집권형 거래소는 해킹의 위험이 있기에, 거래소 중개 없이 개인간 직거래를 할 수 있도록 네트워크 노드가 거래소 시스템을 형성한 거래소를 의미합니다.
이는 암호화폐 개인 지갑을 통해 자유롭게 거래 및 참여할 수 있는 암호화폐의 성격을 그대로 반영한 거래 시스템입니다.
생성된 블록의 유효성을 검토하여 블록체인 반영 여부를 결정하는 방식입니다.
대표적으로 작업 증명(Proof of Work, PoW), 지분 증명(Proof of Stake, PoS), 위임 증명(Delegated Proof of Stake, DPoS) 방식이 있습니다.
컴퓨터 연산 작업을 수행하여 블록체인에 기여하는 대가로 보상을 수령하는 방식입니다.
채굴자는 높은 연산력을 요하는 문제를 해결해야 하며, 그 결과로 결정된 블록 후보들은 네트워크의 다른 노드들에게 전파되어 검증 과정을 거칩니다.
이를 통해 블록이 성공적으로 추가되면 채굴자는 블록 보상을 받게 됩니다.
이 과정은 대규모의 컴퓨팅 파워와 에너지를 필요로 한다는 단점이 존재하여, 이를 극복하기 위해 제시된 개념이 지분 증명입니다.
참여자들이 네트워크에 보유한 지분에 비례하여 블록 생성 및 검증 권한을 부여하는 방식으로 작동합니다.
즉, 노드에 기여하는 대가로 보상을 받는 방식이며, 이는 채굴 파워가 아닌 지분에 따라 정당한 의사결정이 이루어지게 됩니다.
지분 증명은 작업 증명의 단점이었던 채굴 파워에 의한 중앙화를 방지하며 에너지 낭비를 최소화하는 친환경적인 방식입니다.
자격을 갖춘 선택된 증인이 참여자들이 보유하는 지분을 위임받아 블록을 검증하는 방식입니다.
이중 채굴과 그라인딩 어택에 내성을 갖는 합의 알고리즘이라는 평가를 받고 있습니다.
모든 참여자가 블록을 검증하지 않고 소수의 증인만이 블록을 검증하기에 증명 속도가 빠릅니다.
블록체인은 (중앙 집중형 서버에 거래 기록을 보관, 관리하는 형식이 아닌) 거래에 참여하는 개개인의 서버들이 모여 네트워크를 유지 및 관리하는 구조이며, 여기서 개개인의 서버(참여자)를 노드라고 합니다.
비트코인에서는 채굴자부터 일반 사용자 모두 비트코인 네트워크 내의 하나의 노드입니다. 다만, 비트코인은 다중심화 특징을 갖고 있어 '풀 노드'라는 핵심 역할을 수행하는 노드가 필요합니다.
네트워크의 데이터를 보관하며 생성된 거래마다 정보를 수신하는 노드는 거래를 검증하고 다른 노드에 전송합니다.
때문에 데이터가 한 번 생성되면 이를 변조하기 어렵고, 노드의 수가 많을수록 블록체인 네트워크는 더 안전하다고 보여집니다.
모든 블록체인 원장을 가진 노드로, 블록체인 데이터를 동기화하기 위해 메모리를 사용합니다.
모든 거래를 검증하고 실시간으로 데이터를 업데이트할 수 있으며, 분산 원장 중 블록체인 거래를 송수신하고 확인하는 중요한 역할을 수행합니다.
비트코인에서는 비트코인 클라이언트를 통해 완전한 블록체인 데이터를 다운로드하고 보존할 수 있습니다.