본문 바로가기
돋보기/블록체인

블록

by Ellen571 2022. 2. 9.

블록

  • 다수의 트랜잭션을 모아서 하나로 관리하기 위한 묶음
  • 평균 10분 주기로 생성되며, 신뢰성 검증을 통해 이전 블록과 연결하면 블록체인 형태가 됨

 

블록 내용

  • 각 블록에는 일정 시간동안 이루어진 모든 이용자의 거래내역이 기록됨
  • 바디에는 거래내역, 헤더에는 넌스(nounce, 암호화와 관련되는 임의의 수) 등의 암호코드
  • 거내내역은 해시 함수를 통해 '해시 값'으로 암호화


해시

  • 다양한 길이를 가진 데이터를 고정된 길이를 가진 데이터로 매핑한 값
  • 해시 값으로 원래 문자열을 알아낼 수 없기에 해킹이 불가능


해시 함수

  • 임의의 길이의 데이터를 고정된 길이의 데이터로 변환하는 함수
  • 임의의 길이의 데이터를 변환할 경우 고정된 길이의 데이터 '해시 값'은 1개만 나옴
  • 해시 값은 반대로 변환시키면 원본 데이터의 조합은 무수히 많아짐


블록 생성 및 연결 과정

1. 트랜잭션(거래)이 발생하면 여러 노드들에게 전달되고, 전달 받은 노드들은 내용을 검증
2. 거래내역이 기록되려면 노드(블록체인 네트워크에 참여하는 사람)들에게 참인지 거짓인지 과반수 동의를 얻어야 함
3. Nonce 찾기

  • 일정한 트랜잭션이 모이면 정보를 블록에 기록함(비트코인의 경우 10분간의 거래내역)
    >  직전 블록의 번호, 해시값
    >  직전 블록 생성 이후에 전파 받은 트랜잭션 내용
    >  Nonce
    >  Resulting Hash: 위 데이터들의 해시값
    >  Time stamp: 어떤 일이 일어난 시점의 정보를 도장 찍듯 기록, 거래의 전후관례를 논리적으로 규명
  • Resulting Hash는 특정조건을 만족해야 함(비트코인의 경우 일정 개수 이상의 0 문자열을 제일 앞에 포함해야 함)
  • Resulting Hash 조건을 만족시키는 Nonce를 찾는 행위를 채굴(Mining)이라고 함
  • Nonce를 찾으면 하나의 블록이 완성됨

4. 조건에 맞는 블록이 생성한 노드는 이를 다른 노드들에게 전파하여 연결시킴

 


작업증명 Proof of Work, PoW

  • 논스(nonce)를 계산해서 새로운 블록 고유의 해시 값을 찾는 것
  • 논스를 바꿔가며 대입해서 계산하며 해시 값이 목표 해시값보다 작아야 함
  • 이 과정을 통해 해당 작업에 참여했음을 증명함
  • 합의 알고리즘 중 하나임
  • 비트코인, 이더리움(2.0 이전), 라이트코인
  • 단점
    >  컴퓨터 연산능력을 많이 사용하면서, 그에 비례해 전기 소모량과 탄소 배출량이 늘어남
    >  이를 해결하기 위해 이더리움은 지분증명 합의 알고리즘으로 사용하겠다고 함 - 이더리움 2.0 세레니티

 

채굴 Mining

논스값을 찾고 블록 생성을 통해 코인으로 보상 받는 과정

 

 

합의 알고리즘

다수의 참여자들이 통일된 의사결정을 하기 위해 사용하는 알고리즘

  • 작업증명: 목표값 이하의 해시를 찾는 과정을 무수히 반복함으로써 해당 작업에 참여했음을 증명하는 방식
  • 지분증명: 암호화폐를 보유하고 있는 지분율에 비례하여 의사결정 권한을 주는 방식
  • 만약 두 명 이상이 동시에 논스값을 찾아 동시에 새로운 블록을 연결하면?
    >  두 개 블록 모두 기존 블록에 연결되고, 참여자는 한 시간정도 기다림
    >  한 시간 뒤, 두 블록 중 하나에 더 많은 블록이 연결되어있음
    >  더 많은 블록이 연결되어 길이가 긴 블록을 승인하고 기존 네트워크에 추가
  • 참여자 간의 의견충돌이 발생하면?
    >  노드 간의 합의를 따르고, 합의가 이루어지지 않으면 네트워크는 분기를 선택하게 됨(포크 Fork)
    >  51%만 지지하면 그 방향으로 의사결정이 이루어짐

 

지분증명 Proof of Stake, PoS

해당 암호화폐를 보유하고 있는 지분율에 비례하여 의사결정 권한을 주는 합의 알고리즘

  • 암호화폐를 보유하고 있는 것만으로 새로 발행되는 코인을 신청할 수 있음
    >  암호화폐를 보유한 투자자는 자신의 암호화폐를 위탁
    >  투자자 중 무작위로 추첨해, 당첨된 투자자 또는 집단에게 신규 발행한 암호화폐를 지급
    >  위탁한 코인이 많을 수록 당첨 확률은 높아짐
  • 단점
    >  지분 인증 메시지를 받기 위해 인터넷을 연결하는 동안 해킹당할 수 있는 위험 있음
    >  많은 지분을 보유한 소수가 계속 신규 코인을 가져가게 됨
    >  대규모 투자자들이 시장을 좌지우지하면 일반 투자자들이 이탈하며 시장이 망가짐


포크 Fork

일정 시점에서 생성되는 블록을 기점으로, 두 개의 독립된 블록체인으로 나눔

  • 소프트포크
    >  블록에서 '디지털 서명' 부분만 분리해 블록의 용량을 증가시키는 업데이트
    >  대표적 예로 비트코인의 세그윗(SegWit)
    >  세그윗 이후, 비트코인 블록의 용량은 1mb에서 4mb로 증가
    >  디지털 서명 용량만 증가이기에 기존 네트워크와 세그윗 이후의 네트워크는 동일한 체인으로 계속 연결
  • 하드포크
    >  세그윗 업그레이드 이후 중국에서 대규모 채굴업자가 사용하는 '에이식(ASIC)' 채굴 장비가 무용지물됨
    >  세그웻 업데이트에 동의하지 않은 중국 채굴업자들이 독립해 '비트코인 캐시'를 만듦
    >  의사결정에 반발하여 특정 블록 이후로 새로운 블록을 형성해 나가는 것을 하드포크라고 함
    >  독립된 네트워크로 새로운 암호화폐임

 

반응형

'돋보기 > 블록체인' 카테고리의 다른 글

이더리움  (0) 2022.02.17
비트코인  (0) 2022.02.14
코인과 토큰  (2) 2022.02.14
암호화폐  (0) 2022.02.09