본문 바로가기

[블록체인 05] 해싱 데이터 해싱 해시함수(Hash Function)는 어떤 형태의 데이터이든 입력데이터의 길이와 상관없이 고정된 길이의 숫자를 반환하는 함수이다. 암호화 해시 함수(Cryptographic hash function)는 어떤 데이터라도 고유의 디지털 지문을 생성해 주는 함수이다. 해시함수의 특징은 어떤 종류의 데이터도 빠르게 해시값을 계산할 수 있으며, 동일한 입력값에 대해서는 동일한 해시값을 생성한다.입력값이 변하게 되면 해시값도 예측 불가능하게 변해야하며, 해시값에서 원문을 추출할 수 없다. 또한 둘이상의 입력값이 같은 해시값을 생성할 수 없다. 그래서 해시값은 디지털 지문으로 사용가능한것 이다. 다음은 해싱 데이터의 5가지 패턴이다. 더보기
[블록체인 04-1] 블록체인은 어떻게 작동하는가? [시나리오] 소유권을 관리하는 블록체인 구축 1. 시스템은 순수 분산 P2P시스템이고, 각 사용자가 기여한 계산자원으로 이루어진다.2. 인터넷을 사용해 개별노드의 네트워크를 연결한다.3. 노드의 개수는 물론 노드의 안정성과 신뢰성도 전혀 알 수 없다.4. 목표는 디지털재화( ex: 쇼핑몰 포인트, 디지털 화폐 등)의 소유권을 관리하는 것이다. 시스템 개발에 고려해야 하는 사항들.1. 소유권 기술(설명)2. 소유권 보호3. 트랜잭션 데이터 저장4. 신뢰할 수 없는 환경에 배분할 원장 준비5. 원장 배분6. 원장에 새 트랜잭션 추가7. 어느 원장이 진실인지 판단 소유권 기술(Describe)트랜잭션은 소유권의 이전을 설명하는 좋은 방법이며, 트랜잭션 전체 이력은 현 소유자를 확인할 수 있는 핵심이다. 소유권.. 더보기
[블록체인 03] 소유권 과 블록체인 소유권의 본질은 내가 가진것이 내것이라고 증명하는 것이다. 그럼 내가 가진것이 내것이라는 것을 어떻게 증명할 수 있을까? 소유권을 입증하기위해 다음과 같은 3가지 요소가 필요하다.- 소유자가 누구인가?- 소유 물건은 무엇인가?- 그 물건이 소유자의 것인가? 내가 가지고 있는 물건이 내것임을 증언하는 사람이 많다면 그 사실이 진실일 가능성이 높아진다. 이 아이디어가 블록체인의 핵심 개념중의 하나이다. 식별(Identification) 이름이나 ID등을 사용하여 "누구"라고 주장하는것이다. 인증(Authentication)내가 나라고 증명하는 것이다. 이 증명을 위해 그 사람만의 고유한 무엇(지문, 얼굴, 패스워드, 신분증, 일련번호 등) 을 사용하게 된다. 승인(Authorization)식별된 사람의 성질.. 더보기
[블록체인 02] 블록체인이 뭔가요? 블록체인이란 용어는 다음과 같은 네가지 다른 의미로 사용된다. 1. 데이터 구조 이름2. 알고리즘 이름3. 기술묶음 이름4. 일반 응용분야를 가지는 순수 분산 P2P 시스템을 포괄하는 용어 데이터 구조 이름 "블록"은 데이터의 단위를 의미하며, "체인"은 순서대로 연결되어 있다는 의미이다.예를 들어 책의 한 페이지는 블록인 된다. 이러한 페이지들은 페이지 번호를 붙여 한권의 책으로 구성된다. 책에 포함되어 있는 정보는 페이지 순서대로 정렬되어 있다고 볼 수 있다. 혹 누군가 페이지를 찢었는지 확인하려면 페이지 번호에 누락이 있는지 살펴보면 된다. 알고리즘 이름 알고리즘이란 컴퓨터가 실행해야 하는 일련의 명령어들을 의미한다. 즉 데이터 구조 내의 정보 내용을 민주주의 투표 방식과 비슷한 방법으로 서로 협상.. 더보기
[블록체인 01] P2P 시스템 P2P시스템 정의 P2P(Peer to Peer) 시스템은 여러개의 개별 컴퓨터들로 구성된 분산 시스템으로, 한 노드의 자원(계산능력, 저장공간, 정보배분등)을 다른 노드들이 직접 사용할 수 있다는 특징을 가진다. 즉 P2P시스템에 참여 하게 되면 사용자의 컴퓨터는 P2P시스템의 노드로 전환되고, 모든 노드에게는 동등한 권리와 역할이 주어진다. 예를 들어 P2P 파일공유시스템에 가입하게 되면 개별 파일은 각자의 컴퓨터에 저장되어 있으나 모든 사용자와 공유된다. 누군가 파일 다운로드를 실행하면 다른 누군가의 컴퓨터로 부터 파일이 다운로드 되기 시작한다. P2P시스템 아키텍처 P2P는 분산 컴퓨터 시스템으로 운영된다. 순수 분산 P2P 시스템에서는 모든 노드는 동일한 과제를 수행하며 자원과 서비스의 생산자이.. 더보기
Tensorflow GPU 환경구축 Tensorflow GPU환경 구축을 위한 CUDA Toolkit, cuDNN v5.1 두 가지 프로그램을 설치해야 한다.1. CUDA Toolkit을 설치한다. https://developer.nvidia.com/cuda-downloads 2. cuDNN 설치한다.https://developer.nvidia.com/cudnn cuDNN의 경우 Nvidia Developer사이트의 회원 가입이 필요하므로 가입하면 된다.주의 할점은 윈도우 10환경에서는 Download cuDNN v5.1 (Jan 20, 2017), for CUDA 8.0 즉, 5.1버전으로 다운로드 받아야 오류가 발생하지 않는다. 3. 텐서플로우 GPU버전 설치한다.pip install --upgrade tensorflow-gpu 4. .. 더보기
[링크] 머신러닝,딥러닝 아나콘다 다운로드: https://www.anaconda.com/download/ 더보기
머신러닝의 역사 출처: https://projectresearch.co.kr/2017/06/14/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9Dml%EC%9D%98-%EA%B0%84%EB%9E%B5%ED%95%9C-%EC%97%AD%EC%82%AC/ 1946 – 2017우리가 머신러닝(ML)에 깊이 관여하기 전에, 우리가 어디로 가고 있는지 알아보기 전에 우리가 어디에 있었는지 알아야합니다. 다른 역사와 다르지 않은 것처럼 보일지라도, 흥망성쇄으 기로 앞 시점에서 현재의 인기가 과장된 선전인지 아니면 거대한 패러다임의 변화인지를 우리가 직접 결정하게 될 것입니다.위키피디아 머신러닝(ML)의 타임 라인은 베이즈의 정리의 토대를 발견 한 1763 년부터 시작합니다. 그러나 컴퓨터가 발명된 1946년인 20.. 더보기