본문 바로가기
Code4Human/친근한 IT 상식

블록체인이 허구일 수 없는 이유 -2

by 코드포휴먼 2019. 4. 29.

2편에서는 블록체인의 핵심원리인 작업증명(PoW, Proof of Work)을 알아본다.

<블록체인이 허구일 수 없는 이유> 2편

블록체인이 가지고 있는 신뢰와 합의의 특수성에 대해 소개하겠다.

 

 

블록체인은 분산형 데이터 저장 기술이라고 소개한 바 있다.

그러나 분산된 데이터가 변경될 때마다 어떻게 관리를 하는지 의문이 들기 마련이다.

새로운 데이터로 동기화되는 동안에 데이터가 또 변경되면 어쩌지? 하고 말이다.

 

 

해답은 개인이 데이터를 임의로 고칠 수 없다는 것에 있다.

블록체인의 합의방식을 정말 간단히 요약하자면, 데이터를 공유하고 있는 사람들이 모두 준비가 되면 새로운 정보로 변경할 수 있다.

즉, 사용자간의 '합의'를 통해 오류를 막는 것이다.

 

 

블록체인이 의미하는 바가 무엇인지 짚고 넘어가야할 필요가 있겠다.

블록체인은 말 그대로 블록과 체인으로, 거래기록을 연결한다는 의미를 가진다.

그리고 그 거래기록은 공공의 장부에서 모든 사용자가 확인할 수 있다.

 

 

거래기록을 담은 블록이 많이 생성될수록, 공공의 원장이 많은 사용자에게 분산이 될수록 신뢰도는 높아진다.

 

 

컴퓨터 과학분야에서 오랫동안 풀지 못했던 비잔티움 장군문제로 예를 들어보겠다.

서로를 신뢰할 수 없는 사람들 간에 발생하는 문제에 관한 내용이다.

블록체인은 이 비잔티움 장군문제에 해결책을 제시했다.

 

 

문제를 보자면 장군들은 바로 다음 장군에게만 공격시간을 보낼 수 있다.

따라서 중간에 누군가가 스파이짓을 한다면 작전은 바로 실패로 돌아가게 되는 것이다.

 

 

악의를 품은 사용자의 계략을 알 수 없다는 것이 오랜 난제였다.

이러한 신뢰의 문제는 오랫동안 풀지 못해왔다.

하지만 블록체인의 작업 증명이라는 대표적인 합의방식으로 이를 해결할 수 있다.

 

 

상대방을 알지 못하는 상태에서 정보를 주고 받을 때 어떻게 믿을 수 있을까?

본인이 보낸 내용이 진짜라고 증명하는 증거도 같이 보내면 된다.

장군들에게 공격 시각을 증명하도록 10분의 시간이 주어졌다고 생각해보자.

중간 단계에 있는 장군이 꼼수를 부리려면 10분 동안 이전의 작업증거도 고치고,

본인의 내용이 진짜라고 증명하는 작업까지 해야한다.

따라서 내용을 위변조하기가 사실상 힘들어진다.

 

 

문제 속에서 살펴보았듯이, 내용을 수신한 장군은 10분이 사용된 증거를 보고

"앞의 장군이 의견을 보내려고 10분을 썼구나"라고 생각하여 수신내용을 신뢰할 수 있는 것이다.

기존의 정보를 변경하면 변조됐다는 사실을 알 수 있기 때문에 임의로 바꿀 수도 없다.

이러한 방식을 작업 증명(PoW, Proof of Work)라고 한다.

 

 

 

블로그 링크 https://blog.naver.com/blockchainuniv

 

Blockchain Univ. : 네이버 블로그

좋은 글과 새로운 이웃을 만나는 곳

blog.naver.com

인스타그램 링크 https://www.instagram.com/blockchainuniv/

페이스북 링크 https://www.facebook.com/blockchainuniv

댓글