저번 시간에는 제네시스 블록 JSON 파일을 이용하여 제네시스 블록을 생성하였고, 제네시스 블록에는 Header와 Transfer의 영역으로 나뉘어져 있으며 Header에는 채굴자의 정보와 블록을 생성하기 위한 정보등이 담겨져 있고, Transfer는 송신자와 수신자가 존재해서 전송하는 기록등을 담게 되었다. 이번장은 본격적으로 간단한 채굴 로직에 들어가기에 앞서, genesis.json을 이용해서 블록을 생성하는 로직을 소스와 함께 설명해보며, 기본중에 기본인 채굴 로직을 설명하고 다음 장에는 노드를 관리하며 채굴을 하는 방법을 알려드리고자 한다. 해당 포스팅은 실제 돌아다니고 있는 블록체인의 모습을 자바로 구현을 해본 것일 뿐이며 실제 모습은 이와 많이 다를 수 있다는 점을 염두에 두었으면 좋겠다. ..
블록체인에서 가장 이해가 안될수도 있는 채굴에 대해서 강의를 해보도록 하겠습니다. 채굴은 퍼블릭 블록체인에서 상당히 중요한 개념이며, 보상과 사용자에게 참여를 유도시키는 핵심기술중 하나입니다. 다들, 채굴이 뭔지는 대충은 알고 있을 겁니다. 비트코인을 예로 들면, 문제를 맞춘 정답자에게 비트코인을 주게 되는 것이고, 퀀텀은 소유한 양에 맞춰서 이자를 주게 되는 방식이 있습니다. 그리고 최근에 가장 핫한 코인인 이오스같은 경우는 간접 민주주의 방식으로 모든 사용자에게 동등한 권리를 주지 않고, 대표자들에게 채굴의 권한을 준 후 나눠주는 방식이 있습니다. 이러한 채굴에 대해서, 하나둘 모두 비교를 하고 싶으나 내용이 워낙 방대할 수 있어서 여기에는 일반적인 비트코인에서 사용되는 채굴 방식을 사례로 포스팅을 ..
의사결정나무의 생성 방법 모든 의사결정나무 알고리즘은 공통점을 가지고 있는데, 바로 부모노드보다 더 순수도가 높은 자식노드를 만든다는 것이다. 순수도가 높은 자식노드를 만들면, 또 그 자식노드의 자식노드는 상위 노드보다 순수도가 높고, 이를 반복하여 의사결정나무를 만들게 된다. 1. 분기의 발견 의사결정나무 생성의 과정을 위해서, 사전에 분류된 레코드들로 이루어진 Training Set(훈련용 집합)이 필요하다. 훈련용 데이터 집합은 입력변수뿐 아니라 목표변수 값도 알고 있어야 한다. 어떤 사례에 대해서 학습을 하려면, 입력값 뿐만 아니라 목표변수 값도 알고 있어야 학습이 되는데..예를 들자면, 어떤 장바구니의 내용에 아래와 같은 물건들이 있다.담배, 남성용 팬츠, 와이셔츠 등의 물건(입력값)을 구입했다..