핀테크 엔지니어링 핸드북 발행
원제: Fintech Engineering Handbook
왜 중요한가
금융 시스템의 핵심 설계 패턴을 체계화한 자료로, 금융 기술 산업의 신뢰성과 안정성 기준을 제시한다는 점에서 의미가 있다.
핀테크 소프트웨어 개발의 핵심 패턴을 담은 '핀테크 엔지니어링 핸드북'이 공개됐다. 돈을 다루는 시스템의 신뢰성을 높이기 위한 원칙과 실무 기법을 담으며, 금융 업계 진입자와 기존 종사자 모두를 대상으로 한다.
핀테크 엔지니어링 핸드북은 저자 Voytek Pitula가 작성한 금융 소프트웨어 개발 가이드다. 돈이 중심이 되는 시스템을 구축할 때 필요한 패턴과 원칙을 제시한다.
핵심 원칙은 세 가지다. 첫째, 데이터 창조 금지(No invented data): 돈은 무에서 창조될 수 없으므로 중복이나 임의의 잔액 변경을 허용하지 않는다. 멱등성, 중복 제거, 재조정으로 이를 강제한다. 둘째, 데이터 손실 금지(No lost data): 돈에 일어난 모든 일은 추적되고 저장되어야 한다. 완전한 정밀도, 최소 1회 전달, 이벤트 소싱, 감사 추적, 불변성으로 보호한다. 셋째, 신뢰 금지(No trust): 외부 제공자, 내부 구성요소, 세상을 신뢰하지 않는다. 웹훅 검증, 다중 출처 데이터 교차 확인, 깨진 가정에 대한 즉각적 실패로 유지한다.
핸드북은 금액 표현, 정밀도 처리, 통화 및 환율 처리, 거장부(이중 기입 부기) 등을 다룬다. 금액 저장 방식으로는 부동소수점(빠르지만 정밀도 문제), 임의 정밀도(Java의 BigDecimal), 소수 단위 정밀도(ISO 4217 기준) 세 가지를 설명한다. 암호화폐는 각 자산별 정밀도를 정의하며 64비트 정수 오버플로우 문제를 다룬다.
추가 주제로 기금 예약, 초과인출 처리, 멱등성, 완전 재개 가능성, API 소비, 웹훅 처리, 신뢰할 수 있는 알림(Outbox 및 CDC), 재조정, 접근 제어, 변경 추적(SDLC) 등이 포함된다. 크립토 출금, 카드 입금, 인앱 환전 사례도 제시한다.