[가상화폐] 비트코인의 원리 PART 4-2: 해쉬 함수와 작업 증명 방식의 원리

image.png

안녕하세요 여러분. 참새입니다.

우선 해쉬 함수 (hash function)에 대해서 알아보겠습니다.

image.png

어떤 메세지나 파일을 이 함수에 넣으면, 결과값이 해쉬 (hash)로 나옵니다. 해쉬는 256비트로 된 0과 1로 이루어진 숫자이구요 ^^

Y = 3X +1이라는 함수가 있습니다. 1을 넣으면 4가 나오고, 2를 넣으면 7이 나오죠. 어떤 숫자를 집어넣었는지에 따라서 완전히 다른 결과값이 나옵니다. SHA-256와 같은 해쉬 함수도 똑같은 기능을 합니다 ^^ 어떤 메세지를 넣으면, 결과값이 256비트로 이루어진 숫자로 표시되는 것이죠.

image.png

심지어 비트코인에서 쓰이는 SHA-256은 단순한 해쉬 함수가 아니라 ‘암호화 해쉬 함수’입니다. 무슨 말이냐면…결과값을 가지고 역으로 어떤 메세지를 입력했는지 추측하는 것이 불.가.능.합니다 ! (정확히는 2의 256승 만큼의 경우의 수를 모두 다 일일이 입력해보면 알 수는 있겠지만 말도 안되는 시간이 소비되겠죠 ^^;;)

Y = 3X + 1이라는 함수에서 “결과값은 4입니다!”라고 누군가가 알려주면, 원래 넣었던 숫자가 ‘1’이라는 것을 쉽게 알 수 있죠. 하지만, 암호화 해쉬 함수인 SHA-256에서는 결과값을 이용해서 역으로 어떤 메세지를 넣었는지 알 수가 없습니다.

image.png

이제 SHA-256 함수 원리를 이용해서 비트코인의 채굴 원리를 알아보도록 하겠습니다.

어떤 공용 장부 하나가 있다고 가정하겠습니다. 앨리스와 밥과 찰리와 여러분의 LD 거래 기록들이 있습니다. 그리고 이 공용 장부에 ‘특정한 숫자’를 함께 SHA-256 함수에 넣었을 때 첫 숫자들이 ‘0’이 30개 나오게끔 ‘특정한 숫자’를 찾는 사람의 공용 장부가 가장 신용할 수 있는 장부가 됩니다. (아직은 왜 그런지 묻지 말아주세요 ^^;;)

이 장부를 ‘11’이라는 숫자와 함께SHA-256 함수에 넣어보니까 ‘10011111….’이라는 해쉬가 나옵니다. 0이 30개가 안나왔네요.

image.png

이번에는 ‘1073765433’이라는 숫자와 함께 SHA-256 함수에 넣어보니 0이 30개가 나왔습니다!! 퍼즐을 풀었네요! 그렇다면 이 숫자를 찾은 사람의 공용 장부가 신뢰할 수 있는 장부가 되었습니다.

image.png

이와 같은 방식을 ‘작업 증명 방식 (proof of work)’라고 부릅니다. 많이 들어보셨죠? ㅎㅎ

작업 증명 방식을 다른 말로 풀어서 설명하자면, “가장 많은 컴퓨터 작업이 투입된 장부를 옳은 장부라고 믿자!”입니다. 숫자 맞추는 사람의 장부가 가장 많은 컴퓨터 작업이 투입된 장부랑 왜 똑같은거냐구요? 일일이 다 입력해봐야 하니까요 ^^;; 확률적으로 더 많은 노가다로 일일이 숫자를 입력한 사람이 숫자를 맞출 확률이 높겠죠? ㅎㅎ 그렇기 때문에 이러한 숫자 맞추기 게임, 컴퓨터 퍼즐,을 맞춘 사람을 ‘채굴자’라고 부르고, 채굴자의 공용 장부는 신뢰할 수 있는 공용 장부가 됩니다!

어려운 내용이였지만 즐겨주셨으면 좋겠습니다!

다음 포스팅에서 뵐게요 ^^

참조링크

제 포스팅이 유익하였다면 보팅 , 리스팀팔로잉 부탁드립니다 ^^
giphy.gif

인터넷의 원리 PART.1: 인터넷이란 무엇인가?
https://steemit.com/kr/@kim066/part-1
인터넷의 원리 PART 2: 와이어, 케이블, 그리고 와이파이 (Wifi) - 1
https://steemit.com/kr/@kim066/part-2-wifi-1
인터넷의 원리 PART 3: 와이어, 케이블, 그리고 와이파이 (Wifi) - 2
https://steemit.com/kr/@kim066/part-3-wifi-3
인터넷의 원리 PART 4: IP 주소 & DNS – (1)
https://steemit.com/kr/@kim066/part-4-ip-and-dns-1
인터넷의 원리 PART 5: IP 주소 & DNS – (2)
https://steemit.com/kr/@kim066/part-5-ip-and-dns-2
인터넷의 원리 PART 6: IP 주소 & DNS – (3)
https://steemit.com/kr/@kim066/part-6-ip-and-dns-3
인터넷의 원리 PART 7: 패킷, 라우팅, 그리고 신뢰성 – (1)
https://steemit.com/kr/@kim066/part-7-1
인터넷의 원리 PART 8: 패킷, 라우팅, 그리고 신뢰성 – (2)
https://steemit.com/kr/@kim066/part-8-2
인터넷의 원리 PART 9: TCP/IP와 UDP/IP (번외편)
https://steemit.com/kr/@kim066/part-9-tcp-ip-udp-ip
인터넷의 원리 PART 10: 암호화와 공개 키– (1)
https://steemit.com/kr/@kim066/part-9-1
인터넷의 원리 PART 11: 암호화와 공개 키– (2)
https://steemit.com/kr/@kim066/part-11-2
인터넷의 원리 PART 12: 사이버 보안과 사이버 범죄 – (1)
https://steemit.com/kr/@kim066/part-12-1

비트코인의 원리 PART 1: 가상화폐란?
https://steemit.com/kr/@kim066/4urqt9-part-1
비트코인의 원리 PART 2: 전자서명이란? (1)
https://steemit.com/kr/@kim066/part-2-1
비트코인의 원리 PART 3: 비트코인의 기본적 정의
https://steemit.com/kr/@kim066/part-3
비트코인의 원리 PART 4-1: 해쉬 함수와 작업 증명 방식의 원리
https://steemit.com/kr/@kim066/part-4-1

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

블록체인 기술

번호 제목 글쓴이 날짜 조회수
41 정보 문과생, 블록체인업체에 취직하다 - (5) 블록체인 번역자들이 종종 범하는 실수 icon Work4Block 06-28 2,583
40 정보 문과생, 블록체인업체에 취직하다 - (4) "그집 아들, 다단계 회사 다닌다면서요?" icon Work4Block 06-28 2,763
39 정보 문과생, 블록체인업체에 적응하기 - (2) 기자간담회 냐 밋업이냐? icon Work4Block 06-28 2,202
38 정보 문과생, 블록체인업체에 취직하다! - (1) icon Work4Block 06-28 2,366
37 정보 [개념 정리] 온 체인(Onchain), 오프 체인(Offchain)이 무엇인가? icon Work4Block 06-21 3,634
36 정보 비트코인의 원리 PART 5-1: 블록체인 원리 icon Work4Block 06-07 2,909
35 정보 게임계 암호화폐 유나의 옷장과 제도권심사 소식 icon Work4Block 06-07 2,745
34 정보 스마트 컨트랙트의 활용을 알아보자 icon Work4Block 06-07 3,243
33 정보 암호화폐 공공의 적, 51% 공격에 대해 알아볼까? icon Work4Block 05-30 3,408
32 정보 EOS 기반 방치형 RPG게임 제작 #1 icon Work4Block 05-27 3,174
31 정보 나만 몰랐던 블록체인 상식) 스팀잇 데이터는 어디에 저장될까? icon Work4Block 05-26 2,547
30 정보 KEEP!T History: 오스트리아 학파, 탈 중앙화(decentralization)를 선언하다. icon Work4Block 05-24 2,913
29 정보 KEEP!T History: EOS의 경제학적 기반을 세운 학파. icon Work4Block 05-18 2,172
28 정보 EOS(2): 채굴자원 확장문제 icon Work4Block 05-17 2,285
27 정보 EOS(1): 스팸 공격 방어방법 icon Work4Block 05-17 2,537
26 정보 쉽게 이해하는 블록체인 기술(3): 합의 알고리즘 icon Work4Block 05-17 2,707
25 정보 쉽게 이해하는 블록체인 기술(2) icon Work4Block 05-17 2,255
24 정보 쉽게 이해하는 블록체인 기술(1) icon Work4Block 05-17 3,216
23 정보 KEEP!T History: 장기적으로 볼 때 우리는 모두 죽는다 icon Work4Block 05-17 2,959
22 정보 토큰 이코노미 설계의 빅 픽쳐와 행위자(Actor)에 대해 icon Work4Block 05-16 2,822