Nodi za RPC (Utaratibu wa Mbali) ni sehemu muhimu za miundombinu ya blockchain. Wanashughulikia mawasiliano kati ya leja isiyoweza kubadilika iliyogatuliwa na programu za mbele. Miundombinu hii ya kati hufanya kama mjumbe kuwezesha maombi na majibu kati ya nodi na huduma zilizojengwa kwenye blockchain.
Nodi za RPC ni kama Huduma ya Posta ya Marekani (USPS), ambayo huwezesha uhamishaji wa taarifa kutoka kwa dApp hadi kwa blockchain na nyuma. Kama vile unavyotegemea huduma ya posta kupata barua zako kutoka sehemu moja hadi nyingine, dApps hutegemea nodi za RPC kufikia blockchain. Na bila nodi hizi, programu zilizogatuliwa zitajitahidi kufanya kazi.
Nodi za RPC zimebadilika kwa kiasi kikubwa zaidi ya miaka 10 iliyopita, lakini uwekaji kati wa miundombinu umeleta hatari iliyofichika. Makala haya yanalenga kuchunguza dhima ya nodi za RPC, hatari ya kuwekwa kati, na njia mbadala zinazoweza kulinda dApps zako dhidi ya athari.
Wazo la simu za utaratibu wa mbali lilianza miaka ya 1970 wakati wanasayansi wa kompyuta walitafuta njia za kuwasiliana kati ya mashine tofauti ili kufanya kompyuta zilizosambazwa kuwa wazi kwa watengenezaji.
Katika miaka ya 1980, RPC ya kwanza ilitengenezwa na Sun Microsystem inayoitwa Network File System. Sun Microsystem ilitengeneza itifaki ya Open Network Computing RPC, na hii imekuwa kiwango cha mawasiliano kati ya programu tofauti kwenye mtandao.
Hata hivyo, mwanzoni mwa miaka ya 1990, Microsoft ilitengeneza na kutekeleza toleo lake la RPC ili kuwezesha mawasiliano kati ya michakato kwenye mifumo inayotegemea Windows. Mapema miaka ya 2000, JSON RPC, ambayo hutumia JSON kwa usimbaji data, ilianzishwa. Ikawa maarufu miongoni mwa watengenezaji na watengeneza programu kwa sababu ya urahisi wa kuhamisha data sanifu.
Katika muongo mmoja uliopita, dApps zimekuwa sehemu muhimu ya tasnia ya blockchain na RPC imekuwa miundombinu bora inayohitajika kukamilisha maze.
Kwa nini?
Kwa sababu ya faida, RPC ilianza kutumiwa haraka sana. RPC ilipendekezwa kuwezesha programu zilizoandikwa katika lugha tofauti kuunganishwa na kuwasiliana. Wazo la msingi nyuma ya RPC ni kupiga simu ya utendakazi ya mbali kwenye kompyuta au seva nyingine kana kwamba ni simu ya kazi ya ndani.
Kwa miaka mingi, kumekuwa na aina tatu kuu za RPCs (Iliyowekwa Kati, Iliyowekwa Madaraka, na Mwenyeji Mwenyewe) na kila moja ni ya kipekee kwa njia yake.
Nodi za RPC za kati ni nodi zinazodhibitiwa na kudhibitiwa na chombo kimoja. Nodi hizi za kati zina miundo inayofanana na huduma za upangishaji wa mtandao wa web2 kama vile AWS (Huduma za Wavuti za Amazon), Microsoft Azure, na Itifaki ya Wingu la Google (GCP).
Ingawa watoa huduma hawa wa kati wa web3 RPC hudumisha miundombinu ya nodi kwa programu zilizogatuliwa, uchunguzi wa kina katika mfumo ulifichua jinsi walivyo katikati. Watoa huduma hawa wa miundombinu ya web3 kwa kinadharia pia wanategemea miundombinu ya seva ya web2 cloud hosting ili kudumisha huduma zao.
Kwa hivyo, watoa huduma hawa wa wingu wanapokumbana na kukatika, huduma za web3, ambazo zinakusudiwa kugatuliwa, pia hupata wakati wa kupungua. Hapa kuna mifano ya nodi za RPC za kati: Alchemy, Infura, Quicknode, nk.
Wacha tuangalie hatari zinazoletwa na nodi za RPC za kati kwa miundombinu ya web3.
Hoja Moja ya Kushindwa: Kuwa na nukta moja ya kutofaulu kila wakati huathiri kutegemewa kwa mfumo. Seva moja au mtandao wa seva zinazodhibitiwa na huluki moja italeta hoja muhimu ambayo inaweza kusababisha kushindwa kwa dApp yako.
Ikiwa seva data inapitishwa kupitia inashindwa, kiungo kati ya blockchain na dApp kinavunjika na mfumo unashindwa. Hatua moja ya kutofaulu itaathiri kutegemewa kwa mfumo hasa katika programu zinazohusiana na fedha kama vile mifumo ya DeFi.
Suala la Kuongezeka : Nodi za RPC zilizowekwa kati zinaweza kuwa vikwazo wakati wa msongamano mkubwa wa magari na hii itapunguza uimara wa dApp. Wakati mtandao una msongamano kwa sababu ya kutegemea nodi moja, huathiri ufanisi wa dApps na huongeza muda wa kusubiri, ambao huathiri watumiaji.
Kwa sababu ni mfumo wa kati, kuongeza scalability ya dApp haiwezekani.
Hatari ya Usalama na Hatari: Sehemu kuu au iliyojitolea iko wazi kwa mazingira magumu na inaweza kuwa lengo rahisi kwa watu wasio waaminifu. Data inaweza kufichuliwa na kubadilishwa, na hatimaye kuathiri ufanyaji maamuzi katika dApps.
Zaidi ya hayo, shambulio lililoratibiwa kwa mtoa huduma pia linaweza kutekelezwa kwa urahisi, hatimaye kuwafichua watumiaji wa Dapp. Huluki moja inaweza kulazimishwa na mashirika ya serikali kuzima ombi.
Hapa kuna mfano:
Mnamo 2022, MetaMask ilidaiwa kuwazuia watumiaji wenye anwani za IP za Venezuela na Irani kufanya miamala kwenye blockchain.
Hili liliwezekana kwa sababu ya RPC ya kati (Infura) inayotumiwa na mkoba wa web3.
RPC ya kati inaweza kuonekana kama wako salama lakini sivyo. Bado, kwa mashaka juu ya hili, hebu tuangalie baadhi ya masomo ya kesi kuhusu kushindwa hapo awali kwa RPC za kati.
Infura ni mojawapo ya watoa huduma wa kwanza wa blockchain Backend kama Huduma (IaaS) katika web3, iliyoletwa kwako kwa makubaliano. Miundombinu inadaiwa kupatikana kwa muda wa 99.9% na inapatikana kwa EVM 16 za blockchain.
Hadi 2020, Infura imekuwa ikichukuliwa kuwa shujaa, kama moja ya mipaka ya maendeleo ya dApp na inayoongoza kupitishwa kwa wingi kwa crypto/blockchain.
Mnamo tarehe 11 Novemba 2020, Infura ilipata kukatizwa kwa huduma kutokana na hitilafu iliyoathiri toleo la GEth linaloendeshwa na Infura.
Suala kuu hapa ni kwamba mfumo wa Infura ulikuwa chini na watumiaji wote wa miundombinu ya Infura hawakuweza kuunganishwa kwenye blockchain. Seva zilitatizwa kwa sababu ya hitilafu, na hatari ya kuwekwa kati nyuma ya mtandao uliogatuliwa ilifichuliwa.
Metamask, pochi kubwa zaidi ya Ethereum inayowakabili watumiaji na mamilioni ya watumiaji wanaofanya kazi ilikatizwa. Yote kwa sababu wanategemea Infura, mtoa huduma mkuu wa RPC.
Wakati wa uboreshaji wa mtandao/hardforks, kwa kawaida kuna wasiwasi kuhusu hitilafu za huduma hasa kuhusu dAapps zinazotegemea watoa huduma wa miundo msingi. Hofu hizi ni pamoja na:
Hatua moja ya kushindwa, ambayo inaweza kuharibu shughuli na kusababisha kupungua.
Hapa kuna mifano ya zamani:
Wakati wa hardfork ya Ethereum Istanbul mnamo 2019 , watoa huduma wengi wa kati wa RPC walipata wakati wa kupumzika. Baadhi ya nyakati hizi za kupungua ni kama matokeo ya mtandao kupitia uboreshaji. Programu za DeFi haziwezi kuchakata miamala, hivyo kuwaacha watumiaji katika utata.
Wakati wa Uboreshaji wa Polygon Heimdall , watoa huduma wa RPC walikabiliana na matatizo ya muunganisho na hawakusawazishwa na mtandao wa blockchain. Watumiaji hawakuweza kufikia DeFi dApps kwa saa kadhaa, kwa hivyo, miamala ilicheleweshwa au imeshindwa.
Solana alikumbwa na hitilafu nyingi mwaka wa 2021. Mojawapo ya hitilafu hizo mbaya husababishwa na upakiaji mwingi wa huduma za RPC kuu wakati wa vipindi vya kilele. Kadiri nodi za umma zilivyozidiwa, watumiaji hawakuweza kuingiliana na Solana Blockchain kwa saa kadhaa na mtandao ulikabiliwa na kusitishwa kwa huduma kamili kwa saa nyingi.
Kesi hizi za mikono ya uso na zingine nyingi zinaonyesha umuhimu wa watoa huduma wa RPC kwa matumizi ya blockchain. Ingawa watoa huduma wa kati bado wanatumiwa na dApps nyingi (labda kwa kutojua au kutokuwa na mawazo), kwa miaka mingi kumekuwa na njia mbadala.
Katika sehemu zinazofuata, tutakuelekeza kupitia njia zingine mbadala na jinsi zimekuwa chaguo bora kwa maendeleo ya blockchain.
Kama jina lake linavyodokeza, nodi za RPC zinazojipangisha mwenyewe ni nodi unazopangisha au kudhibiti kwenye vifaa vyako au miundombinu ya wingu. Badala ya kutegemea watoa huduma wengine wa RPC, unaweza kupangisha nodi zako za RPC. Unapata ufikiaji wa moja kwa moja kwenye mtandao wa blockchain, thibitisha miamala, uliza data ya blockchain moja kwa moja, na kuingiliana na dApps.
Faida za Nodi za RPC zinazojiendesha ni pamoja na:
Ingawa nodi zinazojiendesha zinaonekana kuwa za kutegemewa zaidi kuliko njia mbadala za kati, zina hasara zao. Na hawa hapa:
Mahitaji ya Juu ya Rasilimali . Kukaribisha nodi ya RPC kunahitaji nafasi kubwa ya diski kuhifadhi historia ya blockchain. Hifadhi, kipimo data, na nguvu ya usindikaji inayohitajika kuendesha nodi za RPC inaweza kuwa nyingi sana.
Zaidi ya hayo, unahitaji maingiliano ya mara kwa mara na blockchain, na hii inaweza kutumia kiasi kikubwa cha bandwidth ambayo inaweza kuwa kubwa. Nguvu ya uchakataji inayohitajika pia inaweza kuwa nyingi sana, haswa wakati wa kuchakata maelezo wakati wa hali ya juu ya trafiki.
Ghali Kusimamia : kusanidi nodi za kujipangisha inaonekana kuwa chaguo bora, lakini sivyo. Gharama ya vifaa, gharama ya uendeshaji, na gharama ya fursa inaweza kuwa kubwa sana.
Gharama za uendeshaji kama vile umeme, kipimo data cha intaneti, na ada za huduma ya wingu (ikiwa unatumia miundombinu ya wingu) zinaweza kuwa nyingi sana. Ili kuendesha nodi yenye mafanikio, unahitaji timu iliyojitolea ya wataalam kuwa katika hali ya kusubiri ili kurekebisha tatizo lolote au unaweza kuhatarisha kukatika kwa saa kadhaa.
Uwezo Mdogo na Hakuna Usaidizi kwa Multichain : Tofauti na watoa huduma wengine wenye miundo ya kushughulikia tatizo hili, ili kuingiliana na minyororo mingi ya kuzuia, unahitaji kupangisha nodi kwa kila blockchain ambayo inaweza kutumia rasilimali nyingi na isiyo endelevu.
Nodi za kujisimamia hutoa uhuru, udhibiti mkubwa wa mwingiliano wa blockchain, na faragha. Zinahitaji rasilimali muhimu, utaalam wa teknolojia, na matengenezo, ambayo inaweza kuwa haiwezekani kwa timu kali zaidi ya maendeleo ya blockchain inayopatikana.
RPC zilizogatuliwa ni seva za blockchain ambazo huruhusu dApps kuwasiliana na blockchain kwa njia ya ugatuzi. Watoa huduma wa RPC waliogatuliwa husambaza miundombinu yao katika maeneo mengi. Hii inapunguza nukta moja ya kushindwa, huongeza uthabiti na kasi ya mtandao, na inapunguza muda wa kusubiri.
Manufaa ya nodi za RPC Iliyogatuliwa juu ya zingine ni pamoja na
Changamoto ni pamoja na:
Mifano ya nodi za RPC zilizogatuliwa ni pamoja na:
dRPC, mtandao wa Pocket, na Ankr
Kwa uteuzi wa watoa huduma wa nodi za RPC zilizogatuliwa kama vile dRPC, unaweza kuepuka hatari za uwekaji kati. Watoa huduma wa RPC waliogatuliwa wana mifumo iliyopo ili kuhakikisha nodi hufanya kazi kama vipengele vinavyohitajika kama vile visawazishaji vya mizigo, ufuatiliaji wa watoa huduma wa nodi na motisha kwa watendaji wazuri.
Kwa mfano, dRPC hukupa ufikiaji wa dashibodi kwa ajili ya kufuatilia mseto wa miundombinu ya nodi zako. Ingawa huna udhibiti wa moja kwa moja juu ya vifundo unavyotumia na jinsi ambavyo vimegatuliwa, dashibodi hukuruhusu kuona jinsi nodi zilivyogawanywa.
Uchunguzi wa picha hapo juu ulionyesha kuwa muunganisho umegawanywa kati ya watoa huduma wanne tofauti wa nodi za RPC ( Besked, drpc-free, drpc-public-multiregion, p2p-validator-optimism-free ). Fahirisi ya ugatuaji ya 0.563 ilionyesha idadi jumuishi ya kiwango cha ugatuaji huku "moja" ikiwa ndiyo iliyogatuliwa zaidi na "sifuri" ikiwa ya kati zaidi.
Wasanidi programu wanapaswa kuwa na uwezo wa kufuatilia nodi za RPC zinazotumiwa na dApp yao. Hii inahakikisha kutegemewa kwa dApp. Ingawa huwezi kudhibiti jinsi watoa huduma wa RPC wanavyosimamia mifumo yao, watoa huduma wa RPC waliogatuliwa kama vile dRPC wana mifumo iliyopo ya kufuatilia watoa huduma wa nodi za RPC.
Dashibodi ya SaaS ya dRPC inakupa ufikiaji wa uchanganuzi wa kina ili kufuatilia jinsi dApp yako inavyoingiliana na miundombinu. Katika dashibodi ya dRPC, kwa mfano, unaweza kufuatilia jumla ya idadi ya maombi yaliyotolewa na dApp yako kwa siku zilizochaguliwa, kufuatilia ugatuaji wa nodi za RPC, na kuomba usambazaji kulingana na ufunguo wa API. Unaweza hata kupata kumbukumbu za makosa kutoka kwa dashibodi.
Kando na dashibodi ya uchanganuzi ya dRPC, dRPC ina utaratibu wa nyuma wa kufuatilia watoa huduma wa nodi na kuwazuia wasifanye uhuni. Soma zaidi juu ya mifumo hii ya nyuma hapa.
Nodi za RPC zina jukumu kubwa katika kuwezesha mawasiliano kati ya programu iliyogatuliwa na blockchain. Hata hivyo, uwekaji kati wa RPCs unaleta hatari kubwa kwa dApp yako na mtandao wa blockchain kwa ujumla. Kama inavyoonekana katika mapungufu yaliyotangulia kutoka kwa tafiti za kesi zilizojadiliwa hapo juu, kutegemea watoa huduma wa RPC wa kati huleta hatari ya kutofaulu na kunaweza kusababisha usumbufu mkubwa wa huduma ya huduma za web3.
Watengenezaji hawana njia mbadala. RPC zinazojipangisha na zilizogatuliwa hutoa masuluhisho ya kuaminika ambayo yanaweza kusaidia kuunda programu zinazostahimili. Kwa kukumbatia RPC zilizogatuliwa kama vile dRPC , wasanidi programu wanaweza kupunguza hatari ya kuwekwa kati na kuunda programu zenye nguvu, zinazostahimili udhibiti, zinazostahimili udhibiti na zilizolindwa.