[블록체인] 블록체인 이론
블록체인 핵심 기술
- 보안요소: 키 기반 암호기술, 해시 알고리즘, 인증기술(CA, PKI)
- 네트워크 + 웹서비스 기술
- 합의 알고리즘 - 합의 알고리즘의 필요성과 분류
- 스마트 컨트랙트
Server-based 네트워크
- 데이터를 서버만 가지고 있는 네트워크
- 관리가 쉽다
- 구조가 단순하다.
- 과금이 쉽다.
- 효율이 높다.
- 보안이 약하고, 해킹에 취약하다.
- 병목현상이 발생하기 쉽다.
- 신뢰성과 투명성이 낮다.
P2P 네트워크
: 데이터를 모두가 나눠가지고, 서로에게 줄 수 있는 네트워크
- Server: Data를 가지는 자
- Client: Data를 요청하는 자
- 관리가 어렵다.
- 구조가 복잡하다.
- 과금이 어렵다.
- 효율이 낮다.
- 보안이 강하다.
- 병목현상이 발생하지 않는다.
- 신뢰성이 높다.
스마트 컨트랙트
- 서면으로 이루어지던 계약을 코드로 구현하고 특정 조건이 충족되었을 때, 해당 계약이 이행되도록 하는 개념
- 블록체인 네트워크에서 동작하는 응용프로그램의 단위로, 스마트 컨트랙트의 개발 흐름은 웹 응용프로그램 개발과 유사함
- 블록 데이터를 만들어낸다.
- 학술적 개념: 분산시스템 구동가능한 프로그래밍. 네트워크를 구성하는 모든 노드들이 프로그래밍을 수행할 준비를 하고, 수행할 타이밍만 결정되면 어디서든 바로 실행되는 시스템
- 자동으로 수행되지 않는다.
스마트 계약(Smart Contract)
- 스마트 계약은 금융거래를 벗어나 블록체인 상에서 다양한 거래를 실현
- 중재자 없이 P2P로 계약을 체결하고 수정할 수 있는 기술
- 중개자와 상호 거래 이력의 문서화 절차 없이 자동화된 계약처리가 가능
- 현재 금융업을 제외하면 블록체인 활용 형태가 각 개별기업에 국한되어 있어 거래(계약) 중개, 공급망 구축 등의 시너지 효과는 발휘되지 않는 상황
- 개별 기업의 도입 단계를 거쳐 산업 내 블록체인 네트워크 형성이 현실화되기까지는 비용 문제나 메뉴얼 수립 등이 필요해 다소 시간이 소요될 전망
현대의 웹서비스 기술
- 분업과 독립화
- 웹서버의 기능이 웹브라우저(클라이언트)로 많이 넘어갔고, 단순화되었다.
- 클라이언트 디바이스(모바일 기기)의 고도화
블록체인에서의 어플리케이션
- 블록체인 네트워크(Mainnet): geth(이더리움 클라이언트들의 집합), hyperledger facbric, ...
- 블록체인 스마트컨트랙트: solidity, chaincode, ...
- 웹서비스: 웹서버, 웹클라이언트, DB, ...
- ...