Definition | 정의
Blockchain Technoloy
modern database management technique
현대적인 데이터 베이스 관리 기술
▷ 다른 네트워크의 노드들이 체인과 링크로 정보를 공유할 수 있게 해줌
따라서 데이터는 블록에 저장되어있으며, 체인으로 연결되어 있다.
이러한 체인은 삭제 및 수정이 불가능하므로 일관성을 유지할 수 있다.
Blockchain
ever-growing ledger in a network
*ledger | 원장 : 금융 시스템과 관련된 거래를 기록하는 디지털 또는 물리적 일지
블록체인에서의 ledger : 모든 거래 기록이 포함된 증가형 데이터 파일
- track record of all transactions 모든 거래 내역을 추적해서 기록
- secure, ordered, immutable way
linked list의 형태라고 생각할 수 있다. 각 노드가 다음의 노드를 포인터로 가리키는 형태와 같다.
이러한 노드 형태를 블록이라고 한다.
하나의 블록이 완료될 때마다 새로운 블록이 생성된다.
- 분산형 데이터베이스
- 데이터를 블록 단위로 저장
- 각 블록은 암호학적 기법을 통해 서로 연결됨
- 블록에 추가된 정보는 수정 및 삭제가 불가능함
- 신뢰성이 높음
- 탈중앙화 방식으로 운영됨
- 제 3자 중개자 없이 운영 가능
- 컴퓨터 네트워크에 의해 거래가 검증됨
- 모든 사용자에게 검증되며, 모든 사용자가 공동으로 관리하는 정보
Elements | 요소
아래의 세 가지 요소들은 블록체인 네트워크에 중요한 요소들이다.
Distributed Ledger | 분산 원장
네트워크의 모든 구성원이 decentralized ledger과 unchangeable log of transcation (변경 불가능한 거래 로그)에 접근 할 수 있다.
모든 사람이 하나의 common ledger을 공유할 수 있게 되고, 거래 내역은 한 번만 기록된다.
기존에 사용하던 비즈니스 네트워크처럼 중복 작업이 필요하지 않다.
Immutable Records | 변경 불가능한 기록
ledger에 기록된 transaction은 수정하거나 조작할 수 없다.
만약, transaction에 오류가 발생하면, 새로운 transaction을 생성하여 수정해야하기 때문에, 잘못된 거래도 모두 기록된 상태로 남아있게 된다.
Smart Contracts | 스마트 계약
transaction (거래)를 빠르게 처리하기 위해 Smart Contract (스마트 계약)이라는 규칙이 블록체인에 저장되고 자동으로 실행된다.
기업 채권 거래 조건을 정의하건, 여행 보험 지급 조건을 포함하는 등 다양한 용도로 활용된다.
Workflow | 작동 방식
블록체인은 "Script"라고 불리는 순차적 프로그램들로 구성된다.
script는 데이터베이스에서 정보입력, 데이터조회, 저장 및 복사 등의 작업을 수행한다.
한 번 ledger에 기록된 데이터는 변경할 수 없다.
블록체인은 분산형시스템으로, 여러 대의 컴퓨터에 동일한 복사본이 저장되며 모든 복사본이 일치해야 유효한 데이터로 인정된다.
네트워크 유형에 따라 차이가 있을 수는 있지만, 기본적인 절차는 이와같이 진행된다.
- 거래가 시작되면, 블록체인과 상호작용하는 애플리케이션이 일련의 프로세스를 실행한다.
- 네트워크의 각 노드(node)는 자신만의 블록을 생성하며, 서로 다른 거래를 선택하여 블록에 포함시킨다.
- 각 노드는 difficulty target을 충족하는 해답을 찾기 위해 작업을 수행하고 이를 위해 nonce (랜덤 숫자) 를 사용한다.
- 블록이 완성되면 거래가 완료된다.
Features | 특징 및 개념
Decentralization | 탈중앙화
- 데이터를 여러 네트워크 노드 (블록체인을 실행하는 컴퓨터)에 분산 저장
- 데이터의 중복성 보장
- 데이터의 무결성 유지
네트워크 내의 어느 개별 노드는 블록체인 정보를 단독으로 변경할 수 없고, 블록 해시 비교를 통해 변경을 막는다.
Transparency | 투명성
- 모든 거래가 공개적으로 조회 가능
- 블록체인 탐색기로 실시간으로 거래를 모니터링 가능
- 각 노드는 자신만의 블록체인 복사본을 보유하고 있음
- 새로운 블록이 추가될 때마다 이를 업데이트 함
Security | 보안
- 새로운 블록은 기존 블록체인의 끝에 추가됨
- 선형적으로 저장됨
- 한 번 추가된 블록은 변경할 수 없음
- 과거 블록을 조작하는 것이 불가능함
- 블록 내부 데이터가 변경되면 해시값이 변경됨 -> 연결된 모든 블록이 영향을 받게 됨
- 블록 조작 시도가 있을 시 네트워크가 이를 감지하고 변경을 거부함
Type
Public Blockchain
- 모든 사용자가 참여할 수 있는 완전히 개방된 네트워크
- 모든 사용자가 데이터 확인, 블록 추가, 검증을 수행할 수 있음
- ex) Bitcoin, Ethereum, Litecoin
Private Blockchain
- 단일 기관이 관리하는 블록체인(managed blockchains)으로, 네트워크 참여가 제한됨
- exhibit partial decentralization 부분적 탈중앙화
- ex) Ripple
Consortium Blockchain
- 여러 조직이 공동으로 운영하는 블록체인
- 선정된 참여자들만이 네트워크 운영 및 데이터 접근 권한을 가진다.
- 같은 목표를 가진 기업들이 협력할 때 유리함
Hybrid Blockchain
- public + private
- 특정 데이터는 private으로 보호, 나머지는 public으로 공개함
출처
https://www.tutorialspoint.com/blockchain/blockchain_introduction.htm