돈공부/블록체인

[블록체인] 블록체인 작동 원리 (1)

Mosser 2021. 10. 9.
728x90
반응형

출처: https://www.i-on.net/news/newsletter/column/1218889_7965.html

 

이전 글에서 블록체인의 기본 구조는 위와 같다고 말했었다.

 

그리고, 각 블록안에는 트랜잭션 내용이 들어있다고 했다.

 

트랜잭션이란?

 

거래내역이라고 생각하면된다.

예를들어, A라는 사람이 B라는 사람에게 비트코인을 전송한다면, 그 거래 내역을 트랜잭션이라고 생각하면된다.

 

그렇다면 우리는 질문이 떠오를 것이다.

 

왜 블록을 체인형식으로 연결했을까? 하나의 블록에 비트코인 모든 거래내역 전부를 담으면 안되는걸까?

 

라는 생각할수도 있다.

 

일단, 이전 게시글에서도 말했듯이, 비트코인에서 블록 하나의 크기는 1MB라고 했다. 

 

1MB에는 어느정도의 데이터가 들어갈 수 있을까?

 

1MB=1,024KB이다. 일단은 이렇게 생각만하자. 나중에 컴퓨터에서 사용하는 용량 단위에 대한 게시글을 정리해서 올려야겠다.

 

영어 알파벳 한글자가 1byte의 크기를 가지고 있다. 

 

1KB=1,024Byte이다.

 

즉 1KB에는 1,024개의 영어 알파벳이 들어갈 수 있다.

 

1MB=1,024KB이므로, 1,024개의 알파벳 문자가 1,024배 더 들어갈 수 있다는 것이다.

 

즉, 1,024 * 1,024= 1,048,576이다.

대략, 100만개의 문자가 들어갈 수 있다는 것이다.

 

하지만, 비트코인의 모든 거래내역을 담기에는 턱없이 부족한 크기이다. 그렇기 때문에 여러개의 블록을 만들어서 체인형식으로 연결했다. 이게 바로 블록체인이다.

 

블록을 여러개 만들어서 저장하면 모든 거래 내역을 담을 수 있기 때문이다.

 

비트코인에서 하나의 블록에는 거래내역 2000~3000개의 트랜잭션이 들어간다고 알려져있다.

 

비트코인에서는 블록체인을 아래 그림의 오른쪽 같이 모든 네트워크 노드가 똑같이 가지고 있다. 

 

모든 네트워크 노드에서 가지고 있는 블록체인의 내용은 똑같고, 똑같아야만 한다.

 

출처:https://www.linkedin.com/pulse/blockchain-developing-economies-india-nida-khan

 

 

각 네트워크 노드가 가지고 있는 블록체인의 모습은 아래 그림과 같고, 블록 안의 내용은 모든 네트워크에서 똑같다.

 

출처: https://www.i-on.net/news/newsletter/column/1218889_7965.html

첫번째 블록은 이전 게시글에서 말했듯이 제네시스 블록이다.

그 후, 추가된 블록들이 체인 형식으로 연결되어있다.

 

만약, 특정 네트워크의 노드가 거래내역을 살펴본다면, 이 말은 해당 노드의 로컬 블록체인 데이터 내용에서 거래내역을 살펴본다는 말이다.

 

그렇다면, 거래는 어떻게 진행될까?

 

출처:https://www.linkedin.com/pulse/blockchain-developing-economies-india-nida-khan

위 그림의 왼쪽은 중앙화 시스템이고, 오른쪽은 블록체인 네트워크에서의 그림이다.

 

중앙화 네트워크에서의 거래 방법

 

중앙화 네트워크에서의 거래 방법은 우리가 은행거래를 하는 것과 똑같다. 

 

A라는 사람이 B에게 계좌이체를 한다고 생각해보자.

A는 은행에 가거나, 스마트폰 어플리케이션을 이용하여 B의 계좌번호를 누르고, 금액을 입력하고, 비밀번호를 입력한다.

 

계좌이체 신청은 중앙에 있는 서버에서 안전하게 처리된다. 그 후, 거래 내역도 중앙 서버에서 안전하게 처리가된다.

 

잠시뒤, B는 은행에가서 계좌를 확인해보면 이체가 성공적으로 된 걸 확인할 수 있다.

 

중앙화 네트워크에서는 중앙 서버의 역할이 핵심이다. 이 중앙 서버가 공격당한다면, 어떻게 될까? 

 

거래 내역이 바뀔수도 있으며, 돈 전송이 제대로 되지 않을수도 있다. 

 

중앙화 네트워크에서는 중앙 서버의 역할이 너무나도 중요하다. 이 중요한 역할로 인해서, 사람들은 중앙 서버에 대한 신뢰도가 떨어질 수 있다고 생각하였고, 이러한 불안감을 해소하기 위하여 탈중앙화 네트워크 개념이 만들어진 것이다.

 

 

탈중앙화 네트워크에서의 거래 방법

 

위 그림의 오른쪽이 탈중앙화 네트워크에서의 모습이다. 어떻게 거래를 진행할까?

 

만약 A라는 사람이 B에게 금액을 전송한다고 한다면, A라는 사람이 B에게 전송하는 거래내역이 있을 것이다.

 

그러면, A가 B에게 전송하는 거래내역이 네트워크의 모든 노드에 전송될것이다. 즉 오른쪽 그림에서 모든 노드에 거래내역이 전송되는 것이다. 그리고 궁극적으로, 네트워크의 모든 노드가 A와 B에대한 거래내역을 가지게 되는 것이다.

 

그러면, 중앙화 네트워크의 차이점이 눈에보인다.

 

탈중앙화 네트워크에서는 특정 노드를 해커가 공격하더라도, 다른 네트워크에서 똑같은 거래내역을 가지고 있기 때문에, 공격당했을 경우, 다른 네트워크와 거래내역 비교를 통하여 다시 복구할 수 있을 것이고, 위조 또는 변조가 어려워진다.

 

이것이 바로 탈 중앙화 네트워크에서의 핵심이다. 

 

자, 그렇다면 좀 더 구체적으로 들어가보자.

 

각 네트워크 노드는 어떻게 블록을 생성할 것이며, 거래내역을 저장할까? 이는 다음 글에 올리겠다.

 

이 게시글에서 중요한점은 탈중앙화 네트워크와 중앙화 네트워크에서의 거래방식의 차이점, 장 단점을 알아가는게 핵심이다.

반응형

댓글