본문 바로가기

카테고리 없음

비트코인 Bitcoin

비트코인 Bitcoin

- 정부나 중앙은행, 금융기관의 개입 없이 개인간(P2P) 거래 가능

- 블록체인을 이용한 첫 암호화폐

- 계정 잔액과 거래 정보 공유

- 총 2,100만개 발행이며, 4년 마다 채굴 보상 반감기 존재; 이미 1,700만개(약 81%) 채굴 됨

- 1MB의 블록을 유지하며 확장성을 위해 세그윗, 슈노 시그니쳐, 라이트닝 네트워크 등 도입

 

■ 블록구조

비트코인은 아래 그림과 같이 첫 블록의 헤더값을 중심으로, 다른 블록(거래)들이 맞는지 확인한다.

출처: https://bitcoin.org/img/dev/en-blockchain-overview.svg

 

하나의 블록안에는 아래와 같은 정보들이 들어있다.

해시는 어떤 데이터를 고정된 길이의 데이터로 변환하는 함수이다. 블록 해시는 6가지의 블록헤더 정보를 입력한 후, SHA256 해시 함수를 2회 적용해서 계산되는 값으로, 32byte의 숫자 값이다.

<a href = https://anders.com/blockchain/hash.html 에서 SHA256 해시를 변환해볼 수 있다.

 

Nonce(넌스, 논스)는 ‘SHA256()결과 값 < 작업 난이도 목표 값’을 만족하는 블록헤더를 찾는 값이다. 6가지의 블록헤드 중 유일하게 변동되는 값이다.

 

머클 루트(Merkle Root = Merkle Tree = Hash Tree)는 최상의 해시값을 뜻한다. 이를 이용하여, 원본 데이의 변화를 쉽게 감지할 수 있으며 입증 과정에서 사용된다.

출처: 비트코인 백서

 

■ 확장성(Scalability) 개선

기존 비트코인은 블록 크기가 1MB에 불과하여 초당 7, 하루 최대 60만 건의 거래 밖에 처리하지 못했다. 그러다 비트코인 거래량이 점점 많아져 블록 포화 상태에 이르렀고, 수수료가 지속적으로 오르기 시작했다.

 

이에 비트코인은 블록의 크기를 늘리는 것보다는, 세그윗(SegWit, Segregated Witness)을 진행했다. 세그윗은 증인(서명) 분리로 블록안에 전자서명을 분리하여, 블록 당 저장 용량을 늘리는 것을 말한다.

또한, 세그윗이 거래 내역을 식별할 수 있는 txid를 따로 보관하고 관리하면서, 이중 지출이 발생할 수 있는 거래 가변성(Malleability) 문제를 해결했다. 이는 보통 예전에 해커들이 거래소에 한 번 입금한 블록의 txid를 바꾸어 두 번 입금한 것이라 착각하게 만들던 방법이라 한다.

 

세그윗이 도입되면서 슈노 시그니처(Schnorr Signatur)가 가능해졌다. 슈노 시그니처는 비트코인 거래들에 사용되는 전자서명의 수를 줄일 수 있으며, 대략 25% 이상의 용량이 확보된다.

기존은 여러 주소를 사용하여 A라는 곳에 보낼 경우, 여러 개의 전자서명이 필요했다. 만약 슈노 시그니처 기술을 사용한다면, 여러 개의 주소에서 A라는 곳에 보낼 경우 단 하나의 전자서명만을 이용하여 거래를 처리할 수 있게 된다.

 

이 외, 라이트닝 네트워크(Lightning Netowrk)도 존재한다. 라이트닝 네트워크는 비트코인 블록체인 위에 구축된 오프체인 전송 네트워크로 구성된다. 이 시스템은 P2P 수준에서 작동되며, 아토믹 스왑(Atomic Swap) 능이 있어 유저들의 암호화폐 거래를 즉시 가능하게 한다. 하지만 아직 구현이 완벽하게 되지 않아 공식 출시는 되지 않은 상태이다.