2016. 4. 5. 19:09

비트코인(Bitcoin)과 블록체인(Blockchain)

비트코인(Bitcoin)은 2009년 나카모토 사토시가 만든 디지털 통화로, 온라인에서 사용하는 전자화폐다. 별도의 발행처나 관리기관이 없는데다 누구나 발행하거나 사용할 수 있다. 은행이나 환전소를 거치지 않고 당사자 간 직거래를 하므로 수수료가 적거나 없다. 다만 상대방을 신뢰할 수 없는 온라인 직거래의 특성상 화폐를 암호화하는 방식을 택했다.

통화를 발행하고 관리하는 중앙 장치(은행 포함)가 존재하지 않는 구조를 가지는 대신, 비트코인의 거래는 P2P 기반 분산 데이터베이스에 의해 이루어지며, 공개 키 암호 방식 기반으로 거래를 수행하며 공개성을 가지고 있다.

비트코인은 지갑 파일의 형태로 저장되며고 이 지갑에는 각각의 고유 주소가 부여되며 그 주소를 기반으로 거래가 이루어진다.  이 방식은 1998년 웨이따이가 사이버펑크 메일링 리스트에 올린

암호통화(cryptocurrency)

란 구상을 최초로 구현한 것 중의 하나이다

거래는 공개 키 암호 방식을 이용해 공개된 계정간에 이루어진다. 모든 거래는 비공개적이지만 거래 기록은 남으며, 분산 데이터베이스에 저장된다. 분산된 시간서버로 일련의 작업증명(proof-of-work)을 하여 중복지출(double-spending)을 방지한다. 거래 기록은 무조건 모두 데이터베이스에 저장되어야 하며 저장소 크기를 줄이기 위해 머클 트리(Merkle tree)를 사용하고 있다.

<비트코인 거래 소프트웨어 프로그램>

비트코인 네트워크에 참여하는 사람은 모두 임의의 암호화 키를 쌍으로 담고 있는 지갑을 갖게 된다. 공개키는 비트코인 주소와 마찬가지인데 모든 지불의 `발신자`와 `수신자` 사이에서 종단점으로 작동한다. 공개키의 짝이 되는 비밀키는 소유자만이 지불할 수 있도록 허가하는데 사용된다. 비트코인 주소에는 소유자에 대한 정보를 포함되지 않아서 익명성을 갖고 있다.

주소는 사람이 읽을 수 있게 표기될 경우 33글자 정도 되며 1rYK1YzEGa59pI314159KUF2Za4jAYYTd처럼 보인다. 비트코인 사용자는 여러 주소를 보유할 수 있고 새로운 주소를 제한 없이 생성할 수 있다. 어떤 네트워크 노드와도 접촉할 필요 없이 새로운 공개키와 암호키쌍을 간단히 생성하면 새로운 주소를 즉시 만들 수 있기 때문이다. 쉽게 주소를 무한대로 생성해 바꿔 사용한다면 익명성이 보장될 수 있다.

비트코인에는 현재 소유자의 공개키(주소)가 포함되어 있다. 사용자 이 사용자 에게 무언가를 전송할 경우를 보자. 의 공개키(주소)를 비트코인에 추가하고 이 소유한 개인키로 서명한다. 그 다음 은 이 비트코인을 적절한 메시지의 거래 내역으로 P2P 네트워크에 방송한다. 나머지 네트워크 노드들은 암호화된 서명과 거래량을 허가하기 전에 입증한다.

다른 노드로 방송된 거래 내역들은 어떤 것이라도 즉시 공식적이지 않다. 블록 체인(block chain)이라고 불리는 거래내역이 있는데, 이것은 알려진 모든 거래 내역의 목록을 수집해 보관하는 것이다. 블록 체인에서 6회 이상 인정되어야 공식적인 거래가 된다. 각각의 생성용 노드들은 인정되지 않은 거래 내역을 전해 듣고 후보 블록에 수집한다.

후보 블록은 다른 것과 함께 있는 파일이고 이미 알려져 있는 바로 이전의 유효블록(valid-block)의 암호화 해시를 포함하고 있다. 생성용 노드들은 난이도에 의해 정해진 목표값 이하의 암호화 해시를 생성하기 위해 시행 착오를 반복한다. 노드가 그 해답을 찾으면, 노드는 네트워크의 나머지 노드에게 알린다.

새로 해결된 블록(solved-block)을 받은 노드들은 그것을 허가하기 전에 인증하고 체인에 추가한다. 결국, 블록체인은 생성자의 주소부터 현재 소유자의 주소까지 모든 암호화 기록을 갖게 된다.그래서 사용자가 이미 사용한 돈을 재사용하려고 하면, 네트워크가 거래를 거부할 수 있는 것이다.

거래 내역을 중앙 서버에 저장하는 일반적인 금융기관과 달리, 블록체인은 비트코인을 사용하는 모든 사람의 컴퓨터에 저장된다. 누구나 거래 내역을 확인할 수 있어 ‘공공 거래 장부(Public Ledger)’라 불린다. 거래 장부가 공개되어 있고 모든 사용자가 사본을 가지고 있으므로 해킹을 통한 위조도 의미가 없다. 특히 블록체인은 신용이 필요한 금융거래 등의 서비스를 중앙집중적 시스템 없이 가능하게 했다는 점에서 높은 평가를 받는다. 향후 대표적인 핀테크(FinTech) 기술로 비트코인 이외의 다른 온라인 금융거래에 활용될 가능성도 크다.

비트코인 네트워크는 “코인 생성” 옵션을 선택한 소프트웨어를 구동하는 누군가, 구체적으로는 블록을 생성해내는데 성공한 누군가에게 한 묶음의 새로운 비트코인을 시간당 6번 정도씩 생성해 배분할 수 있도록 되어 있다. 그 소프트웨어나 또는 같은 역할을 하는 사용자가 직접 만든 특수한 프로그램을 구동하는 사람은 누구나 비트코인 묶음을 받을 가능성이 있다. 비트코인을 생성하는 것은 금광에 빗대어 “

채굴

”이라고 불리기도 한다.

사용자가 코인 묶음을 받을 수 있는 확률은 정해진 목표값 이하의 해시를 만들어낼 수 있는 확률과 같으며, 비트코인이 묶음당 생성되는 양은 50 BTC를 넘지 않는다. 그리고, 변동분은 전 시간에 걸쳐 0으로 줄어들게 프로그램되어, 전부 2,100만을 넘지 않게 된다. 이 지불금이 줄어들면, 사용자들은 블록을 생성하는 노드를 구동하는 것 보다는 거래 수수료를 벌도록 유도된다.

네트워크의 생성용 노드들은 전부 그들의 후보 블록을 만들기 위한 암호화 문제를 찾아내기 위해 경쟁한다. 이 문제를 풀려면 반복적인 시행착오가 필요하다. 노드가 정답을 찾으면 네트워크의 나머지 노드에게 그것을 알리고 새로운 비트코인 묶음을 요구한다. 새로 해결된 블록(solved-block)을 받은 노드들은 그것을 허가하기 전에 인증하고 체인에 추가한다. 노드에는 표준 클라이언트를 사용하거나 GPU 가속을 이용하는 다른 소프트웨어가 사용될 수 있다. 사용자들은 집단으로 비트코인을 생성할 수도 있다.

노드는 자신이 생성하는 블록에 다른 이들의 거래내역을 포함할 의무가 없기 때문에, 비트코인 송신자는

거래 수수료

를 자발적으로 지불함으로써 거래 속도를 높이고 사용자들이 노드를 운영하려는 유인을 제공한다. 특히 비트코인을 생성하기가 어려워질수록, 시간이 감에 따라 블록 분량마다의 보상이 줄어든다. 노드들이 받는 보상은 후보 블록에 포함된 모든 거래 내역과 관련된 거래 수수료이다.

2009년 만들어진 비트코인은 총발행량 2,100만 비트코인이 한계이다. 그 이상은 발행될 수 없다. 2013년 현재 대략 1,200만 비트코인이 발행되었다. 그러나 다른 유사한 암호통화가 비트코인을 시작으로 해서 다수 등장해 있기 때문에, 라이트코인 등 대체 암호통화를 사용하거나, 아니면 더 작은 단위로 쪼개 쓰면 된다. 비트코인은 소수점 8자리까지 나눌 수 있게 설계됐다. 비트코인의 가장 작은 단위는 창안자인 사토시 나카모토를 기념하기 위해 ‘사토시’라는 단위로 불린다. 

<비트코인 총발행량 추이>

참조 싸이트

https://ko.wikipedia.org/wiki/Bitcoin
http://100.daum.net/encyclopedia/view/47XXXXXXd914