Incourage Inc.
비트코인 네트워크 기술 소개
분산된 개방형 P2P 동기화 기술 소개
게임 응용연구 소개
인커리지
임석의 / 윤석주
발표일: 2014-05-27
발표장소: 판교 넥슨 사옥 B1 발표장
Mail: selim@incourage.kr, sjyun@incourage.kr
NDC2014에서 발표한 공개용 발표자료이며, 발표자료
이해를 돕기위한 설명이 추가 되어있습니다.
Incourage Inc.
이 발표에서 다루는 것
• 비트코인 동기화 기술
• 비트코인 동기화 기술 응용 사례
Incourage Inc.
이 발표에서 다루지 않는 것
• 비트코인을 사도 되나요?
• 마이닝은 어떻게 하나요?
• 사토시의 정체는?
Incourage Inc.
발표자 소개
• 임석의
• 현 인커리지 CTO
• 넥슨
• 윤석주
• 현 인커리지
• 넥슨
• 게임하이
Incourage Inc.
비트코인
Incourage Inc.
비트코인은 가장 성공한 가상 화폐
Incourage Inc.
Peer to Peer
분산형 데이터베이스
공개 키 암호 방식
Incourage Inc.
데이터의 일관성
Incourage Inc.
Fred wilson
비트코인은 근본적이고 강력하다. 매수력을 전달할
수 있는 분산된 개방형 p2p 인터넷 프로토콜이다.
그 설계와 개방성은 SMTP, HTTP, RSS, 비트토렌트
를 연상케 한다.
비트토렌트와
비슷하네? 제 3자 검증
Incourage Inc.
제 3자 검증?
[스타크래프트1 검증 시스템]
P1
P2
P3
P4
어? P4 저글링이 이상해
진짜 이상한데?
정말이네
너 아웃!
추방!
3자 검증 예시 - 스타크래프트
Incourage Inc.
분산 데이터베이스는 해킹에 취약해!
제 3자 검증, 말은 좋아
하지만 사용자들은 자발적으로 참여
하지 않을꺼야
[사토시]
제 3자 검증
보상 (25BTC)
헠!
Incourage Inc.
보상으로 인해 더 많은 사람들이 검증에 참여
Incourage Inc.
정리하자면
지속적으로 데이터(거래)를 주고 받으며,
이 데이터의 흐름을 지속적으로 감시하며,
감시자에게 보상을 주는 시스템
Incourage Inc.
응용사례
Incourage Inc.
Hunter coin
Incourage Inc.
Hunter coin
• 세계최초 P2P Massively Multiplayer Online Game
• 유저는 캐릭터를 조종하여 필드의 코인을 수확하는 게임
• 수확한 코인은 비트코인으로 전환 가능
Incourage Inc.
Hunter coin
발표시 동영상이였으나, 공개본에서는 동영상
첨부가 불가능하여 스냅샷으로 대체합니다.
Incourage Inc.
더 게임스러울 수 없을까?
게임을 데이터 관점에서 보자
게임은 데이터의 흐름을 시각적으로 표현한 것
mmog 를 예시로 생각해보자
Incourage Inc.
더 게임스러울 수 없을까?
영구데이터
(레벨, 아이템)
임시데이터
(위치, 상태)
비트코인 프로토콜 P2P, 심리스
Incourage Inc.
Q. 근데 게임은 국소적인 데이터 흐름이 빈번하자나?
A. 국소적인 지역에서 제 3자 검증을
한 뒤, 그 지역을 상위 지역에서 제 3자
검증을 하는 방법에 대해 논의 중
[Bitcoin node]
Incourage Inc.
아직 넘어야 하는 산이 있다.
Incourage Inc.
내부 구현
Incourage Inc.
계좌
• 공개키를 encode해서 사용
• 17MtVo3JTvyAQdZoapdSyFnSScu3D3s5LQ
• 소유권 인증 개념
• Offline으로 계좌 생성 가능
• 없는 계좌에도 돈을 보낼 수 있음
Incourage Inc.
거래 (Transaction)
비밀키로 서명하여 소유권 변경
Incourage Inc.
동기화 기술
Incourage Inc.
• Peer 끼리 연결
• 노드 검색 방법
• AddNode ( 수동 추가 )
• IRC
• Cache
P2P
Block Chain
Bitcoin은 물리적 서버가 없으므로, 다른
사용자를 찾기 위해 공개IRC 등 공개된
제3의 서비스에서 사용자를 검색하기도
한다.
Incourage Inc.
• 뒤에 Block은
이전 Block을
참조
P2P
Block Chain
Block
Block
Block
Block
Block
Incourage Inc.
블록에는 거래(Transaction) 데이터들을 담고 있음
Block
Block header Transaction Transaction
Incourage Inc.
Block chain을 정리하면
Block Block Block Block Block
Transaction
Transaction
Transaction
Transaction
Transaction
Transaction
Transaction
Transaction의 모임
Incourage Inc.
왜죠?
Incourage Inc.
Block 생성 (제 3자 검증)
• P2P로 받은 Transaction을 포함하여 생성
• 올바른 거래 인지 검증
• Transaction을 포함해서 Hash값 찾기(연산 필요)
• i5 CPU로 8년 걸림!
Incourage Inc.
Block Chain
• Block 한 개만으로는 위조된 거래 내역이 포함
될 수 있음
• 이전에 유효한 블록을 기반으로 새로운 Block
추가
• 가장 길이가 긴 체인이 유효한 Block으로 인정
됨
Incourage Inc.
Block Chain
Block Block Block Block
Block Block Block Block
Block
• 가장 긴 체인에 속한 Block만 올바른 Block
• 올바른 Block안에 있는 Transaction만 유효함
동시에 여러 블록이 생겼을 경우, 가장 긴 체인만 인정을
한다. 인정 받지 못한 블록은 사라지게 된다.
위 그림에서 인정 받지 못한 빨간색 블록은 사라지게 된다.
Incourage Inc.
동기화 기술 정리하면
• 거래는 공개키 기반으로 소유권을 인증
• 올바른 거래인지 3자가 블록에 포함하
여 인증
• 블록 자체가 유효한 것은 블록체인을
통해 인증
Incourage Inc.
THANK YOU
@olambdao
@noricube

비트코인 네트워크 기술 소개 - 임석의, 윤석주