Download presentation
Presentation is loading. Please wait.
1
BlockChain Introduction
발표자 자료준비 : 황준일 : 황준일, 이요셉 Copyright © 2018 AI & IA Lab All Right Reserved. 1
2
블록체인이란 무엇인가? BlockChain Introduction 1. 블록체인? 암호화폐? 2
블로체인 구성 요소 블로체인을 해야 하는 이유 블록체인에 대한 개념은 상당히 모호 대부분의 사람들은 블록체인에 대해서 이야기할 때 가상화폐인 비트코인 같은 “암호화폐”를 떠올림 블록체인은 비트코인을 서비스 하기 위해서 만들어졌다. 블록체인 : 기술/플랫폼 위 변조 방지 기술 신용의 보장 정보의 공개 암호화폐 : 블록체인 기반의 서비스 암호화 기술을 통한 비밀 유지 암호화된 내용을 블록체인을 통하여 공개 Copyright © IA&AI Lab All Right Reserved 2
3
블록체인이란 무엇인가? BlockChain Introduction 2. 블록체인의 다양한 개념
블로체인 구성 요소 블로체인을 해야 하는 이유 블록체인은 최초의 블록(Genesis Block)부터 시작하여 previous 블록에 대한 링크를 가지고 있는 일종의 연결리스트(Linked List)이다. 하나의 블록에는 거래 정보가 포함 되어 있고, 블록체인은 이런 블록(Block)의 집합체다. 모든 거래 정보를 포함하는 거대한 분산 장부 블록체인 자체가 거래장부인 동시에 거래증서(수표, 영수증, 약속어음)가 됨 한 번 쓰면 부가 기록만 추가할 수 있을 뿐 덮어쓸 수 없는 레코드(기록) 저장소 3. 분산 데이터 저장 기술의 한 형태 중앙 서버 없이 분산된 환경에서 각 peer들이 협동하여 데이터를 유지/관리 - 탈 중앙화 peer to peer방식의 거래. 거래의 순서를 여러 peer가 동일하게 볼 수 있도록 한다. 거래의 내용 및 순서에 대해 합의(consensus)를 이루도록 한다. 거래 정보 모두에게 공개 / 누구나 거래 정보를 생성 / 거래 정보를 모두에게 복사 / 동기화 기록의 유실을 원천 봉쇄 Copyright © IA&AI Lab All Right Reserved 3
4
블록체인이란 무엇인가? BlockChain Introduction 4. 블록체인 관련 기술 4
블로체인 구성 요소 블로체인을 해야 하는 이유 암호화 해시 함수 (Cryptographic hash function) 하나의 input에 대한 하나의 output Intput => output만 가능 : 단방향성 예측불가능한 값 주로 SHA256/512를 이용한다. 분산 중복 저장기술 (Distributed replicated database) : 분산 중복 저장 => 자료간 동기 (합의) => 위변조 X 동등계층 통신 (Peer to peer communication : P2P) : 연결 장비 간 대등한 입장에서 데이터를 공유 연대적 순서 (Chronological timestamping) : 시간순으로 처리 Copyright © IA&AI Lab All Right Reserved 4
5
블록체인 구성요소 BlockChain Introduction 1. What is Block? 2. Block Header 5
블록체인이란 무엇인가? 블로체인 구성 요소 블로체인을 해야 하는 이유 Block은 유효한 거래 정보의 묶음이다. Block은 Block Header와 Block Body(=Merkle Tree)(=Transaction), Block Hash로 구성된다. 2. Block Header version : 소프트웨어/프로토콜 버전 previous block hash : 이전 블록의 블록 해쉬 merkle hash : merkle tree의 root값 timestamp : 블록이 생성된 시간 nonce : 작업 증명시 이용되는 값 Copyright © IA&AI Lab All Right Reserved 5
6
블록체인 구성요소 BlockChain Introduction 3. 머클트리 (Merkle Tree) 6
블록체인이란 무엇인가? 블로체인 구성 요소 블로체인을 해야 하는 이유 머클트리는 transaction(=거래정보) 에 대한 해쉬로 구성된다. => block의 body 역할 개별 거래 정보에 대한 Hash 값을 합친 후 다시 Hash 하는 과정을 거친다. 거래정보가 조작되면, 복사된 체인과 비교하여 조작된 위치를 정확하게 알 수 있다. Copyright © IA&AI Lab All Right Reserved 6
7
블록체인 구성요소 BlockChain Introduction 중간점검 7 블록체인이란 무엇인가? 블로체인 구성 요소
블로체인을 해야 하는 이유 Copyright © IA&AI Lab All Right Reserved 7
8
블록체인 구성요소 BlockChain Introduction 4. Consensus : Nonce 를 통한 합의 7
블록체인이란 무엇인가? 블로체인 구성 요소 블로체인을 해야 하는 이유 PoW : Proof of Work 분산 중복 저장 시 합의가 필요하다. 이 때 이용되는 값. 분산 중복 저장을 위하여 서로가 동일한 자료를 가지고 있음을 확인하기 위함. 제 3자의 정보 위변조 방지 및 분산 중복 확인 Input of block hash = block header => header 정보 중 오직 nonce만 값을 임의로 바꿀 수 있다. Hash를 이용한 합의 - Hash 값이 0010으로 시작하는 nonce 찾기 data + nonce = Hash value data + 0 = 2c177eecd4ad dff33d30163ff…. data = 0e47a95934a5c3e95abbade8700cdfd….. data = 8df25c7daf7d623e60f959980a85571e….. data = 0010b3f5ee08a37d893d2db30993f1c…… => nonce = 3583 Copyright © IA&AI Lab All Right Reserved 7
9
블록체인 구성요소 BlockChain Introduction 5. Digital Signature (디지털 서명) 9
블록체인이란 무엇인가? 블로체인 구성 요소 블로체인을 해야 하는 이유 비대칭키와 해쉬 함수를 이용해서 데이터의 진위 여부를 확인할 수 있게 해준다. Public Key (공개 키) : 암호화/복호화. 누구나 획득 가능 Private Key (개인 키) : 복호화/암호화. 공개 X 공개 키 암호화 문장 => 공개 키와 대칭되는 개인 키로만 복호화 가능 => 개인에 대한 인증이 가능. Ex) Signing : Junil => Encoding(Public Kye of Yosep + hello Yosep) => HaHaHa(Digitally signed data) Verification : Yosep => Decoding(Private Key of Yosep + HaHaHa) => Hello Yosep 복호화는 Yosep만 가능 = Junil에 대한 인증이 가능. Copyright © IA&AI Lab All Right Reserved 9
10
블록체인 구성요소 BlockChain Introduction 5. Digital Signature (디지털 서명) 10
블록체인이란 무엇인가? 블로체인 구성 요소 블로체인을 해야 하는 이유 이 때 디지털 서명은 p2p 방식으로 진행된다. 비트코인의 경우, A와 B가 거래할 때 Transaction Signature(서명)는 B의 public key로 한다. 즉, 다음에 거래할 사람만 해당 서명에 대한 verify(검증)가 가능하다. Copyright © IA&AI Lab All Right Reserved 10
11
블록체인 구성요소 BlockChain Introduction 5. Digital Signature (디지털 서명) 11
블록체인이란 무엇인가? 블로체인 구성 요소 블로체인을 해야 하는 이유 Copyright © IA&AI Lab All Right Reserved 11
12
블록체인 구성요소 BlockChain Introduction 6. Block이 연결된 Block Chain 12
블록체인이란 무엇인가? 블로체인 구성 요소 블로체인을 해야 하는 이유 이러한 과정을 걸쳐서 생성된 Block을 차례대로 연결한다. Copyright © IA&AI Lab All Right Reserved 12
13
블록체인 구성요소 BlockChain Introduction 7. 분산 중복 저장된 Block Chain Node 13
블록체인이란 무엇인가? 블로체인 구성 요소 블로체인을 해야 하는 이유 A의 Node(A와 B가 거래) B의 Node(A와 B가 거래) B의 Node에 새로운 Block 추가 (B와 C가 거래) C의 Node (B와 C가 거래) Copyright © IA&AI Lab All Right Reserved 이 때 client에 제공되는 server는 주키퍼 같은 것 분산 복제 server를 이용한다. 13
14
블록체인 구성요소 BlockChain Introduction
8. 각 거래 Node 대한 BlockChain의 Key Value DB 블록체인이란 무엇인가? 블로체인 구성 요소 블로체인을 해야 하는 이유 거래 내역 당 하나의 key value가 생성된다. Client Level(Key-Value) DB of User A “AtoB” : “a3fe..” => A와 B의 거래내역에 대한 Hash 값 Client Level(Key-Value) DB of User B “AtoB” : “a3fe..” => A와 B의 거래내역에 대한 Hash 값 “BtoC” : “9ce8..” => B와 C의 거래내역에 대한 Hash 값 Client Level(Key-Value) DB of User C “BtoC” : “9ce8..” => B와 C의 거래내역에 대한 Hash 값 Copyright © IA&AI Lab All Right Reserved 14
15
블록체인 구성요소 BlockChain Introduction 9. 기타 15
블록체인이란 무엇인가? 블로체인 구성 요소 블로체인을 해야 하는 이유 어느 블록 체인을 믿을 것인가? 블록 체인에 분기가 발생하여 충돌하게 될 때는 더 많은 작업 증명이 수행되어 길이가 더 긴 블록을 선택 이중 지불 문제에 대한 해결 이중 지불된 거래 중 하나는 결국에는 무효화되는 방식으로 이중 지불 문제가 해결된다. 완료된 거래 정보의 변경 불가 블록 해쉬는 작업 증명의 해답(nonce 값)을 찾아내야 구할 수 있으므로, 거래 정보를 변경한 블록부터 그 이후의 모든 블록을 순서대로 다시 채굴 거래 정보가 변경될 수 있다는 사실이 알려지는 순간 블록 체인의 신뢰는 깨짐 Copyright © IA&AI Lab All Right Reserved 15
16
블록체인을 해야 하는 이유 BlockChain Introduction
1. 블록체인은 비즈니스 모델을 누가 어떻게 만드냐의 문제다. 블록체인이란 무엇인가? 블로체인 구성 요소 블로체인을 해야 하는 이유 언어의 장벽? => No! 기초 데이터? => No! 이 기술이 가지고 있는 특징을 누가 어떻게 이용할 것인가 Ex) First MP3 (새한미디어) => 아이리버 => 아이팟 아이리버와 아이팟은 기능상으로 똑같지만, 아이팟의 디자인이 좋았고, 아이튠즈라는 플랫폼이 더해졌다. Copyright © IA&AI Lab All Right Reserved 16
17
블록체인을 해야 하는 이유 BlockChain Introduction 2. 환경적, 문화적 요인에 의한 제한이 없다.
블록체인이란 무엇인가? 블로체인 구성 요소 블로체인을 해야 하는 이유 AI, 빅데이터 => 미국 등 선도 국가들이 가지고 있는 문화적인 요인 => 경쟁 불가 블록체인 => 모두가 다같이 한 번에 시작하고 있는 상황. 3. 블록체인의 확장성 애플은 앱스토어를 만들어 놓고 그 위에 모든 앱을 꽂게 하였다. 블록체인은 애플과 구글을 통합할 수 있게 해줄 수 있는 플랫폼이다. Copyright © IA&AI Lab All Right Reserved 17
18
Summary BlockChain Introduction 18
수천, 수만노드에 분산 되어 있어서 어느 한 지점에 장애나 공격이 발생하더라도 블록 체인이라는 네트워크 전체는 문제 없이 계속 돌아갈 수 있다. 작업 증명이라는 수학적 계산 작업과 경제 관점에서의 논리를 통해 위/변조가 사실상 불가능한 구조를 갖게 되어, 그 안에 기록된 거래들은 은행같은 중앙의 보증 기관이 없이도 신뢰할 수 있는 거래로서 확정될 수 있다. 분산 환경에 전파되는 과정에서 분기가 발생할 수 있으나, 가장 길이가 긴 블록 체인을 유효한 블록 체인으로 선택한다. 블록체인이란 무엇인가? 블로체인 구성 요소 블로체인을 해야 하는 이유 Copyright © IA&AI Lab All Right Reserved 18
19
감사합니다. Q & A 19
Similar presentations