반말로 배우는 비트코인 (3) - 작업 증명과 합의 알고리즘에 대하여 > 코인 칼럼

본문 바로가기
사이트 내 전체검색

회원로그인

코인 칼럼

반말로 배우는 비트코인 (3) - 작업 증명과 합의 알고리즘에 대하여
JY섭
작성일: 18-10-20 13:11 | 조회: 9,932회 | 댓글: 11건

93a72974202b429333f8cd2a048893cc_1540005355_3325.png



이전 글에서 작업 증명이 무엇인지 아주 간략하게 알아보았어. 


( 이전글 : 반말로 배우는 비트코인(2) 해시와 작업증명 -

http://hozaebox.com/bbs/board.php?bo_table=column&wr_id=1667 )



이전글을 요약하자면사람들이 비트코인을 얻기 위해 많은 노력(작업 증명)을 해시에 쏟은 만큼

비트코인의 가치를 지키고자 하는 동기가 부여된다는 설명이었어.


93a72974202b429333f8cd2a048893cc_1540005355_4049.jpg


그러나 비트코인은 거기서 그치지 않고, 


중앙 기관의 보증이 없이 쓰일 수 있는 화폐의 기을 구현하고 싶었지.


그게 비트코인이 개발된 이유니까!


93a72974202b429333f8cd2a048893cc_1540005355_6323.png

결론을 먼저 말하자면, 


비트코인은 작업 증명합의 알고리즘으로 채택하여,


중앙 기관이 없이 사실을 보증할 수 있는 기능을 구현하는데 성공하였어.



93a72974202b429333f8cd2a048893cc_1540005355_7641.png


그것이 흔히들 말하는 비트코인이 비잔틴 장군 문제를 해결했다는 것이야.


이게 참, 비트코인을 이해하고 있는 사람이 보면 쉬이 고개가 끄덕여질 만한 말이지만...


역으로 비잔틴 장군 문제로부터 합의 알고리즘과 비트코인을 설명하긴 쉬운 일이 아닌거 같아.


개인적으로 인터넷에 참고할 만한 글 중에서도 맘에 쏙 드는 글이 없더라구.


하나같이 이학도가 아닌 사람들이 이해하기엔 어려워 보였어.


93a72974202b429333f8cd2a048893cc_1540005355_8404.jpg

이 글에선 비잔틴 장군 문제가 아닌 다른 시나리오를 바탕으로 작업증명과 합의 알고리즘을 설명해볼게.


93a72974202b429333f8cd2a048893cc_1540005355_904.png

평범한 시민 A가 거액의 금액을 주고 집 한 채를 구매하는 심플한 시나리오야ㅋㅋㅋ


장군이니 전쟁이니 하기보단 평화롭게 가자고


93a72974202b429333f8cd2a048893cc_1540005356_0602.jpg

현재는 중앙의 큰 기관이 주택 소유 보증서 같은 것을 발행함으로써,


A가 집 한 채를 가지고 있다는 것을 보증해주는 시스템이지.


93a72974202b429333f8cd2a048893cc_1540005356_1077.PNG

하지만 만일 중앙의 큰 기관이 없다면?

 

이러한 중앙의 큰 기관이 발행한 보증서 없이,


과연 A가 집 한 채를 가지고 있다는 것을 어떻게 보증할 수 있을지 한번 생각해보자구.




1)    A가 집을 구매할 때, 판매자가 보증서를 써준다.


93a72974202b429333f8cd2a048893cc_1540005356_1844.png

 

가장 간단한 방법으로는 아무래도 보증서를 떠올릴 수 있지.


A가 집을 구매할 때 중앙기관이 아니라, 집 판매자가 보증서를 써주는거 말이야.


A는 이 보증서를 가지고 있는 것으로 주택 소유권을 증명해.



판매자가 보증서를 써준 후 사라지더라도,  


보증서는 A가 집의 주인임을 보증해주는 좋은 수단이지.

 

93a72974202b429333f8cd2a048893cc_1540005356_3239.png



하지만 보증서를 도둑맞거나 나쁜 B가 “자신이 집을 구매하였다라고


보증서를 위조하여 자기가 집 주인이라고 주장한다면?



93a72974202b429333f8cd2a048893cc_1540005366_0633.jpg

순식간에 엄청나게 골치가 아파 올거야 

중앙의 기관이 없다고 가정했으므로 보증서의 진짜와 위조를 판가름 할수가 없어.




2)    A가 집을 구매한 보증서를 A의 지인 10명에게 보여주고 증인을 확보하였다면?



93a72974202b429333f8cd2a048893cc_1540005366_1178.png

얼핏 보기엔 꽤 괜찮은 방법 같아보여.


누군가 보증서를 위조한다 하더라도, 증인 10인의 지지를 받고있으니 꽤 든든해.


93a72974202b429333f8cd2a048893cc_1540005366_1718.jpg 

근데 과연 왜 든든한 것인가?? ㅋㅋ

 

이는 집이 누구 것인지?” 등에 대해 판가름할 때


우리 사회에는 암묵적으로

다수결” 에 따라

사회적으로 판단하고 합의하는 규칙(이하 합의규칙)"


이 있다는 것을 알기 때문이지.

 


93a72974202b429333f8cd2a048893cc_1540005366_2177.png

그러나 B가 보증서를 위조하고...


진짜 증인 보다 많은, 가짜 증인 15명을 확보한다면?


 

다수결 합의 규칙에 따라 A는 꼼짝없이 집을 뺏기게 되겠지!

 

단순한 다수결을 통한 합의 규칙으로는 A는 자신의 집을 지킬 수 없었어.



3) 아아니ㄷㄷ 그럼 대체 어떻게 해? 

93a72974202b429333f8cd2a048893cc_1540005366_2946.png

 

집이 누구것인지를 판가름하기 위해서 다수결보다 좀 더 복잡한 합의 규칙이 마련되어 있어야 해.


과연 어떠한 합의 규칙이 있어야할까?



이 물음이 바로 비잔틴 장군 문제와 맥락적으로 매우 유사한 물음이야.


ㅋㅋ 이제 왜 이런 비잔틴 장군 문제가 어려운 것인지 감이 잡혔으리라고 생각해.


93a72974202b429333f8cd2a048893cc_1540005366_4698.png

그리고 바로 비트코인이 역사상 최초로 이 문제에 대한 해답을 내놓았다고 평가받고 있어.





지금부터 비트코인이 내놓은 이 복잡한 합의 규칙을 설명할 건데,

설명의 편의를 위해 하나 아주 뜬금없는 가정을 하자.



93a72974202b429333f8cd2a048893cc_1540005366_7336.png


사진기는 디카, DSLR 이런거 하나도 없이 필름 카메라만 존재하고,

사진을 인화하려면 만 하루가 꼬박 걸린다고 치자 ㅋㅋㅋ




93a72974202b429333f8cd2a048893cc_1540005366_825.png

이런 뜬급없는 가정을 바탕으로... 

우선, 모든 사람들이 각자의 집에 모든 집의 소유권을 기록해두는 똑같은 장부를 두자고 합의해.


이 장부에는 아래와 같은 규칙이 있어.


93a72974202b429333f8cd2a048893cc_1540005366_8982.png


A가 원래의 집 주인 C로부터 집을 사기로 하면


C가 직접 집주인이 A로 바뀐 로운 장부를 작성해.



그리고 원래 장부를 사진 찍어 인화하고,


그 사진을 새 장부에 붙여 이전 장부가 무엇이었는지 확인할 수 있는 거야.



93a72974202b429333f8cd2a048893cc_1540005366_9744.png

C는 모든 사람에게 완성된 새 장부를 복사해서 뿌려.


이후 또다른 거래가 일어나는 날마다 판매자는 C가 했던 것과 같은 행동을 하는 거야.


어짜피 사진을 인화하는 데에 만 하루가 걸리기 때문에 하루에 1번 밖에 새 장부를 만들지 못해.

 


93a72974202b429333f8cd2a048893cc_1540005373_3224.png 


그리고 만일 아무런 거래가 일어나지 않은 날이면


사람들은 매일 한 사람씩 돌아가며 같은 방식으로 새 장부를 만들고 모두에게 뿌리기로 해.


아무 거래가 없었기 때문에새 장부는 이전 장부와 비교하여 날짜 외에 변화된 것이 없지. 


그저 이전 장부의 사진을 찍어 옆에 붙였을 뿐ㅎㅎ




자 그럼, 이런 규칙이 있으면 위조를 가려낼 수 있을까?


93a72974202b429333f8cd2a048893cc_1540005373_4464.png


B10/2에 대해 위조 장부를 만들면,

10/3 장부에 붙어있는 진짜 10/2 장부 사진 때문에 그 장부는 거짓임이 들통이 나.



그럼 B는 10/2의 장부를 위조하기 위해,

위조 장부를 위해 10/3 장부까지 위조하는 수 밖에는 없어



93a72974202b429333f8cd2a048893cc_1540005373_5217.png

그럼, B가 악착같이 10/3 장부까지 위조한다면?


이미 B10/3 장부를 위조하는 하루동안

또 늘어난 10/4 장부의 사진 때문에 또 거짓 장부임이 들통이 나!

 

B가 10/4 장부를 위조하는 동안에는 10/5 일자 장부가 생겨나지.



결국 누구도 시간이동을 시전하지 않는 이상 장부를 위조할 수가 없게된 거야ㄷㄷ



93a72974202b429333f8cd2a048893cc_1540005373_7276.png


결국 이 합의 규칙을 통해, 중앙기관이 없이도 집주인이 누구인지를 판별할 수 있게 되었어. 


(태클 걸 여지가 충분히 많겠지만

설명의 본질을 흐리지 않기 위해 그냥 내 말이 맞다고 쳐주어ㅎㅎ)



93a72974202b429333f8cd2a048893cc_1540005374_1387.png


만일 이 합의 규칙에 사진을 찍어서 꼬박 하루를 걸려 인화하는 작업이 없었다면,


B가 장부를 위조하는데 하루가 걸리지 않았을 것이고,


B는 위조 장부를 만드는데 성공했을거야.



진 인화가 바로 앞선 글에서 설명했던 작업 증명과 맥락상 아주 비슷하지.


(해시의 답을 찾아내는 데 드는 노력 = 사진 인화에 드는 노력)




정리하자면,


사진 인화라는 작업 증명을 포함하는 '합의 규칙'을 이용해서


A의 소유권을 보증할 수 있는 것이야.


여기까지 예시 끝! 


93a72974202b429333f8cd2a048893cc_1540005374_3517.png


합의 규칙은 다른 말로 합의 알고리즘이라고 부를 수 있어.


합의 규칙을 소프트웨어로 구현했으면 그건 명백히 합의 알고리즘이라 불러야지 뭐ㅎ

 


 

여기까지 너무나도 장황한 예시를 통해


의 규칙(알고리즘)이 어떤거지를 설명해 보았어.





이과도가 아닌 이들에게 합의 알고리즘을 어떻게 설명하나


고민을 아주 많이 했는데 (썼다 지웠다를 몇번을...)


필력이 부족한 나로선 이게 최선인거 같아ㅠㅜ




이 글을 읽은 후,


인터넷 상의 합의 알고리즘 글에 대한 다른 설명글들을 다시 보았을 때


이전에 보이지 않던 부분이 보이.... 기를 바래ㅠㅠ






 

다음 글에는 오늘 설명한 합의 알고리즘과 작업증명을 바탕으로


블록체인에 대해 본격적으로 설명해보도록 하겠어.

 

이상 반말글 읽어주셔서 감사합니다~






[그림 reference 노트]

2. 호재박스의 Stayge 백서 리뷰 분석 에서 아이콘을 가져다 썼습니다.

  • 텔레그램 보내기
  • 밴드 보내기
  • 페이스북으로 보내기
  • 블로그 보내기

우영화님의 댓글

우영화 작성일

매번 어디서 비잔틴장군 얘기나올때마다 뭔지 몰랐었는데 덕분에 이해했습니다. 감사합니다

변상현님의 댓글

변상현 작성일

올려주신글 잘 보고 있습니다.
이해하는데 큰 도움이 되네요. 감사합니다.

정천이님의 댓글

정천이 작성일

ㅎㅎㅎ 잘 읽었습니당 저번 글이랑 비잔틴 장군 문제가 참 이해가 안 되었는데 말이죠

일리양샹님의 댓글

일리양샹 작성일

로그인 하셔야 댓글을 보실 수 있습니다. 로그인 회원가입

Dani88님의 댓글

Dani88 작성일

로그인 하셔야 댓글을 보실 수 있습니다. 로그인 회원가입

아우리슨트님님의 댓글

아우리슨트님 작성일

로그인 하셔야 댓글을 보실 수 있습니다. 로그인 회원가입

저하님의 댓글

저하 작성일

로그인 하셔야 댓글을 보실 수 있습니다. 로그인 회원가입

택신님의 댓글

택신 작성일

로그인 하셔야 댓글을 보실 수 있습니다. 로그인 회원가입

KING님의 댓글

KING 작성일

로그인 하셔야 댓글을 보실 수 있습니다. 로그인 회원가입

학계의정설님의 댓글

학계의정설 작성일

로그인 하셔야 댓글을 보실 수 있습니다. 로그인 회원가입

박용호님의 댓글

박용호 작성일

로그인 하셔야 댓글을 보실 수 있습니다. 로그인 회원가입



번호 제목 글쓴이 날짜 조회 추천
공지 호재박스 HBX(포인트) 정책 댓글 (8) N 호재박스 05-19 696 9
148 [은사님]_ 전체 암호화폐 시황 및 흐름 (장문주의) 댓글 (4) N 은사님 11-21 394 2
147 - 거래소간 프리미엄 차이 나는 이유 ? , 마진거래 비정상적인 펀비 이유 ? N 은사님 11-14 2672 1
146 [은사님]_비트코인캐시 하드포크 현사태 주관적정리 댓글 (5) N 은사님 11-11 3771 5
145 반말로 배우는 비트코인 (4) - 비트코인과 블록체인 (...이전 글들에 이어서) 댓글 (7) N JY섭 11-11 3461 6
반말로 배우는 비트코인 (3) - 작업 증명과 합의 알고리즘에 대하여 댓글 (11) N JY섭 10-20 9933 8
143 [ 각 거래소마다 가격차이 나는 이유 ?, 테더 이슈 ? ] 정리 댓글 (5) N 은사님 10-16 11317 5
142 암호화폐 동향과 탈중앙거래소의 미래에 대한 칼럼 -마지막- 댓글 (5) N 부자의그릇 09-14 19916 4
141 탈중앙거래소의 미래와 암호화폐 동향에 대한 칼럼 -3부- 댓글 (8) N 부자의그릇 09-13 20140 4
140 암호화폐 동향과 탈중앙거래소의 미래에 대한 칼럼 -2부- 댓글 (6) N 부자의그릇 09-12 20536 5
139 코인마켓캡, 암호화폐 동향과 탈중앙거래소의 미래에 대한 칼럼 -1부- 댓글 (4) N 부자의그릇 09-10 21146 6
138 반말로 배우는 비트코인 (2) - 해시와 작업증명 [1/2] 댓글 (14) N JY섭 09-08 22434 11
137 [1분공부] 코린이를 위한 알기 쉬운 - <비트코인 도미넌스란?> 댓글 (10) N 추세매매봇 08-18 28235 8
136 반말로 배우는 비트코인 (1) - 해시에 대하여 알아보자 댓글 (19) N JY섭 08-16 32619 14
135 가상화폐 비트코인 컬럼 : 평단(매수 평균 단가)의 함정 댓글 (4) N 건율아빠 08-16 29660 4
게시물 검색


Copyright © 호재박스. All rights reserved.
상호명 : 호재박스 / 대표 : 김병준 / 등록번호 : 164-45-00396
Email : hozaebox@gmail.com