본 내용은 O'reilly 서적 비트코인, 공개 블록체인 프로그래밍 을 공부한 내용을 정리하는 포스트 입니다.
주소
비트코인의 주소 형태는 여러 개의 문자와 숫자의 조합으로 이루어 집니다. 이메일 주소와 같이 상대방에게 우리의 비트코인 주소로 비트코인을 보내 달라고 요청할 수 있습니다.
비트코인 개선 제안(bip)
Bitcoin Improvement Proposals. 비트코인 커뮤니티 회원들이 비트코인을 개선하기 위해 내놓은 제안들입니다.
비트코인(bitcoin)
화폐 단위(코인) 또는 해당 네트워크 및 소프트웨어의 이름이기도 합니다. 세가지 용어를 혼용해서 쓰고 있습니다. 일반적으로 거래소에서 거래하는 것은 화폐 단위를 칭하는 표현입니다.
블록(block)
거래의 집합입니다. 타임스탬프와 이전 블록의 지문(Fingerprint)가 표시되어 있습니다. 여기서 타임스탬프란 유닉스에서 사용하는 날짜표현 방식중 하나 입니다. 타임스탬프 0 값은 1970-01-01 00:00:00을 나타내며, 1씩 올라갈 때마다 1초씩 올라갑니다. 블록헤더를 요약해서 작업증명(Proof of work)을 만들고 이를 통해 거래가 유효화 됩니다. 유효화된 블록들은 네트워크의 동의를 얻은 후 메인 블록체인에 추가됩니다.
블록체인(blockchain)
유효화된 블록의 집합으로, 각 블록체인은 이전에 생성된 블록체인과 연결되어 최초블록(genesis block)까지 이어집니다.
승인(confirmation)
거래가 블록 내에 들어가면 한 건의 승인이 발생합니다. 동일한 블록체인상에서 또 다른 블록이 채굴되자마자 해당 거래는 두 건의 승인을 보유하게 되며, 이 과정이 반복됩니다. 최소 여섯 건의 승인이 있어야 거래가 철회될 수 없다고 판단합니다.
난이도(difficulty)
작업증명을 하기 위해서 얼마나 많은 계산이 필요한지를 제어하는, 전 네트워크의 설정값입니다.
난이도 목표값(difficulty target)
해당 네트워크 내에 있는 계산력으로 약 10분마다 블록을 찾을 수 있는 난이도를 말합니다.
난이도 재설정(diffculty retargeting)
2,016개의 블록에서 한번 발생하며 이전 2,016개의 블록의 해싱파워를 고려해서 네트워크상에서 난이도를 다시 계산합니다.
수수료(fees)
비트코인 송신자는 요구받은 거래에 대해 해당 네트워크 수수료를 포함시킵니다. 대부분의 경우 거래 한 건당 최소 0.5mBTC(0.0005BTC)의 수수료가 듭니다.
해시(hash)
2진수 입력에 대한 디지털 지문입니다.
최초블록(genesis block)
블록체인에서 첫 블록으로, 암호화 화폐를 시작하는 데 사용합니다.
채굴자(miner)
새로운 블록에서 유효한 작업인증을 찾기 위해 해싱을 반복하는 네트워크 노드를 말합니다.
네트워크(network)
거래와 블록을 네트워크상에 있는 모든 비트코인 노드에게 전파하는 P2P(Peer-to-Peer) 기반 네트워크를 말합니다.
작업증명(Proof-Of-Work)
블록을 찾기 위해 다량의 계산을 요구하는 데이터입니다. 비트코인에서 채굴자들은 전 네트워크에 걸쳐 설정되어 있는 목표값, 즉 난이도 목표값을 충족하는 SHA256 알고리즘에 대한 수치적 솔루션을 찾아내야 합니다.
보상(reward)
작업증명(Proof-Of-Work) 솔루션을 발견한 채굴자에게 네트워크가 보상의 개념으로 새 블록 각각에 포함시켜 놓은 금액입니다. 현재 한 블록당 6.25BTC이다.
비밀키(개인키)(secret key(private key))
해당 주소로 전송된 비트코인을 사용할 수 있게 해 주는 비밀번호 입니다.
거래(transaction)
간단하게 설명하자면 어떤 한 주소에서 다른 주소로 비트코인이 이동하는 것을 말합니다. 좀 더 자세히 설명하자면 거래란 송금을 의미하는 서명된 데이터 구조입니다. 거래는 비트코인 네트워크를 통해서 전송되며, 채굴자들이 수집하고 블록에 포함시켜서 블록체인 내에 영구적으로 존재하게 만듭니다.
지갑(wallet)
비트코인 주소와 비밀키가 담겨 있는 소프트웨어 입니다. 비트코인을 전송하고 수취하고 보관하는 데 사용됩니다.