autorenew
Bullet.xyz, 배치 주문 실행 1ms 달성: 온체인 Perps 혁신

Bullet.xyz, 배치 주문 실행 1ms 달성: 온체인 Perps 혁신

DeFi의 빠른 속도 경쟁에서 속도는 곧 경쟁력입니다. Bullet.xyz의 Tristan이 X(구 Twitter)에 온체인 perpetual 플랫폼에 대한 대대적인 성능 개선 소식을 올렸습니다. 밈 토큰이든 일반 암호화폐 거래든, 유동성과 실행 시간에 대한 인식을 바꿀 만한 소식입니다. 하나씩 살펴보죠.

큰 성과: 10ms에서 1ms로 단축

Tristan은 배치 주문 실행을 놀랍게도 1밀리초까지 최적화했다고 공유했습니다. 스테이징 환경에서 마켓메이커가 단 1ms 만에 최대 30개의 호가를 교체할 수 있다는 뜻입니다. 참고로 perpetual contracts(또는 "perps")는 만기 없이 자산을 거래할 수 있게 해주는 파생상품이고, on-chain은 모든 거래가 블록체인 위에서 투명하고 안전하게 이뤄진다는 의미입니다.

이건 단순한 기술적 수사가 아닙니다—DeFi에서 고빈도 거래에 게임 체인저가 될 수 있습니다. 변동성이 큰 meme tokens는 빠른 유동성 조정에 의존하고, 더 빠른 실행은 일부 플랫폼이 겪는 지연 없이 시장을 효율적으로 유지하는 데 도움이 됩니다.

<Image src="https://pbs.twimg.com/media/G0k-7PfaMAYccS7.jpg" alt="PlaceOrder 기간을 보여주는 그래프

- 사이트는 Meme Insider이지만, 이는 블록체인 기술과 perps에 관한 내용으로, 밈 토큰과도 관련이 있을 수 있습니다.
Bullet.xyz에서 10ms에서 1ms로 개선된 성능" width={800} height={450} />

Tristan이 올린 그래프는 50번째 및 95번째 백분위수에서 "PlaceOrder" 소요 시간이 급격히 떨어진 것을 보여줍니다. 최적화 이후 전체 시간이 급감했고, 계정 로딩, 마진 검사, 상태 영속화(state persistence) 등 시간이 소요되던 세부 항목별 분해도도 확인할 수 있습니다.

IO 병목 해결

주요 장애물 중 하나는 IO(입출력) 작업, 특히 상태 데이터베이스와의 상호작용이었습니다. 블록체인 애플리케이션에서는 모든 상태를 증명 가능하게 만들기 위해 merkelized해야 합니다—데이터 무결성을 암호학적 트리로 검증하는 방식이라고 생각하면 됩니다. 하지만 디스크에서 읽는 것은 느리고, 여러 마켓에 걸쳐 수백 건의 주문을 처리하는 마켓메이커에는 곧 악몽이었습니다.

Tristan 팀은 사용자 계정 키별로 주문을 통합해 최악의 경우 데이터베이스 읽기 횟수를 310회에서 단 10회로 줄였습니다. 이로 인해 병목이 IO 중심(시간의 50%)에서 CPU 중심(85%)으로 옮겨졌고, 실행 시간이 10ms에서 6ms로 떨어졌습니다. 밈 코인 폭등 중 거래 확정을 기다려본 경험이 있다면 이 개선의 중요성을 체감할 수 있을 겁니다.

효율을 위한 배치 처리

다음은 주문 배치 처리입니다. 각 트랜잭션당 한 건의 주문을 처리하던 방식 대신, 이제는 하나의 페이로드에 여러 건(예: 10건)을 넣을 수 있습니다. 이로 인해 트랜잭션 서명이나 반복되는 마진 계산 같은 오버헤드가 줄어듭니다—이 계산들은 청산을 피하기 위해 충분한 담보가 있는지 확인하는 작업입니다.

30개 마켓에 대해 각 5단계의 bid/ask를 제시하는 마켓메이커라면 총 300개의 주문이 필요합니다. 배치 처리는 초당 트랜잭션 수(TPS)를 300에서 30으로 낮춰줍니다. 밈 토큰 커뮤니티에서 과열로 활동이 급증할 수 있는 상황에서, 이는 블록체인을 과부하시키지 않고 매끄럽게 운영할 수 있게 해줍니다.

Serde에서의 놀라운 발견

마지막 조정은 미세하지만 강력했습니다. 그들의 마진 검사 로직이 전체 시간의 85%를 차지하며 5ms를 소모하고 있었는데, 이는 지나치게 큰 비중처럼 보였습니다. 더 깊이 들여다보니 Rust의 에러 처리 방식에서 문제가 있었습니다: 실제로 에러가 발생하지 않는 경우에도 에러 객체(문자열 직렬화 포함)를 즉시 빌드하고 있었습니다.

.ok_or_else() 같은 지연 평가 방식을 도입해 직렬화/역직렬화(serde)에서 발생하는 불필요한 오버헤드를 피했습니다. 이로써 남은 몇 밀리초를 더 깎아내 1ms 목표를 달성했습니다. 고성능 블록체인 애플리케이션에서는 작은 코드 선택 하나가 큰 차이를 만든다는 교훈입니다.

Bullet.xyz의 다음 단계는?

Tristan은 디스크 읽기를 회피하기 위한 더 스마트한 캐싱, 충돌이 없다고 가정하고 더 빠르게 실행하는 optimistic concurrency, 더 큰 AWS 인스턴스나 bare-metal 서버 같은 하드웨어 실험 등을 암시했습니다. 이런 조치들은 온체인 perps를 중앙화된 거래소만큼 빠르게 만들 가능성이 있습니다.

만약 밈 토큰을 만들거나 거래하고 있다면 Bullet.xyz를 주목하세요. 이런 수준의 최적화는 더 많은 유동성 제공자를 끌어들여 스프레드를 좁히고 전체 생태계의 품질을 높일 수 있습니다. Tristan의 스레드는 개발자들에게 금광과도 같으니, 자세한 기술적 내용은 X를 확인해 보세요.

밈 코인이 몇 초 만에 폭등하거나 급락하는 공간에서, 이런 도구들은 실무자들이 한발 앞서 나가게 도와줍니다. 마켓메이커든 DeFi에 갓 발을 들인 사람이든, 더 빠른 온체인 실행은 슬리피지를 줄이고 더 많은 기회를 의미합니다.

추천 기사