PINAGMULAN NG PAGSASALIN
By: Ddev
Panimula
Ayon sa punching, ang Nigerian Interbank Settlement System - Ang NIBSS ay nag-highlight ng isang makabuluhang setback sa pagkamit ng kahusayan sa electronic na sistema ng pagbabayad tulad ng POS. Ang isyu na tinutukan ay naiwan sa pinahabang tagal ng transaksyon na tila magtatagal kahit itakda. Ang tagal ng pagtugon sa pag-apruba ng transaksyon ay dahil sa iba't ibang mga pag-configure ng backend ng mga partidong kasangkot sa mga Bangko at mga nag-aasikaso. Nagdudulot ito ng mga kawalan ng kahusayan sa dapat nitong bilis sa sistema ng pagbabayad. Gayunpaman ang POS na transaksyon ay saksi sa isang makabuluhang pag-unlad ngunit hindi napakalaking mula sa umpisa hanggang sa pagsasama dahil sa pagsasakripisyo ng bilis para sa seguridad (ibig sabihin, pagpili ng seguridad kaysa scalability) - isang malubhang problema na kumakain sa sektor ng pananalapi.
Ang tagapagsalita ng NIBSS, Shonubi, sa ulat ng Vanguard ay nagsiwalat na mayroong 41,461 mga kaso ng pandaraya na kung saan ang mga estatika sa pagitan ng panahon ng 2014 - 2017 ay tumindig sa NGN 12.3B. Karamihan sa walang humpay na pagkilos na ito ay maiuugnay sa ATM, Mobile trail at sa buong mga counter fraud. Hindi lamang ito nangyayari sa bahaging ito ng mundo kundi sa buong mundo. Ang isang halimbawa na naglalarawan ng eksklusibong pakikilahok ng Bangko Sentral ay nasa ulat ng Minneapolis.
Sa kaugnay na law insider Settlement Payment ay maaaring mangahulugan ng paglilipat, o kontraktwal na pagsasagawa (kasama ang transaksyon sa automated clearing house) upang magdulot ng paglilipat, ng cash o iba pang mga asset upang makaapekto sa Settlement.
Niyi Ajao, acting Manager, NIBSS, nagpatunay na:
“The total turn-around-time had been configured at 15 seconds in agreement with banks and processors. However, delayed responses from issuers after this timeout in recent times could cause authorised debits not to return to the terminal before the set TAT.” [Ang kabuuang turn-around-time ay na-configure sa 15 segundo bilang kasunduan sa mga bangko at mga nagpoproseso. Gayunpaman, ang mga naantala na mga tugon mula sa mga nagbigay pagkatapos ng oras na ito sa mga huling panahon ay maaaring maging sanhi ng mga awtorisadong debit na hindi bumalik sa terminal bago ang set ng TAT.]
Ipinaliwanag ni Ajao na ang timeout ay ang kabuuang turn-around-time para sa isang cycle ng transaksyon ng POS mula sa oras na ito ay nakatanggal mula sa isang POS hanggang sa oras na ang isang tugon ay naipadala pabalik sa terminal.
Ang ilan sa mga remedyong hakbang na ginawa noong Marso, sinabi niya, kasama ang pagsasaayos ng timeout na 20 segundo mula sa 15 segundo sa Marso 14, 2019 at ang pagsasaayos ng timeout sa 45 segundo mula 20 segundo sa Marso 19, 2019.
Sinabi niya na ang proseso ay patuloy na hindi magpapapayag sa sinumang issuer na may delay nabtugon na lampas sa 45 segundo na may agarang epekto upang ibukod ang naturang bangko
Solusyon
Ang drawback sa Settlement payment ay labis na nanatili kahit sa pagdating ng sopistikadong teknolohiya na magbabayad para sa nawala na halaga at oras. Ngunit maraming mga guru sa pinansyal na nasa posisyon na makakabisa sa mga panukala sa pagpapa-unlad ay tila nadadalian na nagtatrabaho sa mga dating pamamaraan. Ang paglalagay ng mga bagong teknolohiya ay nasa uppermost low speed. Bagaman, maraming mga kadahilanan ang maaaring maging responsable para sa hindi pagtanggap ng mga bagong new-fashioned financial paradigm, ngunit darating ang araw, maaaring magising tayo upang makita kung hanggang saan tayo naiwan ng mundo. Pagkatapos, ang paghahabol dito ay maaaring mangailangan ng paglipat ng mas mabilis kaysa sa Peregrine Falcon.
Ang teknolohiya ng blockchain ay nagtatanghal ng maraming mga pagkakataon para sa pagbabago ng paraan ng mga bagay na gumagana na kung saan ay ang Decentralized financing (DeFi). Ang teknolohiya ay bilang ligtas, mabilis at hindi nababagong mga kakayahan. Nakikitaan ito ng napakalaking paglaki at kaunlaran bilang mga negosyo at multipurpose na negosyo, indibidwal at pamahalaan na nag-iiba.
Ang isang halimbawa ng teknolohiyang Blockchain ay ang Algorand na nag-aalok ng isang malawak na hanay ng mga solusyon/use case upang maibsan at/o malutas ang mga hamon sa pananalapi. Suriin natin ang isa sa mga use case.
Algorand Standard Asset: Central Bank Digital Currency (CBDC)
Sinabi sa bis.org, ang Bangko Sentral ay nagkaroon ng interes sa mga sistema ng pagbabayad dahil sa mga makabuluhang papel na ginagampanan ng isang mahusay na sistema ng pagbabayad na may paggalang sa:
Kakayahang pang-ekonomiya
Katatagan ng pananalapi
Paghahatid ng patakaran sa pananalapi; at
Pagpapatupad ng patakaran ng fiscal
Ang Algorand Standard Asset ay nagpapatakbo sa Layer1 ng protocol kaya nagmamana ang bawat function na karaniwang may access sa ALGO (native asset ng Algorand).
Ang isang Bangko Sentral ay maaaring mag-isyu ng isang digital currency mula sa** ASA** na gumaganap ng iba o mga (mga) layunin upang malutas ang isang pares ng mga namumungkalang hamon na kinakaharap ng Settlement Payment sa mga leaf bank. Ang pag-collaterize ng mga asset bilang mga instrumento sa pagpapautang ay maaaring maging mahusay na isinasaalang-alang.
Paano malulutas ng CBDC ang mga kilalang problema?
Ang paggunita ng punching, mula sa pagdaragdag sa talumpati na ginawa ni Shonubi, CEO/Presidente MAXUT - Mike Odusami, inilarawan pagkatapos ang solusyon:
“Our solution as a technology company is really about fraud prevention and making sure that this is the person the bank authorises because most of the transactions are not physical, they are done through electronic channels." [Ang aming solusyon bilang isang kumpanya ng teknolohiya ay talagang tungkol sa pag-iwas sa pandaraya at tiyakin na ito ang taong pinapahintulutan ng bangko dahil ang karamihan sa mga transaksyon ay hindi pisikal, ginagawa ito sa pamamagitan ng mga elektronikong channel.]
“And also in the background, we are monitoring everything that is going on in the system, that is fraud monitoring and we have helped a lot of banks and financial institutions to do that,” [At sa nakaraan din, sinusubaybayan namin ang lahat ng nangyayari sa sistema, iyon ang pagsubaybay sa pandaraya at marami kaming natulungan na mga bangko at institusyong pampinansyal na gawin iyon,] aniya.
Ang pag-iwas o pagkontrol sa mga panloloko ay dapat na ipagsapalaran mula sa mga katutubo gamit ang wastong diskarte (ies). Sa mundo ngayon, ang ilan ay nakikita ang mukha ng isang magnanakaw kung saan ang mga bagong kompas sa bypass na teknolohiya ay patuloy na lumilitaw. Ang mga kawatan ay napakahusay na alam kung gaano karaming mga baril at makina ang nasa armory para sa kanilang pagtakas. Ang blockchain ay maaaring maging epektibo sa pag-lock ng mga masasamang aktor kaysa sa pagpili ng mga baril at simulan ang paghabol sa kanila.
Ang pandaraya sa pananalapi ay isang kalakaran sa arena ng Inter-bank Settlement na tseke na may kakayahang magamit ang CBDC. Pinagpapalakas ng layer ng Algorand Standard Asset ang mga asset na may pasadyang mga pagpipilian sa nakabatay sa tungkulin na tulad ng pagbawi ng isang asset mula sa isang target na account na naka-tag bilang mapanlinlang.
Ang tagal ng pagkumpirma ng transaksyon o block finality ay nasa bandang 5 segundo na napakabilis na nakakahawak ng anumang bilang ng transaksyon kasama ang kakayahang mag-scale sa gitna ng lumalagong dami ng transaksyon. Ito ay walang pagbabago at ang hybrid na protocol ay maaaring mapaunlakan ang parehong sentralisado at desentralisado na ekonomiya. Marahil, hindi isang pagmamalabis para sa isa na makapagpalagay na ang Algorand protocol ay may mga potensyal na hadlangan ang mga hindi epektibo sa electronik na sistema ng pagbabayad. Sa tuktok ng bangko, ang mga leaf bank ay maisasaayos upang mapatakbo sa isang solong o katugmang closet upang makamit ang isang pantay na bilis ng transaksyon.
Para sa patunay, nagsulat ako ng ilang mga code upang ipakita sa buod kung bakit ang Algorand ay maaaring maging pinakamahusay na pagpipilian ng ruta.
Tandaan: Ang seksyong ito ay naglalaman ng isang tutoryal upang matulungan kang maunawaan kung ano ang isang transaksyon at ang siklo ng buhay ng isang asset/token sa Algorand Blockchain. Ang mga madalas na mambabasa ay maaaring dumadaloy ngunit pinakamahusay na kung ikaw ay isang developer, marahil developer ng Python.
Mga nilalaman
Pag-set up ng isang end-point sa pamamagitan ng serbisyo ng third party na API.
Pakikipag-ugnay sa blockchain.
Paglikha ng isang Multi Signature account.
Pag-sign ng isang transaksyon.
Paglikha ng isang asset gamit ang isang multi signature na account.
Pag-apruba ng isang transaksyon gamit ang mga multi signature.
Pag-customize ng Asset/Token
Mga tool/kinakailangan
Isang API connection token - makakakuha ka ng isa mula sa Purestake. Paggamit sa Algorand Testnet.
Algorand Python Software development kit - SDK - Mga mapagkukunan ng mga developer ng Algorand
Aplikasyon ng Python - python
Isang IDE (code editor). Gagamit ako ng pycharm para sa tutoryal na ito.
Paglikha ng isang Central Bank Digital Currency
Ipinakilala ng seksyong ito sa iyo ang pag-set up ng mga kinakailangan para sa mapagana isang asset at mapatakbo sa ekosistema ng Algorand. Ang pagiging isang sub-asset ng CBDC, tawagin natin itong Inter-bank Settlement Asset - ISA
Ang ilang mga bagay na dapat tandaan
Kailangan natin ng isang address ng account upang lumikha ng isang asset. Ngunit mas mainam ang paggamit ng isang Multi signature account para sa hangaring ito.
Ang benepisyo ng paggamit ng isang multi-account na account ay upang tukuyin ang kapangyarihan ng pahintulot upang maiwasan ang mga walang prinsipyong mga pagkilos na naiugnay sa isang solong entity.
Ang ISA bilang isang matatag na asset ay magkakaroon ng apat na na pasadyang mga tungkulin na nahihiwalay mula sa tagalikha ng account.
- Manager account - isang multi signature account na may kapangyarihan upang ilipat, i-update o sirain ang isang asset. (Sa kasong ito, ISA)
- I-freeze ang account - isang multi-signature account na pinahihintulutan na mag-freeze at magbukas ng account na may hawak ng ISA.
- Clawback account - isang multi signature account na lisensyado upang mabawi ang asset mula sa isang target account na may hawak ng ISA
- Reserve account - Puwede kahit anong oras na i-mint out ang ISA sa kabuuang balanse ng asset sa sirkulasyon na ibinigay ng lahat ng 3 awtorisadong account na aprubahan ang transaksyon
- Wasakin ang Asset: Maaari lamang masira ang ISA kung ang 3 account na itinuturing itong akma.
Ang mga Leaf bank ay dapat magpasiya na gamitin ang ISA sa pamamagitan ng pagpili nito, kung natugunan ang ilang mga kundisyon.
Ang pag-set up ng isang koneksyon ay napakadali at ang unang hakbang matapos maging handa ang iyong IDE. Tinatampok ng Fig.1.0 ang connection.py file.
Ang Algo_address ay ang URL para sa Algorand Testnet. Dapat mo itong makuha sa sandaling nag-sign up ka sa Purestake at naka-log in sa iyong dashboard. Tulad ng Algo_token
Ang Token ay pribado sa iyo at kailangan mo ito upang makakuha ng access sa network. Tingnan ang iyong dashboard.
Ngayon ay may access na tayo sa network. Kailangan natin ng isang account upang makipag-ugnay sa blockchain. Upang lumikha ng isang CBDC-ISA, tulad ng tinukoy sa nilalaman sa itaas, hinihiling nito na gumamit kami ng multi signature na account upang magbigay ng mga karapatan at kapangyarihang pang-administratibo sa 3 magkakaibang mga account na kabilang sa sinumang sa ating pinagsama-samang sumang-ayon na maging sa pangkat ng tagagawa ng desisyon . Kaya, magtatalaga tayo ng 3 mga account para sa hangaring ito. Ang ikaapat na account ay itinalaga sa pagsasagawa ng transaksyon na nagsisimula sa una at maliit na mga transaksyon. Makakakuha ka ng isang Mnemonic Phrase na naglalaman ng 25 salita habang lumikha ka ng isang account gamit ang alinman sa wallet interface or hangaring command. Sa ibang paraan, makakakuha ka ng isang account gamit ang goal-less command mula sa python SDK: "function.generate_account()" na nagsasauli ng dalawang value: a) isang pribadong key at b) pampublikong key.
Mula sa mga Mnemonic, i-extract ang pribado at pampublikong mga key
Ang Accounts_sk ay isang listahan ng mga secret key na nakuha mula sa mga Mnemonic. Ito ay para sa layunin ng demonstrasyon lamang.
Upang makakuha ng isang multi signature na account, pagsasama-samahin natin ang 3 ng mga pampublikong key, na resulta kung saan nagbibigay ng isang pampublikong address, naka-embed sa loon, ay isang hash ng tatlo. Gumawa ako ng isang function na tinatawag na jointAuthorization(). Tunutukoy ng Required_jointThreshold ang bilang ng mga address na nais nating isama sa approval na pangkat. Kapag ito ay tapos na, ang tinaguriang mga secret token ng account ay dapat ibigay upang mabuo ang anumang transaksyon mula sa naunang nilikha na multi signature na account.
Inirerehistro ng Linya 73 ang MultiSig account at isiniwalat natin ang address sa linya 75. Pansinin na nagbalik tayo ng dalawang mga halaga, nakarehistro lamang tayo ng isang joint account. Naaalala ito ng network tuwing babalik tayo upang gumawa ng isang pag-apruba, hahanapin nito ang rehistro, mahahanap ito at inaasahan na masusuplayan tayo ng 3 mga pagkumpirma upang maisagawa agad ang ating transaksyon.
Ang JoinAuthorization() ay nagrerehistro lamang ng isang joint account habang kailangan natin ng apat na magkakaibang mga MultiSig account para sa apat na magkakaibang mga papel sa linya ng Pigura 1.2 linya 51 sa itaas. Ang GenrateAuthorizationAccount() ay nagsasagawa ng jointAuthorization() tatlong beses at nagtatalaga ng resulta ng bawat iteration sa bawat papel sa listahan ng asset_roles.
Tandaan: ang logging ay isang python built-in module na hinahayaan tayong mag-channel ng mga output sa isang nais na file sa halip na tingnan mula sa terminal. Naghahain ito ng iba't ibang mga layunin tulad ng para sa pag-debug at pagsubaybay. Ang paggamit nito ay ginagawang mas madali ang gawain.
Ang linya 104 ay tumatakbo sa parehong JoinAuthorization() at generateAuthorizationAccounts() pagkatapos ay ililista natin ang mga joint address sa kanilang mga papel.
Ang Pigura 2.1 ay isang predefined function function na nakalagay sa isang getAssetId.py file upang makakuha ng ID ng asset sa sandaling ito ay nilikha. Bagaman mayroong iba pang mga paraan upang makuha ito ngunit mas nadadalian akong gamitin ang pamamaraang ito.
Ipinapakita ng Pigura 2.2 ang pangunahing file kung saan isinasagawa natin ang lahat ng mga module na konektado sa ating programa. Tinukoy ng linya 16 ang function na nagdadala ng Interbank Settlement Asset - ISA sa buhay.
Magkakaroon ng kabuuang 70,000,000 ISA sa lifetime ng asset.
Ang pangalan ng yunit ay ISA
Ang pangalan ng aset ay CBDC-Asset-1 maiuugnay na ito ay isa sa lahat ng mga asset na konektado sa Central Bank Digital Currencies.
Ang manager account ay nakatakda sa pinagsamang pag-apruba ng account i.e ang MultiSig account. Pareho bilang Freeze, Reserve, at mga Clawback account.
- Ang Strict_empty_address_check ay malinaw na itinakda sa True. Bilang default, ito ay True. Sa kasalukuyan, walang aksidenteng pag-alis ng isang papel na administratibo o isang biglaang pagsira ng isang asset. Kaya makatitiyak tayo na ang asset ay ligtas mula sa antas ng protocol maliban kung malinaw na ipinahayag kung hindi man.
Tandaan na nagrehistro tayo ng isang multi signature object sa ledger sa linya 73 Pigura 1.3, ngayon gagamitin natin ito upang magsumite ng isang transaksyon sa pag-apruba sa linya 39 Pigura 2.3. Ang mga linya ng 44 hanggang 46 ay naglalagay ng mga signature upang gumana, kuhanin ang tatlong signature at pagsamahin ang mga ito kasama ang uri ng transaksyon na nais nating ipatupad. Isumite ito ng linya 50 sa network, nagbabalik ng isang resibo o pagkilala na nagpapakita na mayroon tayong isang transaksyon na naghihintay ng pag-apruba. Kung ang transaksyon ay may bisa, inaprubahan ng iba pa, ito ay tatanggihan. Ito ang tinawag kong isang unfeigned government in codes. Walang sinuman ang makakapag-suhol upang masubukang mamanipula ang mga signatures or signatories. Maaring i-input mo kung ano ang iyong nirehistro at kumuha ng isang ipinahayag na resulta o pekein ito at magkakamali ka sa lahat.
Bilang tuktok ng bangko, nais natin mag-opt in ang mga leaf bank para sa ISA. Hindi isang sitwasyon kung saan ang mga banker ay nagpapatakbo sa iba't ibang mga asset/closet ngunit ang pagnanais para sa pagkakapareho ay malinaw na mag-udyok ng kahusayan sa pagbabayad ng settlement. Kinukuha ng ating database ang bawat pribado, komersyal, mortgage o iba pang mga bangko na nagpapatakbo sa ilalim ng mga alituntunin ng Central Bank kaya't kinikilala lamang ang mga miyembro ng bangko na maaaring pumili para dito.
Sinusuri ng pagtatawag sa resolve() function: kung ang tumatawag ay isang leaf bank, kung may hawak ng ISA, kung totoo, ito'y magpi-pring ng isang mensahe na nagpapakita na ang tumatawag ay naka-subscribe na para dito at ipinapasok sila sa kung ang kundisyon ay humantong sa false. Titiyakin natin na ito ay matatawah kung ang tumatawag ay lumikha ng isang account o mayroon ng account sa ating listahan ng self.member.
Ang GenerateBankerAddress() ay gumagawa ng isang account, nagko-convert ng pribadong key sa isang Mnemonic at ibabalik ang Mnemonic kasama ang pampublikong address sa tumatawag.
Bilang tuktok na bangko, nagtakda tayo ng isang pamantayan para sa mga leaf bank upang hawakan ang alinman sa mga Digital Currency ng Bangko Sentral. Sa pag-isyu ng clearance, dapat itong malutas at ang ISA ay naidagdag sa kanilang mga hawak. Pinangangasiwaan ng CanResolve() ang seksyong ito para sa atin.
Mayroong limang operasyon na maaari nating maisagawa sa asset na ito:
I-update ang asset.
I-unlock mula sa reserba
I-freeze ang asset.
Bawiin ang asset.
Sirain ang asset.
Tatalakayin ko ang isa sa kanila.
Pagbawi sa isang Asset
Pigura 4.2
clawback.py
Ang pagbawi ng isang asset mula sa isang target na account ay may katulad na mga patlang at mga parameter ng transaksyon bilang ang paglikha ng isang asset maliban na ang transaksyon ay dapat simulan mula sa isang account na itinakda natin bilang Clawback account sa oras ng pagrehistro ng asset sa blockchain. Sa ating halimbawa, ang nagpadala bilang asset_revocation_authorized na kung saan ay isang joint signatory account, ang tatanggap ay nakatakda sa account na lumikha ng ISA, at ang revocation_target ay ang account na nais nating bawian ng asset. Sa madaling sabi, ang senaryo ay nagpapakita ang admin ay nagsasakatuparan ng kanyang kapangyarihan sa pamamagitan ng pagbabawas ng halaga mula sa isang account na idinagdag sa isa pang account.
Ngayon ay magbibigay tayo ng signatories upang mapatunayan ang transaksyon.
Matapos matagumpay ang transaksyon, sinusuri natin ang mga account ng parehong partido para sa kasalukuyang mga balanse.
Matagumpay, ang ISA ay nilikha sa Algorand testnet at mahahanap sa blockchain na may ID: 10684835. Upang matignan ito, kopyahin ang asset ID, sa tuktok na kanang sulok ng pahina ng Algoexplorer, lumipat mula mainnet sa testnet, at pagkatapos ay i-paste sa search column.
Draft.log (mga detalye ng transaksyon)
Mayroon tayong isang leaf Bank - GTB na may reference number na "GT-13004" na napili para sa Inter-bank Settlement Asset. Ang buong code ay magagamit sa github.
Sa pagpunta sa pamamagitan ng demonstrasyong ito, patakbuhin ang code upang maipakita ang bilis at mode kung saan natapos ang mga transaksyon sa Algorand Blockchain. Maraming pananaliksik ang maaaring gawin upang matuklasan ang karagdagang mga kapana-panabik na mga use case ng mga solusyon sa Algorand. Maaari tayomg magkaroon ng desentralisadong pinansiyal na nagsasagawa sa isang sentralisadong kapaligiran upang mai-reset ang mga kawalan ng balanae sa pananalapi at pang-ekonomiya tulad ng pagkontrol: pandaraya, laundering at iba pa at pagkamit ng kahusayan sa sistema ng elektronik na pagbabayad.
Mga mapagkukunan