Ethereum TrueBit 01 김도윤 TES 20주차 ( )

Slides:



Advertisements
Similar presentations
畵龍點睛 물질에 따른 전자파 차단 연구 연지은 ( 조 ) 서은빈 한서현 이의준. 목차 요즘 우리가 일상적으로 사용하는 것에는 전기 로 만들어져 있음 => 양의 전자파가 발생되어 사람의 몸을 훼손 => 전자파 차단 제품에 효능이 보장된 것 X => 다양한 물질로 실험.
Advertisements

김수연 Capstone Design Realization Cost Reduction through Deep Artificial Neural Network Analysis.
Ethereum 기반 비중앙식 IoT 플랫폼 9 조 : 김태경 정회운 조성수 스마트 홈 서비스 구축 프로젝트 KyungHee University.
윤준혁 (12), 이주연 (13), 박혜원 (14), 안혜경 (15) 허니버터칩으로 알아본 SNS 의 영향 력.
지도교수 : 박진식 교수님 조 원 : 홍승기, 이병용, 백승준, 조근용, 조동현, 한정협, 이상하.
정기 영업 회의 LED LIGHTING NETWORK SOLUTION & PRODUCTS - 2 구분보고시간주제진행주요내용 14:00 ~ 14:10 회의 일정 안내 신영석 회의 일정 소개 14:10~14:30 누적 실적 및 하반기 예상 보고 홍성만.
일과 삶의 균형잡힌 조화를 통한 올바른 직업생활을 지원하는. CONTENTS 왜 인성교육인가 ? 01 인성교육 전문가 양성 교육과정 소개 02 인성교육 전문가 양성과정 특장점 / 기대효과 03.
1 ‘ 우리나라의 주요공업 ’ - 정도웅, 주민혁, 안수진, 백경민, 엄다운, 박경찬 -.
수유부의 약물복용 시 주의점 발표자 조기성. 모유 수유의 장점 모유 수유의 장점은 ? 위장관 질환 발생감소 영아 돌연사 발생감소 아토피 질환 발생감소 정서적 안정.
똘기 : 채 익지 않은 과일. 똘기 소개 일명 발표동아리. 똘기는 발표에 대한 두려움을 가지고 있는 학우들에게 ‘ 자신감 ’ 을 키워줄 수 있도록 하자는 취지에서 만들어졌다. 평소 강의 시간보다 편안하고 자유롭게 발표해 볼 수 있는 기회를 제공함으로써 발표력 향상에 기여하는.
일 시 : (목) 장 소 : 문산종합사회복지관장) 파주시문산종합사회복지관 기관안내.
2013년도 2학기 학습튜터링 O.T.
수 신: 고려대학교 참 조: 취업담당 선생님 귀하 제 목: SK하이닉스 2015년 상반기 채용상담회 실시에 따른 협조요청
미국의 미디어교육 신문방송학과 강진구 한인수 곽모란 이명현.
행정소송 실무교육 공익법무관 문 유 식 인사 공익법무관 소개 서울고검 소개.
PRESENTATION 저온화상이란?
조선왕조의 유교정치.
Augmented Reality (증강현실) Kasa Study 이민우
MIND STORM 창의적 공학 설계 FORKLIFT All in One!! 윤 호, 전유기, 이헌중, 주준성.
공부할 내용 조상들이 살던 곳 자연과 잘 어울리는 한옥 지방에 따라 서로 다른 집의 모양 섬 지방의 집
사랑, 데이트와 성적 자율성 :데이트 성폭력!!! 성폭력예방교육 전문강사 / 여성학 전공 신 순 옥.
이스라엘 법원이 2003년 팔레스타인 가자지구에서 이스라엘군
퇴계와 율곡의 사회사상 비교 남 일 재 동서대학교 교수/ 정치학 박사 1. 퇴계 이황과 율곡 이이의 약전(略傳)
제3장 사회 복지 발달사.
대포나 미사일이 없던 옛날에는 먼 거리에 있는 적의 성을 어떻게 공격했을까?
가족상담 및 치료.
501. 군인들의 세상 502. 민정 이양과 한일회담 이선용.
쌓지 말고 해소하자 이 주휘 이 진영 전 민석 전 혜림.
2015년 하반기 소방교육 자 유 전 공 학 부 (금) 안녕하십니까 자유전공학부 행정실 입니다.
쌍용차 회생계획안을 통한 투기자본(=먹튀자본) 수강과목: 회 계 학 원론 담당교수: 박 성 환 교수님
제 1 장. JAVA란 작성자 : NLIP.
아동복지 제9장.
서울 메트로 노조파업 수강과목 : 노사 관계론 담당교수 : 정형진 교수님
2D Game Programimg 기획 1945 – Strikers 양형배.
10장. 교육인사행정 식품생명공학과 김미현.
제 1장 시스템 소프트웨어의 개요.
How does go-ethereum work?
제1장 시스템 소프트웨어의 개요 컴퓨터시스템 및 하드웨어 구성 컴퓨터의 구성과 기능 시스템프로그램의 개요
제13장 장애인 복지.
2015. 인문소양교육.
흡연 예방 보건교육 소중한 우리, 담배로부터 지켜요 서신초등학교.
보육교사 대상 꿈날개 매뉴얼.
내재적· 외재적 동기와 학업 성취도.
글로벌한국사 2강 - 고조선과 단군할아버지- 신화 속 역사 읽기.
심리상담 정신분열증 사회복지과 2학년(A)반 백승재.
계약서 관련 실무 계약 위반과 판례 김래균.
Ⅰ. 가족복지 개관 가족복지론 최진령.
키타노카시쇼쿠닌(北の菓子職人) - 「오호츠크의 소금 맛」
패시브하우스 신안산대학교 l 건축과 l 박효동, 박창준, 지예림.
생활 철학 인간이란 무엇인가?.
정치개혁의 가능성 논의 권력구조 개편을 통하여 본 -개헌을 통한 정부형태의 변화를 중심으로 [한국정치론] 윤성이 교수님
미군이 관타나모 수용소에서 ‘신경혼란’유발 약품을 사용했다는 의혹이 제기됐습니다.
치료 레크레이션 프로그램 (지적 장애 대상) 과 목: 학 과: 학 번: 이 름: 제 출 일 자 담 당 교 수:
미술치료의 매체 인종문.
노년기 발달 장안대 행정법률과 세류반 정 오 손
그린토마토 앱 사용자 메뉴얼.
태국 문학 욜라다 왓짜니 싸란차나 팟차라와라이 끼따야펀 르앙다우 타니다.
평생 저축해도 강남 아파트 못산다 학 과 : 회계학과 1학년 B반 과 목 : 회계학원론 담당교수: 박성환 교수님
콘텐츠 디자인 황아현.
경영학의 상황학파에 대해서… 경제학과 3학년 최준용 회계학과 4학년 진현빈
워밍업 실뭉치 전달게임.
VIETNAM 천안 YMCA - 베트남팀 지역 활동 보고 김상현, 김영지, 박윤아, 유슬기, 정병칠.
도쿄전력은 후쿠시마 제1원전의 원자로 1~4호기에 이어 5·6호기도 폐쇄하기로 결정했다고 공식 발표했습니다. 정부군과 반정부군 간 유혈사태가 벌어지고 있는 남 수단에서 자국민 대피를 위한 미국 군용기가 피격돼 미군 4명이 부상했습니다. 지난 2009년.
음파성명학 최종욱.
제6장 단체협약 제1절 단체협약의 개념과 성격.
태국 군부가 22일 쿠데타를 선언하고 정권을 장악했습니다.
인도 국경수비대는 인도령 카슈미르 수도인 스리나가르에서 수비대 본부 앞으로 몰려든 무슬림 시위대에 무차별적으로 총기를 발사했습니다. 국제사회의 방관 속에 악화일로를 걷는 시리아 내전이 역사상 최악의 난민 사태로 꼽히는 ‘르완다 대학살’ 수준으로까지.
헌법재판소가 잉락 해임 결정을 내린 데 이어 국가 반부패 위원회가 잉락 탄핵 안을 상원에 제출하기로 결정했습니다. 지난달 14일 이슬람 극단조직 ‘보코하람’에 의한 300여명의 여학생들이 납치 당하는 사건이 발생한 나이지리아 정부는 외부의 도움을.
북한이 일본인 납치 문제에 대해 “포괄적이고 전면적인” 재조사를 하기로 했으며, 일본은 북한에 가해지고 있는 제재 조처를 일부 해제하고 대북지원을 실시하기로 약속했습니다. 다음달 3일 열리는 시리아 대선에 앞서 진행된 재외국민 투표에 참여하기 위해.
파푸아뉴기니에 있는 호주의 역외 난민캠프에서 성폭행과 고문 등 인권 유린이 자행되고 있다는 주장이 제기되었습니다. 중국은 아동 유괴 및 인신 매매에 대해 대대적인 단속을 벌여 성과를 거두고 있지만 유괴되는 아이들이 여전히 연간 20만 여명에 이르고.
Presentation transcript:

Ethereum TrueBit 01 김도윤 (doyunism@gmail.com) TES 20주차 (2018.08.25.) 토큰 이코노미 분석 모임 (TES: Token Economy Study Group)

TPS(Transaction Per Second) 개선 Ethereum scalability solutions 01 Transaction issue Computation issue TPS(Transaction Per Second) 개선 연산 능력 개선 Image: https://coinpupil.com/ethereum/plasma-sharding-raiden-ethereums-scalability-solution/ Image: https://truebit.io/

Ethereum computation issue 01 GAS issue - 이더리움의 가스 수수료는 코드의 복잡도에 비례 - block gas limit이 있어 복잡한 코드 실행 불가 평균 Gas Limit:약 800만 Source: https://www.etherchain.org/charts/blockGasLimit

Ethereum computation issue 01 GAS issue solidity로 코드를 작성, 컴파일하면 EVM(Ethereum Virtual Machine)에서 실행되는 Ethereum Bytecode가 생성됨 컴파일: 고급언어(COBOL, FORTRAN 등)로 작성된 프로그램을 기계가 이해할 수 있는 언어로 번역하는 것 EVM: 이더리움에서 블록체인을 기록하고 스마트 컨트랙트를 작동하기 위한 환경(Ethereum Bytecode 실행) Ethereum bytecode가 저장된 주소로 트랜잭션이 전송될 때마다 코드 실행 이더리움 채굴자들은 해당 코드의 연산을 실행하고, 하나의 결과로 합의하는 과정을 가짐 채굴자 : 이전 블록을 증명하기 위해 얼마나 많은 연산 능력이 필요한지 측정 사용자 : 트랜잭션을 실행하는데 필요한 비용 지불 코드가 복잡도가 높아질수록 GAS 수수료 증가, GAS LIMIT이 있어 연산 능력 한계 존재 Source: https://www.opentutorials.org/course/2869/18360

Ethereum computation issue 01 GAS LIMIT을 올리면? Verifier의 딜레마 발생 Verifier의 딜레마 : 보상을 받지 못하는 이전 블록의 증명 과정을 할지 말지 고민하게 되는 상황 채굴자는 다음 블록을 채굴하기 전에 이전의 블록이 검증된 블록인지 확인할 필요가 있음 이 과정에 대해서는 보상을 받지 못함 확인 과정이 어렵고 오래 걸릴 경우, 건너 뛰고 싶은 유인 발생 그렇다고 확인 과정을 생략해버리면 유효하지 않은 블록 위에 작업할 우려가 있음 채굴 경쟁에서 유리하지만… 유효하지 않은 블록 위에 채굴하면 어떡하지? 검증된 블록 위에 채굴할 수 있지만… 검증하느라 채굴 경쟁에서 뒤쳐지면 어떡하지? Source: https://medium.com/datadriveninvestor/cryptonomics-understanding-the-vertifiers-dilemma-in-crypto-assets-30c65259865b Image: http://fantasy-life.wikia.com/wiki/Miner

Ethereum computation issue 01 이러한 문제를 해결하기 위해 나온 솔루션 …

Ethereum TrueBit (offchain verifiable computation) 01 TrueBit 개요 : 블록체인 위에서 처리하기 곤란한 연산을 체인 밖에서 처리하는 방식 DApp이 block gas limit보다 많은 가스가 소모되는 연산을 수행하고 싶을 때 트루빗 프로토콜로 넘겨서 트루빗 네트워크 참여자들이 복잡한 연산을 대신 처리하도록 하고, 트루빗 네트워크 참여자들은 결과값을 전달하여 DApp이 결과값만 체인에 반영하도록 함 Solver(문제를 푸는 채굴자) 스마트 컨트랙트에 보증금(토큰)을 예치하고 연산 처리 연산을 올바르게 처리하면 예치해 두었던 보증금과 보상을 받음 Solver의 답이 틀렸다고 판단될 경우 Challenger가 보증금을 예치하고 Solver의 답에 이의 제기 검증 게임 (Solver와 Challenger의 결과가 다르게 나타나는 부분만 검증) Solver의 연산이 틀리면 Solver의 보증금에서 삭감 Solver의 연산이 맞으면 검증 게임을 하면서 발생한 비용을 Challenger의 보증금에서 삭감 Source: https://medium.com/truebit/truebit-the-marketplace-for-verifiable-computation-f51d1726798f

Ethereum TrueBit (offchain verifiable computation) 01 트루빗 컨트랙트(Truebit Contract) DApp과 트루빗 프로토콜이 상호 작용하기위한 API 트루빗 스마트 컨트랙트 안에는 createTask라는 함수가 있음 DApp은 createTask 함수를 호출할 때 아래의 변수를 전달 Program : 실행하고 싶은 코드. 트루빗은 WebAssembly VM 사용함. DApp은 bytecode를 전달 가능, IPFS 해시값이나 코드가 저장된 다른 콘텐츠 주소로 전달할 수 있음 Input : 실행할 프로그램의 입력 값 DApp은 input값을 직접 제공하거나, input값이 저장된 다른 콘텐츠 주소로 전달할 수 있음 Reward : 프로그램을 실행한 사람에게 지급할 보상 Source: https://medium.com/truebit/truebit-the-marketplace-for-verifiable-computation-f51d1726798f

Ethereum TrueBit (offchain verifiable computation) 01 트루빗 컨트랙트(Truebit Contract) - 아라곤(Aragon) 예시 on-chain에서 투표 결과를 집계하는 연산 처리는 비싸고, block gas limit을 초과하므로 트루빗 프로토콜로 넘김 createTask function 호출 Program : 투표 기록을 집계하는 프로그램 코드 Inputs : 투표 기록을 담은 배열 Reward : Task Giver가 내건 보상 a DApp creates a Truebit task. Source: https://medium.com/truebit/truebit-the-marketplace-for-verifiable-computation-f51d1726798f

Ethereum TrueBit (offchain verifiable computation) 01 트루빗 네트워크(Truebit Network) 누구든 트루빗 클라이언트를 설치한 사람은 트루빗 네트워크의 채굴자가 될 수 있음 채굴자는 트루빗 컨트랙트의 이벤트를 주시함 Truebit miners listening for tasks. Source: https://medium.com/truebit/truebit-the-marketplace-for-verifiable-computation-f51d1726798f

Ethereum TrueBit (offchain verifiable computation) 01 트루빗 네트워크(Truebit Network) 트루빗 채굴자는 새로운 Task가 생기면 코드를 다운로드하고, 제공된 input과 함께 Truebit WebAssembly VM을 로컬로 실행하여 결과값을 컨트랙트에 제출 ※ 결과값을 제출할 때 보증금도 함께 제출해야 함 Solver submits a solution. Source: https://medium.com/truebit/truebit-the-marketplace-for-verifiable-computation-f51d1726798f

Ethereum TrueBit (offchain verifiable computation) 01 트루빗 네트워크(Truebit Network) Challenge가 없을 경우 타이머 시작, 타임아웃까지 challenge가 없다면 Solver가 올바른 결과값을 제출했다고 간주 트루빗 컨트랙트가 DApp 으로 결과값 콜백 The Task Giver receives a callback with the result. Source: https://medium.com/truebit/truebit-the-marketplace-for-verifiable-computation-f51d1726798f

Ethereum TrueBit (offchain verifiable computation) 01 트루빗 네트워크(Truebit Network) challenge가 있을 경우 Challenger가 보증금을 걸고 challenge 제출 시 트루빗 컨트랙트에는 ①Task Giver가 내건 보상, ②Solver의 보증금, ③Challenger의 보증금 예치 A Verifier submits a challenge. Source: https://medium.com/truebit/truebit-the-marketplace-for-verifiable-computation-f51d1726798f

Ethereum TrueBit (offchain verifiable computation) 01 검증 게임(The verification game) *트루빗의 task는 WebAssembly 프로그램으로 진행(명령어들을 하나씩 실행) Challenger가 게임 시작 시작 일치(0번) : Solver, Challenger 모두 초기화된 VM을 부팅하고 같은 program, inputs을 가짐 마지막 불일치(14번) : 14개의 명령어로 구성되어 있다면 마지막인 14번째는 서로 다른 결과를 가질 것 Challenger는 중간 지점인 7번째 명령어 실행 결과를 질문 (여러 번 시도하면 중간지점부터 묻는 것이 가장 효율적) Solver는 Truebit WebAssembly VM을 사용하여 7번째 해시값을 계산하여 응답 7번째 해시값: 7번 째 명령어 실행 시 스택, 메모리, Solver의 WebAssembly VM의 전체 상태에서 파생된 머클 루트 Source: https://medium.com/truebit/truebit-the-marketplace-for-verifiable-computation-f51d1726798f

Ethereum TrueBit (offchain verifiable computation) 01 검증 게임(The verification game) Challenger는 자신의 머클 루트를 계산하여 Solver의 값과 비교 두 값이 같으면 8~14번째에서 불일치 발생 (7번째까지의 결과는 일치하므로) 두 값이 다르면 1~7번째에서 불일치 발생 (중간값인 3 or 4번째부터 질문) The Solver and Challenger play a verification game. Source: https://medium.com/truebit/truebit-the-marketplace-for-verifiable-computation-f51d1726798f

Ethereum TrueBit (offchain verifiable computation) 01 검증 게임(The verification game) Solver, Challenger값 일치할 경우 중간값인 10번째 명령어 실행 결과 질문 10번째도 같으면 다시 남은 구간의 중간값(12번째)을 찾아 질문 프로그램의 총 명령어 수가 n개일 경우, Challenger가 불일치 지점을 찾기 위해서는 O(log (n)) 단계를 필요로 함 불일치 지점을 찾아내면, 해당(13번째) 명령어 실행 결과를 질문하여 비교 Source: https://medium.com/truebit/truebit-the-marketplace-for-verifiable-computation-f51d1726798f

Ethereum TrueBit (offchain verifiable computation) 01 검증 게임(The verification game) 트루빗 컨트랙트 안에 있는 WebAssembly interpreter 실행 VM을 12번째 연산을 마친 이후로 세팅, 13번째 명령어 수행 Solver의 머클 루트와 비교 값이 서로 다르다면 solver의 보증금 삭감 (Solver의 연산이 틀렸다는 뜻이므로) 값이 서로 같다면 검증 게임 비용을 challenger의 보증금에서 삭감 트루빗은 전체 연산을 오프 체인에서 하고, 분쟁 발생 시 단일 명령에 대한 연산만 Ethereum을 사용 <트루빗 프로젝트 측 주장> 나카모토 컨센서스(과반수가 정직해야)나 BFT(2/3가 정직해야)보다 강력 1명만 정직해도 안전이 보장되기 때문 Source: https://medium.com/truebit/truebit-the-marketplace-for-verifiable-computation-f51d1726798f

TrueBit Token Economy 01 Truebit Token Economy 인센티브 구조 Task 수행에 대한 보상 Solver, Challenger 보증금 Solver와 Challenger의 결과값 중 적절한 답변 선택 연산 시장의 토큰 이코노미 설계 등 Challenger가 항상 Solver의 결과값을 검증할 동기 필요… Solver가 잘못된 결과값을 제출했다는 것을 증명할 때만 보상을 받는다면 그 횟수가 매우 적을 수 있음 Solver가 옳은 결과값만 내놓는다면 Challenger는 수지가 맞지 않아 결국 사라지게 될 것 Challenger가 사라지면 Solver도 옳은 결과값을 제출할 동기가 사라짐 트루빗 네트워크 붕괴 해결책 : 강제 오류와 잭팟 Source: https://medium.com/truebit/truebit-the-marketplace-for-verifiable-computation-f51d1726798f Source: Jason Teutsch, Christian Reitwießner, A scalable verification solution for blockchains

기대수익 >= 검증 시 적절한 보상 * 강제 오류 확률 forced error and a jackpot 01 강제 오류와 잭팟 트루빗 컨트랙트에서 의도적으로 Solver가 틀린 답을 제출하도록 함으로써 Challenger에게 검증 동기 부여 강제 오류를 발견한 Challenger는 잭팟 보상을 받을 수 있음 Challenger는 언제 강제 오류가 발생할지 모르므로, 모든 task를 주의 깊게 확인할 동기를 가짐 기대수익 >= 검증 시 적절한 보상 * 강제 오류 확률 Solver는 문제를 올바르게 해결할 때마다 보상을 받지만, Challenger는 간헐적으로 보상을 받기 때문에 기대수익은 우변(보상*강제 오류 확률)보다 더 높아야 한다. 잭팟 보상은 각각의 연산 작업 당 1명 이상의 Challenger를 확보할 수 있을 만큼 충분히 높아야 하지만, 그렇다고 기대수익이 너무 높으면 잭팟을 위한 조작 행위가 일어날 우려가 있으므로 적정선 유지가 중요 Source: Jason Teutsch, Christian Reitwießner, A scalable verification solution for blockchains

forced error and a jackpot 01 잭팟 자금은 어디서 나오나? 잭팟 저장소 초기 : generous philanthropist(트루빗 프로젝트 자체 자금)가 저장소에 예치(기부) 유지 : Task Giver에게 세금 징수 Task Giver는 Solver의 연산 비용뿐만 아니라, Challenger의 검증 비용 + 세금까지 부담해야 함 단, Challenger가 옳은 연산에 challenge를 걸면 Challenger 부담(Challenger의 보증금에서 공제) 세율 : 검증 비용의 500% ~ 5,000% 강제 오류 확률(잭팟 확률) : 1/1,000 잭팟 시 지급 금액 : 저장소 예치 금액의 1/3 미만 비율은 각 당사자의 행동에 따라 조정할 수 있음 Source: Jason Teutsch, Christian Reitwießner, A scalable verification solution for blockchains

Conclusion 01 이더리움 확장성 솔루션을 공부하면서 느낀 점 - 블록체인은 결국 데이터를 기록하고 관리하는 규칙에 관한 것이다. 높은 보안(위변조 불가), 탈중앙화(비대칭 완화/제거), 토큰 이코노미(데이터에 가치 부여)는 데이터 관리 방식에서 비롯 - 탈중앙화는 상당히 도전적인 과제다. 중앙화된 주체가 운영하면 쉽게 할 수 있는 일, 하지만 신뢰할 필요가 없는 체계를 만들려고 하다 보니 기존에는 내지 않던 비용이 많이 듦 Truebit: Task Giver는 Solver를 신뢰하지 못해 Challenger에게도 지출 (cf. 신용사회) - “네가 기술을 몰라서 그래.”라는 말에 아직 자유롭지 못하지만… ‘블록체인도 사업이다.’ 관점에서 바라보면, 블록체인 비즈니스의 가치는 어디에서 오는가? 1. 운영 관점 : 중개인 제거 profit > 탈중앙화 cost 2. 혁신 관점 : 새로운 가치 창출(기존의 방식으로는 불가능했으나 블록체인 기술 덕분에 가능해진 서비스)

Thank You Kim Doyun 블로그 : http://www.xblock.kr 얼굴책 : http://www.facebook.com/doyunism