सोसाइटी फॉर वर्ल्डवाइड इंटरबैंक फाइनेंशियल टेलीकम्युनिकेशन (SWIFT) भुगतान नेटवर्क आर्किटेक्चर
(twitter.com/alexxubyte)SWIFT (Society for Worldwide Interbank Financial Telecommunication) एक मैसेजिंग सिस्टम है, जिसका उपयोग दुनिया भर के बैंक दूसरे देशों में स्थित बैंकों के साथ वित्तीय लेनदेन करने के लिए करते हैं। इसका मुख्यालय बेल्जियम में है, और 8-11 अंकों के एक पहचानकर्ता, जिसे SWIFT code कहा जाता है, से प्रेषक बैंक और प्राप्तकर्ता बैंक की पहचान की जाती है।
SWIFT code को लगभग 1975 में एक स्वतंत्र प्रारूप के रूप में विकसित किया गया था, लेकिन 1994 में ISO 9362 के रूप में अंतरराष्ट्रीय मानक परिभाषित किया गया। इसके बाद इसमें दो बार और संशोधन हुए, और वर्तमान में उपयोग में आने वाला संस्करण 2014 का है। इसका विस्तृत प्रारूप एस्टोनिया की fintech कंपनी Wise (पूर्व Transferwise) द्वारा उपलब्ध कराए गए नीचे दिए गए पेज पर देखा जा सकता है:
https://wise.com/gb/swift-codes/bic-swift-code-checker
सबसे आगे के 4 अक्षर बैंक को दर्शाते हैं। अगले 2 अक्षर देश को। अगले 2 अक्षर क्षेत्र को। और अंत में वैकल्पिक 3 अक्षर शाखा को दर्शाते हैं। उदाहरण के लिए, यदि SWIFT code 'SMCOGB2LXXX' है, तो यह ब्रिटेन (GB) में स्थित SMCO बैंक की 2L क्षेत्र की XXX शाखा को इंगित करता है। मूल रूप से यह बैंकों को दिया जाता है, लेकिन चूंकि सबसे अधिक मांग प्रेषण की होती है, इसलिए कई बहुराष्ट्रीय बड़ी कंपनियां, जिन्हें देशों के बीच धन भेजना-लेना होता है, वे भी SWIFT code जारी करवाकर उसका उपयोग करती हैं — उल्टा कहें तो, यदि किसी को SWIFT भुगतान नेटवर्क से बाहर कर दिया जाए, तो उसके वित्तीय लेनदेन पर गंभीर असर पड़ता है। ईरान और उत्तर कोरिया के मामले में, स्वाभाविक रूप से(?), SWIFT तक पहुंच संभव नहीं है।
यह लेख 『गासांग म्योनजोप सार्येरो बेउनेन तैग्युमो सिस्टम सोल्ग्ये गिचो (System Design Interview)』 के लेखक Alex Xu द्वारा समझाई गई SWIFT सिस्टम की तकनीकी संरचना के बारे में है।
- धन का आदान-प्रदान करने वाले पक्ष Bank, और Bank से अनुरोध लेकर उसे संसाधित करने वाला Regional Processor (RP), तथा RP से अनुरोध लेकर प्रेषण-संबंधित रिकॉर्ड संग्रहीत करने वाला Slice Processor (SP) होता है। सुविधा के लिए मान लेते हैं कि A पक्ष का Bank/RP/SP और B पक्ष का Bank/RP/SP मौजूद है।
- Bank(A), Bank(B) को भेजे जाने वाले प्रेषण अनुरोध को RP(A) को भेजता है। RP(A) अनुरोध की वैधता की जांच करने के बाद उसे SP(A) को अग्रेषित करता है। SP(A) अनुरोध को संग्रहीत करने के बाद RP(A) को यह उत्तर देता है कि अनुरोध संसाधित हो गया है, और RP(B) को प्रेषण अनुरोध भेजता है।
- उत्तर प्राप्त करने के बाद RP(A), Bank A को यह प्रतिक्रिया भेजता है कि प्रेषण अनुरोध स्वीकार (ACK) हुआ या अस्वीकार (NAK)। SP(A) से अनुरोध प्राप्त करने वाला RP(B) संदेश को अस्थायी रूप से संग्रहीत करता है (अनुवादक टिप्पणी: संभवतः इसे किसी आंतरिक log data structure में
fsyncके साथ सहेजा जाता है), फिर संदेश को एक विशिष्ट संख्या (MON) आवंटित करके SP(B) को भेजता है। - SP(B), MON की वैधता की जांच करता है, authorization प्रक्रिया पूरी करता है, और फिर RP(B) को "Bank B को धन भेजो" संदेश भेजता है।
- RP(B), संदेश को Bank B तक पहुंचाता है। Bank B इसे प्राप्त कर संग्रहीत करता है, फिर वास्तव में धन का भुगतान करता है, और सफलता/असफलता (UAK/UNK) की जानकारी RP(B) को भेजता है।
- RP(B), प्रेषण परिणाम report बनाकर SP(B) को भेजता है। SP(B) इसे संग्रहीत करने के बाद उसकी एक प्रति SP(A) को भेजता है। SP(A) उसे फिर से संग्रहीत करता है।
हालांकि यह सिस्टम लगभग 1975 के आसपास बना था, इसमें आधुनिक event-driven microservice के लगभग सभी तत्व मौजूद हैं। SP, संदेशों के रूप में प्रेषण अनुरोध और परिणाम report को संग्रहीत करता है, और RP, SP का उपयोग करके Bank के अनुरोधों के लिए सेवा प्रदान करता है। RP केवल Bank से प्रेषण अनुरोध प्राप्त करने, या अपने जिम्मे वाले क्षेत्र में आए प्रेषण अनुरोध को उसी क्षेत्र के Bank तक पहुंचाने की भूमिका निभाता है। परिणामस्वरूप, प्रेषण से संबंधित सभी अनुरोध भेजने वाले पक्ष के SP और प्राप्त करने वाले पक्ष के SP में, अनुरोध और प्रसंस्करण परिणाम के रूप में एक-एक करके संग्रहीत होते हैं। Bank के दृष्टिकोण से, SP बिल्कुल दिखाई नहीं देता।
अभी कोई टिप्पणी नहीं है.