본문 바로가기
블록체인

블록체인(block chain) 기초

by 진득한진드기 2022. 11. 1.

블록체인이란 나와 같은 네트워크에 있는 모두가 동일한 데이터에 관한 권한을 가질 수 있는 기술이다.

 

모두가 누구나 데이터를 추가할 수 있지만, 데이터가 한번 추가 되면 수정과 삭제가 불가능하다. 그리고 모두가 함께 관리한다.

 

블록

블록은 데이터를 저장하는곳이고, 암호화해서 다양한 정보들을 담을수 있는데, 보통 구성형태는 데이터유형에 따라 달라진다.

 

암호화폐 기준으로 보통은 블록에 거래기록을 저장한다. 거래 기록은 트랜잭션 이라고 하는데, 뭐 김철수가 박짱구한테 1원을 이체했다고 가정하면, 우리가 평소 어플리케이션에서 적히는 이력처럼 "김철수 1원송금" 이런식으로 나온다고 생각하면 된다.

 

트랜잭션에는 이런 송금자의 정보와 보낸금액 등 수신자에 대한 정보도 추가로 들어올 수 있다. 또한 사용자는 자신의 자산에 대한 소유권을 증명하기 위한 디지털 서명을 추가한다.

 

체인

블록에 너무 많은 양의 거래 기록을 남긴다고 하면 편의성과 크기가 너무 커져서 사용하기 불편할 것이다. 

 

여기서 우리가 컴퓨터공부를 하면서 정말 많이 쓰고 좋아하는 분산화가 사용된다. 

 

하나의 블록에 일정한 갯수의 트랜잭션을 넣고 네트워크를 공유하고 새로운 블록을 만들고 새롭게 생긴 트랜잭션들을 넣고 새 블록에는 이전 블록의 주소를 가르키는 데이터를 함께 넣어서 직전블록이 어떤 블록인지 지정하여 분산도 하고 찾기도 가능하게 한다.

 

이러한 형식을 그림으로 그렸을 때 체인과 비슷한 형상을 한다고 하여 블록체인이라고 한다.

 

검증

아무 데이터가 트랜잭션이 될 수 있는 것은 아니다. 트랜잭션은 네트워크 내에 모든 노드들에게 공유되어 검증(verification) 절차를 수행하는데, 공유 받은 트랜잭션이 실제 송금자가 맞는지, 악의적인 사용자가 사칭한건 아닌지, 만들어지고 수정되지는 않았는지 등 검사를 한다.

 

또한 이러한 유효성 검사가 끝났다고 바로 트랜잭션으로의 처리가 된 것은 아니다. 체인 안에 추가되어 일부가 될 때까지 아직 완벽히 트랜잭션으로서의 인정을 받은 것이 아니게 되는 것이다.

 

이러한 트랜잭션을 모아서 하나의 블록으로 만드는 과정을 채굴(Mining)이라고 한다.

 

채굴이 되는 것은 트랜잭션을 처리하는 작업으로 암호화폐 입장에서 보면 송금처리가 완료되는 것이므로, 어떻게 보면 암호화폐 송금 서비스 운영에 핵심역할이다.

 

채굴 노드(해당 컴퓨터) 에게는 보상이 주어지는데, 이 것 때문에 채굴은 경쟁적으로 이루어진다. 

 

개개인 경쟁노드들은 블록을 만들어 네트워크에 전파하여 해당 경쟁에서 이긴 노드가 생성한 블록체 채택되고 유효성 검사를 거친후 해당 블록이 체인에 추가된다.

 

그 채굴에 승리한 노드에게 생성에 대한 보상으로 코인을 받게 된다. 그것이 우리가 아는 암호화폐이다. 

 

분산원장 vs 블록체인

 

원장이란 것은 거래 내역들의 집합으로, 위에서 본 블록체인은 원장을 저장하는 데이터베이스의 하나로 볼 수 있다.

 

사용자들은 원장에 대해 동등한 권한을 가지고 있는 경우를 생각하면 되고, 모든 권한이 모두에게 동등한 P2P(Peer-to-Peer) 분산원장 시스템을 생각할 수도 있다.

 

블록체인은 이러한 분산원장에 특정 기술들이 추가된 분산 원장의 한 종류이다. 

 

먼저 기본적인 분산원장과 블록체인의 다른점은 

 

크게 3가지로 나눌 수 있다.

 

1. 블록 구조

- 블록체인은 일반적으로 블록형태로 데이터가 저장되므로, 모든 분산 원장이 블록 형식은 아니다. 

 

2. 순서

- 블록체인은 무든 블록들이 직전 블록을 가르키므로, 순서대로 나열되어 있다.  모든 분산원장이 데이터를 순서대로 저장하지는 않는다.

 

3. 블록 생성 메커니즘

- 블록체인에서는 경쟁을 통해 블록을 생성하기 떄문에 특정 합의 메커니즘의을 통해 블록을 정한다. 메커니즘은 보통 자원을 소모한다.

하지만 모든 분산원장이 경쟁적으로 블록을 생성하지 않는다.

 

 

'블록체인' 카테고리의 다른 글

Project_MarketPlace 진행하면서  (0) 2022.12.30
토큰 이코노미란  (0) 2022.12.24
Web3.js 사용해보기  (1) 2022.12.22
Etherscan시 나오는 사항들  (0) 2022.12.15
암호기술  (0) 2022.11.25