📝 성장을 위한 기록
-
[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월, 이 단어를 처음 듣게 되었다. 당시 비트코인에 같이 투자하자고 권유하던 친구가 있었다. 시간을 되돌릴 수만 있다면.... 영화 인터스텔라의 한 장면처럼 나에게 투자하라는 시그널을 보내고 싶다... 만약 투자했다면 일확천금을 할 수 있었을까? 눈물이 앞을 가린다...ㅠㅠㅜㅜㅠ 아무튼! 많은 사람들은 처음에 비트코인을 투자 혹은 도박 혹은 사기의 대상으로 바라봤을 것이다. 하지만 지금은 다들 블록체인을 배우겠다면서 너도 나도 할 것 없이 교육을 받고 있는 상황이다. 비트코인이 뭐길래? 블록체인이 뭐길래 다들 이렇게 열광하는 것일까? 물론 여전히 비트코인에 대해 회의적이고 블록체인에 대해 부정적인 의견들은 존재하지만, 전세계인들을 들썩이게 만들었던 센세이셔널한 비트코인..
-
비전공자 개발자에게 필요한 것은 바로 "자기주도학습" 이다 (feat. 코딩부트캠프)Record/dev course 2019. 8. 20. 23:28
제목에서 알 수 있듯이... 그렇다. 나는 사람들이 흔히 말하는 문돌이다. 문돌이로 3번의 회사생활(계약직 포함)을 했고, 마지막 회사를 그만두고 5개월 동안 취업 준비를 했다. 하지만 취업을 위해 공부했던 NCS, 토익 등등... 이런 것들을 배우면서 굉장한 회의감을 느꼈고 새로운 것에 도전해보고 싶었다. 문돌이 개구리, 우물 밖으로 탈출! 그래서 항상 꿈꿔왔던 문돌이 탈출에 도전하게 되었다. 블록체인 스타트업에서 근무하면서 개발자와 스터디도 하며 바로 옆에서 그들이 개발하는 것을 바라보면서 나도 모르게 개발자에 대한 꿈을 키워가게 되었던걸까? 4차 산업혁명이 일어나고 있는 현 시점에서 더 이상 우물안의 개구리가 되고 싶지 않았다. 2019년 6월. 나는 문과생 타이틀을 벗어던지고 개발자 전향을 위해 ..
-
[Bitcoin] 비트코인 코어 운영 : 채굴, 계정 생성, 송금Study/Blockchain 2019. 8. 8. 10:10
bitcoin core 코어를 직접 운영해보면 비트코인이 어떻게 동작하는지 원리를 알기 쉽다. 비트코인 코어는 모두 오픈소스로 Github에 공개되어있어서 쉽게 설치할 수 있다. bitcoin-daemon (bitcoind)을 이용해서 bitcoin core를 운영해보자. 그리고 비트코인 테스트넷은 2가지 종류가 있는데, regtest 네트워크를 활용했다. - testnet : 인터넷 상에서 동작하는 테스트 네트워크이고, 테스트용 BTC를 사용하는데 이미 대량의 블록체인이 존재하기 때문에 처음 시작 부터 모든 블록을 동기화해야한다. - regtest : 로컬 PC 내에서의 테스트 네트워크이고, 개인 PC에서 비트코인 코어를 운영할 수 있으며 블록체인 초기화도 쉬워서 테스트로 사용하기 적합하다. 개..