230216 블록체인 4탄

CoderS·2023년 2월 16일
0

"우리가 두려워해야 할 것은 늙는 삶이 아니라 녹슨 삶이다."

by: 법정스님

취업 준비하고 운동 하면서 코딩 공부에 소홀해 진 것 같다.
최대한 열심히 개발 실력을 갈고 닦아서 취업하고 1인분 이상의 몫을하고 싶다.

그럼, 바로 시작하겠습니다!

저번에 말했듯이, 암호화폐를 사고 팔려면 지갑이 필요하다.

지갑에 개인키와 주소값을 만들어서 보관할 수 있다.

그리고 재미있는 사실은 지갑은 두 가지 종류로 나뉘진다.
(핫 월렛 & 콜드 월렛)

핫 월렛

  • 대표적인 예: 메타마스크
  • trust wallet
  • exodust
  • 쉽게 말해, 인터넷이 연결이 24시간 필수인 지갑!

콜드 월렛

  • 인터넷 연결이 되어있지 않은 지갑
  • 일반적으로 개인키를 보관할 수 있는 저장장치를 가리키기도 한다.
  • 평소에는 인터넷 연결이 끊겨있다가, 거래를 할 때만 연결해야 사용한다.
  • 해킹으로부터 안전하게 보관할 수 있다. (핫 월렛에 비해)
  • 예: ledger, trezor

암호화폐 거래 팁!

  • 암호화폐는 소수점 거래가 가능하다.
  • 비트코인 최소 거래 단위: 0.00000001 BTC = 1 사토시
  • 수수료도 정해야 한다. (얼마 낼지)
  • 디지털 서명을 만들어서 거래 데이터에 첨부해야 한다. (디지털 서명은 거래에 있어서 사용되는 암호화폐가 보내는 사람의 증표라고 이해하면 된다.)
  • 디지털 서명은 보내는 사람의 개인키가 있어야 만들 수 있다.
  • 만들어진 트랙잭션 데이터를 블록체인 네트워크에 전송하면 각 노드는 전달받은 트랜잭셕이 유효한게 맞는지 검증!
  • 보내는 사람의 주소에 충분한 잔액이 있는지, 디지털 서명이 보낸 사람께 맞는지 확인 필수!
  • 유효하지 않은 트랜잭션은 버려지고 유효한 트랜잭션은 Mempool 이라는 임시 저장소에 전송된다.
  • 누군가 맨풀에 있는 트랜잭션을 블록에 담아서 그 블록을 블록체인에 추가해 줘야 비로서 트랜잭션이 확정되었다는 의미! === 채굴
  • 새로운 블록을 만든 채굴자에게는 보상으로 코인이 주어진다.
  • 그리고 채굴자는 보상인 코인과 함께 블록에 담겨있는 트랜잭션 수수료를 보상 받을 수 있다.
  • 수수료가 높게 책정되어 있는 트랜잭션은 채굴자들에게 인기만점 :)
  • 거래를 빠르게 진행하려면 수수료를 높게 설정하는것도 고민해야 겠다.

결과적으로, 블록체인에서는 노드가 새로운 블록을 추가하고 새로운 암호화폐가 발행되는 일련의 과정이 계속해서 반복하게 된다.
새로운 블록을 만들때마다 수 많은 노드 중에서 어떤 노드가 대표로 블록을 만들지 정해야한다.

비트코인의 합의 알고리즘 => PoW (작업 증명)

여기서 채굴자들 간의 경쟁이 시작된다.
누가 먼저 블록을 생성할지는 연산에 사용되는 컴퓨팅 파워와 전기량에 따라 정해진다.

비트코인은 어려운 연산 문제가 시스템에서 자동으로 주어지면서, 먼저 문제를 풀어 블록을 생성하는 사람한테 보상이 주어진다.

이 때, 블록의 해시값타겟보다 작거나 같아야 채굴에 성공할 수 있다.

블록의 해시값 <= 타겟

블록의 해시값

  • 블록에 있는 데이터를 가지고 도출하는 값
  • 16진법으로 표현한 숫자값

타겟

  • 채굴을 위해 시스템에서 자동으로 주어지는 값

우리가 흔히 사용하는게 10진법 (0에서 9까지)
16진법 -> 0에서 9까지 + a ~ f까지 포함 (10개의 숫자와 6개의 문자를 함께 사용해서 숫자를 표기)
=> 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f

그러면 채굴자는 어떻게 조건의 맞는 해시값을 구할수 있을까??

다음에 이어서 하겠습니다.

profile
하루를 의미있게 살자!

0개의 댓글