[가상화폐] KEEP!T Column 비트코인 뽀개기(7편)

이 컨텐츠 출처는 KEEP!T (https://steemit.com/@keepit) 입니다

image.png

KEEP!T Column


안녕하세요! KEEP!T입니다. 최초의 암호화폐인 비트코인을 누구나 쉽게 이해할 수 있도록 '비트코인 뽀개기'라는 주제로 콘텐츠를 연재하고 있습니다. 지난 비트코인 뽀개기 6편에서는 공개 키 암호 방식에 대해 학습하였으며, 이번 7편에서는 비트코인에서 공개 키 암호 방식을 어떻게 활용하였는지에 대하여 자세히 알아보는 시간을 갖도록 하겠습니다. 혹시 앞선 비트코인 뽀개기 시리즈를 읽지 않으셨던 분들은 아래의 링크를 통해 읽어보시면 좋을 것 같습니다.




기존의 중앙 집중형 금융 시스템에서 금융 거래를 진행하기 위해서는 거래 정보를 작성하고 소유권을 인증받은 후 거래를 진행할 수 있었습니다. 마찬가지로 비트코인 네트워크에서도 거래를 진행하기 위하여 거래 정보를 작성하고, 소유권을 인증받을 수 있는 방법이 필요합니다.


트랜잭션


비트코인 프로토콜에서는 거래를 진행하기 위해 작성된 거래 정보를 트랜잭션이라고 표현하며, 트랜잭션은 비트코인에 대한 소유권을 다른 사람에게 이전하기 위한 목적으로 서명된 정보라고 할 수 있습니다. 트랜잭션은 크게 input(입력) 정보와 output(출력) 정보로 구성되며, 트랜잭션에는 미사용 비트코인, 송금 정보, 송금액, 수령자의 공개 주소 정보 등이 포함되어 있습니다.

비트코인 거래를 위해 작성된 트랜잭션은 비트코인 네트워크에 연결된 노드들에게 전파되며, 각 노드는 전달 받은 트랜잭션의 유효성을 검증하고 검증 받은 트랜잭션들은 Mempool이라는 공간에 추가됩니다. 그렇다면 전달 받은 트랜잭션의 유효성은 어떻게 검증할 수 있을까요? 지금부터 자세히 살펴보도록 하겠습니다.


트랜잭션 검증

비트코인 프로토콜은 비트코인의 소유권을 입증하기 위한 방법으로 공개 키 암호화 방식을 활용하고 있으며, 트랜잭션에는 원본 데이터와 함께 개인 키로 암호화된 전자 서명 데이터를 포함하여 전송함으로써 소유권에 대한 유효성을 검증 받게 됩니다.

예를 들어 A, B, C 사용자가 있고 A가 B에게 1 BTC를 보내고 싶다고 가정했을 경우 A는 B에게 1 BTC를 전송하기 위한 거래 정보를 작성하고, 작성한 원본 데이터와 함께 자신의 개인 키 정보를 통해 원본 데이터를 암호화한 전자 서명 데이터를 포함하여 비트코인 네트워크에 연결된 노드들에게 전파합니다.


7_0.png


트랜잭션을 전달받은 노드들은 원본 데이터에 작성된 입력 정보가 정상적인지 검증하고, 트랜잭션에 입력된 정보가 정상적일 경우 소유권을 입증하기 위하여 전자 서명된 데이터를 소유자의 공개 키로 복호화합니다.

공개 키 암호화 방식에서 개인 키는 오직 소유자인 A만이 알 수 있으며, A의 개인 키로 암호화된 데이터는 오직 A의 공개 키로만 복호화할 수 있습니다. 즉, 전자 서명된 데이터를 A의 공개 키로 복호화하고 A의 공개 키로 복호화한 데이터가 원본 데이터와 같다면 A가 보낸 트랜잭션이라는 것이 입증되는 것입니다.


7_1.png

7_2.png


만약 사용자 B가 악의적인 목적으로 A가 B에게 1 BTC를 보낸다는 트랜잭션을 생성하여 전파한다고 가정해보겠습니다. B는 A의 개인 키를 알고 있지 못하기 때문에 올바른 전자 서명 데이터를 생성할 수 없습니다.

A의 개인 키를 알지 못하기 때문에 B의 개인 키로 원본 데이터를 암호화하고 트랜잭션을 전파할 경우 각 노드들은 전자 서명된 데이터를 A의 공개 키를 통해 복호화하게되며, B의 개인 키로 암호화된 데이터를 A의 공개 키로 복호화 하였을 경우 원본 데이터와 전혀 다른 결과 값이 출력됨으로 유효성에 실패하게 됩니다.

대다수의 암호화폐에서는 공개 키 암호 방식을 사용하고 있습니다. 만약 개인 키를 분실 하였을 경우 자신이 소유하고 있는 지갑 주소일지라도 전자 서명을 할 수 없게 되어 해당 주소에 보유 중인 암호화폐를 영원히 되찾을 수 없게됩니다. 또한, 만약 해킹범에 의하여 개인 키 정보가 유출되었을 경우 해킹범은 얼마든지 해당 주소의 암호 화폐를 다른 곳으로 전송할 수 있기 때문에 암호 화폐에서 개인 키 관리는 매우 중요한 요소입니다.


Mempool


비트코인 거래를 위해 트랜잭션을 생성하고, 생성된 트랜잭션은 비트코인 네트워크에 연결된 노드들에게 전파됩니다. 각 노드들은 해당 트랜잭션의 유효성을 검증하고 검증된 트랜잭션들은 Mempool이라는 공간에 업데이트됩니다. 즉, Mempool은 아직 거래가 성립되지 않은 0 컨펌 상태의 트랜잭션들이 저장되는 공간입니다.

채굴자(마이너)는 새로운 블록을 생성한 댓가로 새롭게 발행되는 비트코인뿐만 아니라 블록에 포함된 모든 거래 수수료를 인센티브로 얻게 됩니다. 그렇기 때문에 Mempool에 대기 중인 0 컨펌 상태의 트랜잭션 중 거래 수수료가 높은 트랜잭션들을 우선적으로 선별하여 블록에 추가하게됩니다.

0 컨펌 상태의 트랜잭션이 채굴자(마이너)에 의해 블록에 담기어 블록 체인에 연결되는 순간 1 컨펌으로 변경되고, Mempool에서 삭제됩니다. Mempool의 데이터 크기가 클 경우 대기중인 트랜잭션들이 많다는 의미이며, 수수료가 낮은 트랜잭션들은 거래가 이루어지기까지 많은 시간이 소요될 수 있습니다.


7_3.png

Mempool 정보를 쉽게 확인할 수 있는 다양한 서드 파트 서비스

(비트코인 인포jochen)


이번 비트코인 뽀개기 7편에서는 트랜잭션 검증 원리 및 Mempool에 대한 학습을 진행하였습니다. 다음 비트코인 뽀개기 8편에서는 비트코인 거래 원리를 이해하기 위하여 UTXO라는 개념에 대하여 자세히 알아보는 시간을 갖도록 하겠습니다.


yahweh87


참고자료


https://www.forextimekr.com/ko/education/forex-tutorials/uncovering-bitcoin-transactions-how-they-work


logo_end.gif


이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 4.0 국제 라이선스에 따라 이용할 수 있습니다.

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

블록체인 기술

번호 제목 글쓴이 날짜 조회수
82 가상화폐 KEEP!T Column 비트코인 뽀개기(11편) icon Work4Block 09-15 4,641
81 가상화폐 할랄토큰 ERC-20 스왑 방법 icon Work4Block 08-31 4,019
80 가상화폐 이오스 스마트 컨트랙트는 믿을 수 있을까? icon Work4Block 08-30 5,437
79 가상화폐 [EOS과부하 시사점] DAPP들은 결국 퍼블릭체인(EOS,이더리움 등)에서 독립할 것이다. icon Work4Block 08-29 4,902
78 가상화폐 [메뉴얼] 엘라스토스지갑 BGX 에어드랍 가이드 (엘라스토스 DAPP 에어드랍) icon Work4Block 08-29 4,234
77 가상화폐 왜 이오스는 에어드랍이 죄다 제네시스 대상일까 icon Work4Block 08-28 3,731
76 가상화폐 이오스 나이츠 리뷰 01 icon Work4Block 08-27 3,552
75 가상화폐 제대로 된 최초의 블록체인 게임 이오스 나이츠의 의의 icon Work4Block 08-27 3,837
74 가상화폐 이오스 디도스 공격에 대한 약점노출 icon Work4Block 08-23 3,570
73 가상화폐 이오스 카지노 앱이 나왔습니다. icon Work4Block 08-22 5,549
72 가상화폐 이오스 램 알람 icon Work4Block 08-21 4,022
71 가상화폐 이오스 램 시장의 전망과 더러움 icon Work4Block 08-21 3,464
70 가상화폐 이오스 컨트랙트를 삭제하는 법을 알아보자 icon Work4Block 08-21 3,925
69 가상화폐 [초보자 메뉴얼] 엘라스토스 지갑 사용법 (Elastos Wallet Guide) icon Work4Block 08-13 3,762
68 가상화폐 (코인비평) 싸이월드가 암호화폐를 발행하려면 알아야 할 점 - 1편 icon Work4Block 08-11 4,214
67 가상화폐 이오스 지갑 SIMPLEOS (심플오스/심플이오스)에 대해 알아보자 02 icon Work4Block 08-10 3,813
66 가상화폐 이오스 지갑 SIMPLEOS (심플오스/심플이오스)에 대해 알아보자 01 icon Work4Block 08-10 3,818
65 가상화폐 ChinaJoy에 참가한 엘라스토스와 댑(BIT.GAME, ViewChain, ioeX, Hashworld) icon Work4Block 08-10 3,776
64 가상화폐 KEEP!T Column 비트코인 뽀개기(9편) icon Work4Block 08-09 3,649
63 가상화폐 KEEP!T 블록체인 뉴스:7/21 - 비트코인의 학술적 유래 (최종) icon Work4Block 08-01 4,908