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 |