머클트리를 알아보자 01

in kr •  7 years ago  (edited)

거래의 검증


거래는 각각의 노드 지갑들이 독립적으로 검증합니다.

내가 만약 어떤 거래를 만들어서 하늘에 날리면
채굴노드들이 그걸 붙잡습니다.

그리고 블록에 넣을것인가 검증하는데
대략 열몇가지의 검증을 거칩니다.

그 중 핵심은 역시

  • 이전 블록체인 어딘가에 해당 계정의 잔금이 남아 있는가

겠죠. 이것이 바로 UTXO(돈 남아있는 계정)이며
다른 조건들 만족하고 UTXO가 발견되었다면

<--UTXO
이제 거래가 유효한 것이 되어
블록상자내로 포장되어 들어가게 되는 것입니다.

SPV 노드의 거래검증


풀노드의 경우는 블록체인을 풀버전으로 갖고 있으며
처음에 블록체인을 다운 받는 과정에서
찾아놓은 UTXO를 전부 데이터베이스에
모아서 저장해둡니다.

그래서 또 찾느라 개고생할 필요없이
자체적으로 금방 검증할 수 있죠.

하지만 SPV(가벼운 지갑)는 블록체인이 없습니다.
그래서 풀노드분들에게 굽신거리며
자료를 받아와서 검증을 해야됩니다.

한데 이때 풀노드분이 구라를 칠 가능성이 있죠

그럼 그 무거운 블록체인 전체를 사용하지 않으면서
검증을 할 수 있는 방법은 없을까..

해서 나온 것이
블록체인 요약본 입니다.

해시함수와 블록요약


블록체인은 블록 대가리에다가 블록안의
모든 거래를 요약한 요약본을 적어놓습니다.

이때 이 요약본의 개념 역시 해쉬함수를 통해 가능합니다

삼국지를 '참 재밌었다'

써놓으면 그게 삼국지인지 김국진인지 알수가 없죠
하지만 앞서 우린

🔗해시와 해시함수 개념
이라는 유익한 포스팅을 통해 이미 해시함수를 알고 있습니다

해시함수는 그 어떤 자료도
64자짜리 똥으로 만들어버리지만 대신 똥에서
원래의 물건으로 복원이 불가능하며

빨간 케잌을 넣으면 빨간똥이..
파란 케익을 넣으면 파란똥이..

즉, 입력이 같으면
반드시 똑같은 결과를 내놓는다는 특징이 있습니다.

수만자를 자랑하는 삼국지를 해시함수에게 먹인다면
64자짜리 삼국똥이 나오게 되는데
만약 수만자 중에 한자라도 틀리면
알수 없는 똥이 나오게 됩니다.

그러므로 일단 넣어보고 정확히 삼국똥이 나오면
그건 확실히 삼국지를 넣었다는 소리가 되죠

블록체인의 내용 역시 마찬가지입니다.
1번 블록을 넣어서 퍼스트똥이 나왔다면
1번 블록에서 한자라도 조작하는 순간 다른 똥이 나옵니다

그러므로 각 블록들을 통채로 가지고 있진 않아도
각 블록들의 똥들만 가지고 있으면
일단 검증은 가능하게 되는 것입니다.

다음편을 기약하며..


이번편에 머클트리를 끝내려했는데
생각보다 만만치 않네요.
무엇보다 그림을 바리바리 넣지 않으면
이해시키기 너무 어려운 내용입니다.

다음편엔

철수, 영희, 순이, 민수를 예시로 들어서
영희의 똥을 찾는 과정을 보여드리겠...

출소후에 뵙겠습니다

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Cheer Up!

  • from Clean STEEM activity supporter

영희의 똥 기대됩니다

어려운 걸 친근하게
고맙습니다

근데 다음은 좀 달리 할지도 모르겠습니다ㅎ;
감사합니다

ㅎㅎ 언제나 재밌게 풀어주시는
@twinbraid님 광팬이 안될수가 없습니다

ㅎㅎ 감사합니다 +_+/

내용이 너무너무.. 이해가 잘갑니다.. ㅎㅎ 항상 좋은글 감사합니다~~

역시 그림이-ㅅ-+ 짱이군요
감사합니다

가벼운 지갑과 무거운 지갑~.저한테는 어려운 주제이지만 뭔가 공감이 무지 갑니다 ㅎㅎ 얼른 출소하셔서 다음 얘기를 ㅎㅎㅎㅎ

블록체인은 다른 모든이의 거래가 기록되어 있습니다. 거기에 자기꺼도요
그래서 거래를 할려면 블록체인에 접속을 해야되는데
그걸 자기컴에 몽땅 받아놓고 찾을 수 있는 것을 풀노드
무거운 지갑이라고 합니다

한편 이걸 다 다운받을려면 용량이 장난이 아니기에
다운받지 않고.. 다른 다운받은 풀노드한테 인터넷으로 접속해서
자료좀 달라고 구걸하는 지갑을.. 라이트노드
가벼운 지갑이라고 합니다.

월리를 찾다가 글의 흐름을 놓쳐 버렸네요......

저거 넘 재밌죠 ㅎㅎ

good post my friend..

역시 믿고보는 @twinbraid
어려운 내용을 굉장히 쉽게 포스팅해주셔서 감사합니다
역시 떵이 들어가야 이해가 쉬워지는군요~^^
감사합니다


알. 이. 즈. 웰. !!!

주변의 사물과 체험의 효과이죠 ㅎㅎ

ㅋㅋㅋ 똥을 예로 들어가면서
설명해 주시니까
이해하기가 쉬워지는군요..
감사합니다~~~^^

네 해시함수의 본질이 똥 같습니다
(나쁜 의미가 아님..-ㅅ-;)

윌리는 어디쯤에 있어요?

한참 찾다 포기중....
내용은 .....

질문 :
제가 마이더월렛 해킹당했잖아요. 그런데 어제 들어가봤더니 그새 ICO들어온 코인도 또 가져갔네요. ㅎ 이제 하나 남았는데 이거 어떻게 갸들보다 먼저 가져오는 방법없을까요? (양은 이더하나. ) 코인이름에 아직 없어서 못가져간것 같은데...
키 보내드릴까요? 플리즈...ㅎ 포기?

이더리움 계정에 돈의 변동이 있을때 이메일로 알림이 오게 할 수 있습니다.
아래 링크를 참조해보세요
https://steemkr.com/kr/@onizuka/6nmvak

이더리움 타입이라는 항목이 있는걸 보면 토큰이 들어와도 반응하는거 같은데
일단 이더리움 기반 토큰 eos 같은걸 소량 전송해서 테스트해보세요


더 좋은 방법은 https://etherscan.io/
에 가입해서
Address Watch List 에 주소를 추가하고 이메일 알람을 활성화 하는 것입니다.
이쪽을 추천드립니다

답글 감사합니다.
지금 있는 것은 토큰은 들어왔는데 보낼때 선택하는 곳에 토큰이름이 없네요.
뭐그냥...ㅎ 고맙습니다.

해당 ico에서 토큰 컨트랙트 주소를 알려줬을겁니다.
(해당 ico 홈페이지를 찾아보세요)
마이이더월렛 오른쪽에 add custom token을 클릭해서
컨트랙트 주소를 등록하면
보낼때 토큰을 선택할 수 있습니다.

I am interested to read this blog is there any method to change it in English

GOOGLE+_+/ THX

송구합니다. 항상 좋은 글을 써주시는데 제 머리로는 이해가 어렵네요. ^^;;

아닙니다. 노드도 들어갔고 UTXO던가..
미리 알고 있지 않으면 이해가 어려운것이 사실이죠

하하 참 재미있으면서도 유익합니다

다음편이 기대되네요.

  ·  7 years ago Reveal Comment

생전 처음 접해보는 개념들이라 위키, 백서 등을 읽어도 거의 이해가 안되더군요.
twinbraid님의 적절한 비유를 통한 설명을 통해 하나 하나 이해해 가고 있습니다. 정말 유용하게 읽고 있습니다 감사합니다.