본문 바로가기

카테고리 없음

블록체인이란?

1)블록체인이란?

p2p 네트워크를 통해서 관리되는 분산 데이터베이스의 한 형태로, 거래 정보를 담은 장부를 중앙 서버 한곳에 저장하는 것이 아니라 블록체인 네트워크에 연결된 여러 컴퓨터(노드)에 저장 및 보관하는 기술이다.
블록(거래)이 생성되면 블록체인 네트워크에 존재하는 체인(장부 뭉텅이) 앞단에 연결되는 형태(즉 시간순으로 블록이 연결돼있다.)로 블록으로 체인을 만든다 해서 블록체인이다.

*여기서 p2p란? 네트워크에 연결되어 있는 컴퓨터가 모든 서버와 클라이언트의 기능을 동시에 수행하는 컴퓨터 네트워크를 의미

 

----------------------------------------------------------------------------------------------------------------------------------

블록체인은 간단히 말하면 “누구나 열람할 수 있는 장부에 거래 내역을 투명하게 기록하고, 여러 대의 컴퓨터에 이를 복제해 저장하는 분산형 데이터 저장기술”로, 일정 주기로 데이터가 담긴 블록을 생성한 후 이전 블록들을 체인처럼 연결한다는 의미이다.

출처:https://www.itfind.or.kr/WZIN/jugidong/1900/file3522567871794754748-190002.pdf

 

2)블록체인의 장단점

 

블록체인의 장점:

1>분산성: 블록체인 데이터는 블록체인 네트워크 내에 분산된 노드들에 분산 저장돼있기 때문에 오류(안정성)와 악의적 조작 공격(무결성)에 대해 강하다. 즉 각 노드에 각각 같은 데이터를 저장하고 있다.

*안정성:1개의 노드에서 오류가 발생해 정상 작동을 못했어도 나머지 노드들이 정상 작동해 정상 처리하는 등의 이유로 안정성이 높다.

*무결성: 악의적 의도로 장부 내용을 위 변조 하기 위해서는 네트워크 모든 노드의 내용을 조작해야 하는 등의 이유로 무결성 보장 가능성이 높다.

위 요소들로 인해 보안성이 강화된다.

2>투명성: 블록체인 네트워크 내에 존재하는 각 노드에 모든 데이터가 분산 저장됨으로 데이터의 투명성을 제공한다.

3>확장성: 소스가 공개되어 네트워크에 참여하는 누구나 구축, 연결, 확장이 가능하다.

블록체인의 단점: 


1>프라이빗 키 손실

블록체인은 공개키 암호화 시스템(publickey + privatekey)을 사용한다.

가상화폐로 예를 들면
publickey의 경우 소유자 이외의 사람들에게 알려져도 문제가 없고 오히려 알려지는 용도로 쓰이는 key로써 지갑의 주소로 사용된다.

privatekey의 경우 본인이 가상화폐의 소유자를 입증하는 가장 중요한 키이다.
만일 privatekey를 잃어버린다면 본인의 가상화폐임에도 본인 소유로 주장할 수 없게 된다.
또한 privatekey를 타인에게 노출된다면 본인 소유의 자산을 쉽게 인출할 수 있게 된다.

2> 저장 공간의 한계

위에서 언급했듯 각 노드는 같은 장부를 저장하고 있다.
앞으로 계속적으로 장부(블록)가 생성될수록 요구되는 저장 공간은 커질 것이다.
결국 이러한 요구를 수용하지 못하는 노드가 생길 것이다.

3) 에너지 효율
각 노드에 같은 데이터를 분산 저장 함으로써 서버 내의 db에 저장하는 것보다 에너지 효율이 떨어진다.

 

3)블록체인의 기반기술

 

블록체인은 p2p 네트워크를 통해 두 노드가 합의 알고리즘에 기반해 거래 내용을 작성하고 네트워크 내의 모든 노드들에게 검증을 받는다.

이때 모든 노드들은 합의 알고리즘을 이용해 거래 내용을 검증하고 체인에 블록을 연결할 것인지를 결정한다.
블록체인은 이러한 메커니즘으로 작동한다.

 

1>p2p: 네트워크에 연결되어 있는 컴퓨터가 모든 서버와 클라이언트의 기능을 동시에 수행하는 컴퓨터 네트워크를 의미한다.



2>합의 알고리즘: 합의 알고리즘은 블록체인의 무결성과 보안을 유지하기 위한 중요한 요소이다.

블록체인 네트워크에 노드들 간의 통일된 의사결정을 내리기 위해 사용하는 알고리즘이다.

분산 저장된 여러 대의 컴퓨터의 기록이 위조, 조작, 삭제되지 않았는지 등의 기록을 검증하고 새로운 블록을 블록체인에 연결할지를 노드들끼리 합의하여 결정하는 데 사용됨.



합의 알고리즘의 종류로는

작업 증명(pow)와 지분 증명(pos) 등이 존재한다.

<합의알고리즘 종류>

 

합의알고리즘에 종류에 대해 더 자세히 알고싶다면..

https://www.koreascience.or.kr/article/JAKO201851648109450.pdf

 

3>해시 함수

해시 함수의 주요 특성은 단방향성이다.

(h(X)=a에서 X를 알면 a가 나온다는 것은 금방 찾아내지만 a를 가지고 x를 찾기는 매우 힘들다는 성질이다.)

이러한 단방향성은 완전무결성을 달성하는데 중요한 역할을 한다.



블록체인에서 해시 함수는 블록체인의 무결성 및 보안성을 강화하기 위해 여러 곳에서 사용되는데
이는 다음 포스팅인 블록체인 구조에서 많이 보게 될것이다.


4>공개키 암호화:

위에 블록체인 단점-프라이빗 키엘 대한 부분에서 개념 다룸..

블록체인에서 privatekey를 소유자 본인만 소유하고 알고 있다면 소유자의 모든 권한은 어떤 누구도 접근할 수 없는 것을 보장된다.