Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Klaytn의 Bot 대응기: Dynamic Gas Price

kakao
PRO
December 09, 2022

Klaytn의 Bot 대응기: Dynamic Gas Price

#GasPrice #KIP-71 #Klaytn

클레이튼과 같은 Scalable 블록체인은 낮은 가스비와 높은 TPS 로 인해, 많은 봇들이 활동하기 쉬운 구조를 가지고 있습니다.
2022년 상반기 클레이튼 메인넷에 많은 봇 트래픽이 몰리면서 겪었던 어려움과, 클레이튼 팀이 이를 어떻게 접근하고 해결했는지, 해결하며 느낀 점들은 무엇인지 공유하고자 합니다.

발표자 : jack.jin
(잭) 저는 지금까지 보안과 관련된 일들을 해오다가 올해부터 크러스트유니버스에 입사하여 코어개발팀 인터페이스 파트에서 일하고 있습니다.

jared.fi
(제라드) 크러스트유니버스 에코시스템 플래닝팀에서 근무하고 있는 제라드입니다. 블록체인을 좋아해서 크러스트로 이동하기 전 Ground X 에서부터 클레이튼 관련 일들을 지속적으로 재미있게 해왔습니다.

kakao
PRO

December 09, 2022
Tweet

More Decks by kakao

Other Decks in Programming

Transcript

  1. Dynamic Gas Price


    Copyright 2022. Kakao Corp. All rights reserved. Redistribution or public display is not permitted without written permission from Kakao.
    Klaytn의 Bot 대응기
    엄기진 Jack.jin


    이우진 jared.
    f

    크러스트 유니버스
    if(kakao)2022

    View Slide

  2. Jack(엄기진)


    [22~] Krust Universe,


    Core Dev Team


    [21~22] Krafton


    [17~21] The Attached


    Institute of ETRI


    [15~16] Suresoft Tech.
    Jared(이우진)
    발표자 소개
    [22~] Krust Universe,
    Ecosystem Planning
    Team


    [18~22] Ground X,
    Klaytn Group


    View Slide

  3. Klaytn Cypress 메인넷


    문제의 발단


    해결1: Spam Throttler


    해결2: 가스비 인상 & 시간우선


    해결3: 동적 가스비


    Lesson learned

    View Slide

  4. Klaytn Cypress 메인넷


    문제의 발단


    해결1: Spam Throttler


    해결2: 가스비 인상 & 시간우선


    해결3: 동적 가스비


    Lesson learned

    View Slide

  5. Klaytn Cypress 메인넷
    ⋍0.14원 ⋍350원
    Klaytn Ethereum
    <
    2500배
    송금 수수료 (Value Transfer Transaction)

    View Slide

  6. Klaytn Cypress 메인넷
    ⋍1초 ⋍90초
    Klaytn Ethereum
    <
    90배
    완결성 (Block Finality)

    View Slide

  7. Klaytn Cypress ݫੋ֔
    ޙઁ੄ ߊױ
    ೧Ѿ1: Spam Throttler
    ೧Ѿ2: оझ࠺ ੋ࢚ & दр਋ࢶ
    ೧Ѿ3: ز੸ оझ࠺
    Lesson learned

    View Slide

  8. 문제의 발단
    - 낮은 가스비와 봇을 이용한 차익거래(Arbitrage) 기승


    - DEX 거래소간 차액 발생 → 차익실현


    - 먼저 실행된 트랜잭션 → 큰 차익


    - 블럭 내 트랜잭션 경쟁 구조 → 1등을 선점하기 위한 봇 트랜잭션 발생

    View Slide

  9. 문제의 발단
    ㅠㅠ…

    View Slide

  10. 문제의 발단
    Klaytn의 봇 대응기 시작…
    - 너무 많은 트랜잭션들로 인해 유저들이 보낸 거래가 지연


    - 급증 트랜잭션을 버티지 못하고 Block explorer, 거래소 등 입출금 지연


    - 커뮤니티의 원성, 유저의 불편 급증

    View Slide

  11. 문제의 발단
    가스비↑
    Spam


    Throttler
    동적


    가스비
    스팸↓ 차익↓
    차익↓ 유연성

    Technical Analyzing…

    View Slide

  12. Klaytn Cypress 메인넷


    문제의 발단


    해결1: Spam Throttler


    해결2: 가스비 인상 & 시간우선


    해결3: 동적 가스비


    Lesson learned

    View Slide

  13. 해결1: Spam Throttler
    - (공격자) 스팸 트랜잭션을 이용한 TxPool점유


    - 타 이용자의 트랜잭션 유실
    ծ਷ оझܳ ࣗݽೞח ؀۝ ౟ے੥࣌
    Cypress
    झಅ
    ରঘѢې ౟ے੥࣌
    ੌ߈ ౟ے੥࣌

    ҃੬ ౟ے੥࣌

    View Slide

  14. 해결1: Spam Throttler
    Tx Tx Tx
    Spam Throttler
    Spam Class
    fi
    er
    Allowed
    Candidate Weight
    Throttled Weight
    TxPool
    X
    Weight Manager
    Update

    View Slide

  15. 해결1: Spam Throttler
    ⋍500만 ⋍10만
    Daily

    View Slide

  16. 해결1: Spam Throttler
    But…
    Cypress
    Spam Throttler
    झಅ

    View Slide

  17. Klaytn Cypress 메인넷


    문제의 발단


    해결1: Spam Throttler


    해결2: 가스비 인상 & 시간우선


    해결3: 동적 가스비


    Lesson learned

    View Slide

  18. 해결2: 가스비 인상 & 시간우선
    문제: 올리는건 좋은데..


    얼마나 인상해야 하지?

    View Slide

  19. 해결2: 가스비 인상 & 시간우선
    블록체인에서는 모든 거래 내역과 루트를 볼 수 있음
    Txid Exchange path Gain Tx fee Gain/
    Fee
    Gain/
    Volume
    0xb709d323ef2
    549ea7fd61def7
    1b3a80ba316c5
    47.66 KLAY → 79.88 KXRP → 0.018 KETH →
    67.02 KUSDT → 47.71 KLAY
    0.05 0.019 2.6x 0.10%
    0xe80b2c29d3b
    c3e5c5b3f5f7d7
    399266746ec81
    207.24 WKLAY → 6.84 CLA → 207.63 KLAY 0.39 0.013 30x 0.19%
    0x53be7221316
    2ace3727a31d4
    06464b8a7fbfd1
    1082.9 KLAY → 961.51 PALA → 1390.7 KUSDT → 118.6
    KXRP → 1086.62 KLAY
    3.70 0.022 166x 0.34%
    0x8ac088adb03
    dd90efb206c02
    6e94baa76b5a7
    8750.52 KLAY → 1454.41 WEMIX → 8786.06 KLAY 35.55 0.013 2566x 0.41%
    0xd928c4812ba
    93d4c07d83eb5
    ee32f1365a034
    2400.87 KLAY → 0.90117 KETH → 2,426.74 KLAY 25.87 0.010 2709x 1.08%
    0x3f90dd45ceb
    203ea465590f7
    842b3fe5fa5d18
    14838.45 KLAY → 14584.31 MIX → 2126.11 KSP →
    41990.04 ORC → 15443.46 KLAY
    605.01 0.036 16800x 4.08%

    View Slide

  20. 해결2: 가스비 인상 & 시간우선
    분석 통해 가스비에 따른


    차익거래자의 기대 수익 모델링
    750 ston 적용시,
    100% 수익


    유지하려면 트랜잭션을
    85% 이상 줄여야 함

    View Slide

  21. 해결2: 가스비 인상 & 시간우선
    +먼저 온 트랜잭션이 먼저 처리되는 ‘시간우선’ 방식 적용


    ->
    유효 트랜잭션을 빠르게 보내면 그 이후


    더 많은 트랜잭션 보낼 유인 저하

    View Slide

  22. 해결2: 가스비 인상 & 시간우선
    750 ston
    ⋍0% Bot 트랜잭션


    View Slide

  23. 해결2: 가스비 인상 & 시간우선
    ‘가스비가 갑자기 너무 높아 졌어요!!’


    => Bot 활동 추가 분석 결과 내릴 여력 존재
    하지만…

    View Slide

  24. 해결2: 가스비 인상 & 시간우선
    250 ston
    ⋍1% Bot 트랜잭션


    But 근본적 해결책 아님

    View Slide

  25. Klaytn Cypress 메인넷


    문제의 발단


    해결1: Spam Throttler


    해결2: 가스비 인상 & 시간우선


    해결3: 동적 가스비


    Lesson learned

    View Slide

  26. 해결3: 동적 가스비
    AS-IS TO-BE
    - 250 ston으로 가스비 고정


    - 추가 조정하는데 최소 1주일
    소요


    - 어떤 가격으로 조정해야 하는
    지 매번 분석 필요
    - 네트워크 혼잡도에 따라 실시
    간 가스비 조정

    View Slide

  27. 해결3: 동적 가스비
    수많은 시뮬레이션…

    View Slide

  28. 해결3: 동적 가스비
    Block
    Gas Used = 60M
    Gas Used = 0M
    매 블록 최대
    5% 상승
    Gas Used = 30M
    매 블록 최대
    5% 하락
    Max = 750 ston
    가스비
    Min = 25 ston

    View Slide

  29. 해결3: 동적 가스비
    네트워크 부하 상황에 따라


    가스비 즉각 조정

    View Slide

  30. Klaytn Cypress 메인넷


    문제의 발단


    해결1: Spam Throttler


    해결2: 가스비 인상 & 시간우선


    해결3: 동적 가스비


    Lesson learned

    View Slide

  31. Lessons Learned & 추가로 생각해볼 점들
    Lessons Learned


    1. 어느 제품이나 그렇듯, Layer 1의 가스비도 적절한 가격을 찾는건 매우 중요하다. 그런데 블록
    체인에 있어서 그건 꽤나 어렵다!


    2. 여러 가스비 디자인에 따라 다양한 trade
    -
    off 들이 항상 존재한다. 따라서 디자인이 만족시키
    고자 하는 우리의 가치와 목표를 미리 align하는게 좋다.


    3. 등등…


    생각해볼 점들


    1. 과연 Block gas used 만을 네트워크 혼잡 상황을 판단하는 지표로 사용하는게 최선인가?


    2. Min / Max 값도 상황에 따라 자동으로 조절시킬수 있지 않을까?


    3. 등등…

    View Slide

  32. 클레이튼에 대해 더 잘 알고 싶다면? 크러스트 유니버스는 지금 채용 중!

    View Slide