[블록체인 분야 융합보안 교육과정] 2일차

오젼·2022년 4월 28일
0

2일차

블록체인의 목적

  • 블록체인은 분산시스템에서 무결성을 지원한다.

투명성

  • 사용자가 분산됐다고 느끼는 게 아니라 하나의 큰 시스템으로 느낄 수 있게 해야함
  • ex. 위치 투명성, 이주 투명성, 복제 투명성, 병행 투명성, 접근 투명성, 성능 투명성, 규모 투명성, 고장 투명성 (IT용어위키)

분산처리 구조

  • 완전연결형
    • n(n-1)/2
    • 구축 비용은 많이 들지만 구축 하고나면 통신비용은 적음
  • 부분연결형
  • 트리/계층형
    • 가장 대표적인 형태
    • 부분 연결형보다 기본 비용은 적고, 통신 비용은 트리 깊이에 비례해 높아짐
    • 하위 사이트는 상위 사이트를 통해서만 통신 가능. 상위 사이트가 죽으면 안 됨
  • 스타형
    • 모든 사이트가 하나의 중앙 사이트에만 연결 된 구조
    • 중앙시스템과 다른 점: 중앙 사이트가 관리 제어 하는 게 아니라 모든 사이트가 일을 하긴 하지만 연결 구조만 중앙으로 모이는 것
    • 기본 비용은 사이트 수에 비례, 통신 비용은 적음
    • but 중앙 사이트가 고장나면 끝
  • 링형
    • 인접하는 두 사이트와 연결
    • 기본 비용은 사이트 수에 비례, 통신 비용은 비교적 크다
  • 다중 접근 버스 연결형

분산 데이터베이스

  • 물리적으로 분산되어 있는 데이터를 논리적으로 하나의 시스템처럼 사용할 수 있게

분산 데이터베이스의 목표

  • 투명성

비잔틴장군 문제

  • 작업증명과 블록체인을 사용하여 해결

비트코인이 해결한 문제

  • 블록체인은 이중 지불 문제를 해결
  • 작업증명은 비잔틴 장군 문제를 해결

비트코인에서 해쉬함수의 이용

비트코인 채굴

  • 비트코의 블록은 난스 + 거래 내역 + 이전 노드 해시값을 통해 해시 값이 나오게 되는데, 이 때 비트코인에서는 "해시코드의 앞 부분에 0이 몇 개는 나와야 한다"는 식으로 규칙을 정해놓았음
  • 이 때문에 규칙에 맞는 해시코드가 나올 때까지 난스 값을 계속 바꿔가게 되고, 이 때 시간과 비용이 들어가게 되는 거임.
  • 그래서 비트코인에서 작업증명을 한다는 말이 이렇게 시간과 비용이 들어가는 작업을 한 것을 인정해준다는 뜻

비트코인 위조

  • 거래 위조 - 위조를 할 때 기존 노드를 수정하는 게 아니라 위조된 내용의 새로운 노드를 생성해서 연결시키는 것. 그렇게 되면 기존에 있는 노드들과 비교했을 때 더 우세한? 더 많은 노드와 거래 기록이 같은 노드를 더 신뢰한다고 생각하면 됨. ex. 어떤 애는 a->b 10만원 줬다 하고 어떤 애는 a->c 10만원 줬다 하는 이중지불 문제 일어났을 때, 다른 노드들에선 다 a->b 10만원으로 연결됐다고 하면 a->c가 잘못됐다고 판단. 흠 다시찾아보기

비트코인 유효성 검사

  • 작업 증명에 성공한 노드는 모든 노드들에게 결과(블록)를 전송
  • 블록을 전송받은 노드들은 각각 유효성 검사를 실행 -> 해당 블록의 이전 해시값 + 난스 + 거래내역 = 해시값이 조건을 만족하는지 확인
  • 작업증명은 많은 연산이 필요하지만 유효성 검사는 연산 한 번으로 끝날 수 있음

mastering bitcoin

Solidity 실습


기타

0개의 댓글