24시간 잠들지 않는 시장, QA 가상자산(암호화폐) 거래소 테스트

비트코인, 이더리움… 이제 가상자산(암호화폐)은 새로운 금융 자산으로 자리 잡았습니다.

이러한 가상자산을 거래하는 ‘거래소’는 24시간, 365일 쉬지 않고 움직입니다.

이곳에서는 단 한 번의 해킹이나 시스템 오류가 수천억 원의 고객 자산 손실로 이어질 수 있습니다.

이번 글에서는 이처럼 극도의 보안과 안정성이 요구되는 가상자산 거래소를 QA가 어떻게 테스트해야 하는지 알아보겠습니다.

이 글에서 다루는 것


  • 가상자산 거래소 테스트의 특징
  • 입출금 및 지갑(Wallet) 보안 테스트
  • 주문 및 체결 시스템 검증
  • 트래블룰과 QA의 역할

가상자산 거래소, 무엇이 다른가요?

가상자산 거래소 테스트는 기존 증권 시스템 테스트와 비슷해 보이지만, ‘블록체인’이라는 근본적인 기술 차이 때문에 QA에게 새로운 과제를 던져줍니다.

  • 되돌릴 수 없는 거래 (불변성):
    • 블록체인에 한번 기록된 거래는 수정하거나 취소하는 것이 거의 불가능합니다.
    • 따라서, ‘오입금’이나 ‘잘못된 주소로의 출금’과 같은 실수가 발생하지 않도록 사전에 철저히 검증하는 것이 매우 중요합니다.
  • 외부 블록체인 네트워크 의존성:
    • 가상자산의 입출금은 거래소 내부 시스템뿐만 아니라, 비트코인이나 이더리움과 같은 외부의 ‘공개 블록체인 네트워크’의 상태에 따라 성공 여부가 결정됩니다.

[핵심 1] ‘입출금’ 및 ‘지갑’ 보안은 어떻게 테스트하나요?

고객 자산을 직접 보관하는 ‘지갑(Wallet)’의 보안은 거래소의 생명과도 같습니다.

  • 입금 테스트:
    • 시나리오: 외부 개인 지갑에서 거래소의 내 입금 주소로 코인을 전송합니다.
    • QA 검증:
      • 블록체인 탐색기(예: Etherscan)에서 해당 트랜잭션이 ‘완료(Success)’된 것을 확인한 후, 정해진 시간 내에 거래소 내부 계좌에 자산이 정확히 반영되는지 확인합니다.
      • 정해진 컨펌(Confirmation) 수를 만족했을 때 입금이 처리되는 로직을 검증합니다.
  • 출금 테스트:
    • 시나리오: 거래소 지갑에서 외부 개인 지갑으로 코인을 출금합니다.
    • QA 검증:
      • 출금 시, 2FA(OTP, SMS 등)와 같은 추가 인증 절차가 반드시 동작하는지 확인합니다.
      • 출금 주소가 유효하지 않은 형식일 경우, 시스템이 이를 거부하는지 검증합니다.
      • 출금이 완료된 후, 해당 트랜잭션 ID(TxID)가 사용자에게 제공되고, 블록체인 탐색기에서 조회가 가능한지 확인합니다.

[핵심 2] ‘주문’ 및 ‘체결’ 시스템은 어떻게 테스트하나요?

24시간 움직이는 시장에서, 주문 시스템은 한순간의 오류도 없어야 합니다.

  • 테스트 케이스:
    • 주문 유형 테스트:
      • 지정가, 시장가, 예약 주문 등 다양한 주문 유형이 24시간 내내 정확하게 동작하는지 확인합니다.
    • 체결 엔진 검증:
      • 매수 주문과 매도 주문의 가격이 일치했을 때, ‘가격 우선, 시간 우선’ 원칙에 따라 주문이 공정하고 정확하게 체결되는지 검증합니다.
      • 이를 위해 QA는 거의 동시에 여러 개의 주문을 넣는 자동화 테스트 스크립트를 활용해야 합니다.
    • 데이터 정합성:
      • 주문이 체결된 후, 사용자의 코인 잔고와 원화 예수금이 수수료를 포함하여 정확하게 변경되었는지 데이터베이스 레벨에서 검증합니다.

현직 QA의 가상자산 테스트 경험담

제가 과거에 가상자산 거래소 QA로 참여하며 겪었던 가장 어려운 문제는, ‘네트워크 수수료(가스비)’ 변동에 대응하는 것이었습니다.

이더리움과 같은 블록체인은 네트워크 상황에 따라 출금 수수료가 실시간으로 변합니다. 한번은, 사용자가 출금을 요청하는 순간과, 거래소가 실제로 블록체인에 트랜잭션을 전송하는 순간 사이에 네트워크 수수료가 급등하는 상황이 발생했습니다.

이때 시스템이 변동된 수수료를 제대로 처리하지 못해, 출금이 계속 지연되는 문제가 발생했습니다. 이 경험을 통해, QA는 외부 블록체인 네트워크의 ‘변동성’이라는 통제 불가능한 요소까지 고려하여 예외 처리 시나리오를 설계해야 한다는 것을 배웠습니다.

결론: 새로운 기술의 신뢰를 구축하는 역할

가상자산 거래소 테스트는 기존 금융의 안정성과 블록체인의 혁신성이 만나는 지점에서 품질을 검증하는, 고도의 전문성이 필요한 영역입니다.

QA는 블록체인의 기술적 특성을 깊이 이해하고, 해커의 관점에서 보안 취약점을 점검하며, 투자자의 관점에서 데이터의 정확성을 보증해야 합니다.

성공적인 가상자산 거래소 QA는, 이 새로운 디지털 자산 시장의 신뢰를 구축하고 사용자를 보호하는 중요한 역할을 합니다.

부록: 가상자산 거래소 테스트 미니 체크리스트 ✅

  • 입금 시, 블록체인 네트워크의 컨펌(Confirmation) 수가 정책에 맞게 적용되는가?
  • 출금 시, 2FA 등 추가 인증 절차가 필수적으로 동작하는가?
  • 100만 원 이상 출금 시, 트래블룰(Travel Rule) 솔루션이 정상적으로 연동되는가?
  • 주문 체결 시, 수수료가 정확하게 계산되고 차감되는가?
  • 서버 점검 시, 모든 미체결 주문이 안전하게 유지되거나 일괄 취소되는가?

참고 자료 (References)

  • 특정 금융거래정보의 보고 및 이용 등에 관한 법률 (특금법) (국내 가상자산사업자 관련 규정)
  • Etherscan (이더리움 블록체인 탐색기, 트랜잭션 추적 및 데이터 확인)

댓글 남기기