블록체인(Blockchain)의 원리

블록체인의 원리

오늘은 블록체인(Blockchain)이 작동되는 원리에 대해서 이야기해 보겠습니다.

블록체인의 원리


블록체인

흔히들 블록체인을 설명할 때, "여러개의 블록을 체인으로 연결한 것"이라고 표현하죠.

여기서 "블록"은 "데이터"를 의미하며(블록 = 데이터),

여러개의 블록을 연결하는 수단으로 쓰이는 "체인"은 "해시 값"을 의미합니다(체인 = 해시 값).

즉, 여러개의 데이터를 해시 값을 통해 연결한 것이라고 할 수 있습니다.


분산 원장 기술

블록체인은 블록체인 네트워크에 참여하고 있는 모든 사람들이 함께 관리합니다.

블록체인 네트워크에 참여하고 있는 모든 사람들은 블록체인의 데이터 베이스를 동시에 복제하여 저장합니다.

즉, 블록체인 네트워크는 중앙 서버나 관리자가 없이 개인들이 데이터 베이스를 공유하고 동기화하는 기술(분산 원장 기술)을 활용하고 있습니다.

이러한 분산 원장 기술은 모든 사람들이 데이터 베이스에 대한 복제본을 가지고 있기 때문에 정보를 공유하고 이를 대조해 데이터를 위조하기 못하게 합니다.

 


블록의 구조

블록체인의 구조
블록의 구조

블록은 "데이터", "블록의 해시 값", 그리고 "이전 블록의 해시 값"을 포함합니다.

블록 = 데이터 + 블록의 해시 값 + 이전 블록의 해시 값

 

데이터

말 그대로 "데이터", 즉 "정보"를 뜻합니다.

비트코인 블록체인의 경우, "비트코인을 주고받은 기록"을 블록의 데이터로 저장하게 됩니다.

 

해시 값

해시 값은 해시 함수를 통해 구할 수 있습니다.

해시 함수에 어떠한 데이터를 넣게 되면, 해당 데이터를 고유의 해시 값으로 변환합니다.

*블록 안의 최소한의 데이터라도 바뀌게되면 해시 값도 완전히 다른 값으로 바뀌게 됩니다. 

 

블록의 해시 값

모든 블록은 해당 블록의 데이터이전 블록의 해시 값에 대한 해시 값을 가지고 있습니다.

해시 함수( 데이터 + 이전 블록의 해시 값 ) = 블록의 해시 값

 

이전 블록의 해시 값

블록의 연결 원리
 Example : Blockchain

모든 블록은 "이전 블록의 해시 값"을 나타냄으로써, 하나의 체인으로 연결이 됩니다.

각각의 블록은 블록 자체의 해시 값과 이전 블록의 해시 값, 총 2개의 값을 가지고 있습니다.

3번째 블록은 2번째 블록을 표시하고, 2번째 블록은 1번째 블록을 표시합니다.

만약 누군가가 어떠한 블록의 데이터를 변경하게 된다면, 해당 블록의 해시 값이 바뀌게 됩니다.

바뀐 블록의 해시 값은 다음 블록의 "이전 블록의 해시 값"과 일치하지 않기 때문에 자동으로 무효 처리가 됩니다. 


이상으로 블록체인의 원리에 대해 이야기해 보았습니다.

댓글

Designed by JB FACTORY