주의!! 해당 포스팅은 자바로 블록체인을 구현하며, 장기간의 프로젝트로 초반에는 매우 많은 삽질을 할 수 있다는 점 양해 바랍니다. 자바 자체가 블록체인에 적합하지 않는 언어(속도가 C, C++보다 느리며, 디컴파일에 취약)이기 때문에 이렇게도 구현 되지 않을까 정도내지 프라이빗 블록체인(퍼블릭은 무리)을 포커스를 삼고 있습니다. 영상은 이미 2주전쯤에 찍어서 올렸는데, 포스팅을 올리는걸 깜빡하여 뒤늦게 포스팅을 합니다. 첫번째는 플랜을 전체적으로 짜보았고, 두번째는 본격적으로 노드를 어떤식으로 구성을 하는 것이 좋을까에 대한 내용입니다. 일반적으로 소켓(Socket) 통신을 통해서 브로드캐스팅(Broadcasting)하는 방식을 사용할테지만, 저는 그런거 안하고 구현할 겁니다 (web api 방식) T..
많은 코인 업체들이 처음 코인을 발행할 때, 어떤 전략을 사용해서 홀더들을 모을지 계획을 수립하게 된다. 그 중에 대표적으로 ICO(Initial Coin Offering) 전략과 에어드랍(Airdrop) 전략을 사용하게 되는데, 에어드랍의 전략은 무엇인지 왜 하는지를 알아보도록 하겠다. 에어드랍은 무엇인가? 에어드랍은 특정 코인을 가지고 있는 사람들에게 보상으로 다른 코인을 무상으로 주는 방식이다. 주로 토큰 업체들이 자신의 플랫폼 코인 홀더들에게 에어드랍을 해주며, 플랫폼 코인을 홀드하는 가장 큰 이유중에 하나이다. 플랫폼 코인의 가격이 떨어져도 에어드랍의 무수히 토큰들을 보상을 받을 수 있어서, 플랫폼 코인을 팔지 않게 되는 것이다. 즉, 토큰의 에어드랍은 플랫폼 코인과 선순환 구조이며 플랫폼 코인..
비트코인(Bitcoin)이라는 결제에 포커스를 맞춘, 화폐 역할의 1세대 암호화폐에서 수많은 댑(Dapp, 탈중앙화 어플리케이션)을 만들어내며 암호화폐를 본격적으로 연 2세대 암호화폐 이더리움(Ethereum)까지 현재 암호화폐는 사실 미래지향적이었지, 아직 제대로 활용이 되는 모습을 보여준적이 없었다. 이오스는 바로, 현재의 암호화폐 시장에서 어떻게 하면 우리가 실생활에서 쓰일 수 있을까를 본격적으로 연구해낸 플랫폼 코인이다. 그러다보니, 기존의 암호화폐와의 몇가지 차별점이 보이는데 바로 트레이드 오프를 통해서, 몇가지 리스크(Risk)를 지며 실생활에 쓰일 수 있는 성능을 얻게 되었다. 이오스나 이더리움같은 코인은 한두번의 포스팅으로 끝날 놈이 아니기 때문에, 여러번의 걸쳐서 포스팅을 쓰고자 한다.이..
2번째 강의는 정수형 변수부터 주소형 변수까지 한번 간단히 알아보고, 문자열 변수의 아주 간단한 예제를 만들어 봤습니다. 오늘은 바로 전 강의보다 아주 약간 복잡한 조건문에 대해서 알아보도록 하겠습니다. 이 강의는 개발자분들에게는 매우 간단하지만, 개발을 해본적이 없는 분들은 이해하기 약간 버거울 수 있다는 점을 염두하시면 되겠습니다. 개발자분들은 1~2분안에 포스팅을 모두 읽고 후딱 넘어갈 수 있겠네요. 이더리움 개발 - 누구나 할 수 있는 솔리디티(Solidity) 언어 #1 이더리움 개발 - 누구나 할 수 있는 솔리디티(Solidity) 언어 (자료형편) #2 아직 강의를 들어본적이 없는 솔리디티에 대해서 이해를 잘 못하시는 분들은 이전 강의를 듣고 오시는 것을 권유드립니다. 오늘은 IF 조건문에 ..
바로 전 강의에서는 솔리디티(Solidity)를 실행하기 위해서, Remix라는 웹 기반 개발도구(IDE)를 설치 해보고 솔리디티판 Hello World라고 할 수 있는, SimpleStorage를 구현해 보았습니다. 바로 이전 강의이더리움 개발 - 누구나 할 수 있는 솔리디티(Solidity) 언어 #1 오늘은 프로그래밍을 위한 기초 중에 기초인 솔리디티 자료형에 대해서 알아보도록 하겠습니다. 참고로, 자료형이란 어떤 값을 넣을 때 값의 성질을 미리 정의하여, 이상한 값이 들어오는 것을 방지하거나 값을 최적화 시킬 수 있는 기능등이 있습니다. 예를 들어, 제가 이사를 가야 하는데 저는 혼자 살아서, 20평 이하의 2룸에 최적화된 생활 환경을 보여준다고 해보겠습니다. 그러면 저한테 21평 이상의 집들과 ..
요즘 들어서 느끼는 생각은, 사람들이 암호화폐가 좋아서 들어오는 것보다는 암호화폐를 오로지 투기하기 좋아서 들어오는 사람들이 많다는 것을 느낀다. 몇가지의 현상을 캐치만 한다면, 이 이유가 나오게 되는데 일단 내가 그동안 여러가지 코인들을 투자하면서 확인한 팩트들을 적어보도록 하겠다. 호재가 호재가 아니다 호재가 호재가 아니라는 말은 2가지의 의미가 있는데, 하나는 진정한 호재를 받아들이지 못하고 또 하나는 호재가 아닌 것을 호재로 받아들이는 현상이다. 여기서 진정한 호재는 파트너쉽(Partnership), 블록체인 퍼포먼스(Blockchain Performance) 증가 정도가 있는데 요즘에는 이러한 것들을 발표해도 시장은 별다른 반응이 없다. 작년에는 특정 블록체인팀이 어느 대회를 나가서 상금을 받아..
어제 불현듯, 이런 생각이 들었습니다. "내가 왜 Dapp만 공부하고 있지? 그냥 블록체인을 만들어 볼까?" 사실, 블록체인의 개념은 프로토타입으로 만들기엔 어려운 내용은 아니라고 생각했습니다. 그리고, 자바로 충분히 구현할 수 있다고 생각이 들어서 한번 무모하게 도전을 해보려고 합니다. 이 프로젝트가 중간에 엎어질 지, 아니면 성공할 지 모르겠으나 개인적인 생각으로는 99%는 현재 내 지식과 프로그래밍 실력으로 구현 가능하다 보고 있고, 블록체인에 대해서 설명할 때 프로그램으로 설명하는 것만큼 좋은 것이 없다고 생각이 들기 때문에, 한번 토큰 개발이 아닌 코인 개발에도 도전을 할 생각입니다. 일단 진행사항은 포스팅과 유튜브 모두 올릴 생각이긴 하나, 선 유튜브 정리되면 포스팅을 하려고 합니다. 포스팅을..
우리는 그동안 Geth를 이용하여 사설 네트워크에서 계좌 생성 및 채굴을 해보고, Mist GUI 브라우저를 이용하여 추가 계좌 생성 및 송금을 해보는 것들을 테스트 해보았습니다. 사설 네트워크에 이더리움도 있겠다 계좌도 여러개 있겠다 이제는 본격적으로 스마트 컨트랙트(Smart Contract)를 구현하기 위한 솔리디티(Solidity)를 시작해보도록 하겠습니다. 들어가기에 앞서 우선 잠깐, 스마트 컨트랙트에 대해서 복습을 해보겠습니다. 스마트 컨트랙트는 우리가 누군가와 계약(Contract)을 하기 위해서는 중간의 신뢰하는 사람이나 기관을 넣을 필요가 없게 만드는, 탈중앙화 계약 시스템입니다. 즉, 내가 누군가와 계약을 한 사실을 모든 사람들에게 공표를 함으로써, 자동적으로 참여하는 노드들과 기록들이..
몇일 동안 초보자를 위한 암호화폐(가상화폐) 트레이딩 강의를 해보도록 하겠습니다. 해당 포스팅은 특정 코인을 추천하지 않으며, 오로지 초보자를 위한 강의이기 때문에 코인판에서 오랫동안 트레이딩을 하신 분들은 다 아는 내용이니 조용히 창을 닫으시면 됩니다 :) 트레이딩을 위해서 가장 먼저 해야 할 일은 전략을 짜는 것이고, 전략의 첫번째는 바로 투자 금액을 설정하는 것입니다. 암호화폐는 우선 상당히 변동성이 크고, 앞날을 예측하기 상당히 어려운 분야입니다. 그러다보니 국가에서도 이 암호화폐를 어떻게 다뤄야 할지 상당히 고민이 아닐 수 없습니다. 누구는 한탕 크게 해먹으러, 투기처럼 들어가는 사람도 있고 누구는 암호화폐가 흥미로워서 투자를 하는 분들도 있을 겁니다. 제가 앞으로 할 포스팅은 투기보다는 투자에..
바로 전 시간의 강의에서는 개인 사설 네트워크를 설치구동하여, Geth(Go-Ethereum)의 콘솔창에서 계좌를 생성해보고, 채굴(Mining)까지 진행을 하였습니다. 채굴까지 완료하였으니, 이제는 다른 계좌에 이체 하는 것을 다뤄보도록 하겠습니다. 암호화폐의 계좌는 다양한 방식들이 존재하는데, 휴대폰 앱으로 제공하는 것들도 있고, 거래소에서 제공해주는 지갑도 있고, 전 강좌에서 보여드렸던, 콘솔(Console) 환경에서 계좌를 생성하여 거래를 진행하는 방식도 있습니다. 콘솔로 하는 것은 불편하고, 거래소와 앱으로 제공하는 지갑들은 사설 네트워크에 접근이 안되기 때문에 이 강의에서는 Mist라는 이더리움(Ethereum) Dapp(Decetralized applications)으로 만들어진 GUI 지갑..
이오스(EOS)의 댑(Dapp)들이 이더리움(Ethereum) 댑들과 차이점이 무엇일까? 바로 그 차이를 명확히 보여주는 것이 에브리피디아(IQ, Everipedia)일 것이다. 그 동안의 댑들은 스타트업들을 주축으로 이상만 가득했지, 명확하게 서비스 시장을 점령하지 못하였다. 대부분의 댑들은 이미 견고한 방어진을 구축한 인터넷시절 혹은 SNS(Social Networking Service) 태생 시절에 나타난 업체들과 경쟁을 해야 한다. 인터넷과 SNS는 그동안 생각하지 못했던 서비스를 실현하는 것을 목적으로 한다면, 현재 블록체인은 새로운 서비스라는 개념보다 보다 강화된 서비스라는 것으로 접근을 하게 된다. 예를 들어, 스팀잇은 기존의 블로그 서비스와 비슷하지만 투표를 통하여 코인을 보상받는 방식인데..
이전 포스팅에서는 Geth(Go-Ethereum)를 설치 하고, 실행하는 것까지 해보았습니다. Geth를 실행하면, 이더리움(Ethereum)의 공용 네트워크(Public Network)에 들어가게 되는데 지금 우리가 해야 할 것은 Dapp(Decentralized Application)을 만드는 것이기 때문에, Private Network 즉, 테스트용 개인 네트워크를 만들어서 이더리움에 대해서 습득하고, 채굴이 어떤식으로 돌아가고 있는지를 익혀보도록 하겠습니다. Geth를 실행할 때, 다양한 파라미터(옵션)들이 존재하는데 필요한 옵션들을 익혀야 우리가 원하는 형태로 클라이언트를 구동 시킬 수 있습니다. 옵션을 어떻게 주느냐에 따라서 공용 네트워크에 들어갈 수도 있고, 사설 네트워크를 만들수도 있습니다..