비트코인 블록체인이 안전하고 완벽한 이유 (feat. 작업증명, 해시 값 레이트, 이중지불)

돈공부

블록체인은 어떻게 안전하고 완벽할 수 있나요?

비트코인의 기반 기술이 되는 블록체인은 그 네트워크에 참여하는 수많은 참여자(노드)들이 자발적으로 거래 기록이 담긴 블록을 생성한다고 했죠. 그리고 그 블록들이 체인처럼 서로 연결되어 있다고 해서 블록체인이라고 하는데요, 이렇게 중앙은행이나 은행과 같은 중앙권력 없이 자발적인 참여자들이 기록하는 이 분산 장부가 과연 얼마나 안전하고 완벽할 수 있을까요?

비트코인 채굴이란? (뜻 그리고 원리와 방법)

 

비트코인 채굴이란? (뜻 그리고 원리와 방법)

가상화폐, 비트코인은 어떻게 채굴하는 건가요?  ‘채굴’이라는 단어는 그리 낯설지 않을 겁니다. 석탄이나 천연가스, 금, 다이아몬드 등을 땅 속에서 캐내는 일을 우리는 채굴이라고 합니다.

tjd3388.tistory.com

이 블록체인을 안전하고 완벽하게 해주는 기술이 바로 해시(hash)입니다. 거래내역이 기록된 블록에 함께 들어가는 해시는 아무 의미 없는 일정한 길이의 정보 값으로, 암호와 같은 역할을 합니다. 예를 들어 ‘나는 Tom이다’라는 문장을 ‘13DGI%ETN!35g’처럼 의미 없는 문자열로 표시하는 식이죠. 만약 ‘나는 Tam이다’라는 비슷한 문장이라도 해시값은 ‘34&ehTIDF22GS’처럼 완전히 다른 문자열로 표시됩니다. 이러니 해시값을 조합해 원문을 절대 유추할 수 없기 때문에 보안성을 높여주게 됩니다.

블록체인에서 사용하는 해시는 어떤 크기의 문자열이라도 256비트 크기의 문자열을 만들어 저장합니다. 즉 하나의 블록 안에는 일정 시간의 거래내역과 해당 블록의 해시값, 직전 블록의 해시값이 동시에 담깁니다. 만약 A와 B의 PC가 가지고 있는 해시값이 완전히 같으면 거래내역을 일일이 들여다보지 않고도 서로 대조가 가능합니다. 해시 덕에 적은 데이터 양으로도 원본 내용이 모두 완전히 같다는 걸 비교할 수 있게 되는 것이죠. 이 때문에 짧은 시간내에 수많은 데이터를 원본과 대조해 분산원장의 위조를 막을 수 있습니다.

이처럼 하나의 블록 안에는 10분간의 거래내역이 담겨 있고, 해당 블록의 해시값이 있으며, 이전 10분간 거래내역을 적어놓은 직전 블록의 해시값도 함께 담긴다고 했습니다. 그런데 만약 네트워크 상에 연결된 모든 노드들의 PC에 분산 저장되어 있는 블록을 위조하려면, 해당 거래내역을 바꾼 뒤 그 안에 담겨 있는 해시값과 이전 블록의 해시값을 한꺼번에 다 바꿔 모든 노드들에게 배포해야 하기 때문에 사실상 위조가 불가능한 겁니다.

이런 식으로 거래내용을 블록에 기록하고, 블록들을 주기적으로 생성하고, 생성된 새로운 블록에 이전 모든 블록들의 정보를 담은 해시값을 기록함으로써 블록에 기록된 거래내용을 해킹해 위조 또는 변조하기 어렵게 만든 것이 바로 블록체인의 핵심입니다.

여기서 또 하나의 의문이 남습니다. 블록체인은 분산 원장을 이용해 개인 간(P2P) 거래가 가능하도록 한 시스템인데, 만약 불순한 의도를 가진 개인이 허위 거래내역을 블록에 남긴다면 어떻게 될까 하는 궁금증입니다.

과거 1990년대 음원시장을 뒤흔들었던 냅스터나 소리바다, 지금까지도 쓰이고 있는 토렌트 등도 중앙 서버 한 곳에 저장된 데이터를 내려받는 게 아니라 다른 사용자들이 공유한 파일을 직접 다운로드 받는 P2P 시스템이었죠. 그런데 몇 시간씩 걸려 다운받은 영화 파일이 재생되지 않는 가짜였다는 걸 확인하는 순간 욕이 튀어나왔던 경험들 한 번씩은 있을 겁니다. P2P 네트워크상에서는 모두가 진짜 거래내역을 가지고 있을 거라 믿기 어렵다는 게 고질적인 문제라 하겠습니다.

이를 해결하기 위해 블록체인은 작업증명(PoW)이라는 해법을 내놓습니다. 모든 블록체인을 이용한 가상화폐는 발생하는 거래가 사실임을 증명하도록 했습니다. 장부가 곧 돈이기 때문에 장부 상 거래를 확인하는 작업이 필수적인 거죠. 작업증명은 암호 해독능력인 컴퓨팅 파워를 이용해 함께 블록에 담기는 해시를 생성하기 위한 숫자 값을 찾는 문제를 풀어 거래를 증명해주는 일입니다. 작업증명이 블록체인과 비트코인이 가치 있고 안전하도록 도와주는 역할을 하는 셈이죠.

이 덕에 비트코인의 이중지불(Double Spending)* 위험을 사전에 차단할 수 있게 됩니다. 이중지불이란 실제 하나뿐인 코인으로 두 가지 거래를 동시에 일으키는 부정행위를 말합니다.

이중지불(Double Spending)
: 하나의 화폐 단위가 두 번 결제되는 것으로, 원본 파일에 저장된 가치를 지불한 뒤 해당 파일을 복사해 다른 사람에게 또 지불하는 행위

예를 들어, A라는 사람이 커피를 주문하고 0.01비트코인(BTC)으로 계산했다고 칩시다. 커피점 주인인 B는 A의 전자지갑을 확인한 뒤 커피를 줬는데 A가 떠난 뒤 지갑을 보니 그 비트코인이 없는 겁니다. 알고 보니 A가 결제하기로 했던 0.01비트코인을 그 사이 피자를 사는 데 또 써버린 겁니다.

이런 악의적인 시간차 공격이 바로 이중지불인데요, 이를 방지하는 것도 바로 작업증명입니다. 블록체인에서는 0.01BTC로 커피를 사겠다는 A거래와 피자를 사겠다는 B거래, 둘 모두 채택하는 일이 절대 없도록 하는 것입니다.

이처럼 하나의 블록에는 반드시 A와 B중 하나만 승인됩니다. A가 승인되면 B는 저절로 파기되는 겁니다. 결국 블록체인 상에서 하나하나의 거래내역을 기록하는 블록에 함께 담기는 해시값과 이런 블록이 사실임을 모두가 검증하는 작업증명을 통해 블록체인은 은행의 도움 없이도 모두가 신뢰할 수 있는 장부를 만들게 됩니다.

비트코인 초보자를 위한 꿀팁 정리
: 비트코인 블록체인은 중앙에 모두가 신뢰하는 권위를 가진 중앙은행이나 은행이 개입하지 않아도 네트워크에 참여하는 모든 노드들이 함께 그 진실성을 입증하는 기능들을 가지고 있습니다. 이런 혁신적인 개념과 그를 구현한 시스템이 비트코인의 가치를 담보해주고 있습니다.

한눈에 알아보는 비트코인 역사 (feat. 시뇨리지 뜻, 사이버펑크, 사토시 나카모토)

 

한눈에 알아보는 비트코인 역사 (feat. 시뇨리지 뜻, 사이버펑크, 사토시 나카모토)

비트코인은 어떻게 탄생했나요?  가상화폐라는 단어를 들어보지 않은 분은 있을지라도 비트코인이라는 단어를 들어보지 않은 분은 거의 없을 겁니다. 이처럼 비트코인은 가상화폐와 사실상의

tjd3388.tistory.com