[Blockchain] 블록체인, 채굴, 분산원장

yooni·2022년 3월 2일
0

Blockchain

목록 보기
3/36
post-thumbnail

1. 블록체인 (Blockchain)

비트코인의 핵심인 데이터 분산 처리 기술. 원장을 저장하는 데이터 베이스 유형. 인터넷 상에 있는 사람들과 동일한 데이터를 가지고 검증 절차를 거치기 때문에 위/변조가 불가능하다.

  • 누구나 데이터를 추가할 수 있다.
  • 데이터는 한 번 추가되면, 수정/삭제할 수 없다.
  • 중앙 관리자가 아닌, 블록체인 네트워크 상의 모든 사람들이 함께 데이터를 관리한다.



1-1. 블록과 체인

🧩 블록
데이터를 저장하는 공간(용량)의 단위, 데이터가 기록되는 공동 장부.

블록에는 다양한 유형의 정보를 담을 수 있으며, 어떤 정보를 저장하느냐에 따라 블록의 구성이 결정된다. 암호화폐의 경우, 블록에 거래기록(트랜잭션 Transaction)을 저장한다. 블록은 트랜잭션들을 담은 거래 기록의 집합이다.

⛓ 체인
블록을 시간 순으로 연결한 것

블록마다 일정한 갯수의 트랜잭션이 담겨져 네트워크상에서 공유된다. 새로운 트랜잭션들은 새로운 블록에 담고, 이 새로운 블록에는 이전 블록을 가리키는 주소값을 함께 넣어 직전 블록을 지정할 수 있다. 이 모양이 마치 체인처럼 연결되어 있기 때문에 블록체인이라고 부른다.

체이닝이 역할을 하는 것은 해시(Hash)이다. 모든 블록은 자신의 해시값은 물론 직전 블록의 해시값을 가져 직전 블록과 연결이 된다. 악의적인 사용자가 중간의 거래내역을 악의적으로 변경하면, 해시의 특성에 의해 해당 블록의 해시값이 완전히 다른 값으로 바뀌고 이는 이 블록 뒤로 이어지는 블록들에게도 영향을 끼친다.(악의적 사용자가 위조와 배포를 하는 동안에도 블록은 새로 생성되어 체이닝되고 있다) 따라서 해킹이 사실상 매우 어렵다.



1-2. 블록 생성

⛏ 채굴 (Mining) - 트랜잭션을 모아 블록으로 만드는 과정

새로운 트랜잭션이 생기면 네트워크 상의 모든 노드(네트워크 장치 또는 데이터 지점, 네트워크에 접속되어 연결 가능한 컴퓨터) 들에고 공유되고, 노드들은 트랜잭션에 대한 검증(Verification) 절차를 수행한다. 유효성 검사가 끝난 트랜잭션이 블록에 담기고, 이 블록이 체인에 추가되면 트랜잭션에 대한 처리가 완료된다. 이 때 트랜잭션을 모아 하나의 블록으로 만드는 과정을 채굴(Mining)이라고 한다. 채굴은 화폐의 발행과 같다.

채굴은 블록체인 시스템에 참여하여, 다른 사람의 거래기록을 확인해주고 그 거래기록에 걸린 암호를 풀어서 비트코인을 보상으로 받는 행위이다.

비트코인은 모든 거래 내역을 장부에 기록해 모든 사용자들이 공유할 수 있다. 전체 거래 내용을 10분 단위로 모아 장부에 기록해야 하는데 거래 내용은 암호화 되어 있기 때문에 누군가 암호를 풀어서 장부에 기록해야 한다. 이 암호는 많은 계산과 검토로 이루어져 있어 풀기가 매우 어렵고 번거롭다. 이 암호를 풀어서 장부에 기록하는 사람은 그 보상으로 신규 발행된 비트코인을 받게 된다.

비트코인의 채굴자는 구체적으로 다음의 작업들을 수행한다.

  • 네트워크 동기화
  • 트랜잭션 검증
  • 블록 유효성 검사
  • 새로운 블록 생성
  • 작업 증명 수행 (논스 값 찾기)
  • 보상 수령

이더리움의 채굴은?
이더리움은 이더해시(Ethash)라는 독자적인 작업증명(PoW) 알고리즘을 사용하여 블록을 생성하고 경쟁한다.


채굴 노드에 대한 보상

채굴은 암호화폐 송금 서비스를 운영하는 핵심 역할을 한다. 채굴 노드에게 코인이 보상으로 주어지며, 이 보상을 위해 경쟁적으로 채굴을 한다. 경쟁에서 승리한 노드가 생성한 블록이 채택되면, 블록을 받은 노드들이 유효성 검사를 하고 유효한 블록이라면 체인에 추가된다.

📉 비트코인 반감기
비트코인은 2009년 초반에는 블록 하나 생성에 대한 보상으로 비트코인 50개를 지급했지만, 이후 4년에 한 번씩 보상 코인의 수를 절반씩 줄이고 있다. 이에 따라 비트코인의 총 공급량은 약 2100만개로 제한되어 있으며 이에 따라 비트코인의 희소 가치는 높아질 것이다.


💰 거래 수수료

반감기로 인해 보상 코인량이 적어지고 있지만, 거래 수수료가 있기 때문에 여전히 채굴의 메리트는 있다. 거래 수수료로 얼마를 지불하냐에 따라 나의 트랜잭션이 다음 블록에 추가되는 우선순위가 결정된다. 더 많은 수수료를 지불할 수록 더 빠르게 블록에 추가될 수 있다. 하지만 트랜잭션을 일으키는 주체의 입장에서 채굴 수수료가 한없이 높아질 수 만은 없을 것이다. 거래 수수료는 다음의 역할을 하며 블록체인 시스템의 중요한 부분이다.

  • 대규모 스팸 공격에 수수료로 인한 큰 비용을 발생시켜 네트워크 상 스팸 공격을 줄일 수 있다.
  • 네트워크를 유지시키는 행동에 대한 보상으로 사용자에게 인센티브를 제공한다.

채굴 풀 (Mining Pool)

채굴자들이 모여 만들어진 채굴자 조합이다. 채굴에 필요한 더 큰 해시파워를 유지하기 위함이다. 채굴 풀로 인한 51% 공격이 발생할 위험이 있다.

51% Attack
PoW 방식에서 50%를 초과하는 해시파워를 확보한 중앙 집중 조직이 거래 정보를 조작하고 이중 지불 공격을 일으켜 이익을 얻으려는 해킹 공격이다. PoW 방식의 채굴 풀 문제로 인한 이러한 문제를 개선하기 위해 향후 PoS 방식이 등장한다.

PoS(지분 증명) 방식을 이용하는 블록체인에서는 다른 형태의 채굴 풀을 갖는다. 커스터디(Custody, 자산운용) 서비스 형태의 채굴 풀이 운용된다. 다른 사람의 코인을 위임받아 채굴 풀을 운영하는 것이다. 이를 이용해 지분이 적은 사람도 PoS 채굴 풀에 합류하여 함께 이익을 얻을 수 있다. 이러한 채굴 풀이 성장한 방식이 DPos(위임 지분 증명) 방식 채굴 풀이며, 이는 투표를 통해 채굴 노드를 선정하는 시스템이다.



1-3. 분산 원장 시스템

🗂 원장
거래 내역의 집합

분산 원장 (Distributed Ledger)

중앙 집중식 데이터베이스와 달리 분산되어 있으며, 데이터를 여러 위치에 두거나, 여러 사용자들이 나눠 가지고 있는 데이터 베이스 유형이다. 블록체인은 특정 기술들이 추가된 분산 원장의 한 종류이다.

분산 원장 시스템에 데이터를 저장하기 위해서는 데이터 공유 당사자 간의 합의가 필요하며, 이러한 합의를 통해 분산된 데이터베이스들이 일관된 데이터를 가질 수 있다.

분산 원장과 블록체인

  • 블록 구조
    분산 원장은 여러 노드에 다양한 방식으로 데이터를 분산시켜 저장하는 데이터베이스이며, 블록체인은 이 데이터가 블록 형식으로 저장된 것이다.

  • 순서
    블록체인은 모든 블록이 직전 블록을 가리키며 순서대로 배열되지만, 모든 분산원장 데이터가 순서대로 저장되어 있지는 않다.

  • 블록 생성 매커니즘
    블록체인에서는 블록을 생성할 노드를 정하기 위해 PoW, PoS 등의 매커니즘을 사용하며 이러한 매커니즘이 자원을 소모한다. 하지만 일반적으로 분산 원장에서는 블록 생성 매커니즘이 경쟁적이지 않은 경우도 있다.

  • 토큰
    블록체인에서는 블록을 생성하기 위해 자원을 소모한 노드에게 보상으로 코인(화폐)을 제공한다.



🔧 Do you need a Blockchain?

블록체인이 무조건 좋은 것만은 아니다. 아직 해결해야 할 것이 많은 분야이다. 어떨 때는 중앙집권형 시스템을 사용하는 것이 더 나을 때가 있다.



profile
멋쟁이 코린이

0개의 댓글