HDwallet 지갑의 초보적 개념

in #kr7 years ago

어제 HDwallet와 utxo 대해 설명드렸습니다만..
개그가 없었던 관계로

개그콘서트를 기대하고 들어오신 많은 분들이
팝콘을 던지시며 질책하셨습니다.

역시.. 코인은 개그여야 한다는 걸 다시 느꼈습니다.

비결정적 지갑 (nondeterministic wallet)


이 무슨 개그와 동떨어진 썩은 제목이라고
역정내실지도 모르겠지만 그렇다고
정식명칭을 구라칠 순 없는 노릇이죠
대신 쉽게 설명하자면

비트코인은 하나의 주소(계좌)를 일회용처럼 쓰고
버리자는 주의 입니다.

왜 이런 더러운 인성을 가져야하냐면
추적의 고리를 끊기 위해서입니다.

만약 엄마가 자기의 비트코인을 추적한다고 칩시다
이때 하나의 주소만 사용한다면
언젠간 엄마가 아들이 그 주소를 쓴다는 것을 알았을때
그 주소 하나만 따라가면 뭘 했는지
동선이 전부 나옵니다.

A주소 : 교과서 사고 -> 학원비 내고 -> pc방비 결제 ->
음란사이트 회원비 결제 -> 리플 구입..

줄줄줄 다 밝혀져 버리죠.
이는 어머니의 강렬한 사랑을 맛볼 기회를 제공합니다

특히나 리플을 구입한건 부모님께 큰 실망을 줄겁니다

하지만 여러개의 주소를 일회용으로 사용한다면
하나의 주소는 하나의 단서만을 남기게 됩니다.

A주소 : 교과서 구입
B주소 : 학원비 납부
C주소 : pc방비 결제
D주소 : 음란사이트 회원비
E주소 : 리플 구입..

이렇게 되기 때문에 아들이 뭘했는지 모두 알려면
아들이 사용하는 모든 주소를 알아내야됩니다.
뒤질 가능성이 매우 감소하죠.

단지 이렇게 할려면 주소를 여러개 만들어야 됩니다.
그 여러개를 '비결정적으로' 만들어주는 지갑이 바로
비결정적 지갑입니다.

그럼 비결정적이 무슨 소리냐

무작위로 찍어서..

넵. 용어 줫같죠?

결정적 지갑 (deterministic wallet)


무작위로 주소를 찍어낼땐 참 즐겁습니다.
문제는 백업이라거나 주소를 다른 지갑으로 옮길때
발생합니다.
즉 관리가 거지 같습니다.
한 비극적 일화를 보면..

철수는 비트코인 지갑 백업을 철저히 하는
바른 인간입니다.
그날도 100개의 주소를 usb로 백업하고 담배피고 있는데
영희가 같이 여행갈 자금을 보내왔습니다.
그러자 결정적 지갑은 101번째 주소를 생성해서
거기다가 여행자금을 박아놓게됩니다.

여행당일 컴터가 임종하셔서 지갑도 함께 하늘나라로 갔습니다
하지만 철수는 백업의 달인!
미소지으며 백업했던 100개의 주소를 펼쳐놓습니다만..
101번째 주소에 자금이 들었으므로
여행자금은 없습니다.
철수는 진지한 얼굴로 영희를 봅니다.

'영희야 오빠믿지? 내 말 잘들어
지금부터 비결정적 지갑에 대해 설명해줄께'

설명을 듣고난 영희는 고개를 끄덕이며 질문합니다

'돈은?'

'영희야 얘기했잖아 이건 비결정적 지갑의 문제야!
난 백업을 했.. '

짝 짜짝짜 짝 짜짝짝!!!

자진모리장단으로 뺨을 때리고
화난 모습으로 사라지는 영희..
그 뒷모습을 보며
철수는 나카모토 사토시를 찾아나섭니다.
얼마후 나카모토 사토시는 자취를 감추게 됩니다.

이런 비화가 생기자
개발자들은 쥐도새도 모르게 행방불명되는걸
방지하기 위해 무작위 생성이 아니라
특정한 키워드 단어들을 기초로해서 주소들이
생성되게 방법을 바꿉니다.

만약 단어가 딸기라면..
모든 주소는 딸기1, 딸기2.. 이런식인거죠.
(※ 본 예제는 유아용으로 실제랑은 많이 다릅니다)

그럼 그 키워드.. 즉 패스워드만 알면
이후에 생성되는 모든 주소들을 알 수 있으므로
각 주소들은 패스워드에 따라 결정되었다고 할 수 있습니다.
위의 철수 예에선 딸기만 알면 컴터가 불타도
101번째 들어온 돈이 딸기101에 있다는 걸 당연히 알게되죠
1000번째 주소도, 10000번째도 이미 결정되어 있습니다


이것을 북두의.. 결정적 지갑 이라고 합니다.

이제는 돈이 새로운 주소로 들어올때마다 백업할 필요없이,
지갑 만들때 맨처음 키워드들만
백업해놓으면 모든 주소를 복구할 수 있습니다.

계층 결정적 지갑 (hierarchical deterministic wallet)


개발자들은 여기서 한발 더 나아가서
주소들의 계급 계층을 만들어 놨습니다.

그 이유는 멀티를 뛰기 위해서입니다.
예를들어

지금 내컴에 지갑이 있습니다.
그런데 사업을 시작해서 그쪽 가게에서도
입출금을 해야됩니다.


한데 새로뽑은 점장이 이렇게 생겼습니다

여기서 최선은 저 인간을 짜르는 거 겠지만
쟤도 가족이 있으니 일단 보류하고

대신 저 가게의 지갑을 저기서도 관리하지만
이쪽에서 더 높은 권한으로 컨트롤 할 수 있게 해야합니다
쟤가 무슨 짓을 할지 모르니까..

그것이 가능한 것이 계층 결정적 지갑 입니다

마스터 패스워드는 이쪽에서 관리하고
저쪽에는 하위주소만 관리가능한 키를 주는 것이죠.

이러면 저쪽에서 생성한 주소를 이쪽에서는 전부
접속할 수 있지만 저쪽에선 이쪽에서 생성한 주소는
건드리지 못합니다.

심지어 처음부터 입금만 가능한 키를 줄수도 있습니다
이것은 전자상거래 같은 해킹위험이 높은 사이트를
관리할때 편리하죠.
거기가 털려도 어떠한 것도 유출되지 않으니까요

맺으며


무슨 놈의 지갑이 이래 복잡혀..

Sort:  

Cheer Up!

  • from Clean STEEM activity supporter

와...진짜 이걸 기대했습니다 ㅠㅠ
다시 돌아 오셨군요...ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

ㅋ.. 그래도 어려운 내용이네요
담은 쉬운거 찾아야겠음..ㅡ,.ㅡ

아다다다다닷
ㅋㅋㅋㅋ

넌 이미 생성되어있다

ㅋㅋ 그래도 개그가 있는게 훨씬 좋네요^^

적어도 읽혀지긴 할테니 ㅎㅎ

지갑만 해도 어렵군요^^

지갑들마다 특성이 다르니
그것만 이해하는 것도 장난아니네요 ㅋ

나이가 들어가면서
뒤떨어 진다는 것을 절감합니다.
늦어 지지요.

감사합니다..

개그인듯 아닌듯 재밌게 잘 봤습니다. 원래 이런 이론적인 글은 자세히 안봐지던데 처음부터 끝까지 다 읽어봤네요. 이해도 잘 되고요ㅎㅎ

감사합니다 +_+/ ㅎㅎ

재밌게 잘 읽었습니다^^

감사합니다 😆

오늘은 코인을 던지겠습니다 ㅎ
잘봤습니다~

줍줍... 감사합니다

제가 소양이 부족한가 봅니다. ㅠ 다음에는 이해할 수 있도록 노력하겠습니다.

일단 거래를 몇번 해봐야 이해가 되는 내용이지요-0-

@twinbraid Really intriguing and insightful submit shared followed and upvoted. Want you the most effective with all of your potential endeavors.
A pleasant submit..i'm intriguing. Resteemed.

Coin Marketplace

STEEM 0.17
TRX 0.13
JST 0.027
BTC 58397.49
ETH 2619.60
USDT 1.00
SBD 2.42