블록체인과블록체인비즈니스 서강대학교서강미래기술원글로벌핀테크연구소 고덕윤 maniara.k@gmail.com 이미지출처 : http://coindesk.com/
고덕윤 (maniara.k@gmail.com) 서강대학교서강미래기술원연구교수 ( 전 ) 신한대학교겸임교수 ( 전 ) 새한정보시스템소프트웨어개발및운영 서강대학교컴퓨터공학박사 소프트웨어분석 / 설계 블록체인 블록체인기반의코어뱅킹시스템개발 자세한이력 : www.maniara.co.kr
1. 블록체인의개요 2. 블록체인의의의 3. 블록체인비즈니스사례 4. 블록체인의비전 5. 블록체인의도전 본강의는블록체인에관한지식이없는사람을대상으로합니다. 다수의컴퓨터공학지식이포함되어있습니다. 본강의는비트코인의메커니즘을통해블록체인을공부합니다. 이미지및내용의라이선스를고려하지않았으니, 외부유출을금합니다.
블록체인의개요 이미지출처 : http://dhannoo.com/
01 비트코인 : 블록체인의등장 새로운개념의화폐 곡식은 1 만년전부터사용된화폐의원형 약 5000 년전부터등장한금은상당기간화폐로사용 종이화폐는약 1000 년전중국에서처음사용 인터넷기술이발달하면서전자화폐가등장
02 비트코인 : 블록체인의등장 실물화폐와비트코인 발행주체 중앙은행 채굴참여자 도입기관 국가 개발자그룹 ( 사토시나카모토 ) 가치보증 국가기관및은행 소프트웨어알고리즘 화폐소유관리실물현금, 은행잔액기반 공개장부, 거래내역기반 공급결정권 국가기관및은행 발생양및총량이결정됨
03 비트코인 : 블록체인의등장 과연비트코인은화폐로서의가치가있는가? 비트코인은화폐의가치로인정되는가? 비트코인은위조가불가능한가? 내소유권을인정할수있는가? Yes, I can 출처 : coinmap.org
04 비트코인의거래와거래의신뢰성유지 비트코인은왜위조가불가능한가? 50 BTC 100 BTC Alice Bob Bob Charlie Alice 가 Bob 에게 50 BTC 를보냄 Bob 은잔액부족거래불가 Alice 가 Bob 에게 50 BTC 를보냄 Alice 가 Bob 에게 50 BTC 를보냄 Alice 가 Bob 에게 50 BTC 를보냄 Bob 은잔액부족거래불가 Bob 은잔액부족거래불가 Bob 은잔액부족거래불가
05 비트코인의거래와거래의신뢰성유지 P2P 시스템을채용 Client/Server 자원공유 Peer-to-peer 자원공유 Movie.avi 공유합니다. 104 번째패킷이다릅니다. 다른노드에서전송바랍니다. Movie.avi 전송합니다. Movie.avi 전송합니다. 이미지출처 : http://www.vuze.com/
06 비트코인의거래와거래의신뢰성유지 모든참여노드는모든거래내역정보를갖고있다. 너의모든거래내역을알고있으니, 위조할생각은하지말라구! 블록체인노드
07 비트코인의부인방지 블록체인의참여자가갖는최소한의조건 지갑개설 개인키생성 : 256 비트의무작위숫자생성약 10 77 ; k 공개키생성 : 개인키 * G( 생성포인트 ), 개인키로전환불가여러개의공개키생성가능 ; K k K A 개인키공개키비트코인주소 비트코인주소생성 : RIPEMD160(SHA256( 공개키 ))+Checksum 여러개의공개키생성가능 ; A
08 비트코인의부인방지 PKI 메커니즘 Bob 에게 1BTC 송금 k 개인키 T : Alice to Bob ; 1BTC 평문 K 공개키 암호문 암호화 (Alice 의개인키 ) k 공개키 xxxxxxxxx 평문 K 개인키 암호문 복호화 (Alice 의공개키 ) T : Alice to Bob ; 1BTC
09 비트코인의부인방지 비트코인에서쓰이는 PKI 메커니즘 Bob 에게 1BTC 송금 Alice 의공개키로해독이되는걸보니, Alice 의개인키로암호화된것이맞군. 즉, Alice 가보낸것이정확하군 Alice xxxxxxxxx : K 복호화 (Alice 의공개키 ) T : Alice to Bob ; 1BTC 블록체인노드
10 블록체인에서블록의의미 블록의단위 Bob 에게 1BTC 송금 Charlie 에게 1BTC 송금 [ 이전블록 ] 과거거래 1 과거거래 2 수집 Alice Bob 저도거래있어요!! 저도요저도요 수집 수집 [ 현재블록 ] 거래 1 : Alice to Bob : 1BTC 거래 2 : Bob to Charlie : 1BTC 거래 3 :.. 거래 4 :.. ( 약 10 분간의거래내역 )
11 블록체인에서블록의의미 해시코드알고리즘 입력값 Hash algorithm (SHA-256) 출력값 (256bit) 출력값 Some algorithm 입력값 원본값의해시코드를추출하니, 저장된해시코드와동일하군, 내용이위조되지않았어! 위조된입력값 Hash algorithm 다른출력값 블록체인노드
12 블록체인에서블록의의미 블록의구성 이전블록의해시코드 전체트랜잭션의해시코드 : Merkle Root 블록생성시간 문제난이도 문제정답 ( 그림출처 : Jeffrey Joo-Han Song, Bitcoin & Blockchain)
13 블록체인에서블록의의미 머클트리 앞으로거래내용에대한위변조는절대불가능하오 HA= SHA256(SHA256(Transaction A)) HAB= SHA256(SHA256(HA:HB)) HABCD= SHA256(SHA256(HAB:HCD)) 블록체인노드
14 비트코인마이닝 : 블록의생성권한얻기 실생활의사례 문제! : 다음도어락의비밀번호를알아내시오
15 비트코인마이닝 : 블록의생성권한얻기 Proof of Work 어려운문제! : 해시코드를 0000 으로시작하는추가숫자를찾으시오! ( 더어려운문제! : 해시코드를 00000 으로시작하는추가숫자를찾으시오! ) 가장빨리문제를찾는자에게상품을주겠소! WORK AND CHECK, No other Way!! "Hello, world!0" => 1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64 "Hello, world!1" => e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8 "Hello, world!2" => ae37343a357a8297591625e7134cbea22f5928be8ca2a32aa475cf05fd4266b7... "Hello, world!4248" => 6e110d98b388e77e9c6f042ac6b497cec46660deef75a55ebc7cfdf65cc0b965 "Hello, world!4249" => c004190b822f1669cac8dc37e761cb73652e7832fb814565702245cf26ebb9e6 "Hello, world!4250" => 0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9 꼼수없이열심히일했구나 (Proof of work). 상을주마
16 비트코인마이닝 : 블록의생성권한얻기 비트코인의작업검증 Previous block 0000004e0b Merkle Root 000000a149 문제 : 다음헤더로해시코드를추출하면, 0000001 보다작아야합니다. Nonce 란에적합한숫자를넣으시오. Timestamp 2015-01-30 10:10:00 Difficulty 1180923 Nonce?
17 비트코인마이닝 : 블록의생성권한얻기 작업증명의대가 찾았어! 내가 nonce 를가장먼저찾았다고.! 채굴인센티브 : 25BTC 각트랜잭션의수수료 : x BTC 블록체인노드
18 비트코인마이닝 : 블록의생성권한얻기 채굴을위한노력
19 비트코인마이닝 : 블록의생성권한얻기 높아지는전력량. 650 W per Gh/s = 1,577,646 * 1,000,000 * 650 (W/s)
20 비트코인마이닝 : 블록의생성권한얻기 채굴집중화집중화도 : 0.33 (0: 완전분권, 1: 중앙화 )
21 비트코인의불법거래방지 이중지불의사례 0x5123; 50BTC; Alice to Bob 50 BTC Alice Bob 1분뒤 0x5123; 50BTC; Alice to Alice 50 BTC Alice Bob! 내가돈을보냈으니, 물건을보내도록해 알았어. 확인했어. 물건보냈어. Bob 이물건을보냈으니기록을위조하자. 나에게보낸것으로바꾸어야지. Bob Alice Alice 이제뒤의거래를진짜인것처럼
22 비트코인의불법거래방지 분권네트워크구성의어려움 : 비잔틴장군문제 문제상황 1. 장군 1 이 9AM 을장군 2 에게보냄 2. 장군 2 는장군 1 의메시지를장군 3 에게보냄 3. 장군 3 은 8AM 으로위조하고장군 4 에게보냄 4. 장군 4,5 는 8AM 메시지를 8 시에받고공격함 (300:200), 패배 5. 장군 1,2 는 9 시에공격함 (300:200), 패배 상황 1. 300 명의병력이있는비잔틴성을 100 명의병력을가진장군 5 명이포위함 2. 이기려면 300 명이상의병력이공격해야함 3. 장군들은연락병을보내소통이가능함 4. 장군중배신자가있어서로신뢰가불가함 가정 1. 모두합의된시간에공격할수있으면됨 2. 배신자는병력을분산시키려하므로공격시간을변경하려함 3. 각장군은바로다음장군에게만연락함
23 비트코인의불법거래방지 비잔틴장군문제해결 변경규칙 1. 메시지는모든장군들에게전달함 2. 메시지전달을위해서는 10 분이필요함 3. 메시지를받은장군은과거장군의이력과 10 분간작업했다는증표를받아야메시지를신뢰함 AM 9 시에공격합시다. 장군 1 이 10 분간작업을하였군, 신뢰할수있겠어장군 3 에게전달해야지 어떻게 AM8 로바꾸지? 빨리 AM8 메시지를생성? 성공하면일제히 AM8 공격아니면과거이력을모두변경? 다른장군은이미 AM9 의이력을갖고있을텐데. 나의이력을믿게하려면,
24 비트코인의불법거래방지 블록체인의 Longest Block First 난가장긴쪽에붙인다 Fork!! 6 승인 이거래이후에는신뢰가가능합니다. 4 승인 1 승인 마이닝노드 Fork!! 11:34 난먼저받은쪽에붙인다. 11:35 마이닝노드
25 비트코인의불법거래방지 불법거래의성공을위한조건 : 51% 공격 6 승인까지남들보다더빨리!! 해당금액소유권없음, 처리불가 Alice to Alice 50BTC 저블록완성이요 Alice to Bob 50BTC 저다음블록완성이요 Alice to Bob 50BTC 저다음블록완성이요 Alice to Bob 50BTC Alice to Alice 50BTC A 노드 B 노드 C 노드 Alice 노드
26 블록체인의분기처리 정상상태 이미지출처 : 블록체인과금융의혁신
27 블록체인의분기처리 블록이동시에발생 이미지출처 : 블록체인과금융의혁신
28 블록체인의분기처리 이미지출처 : 블록체인과금융의혁신
29 블록체인의분기처리 분기발생 이미지출처 : 블록체인과금융의혁신
30 블록체인의분기처리 각노드에서긴블록또는먼저생긴블록에작업증명수행 이미지출처 : 블록체인과금융의혁신
31 스마트계약 : 블록체인의진화 이더리움의등장 난이더리움서비스를통해네트워크상에서스마트계약을가능하게했다.
32 스마트계약 : 블록체인의진화 이더리움의스마트계약의적용사례 이돈은프랑스와스페인의축구경기에서프랑스가이기면, Alice 에게가고, 스페인이이기면 Bob 에게갑니다. 이돈은레스토랑에서는지불이가능하나, 호프집에서는지불이불가능합니다. 이돈은매달 1 일 Charlie 에게 1/5 씩다섯달동안송금됩니다. 즉이돈은특정검증된프로그램에따라지불됩니다.
33 스마트계약 : 블록체인의진화
34 스마트계약 : 블록체인의진화 스마트계약의활용예 랜덤알고리즘확실합니까? 믿기어렵습니다. 증명해주십시오 xx 육군훈련소 강한군인육성 지금부터자대배치를시작한다. 자대배치는완전랜덤알고리즘을사용한다. 믿고수긍하도록한다.
35 스마트계약 : 블록체인의진화 스마트계약과블록체인 이더리움스마트계약에등록되어있다. 가서직접확인해보도록, 주소는 0x1dk259 이다. 그리고훈련병각각의배치알고리즘실행결과도모두블록체인에저장되어있다.
36 스마트계약 : 블록체인의진화 스마트계약의실행 이제믿습니다.! 나블록생성 0xdk256 실행결과 : aa 블록수신 0xdk256 실행결과정확함블록에추가하겠음 블록수신 0xdk256 실행결과정확함블록에추가하겠음 블록수신 0xdk256 실행결과정확함블록에추가하겠음
블록체인의의의 이미지출처 : cointelegraph.com
37 블록체인의의의 제 3 의정보혁명 다양한지식에대한갈망 정보의홍수 1975 년 PC 의등장 1993 년인터넷의등장 2009 년블록체인의등장 정보의소유와생산정보의공유정보의신뢰성확보
38 블록체인의의의 9 번째프로토콜 이미지출처 : 블록체인과금융의혁신
39 블록체인의의의 분권형컴퓨팅네트워크의사례 이미지출처 : keydifferences.com
40 블록체인의성과 우리는왜블록체인에관심을가져야하는가 24+ 개국가에서블록체인에투자중 3 년간 2500+ 개의특허등록 80% 의은행에서 2017 년블록체인프로젝트를계획중 90+ 개의회사에서블록체인협의체에참여 3 년간 14 억달러규모의투자유치 90+ 개의중앙은행에서국제규모의블록체인에관심이있음 이미지출처 : World finance forum, 2016
블록체인비즈니스사례 이미지출처 : cbinsights
41 블록체인비즈니스사례 : 문서무결성검증 거래문서무결성을지키기위한노력 공증도장을이용한보안특수용지를이용한보안특수패턴을이용한보안
42 블록체인비즈니스사례 : 문서무결성검증 비트코인네트워크를이용한문서무결성검증방안 트랜잭션 거래정보 Alice-> Bob / 0.0001 BTC 비트코인네트워크 데이터저장공간 문서 ID/ 문서의해쉬값 거래문서 비트코인트랜잭션생성 저장 문서저장서버
43 블록체인비즈니스사례 : 문서무결성검증 무결성검증방법 문서해쉬코드생성 Doc ID : OO 12345ABE 위변조발생 검증수행 Doc ID : OO 12345ABD 비트코인네트워크검색 비트코인네트워크 위변조검출
44 블록체인비즈니스사례 : 은행간거래기록 기존방식과의차이 기존방식 블록체인방식 청산소 청산소에기반한중앙화된관리 수수료발생 공격대상이됨 블록체인에기반한탈중앙화된관리 별도의수수료가발생하지않음 공격에의해해킹이불가능함
45 블록체인비즈니스사례 : 은행간거래기록 R3 의사례
46 블록체인비즈니스사례 : 사물인터넷지불결제및분권형관리 ADAPT 사례 ADAPT IoT project 참여그룹및목적 대표적시나리오 3 대기반기술
47 블록체인비즈니스사례 : 사물인터넷지불결제및분권형관리 ADAPT 아키텍처
48 블록체인비즈니스사례 : 공용사설블록체인 우리들만의블록체인 Public Private Participant Anyone Authorized Data Access Any participant Permissioned read and write Throughput Slower Faster Block Gen./Val. Proof of work, Proof of stake Agreed method Asset Native Any
49 블록체인비즈니스사례 : 사설블록체인 다양한산업에적용가능한블록체인개발및연합그룹
50 그외의블록체인비즈니스사례 VISA 자동차리스에관한정보를블록체인으로관리 Abra Human ATM, 이웃에서돈을인출하고, 이력을블록체인을관리 DAO 이더리움기반벤처투자시스템 KRX 블록체인기만스타트업주식거래 코인플러그 블록체인기반해외송금플랫폼
51 블록체인비즈니스의가능성 무디스의보고서에따르면
블록체인의비전과도전 이미지출처 : simpleeconomist.com
52 블록체인의비전 4 차산업혁명의기반기술 4 차산업혁명주력산업 무인자동차 3D 프린터가상현실지능형드론지능형로봇사물인터넷 주력기술을응용한산업 보안성강화 4 차산업혁명주력기술블록체인기술 인공지능 빅데이터 기반데이터의신뢰도확보
53 블록체인의도전 블록체인기술에산재된문제들 Bitcoin vs. Visa Throughput : 7tps to 5,000tps Latency : 10 min. to 2 sec. Size and bandwidth : 50 GB to 214PB/y Security : 51% attack Wasted resource : $15 million/d Usability : developer-friendly API Versioning, hard forks, multiple chains AML vs. Privacy Less node, Less trust Trust vs. Validation delay
감사합니다.