블록체인 개념 및 주요 합의 알고리즘

onebbu·2024년 10월 21일
0

Study(개념 정리)

목록 보기
6/7
post-thumbnail

최근 블록체인에 대한 개념을 정리했었다. 원래 정리만 하고 나중에 블로그에 올려야겠다… 이렇게 생각만 했었는데 글또를 시작하게 되면서 그냥 빨리 정리하고 올려야겠다는 생각이 들어 지금 작성하게 되었습니다☺️

블록체인에 대한 내용은 part1. 블록체인에 대한 내용; part2. 밸리데이터와 베라체인에 대한 내용 이렇게 2가지로 글을 나눠서 작성 예정입니다. 그럼 바로 시작해볼께요😉

⛓️블록체인?

  • 비즈니스 네트워크에 거래를 기록하고, 자산을 추적하는 프로세스를 용이하게 하는 변경 불가능한 공유 원장
  • 기본적으로 누구나 볼 수 있는 DB이며, 지우는 기능 없이 계속 쌓이기만 함
  • 쌓이는 데이터들이 정상적인지 아닌지 판단하는 것이 합의 알고리즘
    • 합의는 데이터들이 올라왔을때 블록체인에 등록되는지 아닌지 -> 이게 모든 네트워크에 전파되어있어야 모든 사람이 같은 데이터를 볼 수 있음
    • 합의하는 시스템을 담당하는 것이 밸리데이터
  • 중앙화된 시스템 없음 → 각 노드들이 시스템 역할 담당
  • 누구나 새로 들어왔을때 똑같은 데이터를 갖고 있어야 하는데 변경이 없어야 함

🤝 합의 알고리즘

블록체인 프로세스마다 합의를 하는 시스템이 다 들어있는데 합의를 담당하는 노드를 밸리데이터라고 함

합의를 하는 이유: 모든 노드들이 다 같은 데이터를 유지하기 위해

트랜잭션

  • 트랜잭션 날림(블록체인 네트워크에 트랜잭션을 보내는 것) → 합의 진행
    • 합의가 이루어지지 않을 경우: 트랜잭션 수수료를 높여서 다시 트랜잭션을 날리고 합의 진행

PoW

Proof of Work; 작업 증명

비트코인 합의 알고리즘

수학 문제를 가장 빨리 풀어서 블록체인 네트워크에 새로운 블록을 추가한 사람이 보상(블록 보상 : 비트코인 + 수수료) 가져감

비트코인 네트워크에 참여하는 사람들을 마이너라고 함

PoW의 문제

문제를 제일 먼저 풀어야 하므로 계산을 빨리 해야함

→ 전력 소모 증가

⇒ 못 풀면 수익 X & 많은 전력 소모로 인한 환경 오염

PoS

Proof of Stake; 지분 증명

이더리움 합의 알고리즘

블록을 생성하고 검증할 권한을 가진 노드를 밸리데이터


이미지 출처: 업비트

  1. 스테이킹(Stacking)

    밸리데이터들이 특정 암호화폐를 네트워크에 예치하여 검증 과정 참여(이더리움은 한 밸리데이터 당 최소 32 ETH 스테이킹 필수)

  2. 블록 생성 제안&선택

    특정 밸리데이터가 블록을 제안 or 많은 자산을 스테이킹한 밸리데이터의 블록 제안

    PoS 네트워크에서는 블록을 생성하고 검증할 노드를 선택

    선택 과정은 스테이킹 된 자산의 양 또는 무작위로 결정

    (스테이킹된 자산이 많을수록 블록 생성 기회를 얻을 확률 증가)

  3. 블록 생성 및 검증

    선택된 밸리데이터는 새로운 블록을 제안하거나 기존 블록 검증(기준: 유효성, 트랜잭션의 정확성, 블록의 형식 등)

    밸리데이터들은 블록 유효성 투표를 통해 블록체인에 추가하도록 동의

    새로운 거래를 블록에 포함시키고 블록을 네트워크에 전파

  4. 보상

    블록 생성자와 검증자는 블록을 성공적으로 생성하고 검증한 대가로 보상 받음(스테이킹한 자산의 양과 기여 정도에 따라 보상 결정)

  5. 슬래싱

    부정행위나 규칙 위반을 할 경우 자산의 일부가 깎임

PoS의 문제

Nothing at Stake라는 문제가 발생할 가능성: 모든 노드가 제한 없이 자신의 지분을 증명할 수 있기 때문에 많은 지분을 가진 노드가 거짓으로 지분을 증명하여 공격

토큰을 스테이킹(최소 32ETH) 할 경우 자금이 묶이게 됨


✏️ 글을 마치며

블록체인에 대한 대략적인 개념은 작년에 관련 교육 과정과 프로젝트를 진행하면서 쌓았었는데 다시 정리해보니 모르는 내용이 너무너무 많았다🥲 앞으로 더 정리해가면서 지식을 쌓아야겠다.

profile
기록하는 습관

0개의 댓글