PowerPoint Presentation

Similar documents
Microsoft Word - 08_01_블록체인.docx

비잔틴 노드에 의한 네트워크 분기 시도와, 네트워크 정지 시도를 막기 위하여 네트 워크의 모든 노드들에 2번에 거쳐 합의 데이터를 전송한다. Tendermint와 같은 선행 연구들은 PBFT를 이용하여 비트코인으로 대표되는 작업증명 알고리즘을 사용하는 블록체인 시스템의

말은 많은 Blockchain 2

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

참고 : 더블링크드리스트 노드는데이터와포인터를가지고포인터가다음노드의데이터부분을참조하면서 연결되는자료구조이며, 데이터검색시포인터로연결된노드를검색하여값을찾음 < 더블링크드리스트연결구조 > 구분인덱스 ( 데이터베이스 ) 더블링크드리스트 장점 단점 < 인덱스및더블링크드리스트방

Yggdrash White Paper Kr_ver 0.18

User interface design

공정한합의알고리즘 : deb 합의알고리즘 (A fair consensus algorithm : deb consensus algorithm) 목차 1. 개요 2. 합의알고리즘의공정성 3. deb 합의알고리즘 4. 공정한노드의역할및신뢰성검증 5. 성능 6. deb 합의알고

새로운 생태계

왜 2.0 인가? 비트코인이 아직 발전의 초기단계라면 왜 벌써 이를 뛰어넘는 2.0 플랫폼이 필요한 것일까? 우선 비트코인 기술자체가 완성된 것이 아니고 지속적인 개선과 발전이 필요. 하지만 비트코인은 이미 50억달러가 넘는 경제적 이해관계가 걸려 있는 네트웤. 1차적

블록체인과 핀테크 비즈니스

Consensus in Distributed Systems 이더리움연구회 Consensus in Distributed Systems 박진형, 박찬현, 이동식, 이부형, 전창석, 홍종화이더리움연구회 4 기기술리서치분과 1

- 목차 - 1. 개요 가. 아이콘 (ICON) 이란? 나. 주요스펙 1) 기본정보 2) 시장정보 2. 주요팀멤버및재단소개 3. ICON 컨셉및특징 - 독자적인블록체인기술, Loopchain - ICON의블록체인네트워크, 넥서스 (NEXUS) - IISS (ICON I

PowerPoint 프레젠테이션

블록체인활용사례로알아보는금융권적용고려사항 한승우 * Ⅰ. 서론 23 Ⅱ. 블록체인개요 블록체인의개념 블록체인분류 26 Ⅲ. 블록체인활용사례 암호화화폐 주식거래 ( 장외시장 ) 전자공증 스마트계약 (Smar

<B1E2C8B9BDC3B8AEC1EE2DB1E8BFF82DBCF6C1A42E687770>

LTC 라이트코인명세서

01 들어가는말 블록체인에대한관심이뜨겁다. 국내외를막론하고각종금융기관및미디어의신년계획과전망에빠지지않고등장했다. 핀테크나빅데이터같은산업적개념이아닌, 언뜻난해해보이는기반기술을통칭하는용어가이토록빠르게확산되고회자되었던사례가있었나궁금할정도다. 다만커진관심만큼그것에대한오해내지는모

대학교육151호-합침

본명세서는회원님들의이해에도움이되고자작성한내용이며, 투자권유의의도는일절없음을안내드립니다.

Blockchain for the Internet of Things 2

<4D F736F F F696E74202D20BAEDB7CFC3BCC0CEB9DFC7A55FC0CCB1BAC8F1>

백지 개정판 1.6 / 2001 년 8 월 7 일

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

1. 블록체인이란 블록체인은말그대로블록단위의데이터를체인형태로연결해서보관하는형태로저장하는 형태를말한다, 중앙화된서버가없이분산화된 P2P 기반의네트워크에서각참여자 ( 노드 ) 들이 저장하는것에가장큰특징이있다. 현재컴퓨터시스템에서가장대중적인서비스형태는서버-클라이언트모델이다.

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

목차 개요. 3 블록체인 : 분산원장 블록체인이란?... 4 비트코인, 블록체인 2.0 및분산원장기술의성장배경... 5 클라우드컴퓨팅... 7 클라우드컴퓨팅이란?... 7 Bencoin 플랫폼이란?... 8 개요... 8 Bencoin 완전노드 (Full N

[Brochure] KOR_TunA

POC Report

chap 5: Trees

PowerPoint 프레젠테이션

WIZBL_WHITEPAPER 한글

이름 : 김종광 소속 - ( 주 ) 종광 - CTO - 이더리움연구회 - Staff - 한국센차유저그룹커뮤니티 - 운영자 - ( 전 ) KossLab - IoT Labs - ( 전 ) 소프트웨어마에스트로, 멘토 SNS - Tel : Comp

BRAVO WHITEPAPER V7 (1)_kor

PowerPoint 프레젠테이션

Overview of Swirlds Hashgraph 스월즈사해시그래프개요한글번역본 - EMD 비코인 (Bitcoin) 이나 이더리움 (Ethereum) 의 원천기술인 블록체인 (blockchain) 에 대항하는분산원장기술 (Distributed Ledger Techn

*15지급01-도비라및목차1~10

PowerPoint 프레젠테이션

슬라이드 1

최근 블로그

Blockchain for the Internet of Things 2

KOSSCON2018_BlockChain_오픈소스_블록체인과_상호호혜성

슬라이드 1

Microsoft PowerPoint - 30.ppt [호환 모드]

업무보고

블록체인과 핀테크 비즈니스

목차 1. 개요 2. 앤드어스체인의빈전과목표 3. 합의알고리즘의공정성 4. deb 합의알고리즘 5. 앤드어스체인 (AndUschain) 6. 암호경제또는블록체인경제 7. 양질의일자리창출을위한저비용창업생태계 8. 로제우스 (ROZEUS) 프로젝트 9. 진행중인프로젝트 1

본명세서는회원님들의이해에도움이되고자작성한내용이며, 투자권유의의도는일절없음을안내드립니다. 2

IoTon Technical Paper_KO_v1.0

(1) 분산처리분야에서풀지못한난제 ( 비잔틴장군의딜레마, The Byzantine General Problem)[2] 를해결할수있는새로운개념의전자화폐시스템을소개하며, 문제의해결방법으로블록체인 (Block chain) 과작업증명 (Proof-of-work, POW) 을제

Contents Absract Project Background Vision FLETA Project 1. 블록체인기능극대화 2. 차별화된토큰이코노미 3. 멀티체인을통한확장성 FLETA's Innovation 1. 4대기술혁신 1.1 새로운블록 & 레벨트리검증방식 1.

Beyond Blockchain 블록체인기술은중앙화된권력없이모든노드들간을합의할수있게하는방법을고안해냈습니다. 하지만블록체인기술은실시간트랜잭션의성사, 확장성같은근본적인문제점들과직면해있습니다. 개선된합의알고리즘에도불구하고, 현재구현된블록체인은한번에한블록만동기화하는노드를사용합


비트코인캐시(BCH)명세서_코인원_ pages

13( ) INS17-01.hwp

Journal of Next-generation Convergence Information Services Technology 차세대컨버전스정보서비스기술논문지 Vol.8, No.1, March (2019), pp

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

앤드어스 블록체인

PowerPoint 프레젠테이션

<B1E2C8B9BDC3B8AEC1EE2DB9DAC1F6BFB52DBCF6C1A42E687770>


필수 요소이다 본 논문에서는 우선 현재 대표적으로 이용되고 있는 인터넷 금융거래시스템인 페이팔 비트코인 핀테크의 개념에 대하여 살펴본다 다음으로 향후 인터넷 금융거래 시스템이 나아갈 전망을 예측해 보고 이를 위한 연구 방향을 소개한다 생하는 등의 문점을 지적한 바 있다

DBPIA-NURIMEDIA

게시판 스팸 실시간 차단 시스템

슬라이드 1

Contents Abstract Introduction Vision Background ICON Hyperconnect the World How to Design..

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에

WIZBL_WHITEPAPER 한글

2. 거래우리는전자화폐를디지털서명의연속으로정의한다. 각암호키소유자들은그전까지의거래내역에다음소유자의공개키를덧붙인뒤에자신의비밀키로암호화하는디지털서명을하고넘긴다. 돈을받는사람은서명소유자들의체인과, 서명들을검증할수있다. 문제의과정은돈을받는사람은소유자들중한명이이중지불을하지않았는

초록 블록체인 (Blockchain) 커뮤니티는지난몇년동안급속한발전을지켜보았습니다. 처음에는안전한분산형 P2P 전송메커니즘으로생겨난, 사토시 (Satoshi) 의비트코인이분권화된암호화통화의개념을성공적으로입증했습니다. 그다음에이더리움 (Ethereum) 이다목적 " 스마

목차 Introduction 브릴라이트플랫폼소개 브릴라

본명세서는회원님들의이해에도움이되고자작성한내용이며, 투자권유의의도는일절없음을안내드립니다.


<BACFC7D1B3F3BEF7B5BFC7E22D3133B1C733C8A BFEB2E687770>

The Pocket Guide to TCP/IP Sockets: C Version

설계란 무엇인가?

MeconCash WhitePaper

PowerPoint 프레젠테이션

본명세서는회원님들의이해에도움이되고자작성한내용이며, 투자권유의의도는일절없음을안내드립니다.

歯MW-1000AP_Manual_Kor_HJS.PDF

1 전세계가주목하는블록체인 세계경제포럼 (WEF, 다보스포럼 ) 은 2016 년떠오르는 10 대기술중하나로 블록체인 (Block Chain) 선정 세계경제포럼은블록체인기술을 세계를바꿀기술 로평가 년까지전세계은행의 80% 가블록체인을도입할것으로예상

Windows 8에서 BioStar 1 설치하기

금오공대 컴퓨터공학전공 강의자료

MD-C-035-1(N-71-18)

<33312D312D313220C0CCC7D1C1F820BFB0C3A2BCB12E687770>

UI TASK & KEY EVENT

Microsoft Word - ICON_Whitepaper(KO)_Version 1.0.docx

Implement a business platform based on blockchain blockchain기반 비즈니스 플랫폼 구현을 위한 White Paper (요약본) -1- Qcity

chap 5: Trees

개정일정 버전작성자날짜이메일 V0.1 초고 Eric Gu 2016 년 8 월 V1.2 수정 Chen Hao 2016 년 9 월 V2.0 수정 Michael Jiang 2016 년 10 월 youm

[Brochure] KOR_LENA WAS_

슬라이드 1

untitled

<30352D30312D3120BFB5B9AEB0E8BEE0C0C720C0CCC7D82E687770>

歯mp3사용설명서

PART

Part Part

£01¦4Àå-2

Transcription:

정보보호블록체인

목차 2 블럭체인메커니즘 블록체인플랫폼

블록체인메커니즘

1. 블록체인메커니즘 : 거래정보전파 4 멀리있는노드들간거래내용과순서는다를수있음 출처 : https://homoefficio.github.io

1. 블록체인메커니즘 : 블록체인충돌해소 5 멀리있는노드들이거의동시에 nonce 값을찾아마지막블록인 P 에각새로운블록을추가하며인접노드들에게전파 출처 : https://homoefficio.github.io

1. 블록체인메커니즘 : 블록체인충돌해소 6 초록블록을먼저받은노드들이빨간블록을전파받으면무시하고, 반대의경우도마찬가지 출처 : https://homoefficio.github.io

1. 블록체인메커니즘 : 블록체인충돌해소 7 중간지점의초록색블록을이어받은노드에서 nonce 값을구해보라색블록을전파 출처 : https://homoefficio.github.io

1. 블록체인메커니즘 : 블록체인충돌해소 8 빨간색블록을형성했었던노드에서분기가발생하면더긴초록 - 보라블록체인으로교체 출처 : https://homoefficio.github.io

1. 블록체인메커니즘 : 합의알고리즘 9 작업증명 (PoW, Proof of Work) 지분증명 (PoS, Proof of Stake) 위임지분증명 (DPoS, Delegated Proof of Stake) 합의알고리즘정리및의의

1. 블록체인메커니즘 : 블록체인기술의특징 10 Proof-of-Work (PoW) : Bitcoin, Ethereum, Litecoin o o Pros: Very secure Cons: Slow throughput, expensive computations Proof-of-Stake (PoS) : Dash, Stratis, NAV Coin, Peercoin, Decred, Nxt, Nova Coin o o Pros: Attacks more expensive, energy efficient Cons: Prone to centralisation Delegated Proof-of-Stake (DPoS) : Steemit, BitShares, EOS, Lisk, Ark, BitShares, Ethereum Casper, Tendermint, Slasher o o Pros: Cheap transactions, scalable, energy efficient Cons: Partially centralized Proof-of-Authority (PoA) : POA Network, Ethereum Kovan/Rinkeby testnet o o Pros: Simple, Cost efficient, High throughput, scalable Cons: Centralized Byzantine Fault Tolerance (BFT) : Hyperledger, NEO, Stellar, Ripple, Dispatch o o o Pros: High throughput, Transaction finality, Cost efficient, scalable Cons: Centralized, Semi-trusted Variantes: Practical Byzantine Fault Tolerance (PBFT) : Hyperledger, Federated Byzantine Agreement (FBA) : Stellar, Ripple, Delegated Byzantine Fault Tolerance (dbft) https://hackernoon.com/a-hitchhikers-guide-to-consensus-algorithms-d81aae3eb0e3

1. 블록체인메커니즘 : 합의알고리즘 11 P2P 네트워크에서는정보의지연과미도달사태를피할수없고데이터를변조할의도가없다해도이중송신에따른처리중복이나잘못된정보에의한오작동등의위험이있어정확한정보를공유하기어려움 블록체인과같은 P2P 네트워크시스템에서각노드간정보도달의시간차이가있을때, 생성된블록의정당성을검토하고해당블록을블록체인에연결하기위해네트워크참가자들의합의를얻기위한알고리즘

블록체인메커니즘 : 합의알고리즘종류 12 비트코인의경우작업증명알고리즘을사용중이며, 이더리움의경우 2017 년 8 월부터작업증명과지분증명알고리즘을 Hybrid 형태로테스트하고있음. 향후, 지분증명으로의전환을목표로하고있음 작업증명 (Proof of Work, PoW) - 블록체인에서가장보편적으로사용중인합의알고리즘으로컴퓨팅파워를이용하여특정난이도의해시값을역함수해시화하여 Nonce 값을계산해내고이를검증하는것으로합의를도출함 지분증명 (Proof of Stake, PoS) - PoW 의컴퓨팅파워낭비문제를해결하고자개발된합의알고리즘으로노드가보유한자산을기준으로권한을분배하여합의를도출하고보상을분배하는알고리즘 Proof of Elapsed Time (PoET) 등의다양한알고리즘존재

1. 블록체인메커니즘 : 합의알고리즘종류 13 Private Blockchain 의경우보편적으로 PBFT 와 PAXOS 알고리즘을사용하고있으며, Enterprise Ethereum 의대표프로젝트인 Quorum 의경우 Raft 알고리즘을채택하여사용하고있음 PAXOS - 가장일반적인합의알고리즘으로 Leader 를선정하고과반수의동의에의해합의를이룸 Practical Byzantine Fault Tolerance (PBFT) Raft - 비잔틴장군문제를해결하고자고안된합의알고리즘으로투표메카니즘을도입한 3 단계프로토콜을이용한합의도출로프라이빗블록체인에서널리이용됨 - PAXOS 를보완한형태로, 투표와랜덤타임아웃을통한리더선출로절차를단순화하는것이특징 - SBFT, Tendermint 등의다양한알고리즘존재

1. 블록체인메커니즘 : POW (Proof of Work) 14 비트코인 : 최초의블록체인기술이적용된시스템 o 합의알고리즘으로작업증명 (Proof of Work: PoW) 과가장긴체인 (Longest Chain) 을선택하는방법사용 o 최대 7 TPS 밖에처리할수없는성능의한계 o 작업증명으로인해많은에너지낭비 작업증명으로부르기도하며풀기어려운문제를빨리해결한사람에게블록을생성할수있는권한을주고그보상으로코인을제공 비트코인의경우해시함수의결과값이특정값보다작아지도록하는입력값 (Nonce) 을찾는문제 비트코인의경우약 10 분정도걸려풀릴수있도록난이도조절 비트코인은 Nonce 값을만드는데 SHA-256 이라는알고리즘사용 o SHA(Security Hash Algorithm) 은미국표준기술연구소 (NIST) 에의해공표된해시알고리즘 o SHA-256 은 256 비트로구성되어 64 자리문자열을반환 PoW 채용코인의종류 : 비트코인, 라이트코인, 제트캐시, 모네로등의 PoW 방식코인들이있음

1. 블록체인메커니즘 : POW 의작업정의 15 블록 (B) 의해쉬값 Hash(B) <= M/D 로정의 o D: 난이도 (Difficulty) o M 은난이도 D 의최대값 (2^256-1) Miner 들은반복적으로위의조건을만족하는블록 B 의해쉬값을탐색하기위해작업

1. 블록체인메커니즘 : POW 보상 16 Nonce 값을구하기위해선많은작업비용이들며이러한행위의보상이없다면아무도채굴하지않을것 비트코인에서보상은새로발행되는비트코인과해당블록에포함된거래의거래수수료의합 블록의첫거래는채굴자에게보상을주는거래로시작 출처 : : https://homoefficio.github.io/2017/11/19

1. 블록체인메커니즘 : PoW 51% 공격 17 PoW 는다수결로결정을내리는알고리즘 악의적인참여자가절반이상의해시파워를가지게된다면, 블록내용의조작이가능 https://blockinpress.com/archives/5740

1. 블럭체인메커니즘 : PoW 51% 공격 18 건강한블록체인연결방식 출처 : http://cryptochain.tistory.com/53 출처 : http://cryptochain.tistory.com/53

1. 블럭체인메커니즘 : PoW 51% 공격 19 51% 공격을받은블록체인연결방식 출처 : http://cryptochain.tistory.com/53

1. 블럭체인메커니즘 : PoW 파이널리티불확실성 20 PoW 는블록체인이분기하는경우긴체인을올바른것으로판단 짧은체인이버려지는경우트랜잭션이없었던일로되는경우가발생할수있음 비트코인같은경우이런현상을방지하기위해트랜잭션이확정되더라도 6 블럭가량기다리게하는등제한을함

1. 블럭체인메커니즘 : PoW 성능한계 21 P2P 네트워크에서단일정보를공유하는구조상네트워크에확산되는시간을없애기는불가능 여러노드간합의를통해정보의신뢰성을담보하기때문에합의에걸리는시간이필요 따라서, 성능 ( 응답시간과처리량 ) 을올리는것이어려움 블록생성에약 10 분걸리므로실시간성이보장되지않음

1. 블럭체인메커니즘 : PoS (Proof of Stake) 개요 22 지분증명으로부르기도하며앞의 PoW 와다르게컴퓨터의해시파워가아닌, 참여자의코인지분을기준으로블록을생성 PoS 는참여자의코인지분이많을수록유리해지는방식 출처 : https://brunch.co.kr/@banksalad/313

1. 블록체인메커니즘 : PoS 의 Hash 함수정의 23 Hash (Hash (Bprev), A, t) <= bal(a) M/D o Bprev 는이전블록, A 는계정 (Address), t 는타임스탬프, bal(a) 는 address A 가현재소유한 balance, D 는난이도, M 은 D 의최대값을의미 블록 B 의해쉬값은 A 가소유한밸런스와난이도의영향을받는다. 많은지분소유자가쉬운난이도의문제를풀게된다. https://medium.com/@poolofstake/a-proof-of-stake-overview-445c52558d03

1. 블록체인메커니즘 : PoS 개요 24 PoS 는 PoW 와다르게블록생성시보상이없음 대신 PoS 는해당지분만큼의거래수수료를받음 출처 : http://cryptochain.tistory.com/49

1. 블록체인메커니즘 : PoS 개요 25 자산을보유하는노드들은자신이합의하는블록에자산을증명함으로써데이터를업데이트 출처 : https://brunch.co.kr/@banksalad/313

1. 블록체인메커니즘 : PoS 개요 26 PoW 와비슷하게체인이분기되면과반수의자산이동의한블록으로합쳐지게됨 출처 : https://brunch.co.kr/@banksalad/313

1. 블록체인메커니즘 : Delegated Proof of Stake(DPoS) 27 위임지분증명이라부르기도하며특정인원에게만 PoS 를할수있도록권한을위임하는것 네트워크상노드들의투표결과로선출된상위노드에게권한을위임하여일종의대표자가되는것 위임한대표자와수익을배분함

1. 블록체인메커니즘 : DPoS 28 PoS 의경우일정지분을소유한모든노드에게블록생성권한이주어지기에시간이오래걸림 DPoS 의경우투표결과로정한상위노드라는비교적적은숫자로인해합의시간과비용이줄어듬 이미지출처 : https://brunch.co.kr/@mobiinside/1163

1. 블록체인메커니즘 : DPoS 블록대표자 ( 생산자 ) 수 Case 29 EOS : 21 BitShares : 101 Steemit : 21 Lisk : 101 Ark : 51 https://medium.com/loom-network/understanding-blockchain-fundamentals-part-3-delegated-proof-of-stakeb385a6b92ef

1. 블록체인메커니즘 : 합의알고리즘의중요성 30 앞에서언급한것과같이 P2P 네트워크에서다수의참여자들이존재하고있어이참여자들의하나의블록체인을유지하기위한수단 합의알고리즘은각노드에서블록체인을공유하기위해사용되는중요한기능이며블록체인기술의핵심이라할수있음

1. 블록체인플랫폼 : 합의알고리즘과제 31 최초의블록체인소프트웨어비트코인은 PoW 가사용되고있지만자원소모, 파이널리티불확성등의문제로컨소시엄형이나프라이빗블록체인에이용하기엔적절하지않음 컨소시엄형에서의이용을전제로한블록체인이등장하고있으며 PoW 가아닌합의알고리즘을채택하는경우가많아짐 각각의합의알고리즘의특징을정확히이해하고특성에맞게활용해야함

PBFT PBFT(Practical Byzantine Fault Tolerance)

Two Generals Problem 33 두장군 A, B 는동시에적을공격해야성을함락시킬수있음 두장군은적진을사이에두고있으며, 합의메시지는적을통과해야만도착할수있음 A 가 B 에게공격시간합의메시지를보내는경우 A 는 B 가메시지를전달받았는지확인할수없음 또한, A 의메시지가적에의해변조되었는지확인할수없음 B 가 A 에게응답하는경우 B 는 A 가응답메시지를전달받았는지확인할수없음 또한, B 의응답메시지가적에의해변조되었는지확인할수없음 A 와 B 사이에합의하는것은불가능함

Byzantine Empire 34 Src: https://www.slideshare.net/yongraejo/pbft-86070872 Page 34

BGP (Byzantine Generals Problem) 35.. Paper "The Byzantine Generals Problem, Lamport, L.; Shostak, R.; Pease, M. (1982). ACM Transactions on Programming Languages and Systems

BGP (Byzantine Generals Problem) 36 여러장군들중악의적인장군 ( 비잔틴장군 ) 이존재할시합의하는방법을연구

PBFT (Practical Byzantine Fault Tolerance) 37 Paper "Practical Byzantine Fault Tolerance and Proactive Recovery, Castro, M.; Liskov, B. (2002). ACM Transactions on Computer Systems. N = 3f + 1 N = 전체네트워크노드수 f = 비잔틴노드수

BFT (Byzantine Fault Tolerance) 38 Terminology Byzantine Fault: 시스템장애, 혹은악의적인공격에의해발생하는장애 Byzantine Failure: Byzantine Fault에의해네트워크 ( 서비스 ) 가중단된경우 BFT: 분산네트워크가정상적으로동작할수있는비잔틴노드의수

Why N = 3f + 1? 39 N = 2f + 1, f = 1? bool(x) N1 Client N3 N2

Why N = 3f + 1? 40 N = 2f + 1, f = 1? bool(x) = true bool(x) N1 Client system error! bool(x) =? N2 bool(x) = true

Why N = 3f + 1? 41 N = 2f + 1, f = 1? bool(x) = true bool(x) N1 Client N3 bool(x) =? Byzantine bool(x) = False

Why N = 3f + 1? 42 N = 3f + 1, f = 1? bool(x) = true bool(x) = true bool(x) N1 N2 Client true N4 bool(x) = True Byzantine bool(x) = False

Why N = 3f + 1? 43 N = 3f + 1, f = 1? bool(x) = true bool(x) = true bool(x) N1 N2 Client true N4 bool(x) =?? Byzantine bool(x) = False

Why N=3f+1? 44 비동기네트워크에서발생할수있는장애는 Case1 과 Case2 가존재 네트워크가작동하기위한최소한의조건이기때문에정상적인합의를위해서는 Case1, Case2 모두만족해야함 Case1 메시지전송을하지않는경우 N-f 노드간합의를수행해야함 (N = 전체노드수, f = 메시지를보내지않는노드 ) Case2 잘못된메시지를보내는경우 Case 1에서남은 (N-f) 노드중악의적인메시지를보내는노드 f개가존재할경우 (N-f)-f>f 조건이만족되어야합의가이루어짐 N>3f 최소 N=3f+1 개의노드가필요

P2P 시스템장애모델 45 BYZANTINE FAULT 모델 o 비잔틴장군문제 각지휘관들은지리적으로떨어져있는상황에서동시에공격할수있도록전령을통해합의를하는중 내부배신자가나타나공격시간을교란하면각지휘관들은어떻게정확한공격시간을판단할것인가?

PBFT(Practical Byzantine Fault Tolerance) 46 비잔틴장군문제를해결하기위한실질적인프로토콜 o 비잔틴장군문제 : 장군이악의적인행동을할수있다는점을가정 o 단순고장난노드뿐만아니라악의적인노드가있음에도불구하고전체시스템이안정적으로동작하도록하는프로토콜 BFT 계열프로토콜중실용적으로쓰일수있는가장대표적인프로토콜 리플리카중의사결정의리더역할을하는 primary 노드가있으며, primary 노드의주도하에순차적으로명령이수행됨 primary 노드가고장이나거나악의적인행동을하게될경우 'view change' 라는절차를통해 primary 노드를바꿈

PBFT(Practical Byzantine Fault Tolerance) 47 PBFT in rough 클라이언트는 Primary 노드에게요청을전송 Primary 노드는 backup 노드에게요청을전파하고합의과정을수행 합의과정이완료되면 Primary 노드와 Backup 노드는클라이언트에게완료메시지를전송 클라이언트는 f+1 개이상의똑같은답변을 backup 노드로부터받으면요청이제대로반영되었다는것을확신

PBFT(Practical Byzantine Fault Tolerance) 48 Request 클라이언트는 Primary 노드에게작업요청 (REQUEST, o, t, c)s_c REQUEST: 합의단계 o: 요청하고싶은작업 t: Timestamp c: 클라이언트식별자 s_c: 클라이언트서명

PBFT(Practical Byzantine Fault Tolerance) 49 Pre-prepare Primary 가유효한 request 를받으면아래메시지를생성후backup 노드에게전송 Backup 노드 : Primary 와 Client 를제외한모든노드 ((PRE-PREPARE,v,n,d)s_p, m) PRE-PREPARE: 합의단계 v: view number( 현재 Primary 노드가누구인지알수있음 ) n: sequence number( 몇번째 request인지알수있음 ) d: m의 message digest. m이조작되지않았음을확인 s_p: Primary 노드의서명 m: 클라이언트가보낸메시지

PBFT(Practical Byzantine Fault Tolerance) 50 Pre-prepare backup 노드는아래조건을만족하면다음단계로넘어감 view number (Primary node), sequence number ( 트랜잭션순서 ), d ( 메시지무결성 ) 체크포인트가유효한지 다른다이제스트가포함된 view number 와 sequence number 를수신하지않았는지

PBFT(Practical Byzantine Fault Tolerance) 51 Prepare Backup 노드는아래메시지를생성하여모든노드에게전송 ((PREPARE,v,n,d, i)s_i) PREPARE: 합의단계 i: 메시지를전송하는노드 i s_i: 노드i 의서명 pre-prepare 와 prepare 를메시지를 2f+1(including itself) 개이상수집한노드는 prepared(m,v,n,i) 상태가됨

PBFT(Practical Byzantine Fault Tolerance) 52 Prepare Backup 노드는아래메시지를생성하여모든노드에게전송 ((PREPARE,v,n,d, i)s_i) PREPARE: 합의단계 i: 메시지를전송하는노드 i s_i: 노드 i 의서명 pre-prepare 와 prepare 를메시지를 2f+1 개이상수집한노드는 prepared(m,v,n,i) 상태가됨

PBFT(Practical Byzantine Fault Tolerance) 53 Commit Backup 노드는 prepared(m,v,n,i) 단계에있는노드가 f + 1 개 (non-faulty nodes) 인것을확인하면 Committed(m, v, n) 상태가되어아래메시지를전송 ((COMMIT,v,n,d, i)s_i) v: view number( 현재 Primary 노드가누구인지알수있음 ) n: sequence number m: 클라이언트가보낸메시지 d: m 의 message digest. m 이조작되지않았음을 확인 i: 메시지를전송하는노드 I s_i: 노드 i 의서명

PBFT: Reply 54 클라이언트는 backup 으로부터 f+1 개이상의동일한응답을받으면요청이완료됨을확인함

PBFT(Practical Byzantine Fault Tolerance) 55 Checkpoint 모든노드들은 Pre-prepare, Prepare, Commit 메시지를 log 저장소에저장지속적으로저장되는메시지 log 용량문제를해결하기위해 Checkpoint 사용 일정한간격으로 Checkpoint 를생성하여 Checkpoint 이전의메시지는모두폐기 H=h+k, sequence number 가 H 가되면 Checkpoint 작업수행

PBFT : 결론 56 노드간투표방식의합의알고리즘제공각 Phase 를거치면서높은지연시간발생상당한트래픽발생결론 : 소규모노드로구성된네트워크에적합한알고리즘

Q & A