비트코인과 블럭체인에 대하여 물어볼때 답변하기 위해 정리한 간단한 자료.

in #coinkorea7 years ago (edited)

이 글은 요즘들어 비트코인과 암호화폐(가상화폐)에 대해서 물어보는 사람들이 많아서 전혀 이에 대해 모르는 사람들에게 간단하게 개념을 설명하기 위해 남기는 글입니다.

<h1>비트코인과 블럭체인 <p dir="auto"><span>비트코인과 더불어 대부분의 암호화폐는 블럭체인이라는 개념을 사용하고 있습니다. 간단하게 블럭과 체인, 그리고 해시와 공개키와 개인키, 나아가 거래소와 스마트컨트렉트를 알아봅시다. - by <a href="/@ludorum">@ludorum <h4>목차 <ul> <li>비트코인의 등장배경 <li>블럭체인 <ul> <li>블럭 <li>해시 <li>체인 <li>공개키/개인키 <li>거래소 <li>스마트컨트랙트 <hr /> <h2>비트코인의 등장배경 <p dir="auto"><a href="https://steemit.com/kr/@inverse/2008-a-to-z" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">금융위기와 비트코인 <pre><code>국가에서 마구마구 만들어내는 화폐는 믿을 수 없다. 어느날 갑자기 많은 달러를 만들어서 시장에 풀어버리면 내 달러는 가치가 없어질 것이다. 국가나 은행과 같은 중앙기관을 신뢰하지 않고 사용할 수 있는 화폐가 필요하다. <hr /> <h2>블럭 <pre><code>- 100만원 입금 : 잔고 100만원 - 10만원 출금 : 잔고 90만원 <p dir="auto">우리의 은행 잔고는 입금과 출금 내역을 통해서 증명됩니다.<br /> 이러한 입출금 내역을 트랜잭션이라는 용어로 부르고 있습니다. <p dir="auto">블럭은 이러한 <strong>트랜잭션을 여러개 합쳐서 하나의 블럭에 담은것을 의미합니다. <p dir="auto">일반적이라면, 이러한 입출금 내역이 위조되지 않았다는 것을 신뢰가능한 은행이 보증하는 것이죠. <hr /> <h2>해시(HASH) <p dir="auto">블럭체인은 은행을 믿는 대신에 내역이 위조되지 않았다는 것을 증명할 방법을 찾았습니다. 바로 <strong>해시라고 하는 알고리즘입니다. 비트코인에서는 SHA256이라는 해시 알고리즘을 사용합니다. <p dir="auto">A라는 글자를 넣고 규칙에 맞게 큐브를 빙글빙글 돌리면, 256자리 16진수 숫자를 얻을 수 있습니다.<br /> 여기에 B라는 글자를 추가하고 큐브를 빙글빙글 돌리면, 또 다른 256자리 16진수 숫자를 얻을 수 있지요.<br /> 책 한권을 넣어도 마찬가지로 256자리의 16진수 숫자를 얻게 됩니다.<br /> <img src="https://images.hive.blog/768x0/https://steemitimages.com/DQmQFSiBMu6shDkHQpAuQPL3ZtTTLad7wfCND77rhJL2bCt/hash.png" alt="hash.png" srcset="https://images.hive.blog/768x0/https://steemitimages.com/DQmQFSiBMu6shDkHQpAuQPL3ZtTTLad7wfCND77rhJL2bCt/hash.png 1x, https://images.hive.blog/1536x0/https://steemitimages.com/DQmQFSiBMu6shDkHQpAuQPL3ZtTTLad7wfCND77rhJL2bCt/hash.png 2x" /> <p dir="auto">단 한글자라도 바뀐다면, 전혀 다른 해시값이 나오기 때문에 해시값을 통해서 내역이 올바른지 검증할 수 있습니다. <p dir="auto">이와 같이 <code>철수가 영희에게 1BTC를 보냈다라는 내역의 해시값을 뽑아냅니다. 그리고 해시값들을 다시 합쳐서 해시값을 하나 만들면, 그것이 <strong>블럭의 해시값이 됩니다. <blockquote> <p dir="auto">내역중에서 단 하나만 바뀌어도 전혀 다른 해시값이 나오겠죠? 그렇기 때문에 올바른 데이터를 넣고 해시값과 검증하는 것은 아주 쉽지만, 검증값에 일치하는 위조된 데이터를 찾아내는것은 불가능에 가까운 매우 어려운 일입니다. <hr /> <h2>체인 <p dir="auto">이제 블럭들을 엮어서 체인을 만들어 봅시다.<br /> 블럭의 해시값은 몇가지 구성요소를 가지고 있습니다. <ul> <li>블럭의 버전 <li>이전 블록의 해시값 <li>트랜잭션들의 해시값을 합쳐서 만든 해시값 <li>블럭 생성 시간 <li>난이도 <li>무작위 숫자 <p dir="auto"><strong>이전 블록의 해시값 이 부분이 바로 체인의 핵심입니다.<br /> 이전 블럭의 값을 하나라도 바뀐다면, 그 블럭의 해시값을 참조하여 만들어진 다음 블럭의 해시값도 바뀔 것입니다. 그럼 연쇄적으로 그 다음블럭들도 전부 바뀌게 될 것입니다. <p dir="auto">여기에 중요한 개념이 한가지 더 있습니다.<br /> <strong>난이도. 256자리의 16진수 숫자이기 때문에 해시값은 특정 숫자보다 높거나 낮을 수 있습니다. 이것을 통해서 무조건 해시값이 1000보다 낮게 만들어야한다는 규칙이 있다면, 블럭 생성에 시간이 오래걸리도록 유도할 수 있습니다. <p dir="auto">만약 블럭을 만들어내는 사람이 0을 넣었는데 1000보다 높은 해시값이 나왔다면, 다시 1, 2, 3,.. 숫자를 바꿔가며 난이도에 맞는 해시값을 찾아내는겁니다. 더 빠른 컴퓨터가 있다면, 더 빨리 찾아낼 수 있겠죠? <p dir="auto">그렇다면, 왜 난이도가 존재할까요? 무조건 빠르게 블럭이 생겨난다면 좋은거 아닌가요?<br /> 이것은 소수 집단이 블럭을 위조하지 못하게 만드는 일입니다. <p dir="auto">비트코인 네트워크에 참여한 일반적인 참여자의 컴퓨터의 성능보다, 위조를 원하는 사람의 컴퓨터 성능이 더 좋지 않다면 위조할 수 없도록 만드는 일이죠. <p dir="auto">10개의 블록을 위조하려면 1개가 생기는 사이에 10배 빠르게 만들어내야 할테니까요. <p dir="auto">바로 이 과정이 <strong>채굴(마이닝)입니다. <p dir="auto">이렇게 난이도에 맞는 블럭을 생성하는 일은 비트코인 네트워크의 거래내역들을 안전하게 만드는 일입니다. <p dir="auto">그렇기 때문에 정해진 규칙대로 블록 생성자가 블록 생성 보상으로 비트코인을 얻게 됩니다. 또한, 2100만개의 모든 비트코인이 채굴되었을 경우에도 여전히 블록 생성자는 거래 수수료를 보상으로 얻게 됩니다. <p dir="auto">이를 통해서 막대한 자본을 투입해서 비트코인 네트워크를 공격하느니, 차라리 채굴 보상을 얻는게 더 이익이 되도록 유도한다고 할 수 있습니다. <blockquote> <p dir="auto">비트코인 네트워크는 블럭이 생성된 시간들을 고려하여 10분에 1개의 블럭이 생성되도록 난이도를 유도합니다. <hr /> <h2>개인키와 공개키 <p dir="auto">은행에서 <code>철수가 영희에게 1만원을 보냈다라는 내역을 생성하기 위해서 우리는 신분증과 비밀번호같은 것을 사용합니다. 그리고 은행에서 이러한 내역을 승인해주죠. <p dir="auto">그러나, 우리의 비트코인 네트워크는 그런 신뢰 기반의 시스템이 아닙니다. <strong>국가나 은행과 같은 중앙기관, 중간자를 믿지 못해서 만들어진 시스템이니까요. 개인의 거래내역은 개인이 생성합니다. <p dir="auto">이때 사용되는것이 공개키와 개인키입니다. <p dir="auto">공개키와 개인키는 한 쌍으로 이루어져 있고, <strong>공개키는 계좌번호 비슷한 존재입니다. 그리고 <strong>개인키는 비밀번호, 인감도장, 신분증과 같은 존재입니다. <p dir="auto">개인키로 서명한 거래내역의 해시값은 공개키를 통해서 검증할 수 있도록 구성되어있습니다. 이를 통해서 비밀번호를 직접 노출하지 않고, 거래내역에 대한 해시값을 공개키로 검증하게 함으로써, 내가 입출금 권한이 있음을 증명할 수 있는 것이죠. <p dir="auto">그리고 이 시스템을 우리는 흔히 '지갑'이라고 부릅니다. <hr /> <h2>거래소 <p dir="auto">암호화폐 거래소는 단순하게 암호화폐 거래소 내에 있는 비트코인을 다른 암호화폐나 달러, 원화와 거래하는 것이기 때문에 전혀 비트코인 네트워크와 관련이 없습니다. <ul> <li>[비트코인 네트워크] : 비트코인 네트워크 > 거래소 지갑 > 거래소 <li>[거래소 내부 시스템] : 거래소가 관리하는 회원의 입금/출금/거래내역 <p dir="auto">이는 당연한 것인데, 우리의 원화(KRW)는 비트코인 네트워크에 직접 입금할 수 없기 때문인데요. 그래서 거래소와 같은 중간자를 이용하고 있습니다. <p dir="auto">주로 암호화폐 해킹사태는 이러한 거래소 회원정보가 해킹되거나, 거래소 지갑의 개인키가 유출되는 경우입니다. 아직까지 블럭체인 자체가 해킹된 사례는 없는 것으로 알고 있습니다. <hr /> <h2>스마트 컨트랙트 <p dir="auto">우리는 이제 비트코인 네트워크가 은행과 같은 중간자 없이 화폐를 발행하고, 서로 돈을 주고 받을 수 있으며, 위조하기 힘들다는 것을 알았습니다. <p dir="auto">그러나 한가지 문제가 더 있습니다. 예를 들어 원화와 비트코인을 거래하려면 누군가 또 신뢰 가능한 중간자가 있어야한다는 점입니다. <p dir="auto">그래서 이것을 해결하기 위해 등장한 것이 스마트 컨트랙트입니다. <p dir="auto">이것은 KRW을 보냄과 동시에 비트코인을 건네받는 것을 블록체인 네트워크를 통해서 보장받는 것을 의미합니다. 당연히 블록체인 특성대로 올바른 주소에 올바른 금액을 보낸다면 올바른 결과를 얻게 될 것입니다. <p dir="auto">이러한 스마트 컨트랙트 개념을 시작한게 바로 이더리움입니다. 그리고 요즘은 서로 다른 블록체인 네트워크끼리 데이터를 주고받고 가치를 교환하는 방법에 대해 솔루션을 제공하기 위한 기술들이 연구 개발중입니다. <p dir="auto">향후에 원화(KRW)가 블록체인 네트워크상에 올라갈 수 있고, 이러한 체인간 교환이 가능해진다면 거래소 없이도 스마트 컨트랙으로 바로바로 비트코인을 사고팔 수 있겠죠? <hr /> <h4>끝으로, 암호화폐 투자자에게 권하는 글 <ol> <li>암호화폐는 아직 시장 규모가 충분히 크지 않으므로 변동성이 강합니다. <li>존버의 시대는 이미 갔고, 그냥 자산의 일부를 암호화폐로 보유하는 시대라고 생각합니다. <li>오를때까지 버티는게 아니라, 그냥 자산 일부가 암호화폐일 뿐. 원화는 원화대로, 암호화폐는 암호화폐대로.. <li>위의 이유로 생활에 지장을 줄 정도로 원화를 암호화폐로 바꾸시는 것은 권장하지 않습니다. <li>가격에 대해서는 10년 전 라면값을 생각해보면 괜찮다고 생각합니다. <li>수익률은 중요하지 않습니다. 우리는 전문 트레이더가 아니잖아요? 공포와 시간을 구매하세요. <li>전문 트레이더이고 싶으시다면, 그만큼 정보력, 판단력, 순발력, 자본력을 갖추셔야합니다. <li>세계 최대 부호나, 남들보다 더 벌고 싶은게 목표가 아니라면, 열심히 거래하실 필요 없습니다. <li>적금처럼 구매해서 자기 자산의 일부를 암호화폐로 바꾸어 두시는 것을 권장합니다. <li>블록체인 네트워크에 보호를 받기 위해 개인지갑을 이용하시고, 개인키를 잃어버리거나 유출하지 마세요.
Sort:  

블록체인 트랜잭션등 요즘 뜨는 단어에 대해 물어보면 뭔가 횡설수설 하며 대답했는데 정확한 대답을 할 수 있을거 같아요! :) 감사합니다.

간략하게 깔끔하게 잘 정리해주셨네요 감사합니다 ㅎㅎ

알고싶었던 것들이 수두룩했는데 이 글을 읽고 조금이나마 해소하고 갑니다! 감사해요
또 좋은 글 부탁드릴게요 ; ) 업보트하고갑니다

알쏭달쏭한 것들이 어느정도 정리가 되는 것 같습니다. 좋은 글 감사합니다.

역시 갓도럼님.. 리스팀 하고 두고두고 이 글 보여주겠습니다.

와. 깔끔한 설명 감사합니다.

이런 글은...리스팀해야해...
정독했습니다. 집에가서 복습해야겠습니다. 감사합니다

깔끔한 정리 감사합니다

평소 공부하면서 많이 도움 받았습니다.
확실히 내공이 느껴지는 글이세요.ㅎㅎ
좋은 글 정말 감사합니다~~ 앞으로도 많이 배울게요 ^^

워우 훌륭한 자료입니다, 요즘 부쩍 질문이 많이 들어와서 처음부터 설명해주기 참 힘들었는데 이제 링크하나면 끝나겠군요 ^^

잘 정리된 글 이네여 감사합니다 잘 보고 갑니다

감사합니다. 리스팀해서 잘 읽겠습니다.

궁금했던 내용이었어요^&^
리스팀해요~
좋은 글 감사합니다