[가상화폐] 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
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

블록체인 기술

번호 제목 글쓴이 날짜 조회수
109 가상화폐 KEEP!T Column 비트코인 뽀개기(7편) icon Work4Block 07-27 2,721
108 가상화폐 KEEP!T 블록체인 뉴스:7/21 - 비트코인의 학술적 유래 (6) icon Work4Block 07-23 2,385
107 가상화폐 아이젝 airdrop 참여하고 RLC 토큰 받아가기~!! 컴퓨터만 켜두면 OK icon Work4Block 07-20 3,119
106 정보 KEEP!T 블록체인 뉴스:7/14 - 비트코인의 학술적 유래 (5) icon Work4Block 07-18 2,460
105 정보 KEEP!T 블록체인 뉴스:7/7 - 비트코인의 학술적 유래 (4) icon Work4Block 07-10 2,248
104 정보 KEEP!T 블록체인 뉴스:6/30 - 비트코인의 학술적 유래 (3) icon Work4Block 07-05 2,384
103 정보 KEEP!T 블록체인 뉴스:6/23 - 비트코인의 학술적 유래 (2) icon Work4Block 07-05 2,127
102 정보 KEEP!T 블록체인 뉴스:6/16 - 비트코인의 학술적 유래 (1) icon Work4Block 07-05 2,674
101 정보 토큰 락업(Lock-up)은 스캠 ICO의 완전한 방지책일까? - (경제학으로 읽는 비트코인 이야기 - 7) icon Work4Block 06-28 4,673
100 정보 문과생, 블록체인업체에 취직하다 - (5) 블록체인 번역자들이 종종 범하는 실수 icon Work4Block 06-28 2,573
99 정보 문과생, 블록체인업체에 취직하다 - (4) "그집 아들, 다단계 회사 다닌다면서요?" icon Work4Block 06-28 2,750
98 가상화폐 문과생, 블록체인업체에 취직하기 - (3) 저도 블록체인 업계에서 일하고 싶어요! icon Work4Block 06-28 2,986
97 정보 문과생, 블록체인업체에 적응하기 - (2) 기자간담회 냐 밋업이냐? icon Work4Block 06-28 2,192
96 정보 문과생, 블록체인업체에 취직하다! - (1) icon Work4Block 06-28 2,356
95 가상화폐 고장난 웹2.0, 패러다임 전환의 시기 icon Work4Block 06-27 3,113
94 가상화폐 Qx, QDex 및 Qrypto라는 3 개의 새로운 프로젝트 icon Work4Block 06-26 2,878
93 가상화폐 [Ethereum] Ethernaut 풀이 - 3.Coin Flip icon Work4Block 06-25 2,491
92 가상화폐 [Ethereum] Ethernaut 풀이 - 2.Fallout icon Work4Block 06-25 3,448
91 가상화폐 [Ethereum] Ethernaut 풀이 - 1.Fallback icon Work4Block 06-25 2,736
90 가상화폐 Overall Analysis of IOTA (아이오타 포괄적 분석) icon Work4Block 06-22 2,536