[정보] 비트코인의 원리 PART 5-1: 블록체인 원리

image.png

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

image.png

우선은 정리된 여러 장부들을 ‘블록’의 형태로 분리합니다. 각각의 블록은 ‘작업증명을 포함한 거래 기록들’을 담고 있습니다.

image.png

(질문): “참새님, 작업증명 (proof of work)이란 무엇인가요?”

장부가 거래 기록뿐만 아니라 작업증명을 포함하고 있다는게 무슨 말인지 헷갈리시죠? ㅎㅎ 전의 포스팅에서 알아봤듯이 작업증명이란 SHA-256와 같은 암호화 해쉬 함수로 장부의 정보를 넣었을 때 특정한 숫자들이 나오게끔 해주는 ‘마법의 숫자’입니다.

위의 그림에서처럼 각 장부의 기록들은 다르지만 작업증명 숫자들 (예. 844421851525)을 함께 SHA-256 해쉬 함수에 넣었을 때 첫자리 숫자들에 ‘0’이 계속해서 반복되는 것을 보실 수 있습니다. 거래 기록도 다르고 전자서명도 다르지만 어떤 마법의 숫자를 함께 포함시켜서 함호화 해쉬 함수에 넣어보니 ‘0’이 계속해서 반복이 되었습니다. 이렇듯 ‘0’이 계속 반복되어서 나타나게끔 해주는 숫자를 ‘작업증명’이라고 하고, 이런 ‘작업증명’ 숫자를 찾는 과정을 ‘작업증명 방식’이라고 부릅니다.

image.png

위의 그림을 한 번 더 보실게요!

‘어떠한 거래 기록’이 있고, ‘특정 숫자 (320780322309)’를 암호화 시켰더니 첫 60자리 숫자들이 신기하게도 ‘0’이 반복되어서 나타났습니다 (60번이 반복되는 것은 예로 들겠습니다). 암호화를 하는 과정은 랜덤하게 진행되는 것이라서 어떤 숫자를 넣어야지 암호화 시켰을 때 ‘0’이 60번 반복되어서 나타날 지는 아무도 모릅니다. 그러니까 채굴자들은 계속해서 컴퓨터를 돌려서 결과물의 첫 60자리가 모두 ‘0’이 나올 때까지 ‘때려 맞춰야’합니다 ^^;;

image.png

정리된 장부들이 블록들로 분리된 후에는, ‘순서’를 정해줘야 하겠죠? ㅎㅎ 여러 종류들의 서류들을 깔끔하게 정리를 해놨는데 순서가 뒤죽박죽이면 안되니까요 ^^;;

‘블록들의 순서’를 정해주기 위해서 각 블록들은 이전 블록 (a previous block)의 해쉬를 포함하게 됩니다.

서류 #2 = 서류 #1의 해쉬 + 장부 거래 기록 + 전자서명 + 작업증명
서류 #3 = 서류 #2의 해쉬 + 장부 거래 기록 + 전자서명 + 작업증명

이런 식으로 서류를 정리하게 된다면 서류들 서로간에 ‘순서’가 명확해지겠죠. 블록을 정리할 때도 똑같습니다.

image.png

만약에, 첫 두 블록들의 순서를 바꾸려면 어떻게 해야 할까요?

그림에 보시다시피 첫 번째 블록과 두 번째 블록의 순서가 뒤바꼈습니다. 그런데, 각 블록의 맨 위에는 ‘이전 블록의 해쉬’를 포함하고 있기 때문에 첫 번째 블록과 두 번째 블록의 ‘이전 블록의 해쉬’를 다시 바꿔줘야 하죠. 그런데 더 큰 문제는, 이전 블록의 해쉬를 다시 바꿔준다는 말은 ‘블록의 해쉬’ 또한 바뀐다는 말이기 때문에 원래 지정되었던 첫 번째 블록과 두 번째 블록의 순서를 정식대로 바꾸려면, 이 블록들과 연결되어 있는 모.든. 블록들의 해쉬를 다시 다 찾아야 합니다. 순서 하나 바꾸려면 여태까지의 모든 블록들의 해쉬를 다시 다 찾아야 하니까 불가능에 가깝겠죠 ^^;;

(질문): “참새님, 이전 블록의 해쉬만 다시 찾으면 되는 것 아닌가요? 왜 굳이 모든 이전의 블록들의 해쉬까지 다 찾아야 하나요?”

좋은 질문입니다. 예를 들어서 4개의 블록들이 있다고 가정해보겠습니다. #3 블록과 #4 블록의 순서를 바꾸려면 #3&4 블록들의 ‘이전 블록들의 해쉬’를 다시 찾아야 하는 것까지는 아실 겁니다. 그런데, #4 블록이 #3 블록으로 바꼈으니까 예전 #2 블록의 해쉬는 더이상 #3 (예전의 #4) 블록의 ‘이전 블록의 해쉬’가 아니게 되어버리죠. 그러니까 ‘체인 (사슬)’처럼 연결된 블록들의 일부분 순서를 바꾸려면 모.든. 블록들의 해쉬를 다시 다 찾아줘야 합니다.

image.png

이렇듯, 제대로 인증된 블록들은 사슬처럼 연결되어 있기 때문에, 더이상 장부라고 부르지 않습니다.
바로 ‘블록체인’이라고 부르게 됩니다.

간단하게, 체인(사슬)처럼 연결되어 있는 블록들이죠 ^^

참조링크

제 포스팅이 유익하였다면 보팅 , 리스팀팔로잉 부탁드립니다 ^^
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
비트코인의 원리 PART 4-2: 해쉬 함수와 작업 증명 방식의 원리
https://steemit.com/kr/@kim066/part-4-2

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

블록체인 기술

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