비트코인(bitcoin)은 블록체인 기술을 기반으로 만들어진 온라인 암호화폐이다. 비트코인의 화폐 단위는 BTC로 표시한다. 2008년 10월 사토시 나카모토라는 가명을 쓰는 프로그래머가 개발하여, 2009년 1월 프로그램 소스를 배포했다. 중앙은행이 없이 전 세계적 범위에서 P2P 방식으로 개인들 간에 자유롭게 송금 등의 금융거래를 할 수 있게 설계되어 있다. 거래장부는 블록체인 기술을 바탕으로 전 세계적인 범위에서 여러 사용자들의 서버에 분산하여 저장하기 때문에 해킹이 사실상 불가능하다. SHA-256 기반의 암호 해시 함수를 사용한다.
2009년 비트코인의 소스 코드가 공개되었고, 이더리움, 이더리움 클래식, 리플, 라이트코인, 에이코인, 대시, 모네로, 제트캐시, 퀀텀 등 다양한 알트코인들이 생겨났다. 비트코인은 여러 알트코인들 사이에서 일종의 기축통화 역할을 하고 있다.
개요
우분투에서 비트코인 클라이언트를 실행한 화면
비트코인은 2009년 사토시 나카모토가 만든 가상화폐로, 통화를 발행하고 관리하는 중앙 장치가 존재하지 않는 구조를 가지고 있다. 대신, 비트코인의 거래는 P2P 기반 분산 데이터베이스에 의해 이루어지며, 공개 키 암호 방식 기반으로 거래를 수행한다. 비트코인은 공개성을 가지고 있다. 비트코인은 지갑 파일의 형태로 저장되며, 이 지갑에는 각각의 고유 주소가 부여되며, 그 주소를 기반으로 비트코인의 거래가 이루어진다. 비트코인은 1998년 웨이따이가 사이버펑크 메일링 리스트에 올린 암호통화(cryptocurrency)란 구상을 최초로 구현한 것 중의 하나이다.
비트코인은 공개 키 암호 방식을 이용해 공개된 계정간에 거래를 한다. 모든 거래는 비공개적이나 거래의 기록은 남으며, 분산 데이터베이스에 저장된다. 분산된 시간서버로 일련의 작업증명(proof-of-work)을 하여 중복지출(double-spending)을 방지한다. 거래 기록은 모두 데이터베이스에 저장되어야 한다. 저장소 크기를 줄이기 위해 머클 트리(Merkle tree)가 사용된다.
기술
윈도 7에서 실행 중인 비트코인 소프트웨어
비트코인은 웨이따이의 비-머니(b-money) 제안과 닉 재보(Nick Szabo)의 비트골드(Bitgold) 제안을 P2P로 구현한 것이다. 체계의 원리는 사토시 나카모토의 2008년 비트코인 백서에 나와 있다.
주소
비트코인 네트워크에 참여하는 사람은 모두 임의의 암호화 키쌍을 담고 있는 지갑을 갖게 된다. 공개키는 비트코인 주소와 마찬가지인데 모든 지불의 발신자와 수신자 종단점으로 작동한다. 공개키의 짝이 되는 비밀키는 소유자만이 지불할 수 있도록 허가하는데 사용된다. 비트코인 주소에는 소유자에 대한 정보가 포함되지 않아서 익명성을 갖고 있다.주소는 사람이 읽을 수 있게 표기될 경우 33글자 정도 된다. 비트코인 사용자는 여러 주소를 보유할 수 있고 새로운 주소를 제한 없이 생성할 수 있다. 어떤 네트워크 노드와도 접촉할 필요 없이 새로운 공개키와 암호키쌍을 간단히 생성하면 새로운 주소를 즉시 만들 수 있기 때문이다. 쉽게 주소를 무한대로 생성해 바꿔 사용한다면 익명성이 보장될 수 있다.
거래
비트코인에는 현재 소유자의 공개키(주소)가 포함되어 있다. 사용자 갑이 사용자 을에게 무언가를 전송할 경우를 보자. 갑은 을의 공개키(주소)를 비트코인에 추가하고 갑이 소유한 개인키로 서명한다.그 다음 갑은 이 비트코인을 적절한 메시지의 거래 내역으로 P2P 네트워크에 방송한다. 나머지 네트워크 노드들은 암호화된 서명과 거래량을 허가하기 전에 입증한다.
블록체인
기본 체인(검은색)은 시작 블록(녹색)부터 현재 블록까지 가장 긴 나열로 이루어진다. 고아 블록은(회색) 기본 체인 바깥에 존재한다.
다른 노드로 방송(broad cast)된 거래 내역들은 어떤 것이라도 즉시 공식적이지 않다. 블록 체인(block chain)이라고 불리는 거래내역이 있는데, 이것은 알려진 모든 거래 내역의 목록을 수집해 보관하는 것이다. 블록 체인에서 6회 이상 인정되어야 공식적인 거래가 된다. 각각의 생성용 노드들은 인정되지 않은 거래 내역을 전해 듣고 후보 블록에 수집한다. 후보 블록은 다른 것과 함께 있는 파일이고 이미 알려져 있는 바로 이전의 유효블록(valid-block)의 암호화 해시를 포함하고 있다. 생성용 노드들은 난이도에 의해 정해진 목표값 이하의 암호화 해시를 생성하기 위해 시행 착오를 반복한다. 노드가 그 해답을 찾으면, 노드는 네트워크의 나머지 노드에게 알린다. 새로 해결된 블록(solved-block)을 받은 노드들은 그것을 허가하기 전에 인증하고 체인에 추가한다.
결국, 블록체인은 생성자의 주소부터 현재 소유자의 주소까지 모든 암호화 기록을 갖게 된다. 그래서 사용자가 이미 사용한 돈을 재사용하려고 하면, 네트워크가 거래를 거부할 수 있는 것이다.
비트코인 생성
비트코인 네트워크는 “코인 생성” 옵션을 선택한 소프트웨어를 구동하는 누군가, 구체적으로는 블록을 생성해내는데 성공한 누군가에게 한 묶음의 새로운 비트코인을 시간당 6번 정도씩 생성해 배분할 수 있도록 되어 있다. 그 소프트웨어나 같은 역할을 하는 사용자가 직접 만든 특수한 프로그램을 구동하는 사람은 누구나 비트코인 묶음을 받을 가능성이 있다. 비트코인을 생성하는 것은 금광 채굴에 빗대어 “채굴”이라고 불리기도 한다. 사용자가 코인 묶음을 받을 수 있는 확률은 정해진 목표값 이하의 해시를 만들어낼 수 있는 확률과 같으며, 비트코인이 묶음당 생성되는 양은 50 BTC를 넘지 않는다. 그리고 변동분은 21만 코인이 될 때 마다 1/2으로 줄어들게 프로그램되어, 전부 2,100만을 넘지 않게 된다. 이 지불금이 줄어들면, 사용자들은 블록을 생성하는 노드를 구동하는 것 보다는 거래 수수료를 벌도록 유도된다.
네트워크의 생성용 노드들은 전부 그들의 후보 블록을 만들기 위한 암호화 문제를 찾아내기 위해 경쟁한다. 이 문제를 풀려면 반복적인 시행착오가 필요하다. 노드가 정답을 찾으면 네트워크의 나머지 노드에게 그것을 알리고 새로운 비트코인 묶음을 요구한다. 새로 해결된 블록(solved-block)을 받은 노드들은 그것을 허가하기 전에 인증하고 체인에 추가한다. 노드에는 표준 클라이언트를 사용하거나 GPU 가속을 이용하는 다른 소프트웨어가 사용될 수 있다.사용자들은 집단으로 비트코인을 생성할 수도 있다.
거래 수수료
노드는 자신이 생성하는 블록에 다른 이들의 거래내역을 포함할 의무가 없기 때문에, 비트코인 송신자는 거래 수수료를 자발적으로 지불함으로써 거래 속도를 높이고 사용자들이 노드를 운영하려는 유인을 제공한다. 특히 비트코인을 생성하기가 어려워질수록, 시간이 감에 따라 블록 분량마다의 보상이 줄어든다. 노드들이 받는 보상은 후보 블록에 포함된 모든 거래 내역과 관련된 거래 수수료이다.
총발행량
2009년 만들어진 비트코인은 총발행량 2,100만 비트코인이 한계이다. 그 이상은 발행될 수 없다. 2017년 6월 기준으로 대략 1,650만 비트코인이 발행되었다. 전문가들은 비트코인이 전부 발행되는 시점을 2150년 즈음으로 예상하고 있다. (출처: 블록 체인 혁명(돈 탭스콧의 책)) 그러나 다른 유사한 암호통화가 비트코인을 시작으로 해서 다수 등장해 있기 때문에, 라이트코인 등 대체 암호통화를 사용하거나, 아니면 더 작은 단위로 쪼개 쓰면 된다. 비트코인은 소수점 8자리까지 나눌 수 있게 설계됐다. 비트코인의 가장 작은 단위는 창안자인 사토시 나카모토를 기념하기 위해 ‘사토시’라는 단위로 불린다.
자료출처 :
https://ko.wikipedia.org/wiki/%EB%B9%84%ED%8A%B8%EC%BD%94%EC%9D%B8
하도 온 세상에 가상화폐, 비트코인, 무슨코인 하길래
위키를 검색해서 올려 봅니다.
이런거 거래소를 만들어서 대박난 친구이야기도 들었거든요~~
뭐든, 뜨거운 가슴과 차가운 머리가 필요하군요.
2018년에는 모두를 대박 나시길~~