[디지털비즈온 이호선 기자] 비트코인(Bitcoin)은 블록체인 기술을 기반으로 만들어진 온라인 암호화폐이다. 비트코인의 화폐 단위는 BTC로 표시한다. 2008년 10월 사토시 나카모토라는 가명을 쓰는 프로그래머가 개발하여, 2009년 1월 프로그램 소스를 배포했다.
비트코인은 기술적인 이해없이도 비트코인 사용을 시작할 수 있다. 비트코인을 처음시작할때는 지갑(Wallet)을 만들어야된다. 사용자들은 여러 개의 비트코인 주소를 가진 지갑을 개인 소프트웨어나 거래소, 웹 사이트 등에서 생성하고, 이 지갑을 통해 비트코인을 거래한다.
비트코인 주소는 ‘3ToARbATCoiN99MYWaTYLetiDaDdRess4’와 같이 26~35자리의 영문 대소문자와 숫자의 무작위한 문자열이며 1 또는 3으로 시작한다. 단, 아라비아 숫자와 헷갈릴 수 있는 문자인 0(숫자 영), I,(대문자 아이), O(대문자 오), l(소문자 엘)은 쓰지 않는다.
비트코인 송금에 필요한 개인 키(private key)는 영문 대소문자와 숫자 51 자이다. 비트코인 입금 수단은 문자형 주소에 비트코인을 보내거나 QR코드로 송금하는 2가지 종류가 있다. 간단히 말하면 이메일이 작동하는 방식과 유사하다. 다만 비트코인 주소는 하나의 거래마다 단 한번만 사용되어야 한다.
우리나라의 경우 비트코인 거래소는 업비트(UPbit) · 빗썸(Bithumb) · 코인원(Coinone) · 코빗(Korbit) · 에이프로빗(Aprobit) · 플라이빗(Flybit) · 지닥(GDAC) · 후오비 코리아(Huobi Korea)등 이 개장하였으며, 거래가 이루어지고 있다.
비트코인의 자동화기기(ATM)가 캐나다에 등장하였으며, 미국 FBI는 마약 밀거래사이트인 ‘실크로드’를 단속하여 범죄수익을 압수하였는데, 가장 많이 사용된 화폐는 유로·달러가 아닌 비트코인이었다. 본자료는 한국은행, 한국인터넷진흥원, 코인텔레그라피, 법무법인 김경환 대표변호사의 자료를 참조하여 작성한 내용이다.
◇암호키
비트코인은 공개키(public key)를 가진 공개된 암호화된 정보이며, 공개된 공개키와 공개되지 않은 비공개키(private key)의 매칭으로 거래자격을 획득한다. 즉 특정 비트코인블록에 관한 비공개키를 가진 사람만이 특정 비트코인블록을 소유하고 거래할 수 있다.
비공개키는 보통 서명(signature)으로 비유되곤 하는데, 따라서 서명을 할 수 있는 자격이 있는 비공개키의 소유자가 결국 특정 비트코인블록의 소유자가 된다.
하지만 비공개키에는 다른 전자서명이나 오프라인의 서명과 달리 소유자에 대한 정보가 포함되지 않아 거래의 익명성이 보장되고 있으며, 비공개키는 모든 비트코인블록끼리 수학적으로 연결되어 있다.
비트코인 블록이란 암호로 순차로 연결된 비트코인 전체 중에서의 하나의 단편을 말하지만 단순한 단편이라기보다는 거래내역 등의 정보가 포함되어 있는 일종의 거래장부라 할 수 있다.
이러한 비트코인블록의 크기는 채굴 또는 거래시에 결정된다. 각 비트코인블록에 대하여 하나의 공개키와 비공개키가 존재하지만, 거래의 필요성에 따라 쪼개어 사용되기도 하는데 이 때 기존의 키값은 파기되고, 별도의 공개키와 비공개키가 생성된다.
◇지갑(Wallet)
비트코인을 채굴하고 거래하려면 우선 지갑을 만들어야 한다. 지갑이란 비트코인을 보관하면서 새로이 주소를 생성하여 비트코인의 거래를 할 수 있는 프로그램이다. 한 마디로 비트코인 관리도구인 셈이다.
지갑은 여러 가지가 존재하는데, 그 형태는 웹사이트형 지갑(Blockchain, Coinbase, Coinjar, Coinpunk 등), 소프트웨어형 지갑(BitcoinQT, Armory, Multibit 등), 모바일폰형 지갑(Blockchain, CoinJar, Coinpunk 등)이 있다.
거래자는 여러 개의 지갑을 생성하여 여러 개의 주소를 분류·관리할 수 있다. 지갑에 접근하기 위해서는 아이디와 비밀번호를 입력하는 절차를 거쳐야 하지만, 지갑을 만들 때 공인을 받아야 하는 것은 아니므로, 지갑의 생성으로 비트코인의 익명성은 감소하지 않는다.
◇디지털 서명
거래를 실행하기 위해서 두 가지가 필요하다. 즉 첫 번째는 지갑으로 이는 주소와 개인 키로 구성되어 있다. 개인 키는 무작위 숫자로 되어 있는 스트링이지만 주소와는 달리 개인 키는 절대로 남에게 공개해서는 안 된다.
누군가가 다른 사람에게 코인을 보낼 때 거래 내역이 들어 있는 메시지에 개인 키로 서명을 해야 한다. 두 개의 키로 구성되어 있는 시스템은 암호화의 가장 중요한 핵심이다. 이 시스템은 비트코인이 생겨나기 훨씬 전부터 사용되던 것으로 1970년대에 처음 제시되었다.
메시지가 전송될 경우 이는 비트코인 네트워크 전체에 알려지게 된다. 그런 다음 노드 네트워크는 메시지 속에 들어 있는 거래가 유효한지 여부를 확인하기 위해 작업에 들어간다. 이 거래가 유효하다고 판명될 경우 이 거래는 블록에 들어가게 되며 그런 다음부터는 어떤 일이 있어도 변경될 수 없다.
◇노드(Node)와 블록체인(Blockchain)
비트코인의 모든 블록정보와 거래내역은 모든 사람들에게 공개되어지고, 이 때 필요한 것이 정보를 모으는 것과 이를 통합하는 것인데, 전자를 노드라 할 수 있고, 후자를 블록체인이라 할 수 있다.
노드란 비트코인블록정보와 거래내역을 모으는 비트코인 네트워크의 각 수집사이트라 할 수 있는데, 원하는 사람은 지원하여 자신의 사이트를 노드로서 역할을 하게 할 수 있다. 채굴이 되거나 특정 비트코인 거래가 발생하면 블록정보나 거래내역은 모든 노드에 전달이 되며,전달을 받은 노드들은 경쟁적으로 블록정보나 거래내역을 업데이트한다.
블록체인(blockchain)분산 컴퓨팅 기술 기반의 데이터 위변조 방지 기술이다. P2P 방식을 기반으로 하여 소규모 데이터들이 사슬 형태로 무수히 연결되어 형성된 '블록'이라는 분산 데이터 저장 환경에 관리 대상 데이터를 저장함으로써 누구도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있게끔 만드는 기술이다.
블록에는 해당 블록이 발견되기 이전에 사용자들에게 전파되었던 모든 거래 내역이 기록되어 있고, 이것은 P2P 방식으로 모든 사용자에게 똑같이 전송되므로 거래 내역을 임의로 수정하거나 누락시킬 수 없다.
블록은 발견된 날짜와 이전 블록에 대한 연결고리를 가지고 있으며 이러한 블록들의 집합을 블록체인이라 칭한다. 쉽게 말하자면 수많은 기록을 그냥 한 묶음으로 만들어 버리는 기술이다.
◇작업증명(PoW)
블록에 거래 내역을 집어넣는 작업을 작업증명(proof of work)이라고 부르며 이는 채굴꾼(miner)이라고 부르는 특수한 노드들에 의해 수행된다.
작업증명은 서비스 요청자가 일정한 작업을 해야 하는 시스템으로서 많은 경우 컴퓨터의 프로세싱 시간을 의미한다. 작업증명을 만들어내는 일은 아주 낮은 확률의 무작위 프로세스로서 유효한 작업증명을 만들어내기 위해서는 상당한 정도의 시행착오를 겪어야 한다. 비트코인의 경우 해시가 작업증명의 역할을 한다.
◇채굴(Mining)
비트코인은 채굴(mining)함으로써 취득할 수 있다. 비트코인을 얻기 위해서는 클라이언트 프로그램을 다운받은 다음 공식사이트에 접속하여 고도의 수학문제를 풀어야 하는데 이를 채굴이라고 한다.
하나의 문제를 풀어 얻을 수 있는 최대의 양은 50비트코인이고, 채굴이 완성되면 정보를 얻게 되는데, 이 때 채굴을 마친 비트코인블록의 해쉬암호값을 확정함과 동시에 다음에 누군가 채굴될 비트코인블록의 해쉬암호값을 찾게 된다.
채굴이 완성되면 그 결과는 모든 노드에 전달이 되는데, 노드가 블록정보를 다음에 채굴된 블록의 해쉬암호값으로 업데이트함으로써 모든 채굴과정이 종료된다.
채굴할 수 있는 양은 2,100만개이며 현재까지 약 절반 정도가 채굴되었고 2040년에는 전부 고갈될 예정이다. 공급량 조절을 위하여 채굴량이 늘수록 문제의 난이도는 올라간다.
난이도 조절은 채굴시에 찾게 되는 해쉬함수값에 위치한 제로(0)의 개수를 늘림으로써 가능하다.현재 10분당 25 BTC정도가 채굴되고 있지만(210,001 블록부터 420,000번째 블록까지는 25 BTC 지급됨), 조만간 이 양도 줄어들 것이다.
◇주소(Address)
비트코인의 소유자는 비공개키를 이용하여 비트코인에 대한 거래를 하는데, 이 비공개키는 노출되지 않아야 하기 때문에, 비공개키로부터 해싱 기법을 통하여 생성된 유일무이한 주소(address)라는 공개용 식별자를 이용하여 거래가 진행된다.
즉 주소란 거래자를 대신하여 만들어지는 거래식별자 또는 인터넷통신에서 이메일의 역할이라 할 수 있다. 때문에 비트코인 거래란 한 주소에서 다른 주소로의 이전이라 할 수 있다.
거래자는 거래시마다 새로운 주소를 생성하여 거래를 할 수 있고, 이미 만들어진 주소를 재사용하여 거래를 할 수 있다. 주소 재사용이 잦을수록 거래자의 식별이 쉬워질 것이다. 주소는 지갑에 보관하며, 주소와 주소 사이의 이전인 비트코인 거래는 블록체인 사이트에 모두 공개되어진다.
◇해시
해시(hash)란 다양한 길이를 가진 데이터를 고정된 길이를 가진 데이터로 매핑(mapping)한 값이다. 이를 이용해 특정한 배열의 인덱스나 위치나 위치를 입력하고자 하는 데이터의 값을 이용해 저장하거나 찾을 수 있다.
기존에 사용했던 자료 구조들은 탐색이나 삽입에 선형시간이 걸리기도 했던것에 비해, 해시를 이용하면 즉시 저장하거나 찾고자 하는 위치를 참조할 수 있으므로 더욱 빠른 속도로 처리할 수 있다. '해쉬'가 아니라 '해시'가 올바른 표기법이며 블록체인(blockchain)을 구현하기 위한 핵심 기술이다.
해시함수는 하나의 주어진 출력에 대하여 이 출력으로 사상시키는 하나의 입력을 찾는 것이 계산적으로 불가능하고, 하나의 주어진 입력에 대하여 같은 출력으로 사상시키는 또 다른 입력을 찾는 것이 계산적으로 불가능하다는 두 가지 성질을 만족하면서 임의의 비트열을 고정된 길이의 비트열로 사상시키는 함수이다.
◇거래(transactions)
거래는 통상 지갑의 도움을 받아 진행한다. 비트코인의 지급을 요구하는 사람(C)은 지갑 프로그램을 열고, 수신주소를 설정한 다음 지급하는 사람(B)에게 보내면, 지급하는 사람은 새로이 주소를 만들거나 기존 주소를 활용하여 송신주소를 고른 다음 수신주소를 그대로 옮기고,이후 거래하고픈 비트코인 액수를 기재하여 보내면, 자동적으로 지갑 안에 저장되어 있는 비공개키의 서명절차와 거래내역의 전체 비트코인 네트워크에의 공지(broadcast)가 이루어지면서 거래가 완성된다.
비트코인은 소수점 8자리까지 분할 될수있다(이를 ‘1’ 사토시라 하므로, 0.00000001 BTC = 1 satoshi가 된다). 거래가 이루어지는 경우, 기존거래의 내용과 당해 거래내용을 근거로 새로운 해쉬함수값이 생성되어지며, 비트코인 네트워크로부터 거래가 승인되는 시간은 통상 10분 정도 소요된다. 거래수수료는 각 거래소별 차이는 있다.
◇중복사용(double-spending)
비트코인의 획기적인 기여는 중복사용의 효율적인 방지책을 만들어냈다는 점이다. 채굴과정에서 만들어지는 비트코인블록은 일련의 암호화 함수로 체인처럼 연결되어져 있다.
하나의 블록만을 빼내어 위조하기는 불가능하며 만일 위조를 하려면 전체 블록을 모두 위조하여야 하는데 블록수가 30여만개 정도라는 점을 감안하면 이것은 사실상 불가능하다.
채굴 보상금이 미리 정해져 있어 총통화량 계산이 매우 용이하기 때문에 통화량을 임의로 늘리거나 조작하는 것이 불가능하다.
처음210,000개의 블록을 채굴할 때까지는 블록마다 50 BTC가 제공되고, 210,001 블록부터 420,000번째 블록까지는 25 BTC가 지급되게끔 미리 설계되어 있기 때문이다.
한 사람이 자신의 비트코인을 두 곳에 보낼 때를 대비하여 ‘The longest chain wins’가 적용되기 때문이다. 모든 거래내역은 모든 노드에 제공되는데, 각 노드에서는 먼저 도달한 거래내역만 저장하고 나중에 도달한 것은 저장하지 않는다.
그리고 노드들끼리 저장된 정보가 다를 때는 가장 긴 즉 가장 높은 번호가 있는 블록체인만을 공식적으로 채택한다. 이런 원칙을 적용하여 중복사용 문제를 효율적으로 해결해 가고 있다.
◇비트코인 특징
비트코인의 특징은, P2P방식(탈중앙통제, decentralization), 익명성(anonymity), 암호화 방식, 불가역성(irreversibility), 공개성, 통화공급량 조절이다.
비트코인은 제3자나 금융조직의 개입이 전혀 없는 P2P 방식의 분산처리방식을 취하고 있다. 비트코인은 개인과 개인이 직접 거래하는 시스템을 취하고 있기에 비트코인의 가치도 순전히 거래자의 의사에 의하여 결정된다.
비트코인 블록은 내 PC에 보관하는 것이 아니기 때문에 전세계 어디에서든지 컴퓨터에 연결하여 인터넷 공간에 저장된 정보인 비트코인을 거래할 수 있으며, 제3자나 금융조직의 개입이 없기 때문에 수수료 역시 무시할만하다. 단 거래소를 통할때는 수수료는 발생한다.
비트코인은 거래자의 개인정보를 제시하지 않고 단지 거래자가 생성한 주소(address)를 통하여 주고받기 때문에 익명성이 보장된다. 즉 비트코인은 개념적으로 주소 대 주소로 거래가 일어나는 것이지 개인 대 개인으로 거래가 발생하는 것은 아니다.
다만 주소의 생성자를 파악하면 거래자를 찾을 수 있기에 완전한 익명성이 보장되는 것은 아니다(pseudo anonymity).
비트코인은 암호화 방식을 취하고 있다. 비트코인은 공개된 암호화된 정보를 소지한다고 해서 소유자가 되는 것은 아니고, 이 정보에 매칭이 되는 비공개키(private key)를 가진 사람이 비트코인을 소유하게 된다. 즉 비트코인은 비공개키에 의하여 소유권이 결정된다.
비트코인은 한번 이체를 하게 되면 다시 그 거래를 취소할 수 없다. 수령자가 다시 이체를 해주지 않으면 이체 자체를 취소할 수 있는 방법은 존재하지 않는다. 이러한 이유는 비트코인 거래는 해시함수값의 처리를 통하여 이루어지는데, 해시함수는 일방향 암호화 방식으로서 암호값을 다시 풀어낼 수는 없기 때문이다.
비트코인은 채굴과정부터 거래내역까지 모든 정보가 노드나 블록체인을 통하여 모두에게 공개되어진다. 하지만 익명적인 정보가 공개되어지므로 누구의 거래인지는 원칙적으로 파악하기 어렵다.
비트코인의 공개성은 중복사용을 막는 역할도 하고 있다. 비트코인은 거래내역이 공개되어 있을 뿐 아니라 오픈소스의 형태로서 누구에게나 공개되어 있기 때문에 누구나 개발에 참여할 수 있다.
비트코인은 무제한으로 공급되지 않는다. 비트코인은 제한된 양을 채굴할 수 있으며, 따라서 수요가 많아질수록 비트코인의 시가는 상승할 수밖에 없다. 이러한 공급제한성을 고려하여 비트코인이 장차 현실화폐 가치의 하락과 인플레이션에 대한 통제수단으로 사용될 수 있다고 생각하는 사람들도 있다.
◇비트코인 문제점
익명성은 마약, 도박, 포르노, 성범죄, 무기매매 등의 범죄수단이나 비자금 용도나 돈세탁 목적으로도 악용되고 있다. 마약범죄에 비트코인이 사용된다면 추적이 어렵기 때문에 많이 사용되고 있으며, 한 개인의 컴퓨터에 보관되어 있는 파일을 암호로 잠그고 비트코인을 결제하면 다시 풀어주는 랜섬웨어의 경우에도 해커는 그 추적이 불가능한 비트코인을 결제수단으로 요구하고 있다.
각국 정부의 비트코인에 대한 시선은 곱지 않다. 과세를 회피하고 있으며, 마약·포르노로 벌어들인 불법자금의 세탁에 사용될 우려가 크다는 문제점을 지적했다.
미국은 비트코인 유통업체 규제책, 비트코인 거래에 대한 과세를 마련하고 있고, 텍사스주 연방법원은 트렌든 셰이버스 사건에서 비트코인을 화폐로 간주하여 규제의 근거를 마련하였다. 캐나다는 세계 최초로 비트코인 거래에 과세하기로 결정했다.
유럽연합(EU)의 행정집행기관인 유럽위원회(EC)가 에너지 효율화를 위한 행동계획을 발표하면서, 암호화폐 채굴의 에너지 소비는 지난 5년 동안 900% 증가했으며 2년 전과 비교하여 2배 이상 증가하여 전 세계 전력 소비의 약 0.4%에 달하고 있으며, 지난 2년간 증가 경향에 있다고 밝혔다.
유럽에서는 암호화폐 자산 시장의 관계자에게 환경 부하에 관한 정보 공개를 법적으로 의무화할 예정이라고 했다.
또한 우크라이나 전쟁으로 인한 자원 부족과 겨울 도래로 인한 에너지 수요 증가를 고려하여 유럽위원회는 회원국에 "암호화폐 자산 채굴 업체에 전력 절감 조치를 실시" 와 "암호 자산 채굴 업자에 대한 감면조치 폐지'를 요청했다.
비트코인은 물리적 형태, 법적 장치, 통제 주체가 없다는 점에서 안정성이 떨어진다. 그리고 실물화폐가 이미 시장을 완벽하게 장악하고 있으므로 후발주자라는 점, 일반인들에겐 충분히 복잡하고 어렵다는 점도 큰 단점이다. 또한 투명성은 다른 시각도 고려해봐야 한다고 전문가들은 조언하고 있다.