가상화폐와 블록체인

가상화폐로 시작한 블록체인에 대한 관심

by 스눞

가상화폐, 블록체인에 대한 관심의 시작

블록체인은 2009년 비트코인이 첫 채굴된 이후, 2017년에 비트코인과 이더리움 등의 가상화폐의 가격이 급등하면서 주목받기 시작되었습니다. 그러나 블록체인 기술보다 가상화폐 가격과 거래에만 초점이 맞춰졌고, 투기산업이라는 부정적인 시각이 많았지만 가상화폐는 퍼블릭 블록체인(Public Blockchain)의 중요한 구성요소입니다.

(‘가상화폐’라는 용어는 암호화폐, 가상통화 등으로도 불리면서 아직까지 명확하게 정의되지 않았지만, 사용자에게 널리 알려진 가상화폐로 통칭하겠습니다.)


가상화폐가 아직까지는 거래소를 통해 거래하는 투자 수단으로 사용되고 있지만, 가상화폐 발행과 쓰임의 목적인 다음과 같습니다.


1. 블록 생성(채굴, Mining)에 대한 보상

비트코인과 이더리움과 같은 퍼블릭 블록체인은 오픈소스로 개발되어 있기 때문에 누구나 노드(Node)를 구성해서 블록체인 네트워크에 참여할 수 있습니다. (노드는 일종의 서버와 유사한 개념입니다.) 하지만 자본주의 사회에서는 공짜라는 것은 없죠. 따라서 노드를 생성해서 운영하도록 하는 원동력(보상)이 필요한데, 그 원동력을 바로 '가상화폐'라고 생각하면 쉬울 것 같습니다.


물론, 누구나 노드를 구성하여 아무 조건없이 블록을 생성해서 가상화폐를 받을 수 있다면 너도나도 달려들 것입니다. 그래서 블록을 생성하기 위한 권한을 주거나 일종의 규칙을 만드는데, 그것이 바로 합의알고리즘(컨센서스, Consensus)입니다. 정확히 말하면 합의알고리즘은 트랜잭션(Transaction)을 처리하는 방식입니다.


일반적으로 트랜잭션은 Oracle이나 MSSQL과 같은 데이터베이스의 상태변화를 위한 하나의 작업 단위 또는 프로세스를 의미합니다. 블록체인 트랜잭션의 의미도 이와 비슷하지만, 블록체인 상에서 오고 가는 데이터 자체가 트랜잭션이라고 이해하면 쉽습니다. 데이터베이스는 트랜잭션에 의해서 생성 또는 변경된 데이터가 특정 테이블에 저장되지만, 블록체인 트랜잭션은 Hash 함수를 통해 변환되어 임의의 길이의 값으로 블록에 저장됩니다.

블록체인에서 트랜잭션을 처리하는 과정은 대략적으로 다음과 같습니다.

트랜잭션 발생 → 트랜잭션 전송 → 트랜잭션 검증 → 트랜잭션 저장 → 블록 생성 → 블록 전파(노드 동기화) → 노드 동기화 완료

다만, 트랜잭션은 전 세계 곳곳에서 발생합니다. 이때, 트랜잭션은 블록에 저장되고 블록은 체인과 같은 형태로 연결되어 노드에서 생성되고 저장됩니다. 그리고 노드는 분산되어 운영되는데, 모든 노드는 모든 내용을 동일하게 저장해야 합니다.


문제는 트랜잭션을 처리하고 저장하는 노드가 전 세계 곳곳에 분산되어 있다는 것입니다. 일반적으로 트랜잭션은 인접한 노드로 전송됩니다. 수많은 노드로 동시다발적으로 전송되는데 이를 처리한 후, 모든 노드의 상태를 동일하게 유지하기 위한 동기화하는 과정이 필요합니다.

'비트코인의 경우 전 세계 2019년 9월 현재 약 8000개 이상의 노드가 운영되고 있다.' <출처 : https://bitnodes.earn.com/ >

예를 들어, 비트코인은 다음과 같은 과정으로 트랜잭션이 처리되고 블록이 생성됩니다.

트랜잭션 발생 → 인접한 A노드로 트랜잭션 전송 → A노드에서 트랜잭션 검증 → A노드와 인접한 다수의 노드로 트랜잭션 검증요청 → 다수의 노드에서 트랜잭션 검증완료 → 트랜잭션 검증결과를 A노드로 전송 → A노드에서 트랜잭션이 저장된 블록 생성 → 생성된 블록을 인접 노드로 전파 → 인접 노드에서 또 다른 인접노드로 블록 전파 → 동기화 완료

위와 같은 과정이 여러 노드에서 발생하고, 블록체인은 모든 노드가 동일한 내용을 담고 있어야 하기 때문에 동기화 과정이 반드시 필요한데, 이를 합의알고리즘이라고 생각하면 됩니다.


비트코인의 경우, 노드에서 트랜잭션을 저장할 블록을 생성할 때, 난이도가 정해져있는 일종의 '수학문제'를 푸는 과정을 거쳐야 합니다. 이러한 난이도가 있는 문제는 서버(노드)의 CPU, Memory 등의 리소스를 활용한 컴퓨팅 파워로 풀게 되는데, 이것이 바로 PoW(Proof of Work, 작업증명)라는 합의알고리즘입니다. 비트코인은 약 10분마다 블록을 생성할 수 있을 정도로 난이도가 조정됩니다.

PoW 합의알고리즘은 난이도가 있는 문제를 풀기 위해 CPU, Memory 등의 리소스가 많이 필요합니다, 따라서 고성능의 장비가 필요하고 그에 따라 많은 전력이 소모됩니다.

PoW를 통해 문제를 풀고 블록을 생성하는데, 이때 비트코인 채굴자(노드 운영자)들은 정해진 수량의 비트코인을 보상으로 받습니다.

2019년 9월 현재, 블록생성에 대한 보상으로 12.5 BTC를 받고 있습니다. 그러나 비트코인의 경우, 전체 발행량이 2100만 개로 정해져 있고, 보상에 대한 반감기가 있어서 2020년에는 6.25 BTC로 줄어들게 됩니다. 따라서 앞으로 블록을 생성했을 때 주어지는 보상보다 블록을 생성하기 위한 노드 운영 비용이 더 높아진다면 블록 생성에 대한 이득이 없어지므로 더 이상 블록이 생성되지 않을 수 있습니다. 그러므로 비트코인의 희소성이 높아져 가치가 상승할 수 있다고 하여, 투자자들은 반감기를 호재로 여기기도 합니다.


여기서 잠깐?!

트랜잭션이 전 세계 여기저기서 발생한다고 했는데, 그럼 그 많은 트랜잭션은 어떻게 처리되고 저장되는 것일까요?


2. 트랜잭션을 위한 수수료(Transaction Fee)

일반적으로 주식을 거래할 때, 수수료가 발생하듯이 블록체인도 수수료 개념이 존재합니다. 블록체인 네트워크에서 발생하는 모든 이벤트나 데이터는 모두 트랜잭션 기반으로 동작합니가. 주로 발생하는 트랜잭션의 종류는 다음과 같습니다.

가상화폐 거래 시,

개인이 직접 어떤 데이터(사진, 문서, 텍스트 등)를 블록체인에 저장하고자 할 때,

dApp(Decentralized Application)과 같은 블록체인 기반의 서비스를 이용할 때,

퍼블릭 블록체인의 경우, 특정 기업에 의해 운영되는 것이 아니므로 자율적으로 참여하도록 하기 위해서 운영비가 필요한데, 이러한 운영비를 위한 수수료를 "Transaction Fee"라고 생각하면 쉽습니다.


하지만 퍼블릭 블록체인의 경우, 트랜잭션의 발생이 동시다발적이기 때문에 모든 트랜잭션을 검증하고 블록에 저장할 수는 없습니다. 따라서 Transaction Fee가 높은 트랜잭션을 우선순위로 처리하도록 설계되어 있습니다. 만약, 수수료를 낮게 지불한다면 Pending(대기/보류) 상태가 되어 트랜잭션 처리가 지연되어 몇 시간 이상이 소요될 수도 있습니다.

다행히 대다수의 가상화폐 거래소나 MetaMask와 같은 잘 알려진 블록체인 지갑(Wallet) 통해 가상화폐를 전송할 때는 적정한 트랜잭션 수수료를 제시해주기 때문에 개인이 수수료를 계산할 필요는 없지만, 더 빠른 처리를 원한다면 제시된 수수료보다 높게 지불하면 됩니다.


위에 언급한 것처럼 가상화폐는 단순히 투자용도로 발행되는 것이 아니라 쓰임과 목적이 있습니다.

다만, 가상화폐가 단지 투자 수단으로만 사용되고 있다는 것이 아쉬운 점입니다. 비트코인은 가상화폐의 거래를 목적으로 개발되었지만, 최근 개발된 블록체인들은 자체 블록체인 플랫폼 위에서 많은 DApp과 서비스가 개발되어 많은 사람들이 사용함으로써 발행한 가상화폐의 가치가 상승하는 것을 바라고 있습니다.


물론, 이더리움 기반의 크립토키티와 같은 DApp이나 블록체인 기반의 서비스가 많이 개발되어 다양한 블록체인 가상화폐가 통용되어야 바람직하지만 현실적으로 어려운 점이 많습니다.

가상화폐의 경우, 중앙은행에 의해 통제되는 것이 아니기 때문에 가격의 변동이 심합니다. 물론, 가격변동이 없는 Stable Coin(가격변동이 제한적인 코인 - e.g "Tether"코인)도 발행되고 있지만, 가상화폐 거래 외에는 쓰임이 거의 없는 것이 현실입니다.

가상화폐는 블록체인 플랫폼 종속적이므로 A블록체인에서 사용하는 A코인을 B블록체인에서 사용할 수 없습니다. 물론, 우리나라 원화를 미국에서 사용할 수 없는 것과 비슷한 개념이고, 블록체인의 탈국가, 탈중앙화의 사상에 따라 가상화폐를 전 세계 어디에서나 사용할 수 있다는 이점은 있습니다. 하지만, 현재까지 무수히 많은 가상화폐가 발행되어 있으나 실제 사용할만한 서비스가 없고, 다양한 서비스가 개발된다고 하더라도 해당 서비스에 종속되는 가상화폐만 사용할 수밖에 없기 때문에 사용성은 떨어질 것입니다.


마치며...

최근, 페이스북의 "리브라" 발행계획은 금융혁명으로도 불려집니다. 현재 페이스북 사용자는 20억 명 이상이기 때문에 가상화폐(암호화폐)를 발행한다면 그 파급력은 어마어마할 것이기 때문입니다. 따라서 다가올 미래에는 새로운 블록체인 플랫폼에 기반한 가상화폐가 발행되기보다, 서비스 기반의 기업이 가상화폐를 발행할 가능성이 큽니다. 이렇게 된다면, 국가 기반의 통화시스템이 서비스 기반의 통화시스템으로 패러다임이 변경될 수도 있습니다. 물론, 이렇게 된다면 국가 기반이 흔들리게 되어 가능성은 낮지만, 무엇보다 현재까지는 전 세계적으로 가상화폐 발행에 대한 규제가 어렵고, 예측할 수 없을 만큼 빠르게 변화되기 때문에 어떻게 흘러갈지 지켜볼 필요가 있을 것 같습니다.



참고


BITNODES


keyword