SlideShare a Scribd company logo
1 of 23
Download to read offline
● Jason Han, CEO at Ground X
● Eric Kim, Developer Evangelist
at Ground X
Meetup Topic
● 19:00 ~ 19:30 (30") 등록 확인
● 19:30 ~ 19:40 (10") Klaytn 세션 1
● 19:40 ~ 20:30 (50") Klaytn 세션 2
● 20:30 ~ 21:00 (30") Q&A
● 21:00 ~ 21:30 (30") 네트워킹
Klaytn 세션 1 Toward Mass Adoption of Blockchain Ground X Approach
Klaytn 세션 2 Fee Delegation(대납) 구조와 대납 기능을 사용하는 Android BApp 구현해보기
Klaytn 101 #3 Fee Delegation(대납) 구조와
대납 기능을 사용하는 Android BApp 구현해보기
Eric Kim, Ground X
Developer Evangelist
Fee Delegation
on Android
For Better Blockchain UX
목표
다음 사항들에 대해 알아본다:
● 블록체인의 문제와 그로 인한 제약사항
● User Experience (UX)
● 가스비 대납을 사용한 UX 향상
블록체인의 문제
문제점
성능
비용
불편함
● 한 블록이 담을 수 있는 트랜잭션 개수의 제한
● 주기적인 블록 합의로 인해 발생하는 지연
● 합의에 참여하기 위해 필요한 비용
● 블록을 유지하기 위해 필요한 비용
● 사용자가 가스비를 내야하는 불편함
● 사용자가 직접 키를 관리해야하는 불편함
해결법
Klaytn의 해결법
문제점
성능
비용
불편함
● 한 블록이 담을 수 있는 트랜잭션 개수의 제한
● 주기적인 블록 합의로 인해 발생하는 지연
● 합의에 참여하기 위해 필요한 비용
● 블록을 유지하기 위해 필요한 비용
● 사용자가 가스비를 내야하는 불편함
● 사용자가 직접 키를 관리해야하는 불편함
● 4000 TPS
● 1초 블록생성 주기
● 대기업 참여
● KAS
● 가스비 대납 기능 구현
● 키 관리 체계 구현
사용자 경험 (User Experience, UX)
사용자 경험(使⽤者經驗, User Experience 유저 익스피리언스, 간단히 UX)은 사용자가
어떤 시스템, 제품, 서비스를 직, 간접적으로 이용하면서 느끼고 생각하게 되는 총체적
경험을 말한다. 단순히 기능이나 절차상의 만족뿐 아니라 전반적인 지각 가능한 모든
면에서 사용자가 참여, 사용, 관찰하고 상호 교감을 통해서 알 수 있는 가치있는 경험이다.
긍정적인 사용자 경험의 창출은 산업 디자인, 소프트웨어 공학, 마케팅, 및 경영학의 중요
과제이며 이는 사용자의 니즈의 만족, 브랜드의 충성도 향상, 시장에서의 성공을 가져다 줄
수 있는 주요 사항이다. 부정적인 사용자 경험은 사용자가 원하는 목적을 이루지 못할 때나
목적을 이루더라도 감정적, 이성적으로나 경제적으로 편리하지 못하거나 부정적인 반응을
불러일으키는 경험을 하게 되는 경우 발생할 수 있다.
출처: 위키피디아 https://ko.wikipedia.org/wiki/%EC%82%AC%EC%9A%A9%EC%9E%90_%EA%B2%BD%ED%97%98
가스비가 UX에 미치는 영향
가스비
● TX를 처리하는데 필요한 자원을 비용으로 전환한 것이 가스(gas)
○ 플랫폼 사용료
○ EVM 명령어마다 정해진 가스량이 존재
○ Sender는 (TX의 처리를 위해 필요한 가스의 총량) x (Gas Price)만큼의 KLAY를 제공
● 복잡한 연산을 수행할 수록 높은 가스비가 소모
○ Klaytn의 Gas Price는 25 ston/gas (0.000000025 KLAY)로 고정
○ KLAY 전송에 필요한 가스비는 0.000525 KLAY (21,000 gas)
○ Count 컨트랙트를 배포하는데 약 183,000 gas가 필요
문제점 1
Alice
가스비 발생 (KLAY)
제가 왜 트랜잭션을 보내는
비용을 부담해야하는거죠?
불필요한 비용으로 인식되어 사용자
경험을 크게 저해하는 요소로 작용
문제점 2
Alice
가스비 발생 (KLAY)
제가 쓰는 서비스는 OOO
코인을 쓰는데 왜 KLAY가
필요하죠?
사용하는 코인/토큰이 KLAY가 아닐 경우
사용자에게 불필요한 추가 비용으로 인식
문제점 정리
1. 사용자는 플랫폼 사용료를 지불해야하는 것을 이해 못 함
○ 사용하는 서비스가 KCT (Klaytn Compatible Token)를 사용할 경우 더욱 그러함
○ 작은 금액이라도 민감하게 반응할 수 있음
2. 사용자가 KLAY를 취득하기 어려움
○ 법정화폐(fiat)로 가상자산을 취득하는 것이 어려움
○ 어플리케이션 최초 사용 시나리오에서 큰 장애물로 작용
○ 사용자에게 지원금을 지급할 수 있으나 남용(abusing)의 위험 있음
사용자가 가스비를 내지 않는 것이 사용자경험 개선에 큰 도움이 될 것
아이디어
서비스/어플리케이션 운영사가 사용자를
대신하여 가스비를 대납할 수 있다면 어떨까?
대납의 필요성
● ‘트랜잭션을 보내는 사람 (Sender)’과 ‘가스비를 부담하는 사람 (Payer)’을 구분
○ Sender를 일반 유저, Payer를 서비스/어플리케이션 운영사라고 정의
● Sender의 서비스 사용 → Payer의 매출 확대
○ Klaytn의 가스비는 매우 낮으나 KLAY 취득이 어려움
○ Payer는 Sender가 서비스를 seamless하게 사용할 수 있도록
가스비를 대신 내줄 유인이 충분
Alice Service
Sender Payer
Klaytn Fee Delegation
● 대납 트랜잭션은 두개의 서명을 가짐
○ 트랜잭션은 Sender가 생성하고 서명한 뒤 Payer에게 전달
○ Payer는 Sender가 전달한 트랜잭션에 추가정보를 기입하고 서명
○ 각각의 서명이 제출된 주소들에 부합할 경우 트랜잭션은 유효
○ 가스비는 Payer의 밸런스에서 차감 (nonce 변경 없음)
Alice Service
Service’s KeyAlice’s Key
0xALICE 0xSERVICE
Sender = 0xALICE
Payer = 0xSERVICE
Fee Delegation Analysis
Advantages
● UX 향상
● 불필요한 토큰 거래 최소화
● 사용자층 확대
(개발자, 토큰 홀더 → 일반유저)
● 트랜잭션 규모 확대
Disadvantages
● 플랫폼 성능 저하
(여러 서명 검증)
● 서비스 개발 복잡도 증가
● 서비스 관리비용 증가
(TOSS 기준 일 264 USD)
Fee Delegation in caver-js
// Sender-side
const { rawTransaction: senderRawTransaction } = await caver.klay.accounts.signTransaction({
type: 'FEE_DELEGATED_VALUE_TRANSFER',
from: sender.address,
to: '0x34ca11930cd5e0971d8bb9860d9b977d3bb9187b',
gas: '3000000',
value: 1,
}, sender.privateKey);
// Payer-side
const { rawTransaction: finalTx } = await caver.klay.accounts.signTransaction({
senderRawTransaction: senderRawTransaction,
feePayer: payer.address
}, payer.privateKey);
Fee Delegation in caver-java
// Sender-side
TxType tx = ValueTransferTransaction
.create(senderAddress, '0x34ca11930cd5e0971d8bb9860d9b977d3bb9187b', someKlay, gasLimit)
.nonce(senderNonce)
.buildFeeDelegated();
String rawTx = tx.sign(senderCredential, CHAIN_ID).getValueAsString();
// Payer-side
FeePayerManager feePayerManager = new FeePayerManager.Builder(caver, payerCredential)
.setTransactionReceiptProcessor(new PollingTransactionReceiptProcessor(caver, 1000, 10))
.setChainId(CHAIN_ID)
.build();
TransactionReceipt transactionReceipt = feePayerManager.executeTransaction(rawTx);
Live Demo
Count BApp on Android
Sender
Payer
caver-java
caver-js
Fee Delegation Scenario
Count BApp on Android
End of Document

More Related Content

Similar to Klaytn Developer Meetup_20191210

나 PM 25회 정은주 발표자료_IT서비스 프로젝트 계약관리
나 PM 25회 정은주 발표자료_IT서비스 프로젝트 계약관리나 PM 25회 정은주 발표자료_IT서비스 프로젝트 계약관리
나 PM 25회 정은주 발표자료_IT서비스 프로젝트 계약관리Dong-Hwan Han, Ph.D.
 
디지털 사이니지 품질 인증과 시청 효과 도입 검토2012
디지털 사이니지 품질 인증과 시청 효과 도입 검토2012디지털 사이니지 품질 인증과 시청 효과 도입 검토2012
디지털 사이니지 품질 인증과 시청 효과 도입 검토2012M&M Networks
 
Blueclub Tic Taxi Toc_final
Blueclub Tic Taxi Toc_finalBlueclub Tic Taxi Toc_final
Blueclub Tic Taxi Toc_finalSeungyup Lee
 
제16차 포럼 발표자료 - 플랫폼 생태계와 창업
제16차 포럼 발표자료 - 플랫폼 생태계와 창업제16차 포럼 발표자료 - 플랫폼 생태계와 창업
제16차 포럼 발표자료 - 플랫폼 생태계와 창업구회 연
 
Mobile Push Notification Solution
Mobile Push Notification SolutionMobile Push Notification Solution
Mobile Push Notification Solution남익 이
 
[HBR] How to launch your Digital platform
[HBR] How to launch your Digital platform[HBR] How to launch your Digital platform
[HBR] How to launch your Digital platformHyunmyung Kim
 
Platform modeling strategy
Platform modeling strategyPlatform modeling strategy
Platform modeling strategyJong taek OH
 
[2016 kmac 채널 커뮤니케이션 컨퍼런스]클라우드기반의 컨택센터 도입을 통한 고객경험 관리전략 아이투맥스 세일즈포스_salesforc...
[2016 kmac 채널 커뮤니케이션 컨퍼런스]클라우드기반의 컨택센터 도입을 통한 고객경험 관리전략 아이투맥스 세일즈포스_salesforc...[2016 kmac 채널 커뮤니케이션 컨퍼런스]클라우드기반의 컨택센터 도입을 통한 고객경험 관리전략 아이투맥스 세일즈포스_salesforc...
[2016 kmac 채널 커뮤니케이션 컨퍼런스]클라우드기반의 컨택센터 도입을 통한 고객경험 관리전략 아이투맥스 세일즈포스_salesforc...i2max
 
스마트 제조: AWS를 활용한 제조사의 디지털 트랜스포메이션 실현 방법 및 사례 – 석진호 AWS 제조업 사업개발 담당, 최계현 현대건설기...
스마트 제조: AWS를 활용한 제조사의 디지털 트랜스포메이션 실현 방법 및 사례 – 석진호 AWS 제조업 사업개발 담당, 최계현 현대건설기...스마트 제조: AWS를 활용한 제조사의 디지털 트랜스포메이션 실현 방법 및 사례 – 석진호 AWS 제조업 사업개발 담당, 최계현 현대건설기...
스마트 제조: AWS를 활용한 제조사의 디지털 트랜스포메이션 실현 방법 및 사례 – 석진호 AWS 제조업 사업개발 담당, 최계현 현대건설기...Amazon Web Services Korea
 
[한국IBM] ServiceNow로 IT운영관리 최적화!
[한국IBM] ServiceNow로 IT운영관리 최적화![한국IBM] ServiceNow로 IT운영관리 최적화!
[한국IBM] ServiceNow로 IT운영관리 최적화!Sejeong Kim 김세정
 
클라우드 리셀러와 MSP를 위한 화이트 라벨 관리 플랫폼 OpsNow 활용 방안
클라우드 리셀러와 MSP를 위한 화이트 라벨 관리 플랫폼 OpsNow 활용 방안클라우드 리셀러와 MSP를 위한 화이트 라벨 관리 플랫폼 OpsNow 활용 방안
클라우드 리셀러와 MSP를 위한 화이트 라벨 관리 플랫폼 OpsNow 활용 방안BESPIN GLOBAL
 
12th.Lecture.Step3.AnalysisUX.Modeling_2_JourneyMap.pdf
12th.Lecture.Step3.AnalysisUX.Modeling_2_JourneyMap.pdf12th.Lecture.Step3.AnalysisUX.Modeling_2_JourneyMap.pdf
12th.Lecture.Step3.AnalysisUX.Modeling_2_JourneyMap.pdfJeongeun Kwon
 
Microsoft dynamics erp for utilities 에너지 및 유틸리티 산업솔루션 소개
Microsoft dynamics erp for utilities 에너지 및 유틸리티 산업솔루션 소개Microsoft dynamics erp for utilities 에너지 및 유틸리티 산업솔루션 소개
Microsoft dynamics erp for utilities 에너지 및 유틸리티 산업솔루션 소개종수 (Steve Kim) 김
 
IBM with 서비스나우, IT운영관리 이젠 바뀔 때입니다.
IBM with 서비스나우, IT운영관리 이젠 바뀔 때입니다.IBM with 서비스나우, IT운영관리 이젠 바뀔 때입니다.
IBM with 서비스나우, IT운영관리 이젠 바뀔 때입니다.Sejeong Kim 김세정
 
그로스 해킹 - Growth Hacking
그로스 해킹 - Growth Hacking그로스 해킹 - Growth Hacking
그로스 해킹 - Growth HackingWooseok Seo
 
Case Study를 통해 알아 본 세탁소 성공요인과 실천방안
Case Study를 통해 알아 본 세탁소 성공요인과 실천방안Case Study를 통해 알아 본 세탁소 성공요인과 실천방안
Case Study를 통해 알아 본 세탁소 성공요인과 실천방안Young Kim
 
아이씨엔 매거진(104) Oct 2015. Industrial Communication Network MAGAZINE
아이씨엔 매거진(104) Oct 2015. Industrial Communication Network MAGAZINE 아이씨엔 매거진(104) Oct 2015. Industrial Communication Network MAGAZINE
아이씨엔 매거진(104) Oct 2015. Industrial Communication Network MAGAZINE SeungMo Oh
 
이노베이션3.0 책 강연 자료
이노베이션3.0 책 강연 자료이노베이션3.0 책 강연 자료
이노베이션3.0 책 강연 자료Donghyung Shin
 

Similar to Klaytn Developer Meetup_20191210 (20)

나 PM 25회 정은주 발표자료_IT서비스 프로젝트 계약관리
나 PM 25회 정은주 발표자료_IT서비스 프로젝트 계약관리나 PM 25회 정은주 발표자료_IT서비스 프로젝트 계약관리
나 PM 25회 정은주 발표자료_IT서비스 프로젝트 계약관리
 
디지털 사이니지 품질 인증과 시청 효과 도입 검토2012
디지털 사이니지 품질 인증과 시청 효과 도입 검토2012디지털 사이니지 품질 인증과 시청 효과 도입 검토2012
디지털 사이니지 품질 인증과 시청 효과 도입 검토2012
 
Blueclub Tic Taxi Toc_final
Blueclub Tic Taxi Toc_finalBlueclub Tic Taxi Toc_final
Blueclub Tic Taxi Toc_final
 
제16차 포럼 발표자료 - 플랫폼 생태계와 창업
제16차 포럼 발표자료 - 플랫폼 생태계와 창업제16차 포럼 발표자료 - 플랫폼 생태계와 창업
제16차 포럼 발표자료 - 플랫폼 생태계와 창업
 
Apacar
ApacarApacar
Apacar
 
Mobile Push Notification Solution
Mobile Push Notification SolutionMobile Push Notification Solution
Mobile Push Notification Solution
 
[HBR] How to launch your Digital platform
[HBR] How to launch your Digital platform[HBR] How to launch your Digital platform
[HBR] How to launch your Digital platform
 
Platform modeling strategy
Platform modeling strategyPlatform modeling strategy
Platform modeling strategy
 
[2016 kmac 채널 커뮤니케이션 컨퍼런스]클라우드기반의 컨택센터 도입을 통한 고객경험 관리전략 아이투맥스 세일즈포스_salesforc...
[2016 kmac 채널 커뮤니케이션 컨퍼런스]클라우드기반의 컨택센터 도입을 통한 고객경험 관리전략 아이투맥스 세일즈포스_salesforc...[2016 kmac 채널 커뮤니케이션 컨퍼런스]클라우드기반의 컨택센터 도입을 통한 고객경험 관리전략 아이투맥스 세일즈포스_salesforc...
[2016 kmac 채널 커뮤니케이션 컨퍼런스]클라우드기반의 컨택센터 도입을 통한 고객경험 관리전략 아이투맥스 세일즈포스_salesforc...
 
스마트 제조: AWS를 활용한 제조사의 디지털 트랜스포메이션 실현 방법 및 사례 – 석진호 AWS 제조업 사업개발 담당, 최계현 현대건설기...
스마트 제조: AWS를 활용한 제조사의 디지털 트랜스포메이션 실현 방법 및 사례 – 석진호 AWS 제조업 사업개발 담당, 최계현 현대건설기...스마트 제조: AWS를 활용한 제조사의 디지털 트랜스포메이션 실현 방법 및 사례 – 석진호 AWS 제조업 사업개발 담당, 최계현 현대건설기...
스마트 제조: AWS를 활용한 제조사의 디지털 트랜스포메이션 실현 방법 및 사례 – 석진호 AWS 제조업 사업개발 담당, 최계현 현대건설기...
 
[한국IBM] ServiceNow로 IT운영관리 최적화!
[한국IBM] ServiceNow로 IT운영관리 최적화![한국IBM] ServiceNow로 IT운영관리 최적화!
[한국IBM] ServiceNow로 IT운영관리 최적화!
 
클라우드 리셀러와 MSP를 위한 화이트 라벨 관리 플랫폼 OpsNow 활용 방안
클라우드 리셀러와 MSP를 위한 화이트 라벨 관리 플랫폼 OpsNow 활용 방안클라우드 리셀러와 MSP를 위한 화이트 라벨 관리 플랫폼 OpsNow 활용 방안
클라우드 리셀러와 MSP를 위한 화이트 라벨 관리 플랫폼 OpsNow 활용 방안
 
12th.Lecture.Step3.AnalysisUX.Modeling_2_JourneyMap.pdf
12th.Lecture.Step3.AnalysisUX.Modeling_2_JourneyMap.pdf12th.Lecture.Step3.AnalysisUX.Modeling_2_JourneyMap.pdf
12th.Lecture.Step3.AnalysisUX.Modeling_2_JourneyMap.pdf
 
Microsoft dynamics erp for utilities 에너지 및 유틸리티 산업솔루션 소개
Microsoft dynamics erp for utilities 에너지 및 유틸리티 산업솔루션 소개Microsoft dynamics erp for utilities 에너지 및 유틸리티 산업솔루션 소개
Microsoft dynamics erp for utilities 에너지 및 유틸리티 산업솔루션 소개
 
IBM with 서비스나우, IT운영관리 이젠 바뀔 때입니다.
IBM with 서비스나우, IT운영관리 이젠 바뀔 때입니다.IBM with 서비스나우, IT운영관리 이젠 바뀔 때입니다.
IBM with 서비스나우, IT운영관리 이젠 바뀔 때입니다.
 
그로스 해킹 - Growth Hacking
그로스 해킹 - Growth Hacking그로스 해킹 - Growth Hacking
그로스 해킹 - Growth Hacking
 
Case Study를 통해 알아 본 세탁소 성공요인과 실천방안
Case Study를 통해 알아 본 세탁소 성공요인과 실천방안Case Study를 통해 알아 본 세탁소 성공요인과 실천방안
Case Study를 통해 알아 본 세탁소 성공요인과 실천방안
 
Subwayheaven
SubwayheavenSubwayheaven
Subwayheaven
 
아이씨엔 매거진(104) Oct 2015. Industrial Communication Network MAGAZINE
아이씨엔 매거진(104) Oct 2015. Industrial Communication Network MAGAZINE 아이씨엔 매거진(104) Oct 2015. Industrial Communication Network MAGAZINE
아이씨엔 매거진(104) Oct 2015. Industrial Communication Network MAGAZINE
 
이노베이션3.0 책 강연 자료
이노베이션3.0 책 강연 자료이노베이션3.0 책 강연 자료
이노베이션3.0 책 강연 자료
 

More from Klaytn

TXGX 2019_Kai_Klaytn Blockchain Application (BApp) Development
TXGX 2019_Kai_Klaytn Blockchain Application (BApp) DevelopmentTXGX 2019_Kai_Klaytn Blockchain Application (BApp) Development
TXGX 2019_Kai_Klaytn Blockchain Application (BApp) DevelopmentKlaytn
 
TXGX 2019_Jesse_Klaytn API Service
TXGX 2019_Jesse_Klaytn API ServiceTXGX 2019_Jesse_Klaytn API Service
TXGX 2019_Jesse_Klaytn API ServiceKlaytn
 
TXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain
TXGX 2019_Albert_High Availability Architecture of Klaytn Service ChainTXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain
TXGX 2019_Albert_High Availability Architecture of Klaytn Service ChainKlaytn
 
TXGX 2019_Ethan_Horizontal Scaling through Service Chain in Klaytn
TXGX 2019_Ethan_Horizontal Scaling through Service Chain in KlaytnTXGX 2019_Ethan_Horizontal Scaling through Service Chain in Klaytn
TXGX 2019_Ethan_Horizontal Scaling through Service Chain in KlaytnKlaytn
 
TXGX 2019_Melvin_Data Layer Architecture & Optimizations
TXGX 2019_Melvin_Data Layer Architecture & OptimizationsTXGX 2019_Melvin_Data Layer Architecture & Optimizations
TXGX 2019_Melvin_Data Layer Architecture & OptimizationsKlaytn
 
TXGX 2019_Colin_Account and Transaction Model in Klaytn
TXGX 2019_Colin_Account and Transaction Model in KlaytnTXGX 2019_Colin_Account and Transaction Model in Klaytn
TXGX 2019_Colin_Account and Transaction Model in KlaytnKlaytn
 
TXGX 2019_Sam_Challenges for Blockchain Mass Adoption
TXGX 2019_Sam_Challenges for Blockchain Mass AdoptionTXGX 2019_Sam_Challenges for Blockchain Mass Adoption
TXGX 2019_Sam_Challenges for Blockchain Mass AdoptionKlaytn
 
TXGX 2019_Jun_Klaytn World: From Inception to Completion
TXGX 2019_Jun_Klaytn World: From Inception to CompletionTXGX 2019_Jun_Klaytn World: From Inception to Completion
TXGX 2019_Jun_Klaytn World: From Inception to CompletionKlaytn
 
TXGX 2019_Jason_Welcome Speech
TXGX 2019_Jason_Welcome SpeechTXGX 2019_Jason_Welcome Speech
TXGX 2019_Jason_Welcome SpeechKlaytn
 
if kakao dev 2019_Ground X_Session 04
if kakao dev 2019_Ground X_Session 04if kakao dev 2019_Ground X_Session 04
if kakao dev 2019_Ground X_Session 04Klaytn
 
if kakao dev 2019_Ground X_Session 02
if kakao dev 2019_Ground X_Session 02if kakao dev 2019_Ground X_Session 02
if kakao dev 2019_Ground X_Session 02Klaytn
 
Klaytn Developer Meetup_20190827
Klaytn Developer Meetup_20190827Klaytn Developer Meetup_20190827
Klaytn Developer Meetup_20190827Klaytn
 

More from Klaytn (12)

TXGX 2019_Kai_Klaytn Blockchain Application (BApp) Development
TXGX 2019_Kai_Klaytn Blockchain Application (BApp) DevelopmentTXGX 2019_Kai_Klaytn Blockchain Application (BApp) Development
TXGX 2019_Kai_Klaytn Blockchain Application (BApp) Development
 
TXGX 2019_Jesse_Klaytn API Service
TXGX 2019_Jesse_Klaytn API ServiceTXGX 2019_Jesse_Klaytn API Service
TXGX 2019_Jesse_Klaytn API Service
 
TXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain
TXGX 2019_Albert_High Availability Architecture of Klaytn Service ChainTXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain
TXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain
 
TXGX 2019_Ethan_Horizontal Scaling through Service Chain in Klaytn
TXGX 2019_Ethan_Horizontal Scaling through Service Chain in KlaytnTXGX 2019_Ethan_Horizontal Scaling through Service Chain in Klaytn
TXGX 2019_Ethan_Horizontal Scaling through Service Chain in Klaytn
 
TXGX 2019_Melvin_Data Layer Architecture & Optimizations
TXGX 2019_Melvin_Data Layer Architecture & OptimizationsTXGX 2019_Melvin_Data Layer Architecture & Optimizations
TXGX 2019_Melvin_Data Layer Architecture & Optimizations
 
TXGX 2019_Colin_Account and Transaction Model in Klaytn
TXGX 2019_Colin_Account and Transaction Model in KlaytnTXGX 2019_Colin_Account and Transaction Model in Klaytn
TXGX 2019_Colin_Account and Transaction Model in Klaytn
 
TXGX 2019_Sam_Challenges for Blockchain Mass Adoption
TXGX 2019_Sam_Challenges for Blockchain Mass AdoptionTXGX 2019_Sam_Challenges for Blockchain Mass Adoption
TXGX 2019_Sam_Challenges for Blockchain Mass Adoption
 
TXGX 2019_Jun_Klaytn World: From Inception to Completion
TXGX 2019_Jun_Klaytn World: From Inception to CompletionTXGX 2019_Jun_Klaytn World: From Inception to Completion
TXGX 2019_Jun_Klaytn World: From Inception to Completion
 
TXGX 2019_Jason_Welcome Speech
TXGX 2019_Jason_Welcome SpeechTXGX 2019_Jason_Welcome Speech
TXGX 2019_Jason_Welcome Speech
 
if kakao dev 2019_Ground X_Session 04
if kakao dev 2019_Ground X_Session 04if kakao dev 2019_Ground X_Session 04
if kakao dev 2019_Ground X_Session 04
 
if kakao dev 2019_Ground X_Session 02
if kakao dev 2019_Ground X_Session 02if kakao dev 2019_Ground X_Session 02
if kakao dev 2019_Ground X_Session 02
 
Klaytn Developer Meetup_20190827
Klaytn Developer Meetup_20190827Klaytn Developer Meetup_20190827
Klaytn Developer Meetup_20190827
 

Recently uploaded

Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 

Recently uploaded (6)

Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 

Klaytn Developer Meetup_20191210

  • 1.
  • 2. ● Jason Han, CEO at Ground X ● Eric Kim, Developer Evangelist at Ground X Meetup Topic ● 19:00 ~ 19:30 (30") 등록 확인 ● 19:30 ~ 19:40 (10") Klaytn 세션 1 ● 19:40 ~ 20:30 (50") Klaytn 세션 2 ● 20:30 ~ 21:00 (30") Q&A ● 21:00 ~ 21:30 (30") 네트워킹 Klaytn 세션 1 Toward Mass Adoption of Blockchain Ground X Approach Klaytn 세션 2 Fee Delegation(대납) 구조와 대납 기능을 사용하는 Android BApp 구현해보기
  • 3. Klaytn 101 #3 Fee Delegation(대납) 구조와 대납 기능을 사용하는 Android BApp 구현해보기 Eric Kim, Ground X Developer Evangelist
  • 4. Fee Delegation on Android For Better Blockchain UX
  • 5. 목표 다음 사항들에 대해 알아본다: ● 블록체인의 문제와 그로 인한 제약사항 ● User Experience (UX) ● 가스비 대납을 사용한 UX 향상
  • 6. 블록체인의 문제 문제점 성능 비용 불편함 ● 한 블록이 담을 수 있는 트랜잭션 개수의 제한 ● 주기적인 블록 합의로 인해 발생하는 지연 ● 합의에 참여하기 위해 필요한 비용 ● 블록을 유지하기 위해 필요한 비용 ● 사용자가 가스비를 내야하는 불편함 ● 사용자가 직접 키를 관리해야하는 불편함
  • 7. 해결법 Klaytn의 해결법 문제점 성능 비용 불편함 ● 한 블록이 담을 수 있는 트랜잭션 개수의 제한 ● 주기적인 블록 합의로 인해 발생하는 지연 ● 합의에 참여하기 위해 필요한 비용 ● 블록을 유지하기 위해 필요한 비용 ● 사용자가 가스비를 내야하는 불편함 ● 사용자가 직접 키를 관리해야하는 불편함 ● 4000 TPS ● 1초 블록생성 주기 ● 대기업 참여 ● KAS ● 가스비 대납 기능 구현 ● 키 관리 체계 구현
  • 8. 사용자 경험 (User Experience, UX) 사용자 경험(使⽤者經驗, User Experience 유저 익스피리언스, 간단히 UX)은 사용자가 어떤 시스템, 제품, 서비스를 직, 간접적으로 이용하면서 느끼고 생각하게 되는 총체적 경험을 말한다. 단순히 기능이나 절차상의 만족뿐 아니라 전반적인 지각 가능한 모든 면에서 사용자가 참여, 사용, 관찰하고 상호 교감을 통해서 알 수 있는 가치있는 경험이다. 긍정적인 사용자 경험의 창출은 산업 디자인, 소프트웨어 공학, 마케팅, 및 경영학의 중요 과제이며 이는 사용자의 니즈의 만족, 브랜드의 충성도 향상, 시장에서의 성공을 가져다 줄 수 있는 주요 사항이다. 부정적인 사용자 경험은 사용자가 원하는 목적을 이루지 못할 때나 목적을 이루더라도 감정적, 이성적으로나 경제적으로 편리하지 못하거나 부정적인 반응을 불러일으키는 경험을 하게 되는 경우 발생할 수 있다. 출처: 위키피디아 https://ko.wikipedia.org/wiki/%EC%82%AC%EC%9A%A9%EC%9E%90_%EA%B2%BD%ED%97%98
  • 10. 가스비 ● TX를 처리하는데 필요한 자원을 비용으로 전환한 것이 가스(gas) ○ 플랫폼 사용료 ○ EVM 명령어마다 정해진 가스량이 존재 ○ Sender는 (TX의 처리를 위해 필요한 가스의 총량) x (Gas Price)만큼의 KLAY를 제공 ● 복잡한 연산을 수행할 수록 높은 가스비가 소모 ○ Klaytn의 Gas Price는 25 ston/gas (0.000000025 KLAY)로 고정 ○ KLAY 전송에 필요한 가스비는 0.000525 KLAY (21,000 gas) ○ Count 컨트랙트를 배포하는데 약 183,000 gas가 필요
  • 11. 문제점 1 Alice 가스비 발생 (KLAY) 제가 왜 트랜잭션을 보내는 비용을 부담해야하는거죠? 불필요한 비용으로 인식되어 사용자 경험을 크게 저해하는 요소로 작용
  • 12. 문제점 2 Alice 가스비 발생 (KLAY) 제가 쓰는 서비스는 OOO 코인을 쓰는데 왜 KLAY가 필요하죠? 사용하는 코인/토큰이 KLAY가 아닐 경우 사용자에게 불필요한 추가 비용으로 인식
  • 13. 문제점 정리 1. 사용자는 플랫폼 사용료를 지불해야하는 것을 이해 못 함 ○ 사용하는 서비스가 KCT (Klaytn Compatible Token)를 사용할 경우 더욱 그러함 ○ 작은 금액이라도 민감하게 반응할 수 있음 2. 사용자가 KLAY를 취득하기 어려움 ○ 법정화폐(fiat)로 가상자산을 취득하는 것이 어려움 ○ 어플리케이션 최초 사용 시나리오에서 큰 장애물로 작용 ○ 사용자에게 지원금을 지급할 수 있으나 남용(abusing)의 위험 있음 사용자가 가스비를 내지 않는 것이 사용자경험 개선에 큰 도움이 될 것
  • 15. 대납의 필요성 ● ‘트랜잭션을 보내는 사람 (Sender)’과 ‘가스비를 부담하는 사람 (Payer)’을 구분 ○ Sender를 일반 유저, Payer를 서비스/어플리케이션 운영사라고 정의 ● Sender의 서비스 사용 → Payer의 매출 확대 ○ Klaytn의 가스비는 매우 낮으나 KLAY 취득이 어려움 ○ Payer는 Sender가 서비스를 seamless하게 사용할 수 있도록 가스비를 대신 내줄 유인이 충분 Alice Service Sender Payer
  • 16. Klaytn Fee Delegation ● 대납 트랜잭션은 두개의 서명을 가짐 ○ 트랜잭션은 Sender가 생성하고 서명한 뒤 Payer에게 전달 ○ Payer는 Sender가 전달한 트랜잭션에 추가정보를 기입하고 서명 ○ 각각의 서명이 제출된 주소들에 부합할 경우 트랜잭션은 유효 ○ 가스비는 Payer의 밸런스에서 차감 (nonce 변경 없음) Alice Service Service’s KeyAlice’s Key 0xALICE 0xSERVICE Sender = 0xALICE Payer = 0xSERVICE
  • 17. Fee Delegation Analysis Advantages ● UX 향상 ● 불필요한 토큰 거래 최소화 ● 사용자층 확대 (개발자, 토큰 홀더 → 일반유저) ● 트랜잭션 규모 확대 Disadvantages ● 플랫폼 성능 저하 (여러 서명 검증) ● 서비스 개발 복잡도 증가 ● 서비스 관리비용 증가 (TOSS 기준 일 264 USD)
  • 18. Fee Delegation in caver-js // Sender-side const { rawTransaction: senderRawTransaction } = await caver.klay.accounts.signTransaction({ type: 'FEE_DELEGATED_VALUE_TRANSFER', from: sender.address, to: '0x34ca11930cd5e0971d8bb9860d9b977d3bb9187b', gas: '3000000', value: 1, }, sender.privateKey); // Payer-side const { rawTransaction: finalTx } = await caver.klay.accounts.signTransaction({ senderRawTransaction: senderRawTransaction, feePayer: payer.address }, payer.privateKey);
  • 19. Fee Delegation in caver-java // Sender-side TxType tx = ValueTransferTransaction .create(senderAddress, '0x34ca11930cd5e0971d8bb9860d9b977d3bb9187b', someKlay, gasLimit) .nonce(senderNonce) .buildFeeDelegated(); String rawTx = tx.sign(senderCredential, CHAIN_ID).getValueAsString(); // Payer-side FeePayerManager feePayerManager = new FeePayerManager.Builder(caver, payerCredential) .setTransactionReceiptProcessor(new PollingTransactionReceiptProcessor(caver, 1000, 10)) .setChainId(CHAIN_ID) .build(); TransactionReceipt transactionReceipt = feePayerManager.executeTransaction(rawTx);
  • 21. Count BApp on Android Sender Payer caver-java caver-js Fee Delegation Scenario
  • 22. Count BApp on Android