당신은 주제를 찾고 있습니까 “암호 화폐 원리 – 초등학생도 이해하는 비트코인 원리“? 다음 카테고리의 웹사이트 ppa.maxfit.vn 에서 귀하의 모든 질문에 답변해 드립니다: https://ppa.maxfit.vn/blog/. 바로 아래에서 답을 찾을 수 있습니다. 작성자 마크의 지식서재 이(가) 작성한 기사에는 조회수 1,157,210회 및 좋아요 16,980개 개의 좋아요가 있습니다.
비트코인은 공개키(public key)를 가진 공개된 암호화된 정보이며, 공개된 공개키와 공개되지 않은 비공개키(private key)의 매칭으로 거래자격을 획득한다. 즉 특정 비트코인블록에 관한 비공개키를 가진 사람만이 특정 비트코인블록을 소유하고 거래할 수 있다.
암호 화폐 원리 주제에 대한 동영상 보기
여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!
d여기에서 초등학생도 이해하는 비트코인 원리 – 암호 화폐 원리 주제에 대한 세부정보를 참조하세요
#비트코인 #가상화폐 #블록체인
초등학생도 이해하는 비트코인 원리
1. 비트코인이란 0:00
2. 비트코인 원리 0:52
3. 블록체인 기술 원리 2:38
4. 비트코인 전망 5:49
5. 비트코인 위험성 8:40
* Reference
(1) 블록체인 혁명 – 돈 탭스콧
(2) 혼돈의 시대 중앙은행 – EBS 다큐프라임
(3) 제4차 산업혁명시대, 비트코인에 투자하라 – 안혁
(4) 비트 코인이 금화가 된다 – 이시즈미 간지
* Music
Bright Future – Silent Partner
https://www.youtube.com/watch?v=j-eUXXW95Rg
암호 화폐 원리 주제에 대한 자세한 내용은 여기를 참조하세요.
암호화폐 – 나무위키
원리4. 성격5. 가치6. 정부의 대응. 6.1. 아시아. 6.1.1. … 일반적으로 암호화폐는 블록체인이나 DAG (Directed Acyclic Graph)을 기반으로 한 분산 …
Source: namu.wiki
Date Published: 3/12/2021
View: 8989
블록체인의 원리 – 채굴, 해시 그리고 작업증명 – 뱅크샐러드
비트코인을 비롯한 암호화(가상) 화폐들의 가격이 폭등하면서 전세계의 주목을 받게 된 것이다. 주변 사람들이 암호화 화폐 투자를 통해 일확천금을 …
Source: www.banksalad.com
Date Published: 3/21/2022
View: 9916
비트코인 투자에 앞서 알아야 할 기본 개념 : 암호화폐 작동원리 …
안녕하세요. 똘이 아부지입니다. 연일 암호화폐가 폭락을 기록하는 가운데 폭락 전 불나방처럼 뛰어들었다가 힘든 나날을 보내시는 분들이 많은 것 …
Source: ddol2freedom.tistory.com
Date Published: 8/18/2022
View: 9461
[블록체인에 대하여] (2) 암호화폐와 비트코인 작동원리
[블록체인에 대하여] (2) 암호화폐와 비트코인 작동원리 – 모비인사이드 MOBIINSIDE.Source: www.mobiinside.co.kr
Date Published: 8/4/2022
View: 3187
5분 만에 이해하는 블록체인의 원리
블록체인이 은행 없이 화폐를 만드는 원리를 알아보자. … 그런데 이 보상은 원화나 달러 같은 ‘법정화폐’로 주는 것이 아니라 비트코인 같은 ‘암호화폐’로 준다.
Source: www.jeonbuk.go.kr
Date Published: 4/13/2021
View: 5105
외계어 없이 비트코인 블록체인 이해하기 – 브런치
따라서 이 글에서는 비트코인과 같은 화폐를 부를 때 암호화폐라는 용어를 사용하도록 하겠습니다. 화폐란 무엇인가. 비트코인의 원리를 이해하기 위해서 …
Source: brunch.co.kr
Date Published: 1/11/2022
View: 978
비트코인 채굴 원리와 방법 – 소프트캠프 블로그
화폐 발행이 되는 원리도 일반 화폐와는 조금 다르답니다! … 암호를 풀어 장부에 기록하는 권리와 그 대가인 신규 발행된 비트코인을 한 사람에게 …
Source: blog.softcamp.co.kr
Date Published: 11/17/2021
View: 5363
주제와 관련된 이미지 암호 화폐 원리
주제와 관련된 더 많은 사진을 참조하십시오 초등학생도 이해하는 비트코인 원리. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.
주제에 대한 기사 평가 암호 화폐 원리
- Author: 마크의 지식서재
- Views: 조회수 1,157,210회
- Likes: 좋아요 16,980개
- Date Published: 2021. 1. 15.
- Video Url link: https://www.youtube.com/watch?v=5dkaMkcTgNA
비트코인 투자에 앞서 알아야 할 기본 개념 : 암호화폐 작동원리 및 블록체인 이해
반응형
안녕하세요. 똘이 아부지입니다.
연일 암호화폐가 폭락을 기록하는 가운데 폭락 전 불나방처럼 뛰어들었다가 힘든 나날을 보내시는 분들이 많은 것 같네요 (저 포함). 속절 없이 떨어지는 코인을 계속 본다고 오르는 것도 아니기에, 그래도 암호화폐 투자에 앞서 기본적으로 알아야 할 작동원리 및 기술을 알아보고 정리해 보았습니다.
암호화폐 (Cryptocurrency), 당신은 누군가요?
우리가 흔히 알고 있는 비트코인은 암호화폐 (Cryptocurrency)의 한 종류입니다. 암호를 뜻하는 Crypto와 화폐를 뜻하는 Currency가 합쳐진 말로 한국어로는 암호화폐라 부르곤 하지요. 비트코인 외에 이더리움, 리플, 라이트코인 등도 모두 이런 암호화폐의 한 종류입니다.
하지만 한국에서는 이러한 암호화폐를 ‘전자화폐’ 혹은 ‘가상화폐’로 더 많이 부르고 있는데, 이러한 표현은 암호화된 보안 기술을 가지고 있는 암호화폐의 특징을 제대로 설명하기에는 부족한 면이 있습니다. 전자화폐는 암호화폐보다 큰 개념으로 우리가 흔히 게임에서 쓰는 캐시나, 싸이월드 도토리 같은 사이버머니를 포함하고 있으며, 가상화폐는 전자화폐를 넘어 온라인 상에서의 카드 결제대금과 은행 잔고 등을 포함하는 개념으로 볼 수 있습니다.
출처 : 제4차 산업혁명시대 비트코인에 투자하라
비트코인의 창시자로 알려진 나카모토 사토시는 비트코인을 아래와 같이 설명하고 있습니다.
“비트코인은 디지털 서명의 체인으로 이루어진 거래기록이 누적된 전자화폐이다. 비트코인 소유자는 거래 내역에 디지털 서명을 한 후 다음 사람에게 전달하고, 이를 받은 사람은 자신의 공개키를 코인 맨 뒤에 붙인다. 돈을 받은 사람은 앞 사람이 유효한 소유자였다는 것을 확인할 수 있다.”
뭔가 딱 저 위의 글을 읽고 비트코인에 대해 딱 명확하게 이해가 되시나요? 위와 같은 비트코인에 대한 새로운 개념과 난해한 정의로 인해 많은 사람들이 비트코인을 그저 사이버머니의 한 종류로 이해해 버릴 수가 있습니다. “제4차 산업혁명시대 비트코인에 투자하라”라는 책에서는 비트코인을 ‘은행’에 비유해 설명을 하고 있는데요, 이 책을 토대로 지금부터 비트코인에 대해 조금이나마 쉽게 접근하여 그 작동원리와 가치를 알아보도록 하겠습니다.
은행의 핵심자산은 돈이 아니라 장부다
우리가 은행에서 돈을 맡기고 찾을 수 있는 것은 바로 우리가 은행과 거래한 돈의 기록인 장부가 있기 때문입니다. 만약 은행과 거래한 장부가 사라진다면 아무도 은행에 맡기려 하지 않을 것이고, 맡기는 돈이 줄어든 은행은 대출을 해줄 수 없게 되며 존재의 의미가 없어질 것입니다. 이 때문에 은행은 안정한 장부관리를 위해 정보통신 인프라에 엄청난 투자를 하고 있으며, 우리는 이를 통해 은행의 핵심자산은 돈이라기 보다는 장부임을 알 수 있습니다.
비트코인 또한 이러한 은행의 장부처럼 블록체인(Blockchain)이라 부르는 장부가 있습니다. 블록체인에는 비트코인이 시작된 2009년 이후의 모든 거래내역이 기록되어 있으며, 이 기록을 바탁으로 비트코인 소유자를 알 수 있습니다. 다만 은행의 장부와 블록체인에는 차이점이 존재합니다.
현대 은행의 장부는 중앙집중형 시스템
은행의 장부는 중앙서버에 보관되는 중앙집중형 시스템으로 이루어져 있습니다. PC를 통해 뱅킹을 하든, 모바일 뱅킹을 하든 혹은 지점에서 은행 업무를 보던 이러한 업무들은 모두 은행 중앙서버에 접속해서 이루어집니다. 중앙집중형 시스템의 장점은 거래기록이 한 곳에서 관리되기에 여러 단말기에서 중복 인출되는 위험을 막을 수 있습니다. 하지만 중앙집중형 시스템을 구축하고 유지하기 위해서는 인프라와 보안, 설비투자 등에 높은 비용을 지출해야 하며, 만약 모든 정보가 담겨있는 중앙서버에 문제가 생긴다면 전체 은행 업무가 마비될 위험도 있습니다.
중앙집중형 시스템 구조
비트코인은 분산형 시스템을 이용
반면 블록체인은 거래기록을 여러 곳에 나누어 관리하는 방식의 분산형 시스템을 이용하고 있습니다. 블록체인의 복사본들은 비트코인 네트워크를 구성하는 노드(node)를 갖고 있는데 이를 통해 새로운 거래기록을 전달합니다. 이 방식의 가장 큰 장점은 같은 기록을 여러 곳에 나누어 보관하기 때문에 기록을 없애는 것이 매우 어렵다는 점입니다.
분산형 시스템 구조
P2P 네트워크를 통해 새로운 거래기록을 전달
분산형 시스템을 사용하는 비트코인은 P2P(Peer-to-Peer) 네트워크를 통해 거래기록을 전달합니다. P2P 네트워크는 서로 연결되어있기 때문에 특정 지역의 네트워크가 파괴되더라도 다른 네트워크를 우회해서 통신할 수 있습니다.
위에서 언급했던 비트코인 네트워크를 구성하는 노드(node)들은 인터넷 망을 통해 P2P로 서로 연결되어 있고, 이로 인해 노드와 연결된 일부 네트워크가 손상되거나 사라지더라도 비트코인 장부인 블록체인은 다른 네트워크를 우회해서 전 세계에 흩어진 노드에 전달될 수 있습니다.
분산형 시스템, 장부조작을 막기 위한 3가지 기술
분산형 시스템에서는 네트워크 전체를 총괄하는 컨트롤 타워가 없다는 취약점이 있습니다. 즉 이로 인하여 잘못된 정보가 네트워크로 무분별하게 확산될 수 있는 위험이 있는데요, 비트코인도 조작된 블록체인의 확산이 가장 큰 위험 요인 중 하나였기에, 나카모토 사토시는 이러한 문제를 예방하고자 ‘51%법칙, 블록체인, 작업증명’이라는 3가지 기술을 적용하였습니다.
1. 과반수의 동의를 얻어야 한다 : 51%의 법칙
비트코인 노드들은 자신이 가지고 있는 블록체인이 다른 노드들이 가지고 있는 블록체인과 같은지 수시로 비교하며 위조 여부를 확인합니다. 만약 자신이 가지고 있는 블록체인이 다른 노드들의 과반이 가지고 있는 블록체인과 같다면 문제가 없는 것으로 판단해 계속 보관합니다. 반면 과반이 가지고 있는 블록체인과 다를 경우, 자신이 가지고 있는 블록체인이 위조되었다고 판단해 폐기한 후, 과반이 가지고 있는 블록체인을 복사해 보관합니다.
2. 과거 기록을 바꿀 수 없는 블록체인
비트코인인 장부인 블록체인에는 모든 거래 기록들이 일정한 규칙에 의해 서로 체인처럼 연결되어 있어 과거 거래기록을 조작할 수 없는 구조로 되어 있습니다.
블록체인은 세계 각지에서 일어난 거래기록 모임인 블록들을 서로 연결해 놓은 것으로 이러한 블록들과 블록체인 정보는 blockchin.info에서 확인할 수 있습니다.
가령 ‘475421’이라는 블록에 기록된 거래는 아래와 같습니다. 이 블록에는 총 928개의 거래 기록들이 있으며, 각 거래마다 고유의 거래번호가 있음을 확인할 수 있습니다. 또한 그 거래번호 안에는 어떤 주소에서 어떤 주소로 얼마를 보내었는지가 기록되어 있습니다.
거래번호 ‘da91623ca~’의 거래 내역을 한번 보도록 하겠습니다. ‘1BTQE~’라는 비트코인 주소에서 ‘1BhbX~’라는 주소로 0.59387314개의 비트코인을, ‘3EsvGC~’라는 주소로 1개의 비트코인을 송금했음을 발견할 수 있습니다.
블록 475421의 거래기록 일부
가장 처음 만들어진 블록 번호는 0이고 그 뒤로 1,2,3번 블록들이 차례대로 연결되어 블록체인을 이루게 됩니다. 즉 475421이라는 블록은 0번 블록부터 연결된 블록체인에서 475,241번째 자리잡고 있는 블록을 의미합니다.
블록체인의 모든 블록은 먼저 완성된 앞 블록의 일부 데이터를 다음 블록에 사용함으로써, 과거 블록의 변조를 방지하는 시스템을 갖추고 있습니다. 가령 아래와 같이 한 블록의 마지막 단어가 다음 블록의 주어가 될 경우를 예를 들어 보겠습니다. 3번 블록의 똥개를 고양이로 바꿀 경우, 3번 블록은 더이상 4번 블록의 시작인 똥개와 연결되지 않는 사실을 통해 우리는 조작된 블록체인임을 확인할 수 있습니다.
3. 검증할 시간을 확보하는 작업증명
비트코인 네트워크는 중앙서버가 없기에 새로운 정보가 전체 네트워크로 전파되는데 어느정도의 시간이 필요합니다. 게다가 새로운 정보를 받은 노드들은 그 정보가 조작되지 않았는지 검증을 해야하는데, 이를 검증하기 위해 최소한의 시간이 보장되어야 합니다.
작업증명(Proof-of-Work) 과정은 새로운 블록정보가 비트코인 네트워크에 전달되는 시간을 늦춰 조작된 블록체인이 네트워크에서 빨리 퍼지는 것을 방지합니다. 이는 우리가 대출을 받을 때 시간이 걸리는 것과 비슷한 것이라고 볼 수 있습니다. 대출자의 신용도가 어떤지, 서류 위조는 없는지, 다른 대출을 끼고 있지 않는지 등을 확인하여 대출 결정을 내리는 것처럼, 비트코인 또한 전체 시스템의 안정을 위해 다각도로 블록정보를 검증할 수 있는 최소 시간이 필요한 것입니다.
아무래도 이 개념은 글보다는 잘 정리된 유튜브 영상이 있어 아래 링크를 통해 한번 보시기를 추천 드립니다.
암호화폐라는 개념을 완전하게 이해하기는 어렵겠지만, 적어도 투자를 조금이나마 고려하시는 분이라면 블록체인이 무엇이고 어떠한 원리로 작동하는지 개략적인 이해는 필요하다고 생각합니다. 여러모로 규제와 좋지 않은 분위기 속에서 나락의 나락을 거듭하고 있는 암호화폐 시장이지만, 미래에 제도와 규범이 잡힌다면 무시할 수 없는 영향력을 미칠 것이라 생각합니다. 저도 월마다 조금씩 불입하는 방향으로 투자를 해 나가려하고 있습니다. (지금 씨게 물린건 어쩔 수 없지만 ㅠㅠ)
다들 주말 잘 보내세요.
반응형
[블록체인에 대하여] (2) 암호화폐와 비트코인 작동원리
블록체인 전문 리서치 스타트업 ‘피넥터’ 팀이 브런치에 게재한 글을 편집한 뒤 모비인사이드에서 한 번 더 소개합니다.
암호화폐 (Crypto-currency)
초기의 블록체인 기술은 비트코인(Bitcoin), 라이트코인(Litecoin), 피어코인(Peercoin), 도기코인(Dogecoin) 등의 이체와 화폐의 기능을 수행하는 전자화폐에 적용됐다. 마치 법정화폐(Fiat cur-rency)처럼 투자나 온라인/POS 이체, 가치의 저장 수단 등으로써 이용되었는데 다만 규제, 감독, 법제화 등과 관련된 공인성은 가지고 있지 않았다.
이렇게 암호화폐는 판매자와 구매자가 필요로 하는 근본적인 부분들(연결, 환전, 지급)을 충족시켜 주었기에, 빠른 속도로 인기를 얻게 되었고 전 세계의 수많은 다양한 채널들을 통해 사용되기 시작했다. 물론 아직 전체 거래 시장규모에 비하면 매우 작은 수준이며 이러한 화폐들이 얼마나 많은 이체 건수를 처리할 수 있는지에 대해서도 의문이 제기되고 있는 것이 사실이나, 이러한 암호화폐가 가져올 시장 혁신이나 법제화 가능성, 집단지성(collective knowledge)을 통한 활용도 확장 등의 가능성은 분명히 제고되어야 할 부분이다. 지급 관련 서비스 사업자들(PSPs)은 이 분야의 기능적, 기술적, 법적 변화상을 면밀히 지켜보고 이러한 화폐가 어떻게 응용되어가고 있는지를 이해할 필요가 있을 것이다.
암호화폐에 대해서는 관할에 따라 각기 다른 법리적 해석이 적용되고 있지만, 그 맥은 동일하다. 암호화폐는 법정화폐의 자격을 취득할 수 없으며, 기존 법정화폐와 같은 법적 보호나 법적 권리를 보장받을 수 없다는 것이다. 암호화폐가 근시일 안에 실제로 일상에서 통용되기는 쉽지 않을 것이다.
암호화폐 – 비트코인(Bitcoin)
비트코인은 2009년에 ‘사토시 나카모토(예명)’로 알려진 개인 또는 다수의 개발자를 통해 탄생됐다. 비트코인은 P2P네트워크, 해시, 암호화, POW(작업증명) 등의 기술을 다차원적으로 종합하여 만든 프로그램이며, 기존의 가상화폐들과는 달리 암호화 기술(cryptography)와 해시를 이용한 POW(작업증명)방식을 이용하였다는 점에서 암호화폐(cryptocurrency)로 불리고 있다.
이러한 암호화폐 발행 및 거래 프로그램을 ‘비트코인’ 또는 ‘비트코인 코어’라고 부르며, 이 프로그램 안에서 통용되는 암호화폐 또한 ‘비트코인’이라고 칭한다. 비트코인은 특정한 발행 또는 관리 주체 없이 운영되는데, 참여하는 사용자들이 주체적으로 화폐를 발행하고 이체내역을 관리하게 된다. 중앙화된 주체에서 주도적으로 관리하는 것이 아니라 P2P로 운영되기 때문에 계좌동결, 강제인도, 강제신원공개 및 서비스 정지 등이 불가능하다.
비트코인의 작동원리 (Bitcoin Mechanism)
채굴 (Mining)
비트코인은 사용자들에 의해 직접 발행이 되는데, 이를 통상적으로 채굴이라고 부른다. 이를 기술적으로 끊임없는 해싱 작업을 통한 ‘목표값(target value)’ 이상의 해시(hash)값 찾기(작업증명, POW:Proof of Work)로 정의할 수 있다. 채굴에 참여하는 모든 사용자가 목표값을 찾기 위한 경쟁을 벌이며, 특정한 사용자가 목표값에 해당하는 해시값을 찾는데 성공하면, ‘블록’을 발행하게 된다. 이들은 블록을 발행하고 이를 네트워크에 전파하면서 동시에 블록 발행 보상인 ‘비트코인’과 해당 블록 안에 포함된 ‘이체 수수료’를 받게 된다. ‘비트코인 지급’이라는 경제적 보상이 채굴자들이 해싱작업에 참여하는 동기가 된다. 채굴은 근본적으로 끊임없는 해싱작업이며, 많은 컴퓨팅 파워를 가지고 있을수록 빠른 속도의 해싱이 가능하다. 즉, 컴퓨팅 파워를 많이 투입할수록 다른 경쟁자들보다 비트코인을 많이 받게 되는 구조이다. 블록 발행 확률(목표값 경쟁 승리확룔)과 네트워크 상에서 자신이 차지하는 컴퓨팅 파워 비율은 정확히 비례하며, 만일 누군가가 전체 투입 컴퓨팅 파워 중 30%를 점유하고 있다면, 수학적으로 블록 생성 확률도 정확히 30%에 수렴한다.
POW로 통칭하는 ‘작업증명’은 기본적으로 특정한 난이도의 작업을 수행했음을 증명하는 기법이며, 해당 작업의 어려움은 난이도에 맞게 설정되어 있어야 하지만 그 작업이 완료되었음을 확인하는 것은 쉬워야 한다. 여러 가지 방법이 작업증명에 사용될 수 있는데, 비트코인의 경우 위에 언급된 ‘Hashcash’방식을 통해 작업증명을 한다.
조폐 (Mintage)
블록은 위에서 설명된 채굴 작업을 통해 발행되며, 매 발행 시마다 비트코인 프로그램 자체(coinbase)에서 ‘블록발행보상’을 채굴자에게 지급하는 방식으로 신규 화폐를 발행(조폐)하게 된다. ‘블록발행보상’은 2016년 기준으로 25 비트코인이며, 매 ‘21만 블록(약 4년)’을 기준으로 발행량이 절반으로 줄어든다. 2009년 1월 첫 발행 시에는 50 비트코인씩 발행이 되었으나 약 4년 뒤인 2013년 말부터는 25비트코인으로 발행량이 줄었으며, 역시 4년 뒤 2016년 7월 10일에는 12.5 비트코인으로 매 4년마다 계속 반으로 줄어든다. 이렇게 발행되는 비트코인의 총량이 2,100만개에 이르면 비트코인의 신규 발행은 종료된다. (*더 정확하게는 20999999.9769개인데, 블록당 최소 보상량이 0.00000001비트코인(=1사토시)이기 때문이다.
블록 (Block)
블록은 위에서 설명된 채굴행위를 통해 매 10분을 주기로 발행된다. 블록은 일종의 데이터 패킷으로 몇 가지 정보를 담고 있다. 가장 중요한 것으로 참여자들이 화폐를 거래한 ‘거래내역’, 그리고 이전 블록의 해시값, 난이도, 논스(nonce) 등이 포함된다. 매 블록은 바로 전 블록의 해시값을 담고 있으며, 이렇게 이어진 블록들은 시간 순으로 발생한 이체 내역들을 담고 있는 하나의 ‘블록체인(blockchain)’을 이룬다. 각 블록은 최대 1MB의 크기까지 확장될 수 있으며, 헤더 80바이트, 기타 17바이트 등을 제외하고 총 1,048,479바이트 가량이 이체내역 저장을 위해 사용될 수 있다.
블록은 헤더(header)와 바디(body)로 나뉜다. 헤더는 다음의 6가지로 이루어져 있으며 1) 현재 비트코인 프로그램의 버전, 2) 이전 블록을 해싱한 해시값, 3) 현재 블록의 거래내역들을 모두 해싱한 해시값, 4) 현재 블록의 타임스템프, 5) 난이도(해시 목표값), 6) 논스값 – 바디는 해당 블록 안에 기재된 모든 이체내역을 담는다.
난이도 (Difficulty)
블록의 생성 주기는 네트워크 전파 속도 및 보안성 등을 이유로 사토시에 의해 ‘10분’으로 채택되었다. 그러나 위 ‘채굴’ 부분에서 언급된 바와 같이, 블록 생성은 곧 특정한 목표값을 해싱 작업으로 찾아내는 것인데 그렇다면 해싱 작업 속도만 빠르다면 10분이 아니라 1분 안에도 목표값을 찾아낼 수 있을 것이다. 그렇다면 충분한 컴퓨팅 파워만 있다면 1초안에도 블록을 생성하는 것이 가능할 것이다. 이것을 막기 위해 도입된 것이 ‘난이도’의 개념이다. 비트코인이 채택한 작업증명(POW: Proof of Work) 방식은 ‘Hashcash’ 방식이다.
Hashcash 방식의 요소는 네 가지로, ‘목표’, ‘작업방식’, ‘난이도 조정방법’, ‘난이도 조정시점’이 있다. ‘목표’는 2016개의 블록을 생성하는데에 2주(2016블록*10분=2주)가 소요되야 한다는 것이며, ‘작업방식’은 해싱을 통한 목표값 찾기, 그리고 ‘난이도 조정방법’은 목표치를 초과/미달하는 부분만큼 ‘목표값(target value)’의 난이도가 변경되는 것이다. 이 난이도 조정은 매 2016번째 블록마다 이루어진다.
만일 2016개의 블록을 생성하는데 2주가 아닌 1주일이 걸렸다면, 목표에 도달키 위한 필요 작업의 50%만 이루어진 것이므로, 목표에 도달치 못한 것이다. 따라서 난이도를 2배로 증가시켜서, 기존 1주일의 두 배인 2주가 걸리게 조정하고 목표를 충족시킨다.
이체 확인 (Confirmation)
이용자가 이체를 하면 이를 채굴자가 자신의 블록에 넣어서 발행하게 되는데, 이 순간 해당 이체내역의 ‘이체확인(confirmation)’은 1이 된다. 그리고 해당 블록의 해시를 이용한 다음의 블록이 발행되면, 해당 이체내역의 이체 확인은 2가 되는 식이다.
비트코인 프로그램은 각 이체가 총 6번(60분)의 이체확인을 받아야 재이체(사용)가 가능하도록 설계되어 있는데, 이것을 일반적인 POS과정(*슈퍼에서 껌을 사기 위해 이체하고 1시간을 기다릴 수는 없는 일이다)에 그대로 도입하는 것은 불가능할 것이다. 따라서 각 사업자는 자신이 리스크를 지고 필요에 따라 1~2이체확인 또는 단순히 TxID를 통한 이체신청내역 사실 확인만으로도 이체 확인을 해주는 ‘제로컨펌(zero-confirmation)’까지 다양하게 조정하여 사용하고 있다. (일반적인 가상화폐 거래소의 경우 한 번의 이체내역 확인(=1블록 컨펌) 만으로도 이를 인정해주고 있다.)
이체 발생 과정 (Transaction Process)
이체가 발생하고 확정되어 가는 과정을 다음과 같이 정리할 수 있다.
1) 한 이용자가 개인키를 사용하여 이체 거래 A를 신청한다.
2) 이체 거래 A에 해당하는 해시값이 발행된다. (TxID) – 이를 통해 이체내역은 즉시 확인할 수 있다.
3) 이체 거래 A 내역을 채굴자가 자신의 이체 풀에 넣어 보관한다.
4) 채굴자가 목표값 해싱에 성공하여 블록 생성 권한을 얻게 되면 새 블록에 이체신청내역을 ‘우선순위’부터 차례로 담아 발행한다. 우선순위 안에 들지 못하는 거래 건은 영원히 확인받지 못하는 경우도 생긴다.
5) 이체 거래 A 내역을 담은 블록이 네트워크에 전파된다.
6) 이체 거래 A가 1회 확인 받는다.
7) 네트워크를 통해 해당 블록을 전파(다운)받은 다음의 채굴자가 블록 생성 권한을 얻고 다음 블록을생성하게 된다.
8) 이체 거래 A를 담은 블록의 ‘다음 블록’이 네트워크에 전파된다.
9) 이체 거래 A가 2회 확인 받는다.
10) 위의 과정이 끝없이 반복된다.
위의 과정은 이체 신청과 이체 확인의 과정을 설명하고 있으며, 누군가 A주소의 비트코인을 B주소로 이체하기 위해 이체 거래를 신청하고 자신의 ‘개인키(private key)’로 서명해 네트워크에 전파하면 ‘이체 신청(Transaction)’이 끝난다. 이를 채굴자가 전파받아 자신이 발행하는 블록에 산입하여 넣고 이를 전파하면 ‘이체 확인(Confirmation)’이 된다. 마지막으로 비트코인을 이체받는 주체가 이체 내역을 승인하면 그것이 ‘이체 확정(Settlement)’이 된다.
거래소는 1~2회 이체 확인만으로 이체 거래를 확정해주기도 한다. POS의 경우 0~1회, 고액의 이체건의 경우 10회 등 거래 확정의 엄격성을 달리 적용한다. 일부 거래소는 암호화폐를 탈취한 해커가 요청한 이체 거래를 영원히 확정하지 않는 식으로 해커가 빼앗은 비트코인을 동결하기도 한다. 이렇게 이체는 ‘이체 신청(Transaction)’, ‘이체 확인(Confirmation)’, ‘이체 확정(Settlement)’의 세 단계를 거치게 된다.
비트코인의 존재(Bitcoin Ontology)
사실 비트코인 프로그램에 비트코인의 실체적 개념은 존재하지 않는다. 그 어느 경우에도 비트코인이라는 것이 A의 계좌에서 B의 계좌로 ‘이동’하는 경우는 없으며, 단순히 해당 계좌들의 숫자를 증액하거나 감액하는 원장 정리 개념만이 존재할 뿐이다. 그러한 원장 정리 내용은 모두에게 동일하게 공유된다. 따라서 각자가 가진 원장 모두가 원본이 된다는 무신뢰 거래(trustless settlement)가 비트코인 원장의 핵심개념이다. 각자가 가진 원장이 원본이기 때문에, 다른 누구에게 확인을 받을 필요나 다른 독립된 기관에 신뢰성을 의존할 필요가 없다. 이것을 구현하기 위해서 위에 언급되는 다양한 기법들이 사용되었다고 이해하면 된다. 블록체인 등장 이전에는 이것이 해결하기 어려운 문제로 남아 있었다.
해싱과 논스(Hash and Nonce)
해싱은 데이터(존재하는 모든 데이터에 적용 가능)를 무작위의 정해진 길이의 문자열로 치환시키는 것이다. 일례로 비트코인의 해싱 기법인 ‘SHA256^2’는 블록을 그 내용이나 크기에 상관없이 언제나 32바이트 즉 64자리 길이의 결과값으로 치환한다.
542f69d65f81466d07c8e52417f2b005e8577e6e75c80d6d51539b8b118b1e89
해싱의 또 다른 특징은 같은 데이타를 해싱할 경우 같은 해시값을 얻는다는 것이다. 하지만 목표값을 찾으려면 해싱 작업을 반복해야한다. 따라서 블록의 내용을 임의로 바꿔야한다. 이체내용 등을 임의로 바꿔서는 안 되니, 블록에 포함된 논스값을 수정해 나올 결과값을 다르게 만든다. 블록 헤더 안에 논스가 있는 이유가 바로 여기 쓰기 위해서다. 채굴자는 블록 헤더의 논스값을 0에서부터 1씩 반복해서 늘려가며 해시값을 얻는다.
비트코인의 보안성 (Bitcoin Security)
화폐 거래원장을 공격한다는 말은 해당 장부의 내역을 조작한다는 뜻이다. 블록체인에 기록된 내역을변조한다는 말은 조작한 블록을 만들어 네트워크에 전파하는 데 성공한다는 얘기다. 이는 현실적으로불가능하다. 모든 블록은 바로 전 블록의 해시값을 기준으로 생성된다. 해시값으로 앞 뒤 블록이 연결돼있어 블록체인이라 부른다. 만일 현재 총 10개의 블록이 있고 공격자가 9번째 블록을 변조하려 한다고 가정해보자. 공격자는 변조된 9번째 블록을 네트워크에 전파하지만 네트워크는 이미 10번째 블록을 가지고 있기 때문에 공격자가 보내는 9번째 블록을 받지 않을 것이다.
결국 변조된 9번째 블록을 이미 10개의 블록을 가진 네트워크가 받아들이게 하려면 해당 9번째 블록의 해시값을 이용하여 11번째 블록까지 생성하고 네트워크에 전파해야 한다. 그러나 변조된 블록을 기준으로 11번째 블록까지 만들었을 때는 네트워크상 다른 채굴자가 이미 11번째 혹은 12번째 블록을 만들고 있다. 결국, 네트워크가 변조된 블록을 받아들이게 만들려면 이보다 더 빨리 블록을 만들어 전파해야한다. 그러러면 기존 네트워크보다 더 많은 컴퓨팅 파워(hashrate)를 동원해야 한다.
2016년 8월 현재 비트코인 네트워크에 투입되는 컴퓨팅 파워는 1958만3587.6 페타플롭스(PetaFLOPS)다. 세계에서 가장 빠른 슈퍼 컴퓨터인 중국 턴헤 2호(Tianhe-2)의 계산력이 33.8페타플롭스임을 고려하면 비트코인 네트워크의 컴퓨팅 파워는 사실상 동원하기 힘든 규모다. 이런 까닭에 비트코인 블록체인을 해킹하는 일은 불가능하다고 봐도 무방하다.
알트코인 (Altcoin)
대체암호화폐(Alternative cryptocurrency)라고도 불리는 알트코인(Altcoins)은 일종의 경쟁화폐다. 첫 암호 화폐인 비트코인의 문제점을 해결해 이를 대체하려는 많은 개발자가 알트코인을 만들고 나섰다. 실용적인 이유도 있다. 비트코인 네트워크에는 이미 많은 자본이 투입됐다. 많은 이해관계가 얽힌 비트코인 네트워크에는 실험적인 시도를 하기 어렵다. 이 때문에 많은 개발자가 비트코인 대신 기술적 실험을 해 볼 만한 장으로 알트코인을 만들기 시작했다.
단순히 비트코인의 통화발행 구조 또는 합의 알고리즘을 변경하는 수준에서, 기존에 없던 새로운 기능까지 추가하는 수많은 코인이 나타났다. 비트코인에 투자된 자금과 새로운 투자금도 알트코인 시장으로 유입됐다. 알트코인 시장 규모는 2016년 8월 당시 2.5조 원 정도였다. 비트코인까지 포함하면 암호 화폐 시장 규모는 12조 원이 넘는다. 현재 거래소에서 거래되는 알트코인은 700개가량이다.
라이트코인 (Litecoin)
라이트코인은 구글 출신 중국계 미국인 개발자 찰스 리(Charles Lee)가 만들어 2011년 말 공개했다.라이트코인은 비트코인의 구조를 바꾸는 수준의 실험적 알트코인이다. 코인 생성 주기를 10분에서 2.5분으로 줄였다. SHA-256 알고리즘을 Scrypt로 바꿔 ASIC(주문형 반도체) 채굴기를 동원한 해싱 작업에 제동을 걸었다. 최종 통화 발행량도 비트코인보다 4배 이상 많은 8,400만개로 늘렸다.
대시 (Dash)
다크코인(Darkcoin)에서 이름을 바꾼 대시는 비트코인에는 없던 새로운 기능을 추가한 알트코인이다. 대시가 추가한 기능은 다음과 같다.
1. 익명 거래(Anonymous transaction):
비트코인의 모든 이체내역은 어느 누구나 확인할 수 있도록공개돼 있다. 문제는 이러한 공개성이 화폐의 본질적 요소중 하나인 ‘가치동일성(Fungibility)’을 훼손한다는 점이다. 가치 동일성이란 내가 가진 돈의 가치가 다른 사람이 가진 돈의 가치와 같아야 한다는 것을 의미한다. 비트코인은 모든 이체내역이 기록되니 사람들이 불법적으로 쓰인 사실이 확인된 비트코인의 소유를 꺼리게 된다. 이 때문에 액면가가 같은 비트코인이라도 서로 가치가 달라지는 문제가 생긴다. 대시는 마스터노드 (Masternode)라는 새로운 형태의 노드를 구성해 코인을 서로 믹싱해 거래기록을 감춘다.
2. 실시간 이체 확인(Instant transaction):
비트코인 네트워크에서 일어난 거래는 10분에 한 번씩생성되는 블록과 함께 이체가 확인된다. 이 과정을 확인(confirmaton)이라고 부른다. 확인 작업이 여러 차례 거듭돼야 거래가 안전하게 처리됐다고 볼 수 있다. 대시는 10분 이상 걸리는 컨펌 과정을 1초 이내로 줄여 실시간으로 거래가 가능하게 한다.
이 밖에도 많은 알트코인이 새로운 기능을 추가하며 비트코인의 경쟁자로 도전하고 있다. 하지만 아직 비트코인이 지닌 네트워크 효과(network effect)를 뛰어넘을 만한 알트코인은 등장하지 않았다.
암호화폐의 장단점
은행 및 공공서비스 적용 및 확장
비트코인이나 알트코인의 블록체인은 그 자체로 가치가 있으나, 현재 그대로 은행이나 공공기관에 적용하여 사용하기에는 무리가 있다.
익명성 – 은행거래에서는 익명성을 사용할 수 없으며, 거래가 비가역적이라는 부분도 치명적이다. 모든 계좌는 계좌주의 신원을 밝히도록 되어 있고, 은행에서는 대포통장을 발급하는 부분 등도 문제가 된다. 이러한 익명성 문제를 해결해야 한다. 또한 이체 사고 발생 시 강제로 이체를 동결하거나 법정인도 명령 등에 따르기 위해 강제인도 등을 해야 할 경우가 생기는데, 이체의 비가역성(irreversibility)은 치명적 결함이 된다.
투명성 – 이체내역과 계좌의 투명성도 문제가 된다. 이런 정보는 고객 개인정보이므로 은행이 독자적으로 관리해야 한다. 고객들이 서로 잔고와 이체내역을 확인하는 것뿐만 아니라 경쟁 은행 간의 고객정보를 서로 공개하는 것은 현재 규제와 금융 통념상 불가능하다.
합의구조 – 채굴자들이 해시 경쟁을 벌이는 현행 POW방식의 거래확정 방식도 의미가 없어진다. 다량의 전기를 소비하는 방식이 아니라 더 효율적이고 의미 있는 다른 작업증명 방식을 찾아야 할 것이다.
접속권한 – 현재 비트코인은 퍼블릭 블록체인으로, 누구든지 네트워크망에 접속하여 이체를 발생시키고 확정할 수 있는데 이는 기관의 입장에서 치명적인 결함이다. 정해진 참여자에게만 개인키를 발급하거나 단계적 접속 권한 설정 등을 통해 참여자의 선택적 진입과 권한 수준 설정을 위한 모델을 설계해야할 것이다.
확장성 – 높은 처리 속도와 처리량이 매우 중요하다. 현재 금융권에서는 초 당 수천 번이 넘는 이체를 처리하는 경우가 허다한데, 이러한 거래량과 속도를 비트코인 블록체인에서 처리하는 것은 불가능하다.
[fbcomments url=”http://ec2-13-125-22-250.ap-northeast-2.compute.amazonaws.com/2017/03/20/blockchain_1-2/” width=”100%” count=”off” num=”5″ countmsg=”wonderful comments!”]
외계어 없이 비트코인 블록체인 이해하기
비트코인 가격이 폭등하면서 (17년 11월 28일 기준) 수많은 언론들이 관련 기사를 내고 있다.
5년 전에는 겨우 10만원이었고, 1년 전에는 70만원이었던 1비트코인이 1100만원을 찍었으니 사람들의 관심을 끄는 것도 당연하다. 비트코인을 알았던 사람들은 ‘비트코인을 샀었어야 했는데…’하는 후회를 하고, 동시에 전혀 관심이 없던 분들도 ‘비트코인이 대체 뭐지?’라고 궁금해하는 경우가 많다.
생각보다 비트코인이 무엇인지 잘 이해하고 있는 사람은 별로 없는 것 같다. (그래서 이렇게 가격이 널뛰는 것일 수도) 아무래도 생소하고 기술적인 개념이 많이 나오기 때문일 것이다.
그렇지만 비트코인 투자에 관심이 있다면 비트코인의 원리는 반드시 알아야 한다. 비트코인의 내재적 가치에 대해 알지 못하고, 시장 가격에 따라서 샀다 팔았다하다가는 순식간에 돈을 잃을 확률이 높다.
동작 그만, 이게 뭐신지 알고 하는 거야?
투자에 관심이 없더라도 비트코인이라는 새로운 화폐가 도대체 어떻게 화폐로 쓰일 수 있다는 것인지 궁금하다면 상식 선에서 원리를 알아두는 것도 나쁘지 않다고 생각한다.
인터넷에 비트코인을 설명한 글은 많지만, 어렵고 생소한 용어가 많은데다 비트코인이 해결하는 문제보다는 기술에 초점을 맞춰서 이야기하다보니 비전공자들이 이해하기가 상당히 어렵다. 나도 문돌이로써 비슷한 경험을 했다.
비트코인이 무엇인지 쉽게 이해하고 싶은 사람들을 위해, 이 글에서는 기술적 디테일을 최대한 배제하고 비유를 사용해 비트코인의 원리를 설명한다. (꼭 필요한 용어는 다른 자료를 읽을 때 도움이 되도록 [참고]라는 이름으로 첨부했다.)
<미리 밝힘>
1. 이미 비트코인의 기본 원리에 대해 이해하고 있거나, 다음의 단어들의 뜻을 정확히 알고 있다면 이 글을 읽지 않으셔도 좋습니다.
[POW / 해쉬 함수 / 논스값 / 51% 공격 / 마이닝 풀]2. 이 글은 투자에 대한 조언이 아닙니다.
<가상화폐? 암호화폐?>
현재 국내에서 비트코인과 같은 화폐를 부를 때 가상화폐, 디지털화폐, 암호화폐 등 다양한 용어가 섞여서 쓰이고 있습니다. 그러나 전 세계적으로 공식적인 용어는 암호화폐(cryptocurrency)입니다. 디지털 화폐나 가상 화폐는 물리적 화폐와 대비되는 개념으로, 이전에 존재해왔던 사이버 머니, 포인트 등을 포함하는 용어입니다. 암호화폐는 물리적 실체가 없다는 점에서 디지털/가상화폐에 속하지만, 이전까지 존재해왔던 디지털/가상화폐와는 완전히 다른 특성을 지닙니다. 따라서 이 글에서는 비트코인과 같은 화폐를 부를 때 암호화폐라는 용어를 사용하도록 하겠습니다.
화폐란 무엇인가
비트코인의 원리를 이해하기 위해서 먼저 ‘화폐’에 대해 짧게 짚고 넘어가보자.
화폐는 신뢰다
TED에서 Neha Narulas는 화폐의 특징을 보여주는 재밌는 사례를 소개한다. 태평양에 위치한 Yap이라는 작은 섬이 있다. 이 섬이 특이한 이유는 Rai stone이라는 커다란 디스크 모양의 돌을 화폐로 사용하기 때문이다. 그렇지만 돌이 너무 크고 무겁기 때문에 사람들이 거래를 할 때 실제로 돌을 주고받지는 않는다.
Yap 사람들이 화폐로 썼던 Rai Stone
대신 Yap 사람들은 돌이 누구의 것인지 계속 기록을 해둔다. 내가 돈을 지불할 일이 있다면 그 기록에 ‘이 돌의 주인은 이제 누구임’이라고 적어놓기만 하면 된다.
그런데 어느 날 Yap 선원들이 돌을 옮기다가 문제가 생겨 돌이 바다에 빠지고 말았다. 그리고 섬에 돌아와서 돌을 잃어버렸다고 사람들에게 말하자, 사람들은 “어차피 그게 그게 당신들 거라는 걸 우리 모두가 알고 있다면, 육지에 있든 바다에 있는 무슨 상관이야?”라고 말하며 계속해서 그 가치를 인정해주었다고 한다.
오늘날 우리가 쓰는 돈도 이 Rai stone과 다를 바 없다. 생각해보자. 1만 원짜리 지폐는 왜 가치가 있는가? 그 종이에 그만한 가치가 있어서가 아니라, 모든 사람들이 그 종이에 1만 원의 가치가 있다고 ‘믿기’ 때문이다. 왜 멕시코 페소는 한국에서 가치가 없는가? 페소 동전 자체는 한국에서도 바뀌지 않지만, 하지만 한국에서는 아무도 그 가치를 인정해주지 않기 때문이다.
즉, 돈은 돈 그 자체로써 가치가 있는 것이 아니라, 내가 속한 공동체가 그것이 가치가 있다고 ‘신뢰’하고 ‘보증’해주기 때문에 가치가 있다. 따라서 신뢰할 수 있는 것이라면 그것이 조개껍질이든, 돌덩이든, 단지 종이 쪼가리든 상관없이 화폐가 될 수 있다.
화폐 진화의 최신 버전, 전자 화폐
그렇다면 어떤 것을 신뢰의 대상으로 삼을 것인가? 어떤 것을 화폐로 쓰느냐에 따라서 편의성, 안전성 등은 당연히 달라진다. 오늘날 아무도 Yap 사람들처럼 돌덩이를 화폐로 쓰지 않는 이유다.
고대로부터 화폐는 보리, 밀과 같은 식품 화폐도 있었고, 그 뒤로 조개껍데기와 같은 물품 화폐도 쓰였다. 그리고 현재까지도 쓰이고 있는 금속 화폐(동전)와 지폐도 있다. 이들은 각각 장단점이 있었고, 이 중 가장 장점이 많았던 금속 화폐와 지폐는 현재까지도 쓰이고 있다.
현대 화폐의 가장 최신판은 20세기에 등장한 전자화폐다. 전자화폐는 현대인들이 가장 많이 쓰는 화폐다. 사람들은 보통 돈이라고 하면 지폐나 동전을 떠올리지만, 사실 현재 사용되는 화폐의 13%만이 동전이나 지폐의 형태로 존재한다. 나머지 87%는 신용카드 잔고나 계좌 잔고처럼 물리적 실체가 없는 단순한 숫자에 지나지 않는다. 전자화폐가 널리 쓰이는 이유는 기존의 화폐들보다 많은 점에서 편리하기 때문이다. 귀찮게 동전이나 지폐를 들고 다닐 필요도 없고, 쉽게 쪼갤 수 있고, 시간에 따라 변질되지도 않는다.
전자화폐의 문제점과 제 3자의 등장
전자화폐가 가진 딱 하나의 문제점이 있다. 바로 복사하기가 쉽다는 것이다. 디지털화된 데이터라는 특성상 전자화폐는 쉽게 복사가 가능하고, 원본과 진본에 아무런 차이가 없다.
그런데 한 사람이 가진 돈을 계속 복사해서 여기서도 쓰고, 한 사람이 가진 돈을 계속 복사해서 여기서도 쓰고, 저기서도 쓴다면 화폐는 가장 중요한 신뢰를 잃게 된다.
[참고] 이를 ‘중복 지불 문제’라고 한다우리가 발명한 해결책은, 믿을 수 있는 제 3자에게 관리를 맡기는 것이다. A와 B가 거래를 하고 싶다면 A, B가 전자 화폐에 해당하는 데이터를 주고받는 것이 아니다. 대신 A, B와 관련이 없는 C가 거래 내역을 기록/관리한다.
A가 B에게 송금을 하고 싶다면, A는 C에게 ‘B한테 돈을 얼마 보내주세요’라고 요청한다. 그럼 C는 A가 충분한 돈이 있는지 확인한 뒤, 그만큼의 돈을 A가 가진 잔액에서 빼고, B의 계좌의 잔액에 그만큼의 돈을 더해준다.
이 과정에서는 아무런 물리적 교환도 일어나지 않고, 단순히 C는 숫자만 바꿔주었을 뿐이다.
하지만 A와 B가 둘 다 C라는 사람을 신뢰하고 있기 때문에, 아무런 문제 없이 송금을 할 수 있다.
C 역할을 하는 것이 바로 오늘날의 은행이다.
은행은 디지털 데이터가 화폐가 될 수 있도록 신뢰를 보증한다
은행은 누가 누구에게 얼마를 보냈고 받았다는 내용을 모두 기록한 장부를 가지고 있다. 모든 사람들은 은행이 그 장부를 잘 관리하고 있을 것이라고 믿는다. 적어도 무슨 일이 생기면 은행이 정당한 책임을 진다고 생각한다. 그 신뢰가 있기 때문에 통장에 찍혀있는 숫자가 화폐로 쓰이는 것이다.
(실제로는 하나의 은행이 아니라 수많은 은행과 국가 기관이 복잡하게 얽힌 금융 인프라의 형태지만, 단순화를 위해 하나의 중앙은행만 있다고 생각하자.)
내가 통장에 있는 숫자를 지우고 다시 쓰더라도 내 실제 돈이 늘어나지 않는 이유이기도 하다. 왜냐하면 은행의 검증 시스템이 그것이 위조인 것을 알아내고 인정해주지 않기 때문이다. 신뢰의 기준은 은행이 가지고 있는 장부이며, 이 장부는 보안으로 겹겹이 보호되는 은행 내부 서버에 보관되어 있다.
제 3자가 개인 간 거래를 기록/검증해주고, 개인들이 이 제 3자를 모두 신뢰하기 때문에, 우리는 중복 지불 문제를 극복하고 편리하게 전자화폐를 쓸 수 있게 된 것이다.
여기까지가 우리가 비트코인에 대해 설명하기 전에 알아야 할 기본 지식이다.
두 줄로 요약해보자.
1. 화폐의 본질은 ‘상호 신뢰’이다.
2. 현대의 전자화폐는 ‘믿을 수 있는 제 3자’를 통해 중복 지불 문제를 해결한다.
중앙 집중화의 문제점
여기서 첫 번째 문제가 발생한다. 우리는 제 3자를 통해 전자화폐에 대한 신뢰를 확보한다. 그런데 제 3자를 통하는 경우 모든 거래가 중개자를 거쳐서 가야 한다. 따라서 화폐의 흐름과 통제권이 특정 기관에 집중되는 중앙집중적 구조가 된다.
1. 중개 비용
실제로 이 중개자들은 장부의 신뢰성을 보증하기 위해서 한 둘이 아닌 복잡한 프로세스를 거치게 되고, 필연적으로 중개 비용이 생긴다.
2. 중앙 기관의 무능이나 부패
정말 그 제 3자가 믿을만 한지도 문제가 된다. 대부분의 나라에서는 국가 기관이 화폐에 대한 통제권을 가지고 있다. 그래서 중앙은행이 금융위기를 타개하기 위해 화폐를 찍어내서 파산하는 기업들에게 돈을 지원할 수 있었던 것이다. 이에 반대하는 사람들은 많았지만, 국가가 화폐를 관리하기 때문에 개인들은 어쩔 수 없이 따를 수밖에 없었다.
그런데 국가 기관이 만약 무능하거나 부패했다면 더욱더 믿을 수가 없게 된다. 우리는 상상하기 어렵지만, 실제로 저개발 국가의 경우 중앙은행이 돈을 마구 찍어내 경제를 망가뜨린 사례가 있다.
3. 해킹의 타깃이 됨
장부가 한곳에 집중되어있으므로, 해커들이 노리기가 쉬워진다.
중앙 집중 구조에는 이런 문제점들이 있지만, 신뢰를 보증하고 안정성을 유지할 수 있다는 장점이 더 크다고 생각하기 때문에, 현대의 모든 금융 인프라는 중앙 집중 구조를 사용한다.
하지만 만약 중앙 기관이 없이도 데이터의 신뢰를 보증할 수 있다면 어떻게 될까?
장부를 모두에게 나눠주자
내가 귀중한 물건이 담긴 상자를 가지고 있다고 해보자. 어떻게 하면 이 상자를 안전하게 보호할 수 있을까?
방법은 2가지가 있다.
첫 번째, 상자를 금고에 꼭꼭 숨겨두고 비밀번호를 설정하는 것이다.
두 번째, 그 상자를 사람들이 가득한 시장 한복판에 갖다 놓은 뒤, 주변의 모든 사람에게 상자가 내 것이라고 알리는 것이다.
시장 한 가운데에 갖다놓으면?
그러면 시장에 지나다니는 모든 사람이 일종의 감시자가 되고, 누군가 그 상자의 물건을 훔쳐가려고 할 때 바로 알 수 있게 된다. 힘들게 보안 장치를 하지 않아도 집단의 힘을 이용해 상자를 보호할 수 있는 것이다.
비트코인은 바로 두 번째 방법을 이용해서 데이터의 신뢰성을 보증한다. 비트코인은 모든 거래 기록이 담긴 장부를 참가자들에게 나눠준다.
만약 A라는 사람이 자신의 장부에 있는 내용을 자신에게 유리하게 바꾼다고 해보자. 원래 기록은 ‘A가 B에게 5만 원을 보냈다’였는데, A가 자신의 장부 내용을 ‘A가 B에게 1만 원을 보냈다’로 바꿨다.
따라서 A는 4만 원이 아직 자신에게 있다고 주장한다. 그러나 B의 장부에는 분명히 ‘A가 B에게 5만 원을 보냈다’라고 적혀있다.
현재의 중앙 집중 시스템에서는 누구의 말이 진짜인지 알려면 은행에 가서 물어보면 된다. 하지만 관리자가 없는 비트코인과 같은 시스템에서는 다수의 참가자가 인정하는 쪽이 진짜가 된다.
모든 개인이 A와 B의 거래 기록을 가지고 있기 때문에, 만약 A가 절반이 넘는 참가자의 장부를 다 해킹해서 똑같이 바꿔놓지 않는 한, 자기 장부를 아무리 바꿔봐야 실제 거래로 인정되지 않는다. 비트코인을 사용하는 모든 참가자들이 서로서로의 감시자가 된 셈이다.
모든 사람들의 거래가 기록된 장부가 있다면, 한번 기록된 데이터는 진짜고 조작되지 않았음을 누구나 믿을 수 있다. 그 결과 실제로 현물이 오가지 않아도, 은행 같은 중개기관이 없어도, 사람들이 이 장부를 기준으로 ‘돈’을 교환할 수 있게 된다. 장부에 적힌 숫자가 ‘화폐’가 된 것이다.
우리가 앞에서 살펴봤듯이, 화폐는 종이든 동전이든, 컴퓨터에 기록된 숫자이든 상관없다. 중요한 것은 사람들이 그것을 믿느냐 안 믿느냐이다.
또한 이 장부는 어떤 사람이나 기관의 관리도 필요로 하지 않기 때문에, 우리는 중개자/관리자가 없는 화폐를 만들 수 있다. 이것이 암호화폐가 성립하는 기본적인 원리이다.
장부 만들기 1. 받아쓰기
그렇다면 이 장부는 어떻게 만드는 것일까?
여기서부터가 중요한데, 쉽게 이해하기 위해서 가상의 상황 속으로 한번 들어가 보도록 하자.
먼저, 10명의 사람들이 모여서 네트워크를 만든다.
(실제로 참가하는 사람은 훨씬 많겠지만, 설명을 위해서 10명이라고 하자)
[참고] 이 참가자들을 노드(node)라고 한다.10명의 사람들은 각각 빈 종이 한 장, 펜, 특수 기계를 받게 된다.
준비물
10명의 사람들을 편의상 1번부터 10번이라고 이름을 붙이자. 10명의 사람들은 서로 돈을 주고받을 때마다, 그 내용을 다른 사람들에게 알린다.
예를 들어, ‘2번이 7번에게 만 원을 주었다라고 한다’면 2번 사람이 그 내용을 10명 모두에게 공지한다. 10명의 사람들은 모두 자신의 종이에 그 내용을 받아 적는다. 이런 식으로 종이 한 장이 꽉 찰 때까지 거래를 받아 적는다.
내용을 다 받아 적으면 종이를 파일철에 끼워야 하는데, 그러려면 먼저 ‘봉인’을 해야 한다.
장부 만들기 2. 봉인
요즘도 행정 처리를 하다 보면, 어떤 문서가 진본이며 수정되지 않았음을 확인하기 위해서 봉인 도장을 찍는 경우가 있다. 이와 비슷하게 우리도 이 거래 내역이 담긴 종이를 수정할 수 없게 봉인해야 한다.
여기서 아까 전에 종이, 펜과 함께 받았던 ‘특수 기계’가 사용된다.
이 기계는 한쪽에 입력값을 넣으면 다른 반대쪽에 출력 값이 나오는 아주 단순한 기계다.
예를 들어 내가 기계에 ‘30848’를 넣으면 출력 값으로 ‘93140’이 나온다.
그런데 이 입력값과 출력 값 사이에는 아무런 연관성이나 규칙이 없다. ‘30848’를 넣었을 때 ‘93140’이 나오지만 하나만 숫자를 바꿔서 ‘30849’를 넣으면, ‘11327’이 나온다. 다만 ‘30848’을 넣으면 몇 번을 반복해서 넣어도 반드시 ‘93140’이 나온다.
즉, 이 기계의 특징은
1) 입력값을 가지고는 출력 값을 쉽게 확인할 수 있다.
2) 출력 값을 가지고는 입력값을 알 수가 없다.
[참고] 이 기계를 ‘해쉬 함수’라고 한다.이 기계를 사용해서 어떻게 봉인을 할 수 있는 걸까?
예를 들어, 우리가 ‘20113’이라는 숫자를 봉인하고 싶다고 하자. 먼저 네트워크는 다음과 같은 규칙을 정한다.
봉인된 숫자 ’ 20113’에 어떤 숫자를 더해서 기계에 입력하면, 반드시 ‘000’으로 시작하는 출력 값이 나와야 한다.
[참고] 규칙으로 정해진 이 출력 값을 ‘논스값’이라고 한다.다시 말하면, 20113을 봉인하기 위해서는 ‘20113에 더해서 000으로 시작하는 출력 값이 나오게 하는 특정 숫자’를 찾아야 한다.
그러나 아까도 말했듯이, 이 기계는 출력 값에서 입력값을 역산할 수 없다. 그러므로 맞는 숫자를 찾는 유일한 방법은 모든 값을 다 넣어보는 것밖에 없다.
모든 참가자들은 모든 값을 하나하나 넣어보기 시작한다. 열심히 노가다를 하던 끝에 누군가가 답을 찾아낸다. 20113에 40372를 더해서 입력하면 (즉, 60485를 넣으면) 출력 값이 ‘00087’이 나온다는 것을 알아냈다.
찾아낸 사람은 이 비밀번호를 모두에게 알리고, 모든 사람들은 40372가 맞는 숫자인지 확인한다. 확인하는 방법은 간단하다. 기계에 넣어보면 된다. 다수의 사람들이 40372를 맞는 숫자로 인정하면, 40372가 20113을 봉인하는 번호가 된다.
이제부터는 누구도 20113이라는 내용을 수정할 수가 없다. 만약 누군가가 20113을 20114로 바꾸면, 그 즉시 봉인 번호가 맞지 않게 되기 때문이다. 기계에 넣었을 때 더 이상 000으로 시작하는 출력 값이 나오지 않는다.
사람들이 이 숫자가 원래 쓰인 것과 다른지 아닌지 알고 싶다면, 20114와 40372를 더해서 기계에 넣어보면 된다. 결괏값이 규칙과 맞지 않으면 이 숫자는 수정되었다는 것을 바로 알 수 있다.
즉, 내용을 바꿀 수 있다 하더라도, 바꾸는 순간 모든 참가자들이 이 내용이 진짜가 아니라는 것을 알게 된다.
장부 만들기 3. 거래기록 봉인하기
자 그럼 다시 종이에 거래 기록이 꽉 찬 순간으로 돌아가 보자.
한 페이지를 꽉 채운 순간, 자동적으로 문제가 나온다.
문제 : A + B + C를 더해서 기계에 넣었을 때 ‘000으로 시작하는 출력 값’이 나오는 C를 알아내라
(물론 ‘000으로 시작하는 출력 값’은 예시일 뿐 실제 문제는 훨씬 복잡하다.)
여기서 첫 번째 변수 A는 거래기록이다. 변수 B는 이미 주어져 있는 특정 숫자/문자열이다. C는 봉인 번호다.
받아쓰기를 끝내고 문제를 본 10명의 사람들은 이제 이 봉인 번호 C를 알아내기 위해서 열심히 기계에 모든 숫자를 넣어본다.
다시 열심히 노가다를 한 끝에 한 명이 ‘4a37b’라는 봉인 번호를 찾았다. 가장 먼저 코드를 찾은 그 사람은 다른 사람들에게 코드를 알려준다. 코드를 들은 나머지 사람들은 거래기록과 주어진 코드를 기계에 집어넣어본다.
찾아낸 사람의 거래 기록이 모두의 거래 기록과 동일하다면, 기계는 ‘000으로 시작하는 값’을 출력할 것이다.
절반 이상의 사람이 이 봉인 번호가 맞다고 동의하면, 찾아낸 사람이 받아쓴 종이는 ‘진본’으로 인정된다.
장부 만들기 4. 종이를 파일철에 끼우기
이제 모든 사람은 봉인 번호가 적힌 진본 종이를 복사해서, 자신의 파일철에 넣는다.
10명의 사람들은 다시 새로운 종이를 받고 다음 거래 기록을 또 받아쓴다.
이 과정을 반복하면 모든 사람이 같은 내용의 파일철을 갖게 되고, 이 파일철의 내용은 ‘진본’임을 신뢰할 수 있다. 만약 누군가 거래 기록을 수정하더라도, 언제든지 기계에 넣어서 이 내용이 ‘진본’인지 확인해볼 수 있기 때문이다. ‘진본’이 아닌 것으로 판명되면 즉시 파일철에서 제거되고, 다른 사람의 종이를 복사해와서 다시 끼우도록 되어있다.
여기까지 하면 이제 앞서 말했던 다음과 같은 특징을 가지는 장부를 만드는데 성공한 것이다.
1) 이 장부에 한 번 쓰여진 내용은 수정되거나 지워지지 않으며 영구적으로 저장됨
2) 어떤 사람이나 기관도 이 장부에 대한 권한을 가지고 있지 않음.
3) 모든 사람은 이 장부의 사본을 가지고 있으며 언제든지 꺼내볼 수 있음.
거래 내역이 담긴 종이 한 장을 블록(Block)이라고 하고, 이 블록(Block)이 엮여서(chain) 하나의 파일을 구성하기 때문에, 이 파일을 ‘블록체인(Blockchain)’이라고 부른다.
종이 한 장을 블록이라고 하며, 이것이 엮여있는 파일이 블록체인이다
무임승차자의 문제
그런데 왜 모든 사람들은 그 시간과 돈을 써서 봉인하는 과정에 참여하는 걸까? 누군가가 봉인해주기를 기다렸다가, 봉인된 종이만 전달받으면 되지 않나?
무임승차자 문제(Free-rider problem)는 명확한 소유자나 중앙 권력이 없는 조직에서 가장 흔히 일어나는 문제다. 명확히 책임을 지는 주체나 중앙 권력이 없기 때문에, 각 개인들이 협력하도록 강제할 수가 없다.
만약 참여자들이 종이를 봉인해야 할 유인이 없을 경우, 문제를 풀기 위한 시간과 노력을 생각하면 봉인에 참여하려는 사람이 아무도 없을 것이다. 장부는 많은 사람들이 봉인 과정에 참여하는 것을 전제로 하고 있기 때문에, 장부에 대한 신뢰도 깨질 수밖에 없다.
봉인하느라 수고한 사람에게 상을 준다
비트코인은 경제적 인센티브를 통해 무임승차자 문제를 해결한다.
가장 먼저 봉인 코드를 찾아낸 1명의 참가자는 일정량의 코인을 지급받는다. 보낸 사람이 없고 받는 사람만 있는 거래가 자동으로 생긴다. 아무것도 없는 무에서 공짜로 돈이 생기는 것이다.
이것이 비트코인이 발행되는 순간이다. 새로 발행된 비트코인 외에도 그 안에 담겨있는 모든 거래들에서 수수료를 조금씩 떼어서 봉인한 사람에게 준다.
예를 들어 5번이 가장 먼저 봉인 코드를 찾아내고, 다수가 동의한다면 그 대가로 5번은 발행된 비트코인과 거래 수수료를 받고, 그 거래는 자동으로 종이 안에 기록된다.
비트코인 보상은 네트워크의 신뢰를 유지하는 데 노력한 그 대가라고 할 수 있다. 이 보상이 있기 때문에 무임승차자 문제없이 네트워크의 신뢰가 유지된다.
중요한 점은 보상이 비트코인으로 주어진다는 점인데, 이로써 봉인에 참여하는 사람들은 비트코인 네트워크의 가치를 더 높여야 할 유인이 생긴다.
참여자들은 많은 시간과 비용을 투자해서 봉인을 한다. (현재 비트코인 봉인에 참가하기 위해서는 막대한 전기료와 컴퓨팅 파워가 필요하다.)
그런데 결과로 받은 것은 현금이 아니라 비트코인이기 때문에, 비트코인의 가치가 올라야만 수익을 낼 수 있다. 따라서 비트코인 네트워크가 사람들에게 신뢰를 받을 수 있도록 더 봉인을 열심히 하게 된다.
즉, 비트코인은 이 보상을 통해 참가자와 네트워크의 이익을 일치시킨다.
이는 기업에서 직원에게 주는 스톡옵션과 같은 원리다. 일을 열심히 한 직원은 스톡옵션으로 보상을 받는다. 주식을 받은 직원들은 주식 가치를 높이기 위해 더 일을 열심히 하게 된다.
[참고] 봉인을 통해 네트워크를 채굴(mining)이라고 하며 이 보상을 노리고 채굴에 참여하는 사람들을 채굴자(miner)라고 한다. 예시로 들었던 네트워크의 참가자들은 채굴자가 가진 하나의 컴퓨터라고 보면 된다. [참고] 봉인에 시간과 노력을 들여 작업(Work)한 사람에게 비트코인으로 보상해주는 시스템을 Proof of Work (PoW)라고 한다.사후 조작의 문제점
여기서 잠깐, 이미 파일철에 50장에 봉인된 종이가 꽂혀있다고 하자. 그런데 한 사람이 나쁜 마음을 먹고 32번째 종이에 있는 거래기록을 바꿔 치면 어떻게 될까?
남들이 51번째 봉인 문제를 풀고 있는 동안에, 나는 32번째 종이의 내용을 수정하고, 그 수정된 내용에 맞는 봉인 번호를 새로 계산하는 것이다. 그런 다음 마치 그것이 원래 봉인인 것처럼 바꿔놓으면, 다른 참가자들이 계산해봤을 때 둘 다 주어진 출력 값이 나오기 때문에 어떤 것이 진짜인지 구별할 수가 없다.
모든 블록은 연결되어있다
여기서 아까 말했던 B값의 정체가 드러난다.
봉인된 각 페이지는 거래기록인 A값, 시스템에서 주어지는 B값, 봉인 번호인 C값이 합쳐져서 요구되는 값이 나와야 한다고 했었다.
여기서 B값은 사실 이전 페이지의 출력 값(논스값)의 일부이다. 따라서 누군가 블록체인의 뒤로 돌아가서 새로운 내용과 봉인 번호를 찾는다면, 출력 값은 ‘000으로 시작하지만 그 뒤의 내용은 다른 값’이 나온다. 그러면 다음 블록의 B값도 자동으로 바뀐다. 한 페이지만 수정해도 다음 페이지의 출력 값이 연쇄적으로 바뀌는 것이다.
그러므로 중간에 하나의 페이지를 바꾼다 하더라도, 뒤에 있는 체인들이 연쇄적으로 바뀌어 모두 봉인이 깨진다.
유일한 위조 방법은 다른 사람보다 엄청나게 빠른 속도로 봉인 코드를 풀어서, 다른 사람들이 51번째 문제를 풀기 전에, 32번부터 50번까지의 페이지를 모두 바꿔놓는 것이다.
하지만 봉인 문제는 순수한 노가다의 영역이고, 이미 많은 사람들이 가장 최근 페이지에서 봉인 코드를 찾고 있기 때문에, 사기꾼이 문제를 푸는 속도는 다른 사람들이 봉인 코드를 찾는 속도보다 느릴 수밖에 없다. 사기꾼이 다른 사람들보다 더 긴 체인을 만드는 것은 불가능하다.
비트코인은 항상 가장 페이지가 많은 파일철을 진본으로 인식한다. 다음 페이지가 봉인되는 순간 그 외에 변형된 내용은 모두 무시된다. 따라서 봉인에 참가하는 사람들이 충분히 많을 경우 내용을 수정하는 것은 원칙적으로 불가능하다.
비트코인 네트워크는 가장 긴 파일만을 진본으로 인식해서 사후 위조가 불가능하다
다수가 거짓말을 하면 어떻게 하지?
비트코인 네트워크는 다수의 합의에 따라서 이 내용이 진짜인지 아닌지를 판단한다.
만약 10명이 있는 네트워크에서 1번 사람이 다른 5명을 매수해서, 1번이 위조한 블록이 맞다고 동의하게 만든다면 어떻게 될까? 과반수 이상이 동의했으므로 비트코인은 그 블록을 진짜로 인정한다.
그렇다면 나머지 4명은 다른 사람들이 담합했음을 알게 되고 네트워크에서 이탈할 것이다. 네트워크는 신뢰를 잃고 무너진다.
이를 ‘51% 공격’이라고 부른다.
51% 공격은 비트코인의 가장 큰 약점이며, 이론적으로 블록체인의 신뢰가 무너질 수 있는 유일한 상황이다.
네트워크에 독립된 개인이 충분히 많으면 담합이 어렵다
흔히 3-4개 기업이 과점하고 있는 시장에서는 가격 담합 논란이 불거진다. 그 이유는 시장에 플레이어가 적을 경우 담합이 쉽기 때문이다.
하지만 우리는 수백 개의 플레이어들이 있는 시장에서는 가격 담합을 이야기하지 않는다. 한 시장에 기업이 수백 개 수천 개가 존재한다면 그 기업들이 모두 하나의 합의를 이루기는 매우 어렵기 때문이다.
51% 공격에 대한 비트코인의 해결책은 네트워크에 독립된 참가자들이 많아지는 것이다. 비트코인 네트워크는 독립된 개인들의 네트워크를 지향하며, 참가자들이 수만, 수십만 명 단위로 많아지는 것을 가정하고 있기 때문에 다수가 담합하는 일은 발생하기 어려울 것으로 본다.
안타깝게도 나름 잘 해결해낸 앞의 문제들과 다르게, 51% 공격은 여전히 비트코인 네트워크의 가장 큰 위협으로 남아있다. 그 이유는 바로 채굴자들이 거대한 집단을 형성했기 때문이다.
비트코인 채굴자들이 대형화되는 이유
비트코인은 현재 어마어마한 숫자의 컴퓨터들이 채굴에 참여하고 있다. 말했듯이 비트코인은 봉인 번호를 가장 먼저 찾는 1명에게만 보상을 준다.
따라서 채굴로 수익을 얻기 위해서는 컴퓨팅 파워가 좋아야 한다. 남들보다 먼저 문제를 풀어야 하기 때문이다. 운이 좋으면 한번 정도는 봉인 코드를 1등으로 찾을 수도 있겠지만, 너무 리스크가 크다.
그래서 채굴자들은 연합을 만들고, 서로 풀어야 할 문제 양을 나눈다. 그리고 그중 1명이 답을 찾으면 나머지 구성원과 보상을 나눠갖는 형식이다. 채굴 품앗이라고 해야 할까?
이렇게 되면 한 번에 갖는 양은 줄어들지만, 보상을 얻을 확률은 훨씬 높아지면서 안정적으로 채굴 수익을 올릴 수 있다.
[참고] 이 연합을 마이닝 풀이라고 한다.비유하자면 혼자서 하는 채굴은 자영업이고, 마이닝 풀은 안정적으로 월급을 받을 수 있는 대기업이라고 할 수 있겠다.
비트코인 네트워크가 커질수록 블록을 봉인해서 보상을 받기가 힘들어지기 때문에(문제의 난이도가 올라간다), 대형화된 마이닝 풀이 유리해진다. 규모가 주는 이점을 활용하여 마이닝 풀들은 더욱 대형화했고 이제는 어마어마한 양의 컴퓨팅 파워를 소유한 집단이 되었다. 특히 채굴에 들어가는 비용(전기료)이 싼 중국에서 거대 채굴업체들이 집중적으로 생겨났는데, 현재 비트코인 채굴의 대부분은 중국계 마이닝 풀이 점유하고 있다.
출처: Blockchain.info
그래프를 보면 상위 6개의 마이닝 풀이 전체의 77%가 넘는 블록을 처리하고 있다는 것을 알 수 있다. 모두 중국계이다. 게다가 1위인 AntPool과 2위인 BTC.com은 비트메인이라는 한 회사가 운영하고 있다.
채굴자가 대형화되는 것에는 여러 가지 문제가 있지만, 가장 중요한 것 중 하나가 51% 공격 가능성이 높아진다는 점이다. 몇몇 마이닝 풀이 손을 잡고 과반수 이상의 점유율을 확보해 비트코인을 무너뜨리려 할 경우 충분히 가능하다.
물론 이 마이닝 풀들은 비트코인을 통해 돈을 벌고 있기 때문에, 그런 상황을 바라지는 않겠지만, 어찌 됐든 마음만 먹으면 비트코인의 운명을 좌우할 수도 있는 힘을 지니고 있는 것은 확실하다.
요약
비트코인이 해결하고자 하는 문제와 해결책을 짧게 요약해보았다.
비트코인에서 사용하고 있는 블록체인은 블록체인의 시초라고 할 수 있지만, 가장 기능이 뛰어나거나 보안상 완벽한 블록체인이라고는 할 수 없다.
그래서 비트코인 블록체인이 가진 문제점을 해결하기 위해서 그 후로 수많은 파생 코인들이 생겨나게 된다. 블록체인은 코드가 완전히 공개된 프로그램이기 때문에 규칙을 바꿔서 수많은 방식의 암호화폐와 블록체인 기반 프로그램을 만들 수 있다.
하지만 근본적으로는 모두 이 비트코인 블록체인에서 파생되어 나왔기 때문에, 이번 글을 잘 이해했다면 복잡한 암호화폐의 세계를 이해하기 위한 큰 걸음을 내디딘 것이라고 할 수 있다.
참고 자료
– 사용한 비유는 Mohit Mamoria가 쓴 글의 내용을 재구성했습니다.
– 이 글을 쓰던 중에 발견한 초딩도 이해하는 블록체인
– 조금 더 전문적인 내용이 담긴 비트코인 블록체인 개론
비트코인 채굴 원리와 방법
저번 보안이야기에서 소개한 <비트코인과 보안> 잘 읽어보셨나요?
일반 화폐와 달리 만질 수도 없고
중앙 정부의 개입 없이 개인간 거래할 수 있는 독특한 화폐 인데요
화폐 발행이 되는 원리도 일반 화폐와는 조금 다르답니다!
금 캐는 과정과 비슷하기 때문에 채굴(mining) 이라고 하는데
어떤 원리로 이뤄지고 어떻게 채굴할 수 있는지 알려드리겠습니다~
평소 관심이 있었다면 오늘 포스트 꼭! 읽고
도전해보세요^^
비트코인 채굴 원리
일반적으로 금융거래 시 은행, 신용카드회사 등의 금융기관이 중개하여 거래가 이뤄지는데
비트코인은 이러한 중개기관 없이 안전한 거래가 이뤄지도록
모든 거래내역을 장부에 기록하여 모든 사용자들이 공유할 수 있는 방식을 선택했습니다.
비트코인 시스템은 전체 거래내용을 10분 단위로 모아 장부에 기록하는데
거래내용은 암호화 되어있기 때문에 누군가 암호를 풀어 장부에 기록해야 합니다.
암호는 수많은 계산과 검토가 필요한 어렵고 번거로운 일이기 때문에
암호를 풀어 장부에 기록하는 권리와 그 대가인 신규 발행된 비트코인을 한 사람에게 주는데요
이 과정은 마치 광부가 광산에서 곡괭이질을 거듭한 끝에 금을 캐내는 것과 비슷하다고 하여
채굴(mining) 이라고 합니다.
사용자들은 컴퓨터를 통해 비트코인을 얻기 위해 경쟁하면서 수학문제를 풀어야 하는데요
시간이 지나면 지날수록 암호의 난이도는 높아지고 발행량도 점점 줄어들게 됩니다.
이는 화폐 가치하락(인플레이션)을 방지하기 위함이라고 합니다.
비트코인은 앞으로 2040년이 되면 총 2,100만 비트코인을 끝으로 발행이 끝나며
이후에는 유통 시 발생되는 수수료를 이용하여 지급하도록 되어있습니다.
비트코인 채굴 방법
▲ 비트코인 지갑 만들기
비트코인 채굴 전 비트코인을 저장할 전자지갑을 만들어야 합니다.
비트코인 지갑은 외국 뿐만 아니라 국내에서도 지원하는데요
원하시는 사이트에 방문 후 만드시면 됩니다.
▲ 채굴 풀 가입하기
텅 빈 지갑을 채우기 위해 본격적으로 채굴 작업에 나서야 하는데요
비트코인 암호를 풀기 위해선 일반 PC 1대 기준으로 5년의 시간을 투자해야 풀 수 있습니다.
이런 고민을 다같이 해결하기 위해 채굴 풀(mining pool)이 생겼습니다.
본인 컴퓨터의 계산 성능 일부를 암호 해독 과정에 보태고
채굴이 완료되면 기여한 만큼 비트코인을 나눠 받는데요
컴퓨터의 성능이 좋을수록 더 많은 비트코인을 받을 수 있습니다.
채굴 풀도 많이 나타났기 때문에 원하는 채굴 풀에 가입 후
프로그램을 다운 받아 자기 계정에 연동합니다.
▲ 채굴하기
채굴 프로그램 실행 후 시작 버튼만 누르면 끝입니다.
계산은 컴퓨터가 알아서 하는데 다만 PC 전원이 꺼지지 않도록 잘 설정해주시기 바랍니다.
비트코인 채굴 시 주의사항
▲ CPU 사용량이 급격히 늘어나며 100%를 유지하는 시간이 길어지기도 합니다.
CPU가 과열되지 않도록 모니터링 해야 합니다.
▲ 컴퓨터를 24시간 풀가동 해야 하므로 전기세 지출이 늘어날 수 있습니다.
감안하여 채굴하시기 바랍니다.
▲ 외국거래소 사용 시 여권만료일을 확인해야 합니다.
만료일자가 지난 여권으로 인증 시 출금정지가 될 수 있습니다.
[참고] 비트코인 암호화 원리그렇다면 비트코인의 거래내역은 어떻게 암호화가 될까요?
참고가 될 수 있는 비트코인 암호화 원리를 알려드리겠습니다.
비트코인은 주로 공개열쇠방식을 사용합니다.
▲ 공개열쇠방식
공개열쇠방식은 보내고자 하는 정보를 암호화 할 때
암호화하는 열쇠와 복호 하는 열쇠가 서로 대칭이 아니라는 특징이 있습니다.
즉, 정보를 보내는 쪽의 암호화 열쇠와 받는 쪽의 복호 열쇠가 다르기 때문에
암호화 열쇠를 공개하여도 암호화된 정보가 무엇인지 알기는 매우 어렵습니다.
송신자가 정보 a를 공개열쇠방식으로 수신자에게 보낼 경우를 예로 들어보겠습니다.
먼저 정보를 받을 수신자는 어떤 두 소수(1과 자기 자신만으로 나누어 떨어지는 1보다 큰 양의 정수)의 곱 4067351을 이용하여 송신자에게 정보를 암호화해서 보내달라고 요청한다. 그러면 송신자는 공개된 암호화 열쇠 4067351을 이용하여 정보 a를 b로 암호화하여 수신자에게 보낸다. 이 때 송신자는 공개된 수 4067351만을 이용하여 a를 b로 암호화한다. 수신자는 4067351의 두 소인수(어떤 정수를 소수만의 곱으로 나타낼 때의 각 인수)를 이용하여 받은 암호문 b를 a로 복호한다. 암호화된 정보가 송신자로부터 수신자로 전달되는 사이에 공격자가 암호 b를 탈취하더라도 4067351이 어떤 두 소수의 곱으로 이루어져 있는지 알 수 없기 때문에 b를 a로 바꿀 수 없다.
공개열쇠방식은 두 소수(1과 그 수 자신 이외의 자연수로는 똑 떨어지게 나눌 수 없는 자연수)
p, g가 주어졌을 때, 그 두 소수의 곱m(=pg)은 쉽게 구할 수 있지만
어떤 두 소수의 곱 m이 주어졌을 때 m이
어떤 두 소수의 곱인지 알기 어렵다는 것에서 착안한 방법입니다.
즉, 공개열쇠방식은 누구나 한쪽 방향으로 쉽게 들어갈 수 있어도
특정한 사용자 이외에는 되돌아올 수 없는 이른바 덫문과 같은 장치가 마련되어 있기 때문에
비트코인을 주고 받을 때 사용됩니다.
키워드에 대한 정보 암호 화폐 원리
다음은 Bing에서 암호 화폐 원리 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.
이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!
사람들이 주제에 대해 자주 검색하는 키워드 초등학생도 이해하는 비트코인 원리
- 지식
- 상식
- 교육
- 비트코인
- 비트코인원리
- 비트코인전망
- 비트코인위험성
- 비트코인이란
- 가상화폐
- 블록체인
초등학생도 #이해하는 #비트코인 #원리
YouTube에서 암호 화폐 원리 주제의 다른 동영상 보기
주제에 대한 기사를 시청해 주셔서 감사합니다 초등학생도 이해하는 비트코인 원리 | 암호 화폐 원리, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.