블록체인 이론 _ 비트코인

개굴·2023년 3월 17일
0

Blockchain

목록 보기
1/6

블록체인이 뭔가요?

  • 배경
    • 리먼 사태 중앙정보 너무 이상함 → 탈중앙화
  • 블록체인은 탈중앙화된 네트워크에서 작동하는 분산원장 기술

블록체인 특징

  • 익명성 : 거래에는 공개키 혹은 지갑 주소만이 사용되어 실제 사람의 신원을 알수 있다.

    • 블록체인 거래 시 지갑을 통해 거래
    • 지갑 주소만으로 사람을 알수 있나 → 없다
    • 계좌번호, 전화번호 → 알수 없다
    • 익명성이 보장이 된다
  • 추척가능성: 모든 거래에는 공개키 혹은 지갑 주소가 사용되고 기록 된다

    https://www.blockchain.com/explorer/transactions/btc/1eb97e45be10e2a2b8b3fc116f5aab6b4bc0a7a757131ac2f812de8eb3c5ab09

    모든 거래 볼 수 있음

    익명성과 대치

    크립토 컨트

    누가 사는지 파는 지 매도세가 많은지

  • 무신뢰성 : 신뢰 받는 제3기관은 블록체인에서 존재하지 않는다. 거래를 하는 상대방도 믿지 않아도 된다. 시스텝 자체가 신뢰를 담보한다.

    • 은행이 보통 신뢰 기관 → 블록체인에는 없음
    • 신뢰기관 없음 / 풀노드(블록 정보 전체 가진 사람)가 열심히 시스템 잘 돌아가겠지 정도 믿음
  • 분산원장 : 시스템 내 모든 참가자들은 거래의 정보를 기록하고 있다.

    • 초장에는 모두가 풀노드였음(골수펜) / 지금은 안그럼
    • 모든 참가자가들이 같은 거래 내용 저장 하고 있음
    • 누가 정보를 덜가지고 있어도 금방 복구됨
  • 탈중앙화 : 전통적인 네트워크 시스템과 달리, 블록체인에는 중앙화된 주체가 존재하지 않는다.

    • 중앙화된 시스템 : 중앙체가 꾾기면 네트워크 안돌아감 (카카오)
      • 싱글 포인트 / 블록체인에는 없음
  • 합의알고리즘 : 동등한 권한의 다수가 참여하기 깨문에 옳은 정보를 결정하는 규칙이 필요하다.

    • 옳은 정보를 만드는 과정이 체굴임
    • 쉽게 말해 반장선거 → 다수결의 규칙(합의 알고리즘)
      • 블록체인 다수결 아님 (체굴 과정에 여론이 중요한 것이 아님)
        • 가장 먼저 풀은 노드를 따라감
      • 가장 긴 체인이
    • 어떤 규칙을 정해 놓고 규칙에 맞는 결과를 내는 것
    • sha252
      • 같은 인풋 값을 넣으면 같은 값이 나옴
      • 원하는 값을 찾는 것이 체굴
        • 000 나오는 것을 찾으세요(규칙)
        • 가장 먼저 찾는 사람을 따라감
          • 코인 줌 (수고비)
      • 256이 용량 표시
        • 무조건 256비트로 나옴 → 64자리로 나옴
        • 2진수, 16진수
          • 10은 ‘1’+’0’으로 합체 된 수 → 10진수
            • 0~9까지 10개 숫자
          • 2진수
            • 2 표현 안됨 ‘1’과 ‘0’ 만 존재
            • 256자리
          • 16진수
            • 0~15 (0~F)
              • 0~9,a,b,c,d,e,f
            • 해시는 무조건 16진수
              • 2진수 4자리가 16진수 1자리 임
              • 결국 다 숫자
            • 0이 많을 수록 숫자는 작아짐
        • 참고 사이트
  • 변경 불가능 : 한변 블록체인에 정보가 들어가면 쉽게 바뀌지 않는다.

    • 변경이 되었을 때 쉽게 빠르게 알아 낼수 있음
      • 하나만 변경해도 해시값이 바로 바뀜
      • 빠르게 복구 가능
        • 변경이 안되는 것은 아님
      • 이전 블록의 값의 해쉬값을 가지고 와서 바로 확인 가능 (대조)

Structure

  • 가장 최초의 블록 0번째 블록, 제네시스 블록

    • 체굴자가 받는 것은 송신자 없음
    • 이전 블록 해쉬 00000000000000000000000
      • 다음 블록 존재하지 않음 (지금은 찾지 못함)
  • 구조

    • 헤드 : 메타 데이터

      • 해시 (Hash) : 해시값
        • 2
      • 버전 (Ver) : 클라언트의 소프트웨어 버전
      • 이전 블록 해시 (Prev block) : 이전 블록의 해시값
        • 블록의 체인으로 만들어줌
      • 머클루트 (Merkle root) : 블록내포함되어있는 모든 거래의 정보를 담고있음
      • 타임스템프 (Timestamp) : 블록 생성 시간
      • 난이도 (Bits& Difficulty) : 헤당 체인의 난이도를 표현하는 값이나 타겟값
      • 논스 (Nonce) : 체굴과정에서 계속 하여 변화되는 값
        • 찾고자 하는 값이 논스값
        • 앞으로 현재 찾아야하는 값은 bits 값
        • 논스 값으로 해시 값이 나옴
        • 1
    • 바디

      • 수수료 (Fee) : 수수료의 크기
      • 거래 (Transation) : 수신자, 송신자, 규모 등이 담겨 있음
      • …..

      % 참고 사이트

    • 풀노드를 만든 블록구조

      채굴자 - Reward = Minted +Fees

    체굴

    • 0이 많으면 작아짐
      • 0이 많으면 난이도가 높아짐
    • 타켓 123 이면 적어도 그거보다 작아야함 →000 체굴 됨
    • 시간으로 조절됨 / 평균 10분

0개의 댓글