안녕하세요. 김경호선임입니다.
이번에는 지급결제라는 금융회사 IT 업무와 그래프 데이터베이스를 관련시켜 이야기 해보려 합니다.
먼저 지급결제에 대해서 간략히 알아보겠습니다.
우선 세계적으로 가장 유명한 지급결제 회사로는 paypal이 있습니다. 페이팔은 독자적인 FDS(Fraud Detection System)을 효율적으로 운영하므로 신뢰도 있는 지급결제 서비스를 제공하며 차세대 핀테크 산업의 대표주자로도 손꼽히고 있습니다.
지급결제란 ‘현금’등 화폐적 가치이전을 통해 경제주체간 각종 경제 활동에 따라 발생한 채권, 채무관계를 해소하기위해 이루어지는 처리과정을 의미합니다. 지급결제의 다양한 업무중에 3행이체 라는 업무를 예를 들어 쉽게 설명해보겠습니다.
만약 A라는 고객이 우리은행 카드를 하나은행 ATM기기에 넣고 B라는 사람의 신한은행 계좌로 이체를 한다고 하면이에 대한 정보가 금융회사 3곳을 거치게 되겠죠.(우리, 하나, 신한) 그리고 서로 다른 금융회사에게 네트워크상으로서로의 interaction을 알려줄 중계 기관이 필요합니다. 이때 이 네트워크를 금융공동망이라 하고 중계 기관은 지급결제 업무의 경우 금융결제원이 됩니다.
1. 먼저 A라는 고객이 이체 완료 버튼을 누른 순간 ATM기기를 관리하는 하나은행 전산의 FEP(대외접속시스템)운영파트에서는 금융결제원에게 이 고객이 신한은행의 B라는 고객에게 이체 작업을 하려 한다라고 요청을 보냅니다. 이때 요청은 전문이라는 개념을 이용하여 보내어집니다.(금융공동망을 통한 모든 요청, 통보 작업은 전문을 통해 이루어집니다. 그리고 금융회사들은 전문을 송, 수신 할 때마다 자사 운영 DB에 송수신 내역을 저장하게 됩니다. 이를 통해 IT가 아닌 현업들이 영업점에서 이체 정보등을 조회할 수가 있는 것이죠.)
이 전문은 금융공동망에서 약속한 일정한 길이와 구조를 지닌 string입니다. 이 string에는 날짜, 금액, 송수신측 계좌번호, 송수신금융회사의 금융공동망 코드, 전문 종류 등이 들어있습니다.
2. 금융 결제원은 해당 요청을 받고 우리은행 측에 ‘우리은행 A고객이 신한은행 B고객에게 이체 작업을 하려하니 이를 반영해라’ 라는 통보를 줍니다.
우리은행의 FEP는 다시 이 정보를 받고 우리은행 지급결제 파트에 처리 요청을 한 후 처리가 완료되면 다시 금융결제원에 ‘우리은행 측은 처리가 완료되었습니다. 신한은행으로 해당 정보를 보내주십시오.’라는 전문을 보냅니다.
3. 금융결제원은 다시 신한은행의 FEP에 ‘우리은행의 A라는 고객이 신한은행의 B라는 고객에게 얼마를 이체요청을하였으니 해당사항을 반영하십시오.’라는 통보를 보내게 되고, 신한은행 FEP는 이를 받아 신한은행 지급결제 파트에처리요청을 보냅니다. 신한은행의 지급결제 파트에서 처리가 완료되면 다시 금융결제원에 ‘이체 처리 작업이 완료되었습니다.’라는 요청을 보내게 되고 이로써 3행이체라는 작업이 완료가 되는 것입니다.
조금 더 자세히 살펴보고자 한다면 더욱 복잡한 전산 프로세스와 기관이 있는데 큰 틀은 이와 같이 각 금융회사와 중계기관이 정해진 규약을 통해 통신함으로써 하나의 트랜젝션을 완료하는 구조입니다.
여기까지 3행이체 처리 프로세스 였습니다.
우리 비트나인이 개발하는 그래프 데이터베이스가 FDS 영역에 응용이 될 때에는 이러한 업무 프로세스에 대해서 조금은 살펴볼 필요가 있다고 생각합니다. 우리가 FDS를 직접 개발하는 것은 아니지만 말이죠.
그래프 데이터베이스에 상기 3행이체의 예를 데이터베이스화 시킬 경우 패턴에 대한 모습을 상상해 보겠습니다.
우선은 은행계좌, 중계센터라는 Label을 지닌 노드 혹은 vertex가 존재하겠고 위 그림에서 화살표로 표시된 상호작용은 3행이체_num_num 같은 edge로 표현될 수 있을 겁니다. 여기서 더 추가한다면 은행계좌 노드의 property로는 계좌번호, 고객이름, 잔고 등이 포함될 수 있으며 3행이체 edge의 property에는 이체일자가 포함될 수 있을 것입니다.
Neo4J의 Cypher 질의를 통해 2015년 9월 10일에 우리은행에서 신한은행으로 3행이체를 한 ‘홍길동’ 고객의 우리은행 계좌번호를 알려고 한다면
MATCH (woori_acc:은행계좌 {bank_name: ‘우리’}),
(shinhan_acc:은행계좌 {bank_name: ‘신한’}),
(kftc:중계센터 {center_name: ‘금융결제원’}),
(woori_acc) - [trade_start:3행이체_2_1] -> (kftc) - [:3행이체_3_1] - > (shinhan_acc) - [:3행이체_3_2] ->(kftc)
- [:3행이체_3_3] -> (shinhan_acc)
WHERE woori_acc.acc_name: ‘홍길동’ AND trade_start.date = ‘20150910’
RETURN woori_acc.accno
가 될 것입니다. (물론 해당 그래프 모델은 간략한 예를 통한 응용 설명을 위한 것임으로 실제 사례에 대한 최적, 정확한 모델과는 차이가 있습니다.)
이상으로 지급결제 업무와 이를 그래프 데이터베이스로 표현하였을 때 생각할 수 있는 간단한 질의를 예로 들어보았습니다.
환절기입니다. 모두 건강 유의하십시오. 감사합니다.
Posted by Bitnine(비트나인)
'USE CASES > 사례 연구' 카테고리의 다른 글
이상거래탐지시스템(FDS) 고도화의 필수요소, 그래프DB (0) | 2020.04.14 |
---|---|
지식 그래프를 도입한 XAI 신약개발 솔루션 (0) | 2020.03.11 |
AI 시장에서 그래프 테크놀로지의 필요성 Pt.2 (0) | 2020.02.24 |
AI 시장에서 그래프 테크놀로지의 필요성 Pt.1 (0) | 2020.02.19 |
그래프 데이터베이스를 접목한 FDS, 사이버 범죄의 효율적 대응 전략! (0) | 2017.05.02 |