[가상화폐] HD wallet - 여러개의 주소를 사용하는 지갑steemCreated with Sketch.

in #kr7 years ago (edited)

안녕하세요, goldenman 입니다.

최근들어 비트코인지갑에 대한 문의가 개인적으로 많이 들어와서 포스팅으로 남겨봅니다.

비트코인 주소가 바뀌어 있어요. 제 지갑에 문제 있는 것 아닌가요?

결론부터 말씀드리자면,

정상입니다!!! 아무런 문제가 없습니다

되겠습니다.

대표적으로 MyCelium, jaxx 비트코인지갑, Byteball지갑이 이에 해당됩니다.


HD 지갑이란?

매번 코인의 트랜잭션(transaction, 송금전송)이 발생할때마다 지갑의 주소가 새로 생성되는 지갑을 HD 지갑(Hierarchical Deterministic Wallet)이라고 합니다.

보통 일반적으로는 지갑=1개의 주소라고 생각하기 쉬운데, 그렇지 않습니다.
하나의 지갑에 여러 주소를 통합적으로 관리할 수도 있으며, 이렇게 임의로 여러개의 주소를 그때그때 추가생성하기도 합니다.

내부적으로 추가되고 생성된 적 있는 모든 주소는 계속해서 유효하며, HD지갑 내에서 통합되어 관리됩니다.
지갑에서 보여지는 잔액은 이 모든 주소에 들어있는 코인수의 총합이 되며,
수신가능하게 표시되는 주소는 단지 최근에 생성한 주소를 대표적으로 보여주는 것일 뿐입니다.

표시되고 있는 새 주소가 아닌 이전 주소로 다른 누군가가 송금을 해준다하더라도,
여전히 그 금액은 내 지갑에 합해져서 보여주는 나의 자산입니다.

도대체 왜 이렇게 하는걸까요?

보안적인 측면 때문입니다.

일전에 코인의 익명성과 관련된 포스팅(클릭)에도 밝혔듯이, 블럭체인의 투명성은 부담스러운 약점이기도 합니다.

단 하나의 주소값(address)를 사용하게 된다면 내가 보내고 받는 모든 transaction 내역이 한 눈에 파악할 수 있게 됩니다.

HD지갑에서는 하나의 지갑내에 여러개의 주소를 생성하여 알아서 분산하여 보관함으로써 이러한 부분을 어느정도 방지할 수 있게 됩니다. 물론 파쇄된 문서도 맞추어볼 수 있듯이, 좀 더 부지런히 블럭체인을 조합해보면 이것이 HD지갑 내부의 여러 주소의 것인가 추론은 해볼 수 있겠지만, 한 눈에 정리되어 보이는 것과는 상당한 수준의 차이를 가지게 합니다.


바이트볼 지갑 연결과 관련하여

바이트볼 배포와 관련하여 지갑을 연결받고 배포받는 시스템에서는,
이것이 간혹 혼란을 불러일으키고 문제를 일으키게 됩니다.

배포를 위해 연결하는 주소는 단 하나의 address 인데,
실컷 힘들게 연결한 후에 HD지갑이라는 이유로 지갑안에서는 다른 주소로 코인이 들어있게 될 수도 있기 때문입니다.

A 주소를 연결해두었더니, 지갑내에서 임의로 B 주소를 생성해버렸고 이후 송금을 B로 해버렸다면,
같은 지갑에 A+B만큼의 금액이 있더라도, A 주소에 들어있는 코인수만큼만 인정받기 때문입니다.

이를 해결하기 위해서는 아래 둘 중 하나를 실행하면 됩니다.

  1. B 주소도 추가로 연결작업을 해준다.
  2. A 주소로 모든 자산을 모아준다.

1번은 추천하지 않습니다. 주소가 생길때마다 연결하는 것은 굉장히 번거롭습니다.

2번은 내 지갑에서 내 지갑으로 송금을 한다는 개념이 생소할 수도 있습니다만, 연결된 주소 A가 마치 남의 주소인마냥 그냥 내 지갑의 잔액 모두를 다시 A로 옮기도록 송금(transaction생성)하면 됩니다. 물론 약간의 transaction fee는 감수해야겠군요.

그럼 내 지갑내의 여러 주소에 흩어져있던 내 잔액이 A 주소명의로 모아지는 효과를 가지게 됩니다.

이는 비트코인 지갑뿐만 아니라 바이트볼 지갑에서도 유효합니다.

만일 transition bot 에게 연결코인수 현황을 물어봐서 실제 내가 가진 코인 수 보다 적다면,

연결된 주소로 모아주는 것을 한 번 해보세요.

마침 오늘 바이트볼 6차 배포일이군요 ^^

모두 부자됩시다!


제 글이 도움이 되었다면?!
↓↓↓ 아래 !!!VOTE UP!!! 부탁드립니다 ^^ ↓↓↓

Sort:  

감사합니다

제이와이피!님 반갑고 감사합니다 ^^

좋은 정보 감사합니다 ^^

좋게 봐주셔서 감사합니다

실용적인 정보 감사드립니다

감사합니다 :)

Blockchain.info도 HD 지갑이더라구요.
매번 감사합니다.

추가 정보 감사드립니다. 유명한 지갑은 거의 HD군요!

ㅋㅋ항상 고맙습니다

저야말로 광땡님께 늘 감사합니다

음.. 아직 일반인인 제 입장에서는 이해하기가 쉽지 않네요.
나름 정리하자면 고정된 주소값을 가지지 않는 HD 지갑이 더 안전할 것 같다는 생각이 듭니다.
너무 간단하게 이해한걸까요? ^^

역시 sochul 님이시네요.
제가 괜히 어렵게 썼지만 본질적인 부분을 바로 이해하셨네요!
여러개의 주소를 쓰도록 보안이 강화된 것이 HD지갑 맞습니다 ^^

다행입니다. 제가 제대로 이해하였군요. ^^
문과라 이쪽은 전공이 아닌관계로 아무래도 제게 어렵습니다.
하지만 @goldenman님과 같은 분들 덕분에 배워갈 수 있음에 감사드립니다.

좋은 정보입니다

감사합니다 :)

조금 궁금했었는데 이제야 의문을 풀었네요 ㅎㅎ

의문은 풀어야 시원~하죠 ^^

제가 어제 뒤늦게 바이트볼 신청하려다가 비트코인의 늦은 컨펌+HD지갑특성 덕분에 실패했습니다 ㅋㅋ 오늘아침에서야 컨펌이 됐는데 HD지갑이라 제 비트코인은 다른주소로 옮겨져있고 이미 스냅샷은 끝났네요 ㅋㅋㅋ괜히 연결시킬때 내는 소량의 비트코인만 낭비하고 말았습니다. 설명이 아주 명쾌해서 이해가 잘 됩니다 늘 감사드려요~

맘고생 위로드립니다 ㅜㅜ
그래도 다음달을 위한 기초작업을 한거니깐, 다음달엔 꼭 성공하세요~!

좋은 글입니다.
최근 보안문제가 연이어 터지고 있어서 조금의 귀찮음을 감내하고 보안을 확보하는게 현명한 현실이니까요.
글 감사합니다. ^^

Coin Marketplace

STEEM 0.19
TRX 0.16
JST 0.033
BTC 64182.74
ETH 2768.00
USDT 1.00
SBD 2.66