→ 가상화폐
가상화폐 거래 프로세스와 보안, 기타에 대해서 알아보자.
가상화폐의 최소단위는 사토시(satoshi
)이며, 비트코인 화폐의 가장 작은 단위(0.00000001
)입니다.
가상화폐의 뿌리가 되는 Blockchain
에 대해서 먼저 알아보자.
블록체인이란?
데이터를 저장할 수 있는 블록(Block)들을 체인(Chain)형태로 연결되어 있는 네트워크를 말한다. 다수의 Block이 동일한 데이터를 저장하고 있기 때문에 분산 데이터베이스의 한 형태로 볼 수 있다.
기존 방식은 원장(거래내역이 적혀 있는 데이터)을 중앙 시스템에 모두 저장하고 관리하는 로직이였다면, 블록체인의 경우, 원장을 여러 Block에 분산해서 저장하는 것이다(이것을 분산원장 기술이라고 한다). 이 과정에서 Block를 제공하는 자?에게 일정의 수수료를 주는 것을 채굴의 한 형태로 이해하면 좋을 것 같다.
말이 너무 어렵다. 쉽게 말하면 게임할 때만 사용하는 고성능 PC를 블록체인 네트워크에 등록하게 되면 내 PC는 하나의 Block(보통 Node라고 지칭한다.)이 된다. 그리고 네트워크(Chain)를 통해서 다른 노드(Node) 또는 서버들과 연결이 된다. 이제 부터 가상화폐의 거래가 발생하면 거래원장이 내 PC에 저장되고 데이터를 저장 또는 보관해주는 비용(또는 보상)으로 일정한 가상화폐를 주는 것이다.
블록체인: 비트코인 거래가 이루어지는 과정
Step 1. 가상화폐 거래 생성
A가 B에게 1 BTC를 주는 거래가 발생했다고 가정해보자. 이것은 A가 B에게 1 BTC를 전송하겠다라는 의사표시
만 한 것. 아직 실제로 가상화폐가 이동하지 않은 상태.
가상화폐 거래는 거래를 생성하는 사람
과 거래 서명을 하는 사람
이 같을 필요가 없다.
예시1: 지노가 예지와의 거래를 생성하고, 아진이(제 3자)가 그 거래에 대해서 서명을 해도 상관 없다.
예시2: 지노가 예지와의 거래를 생성하고, 서명또한 지노가 해도 해당거래는 무방하다.
Step 2. 해당 거래 정보가 담긴 블록 생성
Step 3. 생성된 블록에 거래서명
가상화폐 거래가 성생되면, 누가 거래를 생성했든 자금원의 소유자가 해당 거래에 대한 서명을 해야한다. 서명이 완료되면 비로소 이 거래가 유효해진다. 그리고 가상화폐 송금에 필요한 모든 정보가 담겨 있는 거래정보
가 생겨난다.
Step 4. 가상화폐 거래정보 전송
Step 1.에서 생성한 거래정보
를 가상화폐 네트워크에 전송하게 되며 무작위로 하나의 노드에 해당 블록정보가 전달 된다. 그렇다면 거래를 원하는 사람은 노드의 무엇을 믿고 거래정보를 보내줄 수 있는 것일까?
Step 5. 가상화폐 거래정보 전파
거래정보(블록)가 일단 하나의 노드에 도달하면, 이 노드는 가상화폐 네트워크 상에 있는 모든 노드에게 이 거래정보를 전송한다. 블록을 전달 받은 채굴 노드들은 거래 정보의 유효성을 상호 검증한다. 노드 과반수의 데이터와 일치하는 거래내역은 정상 장부로 확인하는 방식으로 검증이 완료된 데이터는 거래정보를 블록에 영구적으로 기록하며 이전 블록에 연결되고, 그 사본이 만들어져 각 사용자의 컴퓨터에 분산 저장된다.
Setp 6. 이로써 거래완료
A가 B에게 송금하여 거래가 완료된다.
가상화폐의 INPUT(입력 값)/OUTPUT(출력 값)