Blockchain

굥굥·2021년 9월 9일
0

Blockchain

탈중앙화

P2P 네트워크를 통해 관리되는 분산 데이터베이스

DLT (Distributed Ledger Technology, 분산 원장 기술)이라고도 함

  • 블록들이 형성된 후 시간 흐름에 따라 순차적으로 연결된 체인 구조
  • 거래정보를 블록체인 네트워크에 연결된 여러 노드(컴퓨터)에 저장
  • 거래 정보를 기록한 원장 데이터를 중앙 서버가 아닌 참가자들이 공동으로 기록 및 관리
  • 분산 처리와 암호화 기술을 동시에 적용하여 높은 보안성을 확보 (DDos 공격 방어)
  • 거래 과정의 신속성 및 투명성

Block Structure

1) Hash of the block

  • 블록의 이름 정보
  • 간단히, 블록의 header 정보 합을 구한 후 SHA256으로 변환한 값

2) Version

  • 해당 블록 버전
  • 소프트웨어 버전과 동일

3) Previous block hash : 이전 블록의 주소 값을 가리키는 요소 (이전 블록의 해시 정보)

4) Merkle tree root : 무결성 검증을 위한 요소

  • 블록 body에 저장된 transaction(거래) 정보들의 해시 트리
  • 가까운 노드끼리 해시 값을 구하여 최종적으로 구해진 해시 값
  • 거래가 발생할 때마다 값이 업데이트
  • 머클 해시 값을 통해 단일 블록 내에 존재하는 transaction의 무결성 검증 가능
  • 머클 해시 값으로 블록의 해시 값을 생성하였기 때문에 블록 해시의 무결성 검증 가능

5) Timestamp : 블록의 대략적 생성 시간 (유닉스 기준)

6) Difficulty : 작업 증명 난이도

7) Nonce

  • 블록을 만드는 과정에서 해시 값을 구할 때 필요한 값
  • 블록 난이도에 따라 자동으로 설정된 "target" 보다 작은 블록 해시 값을 찾아야 함
  • 랜덤 해시 값을 생성할 수 있도록 사용하는 임시값
  • nonce 값이 달라지면 연산 결과인 블록 해시 값도 달라짐
  • 이러한 nonce 값을 바꿔가며 연산하다가 생성된 블록 해시 값이 "target" 보다 작을 경우 새로운 블록이 성공적으로 생성됨

8) Tracsaction Counter : 기록된 거래 수

9) Transaction #N : 실제 거래 기록


Blockchain 기술

1) 공개키 암호화

  • 공개키로 암호화를 하면 쌍을 이루는 개인키로만 복호화 가능

2) P2P network

  • Peer to Peer
  • 네트워크에 연결된 다수의 사용자가 직접적으로 통신
  • 각 노드는 서버가 될 수도, 클라이언트가 될 수도 있음
  • 네트워크에 참여하는 노드는 블록체인 정보를 가짐
  • 동일한 거래 내역이 노드에 분산 저장
  • 거래가 이상 없음을 확인하는 분산 합의 제도 채택
  • 별도의 신용 기관 없이 P2P에서 검증

3) Blockchain Protocol

  • 블록체인 프로토콜은 합의 방법(Consensus method)의 일반적인 용어
  • 블록체인 네트워크 내에서 합의에 도달하고 거래를 검증하기 위해 구현되는 서로 다른 시스템

4) SHA256


Blockchain Type

1) Public Blockchain

  • 권위 있는 조직의 승인 없이 누구나 node가 되어 참여 가능
  • 운영과 참여의 주체가 불분명하기 때문에 코인을 발행하여 인센티브 제도를 운영

2) Private Blockchain

  • 법적 책임을 지는 허가 받은 사람만 참여 가능
  • 운영과 참여 주체가 분명하기 때문에 인센티브 제도인 코인을 발행할 필요가 없음
  • 비공개적으로 유지하는 곳, 금융 기관

3) Consortium Blockchain

  • 기업이나 여러 기관이 하나의 그룹을 만들어 블록체인 네트워크를 구성하는 구조
  • public, private의 성격을 모두 가질 수 있음
  • 각 노드에도 특정 역할을 부여할 수 있고 통제권을 가진 네트워크
  • 원활한 커뮤니케이션이 요구되는 단체
블록체인 유형PublicPrivateConsortium
접근성누구나허가 필요허가 필요
하드포크가능불가능불가능
탈중앙성높음낮음낮음
합의 알고리즘PoW, PoS, DPos 등PBFT, PoApublic, private 이용
장점투명성, 익명성, 신뢰성효율성, 확장성공정성, 확장성
단점속도 느림개방성, 탈중앙화 제한개방성, 탈중앙화 제한
문제점확장성 제한의도적 합의 조작낮은 신뢰성
ex)Bitcoin, EthereumRipple, CodaHyperledger, R3

참조

블록체인의 합의 알고리즘

0개의 댓글