CS/기타

[IT지식] 블록체인

코딩하는 포메라니안 2021. 12. 1. 15:52

1. 개념

1. 블록체인이란?

- 블록들이 체인처럼 연결된 형태의 데이터베이스

- P2P(Peer to Peer)네트워크를 통해서 관리되는 분산 DB의 한 형태

*P2P : 서버나 클라이언트를 나누지 않고 개인 컴퓨터 사이를 연결하는 통신망

 

 

2. 한 블록의 구성

1) block hash

2) previous block hash

3) data

 

 

3. hash : input => output,

1) 결정론적 : 특정 input에 대한 output이 고정적이다.

2) 일방향 함수 : output => input을 얻을 수 없다.

=> hash로 블록의 체인을 만듦 : 나의 hash = 이전 hash + data를 hash처리한 값

 

 

2. 활용 방안

- 암호화폐 : 은행을 거치지 않고 결제를 진행할 수 있다.

- 스마트 계약 : 은행과 같은 중개인을 거치지 않고 계약 당사자끼리 계약을 맺을 수 있다.

- 투표 : 블록체인에 투표 기록을 저장하면 신뢰성을 강화할 수 있다.

- 기존 소프트웨어의 보안 강화

+) 향후 인공지능(AI)이나 사물인터넷(IoT) 등 4차 산업 혁명을 이끄는 핵심기술과 융복합될 가능성이 높다. 대용량 데이터의 수집과 운용이 중요하기 때문에 데이터 보안에 강점을 보이는 블록체인이 많이 활용될 것이다.

 

 

3. 장점

1. "추가"만 가능

- 변경, 삭제가 안되기 때문에 정보 보호하기 유리

ex) 운전면허증

 

2. 탈중앙화(Decentralization)

- 특정 개인이 DB를 관리할 수 없다.

- 높은 보안성 = 여러 곳에서 정보를 복제한 상태로 갖고 있기 때문에, 한 곳에서 데이터 변경(해킹)이 일어나도 잡을 수 있음

- DDoS 공격을 원천적으로 방어할 수 있다.

 

 

4. 단점

1. 상대적으로 느린 거래 처리 속도

네트워크 참여자가 많아질수록 검증해야 할 거래가 많아지면서 소요시간이 증가

ex) 비트코인의 경우 초당 최대 7건의 거래만 처리 가능하며, 평균 10분의 블록 형성시간이 필요

 

2. 누적 데이터 증가 및 저장 공간 부족 문제

- 블록 체인에 한번 기록된 데이터는 계속 누적됨

- 블록의 용량이 제한적이므로, 대용량 데이터 기록이 필요한 분야에 활용되기 어렵다.

ex) 비트코인의 경우 블록 최대용량은 1MB

 

 

5. 해결 방안

1. 거래처리 속도 높이기

- 탈중앙화의 규모를 줄이고 거래처리 속도를 높인다.

- 다중 블록체인과 샤딩 등 분할처리 방식으로 거래 처리 속도의 증가

 

2. 중요 데이터만 블록체인 활용

- 대용량의 데이터는 블록체인 외부서버에 보관하고 해당 데이터의 참조값 및 접근 권한 정보 또는 데이터 무결성 여부파악을 위한 키값 등은 블록체인에 저장해서 외부서버에 저장된 데이터를 안전하게 관리

'CS > 기타' 카테고리의 다른 글

[IT지식] 머신러닝(기계학습)  (0) 2021.12.06
[IT지식] 빅데이터  (0) 2021.12.06
[Python] REST API 사용법  (0) 2021.09.19
자주 사용하는 파이썬 함수 정리  (0) 2021.08.25
네이티브 앱, 모바일 웹앱, 하이브리드 앱  (0) 2021.06.22