본문 바로가기

Project/00. Reboot Camp

블록체인의 요소 기술과 비즈니스 사례

2019.06.21

 

대한민국 sw의 미래

N BLOCK 블록체인 엔지니어 장민호

 

I. 블록체인의 시작

비트코인과 같은게 아니냐?

근데 블록체인과 뗄수 없는 기술이긴 하다

 

그래서 일단 비트코인이 뭐냐면..

1만년 전에는 물물 교환이었다.

너무 무거우니까

5000년 전 중국에서 종이 화폐가 생겨났다!

2009년 비트코인이라는 암호화폐가 생겨난다!

- 1. 물물교환 > 2. 종이화폐 > 3. 암호화폐

 

- 비트코인과 실물 화폐의 차이

비트코인은 탈중앙화된 화폐!

단점은 법적 조치 및 보호를 해줄 수 없다는 점, 잘 못 입금하면 바로잡을 수 없지만 장점이 더 많다.

별도의 발행 기관과 관리 기관이 없다.

 

탈중앙화는 많은 지불 결제의 중개에 드는 비용을 줄일 수 있다.

중앙화는 주고 받을 때 수수료가 생긴다!

탈중앙화는 서브파티가 없기 때문에 시간이 줄어들고 수수료가 없다.

 

- 블록 체인의 역사

블록체인의 역사 == 비트코인 역사

사이버 펑크 운동으로 시작

70-80년대 신용거래하는데 있어서 중앙에 왜 우리 프라이 버시를 제공해야하는가? 라는 의문이 생긴다.

매트릭스 영화가 예시가 되는데.

전자 화폐 시스템이 프라이버시를 지키기 위해 필요한다! 이를 위한 서명 암호 시스템을 제안한다.

 

- 데이터 위조 방지 기술

컴공학 적으로도 여러운동이 있었는데

1991 디지털 데이터는 위조되기가 쉽다. 그래서 좀 더 암호화 하는 것도 중요하지만

여러 알고리즘이나 해시나 타임 스탬프로 변경을 감지할 수 있는 방법을 제공한다.

 

- 스마크 계약

릭 자버보

1996. 기존의 갑과 을 간의 계약에는 강제성을 가지지 않는 경우가 많다.

종이 쪼가리는 지워 버리면 아무런 효력이 ㅇ벗지 않냐?

그래서 프로그램적으로 하는게 어떻냐? 제안

 

- 무정부 주의

1998

돈이라는 교환매체에 대해 새로운 방법이 필요하다!

 

작업 증명과 BIT GOLD

2008 닉자보

작업 증명이라는 개념을 만들어 낸다.

 

2008 나카보토

비트코인 백서를 만들어 낸다! 비트코인의 시작

이때 까지 모든 역사와 운동들을 합치고 적용해서

PEAR TO PEAR로 거래할 수 있는 것을 제안한다.

 

- 비트코인의 등장

같은 재화를 가지고 동시에 두번 보내는 것을 이중지불이라고 하는데

이를 불가하게 수학적으로 표현한 것이 비트코인 논문이라 할 수 있다.

 

- 비트 코인의 등장과 블록체인의 발전

2009년에 처음 발표된다.

미국에 잭슨 뭐시기가 있는데

비트코인을 체굴해서 비트코인이 있는데 피자 먹고 싶다

근데 어떤 미친 놈이 1만 비트 코인에 피자를 판다!

 

100만 비트코인이 체굴된다 2009년에

 

2011 MT.GOX의 사고가 생긴다!

암호화폐가 해킹당했다!!! 왜 해킹되냐 논란이 되었다

내부 직원이 빼돌렸다...

이때 부터 중앙화의 역설이 아니냐는 말이 나왔다.

이더리움 발표 > R3 협의체 시작 > 하이퍼렛저 발표

 

 

II. 블록체인

 

- 비트코인의 거래

참여자가 모든 사람의 거래내역을 저장한다 : 분산화 되었다는 뜻

참여자가 모든 동일한 데이터를 가지고 있고 권한이 분산화 되어있다.

 

참여자의 합의하여 거래를 결정 : 분권화

 

- PEAR TO PEAR 네트워크

블록체인은 P2P 네트워크 통해 거래 저장한다. 

클라이언트 서버는 계층을 두고 데이터를 전송한다

동등 계층간의 데이터를 전송하는 기법을 말한다.

피어들은 서버와 클라이언트역할을 동시에 한다.

탈중앙화된 P2P 방식!

P2P 불법 다운 사이트랑 비슷하게, 유사한 데이터를 가진 사람들에게

데이터를 다운 받을 수 있다.

영화를 다운 받는 것에 대해 확실하다. 왜냐면 구성원들끼리 연결되어 있고

신뢰가 있기 때문에

 

- 정의 1, 블록체인의 불가역성

한번 기록. 승인된 데이터는 수정과 삭제가 불가능해야한다.

왜냐면 탈중화라서

 

III. 블록체인과 디지털 서명

 

- 비트코인은 부인방지가 가능하다

다른 사람이 내 돈을 보낼 수 없어야하고 내가 보낸 것이 증거가 남아서 부인할 수 없아야한다.

 

- 비트코인 지갑

기술 요소들이 있다! 부인 방지를 위해

개인키와 공개키를 생성할 수 있다. 

이를 통해 비트코인 주소를 생성할 수 있다. 이를 통해 역은 안된다.

 

개인키 > 공개키 > 비트코인 주소

개인키 <(불가) 공개키 <(불가) 비트코인 주소

 

비트코인 지갑에 있는 키들은 비대칭 키로 활용이 된다!!

이는 개인키로 암호화하면 공개키로 복호화할 수 있고

공개키로 암호화 하면 개인키로 복호화 가능하다

개인키를 개인키로, 공개키를 공개키로 복호화 할 수 없다!

 

- 공개키 기반 구조의 활용

 

-정의2 . 데이터 출처 검증할 수 있다.

데이터 저장 시 데이터 출처를 기록하여야 한다.

 

 

 

- 비트코인과 블록

비트코인은 누가 누구에게 돈을 보내는 것을 트랜젝션이라 하는데

10분간의 트렌젝샨을 블록으로 만든다 이를 연결하고

앞뒤 맥락을 맞추어서 체인을 만든다...

 

 

- 해시 알고리즘

모든 작업들이 체인으로 연결되어 있는데

해시 알고리즘은 웹사이트에 아이디랑 비번을 넣으면 별로 찍히는데

해시 알고리즘을 적용하면 이를 복사해서 붙이면 별이 나온다

위변조 여부를 확인하는데 활용한다

출력 값으로 입력값을 유추할 수 있다.

 

- 블록의 구성

바디에는 10분간의 트랜젝션이 모여있고 이를 1블록으로 만들어낸다.

블록은 10개가 될 수 있고 100개가 될 수 있다.

 

블록의 6가지 구성

 

1. 이전 블럭 해시코드 : 앞뒤 맥락을 맞출 수 있도록 / EX) 20번째 블록의 해시를 바꾸면 

이어진 모든 블록을 수정해야한다.. 하나의 블록을 수정하기 위해서는 앞뒤 연결된 블록을 수정해얗나다.

2. 트랜잭션의 해시코드

3. 블록의 생성시간

4. 문제 난이도

5. 문제 정답

 

- 트랜잭션 해시 저장 : 머클트리

10분간 TJ 나열하면,, 이는 해시 알고리즘으로 

결국은 모든 데이터가 변경이 되면 머클루트는 변경이 되니까

머클루트는 필수적이다.. 뭔 개소리여

해시 알고리즘으로 머클트리를 만들어내고

이를 통해 데이터의 무결성을 확인할 수 있어야한다.

 

- 정의3. 모두가 검증 가능한 데이터 저장소

-참여자 모두가 데이터 무결성을 확인할 수 있다.

 

 

- 비트코인 체굴한다.

단순 노동을 반복한다. 같은 동작 반복! = 노가다

한 방에 사람들 넣어서 도어락 비밀번호를 알아내라고 하고

가장 빨리 푸는 사람에게, 정답을 맞추는 사람에게 상품을 주겠다! 

이것이 체굴하는 것..?

 

문제를 던져주면 이것의 정답을 찾아내는 것이 체굴, 마이닝이라고 한다.

 

 

- 난이도 조절

 

참여자가 많아질 수록 해시파워 높아지고 해결 시간이 짧아진다

그래서 난이도를 통해 밸런스를 맞춘다.

 

최대 난이도는 2^224

 

어쩄든 문제를 풀면 체굴했다! 마이닝 성공했다!

보상으로 비트코인이 제공된다.

 

- 비트코인과 보상

 

NONCE를 찾는 것

채굴 인센티브 12.5 BTC

각 트랜잭션의 수수료 X BTC

 

- 작업 증명의 한계

체굴하기 위해서 땅을 사고 체굴기를(컴퓨터) 사고, 컴퓨터에게 문제를 풀게한다.

컴을 계속 돌려서 비트코인의 보상이 줄어든다. 그래서 망한다. 투자대비 전력량이 너무 크다

 

체굴에 대한 보상이 줄어서 도망간다..ㅋ

중국에는 어머어마한 컴으로 체굴을했다.

피시방에서도 돌리고 했었음

 

 

 

분산화 분권화 

해시알고리즘 : 위변조 방지

 

 

V. 비트코인 이중 지불 방지와 합의

 

- 스마트 컨트랙트의 기원

특정 계약을 스스로 수립, 검증, 이행하기 위한 컴퓨터 프로토콜

 

 

- 블록체인과 스마트 컨트랙트

블록체인에 스마트 컨트랙트 데이터를 기록하겠다.

계약 기록

계약 내용

코드

이행 이력

이행 결과

 

 

- 프로그래머블 머니

실제로 코드를 통해서 계약의 강제할 수 있다!

스마트컨트랙트하면 일자리가 없어질 것.. 

 

 

- 블록체인 2.0

 

1세대 블록체인 : 비트코인

2세대 블록체인 : 이더리움

 

 

 

- 스마트 컨트랙트 활용 사례

 

토큰 서비스

이더리움의 법칙 내에 스마트 컨트랙트를 만들고 그 안에 토큰 서비스를 만든다.

토큰을 만들어서 거래를 할 수 있게 만든다.

실제로 우리 사례로 보자면 많이 봣을 텐데 뉴스에서 비트코인 암호화폐 사기다 라고 하는데

기업이 예를 들어 투자를 받으려고 사업 게획서를 만드는데 회사를 찾아가서 투자 해달라고 영업한다.

사업 계획서를 검토하고 투자한다고 결정하면 공시한다.

외국에서 투자를 받으면 세금을 땐다.

이더리움 서비스는 ERC2000 암호화폐 거래 기반. 토큰이라 표현하고

사업계획서를 만들고 화이트 페이퍼(백서)를 통해서 올리고 이정도의 이더리움을 투자하면

이게 더 오를 것이다 라고 한다. 기존 거래는 중앙화된 시스템이기 때문에

법적 철차에 따른 보상이 있어야하는데

우리나라는 아직 ERC2000를 통해 이상한 백서를 만들고 투자를 받으면 실제로 증거가 안남아..이더리움이라

누가 보냈는지 잡을 수가 없다! 많은 스타트업이 투자를 받고 토큰을 서비스하는데 충실하지가 않다.

암튼 ERC 20 토큰으로 투자를 받고 이러한 플랫폼을 가지고 사업을 하려고 한다.

많은 사업화를 하려하지 않고, 투자한 사람들은 누가 보냈는지 알 수도 없고 문제가 있다..

법적인 제제가 필요하다 고 생각

 

 

축구화 살려면 옥션에 들어가면

판매자가 있다

옥션이 중간에서 담보를 해준다

판매자는 돈이 들어오면 물건을 보낸다

실제로 판매자는 모르지만 옥션이라는 중앙 관리자를 신뢰하여

구매를 한다.

물건을 보내면 옥션에서 판매자는 돈을 받는다

 

이것을 중간 관리자를 없애는 것! 에스크로 서비스를 스마트 컨트랙트를 사용

 

 

- 스마트 컨트랙트의 전망

할 줄 아는 사람들을 뽑으려고 한다.

 

 

- 이더리움 가상 머신

자바 가상머신이 나오고 나서

JVM에서 처리 가능/ 운영체제에서 시스템 콜을 직접 호출하지 않고

 

모든 컴퓨터 들을 단일 컴퓨터로 본다. 왜냐면 각 참여자들이 같은 권한을 갖고 있기 때문에

 

 

- 스마트 컨트랙트 배포 및 실행

EVM이 필수다

솔리티? 를 배우게 될 것이다. 자바나 자바 스크립트를 배웠다면 배우기 쉽다.

스마트 계약 코드  >컴파일> 바이트 코드  >트랜젝션생성> 블록체인 블록 >배포> 블록체인 네트워크

 

스마트 계약 실행 과정

 

 

- 튜링 완전성과 가스

 

유한한 ㅇㅇㅇ안에서 컴퓨터로 문제를 풀 수 있다..?

비트 코인은 이것을 방지하기 위해 루프를 디도스 때문에 포문을 넣지 않았다.

이더리움은 루프를 넣었다

 

가스는

이더리움을 돌리려면 수수료가 필요하고

필요하다.

각 함수마다 가스비를 책정한다. 어떠한 함수를 부를때 마다 이정도의 가스가 필요하다. 라고 측정한다

그래서 무한 반복을 방지한다.

경제적으로 디도스를 방지하겠다는 이더리움. > 이더리움에서 가스의 필요성

 

 

VI. 기업형 블록체인 비즈니스의 사례

 

- R3CEV 의 탄생

미국인가? 어디의 스타트 업인데

여러 은행이 모여서 블록체인을 적용해서

은행들이 사용할 수 있는 블록체인을 만들어봐라

 

- 사례 발굴

 

- R3의 흥행

브라이빗 네트워크를 형성해서 

 

- 공개형 블록체인의 한계

프라이버시

이더리움과 같은 기존 플랫폼은 하나의 공유 장부로 운영되어 모든 참여자가 정보를 볼 수 있다.

고객 또는 자산의 기밀성을 보호해야 하는 금융산업에서 공개적인 데이터 검증 구조는 무리

 

트랜젝션의 최종성

 

식별 가능한 참여자

식별이 가능한 블록체인을 만들어라

 

확장성

마스터 카드나 비자카드는 tps (트랜젝션 퍼 세컨드)가 얼마드라?

참여도가 높아질 수록  난이도가 높아진다

확장성을 통해서 합의 프로토콜을 통해서 .. 뭐래 

 

 

- 코다 아키텍쳐

 

허가형 네트워크 

 

point to point : 거래 당사자 끼리만 정보를 공유

 

- 공개형과 허가형의 차이

 

 

프라이빗은 가스비가 없고 네트워크 비용을 엔빵한다. 그래서 자산이라고 하는것은 돈이 될 수도 있고

포인트가 될 수도 있따. 각자가 원하는 자산이나 구조를 거래할 수 있는 것이 프라이빗.

 

- 비즈니스 블록체인 개발 연합

the linux foundation

hyperledger

 

이탈리아 옆에 사이플러스 라는 나라가 있는데

화폐가 쓸모가 없어졌다..

그래서 좀 더 대체 될 수 있는게 비트코인이 되겠다.

 

자신들의 나라에서 발행하는 화폐의 신뢰가 떨어지니까 비트코인으로 교체할 수 있다.

 

무디스인가 신용평가하는 회사에서 우리나라가 aa2를 받았는데 애플은 aa1 으로 더 높다

우리나라는 원화가 안정되어 있어서 문제가 없는데

베네 수엘라등 화폐가 믿기 힘들면 .. 비트코인이 대체할 수 있을 듯

 

 

하이퍼레저 패브릭

Hyperledger Fabric

 

프라이빗 블록체인을 만들던 회사가 하이퍼렛저가 오픈 소스 공개해서 개망..

 

- 하이퍼레저 회원사

엄청시리 많다

하이퍼렛저 프로젝트에 들어가서

우리 사업에 맞는 참여자를 구성해서

모였다..

안에서 프로젝트들도 많다

 

가장 많이 사용하는 것이

하이퍼렉즈 패브릭이다.

지금은 블록체인에 최적이다.

 

 

- 패브릭 적용 사례

 

IBM 

월마트

머스크라인

 

월마트

식품 회사

중국산 돼지나 프로세스가 불분명한 상품이 많다.

돼지의 탄생부터 식탁까지의 프로세스를 담겠다.

어디서 태어나서 뭐 먹고 어디서 죽어서 짤라서 우리집에 왔는지

신뢰할 수 있는 데이터를 만든다.

이런 것들을 통해서 프로젝트를 진행하고 있다.

 

머스크

해운사

트래이드 렌즈를 개발한다.

운송에 드는 정보를 아직 수기로 한다.

배송시 문제가 발생하면 처리하는 프로세스가 다양하다.

모든 사후 관리를 위해 적용을 한다.

근데 이렇게 하면 사전방지도 된다.

블록체인을 적용하려고 적극적이다.

물건이 어느 위치에 떨어졌는지 누가 공증하고 판별할 것이냐

외부 데이터를 블록체인에 들여올 것인데 어떻게 할거냐

 

- 기업형 블록체인의 활용 가능 사업 분야

 

은행 : 공급망 및 무역금융, 거래 시장

정치 : 자산 등록 , 주민 신원, 허위와 실제 판별, 선거

생산: 공급망, 생산 품목, 유지보수 추적

의요 : 의료 데이터 교환 , 임상실험 관리, 결과 기반 계약, 약제 공급망

금융 : 거래 후 처리 과정, 미등록 증권, 사모펀드, 참조 데이터, 화폐 간 지급 결제, 모기지

 

점심먹고 와서 잠시 소개를 할 것이지만

프로젝트에는 하이퍼랫저도 들어갈 것이다.

 

 

 

 

- 전체 프로젝트 개요

 

1주 : 블록체인 기초 역량 습득

2주차 ~ 7주 : 블록 체인 기반의  P2P 경매 시스템 개발

- 경매 돈을 이더리움의 이더로 쓸 것이다.

- 소유권이나 히스토리를 열람할 수 있는 패브릭? 쓸 것이다.

 

- 블록체인 기초 역량 습득

네트워크 구성이 가장 중요하다. 이더리움의 네트워크 !

프론트앤드와 이더리움 간 연동

이더리움 스마트 컨트랙트 개발 

하리퍼레저 패브릭 체인코드 개발

 

 

- PART1 . 이더리움

이더리움 네트워크 구축 > 이더리움 익스플로러 구현 > 스마트 컨트랙트 작성 및 배포

UI 의 기본은 다 해주니까, 우리는 동작이나 기능만 구현하면 됩니다.

스마트 컨트랙트 

 

- P2. 하이퍼레저 패브릭

패브릭 네트워크 구축 > 체인코드 작성 배포 및 사용

취업 시장에서 블록체인을 하려면 패브릭이 중요

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'Project > 00. Reboot Camp' 카테고리의 다른 글

Big Data 심규석 교수님 강의  (0) 2019.06.25
AL/ML 프로젝트 사전 과목  (0) 2019.06.24
빅데이터_프로젝트 관련 분석 알고리즘  (0) 2019.06.20
정리 | JIRA_AZURE_JENKINS_GIT  (0) 2019.06.20
딥러닝 기초  (0) 2019.06.19