미리보기
기본 정보
블록체인 지갑 서비스 옥텟 그리고 오하이 월렛팀의 테크 리드로 활동하며, 월 평균 500억 원 규모의 입출금 트랜잭션을 처리하는 안정적이고 확장 가능한 시스템을 구축한 경험이 있는 백엔드 개발자입니다. 다양한 블록체인 프로젝트에서 비즈니스 요구사항을 기술로 구현하여 서비스 품질과 사용자 경험을 크게 향상시켰습니다. 주로 TypeScript와 NestJS를 사용하여 복잡한 시스템을 설계하고 구축하며, 개발 프로세스 개선, 코드 리뷰, 배포 프로세스 최적화에 깊은 관심을 가지고 팀의 생산성을 높이기 위해 노력해왔습니다. 외부 리뷰어로서도 활동하여, 다양한 코드 리뷰 경험을 바탕으로 코드 품질을 강화하고 팀의 기술적 성장을 지원해왔습니다. 현재는 오하이 월렛의 레거시 시스템 개편과 새로운 개발 문화 도입을 주도하고 있으며, 기술적 결정과 아키텍처 설계를 통해 팀을 이끌고 있습니다. 사용자의 경험을 최우선으로 고려하여 비즈니스와 긴밀하게 협력하며, 고객 중심의 기술 솔루션을 제공하기 위해 노력하고 있습니다.
기술 스택
Node.js, NestJS, TypeORM, MySQL, TypeScript, Redis, MongoDB, Kafka
경력
(주)헥슬란트
개발 팀장 | 오하이 월렛 | 재직 중
2024.05. ~ 재직 중 (8개월)
오하이는 가상자산사업자 라이센스를 보유한 서비스로써 고객들에게 신뢰를 주고 있습니다. 오하이는 다양한 서비스를 이미 운영하고 있습니다. 하지만 2018년도 부터 운영된 서비스이다 보니, 축적된 기술부채로 인해 기능 개발이 늦어지고 서비스 운영에도 많은 리소스가 투입되고 있었습니다. 그래서 오하이 커스터디를 개발하면서 Django로 되어 있는 레거시를 NestJS로 개편하는 큰 계획을 담당했고 오하이 시스템을 설계했습니다.
(주)헥슬란트
사원 | 옥텟팀 | 재직 중
2021.05. ~ 재직 중 (3년 8개월)
블록체인 지갑 SaaS으로써 입금, 출금 및 블록체인을 활용할 수 있는 기능 제공하는 서비스 입니다. 국내 가상자산사업자 기준 40%를 점유하고 있으며 월 입출금액이 수백억원에 달하는 블록체인 지갑 구축 SaaS인 옥텟을 개발합니다.
분산 Monolithic 구조로 설계된 NestJS(TS) 환경에서 서비스를 개발하고 있으며 스타트업의 한정된 자원 안에서 최대한의 효율을 이끌어내려고 노력합니다. 수동 입금, 메타 트랜잭션 출금 등 입출금에 관한 기능부터 어드민 콘솔 기능까지 서비스 전반을 개발하고 있습니다. 서비스 모니터링을 개선하여 CS가 들어오기 전 선제적으로 대응할 수 있도록 여러 알람기능을 개발하고 Opentelemetry를 적용해 Sentry나 Datadog과 같은 APM를 붙여 성능 모니터링도 가능하도록 미리 대응하였습니다. 서비스에 대해 애정을 갖고 비즈니스 요구를 최대한 수용하고 제품 개선을 위한 아이디어도 제안합니다.
- Backend: TypeScript, NestJS, MySQL, TypeORM, Redis, MongoDB
- Infra: EC2, RDS, S3, CodeBuild, CodeDeploy, MSK
대외활동
프로그래머스 웹 풀사이클 데브코스 2기 멘토
(주)그렙
- 수강생의 질문에 대한 답변
- 전체 수강생 대상으로 커피챗 질의응답
- 코드리뷰 요청 시 코드리뷰 진행
- 팀 프로젝트 멘토링
부스트캠프 웹모바일 8기 리뷰어
(재)네이버커넥트
부스트캠프 웹모바일 7기 리뷰어 및 멘토
(재)네이버커넥트
Reviewer
- 백엔드 리뷰어로 6주간 코드 리뷰를 진행
- 매주 하루 작업한 분량 중 리뷰받고 싶은 PR에 대해 리뷰어로 지정되면 해당 PR을 리뷰하는 방식
- 지엽적인 리뷰보다는 가능한 객체간 책임과 역할을 적절히 할당할 수 있도록 리뷰를 진행
- 부스트캠프의 학습 목표에 따라 답보다는 힌트를 던져주고, 스스로 학습할 수 있도록 리뷰
Mentor
- 웹 풀스택 분야의 6주 팀 프로젝트 2개의 팀의 멘토를 맡음
- 6주간 짧은 기간에 기획, 개발, 발표까지 진행해야 했기에 성공적으로 마무리 할 수 있도록 가이드 역할을 함
- 매주 각 팀마다 일정을 관리하고, 기술, 팀 협업등 프로젝트 진행하며 생기는 질문들을 받아 답변
프로젝트
TSS 지갑
헥슬란트
출금 상태 책임 분리
- 출금 중 상태에 따라 동작하는 로직의 책임을 분리하여 리팩토링
- nonce를 사용하지 않는 블록체인 네트워크의 이중출금을 구조적으로 방지함
Go 최신 버전 버그 수정
- 같은 seed로 키를 생성해도 다르게 만들어지는 경우 발생하여 Golang 코드를 분석하여 트러블 슈팅
- Go 1.18에서 1.19로 업데이트 되면서 ECDSA 키 생성 함수에 1/2 확률로 랜덤한 값 생성되도록 한 코드가 추가되어 해당 코드 우회할 수 있도록 구현
- https://github.com/golang/go/blob/master/src/crypto/ecdsa/ecdsa.go#L158
서명 스케줄러 구현
- 클라이언트와 함께 서명을 진행하도록 Go로 만들어진 바이너리를 실행하도록 구현
- 출금 큐에서 특정 주소가 서명 연결을 독점하지 않도록 구현
출금 구현
- TSS 지갑 API, 콘솔 상관없이 구현 가능한 모든 출금 기능 사용할 수 있도록 구현
일회용 키 생성 프로그램
헥슬란트
- React와 Electron을 이용해 프로그램 구현
- 유저 키는 AES passphrase를 이용해서 로컬에 암호화 하여 저장하도록하여 사용성 개선
- 블록체인 마다 프라이빗키의 길이가 달라, RSA 암호화로 대응할 수 없는 문제를 해결하기 위해 봉투 암호화 적용
일회용 키 생성 로직 구현
- HTTPS Handshake와 유사하게 동작하도록 알고리즘 작성
- 생성하기 버튼을 누르면 서버로 RSA 키 생성을 요청
- 응답 받은 RSA 퍼블릭 키로 암호화 하여 프로그램에서 무작위로 생성한 AES 키 전달
- 서버는 AES 키를 복호화 하여 Redis에 저장
- 프로그램은 AES키로 유저 키를 암호화 하여 사용자에게 출력
- Redis에 저장할 때 TTL을 적용하여, 키가 유출되더라도 TTL 시간 안에 1회 출금 신청만 가능하도록 구현
- 키 생성 요청 API를 많이 요청하여 Redis에 장애가 발생할 수 있는 상황을 고려하여 해당 API에 Rate limit 적용
옥텟 어드민 백오피스 콘솔
헥슬란트
2022.02. ~ 2022.04.
공통
- ISMS 인증을 받을 수 있도록 기능 개발
- 망분리 환경에서 회원가입 가능하도록 구현
- 비밀번호 90일 이상 변경하지 않을시 로그인 제한
- 개인정보 마스킹 및 마스킹 해제 기능 구현
- 어드민의 모든 활동 내역 기록 남도록 구현
- 미납 고객에 대한 관리 및 과금 정책 데이터 확인 가능하도록 구현
- CS 데이터 기반으로 자주 접수되는 부분을 빠르게 대응하도록 기능 구현
- IP 화이트 리스트 추가
- 토큰 컨트랙트 추가
V1 백오피스 개발
- V1은 Express와 Sequelize 기반으로 되어 있어, TypeORM으로 Sequelize 모델을 사용할 수 있도록 Entity 정의
- 레거시 프로젝트의 요구사항 분석 및 레거시 데이터의 정합성 맞지 않는 문제에 대해 예외처리
- 파일 업로드 추상화 하여 기능 구현 및 Presigned URL을 이용해 첨부파일 조회 관리할 수 있도록 구현
V2 백오피스 개발
- 블록체인 네트워크, NFT 네트워크도 계약에 따라 관리할 수 있도록 기능 구현
옥텟
헥슬란트
2021.10. ~ 진행 중
주요 수행 업무
유저 콘솔 API 개발
어드민 백오피스 API 개발
입출금 장애 모니터링 시스템 구축
자식 주소 생성 API Redis를 이용해 TPS 10배 상승
WalletConnect 지원하도록 서명 API 개선
Envelope encryption을 이용해 비개발자 유저가 멀티시그 지갑 출금 할 수 있도록 기능 구현
옥텟 통계 시스템 설계 및 개발
옥텟 통계 시스템
헥슬란트
2023.08. ~ 2023.11.
주요 수행 업무
통계 시스템 설계
CDC를 이용해 필요한 데이터 MongoDB에 적재하도록 구현
매일 오전 9시에 자산 가격 스냅샷 찍도록 구현
스냅샷 데이터 적절히 이용할 수 있도록 API 구현
서버 부하를 방지하기 위해 Stream을 이용해 데이터 제공하도록 구현
기술스택: NestJS, MongoDB, Mongoose, Debezium, MSK(Kafka)
트레블룰 TF
헥슬란트
2023.02. ~ 2023.04.
- 전사 서비스가 트래블룰을 준수하는 입출금을 할 수 있도록 트래블룰 솔루션인 CODE, VV를 통합적으로 이용할 수 있는 시스템 개발
- 옥텟과 트래블룰 서비스 연결하기 위한 API 및 스케줄러 전담 개발
- 트래블룰 서비스 E2E 전문 암호화 구현
가상자산 수탁(Custody) 서비스
헥슬란트
2021.05. ~ 2021.10.
- 금융사 수준에 맞게 가상자산을 안전하게 보관할 수 있는 서비스 개발
- 오너, 출금 신청자, 출금 승인자 등 유저 권한 분리로 복잡한 요구사항에 맞게 서비스 구현
- 블록체인 특성상 발생할 수 있는 타이밍 이슈들이 최대한 발생하지 않도록 방어 로직 구현 (이중출금 방지)
포트폴리오
교육
강릉원주대학교
대학교(학사) | 컴퓨터공학과
2016.03. ~ 2020.02. | 졸업
(재)네이버커넥트
사설 교육 | 부스트캠프 웹모바일
2020.07. ~ 2020.12. | 졸업
자격증
정보처리기사
한국산업인력공단
2019.11.