
Njia ya haraka zaidi ya kuzindua pochi ni namba moja katika safu moja: safu ya balance unayoiongeza pesa zinapoingia na kuipunguza zinapotoka. Inafanya kazi kwenye maonyesho. Inafanya kazi kwenye majaribio. Kisha, mahali fulani karibu na miamala elfu kumi ya kwanza halisi, mtu anaendesha ripoti, namba hazilingani, na hakuna anayeweza kusema pesa zilienda wapi. Thamani halisi inapohusika, hilo si hitilafu tu: ni mwisho wa uaminifu, na uaminifu ndio kitu pekee ambacho bidhaa ya kifedha inauza kweli.
Nidhamu inayozuia hili ina umri wa miaka mia sita. Uhasibu wa kuingiza mara mbili si urembo wa kihasibu uliobandikwa kwenye programu; ni muundo wa data unaofanya mfumo wa fedha uthibitishike. Ndiyo sababu kila leja ya kiwango cha ulipaji imejengwa juu yake, na ndiyo sababu leja ya pochi yako lazima ijengwe hivyo pia.
Kanuni isiyobadilika ambayo kila kitu kingine kinategemea
Katika leja ya kuingiza mara mbili, pesa haziundwi wala haziharibiwi: zinahama tu. Kila muamala huweka seti ya maingizo ambayo debiti na krediti zake zinajumlika kuwa sifuri kamili. Kuweka pesa kunadebiti akaunti ya float ya wakala na kukrediti pochi ya mteja kwa kiasi kilekile. Kutuma kunadebiti mtumaji, kunakrediti mpokeaji, na kunakrediti akaunti ya mapato kwa ada. Katika mfumo mzima, kila wakati:
Jumla ya debiti zote daima ni sawa na jumla ya krediti zote. Hesabu zinalingana kuwa sifuri. Daima.
Sifa hiyo moja inafanya kazi kubwa mno. Inamaanisha kwamba hakuna njia yoyote ya msimbo inayoweza kuunda au kuharibu thamani: salio linaweza kubadilika tu kama kioo cha salio jingine linalobadilika. Inamaanisha kwamba mkurugenzi wa fedha anaweza kusaini hesabu na mdhibiti anaweza kuziamini, kwa sababu mfumo ni sahihi kwa muundo wake, si kwa matumaini. Na inamaanisha kwamba usuluhishi unaacha kuwa uchunguzi wa kipelelezi na unakuwa sifa unayoweza kuithibitisha na kuijaribu.
Linganisha na mbinu ya salio moja. Huko, salio ni ukweli usio na chanzo. Likiwa si sahihi, huwezi kujua kama krediti ilitumika mara mbili, debiti ilipotea, au mashindano ya maombi yaliingiliana na maandishi mawili. Una namba, lakini huna historia. Leja ya kuingiza mara mbili, zaidi ya yote, ni mfumo unaohifadhi historia.
Akaunti, maingizo, na kwa nini pesa zinaundwa kama mwendo
Mabadiliko ya fikra ni kuacha kufikiria salio kama kitu unachohifadhi na kuanza kulifikiria kama kitu unachokipata kwa kukokotoa. Salio ni jumla ya maingizo yaliyowekwa kwenye akaunti. Pochi ni akaunti. Float za mawakala ni akaunti. Mapato ya ada, akaunti za muda, za ulipaji, fedha zisizodaiwa: zote ni akaunti. Kila mwendo wa thamani ni muamala wenye maingizo mawili au zaidi yanayojumlika kuwa sifuri.
Hili lina matokeo makubwa: leja ni ya kuongeza tu. Hubadilishi salio mahali pake; unaweka maingizo mapya. Historia haiandikwi upya kamwe. Hicho ndicho kinachofanya mfumo ukaguliwe: kila shilingi iliyowahi kuhama iliacha alama ya kudumu na iliyopangwa, na salio lolote katika wakati wowote uliopita linaweza kujengwa upya kwa kurudia maingizo hadi wakati huo.
Sehemu ambazo watu husahau, na hulipia baadaye
Kanuni isiyobadilika ni ya lazima lakini haitoshi. Sifa tatu hugeuza leja iliyo sahihi kwenye karatasi kuwa leja inayostahimili mitandao halisi na washambulizi halisi.
Kutorudiwa (idempotency)
Mitandao hukatika. Mteja anatuma ombi, jibu linapotea njiani, na mteja, kwa usahihi, anajaribu tena. Bila kinga, ombi la pili linaweka muamala wa pili na mteja anatozwa mara mbili. Suluhisho ni ufunguo wa kutorudiwa: kila operesheni ya kimantiki inabeba tokeni ya kipekee, leja inarekodi tokeni ambazo tayari imezitumia, na ombi lililorudiwa lenye tokeni inayojulikana linarudisha matokeo ya awali badala ya kuweka tena.
Inaonekana rahisi lakini ina ujanja. Ukaguzi na uandishi lazima viwe kitendo kimoja kisichogawanyika: majaribio mawili yakifika wakati mmoja, moja tu lazima lishinde na jingine lione matokeo, bila nafasi yoyote ambapo yote mawili yanaendelea. Ukikosea hapa, umejenga matumizi mara mbili chini ya mzigo, hasa hitilafu isiyoonekana kwenye majaribio na inayoonekana siku ya uzinduzi.
Ubatilishaji, si ufutaji
Mambo huharibika: mgogoro, kosa, dai la udanganyifu. Silika ni kufuta muamala husika. Usifute kamwe. Muamala uliofutwa ni tundu katika njia ya ukaguzi, na mdhibiti huona tundu kama kuficha jambo. Badala yake weka ubatilishaji: muamala mpya ambao maingizo yake ni kioo cha ule wa awali, huku wa awali ukibaki mzima. Athari halisi kwenye salio ni sifuri; historia inaonyesha kosa na marekebisho yake, pamoja na sababu na mhudumu aliyehusika. Injini moja ya ubatilishaji inayoweza kurudisha huduma yoyote (P2P, Lipa Bili, Nunua Bidhaa, pesa taslimu kwa wakala, float, akiba) ndiyo tofauti kati ya mfumo unaokaguliwa na ubishi.
Ukaguzi wa awali
Salio, mipaka na hali ya KYC huthibitishwa kabla muamala haujawekwa, ndani ya operesheni ileile isiyogawanyika inayouweka: kamwe si baadaye, na kamwe si ndani ya programu ambako vinaweza kukwepwa. Kikomo ambacho mteja hawezi kuvuka si kitufe kilichozimwa; ni sharti linalotekelezwa mahali pesa zingehama. Programu ni urahisi tu; leja ndiyo mamlaka. Kanuni yoyote yenye uzito lazima iishi mahali pesa zinapoishi.
Maombi ya wakati mmoja: mahali miundo sahihi inapokufa
Maombi mawili yanagonga pochi moja kwa wakati uleule: kutuma na kutoa pesa, kila moja halali peke yake, lakini kwa pamoja yanazidi salio. Utekelezaji wa kijinga unasoma salio katika yote mawili, unaliona linatosha katika yote mawili, na unaweka yote mawili, hivyo akaunti inaingia kwenye deni. Haya ndiyo mashindano ya kifedha ya kawaida, na hayaonekani mpaka uwe chini ya maombi halisi ya wakati mmoja.
Kinga ni kuifanya akaunti kuwa kipimo cha kupanga foleni: kuweka kwenye akaunti kunachukua kufuli au kunatumia uandishi wa masharti usiogawanyika, ili maombi mawili yapangwe, la pili lione athari ya la kwanza, na moja tu lifaulu. Sehemu ngumu ni kufanya hivi bila kupanga foleni leja nzima: kufunga kwa kila akaunti, si kwa jumla, ili mfumo ubaki wa haraka huku ukibaki sahihi. Hili ndilo aina ya tatizo linalotenganisha wahandisi waliowahi kujenga leja na wale wanaokaribia kujifunza kwa nini ni ngumu.
Usuluhishi unakuwa sifa, si zoezi la dharura
Katika mfumo wa salio moja, usuluhishi ni uchunguzi wa kila usiku: kutoa kila kitu, kulinganisha na njia za malipo, kuwinda tofauti, na kutumaini kuipata kabla ya asubuhi. Katika mfumo wa kuingiza mara mbili, usuluhishi kwa kiasi kikubwa ni ukweli unaojithibitisha: akaunti za ndani zinajumlika kuwa sifuri kwa muundo wake, na kazi iliyobaki ni kulinganisha ulipaji wa nje (kile benki, mtoa huduma wa pesa za simu na mchakataji wa kadi walichohamisha kweli) na akaunti za muda na za ulipaji ambazo leja tayari inazifuatilia. Tofauti zinajitokeza kama maingizo mahususi yasiyolingana yenye swali wazi, si kama namba iliyopotea isiyo na historia.
Mfano halisi: kutuma mara moja, kumewekwa
Fikiria mteja anayemtumia rafiki 1,000, kwa ada ya 25. Katika leja ya kuingiza mara mbili, kutuma huko kumoja ni muamala mmoja wenye maingizo matatu. Viwango ni vya mfano.
| Akaunti | Debiti | Krediti |
|---|---|---|
| Pochi ya mtumaji | 1,025 | |
| Pochi ya mpokeaji | 1,000 | |
| Mapato ya ada | 25 | |
| Jumla | 1,025 | 1,025 |
Debiti ni sawa na krediti, kwa hiyo muamala unajumlika kuwa sifuri. Kila swali unaloweza kuuliza kuuhusu lina jibu katika maingizo: mtumaji alilipa kiasi gani, mpokeaji alipokea kiasi gani, mtoa huduma alipata kiasi gani, na lini. Ikiwa kutuma huko kutabatilishwa baadaye, muamala wa kioo unaweka mistari ileile mitatu kinyume, na yote miwili inabaki katika historia.
Pesa taslimu kwa wakala, zimewekwa
Miamala ya mawakala inaonyesha kwa nini muundo huu unakua. Mteja anapoweka 2,000 taslimu kwa wakala, float ya kielektroniki ya wakala inahamia kwa mteja, na wakala anapata kamisheni. Kwa kamisheni ya mfano ya 20:
| Akaunti | Debiti | Krediti |
|---|---|---|
| Float ya wakala | 2,000 | |
| Pochi ya mteja | 2,000 | |
| Gharama ya kamisheni | 20 | |
| Kamisheni inayodaiwa na wakala | 20 | |
| Jumla | 2,020 | 2,020 |
Pesa taslimu zenyewe haziigusi leja kamwe, kwa sababu zilibadilisha mikono kimwili kaunta. Kile leja inachorekodi ni thamani ya kielektroniki inayohama kutoka kwa wakala kwenda kwa mteja, na wajibu wa kumlipa wakala kwa huduma. Kamisheni zinapolipwa, muamala mwingine uliosawazishwa unafuta deni hilo. Hakuna kinachokadiriwa, hakuna kinachohesabiwa baadaye kwenye lahajedwali.
Kubuni orodha ya akaunti
Akaunti unazounda huamua maswali ambayo leja inaweza kujibu. Jukwaa la pochi kwa kawaida linahitaji:
- Pochi za wateja, mawakala, wafanyabiashara na makampuni, akaunti moja kila moja;
- Akaunti za mapato ya ada zilizogawanywa kwa bidhaa, ili uone kila huduma inaingiza kiasi gani;
- Gharama ya kamisheni na kamisheni zinazodaiwa kwa mawakala na washirika;
- Akaunti za ulipaji kwa kila mshirika wa nje: kila benki, swichi, mtoza bili na njia ya malipo;
- Akaunti za muda kwa pesa ambazo mwisho wake bado haujathibitishwa, kama uhamisho unaosubiri jibu la mshirika;
- Kioo cha ulinzi wa fedha kinachofuatilia kinachopaswa kuwa kwenye akaunti ya amana, ili ulinganisho wa kila siku na taarifa ya benki uwe ukaguzi mmoja.
Jaribio lenye manufaa: ikiwa idara ya fedha inauliza swali na jibu linahitaji lahajedwali, huenda unakosa akaunti.
Kuijaribu leja ipasavyo
Majaribio ya kawaida ya vipande vya msimbo hayatoshi kwa mfumo ambao haupaswi kukosea kamwe. Majaribio yenye uzito hukagua sifa badala ya mifano:
- Kila muamala unajumlika kuwa sifuri, ukizalishwa katika maelfu ya aina za miamala na viwango vya nasibu.
- Kurudia ni sawa na hali: kujenga upya kila salio kutoka kwenye maingizo kunatoa hasa salio zilizohifadhiwa.
- Majaribio ya kurudia hayazalishi nakala: kutuma ombi lilelile mara nyingi, hata kwa wakati mmoja, kunaweka mara moja tu.
- Mashindano hayaingizi deni kamwe: kurusha debiti zinazoshindana kwenye akaunti moja hakuishushi chini ya kikomo chake.
- Ubatilishaji unarejesha: kubatilisha muamala wowote kunarudisha kila salio lililoathiriwa kwenye thamani yake ya awali.
Majaribio haya ni sehemu ya mchakato wa kutoa matoleo, na yanapaswa pia kuendeshwa kwenye data ya uzalishaji kwa hali ya kusoma tu, ili kanuni isiyobadilika ikaguliwe mfululizo kwenye hesabu halisi, si kwenye data ya majaribio pekee.
Kuhama kutoka mfumo wa salio moja
Timu nyingi hugundua kanuni hizi baada ya uzinduzi. Kuhama kunawezekana bila kusimamisha huduma:
- Kufungia muundo wa salio zilizopo na kuchukua picha yake katika muda wa kukata.
- Kuunda katika leja mpya miamala ya salio la kufungua inayoweka kila salio la picha dhidi ya akaunti ya mtaji au ya uhamisho.
- Kuendesha mifumo yote miwili sambamba kwa muda, kuweka kila muamala mpya katika yote miwili na kulinganisha salio kila siku.
- Kuchunguza kila tofauti mpaka uendeshaji sambamba uwe safi kwa siku kadhaa mfululizo.
- Kuhamisha usomaji kwenda leja mpya, kisha kuondoa safu ya zamani ya salio.
Uendeshaji sambamba kwa kawaida hufichua makosa ya kihistoria katika mfumo wa zamani. Tenga muda wa kuyatatua kwa uaminifu badala ya kulazimisha leja mpya ilingane na namba isiyo sahihi.
Faida yake
Jenga leja kwa njia hii na mfululizo wa mambo magumu unakuwa rahisi. Taarifa za akaunti ni hoja ya kuuliza juu ya maingizo. Ukaguzi ni kurudia. Migogoro ina kumbukumbu za maandishi. Njia mpya (kutuma kwa USSD, kutuma kwa programu, kutoza kupitia API) ni milango tofauti tu ya kuingia kwenye kiini kilekile kilichohakikishwa, kumaanisha kwamba haziwezi kupotoka kutoka kwa kila mmoja. Kanuni zinaishi mahali pamoja, zinatekelezwa mara moja, kwa kila mtu.
Ijenge kwa njia ya haraka na unarithi kinyume chake: namba usiyoweza kuieleza, usuluhishi usioweza kuuamini, na siku ya uzinduzi ambapo unagundua kwamba kitu cha bei nafuu zaidi kujenga pia kilikuwa ghali zaidi kumiliki.
Zaidi ya sarafu moja
Pochi zinazoshughulikia fedha za kutoka nje au malipo ya kikanda hukutana na kipimo cha pili: sarafu. Kanuni inabaki ileile, lakini inatumika kwa kila sarafu. Kila akaunti inashikilia sarafu moja, na kila muamala lazima ujumlike kuwa sifuri katika kila sarafu unayoigusa. Ubadilishaji kwa hiyo ni miguu miwili iliyosawazishwa inayounganishwa na akaunti ya kubadilisha fedha: shilingi za mteja zinahamia kwenye nafasi ya shilingi ya mtoa huduma, na dola zinahama kutoka nafasi ya dola ya mtoa huduma kwenda kwa mpokeaji. Akaunti za kubadilisha fedha zinaonyesha hatari ya sarafu ya mtoa huduma wakati wowote, ambacho ndicho hasa idara ya hazina inahitaji kudhibiti hatari. Kuchanganya sarafu katika akaunti moja, au kubadilisha papo hapo bila kurekodi miguu yote miwili, ndiyo njia ambayo leja za sarafu nyingi hupoteza pesa kimya kimya.
Taarifa, kufunga mwezi na ukaguzi
Kwa sababu salio zinapatikana kutoka kwenye maingizo, taarifa ni maingizo ya akaunti katika kipindi fulani tu, yenye salio la kufungua na la kufunga ambayo lazima yakubaliane na maingizo yaliyo katikati yake. Kufunga mwezi kunakuwa ukaguzi badala ya mradi: mizania ya majaribio inajumlika kuwa sifuri, ulinzi wa fedha unalingana na benki, akaunti za muda zimeelezwa, na jumla ya ada na kamisheni zinakubaliana na ripoti za bidhaa. Wakaguzi wanaweza kuchagua salio lolote na kulifuatilia hadi miamala binafsi, kila mmoja ukiwa na muda, njia, kumbukumbu na, mtu alipohusika, mhudumu. Ufuatiliaji huo ndio unaofanya ukaguzi wa kwanza uwe jambo la kawaida badala ya kutisha.
Akaunti za muda, zikishughulikiwa vizuri
Akaunti ya muda ni mahali pesa zinaposubiri wakati mwisho wake bado haujulikani: uhamisho kwenda mtandao mwingine unaosubiri uthibitisho, amana ambayo kumbukumbu yake hailingani na mteja yeyote, malipo ya mshirika yaliyofika bila maelezo. Ni muhimu kwa sababu inaweka hesabu sawa wakati swali bado liko wazi. Inakuwa hatari inapogeuka mahali ambapo pesa zinasahaulika. Utaratibu mzuri ni rahisi: kila kipengele kwenye akaunti ya muda kinabeba kumbukumbu yake na sababu ya kuwa pale, kila kipengele kina mmiliki na umri, salio linapitiwa kila siku, na chochote kilichozidi siku chache kinapandishwa ngazi. Salio la akaunti ya muda linaloongezeka tu ni ishara kwamba kitu fulani juu kimeharibika.
Maswali yanayoulizwa mara kwa mara
Je, kuingiza mara mbili ni polepole kuliko kusasisha salio?
Kuweka maingizo mawili au matatu badala ya sasisho moja kunaongeza gharama ndogo, na salio zinaweza kudumishwa pamoja na maingizo kwa usomaji wa haraka. Kazi halisi ya kasi iko katika kufunga kwa kila akaunti badala ya kwa jumla, jambo ambalo leja iliyobuniwa vizuri hufanya.
Je, bado tunahitaji wahasibu ikiwa leja ni ya kuingiza mara mbili?
Ndiyo. Leja inahakikisha uthabiti wa ndani; bado ni watu wanaoamua jinsi bidhaa zinavyohesabiwa, wanaochunguza tofauti za nje na wanaoripoti kwa wadhibiti. Kinachobadilika ni kwamba wanatumia muda wao kwa busara badala ya kutafuta namba zilizopotea.
Je, ingizo la leja linaweza kuhaririwa kamwe?
Hapana. Marekebisho ni miamala mipya, kwa kawaida ubatilishaji, yenye sababu na mhudumu vilivyorekodiwa. Leja inayoweza kuhaririwa haiwezi kukaguliwa.
PesaBridge inatekeleza kanuni hii isiyobadilika katika kiini. Programu, USSD na API ya wasanidi programu hazitekelezi upya mwendo wa pesa: zinawasilisha kanuni ambazo leja tayari inazihakikisha, kwa hiyo kila njia ni sahihi kwa sababu kiini ni sahihi.