Study
-
[Bitcoin] 비트코인 UTXO : 비트코인 거래 원리 알아보기Study/Blockchain 2019. 9. 1. 11:00
UTXO(unspent transaction output) : 아직 소비되지 않은 트랜잭션 결과물, 즉 아직 쓰지 않은 잔액 현실에서는 내가 10000원을 주고 5000원짜리 물건을 사면 쉽게 거스름돈 5000원을 받을 수 있지만, 컴퓨터상 거래에서는 거스름돈이라는 개념이 꽤나 복잡한 과정을 걸쳐야한다. 그래서 비트코인은 구매자의 지불절차만 진행할 수 있도록 UTXO를 사용하게 된다. 비트코인에서 잔고/ 잔액이라는 개념은 없고, 거래에 의해 생긴 결과물들의 합을 잔액(UTXO의 합)이라는 개념으로 쓴다. 비트코인을 지불하는 것은 소유한 UTXO 중에 하나 혹은 여러개를 사용해서 코인을 넘기는 것이다. 만약 UTXO를 사용했을 때 내가 받아야할 돈이 생긴다면 거스름돈 개념의 출력값으로 새로운 UTXO가 생..
-
[Bitcoin] 비트코인 합의 알고리즘 PoW / 채굴 / 노드Study/Blockchain 2019. 8. 30. 11:00
비잔틴 장군 문제 비잔틴 장군 문제는 1982년 처음 제기된 문제이다. 비잔티움 장군 문제 내용을 요약해보면, 지리적으로 떨어진 부대에서 어떠한 전령을 주고받을 때 통신의 문제가 발생하거나 악의적으로 전령을 조작하여 가짜 정보를 전달할 경우 부대의 장군들은 어떻게 올바른 정보를 가져올 수 있는지 문제를 제기한 것이다. 즉, 블록체인에서 생각해보면 이는 블록체인 네트워크에 연결된 전세계에 흩어진 노드가 악의적으로 데이터를 변경했을 때 시스템에 치명적인 오류가 발생할 수 있다는 것이다. 이를 방지하기 위해 만들어진 것이 바로 합의 알고리즘이다. 블록체인은 중앙화된 서버 대신에 분산된 전 세계의 노드에 데이터를 보관하기 때문에, 데이터에 대한 신뢰를 구축하는 방법이 필요하다. 그래서 블록에 기록하는 데이터가 ..
-
[Bitcoin] 비트코인 블록에는 무엇이 담겨있을까?Study/Blockchain 2019. 8. 29. 11:00
블록체인은 도대체 어떻게 탄생하게 되는 것일까? 블록체인을 구성하는 핵심 요소인 'Block'에 대해서 알아보자. Block + chain = ? 블록체인은 왜 블록체인이라고 불리는 것일까? 이유를 쉽게 설명하자면 블록이 사슬처럼 연결되어 있기 때문이다. 첫 번째 블록 생성 이후 두 번째 블록이 생성될 때를 살펴보면, 두 번째 블록에는 이전 블록의 해시값이 담기기 때문에 사슬처럼 연결되어 있다고 볼 수 있다. 그래서 'Blockchain' 이라고 불리는 것이며 각각의 '블록'이 서로 연결되어 '체인'을 형성하는 것이다. 블록의 구조를 들여다보자 블록체인을 이루는 블록에는 무엇이 담겨있고 어떤 구조로 이뤄져있을까? 기본적으로 블록은 1) 현재 블록 해시 2) 블록 Header 3) 거래 개수 4) 블록 B..
-
[Bitcoin] 비트코인과 블록체인의 등장Study/Blockchain 2019. 8. 27. 10:54
비트코인 Bitcoin 2017년 3월, 이 단어를 처음 듣게 되었다. 당시 비트코인에 같이 투자하자고 권유하던 친구가 있었다. 시간을 되돌릴 수만 있다면.... 영화 인터스텔라의 한 장면처럼 나에게 투자하라는 시그널을 보내고 싶다... 만약 투자했다면 일확천금을 할 수 있었을까? 눈물이 앞을 가린다...ㅠㅠㅜㅜㅠ 아무튼! 많은 사람들은 처음에 비트코인을 투자 혹은 도박 혹은 사기의 대상으로 바라봤을 것이다. 하지만 지금은 다들 블록체인을 배우겠다면서 너도 나도 할 것 없이 교육을 받고 있는 상황이다. 비트코인이 뭐길래? 블록체인이 뭐길래 다들 이렇게 열광하는 것일까? 물론 여전히 비트코인에 대해 회의적이고 블록체인에 대해 부정적인 의견들은 존재하지만, 전세계인들을 들썩이게 만들었던 센세이셔널한 비트코인..
-
[Bitcoin] 비트코인 코어 운영 : 채굴, 계정 생성, 송금Study/Blockchain 2019. 8. 8. 10:10
bitcoin core 코어를 직접 운영해보면 비트코인이 어떻게 동작하는지 원리를 알기 쉽다. 비트코인 코어는 모두 오픈소스로 Github에 공개되어있어서 쉽게 설치할 수 있다. bitcoin-daemon (bitcoind)을 이용해서 bitcoin core를 운영해보자. 그리고 비트코인 테스트넷은 2가지 종류가 있는데, regtest 네트워크를 활용했다. - testnet : 인터넷 상에서 동작하는 테스트 네트워크이고, 테스트용 BTC를 사용하는데 이미 대량의 블록체인이 존재하기 때문에 처음 시작 부터 모든 블록을 동기화해야한다. - regtest : 로컬 PC 내에서의 테스트 네트워크이고, 개인 PC에서 비트코인 코어를 운영할 수 있으며 블록체인 초기화도 쉬워서 테스트로 사용하기 적합하다. 개..