겉보기에 송금 과정이라고 생각되는 과정
- A라는 사람이 B라는 사람에게 송금을 하고 싶다
- A가 가지고 있는 국민은행에 기업은행의 B라는 사람에게 돈을 송금하라고 요청한다
- 국민은행은 요청을 보고 곧장 기업은행에 돈을 보낸다
- 기업은행은 B라는 사람 계좌에 돈을 넣는다
이런 흐름이 아니라
실제 송금 과정
- A라는 사람이 B라는 사람에게 송금 요청을 국민은행에 보낸다
- 국민은행은 청산소에 요청 메시지를 전달한다
- 청산소는 국민은행에서 기업은행으로 송금할 돈이 있다는 기록을 저장한다
- 청산소는 저장한 요청 데이터를 기업은행에 보낸다
- 기업은행은 전산상에 있는 B라는 사람의 계좌에 돈을 입금시킨다
여기서 중요한 것은 매 요청을 보낼 때마다 현물이 움직이지 않는다는 점이다.
청산소에 저장된 돈의 흐름, 송금의 기록 데이터를 모아놨다가 은행 점검 시간에 일괄적으로 돈을 이동시킨다.
지급 알고리즘은 다자간 차감 방식을 사용합니다. 간단히 말해서 하루동안 돈의 요청 흐름을 판단하여 “국민은행이 기업은행에게 100만원을 송금하라”라는 방식이다.
<aside>
💡 이 부분은 그냥 간단하게 넘어가거나 아니면 그냥 다자간 차감 방식을 사용하는데 자세한 내용은 생략하겠다라고 넘겨도 상관없을듯
</aside>