2017년 9월 11일 월요일

비트코인 HDwallet(HD지갑)과 utxo

목차


비트코인 지갑 HDWallet

가상화폐, 암호화폐들은 자신들의 화폐를 저장하는 프로그램을
Wallet 즉 지갑이라고 부릅니다.
이중에서 HDwallet 이라는 것이 있습니다.
화질 좋은 지갑이 아니라 계층결정적 지갑이라는 희안한 뜻이
있으니 용어는 넘어가고 하나의 주소를 가진 지갑이 아니라
다중 주소를 가지고 있는 지갑
이라고 생각하시면 됩니다.
좀더 정확히는 매번 거래때마다 새로운 주소를 생성합니다.

지갑안에는 그 주소들이 가득 있는데 그걸 하나씩 보여주는대신
디스플레이창에는 그냥 각각에 들어있는 돈의 총합을 보여줍니다.

utxo (unspent transaction output)

txTransaction(트랜잭션)을 소리나는 대로 읽은 약자입니다.
비슷한 예로 Thank you(탱크쓰유)를 Thx(땡쓰) 라고 하죠
Uunspent (미사용)
OOutput (출구)
합해서 미사용 트랜잭션 출구…라는 외계어가 탄생하는데
쉽게 말해서 돈 들어있는 주소를 뜻합니다.
입금은 했지만 출금을 한적이 없는 주소라는 뜻이죠.

위에서 설명한 HDwallet가 보여주는 금액이 바로
utxo에 있는 돈의 총합이 됩니다.

utxo는 현실상의 지갑안의 동전,지폐들과 묘하게
닮은 구석이 있습니다.

1200원짜리 과자를 살때
HDwallet 안에 출금안한 주소가 다음과 같다고 합시다

utxo A : 800원짜리
utxo B : 100원짜리
utxo C : 200원짜리
utxo D : 300원짜리
실제 지갑에 보이는 금액 : 1400원

이 경우 A(800) + B(100) + C(300) = 1200 이므로
A,B,C utxo를 사용하면 됩니다.
그럼 지갑안에는

utxo C : 200원짜리
실제 지갑에 보이는 금액 : 200원

이런식으로 남게됩니다.
마치 utxo를 동전이나 지폐처럼 사용하는 것이죠.

그럼 100원짜리 쓰레기과자를 산다면
어떻게 될까요
배탈나서 병원가는건 둘째치고
현재 지갑엔 200원짜리 밖에 없는데 말이죠.

이럴때는 200원을 내고 잔돈을 받으면 됩니다.
C를 지불하고 대신 100원이 새로운 주소에 입금됩니다.
그래서 지갑은 다음 상태가 됩니다.

utxo E : 100원짜리
실제 지갑에 보이는 금액 : 100원

비트코인 hdwallet
이런식으로 현실의 지폐와 동전처럼
utxo를 잔뜩 준비해두고 있다가 지불하는 것이
비트코인의 HDwallet 입니다.

HDwallet과 utxo의 장점

이더리움 같은 경우 보통의 전자결제 시스템처럼
잔고시스템입니다.
그럼 왜 비트코인은 저런 번거로운 방식을 취했을까요.

거기엔 utxo만의 장점이 있기 때문입니다.

먼저 매번 거래때마다 새로운 utxo 주소가 생성되는데
사용자야 HDwallet 관리해주므로 상관없지만
추적하는 사람 입장에선 추적이 빡세집니다.
개인정보 보호의 효과가 있죠.

그리고 또 한가지 중요한 것은
각각의 utxo는 완전히 독립적으로
움직일 수가 있다는 것입니다.

이더리움의 잔고 지갑엔 커다란 단점이 하나 있는데
네트워크가 개판되서 하나의 거래에 렉이 걸리게 되면
그 렉이 풀릴때까지 다른 거래를 할수가 없습니다.
(특히 ICO..)

예를들어 100만짜리 수표로 A상인과 거래하는데 그 상인이
버벅거리면 B상인과 거래를 할 수가 없는겁니다.
잔돈없이 수표통짜로 거래하는 시스템이니까

반면 잔돈 투성인 utxo의 경우는 A거래가 렉이 걸려도
다른잔돈으로 B거래를 하면 되므로 동시에 거래를 해도
아무런 문제가 없게되는 겁니다

Written with StackEdit.

0 개의 댓글 :

댓글 쓰기