비트코인 사용원리

마지막 업데이트: 2022년 2월 21일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
비트코인

알기 쉽게 이해하는 비트코인

프알못도 쉽게 이해 가능한 비트코인 작동원리에 대해 알아보겠습니다. 여기서 사용한 이미지나 예시는 github에 올라와있는 Mastering Bitcoin by Andreas M. Antonopoulos을 참고하였습니다.

비트코인의 실체

비트코인은 2009년 ‘사토시 나카모토’라고 알려진 개인 또는 다수의 개발자들을 통해 탄생했습니다. 사토시는 일본인이 아니고 가명입니다. 현재, 호주의 암호학 전문가인 크레이그 라이트나 게임이론의 창시자인 경제학자 존 내쉬 등이 사토시라고 추정되고 있지만 각국의 규제와 법률 때문인지 확실하게 밝혀진 사람은 아직 없습니다.
우리가 보통 부른 비트코인이라는 용어의 실체적 개념은 존재하지 않습니다. 누가 얼마를 소유하고 있다는 잔액 개념의 원장 데이터도 없습니다. 비트코인 생태계의 모든 속성과 특징은 사토시가 2009년 발표한 논문을 토대로 구현한 비트코인 코어 Bitcoin Core 프로그램안에 프로그램(코딩)되어 있으며, 이 시스템 하에서 발생하는 거래 내역의 모음이 블록체인이라고 불리는 공개장부에 저장될 뿐입니다. 비트코인 시스템 또는 비트코인 네트워크라고 부르는 것의 실체는 바로 이 네트워크를 의미합니다. 비트코인 코어 프로그램은 Bitcoin.org를 통해 누구나 PC로 다운받을 수 있으며 github라는 온라인 오픈소스 저장소에 모든 소스도 올려져 있어서 지금은 전 세계 개발자들의 공헌에 의해 발전하고 있습니다. 지금까지 나온 1,000개가 넘는 대안화폐(altcoin)나 이더리움(Ethereum) 같은 블록체인 플랫품 역시 최초의 비트코인코어 프로그램의 소스를 모방해서 발전했습니다. 거래내역의 모음인 DB역할을 하는 공개장부 역시 비트코인코어 프로그램을 다운 받은 사람들은 누구나 내려받을 수 있습니다. 비트코인이 출시된 이후 지금까지 전 세계 모든 거래의 공개장부는 약 수십 기가바이트 용량의 파일로 구성되어 있습니다. 다운 받으려면 며칠은 걸리겠지만 전 세계 모든 거래의 장부를 가질수 있게 되는것이죠.
이제 비트코인의 거래가 어떠헤 이뤄지는지 사례를 통해 살펴보겠습니다.

비트코인 거래 예시

  • 앨리스 : 난생 처음 비트코인을 사고 싶어 하는 여자
  • 조 : 앨리스에게 비트코인을 팔아줄 남자

앨리스는 스마트폰으로 비트코인 지갑 어플리케이션을 다운받았습니다. 지갑 어플리케이션은 임의로 개인키와 그에 대응하는 비트코인 주소를 발행합니다. 계좌번호나 이메일주소가 부여된다고 생각하면 됩니다. 이 주소는 개인키에 대응되는 일련의 숫자에 불과하며 아직 비트코인 네트워크상에 공개되거나 등록되지 않습니다. 비트코인 주소가 거래와 연관되어 네트워크상에서 주소가 공개되면 앨리스는 공개장부를 통해 해당 주소의 잔액을 확인할 수 있다.

여기서 비트코인 네트워크, 또는 네트워크 노드(node) 란, 비트코인 시스템의 기능과 요소들을 포함하고 있는 클라이언트를 말합니다. 이를 테면, bitcoin.org의 기본 클라이언트이자 사토시가 만든 비트코인코어 클라이언트가 설치된 PC를 의미합니다. 이 클라이언트들은 지갑, 거래장부 복사본, 검증엔진, P2P네트워크 전송 기능 등을 가지고 있으며, 좀 더 Lite한 기능들로만 구성된 클라이언트도 많이 개발되어 있습니다. 이 글을 쓰는 저 역시 이 세계에서 하나의 노드가 될 수 있습니다.

이제 앨리스는 비트코인을 얻기 위해 현금 10달러와 비트코인 주소를(QR코드) 조에게 주었고 조는 자신의 모바일 지갑을 열어 QR코드를 스캔하고 시세에 해당하는 0.1비트코인을 주었습니다. 거래가 성사되면서 조는 개인키로 해당 거래에 대해 서명합니다. 마치 우리가 인터넷뱅킹으로 이체할 때 공인인증서로 전자서명을 하듯이 말입니다. 이 과정이 끝나면 조의 비트코인 주소 중 한 곳에서 앨리스의 새 비트코인 주소로 송금이 허가되었다고 비트코인 네트워크에 알립니다. 네트워크에 연결된 모든 노드들은 거래내역을 받고 처음으로 앨리스의 주소를 보게 됩니다.
이 거래는 전송은 되었지만 아직 비트코인 공개장부(=거래장부=블록체인)에는 포함되지 않았습니다. 거래가 공개장부에 포함되려면 채굴자들이 채굴을 해야 하는데요(이 부분은 뒤에 가서 설명합니다.) 하나의 블록은 여러 개의 거래를 담을 수 있는데, 새로운 블록이 약 10분 주기로 형성되면 그 블록 내에 있는 거래내역들은 네트워크상에서 “승인”되며 그 후 소비가 가능합니다. 정리하자면, 거래는 발생하자마자 모두가 “볼” 수 있지만 새롭게 채굴된 블록에 포함되는 경우에만 모두가 “신뢰”하게 됩니다.

참고로 비트코인의 무서운 점은 화폐를 데이터 구조로 전환했기 때문에, 어떤 형태로든 전송이 가능합니다. 웹, 와이파이, 블루투스는 물론이거니와 라디오, 위성중계, 이모티콘, SMS등 해당 거래를 전파하게될 노드에 도달할 수만 있다면 어떤 네트워크를 사용해도 무방합니다. 극단적으로는 거래 자체는 오프라인상태에서도 가능하며 거래가 기록될 때만 네트워크로 전송하면 됩니다.미국에서 수표를 먼저 발행하고 나중에 봉투에 넣어 은행으로 우편 발송하듯이 말이죠. 스타벅스에서 신용카드 결제를 할 때, 3만원 이하는 무서명 거래를 하듯이 비트코인 시장에서도 소액이체나 결제는 비트코인 네트워크의 별도 승인이나 신뢰 없이도 인정할 수 있게 되어 있습니다.

앨리스는 이제 비트코인으로 재화를 구매하고자 합니다. 어려워서 머리가 아프니 커피를 사서 마시겠습니다. 비트코인을 받아주는 커피숍에서 0.015 비트코인(BTC)짜리 커피를 주문하니 밥(Bob)이라는 사람이 관리하는 POS시스템이 payment request가 들어있는 QR코드를 보여줍니다. 여기에는 송금할 비트코인의 목적지 주소, 지불금액 등 지불과 관련된 기본내용이 담겨있습니다. 일종의 청구서 같은 겁니다. 앨리스는 지갑 어플리케이션을 열어 QR코드를 스캔후 전송 버튼을 눌러 지불을 승인합니다. 즉, 비트코인을 소비합니다. 이처럼 소비란 이전 거래에서 송금되었던 돈이 비트코인 주소에 의해 확인된 새로운 소유주에게로 전송되는 거래에 서명을 함으로써 이루어지는 작업을 말합니다.

블록체인 거래원리

다시 정리하면, 비트코인의 거래는 비트코인을 많이 보유한 소유주가 그 일부를 다른 사람에게 전송하는 것이고, 각 거래가 체인을 형성하게 됩니다. 이때 가장 최근 거래에서 생성된 입력값은 그 이전 거래에서 발생한 출력값과 대응합니다. 위 그림의 두번째 거래와 같이 거래를 한 뒤, 잔액이 발생하는 경우도 마찬가지입니다. 그림에서는 출력값이 밥에게 지불된 금액만 나왔지만, 앨리스의 남은 잔액이 또 다른 거래의 입력값이 될 수 있습니다. 앨리스는 돌려받은 잔액 결과값을 이용해 다른 거래에서 해당 금액을 소비할 수 있는 것입니다. 한편, 입력의 합과 출력의 합은 반드시 서로 동일하지는 않은데, 그 이유는 거래 속에 포함된 “거래 수수료”때문입니다. 나중에 다시 설명하겠지만 이 거래 수수료는 해당 거래를 블록에 포함시키고 공개장부(블록체인)에 올리는 것에 대해 채굴자가 수거하는 수고비, 수수료 개념입니다.

지금까지 거래가 일어날 때 발생하는 현상을 살펴봤는데, 그럼 이 거래내역이 어떻게 블록의 부분이 되며, 공개장부에 추가되는지를 살펴보겠습니다.

검증, 채굴과 합의

이 거래는 이제 전세계 공개장부의 일부가 되기 위해 비트코인 네트워크로 전송되어야 합니다. 앨리스의 지갑 어플리케이션이 인터넷만 연결되어 있다면 여러 비트코인 고객들에게 새로운 거래를 전송할 수 있습니다. 비트코인 네트워크의 노드들은 자신이 이전에 가지고 있지 않은 거래를 전송받게 되면, 즉시 연결된 다른 노드로 해당 거래를 전달합니다. (이 부분은 우리가 흔히 사용하는 토렌트, P2P 방식과 비슷하다고 보면 됩니다.) 이런 과정은 불과 몇 초만에 비트코인 네트워크 내에 있는 노드 대부분에게 도달합니다

이제 거래가 비트코인 네트워크에 전파되었습니다. 하지만 이 거래가 검증되고, 채굴(mining)을 거쳐, 블록에 포함되는 과정이 남아있습니다.

검증하다니, 뭘 어떻게 검증하는걸까요? 답을 얻기 위해 이런 질문을 하나 해보겠습니다.
중앙신뢰기관(이를테면 은행)이 없는 상태에서, 공개장부안에 있는 내용, 즉 결국 누가 무엇을 얼마나 소유하고 있는지에 대한 단 하나의 보편적 “진실”에 어떻게 전 세계 모든 사용자가 동의할 수 있을까요? 답은 간단합니다. 모두가 같은 장부를 가지고 있기 때문입니다. 그럼 어떻게 모두가 동일한 장부를 가지게 된걸까요? 조작을 해서 나만 몇 억을 더 가지고 있는 거래내역을 만들어 모두에게 전달할 수는 없을까요? 예, 불가능합니다. 바로 사토시의 중요한 발명품인 합의도출(emergent consensus) 프로세스 때문입니다. 이 합의는 독립적인 비트코인 네트워크의 노드들이 모두 동일한 규칙을 따르면서 만든 비동기적이고, 상호작용적인 결과물입니다.

Computer Science 분야에서는 분산 컴퓨팅에서 발생할 수 있는 신뢰와 합의의 문제를 함축하는 비잔티움 장군의 딜레마라는 문제가 있습니다. 비잔틴 군대의 여러 사단이 적군의 도시 바끝에 진을 치고 있는데, 각 사단이 오로지 전령을 통해서만 서로 연락할 수 있다고 할 때, 배신자들을 배제한 상태로 언제 어떻게 동시적인 공격을 할지에 대한 고민입니다. 다수의 노드(PC)가 참여하는 분산네트워크에서 합의와 의사결정은 아주 핵심적인 문제인데, 사토시가 이 부분에 대해 중요한 솔루션을 발견한 것이죠. 결론부터 얘기하면 배신자는 다수의 충직한 장군들에 의해 폐기된다는 원칙입니다. 그리고 이 충직성을 작업증명(Proof of Work)라는 방법으로 입증 하는 것입니다. 이 발견은 단순히 통화 뿐 아니라 자산, 선거, 계약 등 공정성을 입증해야 하는 분산 네트워크 환경에서 아래 중요한 해결책이 될 수 있다는데서 큰 의미가 있습니다.

다시 사토시의 합의로 돌아와서 살펴보면 이 합의 프로세스는 크게 네 가지가 있습니다.

  1. 모든 노드가 각 거래마다 독립된 검증 실시
  2. 어떤 채굴자가 작업증명에 성공하면 다른 채굴자들이 검증하여 검증된 거래들을 새로운 블록에 독립적으로 추가
  3. 모든 노드들이 새 블록을 독립적으로 검증한 다음 체인에 블록을 연결
  4. 모든 노드가 작업증명을 통해 나온 최고 누적 연산 체인을 독립적으로 선택

앨리스의 사례에서 보았듯이, 거래가 끝나면 그 거래는 모든 비트코인 네트워크에 전파가 됩니다. 여기서 각 네트워크의 노드들은 받은걸 이웃 노드들에게 다시 전송을 하기 이전에, 1차적으로 스스로 검증을 합니다. 합의 프로세스의 첫 번째 단계이니다. 거래가 이미 소비되어 있으면 안되고, 거래크기는 MAX_BLOCK_SIZE보다 작아야 하고, 입력값이 출력값 총액보다 커야 하고, 해시가 0이면 안되고…등등…사토시와 오픈소스 커뮤니티가 발전시킨 수 많은 체크리스트들을 통해 유효한 거래들만 솎아 내고 다른 노드에게 전송을 합니다. bitcoin/src/consensus/tx_verify.cpp 참조 - CheckTransaction, CheckTxInputs 등

두번째 단계를 가려면 채굴이라는 것을 이해해야 합니다. 채굴은 뭘까요? 가끔 인터넷에 보면 어떤 중국인 채굴자가 알파고나 가지고 있을 법한 수 천대의 GPU로 무장한 장비를 구축하고 한 달 전기세를 몇 억 씩 내가며 채굴을 하는 사진을 보셨을 수도 있습니다. (실제 채굴자들은 중국인들이 다수를 차지합니다.) 흔히들 채굴이란 많은 컴퓨팅 파워를 가지고 수학적 계산을 통해 솔루션을 찾는 것이라는데, 그 무식한 돈 낭비를 왜 하는지, 어떻게 하는지 한번 살펴보겠습니다.

본래 채굴 과정은 2가지 목적을 가지고 있습니다.

  1. 거래를 담고 있는 블록이 충분한 계산력을 사용하여 확인될 때만 블록이 장부에 등재되고 신뢰를 형성한다.
  2. 각 블록 내에서 새 비트코인을 생성한다. 즉, 화폐를 발행하는 역할을 한다.

무슨 소린가 싶습니다. 하나씩 살펴보지요.
채굴의 기술적 목표는 블록 헤더 안에 있는 난이도 목표(target value) 보다 낮은 블록 해시값 이 나올수 있게 하는 난스(nonce) 값을 찾는 것입니다. 이 요건에 맞는 난스를 찾기 위해 초당 수천 조에 달하는 테스트를 합니다. 좀 더 쉽게 설명하면 채굴은 블록 헤더를 반복적으로 해싱해서, 해시 결과값이 특정 목표치와 일치할 때까지(=목표보다 낮아질때까지) 하나의 매개변수, 즉 난스 값을 변화시키는 과정입니다.

프알못을 위해…해시란(hash)?
해싱은 임의의 길이의 데이터를 고정된 길이 의 데이터로 매핑하는 암호화 함수입니다. SHA256이라는 알고리즘을 통해 어떤 텍스트들도 16진수의 64개 고정된 문자로 변경해버립니다. 어떤 특정 입력에 대한 해시 결과는 늘 동일하지만, 해싱의 결과값으로 입력값을 찾아내는 것은 불가능합니다. 목표하는 해시 결과가 우연히 나타나기 위해선 입력값을 하나씩 바꿔가며(ex:입력값의 일부인 난스를 1씩 증가시켜보며) 무한히 테스트 해보는 수밖에 없습니다. 특정한 값을 얻기 위해 가능한 모든 값을 대입해 보는것이죠.(Brute Force)

이제 해시가 뭔지를 감을 잡았습니다. 그럼 이제 변수로 사용되는 난스를 1씩 증가시켜보며 해시값이 어떻게 변하는지 살펴보겠습니다. 참고로 해시값은 모두 16진수입니다.(각 자리수가 0~f까지만 나올수 있다는 말.)

만약 난이도 목표 가 1000000000000000000000000000000000000000000000000000000000000000 라는 16진수라고 가정해봅니다. 맨 앞이 1로 시작한다는게 중요합니다. 내가 어떤 입력값을 해싱해서 이 난이도 목표값보다 낮은 해시값을 찾으려 합니다. 근데 해싱의 특성상 입력값을 유추하는건 불가능합니다. 위의 해싱 리스트에서 맨 앞자리가 1보다 작은 해시값은 뭔가요? 바로 I am Satoshi Nakamoto13 뿐입니다.(해시 결과값이 0으로 시작하니 1보단 작은게 확실합니다) 답을 찾았습니다. 여기서 찾은 난스는 13입니다. 바로 이 것을 작업증명(Proof of Work) 계산이라고 합니다. 16진수의 하나인 0이 나오는 것은 확률적으로 16번이면 나오는데 물론 13번만에 나왔으니 운이 좋긴 했지만 위의 결과가 보여주듯 요건을 만족하는 nonce를 찾는건 쉬운건 아닙니다. 맨 앞자리만 비교해서 13번만 연산한거지, 수치적으로 더 많은 자리수를 비교하려면 엄청난 연산이 필요한겁니다. 게다가 비트코인 시스템은 컴퓨팅 파워의 발전과 함께 더 경쟁이 치열해졌고, 그에 따라 난이도도 어려워지도록 설계되었습니다. 채굴이 어떤 건지 대충 감이 오시나요? 딴거 없습니다. 그냥 수학적 계산일 뿐이죠. 어떻게 보면 블록체인과는 아무 상관도 없고, 블록 안에 포함된 앨리스의 거래와는 아무 상관도 없는, 단순 노가다 계산일 뿐입니다.

어떤 채굴자가 채굴에 성공(=난이도 목표보다 낮은 해시값을 찾는데 성공=작업증명에 성공)했다면 그 블록을 다른 네트워크 노드에 전달하게 됩니다. 당연히 블록 안에 있는 채굴자가 찾은 난스(여기서는 13이라는 숫자)도 전달됩니다. 그럼 다른 노드들은 그걸 검증하고 검증에 통과하면 각자 독립적으로 해당 블록을 거래장부에 추가합니다. 위에서 말한 합의 프로세스의 일부입니다. 근데 어떻게 검증을 할까요? 다른 채굴자들은 답을 못찾았는데 말입니다. 정답은, 그냥 정답을 찾은 채굴자에게 받은 난스를 가지고 자기도 해싱을 한 뒤, 그 결과값이 이전 블록의 난이도 목표보다 작다는 사실만 확인하면 됩니다. 이웃이 문제의 정답을 알려줬으니 쓰기만 하면 되는겁니다. 참 간단하죠. 작업을 검증하기 위해서는 단 1회의 해싱만 필요하지만, 유효한 난스를 찾는데는 13회, 아니 실제로는 수천 조, 수십 경이 넘는 해싱이 실행되야 합니다. 이게 바로 채굴과 비트코인 사용원리 합의입니다.

이 글을 쓸 시점에는 블록 헤더의 해시가 0000000000000000013eeb173c0b78a79dcdc606f0ef50fc3a025610bf433f38 인 블록의 난이도 목표보다 작은 블록에 대한 검색을 하고 있었습니다. 앞에 0이 엄청 있는것으로 보아 유효한 해시를 찾는게 엄청 어렵다는 걸 알 수 있습니다.

또 의문이 생깁니다. 컴퓨팅 파워는 시간이 흐를수록 나날이 발전하고, 난스 찾는건 갈수록 어려워지는데, 어떻게 채굴 인터벌은 늘 평균적으로 10분을 유지하는 것일까요? 정답은 블록의 헤더 안에 있는 난이도 값 때문입니다. 비트코인 시스템은 사토시가 처음 만들 때부터 블록이 10분 단위로만 만들어지도록 설계되었습니다. 근데 해싱이란 것은 암호화된 값이기 때문에 우리가 볼 때는 복불복입니다. 억세게 운이 좋으면 원하는 결과 값이 빨리 나올 수 있고 운이 나쁘면 아무리 해도 원하는 값이 안나오겠죠. 비트코인 시스템은 이 난이도 값을 조정하며 블록이 평균적으로 10분마다 생성되도록 유지합니다. 근데 유지를 하다니, 누가유지를 하는 것인가요? 그것 역시 시스템 안에 설계되어 있습니다. 사토시는 2,016개의 블록이 10분 간격으로 만들어지는데 필요한 시간인 2주(2,016블록*10분)마다 난이도를 조절하도록 설계했습니다. 2주만에 만들어져야 할 2,016개의 블록이 1주만에 만들어졌다면 난이도는 올라가고, 한 3주걸렸다면 난이도는 줄어들도록 말이죠. 이에 따라 난이도 목표값도 재설정되는데, 블록을 찾는데 걸리는 시간을 측정, 계산하여 매번 난이도 목표값을 재설정합니다.

혹시 채굴할때 계산 방법이 ‘난이도 목표’보다 낮은 해시값을 찾는것인지, 그냥 ‘이전 블록의 해시값’보다 낮은 해시값을 찾는 것인지 헷갈릴 수 있습니다. 그 이유는 난이도 목표값이라는 항목 자체가 계수/지수 포맷으로 된 8자리 16진수 값이기 때문인데 이를 지수계산과 10진수 변환을 거친 후 다시 긴 16진수로 바꿔보면 결국 ‘이전 블록의 해시값’과 비스~읏 하게 나옵니다. 사실은 ‘난이도 목표’ 보다 낮은 해시값을 찾는게 맞습니다.

채굴의 목적을 설명하느라 길어졌네요. 그럼 위에서 언급한 채굴과정의 두 번째 목적, 화폐 발행 기능은 무슨 얘기일까요?

비트코인 발행계획


출처 : 피넥터

가상화폐인 비트코인의 총 발행량은 사토시가 처음 만들 때부터 2,100만 BTC로 정해져있는데, 2017년 현재 1600만 BTC 정도 발행이 된 상태입니다. 하나의 블록당 발행되는 비트코인은 현재 기준으로 약 12.5 BTC이며, 4년마다 반감기를 거쳐 2140년 정도 되면 발행이 끝나게 됩니다. 그 때가 되면 비트코인 발행 단위가 0.00000001 BTC(1사토시)가 될 만큼 줄어들기 떄문이죠.
여하튼 누군가는 발행을 한다는건데, 이걸 누구에게, 어떤 방식으로 주는걸까요? 비트코인은 탈중앙화된 환경이라는데 한국은행 역할은 누가 하는 것이죠? 바로 10분마다 채굴되는 블록을 통해 발행하게 되어 있습니다. 블록이 하나 체인에 쌓일 때마다 비트코인의 일부가 발행이 되는 것이죠.

앞서 얘기한 것처럼, 합의도출을 위한 분산화된 매커니즘을 갖고 있는 비트코인 생태계에선 누군가 계속 거래 장부를 만들어 나가는 노력을 해야 하는데, 이를 위한 방식으로는 작업증명 계산 프로세스를 사용하고 있습니다. 근데 채굴자들이 이걸 천문학적인 H/W 투자비용, 비싼 전기세 등을 바쳐가며 하는 이유는 뭘까요? 그 이유는 바로 10분마다 발행되는 이 따끈따끈한 신생 화폐를 얻기 위해서입니다. 비트코인 생태계는 이 화폐발행 기능을 통해서 채굴자들이 작업증명 계산을 하도록 유인합니다. 채굴에 성공한(=작업증명에 1등으로 성공한) 채굴자에게는 새롭게 발행한 비트코인을 보상(Reward)으로 주는 것이죠. 현재 비트코인 기준 발행량이 12.5BTC이고 시세가 1BTC당 USD 3천불 정도 하니까 한 번 성공하면 대략 원화 4천만원이 넘는 돈을 얻을 수 있네요. 10분에 4천만원이면 할만하지 않나요? PC사양이 별로 좋지 않은 개인 채굴자들은 채굴 풀(Pool)이라는 공동채굴단에 참여해서 마치 펀드처럼 본인이 투자한 컴퓨팅 파워만큼(PC사양) 분배받을 수도 있습니다.

어라? 이상하다. 비트코인은 중앙통제기구가 없는 생태계라는데 그럼 보상을 수여하는 주체는 누구일까요? 이 보상을 받는 방법은 의외로 간단한데, 채굴자가 자신이 만드려는 블록 안에, 보상으로 받을 새로운 비트코인이 “생성”되는 거래를 하나의 거래로써 포함시키는 것입니다. 일종의 셀프 보상인 셈이죠. 하지만 그냥 거래를 블록에 포함시켰을 뿐, 아직 승인된 것은 아닙니다. 채굴에 성공해야 받게 됩니다. 그리고 엄밀히 얘기하면 보상금만 있는 것은 아니고, 보상금과 함께 자신의 블록 안에 있는 모든 거래들, 즉 10분동안 전 세계 각지에서 접수된 거래들의 거래수수료까지 포함을 해서 합친 금액을 생성합니다. 2140년이 되어 더 이상 채굴할 비트코인이 없어지는 시대가 오면, 거래수수료만 생성하게 될 것입니다. 이런 생성거래는 채굴자의 비트코인 주소로 전송하는 하나의 출력값을 가지고 있기 때문에, 나중에 채굴에 성공하면 결국 채굴자에게 돌아갑니다. 물론 채굴에 실패하면 아무것도 못 얻습니다.

여기서 또 질문. 채굴하는 동안 쌓이는 거래는 어떻게 보관하고 있을까요? 네트워크로 전송된 거래는 블록체인에 올라가기 전까지는 검증되지 않습니다. 10분마다 새 블록이 생성될 때, 비트코인 네트워크 노드들은 이 상황을 지켜보다가 각 노드가 유지하고 있는 임시 풀(temporary pool)에 새로운 거래들을 추가시켜놓습니다. 물론 여기에는 미검증 거래들이 들어있겠죠. 거래들이 새 블록에 추가될 때는 거래의 age나(발생한지 얼마나 오래됐는지), 거래 수수료가 가장 높은 거래부터 우선적으로 추가되어(다른 기준도 있지만) 새로운 블록에 대한 작업증명 계산을 시작합니다. 만약 한창 계산하고 있는데, 억세게 운 좋은 다른 채굴자가 1분 만에 솔루션을 찾아서, 그 채굴자으로부터 새로운 블록을 받게 되면, ‘이번 라운드에서는 내가 실패했구나’ 깨닫고 재빨리 새 블록을 채굴하는 과정을 다시 시작합니다. 과거 따위는 신경쓰지 않아

다시 사토시의 합의 프로세스로 돌아오겠습니다.
비트코인 합의 매커니즘의 세 번째 단계는 모든 노드들이 받은 새 블록을 독립적으로 검증하는 것입니다. 왜 채굴자들은 블록 안에 무수히 많은 비트코인을 자신에게 전송하는 거래를 만들지 않을까요? 그것은 모든 노드가 동일한 규칙에 따라 블록들을 검증하기 때문입니다. 블록의 데이터 구조가 문법적으로 유효한지, 블록의 크기는 제대로인지, 머클트리 해시값은 맞는지, 거래 전부는 다 유효한지… (bitcoin/src/validation.cpp 참조) 때문에 채굴자들은 사실 여부를 속일 수 없는 것이죠. 비싼 전기세 내고 조작했다간 아까운 기회비용만 날리는 것입니다. 채굴자들은 모든 노드가 따르고 있는 공유 규칙에 따라 완벽한 블록을 구성해야 하고 그 블록을 채굴하기 위해 노력해야 합니다.

합의 프로세스의 마지막은 체인을 선택하는 일입니다. 체인은 왜 선택하는 걸까요? 블록체인은 분산화된 데이터 구조이므로 노드들이 각자 가지고 있는 복사본들이 서로 항상 동일한 상태를 유지하는 것은 아닙니다. 두 개의 블록이 각자 짧은 시간 내에 채굴되어 반대의 순서로 도착하거나, 여러가지 네트워크 환경에 따라 서로가 가지고 있는 블록체인이 불일치할 수 있습니다. 이 현상을 해결 하기 위해 각 노드는 여러 노드 중에서, 항상 작업증명을 가장 많이 시행한 노드의 블록체인을 선택해서 새로운 블록을 추가하려고 합니다. 이것을 최장 체인 혹은 최고 누적 난이도 체인(greatest cumulative difficulty chain) 이라고 합니다. 모든 노드가 이 최장 누적난이도 체인을 선택하는 한, 전 세계 비트코인 네트워크는 결국 일관된 상태로 수렴합니다.

한편, 이 합의도출 매커니즘을 기반으로 하는 비트코인 생태계는 사리사욕을 추구하지 않고 정직하게 작업하는 채굴자들이 다수를 차지한다는 신뢰를 바탕으로 하고 있습니다. 만약 특정 채굴자 집단이 채굴 파워 중 많은 부분을 획득하여 비트코인 네트워크의 보안을 위협하기 위해 합의 매커니즘을 공격한다면, 비트코인 생태계의 신뢰도는 크게 하락할 것이라는 비판이 있는 것도 사실입니다. 하지만 이에 대해 비트코인의 창시자인 사토시는 그의 논문에서 이렇게 설명합니다.

“If a greedy attacker is able to assemble more CPU power than all the honest nodes, he would have to choose between using it to defraud people by stealing back his payments, or using it to generate new coins. He ought to find it more profitable to play by the rules, such rules that favour him with more new coins than everyone else combined, than to undermine the system and the validity of his own wealth.”

“어느 탐욕스러운 공격자가 다른 모든 정직한 마이너들의 컴퓨팅 파워를 능가하게 된다면, 그는 가지고 있는 힘을 다른 이들의 비트코인을 훔치는 데에 사용할 지, 아니면 새로운 블록을 생성하여 코인을 획득하는 데 사용할 지를 선택해야 할 것이다. 그는 전체 시스템을 약화시킴으로써 자신이 보유한 비트코인의 가치를 떨어뜨리는 것 보다, 정해진 규칙에 따라 다른 모든 마이너들이 채굴할 수 있는 비트코인의 양보다 더 많은 코인을 확보함으로써 얻는 이익이 더 크다는 것을 알게 될 것이다.“

블록체인 거래장부

위의 그림을 살펴보면, 앨리스의 거래가 들어 있는 블록 #277316을 볼 수 있습니다. 최초 블록이 #0부터니까 앨리스의 거래 블록까지 277,316개의 블록이 존재한다고 볼 수 있으며 모두가 체인으로 연결되어 있습니다. 시간이 흘러 블록이 많아지면서 거래들의 신뢰도가 더 높아지고, 거래를 철회하기도 기하급수적으로 어려워집니다(관례상 6개의 블록 이전까지의 거래는 철회할 수 없다고 알려져 있음)

여기까지 대략적인 비트코인 작동원리에 대해 살펴보았습니다. 비트코인은 이론이 아니고 이미 현실화된 화폐시장입니다. 블록체인 탐색기를 이용하면 어떤 거래든, 블록이든, 해시든, 다 검색이 가능하니 직접 사용해 보면 이해가 더 쉽게 가능합니다. 비트코인 코어 클라이언트를 설치할 줄 안다면 json-rpc 인터페이스를 이용해서 원하는 정보를 데이터 형태로 조회할 수 있습니다.

비트코인, 더 나아가 블록체인의 미래는 누구도 확신할 수 없습니다. 비트코인은 현대 암호학과 IT기술, 계량경제학 등의 집약체이지만 아직도 많은 논의가 필요해보입니다. 한 쪽에서는 블록체인 거버넌스를 얘기하지만 다른 한 쪽에서는 비트코인 버블론, 종말론을 이야기합니다. 비트코인의 발행총량이 서서히 끝나가는 이 시점에, 과연 본격적인 디플레이션이 올지, 앞으로 디지털 현물자산의 법적 보증은 누가 할지, 스마트 컨트랙트를 탑재한 이더리움은 법률적 효력이 있을지 아직 아무도 알 수 없습니다. 계좌동결이나 강제인도 같은 현실 금융시장에서 필요한 기능이 비트코인 생태계에서 지원되지 않는 점도 큰 문제입니다. 하지만 그럼에도 불구하고 비트코인은 비트코인 사용원리 수 많은 집단지성에 의해 발전하고 있습니다.

암호화폐 첫걸음 4] 암호화폐 지갑 종류에 대하여

안녕하세요, 본 글은 6부작으로 연재되는 암호화폐 시리즈의 네번째 자료입니다. 본 시리즈는 디지털 자산의 장점부터 암호화폐를 사는 방법, 가격표를 보는 방법 등 모든 것에 대해 다루고 있습니다.

지난

들어가며

메이커다오의 유명한 탈중앙화 스테이블 코인 다이는 가격 변동성을 제거하여 전세계의 사람들이 암호화폐의 진정한 가치를 느낄 수 있게 합니다. 점점 더 많은 사용자들이 블록체인 상에서 다이가 가지는 잠재력을 알게 되면서, 우리는 암호화폐가 단순히 미지의 영역이라기 보다는 유용한 것이라고 보는 세상에 더 가까워지고 있습니다.

금융 활동의 선택지들은 시간이 흐를수록 점점 변해갑니다. 하지만, 자산을 추적하고 안전하게 보호해야할 필요성은 변함 없이 중요합니다. 그렇기에 암호화폐 지갑이 필요합니다.

시중에는 다양한 암호화폐 지갑 종류가 존재하며, 각각의 지갑을 알아볼 필요성이 있습니다.

암호화폐 지갑에 핵심(Key)이 담겨있습니다.

코인과 토큰은 암호화폐이자 디지털 자산입니다. 그러므로, 물리적인 형태로 존재할 수 없고, 물리적인 지갑 혹은 장소에 “보관” 할 수 없습니다. 암호화폐 지갑은 사람들이 암호화폐의 소유권을 양도하기 위해 사용하는 소프트웨어의 한 종류이며, 개인키(하기 참조)가 있어야 접근 가능합니다.

지갑은 자산을 관리하는 도구로써 뿐만 아니라, 탈중앙화 애플리케이션(Dapps)들과 상호작용하기 위해 사용되기도 합니다. 예를 들면, 사용자들이 다이를 생성하고 싶을 때, 메이커 프로토콜에 접근할 수 있는 인터페이스인 Oasis Borrow를 이용합니다.

여러분은 암호화폐 지갑을 통해 사용 가능한 코인과 토큰 리스트 및 잔고와 거래 내역을 보실 수 있고, 송금을 할 수 있습니다.

어떤 지갑을 사용하는지에 관계 없이, 여러분은 블록체인 상에 공개된 주소(퍼블릭 키; 이하 지갑 주소)와 개인키(Private key)를 부여 받습니다. 여러분이 암호화폐로 하는 일은 모두 거래 내역의 형태로 블록체인 장부에 기록되며, 여러분의 지갑 주소 역시 영원히 같이 기록됩니다.

반면, 여러분의 개인 키는 말 그대로 개인적인 것이므로, 공개되지 않습니다. 지갑이 가지는 고유의 특성인 개인 키는 지문의 디지털 형태라고 할 수 있으며, 거래에 서명을 하는 용도로 사용됩니다. 따라서, 절대 타인에게 공유되지 않습니다.

여러분의 암호화폐 지갑은 암호화폐 도난을 막을 수 있는 강력한 첫번째 방어선입니다.

여러분의 암호화폐 거래에 은행이나 제 3자의 개입이 없기 때문에, 스스로 개인 키를 안전하게 보관하셔야 합니다. 만약 분실 시에는 도움을 요청할 사람도, 방문할 서비스 센터도 없습니다.

일부 암호화폐 지갑 개발자들은 개인 키를 백업해 놓을 수 있는 방법을 제공하기 시작했습니다. 하지만 여전히, 대부분의 경우 이용자들은 개인 키를 잃어버리거나 지갑이 다른 사람의 손에 들어가는 등의 경우에 입력할 수 있는 시드 문구(Seed phrase)를 받아 관리하고 있습니다. 만약 이 시드 문구마저 잃어버리게 된다면 개인 키를 잃을 위험이 있고, 결국 암호화폐에 대한 소유권을 이전할 능력을 잃을 수도 있습니다.

* 참고: 지갑 소유자는 송금 시 지갑을 사용하여 암호화폐에 대한 소유권을 이전하는 것이지, 암호화폐 자체를 넘겨주는 것이 아닙니다. 왜냐하면, 암호화폐 자체는 단순히 소프트웨어이며, 옮길 수 있는 유형(물리적인) 자산이 아니기 때문입니다.

여러분의 암호화폐 지갑은 도난을 방지할 수 있는 강력한 첫번째 방어선입니다. 하지만, 여러분의 자산은 개인 키 혹은 시드 문구를 어떻게 보관하는지에 달려 있다고도 할 수 있습니다.

암호화폐 지갑 종류 이해하기

암호화폐 지갑은 크게 “핫 월렛”과 “콜드 월렛” 두 가지로 분류됩니다. 핫 월렛이라고 명명된 이유는, 해당 지갑들이 대부분의 시간 동안 모바일 기기, 데스크탑 및 인터넷이 브라우저 등에 연결 되어있기 때문입니다. 콜드 월렛은 종이 지갑 역시 포함합니다. 이들은 핫 월렛과는 완전히 다른 하드웨어 지갑이라고 할 수 있으며, 지갑을 사용할 때에만 인터넷에 연결됩니다. 각 지갑 종류마다 저마다의 장점들이 있습니다. 따라서 여러분은 원하는 성능이나 보안성에 따라 가장 적합한 지갑을 선택하시게 됩니다.

* 최근의 규제 지침은 “수탁형” 지갑과 “비수탁형” 지갑을 구별하는 것에 초점을 두고 있습니다. 제 3자에 의해 자금이 관리되는 지갑이 수탁형 지갑(예, 거래소 지갑)이며, 사용자가 본인의 자금을 독립적으로 통제하는 지갑이 비수탁형 지갑(예, 메타마스크 지갑)입니다.

핫 월렛의 유형

  • 모바일 지갑: 신규 이용자들의 경우 암호화폐를 배워가며 상대적으로 소액의 자산을 보유하는 경향이 있고, 편의성 때문에 모바일 지갑을 많이 사용합니다. 모든 핫 월렛 중 가장 인기있는 모바일 지갑은, 보안 문제가 있습니다. 스마트 폰은 거의 항상 인터넷에 연결되어 있으며, 바이러스에 취약하고 분실되거나 도난당할 수 있습니다. 모바일 지갑을 사용하는 경우, 여러분의 개인 키는 휴대 전화의 보안성에 달려있다고 할 수 있습니다. 모바일 브라우저에서 작동하는 일부 지갑들이 있지만, 대부분은 앱(App) 기반입니다.
  • 데스크탑 및 브라우저 지갑: 모바일 지갑과 같이 데스크탑 및 브라우저 지갑은 사용하기 쉽지만, 테스크탑이나 노트북 컴퓨터의 브라우저 확장 프로그램을 통해 사용할 수 있습니다. 중요한 것은, 이러한 지갑들은 꼭 모바일 브라우저를 통해야만 하는 것은 아닙니다. 노트북과 컴퓨터가 휴대 전화보다 도난당하기 어렵다고 하더라도, 바이러스에 취약하고 휴대 장치의 보안 시스템에 의해 안전성이 좌우됩니다.

콜드 월렛의 유형

  • 하드웨어 지갑: 하드웨어 지갑은 USB 케이블 또는 블루투스를 통해 모바일 기기나 컴퓨터, 노트북 등에 연결하여 사용하는 물리적 장치입니다. 소유자는 지갑을 사용하기가 조금 더 불편하지만, 보통 이러한 사용자들은 덜 자주 거래하는 경향이 있기에 큰 문제가 안됩니다. 만약 매일 매일 거래를 하는 사용자라면, 지갑의 편의성에 많이 의존하게 됩니다.
    하드웨어 지갑들은 장치에 연결할 때에만 “핫 월렛”이 되기 때문에, 보안성이 더 뛰어납니다. 거래에 서명하기 위해 하드웨어 지갑을 사용하는 경우, 여러분은 장치에 비밀번호를 입력하여 개인 키를 수동으로 잠금 해제해야 합니다. 모바일이나 데스크탑 지갑은 온라인 상의 타인에 의해 해킹될 수 있지만, 하드웨어 지갑은 물리적으로 손상되지 않은 한 안전합니다. 따라서 하드웨어 지갑을 사용하지 않을 때는 항상 비밀리에 안전한 곳에 보관해야 합니다.
  • 종이 지갑: 암호화폐를 잘 아는 사용자들이 주로 사용하는 지갑이며, “콜드 월렛” 중 가장 차갑(?)다고도 할 수 있는 지갑입니다. 온라인 상의 공격이 모두 방지되기 때문에 어쩌면 가장 안전한 지갑이라고 할 수 있습니다. 종이 지갑은 인터넷에 연결되지 않으며, 말 그대로 지갑 주소와 개인 키가 프린트된(보통 QR 코드의 형식으로) 한 장의 종이입니다. 거래를 하기 위해서 사용자는 해당 코드를 스캔하기만 하면 됩니다. 종이 지갑은 반드시 극도로 안전한 곳에 보관해야 합니다.

필요에 맞는 완벽한 암호화폐 지갑 선택하기

여러분이 사용할 수 있는 지갑의 개수에 제한은 없습니다만, 처음이시라면 하나의 지갑으로 시작하는 것이 가장 좋습니다. 시간이 지남에 따라, 지갑마다 서로 다른 용도가 있으며, 지갑들이 모든 블록체인을 지원하지 않는다는 것을 알게 될 것입니다.

모든 상황에서 쓸 수 있는 지갑

어떤 사람들은 큰 금액은 콜드 월렛에, 적은 금액은 핫 월렛에 보관하여 관리합니다. 필요하면 그 둘을 서로 반대로 사용하기도 합니다. 예를 들면, 만약 하드웨어 지갑이 먼 곳에 떨어져 있어서 사용하지 못할 때, 브라우저 기반의 핫 월렛을 사용하여 거래를 할 수 있습니다. 그런 뒤 나중에 더 안전한 콜드 월렛으로 잔액을 옮기는 것입니다.

또한, 서로 다른 블록체인들은 각각의 지갑 주소를 필요로하며, 모든 지갑들이 서로 다른 블록체인 상의 토큰들을 지원하는 것은 아닙니다. 예를 들면, 비트코인 블록체인 상의 비트코인(BTC)과 이더리움 블록체인 상에서 존재하는 다이(Dai)가 있습니다.

따라서, 만약 누가 여러분께 1 비트코인과 1다이를 송금하려 한다면, 서로 다른 두 개의 지갑 주소로 보내야합니다. 만약 사용하고 있는 지갑이 위의 두 개의 블록체인들을 지원하지 않는다면, 서로 다른 두 개의 지갑이 필요할 것입니다.

2019년 2월 ETH Denver에서 버너 지갑을 사용하여 푸드 트럭에서 음식을 사는 메이커 오라클 총괄 Mariano Conti

일회용 버너(Burner) 지갑

마지막으로 소개해드리는 버너 지갑을 사용하면, 모바일 기기를 통해 적은 금액의 암호화폐를 빠르고 간단하게 교환할 수 있습니다. 메이커다오의 행사에서는 종종 버너 지갑에 미리 다이를 입금시켜 놓아 참석자 분들께 지급하기도 합니다. 이러한 일회용 지갑은 신규 이용자들이 다이를 가지고 테스트해보기에 좋고, 행사장 내의 물품을 사는 것도 가능합니다.

암호화폐 지갑이 금융 자유화에 박차를 가합니다.

암호화폐 지갑의 종류마다 가진 고유한 기능들로 인해, 다양한 선택을 하실 수 있으며, 암호화폐를 알아감에 따라 사용하는 지갑 역시 바뀔 수 있습니다.

물론, 암호화폐 지갑은 신규 이용자분들께는 다소 혼란스러울 수 있습니다. 그러나, 지갑이 사용자에게 더 많은 경제적 자유와 경제적 기회를 제공한다는 점을 보았을 때, 충분히 배울 가치가 있습니다.

일단 지갑 하나 구하게되면, 코인베이스(Coinbase)와 같은 거래소를 통해 다이를 획득할 수 있습니다. 또한 메이커 볼트(Vault)를 통해 다이를 직접 생성할 수도 있으며, Oasis Save에 다이를 예치하여 보상을 획득하실 수도 있습니다.

6부작 시리즈의 다음화는 “단계별로 알아보는 암호화폐 구입 방법” 입니다.

DISCLAIMER

본 글은 정보 제공만을 목적으로 하며, 법적, 사업적, 투자 혹은 세금 관련 조언으로 사용되어서는 안됩니다. 그런 문제들에 대해서는 본인의 조언자와 상담해야 합니다. 차트와 그래프 및 참고자료들은 정보 제공 및 설명 목적으로만 사용되며, 구매 결정에 사용되어서는 안됩니다. 글의 내용은 명시된 날짜를 기준으로 합니다.

비트코인 사용원리

유동자산 꿀 정보/블록체인 꿀 정보

사토시 나카모토가 개발한 비트코인의 작동 원리

생각보다 비트코인이 무엇인지 잘 이해하고 있는 사람들은 별로 없는 것 같습니다. 아무래도 생소하고 기술적인 개념이 많이 나오기 때문일 수 있습니다. 그렇지만 이렇게 사람들의 관심이 몰리고 비트코인 관련 투자에 관심이 있다면 비트코인의 원리는 반드시 알아야겠죠. 그래서 오늘은 비트코인은 어떻게 탄생했고, 작동하는 원리는 무엇인지 자세히 살펴보도록 하겠습니다.

화폐-위에-비트코인의-모습

비트코인

비트코인은 '사토시 나카모토'라는 가명을 쓴 익명의 개발자에 의해 2008년에 개발됐습니다. 처음으로 비트코인이 발행된 건 2009년 1월이고, 비트코인 관련 공식 소프트웨어인 '비트코인 코어'는 2월에 공개됐습니다.

비트코인 공개 당시 나카모토는 '재래 통화의 뿌리 문제는 그것이 작동하게 하는 데 필요한 모든 신뢰'라며 '중앙은행은 통화 가치를 떨어뜨리지 않도록 신뢰할 수 있어야 하지만, 화폐 통화의 역사는 그 신뢰 위반으로 가득하다'라고 기존 금융에 대한 비판적 견해를 밝혔다고 합니다.

비트코인이 처음 등장한 시기가 2007년 서브프라임 모기지 사태로 촉발된 세계적 금융위기와 맞닿아 있다는 점은 기존의 금융 시스템에 대한 불신이 비트코인 개발에 영향을 미쳤을 것이라는 점을 짐작케 합니다. 결국 비트코인은 정부와 같은 중앙 권력이나 금융사처럼 기존에 금융을 지탱해왔던 중재자들 없이도 '개인 간 지불거래'가 가능하도록 하기 위해 개발된 것입니다.

개발자는 아직도 누구인지 밝혀지지 않았습니다. 2010년 말 비트코인 프로젝트를 떠난 그는 최대 110만 개의 비트코인을 비트코인 사용원리 여전히 보유 중인 것으로 추정되고 있습니다. 이는 현재 가치로는 수십조 원에 해당하며, 나카모토가 개인이라면 세계에서 가장 많은 비트코인을 소유하고 있는 인물일 겁니다. 그러나 그의 지갑에서는 비트코인이 빠져나간 적이 없어서 매각은 전혀 하지 않고 있는 것으로 전해집니다.

일반적으로 금융거래 시 은행, 신용카드회사 등의 금융기관이 중개하여 거래가 이뤄지는데 비트코인은 이러한 중개기관 없이 안전한 거래가 이뤄지도록 모든 거래내역을 장부에 기록하여 모든 사용자들이 공유할 수 있는 방식을 선택했습니다.

비트코인 시스템은 비트코인 사용원리 전체 거래내용을 10분 단위로 모아 장부에 기록하는데, 거래 내용은 암호화되어 있기 때문에 누군가 암호화를 풀어 장부에 기록해야 합니다.

암호는 수많은 계산과 검토가 필요한 어렵고 번거로운 일이기 때문에 암호를 풀어 장부에 기록하는 권리와 그 대가인 신규 발행된 비트코인을 한 사람에게 주는데요, 이 과정은 마치 광부가 광산에서 곡괭이질을 거듭한 끝에 금을 캐내는 것과 비슷하다고 하여 채굴(Mining)이라고 합니다.

사용자들은 컴퓨터를 통해 비트코인을 얻기 위해 경쟁하면서 수학 문제를 풀어야 하는데요, 시간이 지나면 지날수록 암호의 난이도는 높아지고 발행량도 점점 줄어들게 됩니다. 이는 화폐 가치 하락(인플레이션)을 방지하기 위함이라고 합니다.

비트코인은 앞으로 2040년이 되면 총 2,100만 비트코인을 끝으로 발행이 끝나며 이후에는 유통 시 발생되는 수수료를 이용하여 지급하도록 되어 있습니다.

결론부터 이야기하면, 비트코인은 화폐가 맞습니다. 그런데 우리가 일반적으로 알고 있는 화폐와는 조금 다른 개념을 가지고 있습니다. 기존에 없던 개념을 가지고 있는 화폐이기 때문에 우리가 이 비트코인을 이해하기에는 어려움이 있습니다. 그러나 조금만 관심을 갖고 기존 화폐와의 차이점을 구분하면서 살펴보면 비트코인을 이해하는 게 그렇게 어려운 일이 아닙니다.

비트코인은 수많은 비트코인 네트워크상에서 일어나는 거래 내에 존재합니다. 즉, 개인이 개인 지갑에 실제 비트코인을 보유하고 있지 않습니다. 지갑에 표시되는 비트코인은 그냥 그렇게 보일 뿐입니다. 정확하게 이야기하면 비트코인 네트워크상에서 일어나는 거래에 대한 소유권을 입증할 수 있는 키를 가지고 있습니다. 개인키(Private Key)라고 하는데, 일종의 금고열쇠 같은 겁니다. 비밀번호라고 생각할 수도 있습니다.

즉, 개인이 비트코인을 가지고 있는 게 아니고, 비트코인 네트워크에 기록된 비트코인의 거래내역에 접근할 수 있는 개인키를 보유하고 있는 것입니다. 그래서 비트코인은 실제로 존재하지 않고, 비트코인을 거래한 거래내역에 누가 얼마를 어디로 보냈는지에 대한 거래내역들만 존재합니다.

비트코인 지갑은 열쇠 2개로 이루어져 있습니다. 하나는 공개 열쇠, 하나는 개인 열쇠입니다. 공개 열쇠는 다른 사람에게 알려주는 지갑 주소, 즉 계좌번호입니다. ' 3RNnekdi302dbei2Udiwn99'와 같이 알파벳과 숫자의 무작위 조합으로 만들어지며 이 주소를 활용해 비트코인을 받거나 비트코인 잔액을 확인할 수 있습니다.

비트코인을 송금할 때는 개인 열쇠(비밀번호)를 써야 합니다. 개인 열쇠는 비트코인 소유권을 증명하는 유일한 수단입니다. 개인 열쇠가 없으면 송금은커녕 계좌를 들여다볼 수도 없기 때문에 상속도 불가능합니다.

한편 개인 열쇠를 분실해 영원히 출금하지 못하게 된 비트코인은 약 1,282억 달러(약 145조 원)이라는 보도도 나왔습니다. 지난 1월 뉴욕타임스(NYT)는 암호화폐 시장분석 업체 체이널리시스를 인용해 1,850만 비트코인 중 20%가 암호 분실로 방치된 상태라고 전했습니다.

암호화폐는 블록체인 기술에 기반한 장부에 기록이 되기 때문에, 암호화폐 시스템 자체를 해킹해 수량을 조절하는 것은 사실상 불가능합니다. 하지만 암호화폐를 보관하는 '지갑'을 해킹하는 건 다른 문제입니다.

암호화폐 지갑은 크게 '핫(Hot) 월렛'과 '콜드(Cold) 월렛'으로 구분됩니다. 간단히 말하면 핫 월렛은 온라인 상태의 지갑을, 콜드 월렛은 오프라인 지갑을 가리킵니다. 핫 월렛은 실물이 존재하지 비트코인 사용원리 않고, 상시 입출금이 가능하도록 온라인에 연결돼 있어 사용이 편리하지만 해킹 위험이 높은 편입니다. 보안에 더 취약한 셈입니다.

거래소 해킹 사고 대부분은 핫 월렛의 프라이빗 키 유출로 인해 발생했습니다. 2017년 12월 암호화폐 거래소 유빗이 핫 월렛에 들어있던 총자산의 17%가량의 비트코인 172억 원어치를 도난당해 파산절차를 밟았습니다.

반면, 콜드 월렛은 인터넷에 연결돼 있지 않은 오프라인 데이터 저장 장치입니다. 지갑을 사용할 때만 온라인에 연결됩니다. 이 때문에 핫 월렛에 비해 해킹 위험은 적습니다. 그렇지만 암호화폐를 거래할 때마다 오프라인 장치를 사용해야 해서 번거롭고, 거래 속도도 느려진다는 단점이 있습니다.

이런 점 때문에 한국인터넷진흥원(KISA)은 암호화폐 거래소에 핫 월렛과 콜드 월렛의 자산 보유 비중을 3:7로 할 것을 권고하고 있습니다. 만약의 경우를 대비해 1:9까지 권고하기도 합니다. 콜드 월렛에 자산을 빼놨다면, 콜드 월렛을 위한 공간을 별도로 분리하고 CCTV를 설치해 관리하는 것도 권장합니다. 이를 바탕으로 정보보호관리체계(ISMS) 인증을 발급합니다. 현재 암호화폐 4대 거래소(업비트·빗썸·코인원·코빗)를 포함한 10여 개 거래소가 ISMS 인증을 받았습니다.

비트코인의 문제는 앞으로 끊임없이 등장할 글로벌 가상화폐의 시초로 이해해야 합니다. 실제로 비트코인의 문제점을 극복하는 수십 개의 가상화폐가 줄이어 등장하고 있습니다. 단순히 현재 기준으로 비트코인은 화폐가 아니라 하여 그 영향을 폄하하는 것은 부적절한 행동으로 보입니다. 특히 기술적으로 이루어낸 혁신적인 부분에 대하여도 높게 평가해야 합니다. 비트코인 관련 비즈니스가 급성장하고 있는 요즘 앞으로 어떤 또 다른 혁신이 발생할지 기대가 됩니다.

블록체인이란 (Block Chain) - 앞으로 불러올 혁신은?

한때 우리나라를 휩쓸고 지나간 비트코인 투기 광풍으로 그 원천 기술인 '블록체인(Block Chain)'에 대해서도 많은 이들의 관심이 집중되고 있습니다. 이와 같은 현상으로 본래 의미까지 훼손되는

그레이스케일 포트폴리오 실시간으로 확인할 수 있는 사이트!

주식에도 세력이 있듯이, 코인계에서도 거대 세력인 그레이스케일이 존재합니다. 그레이스케일은 글로벌 초거대 사모펀드이며, 비트코인 가격 상승과 함께 주목되는 투자 회사이기도 합니다.

비트코인 사용원리

- 2009년 사토시 나카모토가 비트코인 사용원리 만든 암호화된 가상화폐.

- 컴퓨터로 복잡하게 프로그래밍된 암호를 풀면 지급되는 암호통화다(최초발생).

- 소스공개 이후 등장 하는 암호화폐는 이더리움, 라이트코인, 대시, 리플 등(알트코인이라고 함?)

- 즉, 암호화화폐는 종류가 다양하고 가격도 천차만별.

- 발행주체(ex: 중앙은행)없이 컴퓨터만 있으면 비트코인을 일정량 만들어지도록 보장함.

- 컴퓨터를 이용해 비트코인 암호화를 푸는 프로그램을 작동시켜 동작함(채굴이라고함).

- 많은 컴퓨터가 문제를 풀수록 문제의 난이도가 높아져 전체 비트코인 시스템 보안성이 더 강화된다.

- 비트코인 채굴은 많은 양의 연산을 이뤄내야 하기 때문에, 고가의 그래픽카드가 다수 필요하고 발열을 대비하여 환기시스템이 필요, 전력량도 만만치 않다.

1. 비트코인으로 거래시 거래를 생성하는 사람과 거래 서명을 하는사람이 같을 필요가 없다.

2. 거래가 생성되면 누가 거래를 생성했든 자금원의 소유자가 해당거래에 서명을 해야 한다.

3. 서명이 완료되면 거래가 유효화 되고 돈의 송금에 필요한 모든 정보가 담긴다.

4. 거래정보는 비트코인 네트워크에 전송되어야 한다. 이때 정보를 전송하는 비트코인 사용원리 사람과 노드 상호간에는 '신뢰'라는 것이 필요가 없다.

(수 많은 비트코인 노드들 중 하나에 이 거래데이터가 도달되어야 한다.)

* 기존 신용카드 거래는 민감정보를 포함, 중앙화 기관이 관리하는 암호화된 네트워크에서만 거래 전송이 가능. 중앙기관에 대한 '절대적 신뢰'가 필요하다.

반면 비트코인 거래정보는 개인키나 인증서를 포함하지 않아, 어떤 방식으로든 (bluetooth, NFC, Wifi) 하나의 노드에만 전송되면 된다. 그렇기에 누구라도 기관에 가입과 신뢰가 필요없이 손쉽게 거래를 성사시킬 수 있다.

5. 거래정보가 하나의 노드에 도달하면 이 노드는 비트코인 네트워크 상에 있는 모든 노드에게 이 거래정보를 전파 해야 한다.

6. 비트코인 네트워크는 P2P를 기반으로 하기 때문에 모든 노드는 동등한 지위를 가지고 있고 정보 하나를 수천개의 노드에 전파하는데 불과 몇 초도 걸리지 않는다.

7. 각각의 노드들이 거래를 유효화하고 각자가 정보 전송의 시발점이 되는 역할을 하기 때문에 공격자는 어느 곳을 공격할지 알 수 없게 되어 보안이 더욱 강화된다.

8. 전파되는 과정에서 채굴을 하고 있는 노드에 의해 검증된 후 이 거래정보가 영구적으로 블록에 기록되고 있고 이때가 되야 비로서 BTC를 전송했다고 할 수 있다.

9. 거래내역은 과반수의 해시파워가 검증을 했기 때문에 이미 올라간 기록을 다시 바꾸기도 불가능 하다.

(중앙화된 서버는 합의 없이 분산화 장부보다 비교적 훨씬 쉽게 변조 가능.)

- 해시(hash) : 암호화 되어있는 문제를 계산할 수 있는 알고리즘. 2진수 입력에 대한 디지털 지문.

해시율이 높을수록 난이도가 높은 가상화폐를 채굴 할 수 있다.

- 해시파워 : 문제를 풀 때의 속도. 해시파워의 단위는 H/s, MH/s, GH/s, TH/s 4 가지.

해시파워가 높을수록 초당 계산할 수 있는 문제가 많아지므로 채굴을 더 빨리 할 수 있다.

- 해시레이트 : 초당 해시 값을 계산한 횟수의 총합

10. 결국, 비트코인의 거래과정은

입력값(전송될 내용과 금액)과 출력값(그 금액의 목적지인 비트코인 지갑)까지 가치의 전송을 인코딩하는 데이터 구조.

- 카카오페이를 이용해 스마트폰으로 비트코인 사용원리 금액을 이체할 경우, 스마트폰에 금액 입력, 계좌비밀번호 입력, 인증서 비밀번호 입력을 통해 쉽게 거래한다.

- 비트코인 거래도, 보낼금액에 몇 BTC를 보낼지 입력하는 입력값과, 해당 입력값에 대응하는 지갑주소에서 몇 BTC를 나타내는 출력값이 생긴다. 그리고 이 출력값은 블록에 기록된다.

- 이 출력값(output)은 지갑에 찍히는 '잔액 덩어리'이다.

- **비트코인 거래의 구성은 '소비되지 않은 거래의 출력값으로 구성된다.(Unspent Transaction Output : UTXO)

비트코인 가격 보다 주목해야 할 ‘이것'

2017년부터 올해까지 암호화폐 투자 열풍이 MZ세대를 강타했다. 올해 2월 말 기준 빗썸 등 국내 4대 암호화폐 거래소에 개설된 계좌 수만 해도 250만 개가 넘는다. 이런 열풍은 많은 밈(온라인상 유행하는 짧은 영상이나 사진)과 ‘떡상’ ‘화성 갈끄니까’ 같은 유행어를 탄생시켰고, MZ세대에게 콘텐트로서 소비되는 중이다. 하지만 정작 암호화폐가 무엇인지, 비트코인과 이더리움은 어떻게 다른 것인지에 대해 알고 있는 사람은 그리 많지 않다. 그래서 준비했다. MZ세대가 블록체인과 암호화폐의 개념을 쉽게 이해하고 활용할 수 있도록 돕는 기획 시리즈다. 3회에 걸쳐 매주 블록체인과 암호화폐에 대한 개념과 디지털 자산 지갑, NFT(대체불가토큰)에 대해 다룬다. 1편에서는 기초적인 블록체인과 암호화폐에 대한 내용을 Q&A로 정리했다. 더불어 이 기사를 통해 특정 금융상품이나 디지털 자산의 거래를 권유하는 것이 아니라는 것을 강조하고 싶다.

암호화폐 가격 급등락에 대한 뉴스는 많이 접했지만, 정작 기반 기술인 블록체인이 무엇인지 설명해주는 곳은 많지 않다. 단 5분만에 블록체인의 탄생 배경과 작동 원리를 알아보자. [사진 오세진, 게티이미지]

암호화폐 가격 급등락에 대한 뉴스는 많이 접했지만, 정작 기반 기술인 블록체인이 무엇인지 설명해주는 곳은 많지 않다. 단 5분만에 블록체인의 탄생 배경과 작동 원리를 알아보자. [사진 오세진, 게티이미지]

[민지리뷰]
MZ세대가 알아야 할 블록체인
① 블록체인과 암호화폐

본격적으로 이야기하기 전에, 이 단어가 주는 힌트를 살펴볼게요. ‘블록’과 ‘체인’으로 단어를 떨어뜨리면 무엇이 떠오르나요. 여러 개의 블록이 연결된 긴 체인이 떠오른다면, 맞습니다. 그게 바로 블록체인이에요. 다시 말해, 블록체인은 데이터가 블록이란 단위로 시간의 흐름에 따라 순서대로 연결된 긴 고리입니다. 여기서 데이터는 사용자의 금융 상태가 대표적이고요. 새로운 블록이 생성될 때는 이전 블록의 금융 상태를 기반으로, 새로운 거래 내용을 처리해 최신 금융 상태를 반영합니다. 블록체인에 저장된 데이터는 누구나 자유롭게 열람하고 저장할 수 있어요. 특정한 회사나 기관이 소유하는 게 아닙니다. 이런 특징 때문에 ‘분산 거래장부’라고 불리기도 합니다. 결과적으로 블록체인 기술을 활용하면 ‘은행’이라는 중앙 주체가 없어도 송금, 결제 등이 가능해집니다.

블록체인을 한 문장으로 정의해본다면 ‘누구나 자유롭게 열람하고 저장할 수 있는 분산 거래장부'라고 할 수 있다. [사진 오세진, 언스플래쉬]

블록체인을 한 문장으로 정의해본다면 ‘누구나 자유롭게 열람하고 저장할 수 있는 분산 거래장부'라고 할 수 있다. [사진 오세진, 언스플래쉬]

암호화폐는 블록체인 기술의 가장 대표적인 활용 사례랍니다. 우리가 잘 알고 있는 비트코인과 이더리움 같은 암호화폐가 모두 블록체인 기술을 기반으로 작동하는 디지털 자산이죠. 블록체인 기술은 암호화폐 외에도 탈중앙화 애플리케이션, 자치 조직(DAO), 증권 및 실물 자산 토큰화, 보안 등 다양한 분야에서 활용되고 있고요. 참고로 암호화폐가 기존 전자화폐 및 가상화폐와 다른 차별점은 중앙화된 발행 기관이 없다는 점입니다. 금융기관이나 기업에서 전자, 가상화폐를 발행하는 것과 달리, 암호화폐는 탈중앙화된 네트워크에서 발행되기 때문에 중앙 주체가 없어요.

블록체인은 특정 조건을 비트코인 사용원리 만족한다면 누구나 참여할 수 있고, 블록체인에서 정의한 방식에 따라 참여자의 합의로 블록이 생성돼요. 합의된 규칙을 ‘합의 알고리즘’이라 부르는데, 여러 방식 중 비트코인과 이더리움 플랫폼이 채택해 가장 유명해진 것이 ‘작업 증명 방식’이랍니다. 다트 던지기 게임과 비슷한 면이 많은데요. 예를 들어 참여자가 무작위로 다트를 던지고, 다트판의 중앙에 위치한 높은 점수를 맞추기 위해 경쟁합니다. 여기서 ‘가장 빠르게 만점 영역을 맞춘 사람이 생성한 블록이 분산 장부에 추가한다’는 약속이 작업 증명 비트코인 사용원리 방식의 합의 알고리즘이고, 다트를 던지는 행위, 즉 개인이 블록을 생성하는 과정에 참여하는 것을 ‘채굴’이라고 표현해요. 실제 비트코인과 이더리움에서의 채굴은 고난도의 온라인 연산 퀴즈를 푸는 것과 비슷해요. 채굴을 위해서는 안정적인 네트워크와 많은 양의 전기 등 인프라가 필요하고, 채굴에 성공하면 그 보상으로 각 블록체인 플랫폼의 암호화폐를 얻을 수 있습니다.

비트코인과 이더리움과 같은 암호화폐 채굴은 다트 던지기 게임과 비슷하다. [사진 언스플래쉬]

비트코인과 이더리움과 같은 암호화폐 채굴은 다트 던지기 게임과 비슷하다. [사진 언스플래쉬]

2008년 사토시 나카모토라는 익명의 개발자가 쓴 A4 9장짜리 짧은 논문 『비트코인: 개인 간의 전자 화폐 시스템』을 통해 비트코인이라는 개념을 세상에 처음 제시했어요. 흥미로운 것은 개발자가 자신을 1975년생의 일본인이라고 주장하고 있지만, 실제 그의 정체는 밝혀지지 않았고, 심지어는 2011년 종적을 감췄죠.

비트코인은 중앙화된 금융기관 없이도 금융 거래가 가능한 시스템을 만들겠다는 취지의 제안이었어요. 2008년 미국 투자은행 리먼 브라더스가 파산을 선언하고 글로벌 금융위기가 찾아오자 당시 연방준비은행은 달러를 찍어내기 바빴어요. 이에 많은 사람이 ‘과연 연방준비은행이 항상 올바른 결정만 내릴 수 있나’ ‘은행을 구제하기 위해 시민이 보유한 화폐 가치가 하락하는 것이 과연 괜찮은가’ 같은 의문을 제기하기 시작했답니다. 미 중앙은행에 대한 신뢰에 금이 가기 시작한 것이죠. 이때 나카모토가 신뢰가 필요한 중앙 주체가 없는 전자 화폐 시스템을 제안한 겁니다. 그는 비트코인 블록체인의 첫 번째 블록에 2009년 1월 영국 타임지의 기사 제목 ‘은행들의 두 번째 구제금융을 앞둔 U.K. 재무장관’(Chancellor on brink of second bailout for banks)이라는 메시지를 비트코인 사용원리 비트코인 사용원리 기록했습니다. 당시 나카모토가 중앙은행이 통제하는 금융 시스템에 비판적이었다는 것을 알 수 있는 대목입니다.

비트코인 개념을 세상에 처음 선보인 사토시 나카모토의 논문 표지. [사진 비트코인 공식홈페이지 캡처]

비트코인 개념을 세상에 처음 선보인 사토시 나카모토의 논문 표지. [사진 비트코인 공식홈페이지 캡처]

이더리움은 2015년 개발자 비탈릭 부테린과 개빈 우드가 다른 오픈 소스 개발자들과 함께 만든 암호화폐 플랫폼이에요. 비트코인이 암호화폐 거래를 위한 플랫폼이라면, 이더리움은 다양한 어플리케이션을 만들 수 있는 분산 장부 플랫폼을 지향해요. 더욱 범용적인 블록체인을 추구하고 있죠. 자체 블록체인 네트워크에서 활용되는 암호화폐가 중요하지만, 플랫폼상에서 애플리케이션을 만들 수 있는 환경 제공을 목표로 해요. 이런 서비스를 탈중앙화 애플리케이션이라고 하는데, 흔히 이를 줄여 ‘디앱’(DApp)이라 불러요.
여기서 한 가지 기억해둬야 할 것이 디앱의 핵심 구성 요소인 ‘스마트 컨트랙트’예요. 비트코인에는 없고 이더리움엔 있는 큰 차이점이죠. 스마트 컨트랙트란 쉽게 말해 돈을 다루는 프로그램이에요. 기존엔 금융기관만이 데이터화된 돈을 다룰 수 있었다면, 이제는 이를 통해 누구나 프로그램을 통해 다룰 수 있게 됐습니다. 예를 들어 ‘내 계좌에 20만원이 입금되면, 5만원은 민지 계좌로 송금해줘’ 같은 프로그램이 가능합니다. 특정 조건(20만원 입금)이 충족되면 행동(민지에게 5만원 송금)을 하는 것입니다. 이더리움에는 이런 스마트 컨트랙트를 만들 수 있어, 단순히 암호화폐를 전송하는 것뿐만 아니라 여러 복잡한 연산을 실행할 수 있게 됐습니다.

사실 초기 단계부터 두 암호화폐는 거버넌스, 참여형 SNS 보상, 송금 등 다양한 분야에서 활용되었지만, 가장 대중적으로 알려진 사례가 투자였어요. 새로운 투자 자산이 등장한 것만으로 세계 투자자들의 호기심과 참여를 자극한 것이죠. 더불어 투자를 위한 인프라(거래소)가 초기부터 잘 구축되었고, 글로벌 투자 커뮤니티가 활성화되며 암호화폐가 신규 투자 대상으로 급부상하게 되었어요.

암호화폐는 생성 초기부터 새로운 투자 대상으로 관심을 받았다. 이미지는 비트코인의 차트. 그래프에서 비트코인의 가격 등락 변동폭이 크다는 것을 한눈에 알 수 있다. [사진 오세진, 업비트 캡처]

암호화폐는 생성 초기부터 새로운 투자 대상으로 관심을 받았다. 이미지는 비트코인의 차트. 그래프에서 비트코인의 가격 등락 변동폭이 크다는 것을 한눈에 알 수 있다. [사진 오세진, 업비트 캡처]

대표적인 국내 거래소로는 업비트, 빗썸, 코인원, 코빗이 있다. [사진 코인데스크코리아 홈페이지 캡처]

대표적인 국내 거래소로는 업비트, 빗썸, 코인원, 코빗이 있다. [사진 코인데스크코리아 홈페이지 캡처]

가장 보편적인 투자 방법은 암호화폐 거래소를 통하는 거예요. 국내엔 은행과 실명 확인 계좌 계약을 체결한 업비트·빗썸·코인원·코빗의 4대 거래소가 있죠. 미성년자의 경우는 암호화폐 투자를 위한 계좌 개설 및 거래가 금지돼 있고요. 주식 계좌를 만드는 것과 비슷하게 거래할 암호화폐 거래소를 선택하고, 회원 가입과 보안 인증을 해야 합니다. 거래는 자신의 은행 계좌와 연동해서 하는데, 거래소마다 지원하는 은행이 다르기 때문에 해당 은행의 계좌가 없는 경우엔 계좌 개설부터 해야 해요.

대표적인 투자 방식의 차이점은 거래 시간과 투자 단위예요. 주식은 정규 거래 시간이 평일 오전 9시~오후 3시 30분까지로 제한돼 있지만, 암호화폐는 365일 24시간 제한 없이 가능합니다. 그래서 많은 암호화폐 투자자가 밤을 새우곤 하죠. 최소 투자 단위도 달라서 주식은 1주부터 거래할 수 있지만, 암호화폐는 0.0001개도 가능해요. 예를 들어 0.0001 비트코인은 약 5417원이에요(2021년 8월 17일 기준).

급격하게 가격이 떨어지고 있는 그래프. 암호화폐의 경우 가격 급당락 폭이 크고, 투자자 보호 장치가 없기 때문에 유의해야 한다. [사진 오세진, 언스플래쉬]

급격하게 가격이 떨어지고 있는 그래프. 암호화폐의 경우 가격 급당락 폭이 크고, 투자자 보호 장치가 없기 때문에 유의해야 한다. [사진 오세진, 언스플래쉬]

암호화폐 시장엔 투자자를 보호하기 위한 서킷 브레이커가 없어요. 주식 시장의 경우 주가가 폭등하거나 폭락하면 거래를 일시적으로 정지시켜 과열된 시장을 식혀요. 이것이 서킷 브레이커로, 1987년 미국 블랙먼데이 사태를 시작으로 도입된 제도랍니다. 반면 암호화폐 시장엔 투자자 보호를 위한 제도나 장치가 없어서 하루에도 1만%의 가치 상승과 하락이 발생하기도 합니다. 이런 암호화폐 거래의 특징을 모르고 투자에 참여하는 것은 자칫하면 큰 피해로 이어질 수 있으니 반드시 유의해야 합니다.


0 개 댓글

답장을 남겨주세요