초보자를 위한 Blockchain 강좌 #9 채굴 - 블락체인의 분기steemCreated with Sketch.

in #blockchain7 years ago (edited)

토픽 내용을 시작하기 전에 먼저 다음과 같이 마음속으로 속삭여 보시라고 말씀드리고 싶네요.
"나는 내용이 아무리 어렵게 쓰여 있어도 아주 쉽게 받아 들일 수 있다!"
방금 학습에 있어서 매우 중요한 것을 알려드렸습니다.
어떤 것을 접하더라도 할 수 있다는 믿음이 있다면 그 학습 능력은 놀랄만치 올라간다는 것을요.

3.png
[블락체인, 출처]

블락체인은 Nonce값을 찾는 것을 어렵게 함으로써, 해킹에 안전하게 됩니다. 하나의 블락의 위조도 어려운데, 블락들이 체인의 형태를 이루기 때문에, 블락이 쌓이면 쌓일수록 데이터의 위조는 어렵게 됩니다. 만약 채굴 과정이 쉽다면 데이터 위조가 쉽게 될 수 있겠죠. 이와 관련하여 블락체인의 장점 중 하나는 데이터가 위조되었는지를 쉽게 알아낼 수 있습니다. 위 그림을 보면 하나의 블락은 이전 블락의 해쉬값을 가지고 있습니다. 이 이전 블락의 해쉬값은 그 이전 블락의 해쉬값을 가지고 있고요. 계속 체인으로 연결되어 있는 것입니다. 위 그림을 예로 들어 설명하면, 가장 왼쪽이 최근 블락이고, 오른쪽으로 갈수록 오래된 블락입니다. 만약 제일 오른쪽 블락의 정보를 누군가가 고쳤다면 이것은 가운데 블락의 "이전블록해쉬"값을 변경시키게 됩니다. 그리고 이렇게 변경된 것은 또다시 가운데 블락의 해쉬값을 변경시키게 되고, 왼쪽 블락의 "이전블록해쉬"값을 변경시키게 됩니다. 따라서 왼쪽 블락은 "이전블록해쉬"값은 비교함으로써 블락 데이터가 변경되었는지 금방 알 수가 있게 됩니다. 요약하면 현재 블락의 "이전블록해쉬"는 현재 블락 이전의 모든 블락들의 데이터에 영향을 받게 됩니다. 이것은 각 블락이 체인으로 연결되어 있기 때문입니다.

블락체인에서 데이터 변경을 즉각적으로 감지할 수 있습니다.



그럼 이쯤에서 이전 토픽에서 아래와 같은 질문에 대해서 잠시 살펴보겠습니다.
Q) 어떤 두 채굴 노드가 동시에 Nonce를 찾게 되면 어떻게 될까요?

0.png
[블락체인의 분기, 출처]

A) 위 그림과 같이 블락체인은 분기 됩니다. 그러나 블락체인은 블락의 길이가 긴 것을 택하므로써 위와 같은 분기 문제를 해결합니다.

블락체인 네트워크는 분기가 발생했을 때 블락의 길이가 긴 것을 택하도록 되어 있습니다. 블락이 글이가 짧은 분기는 블락체인에서 사라지게 되고요. 위 그림에서 Block 56번째 다음에 두 개의 각기 다른 블락 Block 56(그림이 좀 잘못됐습니다. 부모 블락과 같은 height이므로 편의상 Block 56-1로 하겠습니다.), Block 57이 생성되었습니다. 일단 블락체인 네트워크는 이 상태를 유지합니다. 분기한 Block 56-1과 Block 57은 각각 블락의 길이가 1이라 동등하기 때문입니다. 그러나 다음 번 채굴과정에서 Block 58이 Block 57의 해쉬값으로 만들어 졌습니다. 앞에서 얘기했듯이 블락에는 "이전블록해쉬"가 있습니다. Block 58의 "이전블록해쉬"는 Block 57의 해쉬값으로 되어 있단 얘기입니다. 블락체인이 위 그림과 같이 되었을 때, 분기된 블락의 길이가 달라지게 됐습니다. 블락체인은 이제 블락의 길이가 긴 것을 남기고 블락 길이가 짧은 것은 없애버립니다.

만약 또다시 채굴 노드들이 동시에 블락을 생성하게 되면 분기는 유지될 것입니다. 하지만 이런 우연은 오래 지속되지 않습니다. 곧 분기들은 정리되고 블락체인은 하나의 라인으로 될 것입니다.

블락체인은 분기가 일어나면 긴 블락을 선택합니다.



이번 토픽의 홈워크는 블락체인 해킹 안전성을 위해 무지막지한 전기세를 "낭비"하는 "채굴" 즉 "작업 증명(Proof of Work)" 말고 대안은 무엇인지 생각해 보고 댓글로 남기는 것입니다.


포스팅한 내용이 유익했다면 아래의 스팀잇의 게시글 하단에 투표해주세요!
투표하셔도 스팀이나 스팀파워가 소모되지 않습니다.

강좌를 오픈튜토리얼스에서 온라인 강좌형태로 보실 수도 있습니다.
오픈튜토리얼스 바로가기


초보자를 위한 Blockchain 강좌 시리즈

Sort:  

뉴비는 언제나 환영!이에요.
팁! : 스팀잇 세계의 좋아요를 업보팅, 나빠요!를 다운보팅이라고 합니다.
6.94% 보팅
현재 보상량 : [ 평균 - 0.94 / 9개 / 합계 : 8.48 ]

  • kr-newbie 보안관 봇! (beta 0.5.0 - 2017/07/17)

Coin Marketplace

STEEM 0.25
TRX 0.11
JST 0.033
BTC 63243.61
ETH 3078.23
USDT 1.00
SBD 3.89