블록체인/블록체인 기초(6)
-
블록체인 - 6. UTXO (Unspent Transaction Output)
UTXO UTXO(Unspent Transaction Output)는 아직 쓰지 않은 잔액이라는 의미를 가지고 있다. 이 UTXO의 개념은 처음 들으면 조금 난해할 수 있다. 그래서 자세한 설명에 앞서, 예시를 먼저 보인다. 우리가 실생활에서 토스 앱 같은걸로 자신의 계좌 잔액을 볼 때, 본래 0원이던 통장에 500원, 1000원, 250원이 입금되면 그냥 그 숫자들을 더해 1750원이 되겠지만, 비트코인의 지갑에는 입금된 500원에 대한 UTXO, 1000원에 대한 UTXO, 250원에 대한 UTXO의 총 3개의 UTXO가 존재한다. 만약 A가 25BTC의 가치를 가진 UTXO가 있는 상황에서 B에게 25BTC를 주어야 한다면, 자신이 가지고 있는 25BTC UTXO를 입력값으로 소모하여 새로운 출력으..
2024.02.22 -
블록체인 - 5. 채굴 (Mining), 작업 증명 (PoW, Proof of Work)
채굴 비트코인에서의 채굴(Mining)이라 함은 작업 증명(PoW, Proof of Work)과 보상을 합친 말이다. 블록체인상에서 일어난 일련의 트랜잭션을 누군가가 검증하고 블록에 담아 저장한 다음, 암호화 퍼즐을 풀어 체인에 등록한다. 이 과정이 작업 증명이고, 이에 대한 대가로 채굴자는 비트코인과 수수료를 얻고 새로운 블록이 생성된다. 쉽게 말하자면, 블록을 생성하고 보상을 받는 일련의 행위를 채굴이라 말하고, 작업 증명은 암호화 퍼즐을 품으로써 작업에 수행했다는 것을 증명하는 것을 말한다. 암호화 퍼즐을 푼다는 것은 특정 조건을 만족하는 블록의 해시값을 찾는 과정을 말한다. 채굴 개념은 P2P 네트워크에서 생기는 문제점을 해결하는 좋은 대안이다. 앞서 작성한 글에서 소개했다시피 블록체인은 P2P ..
2024.02.15 -
블록체인 - 4. 분산 P2P 네트워크 (Distributed Peer-to-Peer Network)
블록체인에 대해 설명할 때 많이 들어보았던 표현으로 분산원장 기술(DLT: Distributed Ledger Technology), 분산 P2P 네트워크(Distributed Peer-to-Peer Network)등이 있다. 어림짐작으로나마 P2P라는 게 무엇인지는 알고 있으나 정확히 무엇을 의미하는지는 잘 모르는 경우가 많다. 이에, 이 글에서는 P2P 네트워크와 분산 컴퓨팅에 대해 간략히 설명하고, 이것들이 블록체인에서 어떤 역할을 수행하는지 기술하여 보겠다. P2P 네트워크 P2P 네트워크(Peer-to-Peer Network)는 클라이언트-서버(Client-Server) 구조와 다르게 서버가 따로 존재하지 않으며, 각 노드들이 모두 동등한 계층 노드(Peer Nodes)들로 이루어져 있다. 말 그..
2024.01.24 -
블록체인 - 3. 불변 원장 (Immutable Ledger)
기존의 원장 원장 1. 자산이나 부채, 자본의 상태를 표시하는 모든 계정계좌를 설정하여 분개장에서 분개한 거래를 전부 기록하는 장부. - 표준국어대사전 늘 그러하듯 생소한 용어에서 오는 혼란이 직관적 이해를 방해하곤 한다. 불변 원장도 마찬가지다. 불변은 이해하겠는데 원장이라는 게 당최 무엇인가. 이에, 불변 원장에 대해 이야기하기 전에 앞서 원장에 대한 설명을 간략히 하고 넘어가고자 한다. 과거에는 부동산을 누가 소유하고 있고, 누군에게 판매하고 양도하였는지를 종이에 모두 적어 기록하고 보관하였다고 한다. 이 종이를 원장이라고 한다. 종이에 기록하고 보관했다는 이야기에서 알 수 있듯이, 이러한 원장에는 여러 단점들이 존재한다. 누군가가 원장이 보관된 곳에 침입해서 임의로 내용을 수정한다거나, 원장을 관..
2024.01.23 -
블록체인 - 2. 해시 함수 (Hash Function), SHA256
이 글은 블록체인에서의 해시 함수/해시 값의 역할에 대해 기술한 글이기에, 해시에 대한 모든 내용에 대해 설명하지 않고 필요한 내용만 추려 작성하였다. 해시 함수 해시 함수(Hash Function)는 어떤 데이터가 입력으로 주어지면 이를 고정된 길이의 데이터로 변환(매핑) 시켜주는 함수다. 가령 위의 그림 1에서는 입력 값의 길이와 무관하게, 항상 일정한 길이(16진수 7자리)의 출력으로 바꾸어 출력하고 있다. 이렇게 해시 함수를 적용하는 과정을 해싱(Hashing)이라 하고, 해싱 후에 나온 출력값 해시 값, 해시 코드, 해시 체크섬, 그냥 해시 등으로 부른다. 블록체인에서 해시 값은 블록의 지문과도 같은 역할을 한다. 데이터에 아주 작은 변화라도 생길 경우 해시값은 급격히 달라지며, 해당 블록 뒤에..
2024.01.23 -
블록체인 - 1. 블록 (Block)
블록 블록체인(Blockchain)이라는 이름에서 알 수 있듯이, 블록체인은 다수의 블록들의 체인 형태의 연결로 이루어져 있다. 이 하나하나의 블록들은 데이터를 담고 있다. 그렇다면 블록 체인은 위 그림과 같이 나타낼 수 있을 것이다. 각각의 블록들이 담고 있는 데이터는 무엇이 있는가. 자신의 블록 번호와(최초로 만들어진 블록의 번호는 1이다), 자신이 만들어진 시간을 나타내는 타임스탬프(Time Stamp), 자신 이전 블록의 해시(Hash) 값, 자신의 해시값, 논스(Nonce), 데이터가 담겨 있는 바디(body)로 이루어져 있다. 블록이 담고 있는 데이터는 크게 헤더와 바디로 나눌 수 있다. 헤더에는 앞서 말한 해시값들과 타임스탬프, 논스가 담겨있고, 바디에 실제로 유의미한 데이터들이 들어간다. ..
2024.01.23