WSA 10 주차 (18.09..) Ethereum 김도윤 (doyunism@gmail.com) 백서연구조합 (WSA: Whitepaper Study Alliance)
Ethereum Scalability CryptoKitties, Ethereum Killer(DApp) Source : https://medium.com/@512jay/cryptokitties-5b5e2899267f/
Ethereum Scalability DApp 을지원하지못하는블록체인? - 생태계가활성화될수록느려지는거래속도 - 생태계가활성화될수록증가하는거래비용 Image : https://hlhsdad.com/23/10/20/oh-my-god-my-water-just-broke-here-come-the-babies-part-1/
Ethereum Scalability 이더리움확장성문제를해결하기위한노력 On-chain Casper Sharding 작업증명 (POW) 지분증명 (POS) 트랜잭션을노드들이분담하여병렬처리 Off-chain Raiden Network 처음과끝거래만블록체인에기록, 중간거래는결제채널을열어서거래 하부체인 (child-chain) 을별도로생성하여거래를진행하부체인검증에필요한최소한의데이터만이더리움메인체인에올림 On-chain : 모든거래내역을블록체인에기록함 Off-chain : 모든거래내역을블록체인에기록하지는않음
Ethereum 플라즈마란? 블록체인의확장성이슈를해결하기위한 off-chain 기반솔루션 ( 이더리움메인넷 ) 아래에 Child Chain( 플라즈마체인 ) 을만들어연결, Child Chain 에서트랜잭션을처리하고이에대한결과값만상위체인에올림으로써이더리움의부담을덜어줌 속도향상, 비용감소 Source : http://plasma.io/plasma.pdf
Ethereum 플라즈마체인관련용어 1 Child Chain( chain) : 1, 2, 3 Parent Chain, Child Chain (relatively) 2 parent chain 1 child chain 3 parent chain 2 child chain 2 2 2 : 4 Operator : 플라즈마체인내에서 Miner와비슷한역할 3 Client : 플라즈마체인참여자 Smart Contract : Client 와요청을주고받는스마트계약 메인체인과별도의합의알고리즘을가질수있음 4 PETH( ETH, Token) : 플라즈마체인에예치된 ETH EXIT Transaction : Client 가플라즈마체인을나가기위해요청하는트랜잭션 Source : http://plasma.io/plasma.pdf
Ethereum 플라즈마구조 1 블록체인에정보를올리는과정 1 블록체인정보 2 블록체인으로전달 2 2 2 2 블록체인정보 3 블록체인으로전달 3 블록체인정보 4 이더리움메인체인으로전달 3 Q. 1, 2, 3 체인의모든정보를 4 체인에담는다면 기존의방식보다좋은점이없지않은가? 4 A. 상위 Tree Depth 에는블록헤더의해시값만올린다. Source : http://plasma.io/plasma.pdf
Ethereum Periodic Commitments Child Chain 의블록헤더는블록이생성될때마다 Parent Chain 에올리는것이아님 일정주기마다한꺼번에모아서 Parent Chain 으로올리게됨 ( 효율성을높임 ) Source : http://plasma.io/plasma.pdf
Ethereum MVP 들어가기에앞서 1. 일정간격으로차일드체인의스테이트 (state) 를스마트컨트랙트에기록 MVP 에서는스테이트채널이아닌 UTXO 활용 State channel: 네트워크참여자들간의거래를블록체인밖에서처리하는방식 UTXO(Unspent Transaction Output): 블록체인에기록된거래내역중, 아직소비되지않은거래정보, 이중지불을막아줌 2. 차일드체인은이더리움과다른합의알고리즘을가질수있음 하나의플라즈마오퍼레이터가존재한다고가정, PoA(Proof of Authority) 권한증명 (PoA, Proof of Authority): 허가받은계정을통해데이터를검증하는방식 * 타확장성솔루션 ( 샤딩, 라이덴네트워크등 ) 결합및스테이트채널, POS 등의여러방식응용가능
Ethereum MVP 플라즈마블록생성 (1) 1. 플라즈마블록생성 ( 루트체인에는반영되지않음 )
Ethereum MVP 플라즈마블록생성 (1) 2. 플라즈마블록해시값전달 3. 플라즈마컨트랙트생성 4. 플라즈마블록생성 ( 루트체인에반영 )
Ethereum MVP 플라즈마블록생성 (2) 1. 루트체인의플라즈마컨트랙트로 5ETH 예치 2. 플라즈마블록생성 ETH:10 ->ETH:5 PETH:5 PETH 1
Ethereum MVP 플라즈마블록생성 (2) 3. 잘되었는지확인 ETH:10 5 PETH:5 PETH 1
Ethereum MVP 플라즈마트랜잭션 2. 의 txs 로블록생성 ( 아직확정되지않음, 는 PETH 를받을수없음 ) 1. 이 에게 2,500 txs * 0.0PETH 전송 ETH:5 PETH:5 PETH 1
Ethereum MVP 플라즈마트랜잭션 3. 루트체인 ( 이더리움 ) 에블록제출 ETH:5 PETH:5 PETH 1
Ethereum MVP 플라즈마트랜잭션 4. 잘생성되었는지확인 ETH:5 PETH:5 PETH 1
Ethereum MVP 플라즈마트랜잭션 5. 에게 confirm message 전송 ETH:5 PETH:5 PETH 1
Ethereum MVP 플라즈마트랜잭션 6. 트랜잭션 ETH:5 PETH:5 2.5 PETH 1 3.5
Ethereum MVP 플라즈마트랜잭션참여자의사기방지 5PETH exit transaction 전송 Sam 은 challenge period 가끝날때까지 security deposit 을예치해야 ETH:5 PETH:2.5 PETH 3.5
Ethereum MVP 플라즈마트랜잭션참여자의사기방지 의 clinet 가자동으로알아챔다른모든정직한노드도알아채면 challenge 제출가능 ETH:5 PETH:2.5 PETH 3.5
Ethereum MVP 플라즈마트랜잭션참여자의사기방지 Challenge period( ~1week) 이끝나기전에 Challenge 전송 Challenge 에는 의 transaction 을확인할수있는 mercle proof 가포함됨 ETH:5 PETH:2.5 PETH 3.5
Ethereum MVP 플라즈마트랜잭션참여자의사기방지 의공격실패 의 security deposit 을 에게제공 ETH:5 PETH:2.5 PETH 3.5
Ethereum MVP 플라즈마트랜잭션플라즈마오퍼레이터의사기방지 1. 오퍼레이터의허위블록생성 2. 루트체인에허위블록제출 3. 허위블록생성 PETH 9999 ETH:5 PETH:2.5 PETH 3.5
Ethereum MVP 플라즈마트랜잭션플라즈마오퍼레이터의사기방지 PETH 9999 Client 의부정행위감지 ETH:5 PETH:2.5 PETH 3.5
Ethereum MVP 플라즈마트랜잭션플라즈마오퍼레이터의사기방지 과 의 exit transaction 제출 PETH 9999 ETH:5 PETH:2.5 PETH 3.5
Ethereum MVP 플라즈마트랜잭션플라즈마오퍼레이터의사기방지 플라즈마오퍼레이터도 exit transaction 제출 PETH 9999 ETH:5 PETH:2.5 PETH 3.5
Ethereum MVP 플라즈마트랜잭션플라즈마오퍼레이터의사기방지 exit transaction 은발생순서대로처리 PETH 9999 ETH 6 ETH:5 PETH:2.5 PETH 3.5
Ethereum MVP 플라즈마트랜잭션플라즈마오퍼레이터의사기방지 ETH 6 0 PETH 9999 1. 에게 2.5ETH 전송 2. 에게 3.5 ETH 전송 ETH 5 7.5 PETH:2.5 0 ETH 0 3.5 PETH 3.5 0
Ethereum MVP 플라즈마트랜잭션플라즈마오퍼레이터의사기방지 플라즈마오퍼레이터에게전송실패 PETH 9999 ETH 0 ETH 7.5 ETH 3.5
Conclusion 플라즈마를공부하면서느낀점 - 블록체인은결국데이터를기록하고관리하는규칙에관한것이다. 높은보안 ( 위변조불가 ), 탈중앙화 ( 비대칭완화 / 제거 ), 토큰이코노미 ( 데이터에가치부여 ) 는데이터관리방식에서비롯 - 탈중앙화는상당히도전적인과제다. 중앙화된주체가운영하면쉽게할수있는일, 하지만신뢰할필요가없는체계를만들려고하다보니기존에는내지않던비용이많이듦 : 서로를신뢰하지못해검증리소스가많이들어가고과정이복잡해짐 (cf. 신용사회 ) - 토큰이코노미설계는왜어려운가? 복잡한이해관계 비트코인은 가치저장 기능에기여한자들에게만보상해도충분하나, ICO 를진행하는프로젝트는사용자와투자자까지모두만족할수있는구조를설계해야함 - 블록체인비즈니스의가치는어디에서오는가? 중개인제거 profit, 새로운가치창출, 사람들의신뢰를잃은영역등
Thank You Kim Doyun 블로그 : http://www.xblock.kr 얼굴책 : http://www.facebook.com/doyunism