Ndi ma TPS angati omwe ali pa blockchain yanu?

Funso lomwe mumakonda kwambiri pamakina aliwonse ogawidwa kuchokera kwa munthu yemwe si waukadaulo ndi "Ndi ma tps angati omwe ali pa blockchain yanu?" Komabe, nambala yoperekedwa poyankha nthaΕ΅i zambiri imakhala yochepa kwambiri ndi imene wofunsayo angafune kumva. M'malo mwake, adafuna kufunsa "kodi blockchain yanu ingagwirizane ndi bizinesi yanga," ndipo zofunika izi si nambala imodzi, koma zinthu zambiri - apa pali kulolerana kwapaintaneti, zofunikira zomaliza, makulidwe, mawonekedwe azinthu ndi magawo ena ambiri. Chifukwa chake yankho la funso lakuti "matani angati" silingakhale losavuta, ndipo silingathe. Dongosolo logawidwa lokhala ndi makumi kapena mazana a ma node omwe akuchita mawerengedwe ovuta kwambiri amatha kukhala m'malo ambiri osiyanasiyana okhudzana ndi ma network, zomwe zili mu blockchain, zolephera zaukadaulo, mavuto azachuma, kuwukira pa intaneti ndi zifukwa zina zambiri. . Magawo omwe zovuta zogwirira ntchito zimatheka zimasiyana ndi ntchito zachikhalidwe, ndipo seva ya blockchain network ndi ntchito yapaintaneti yomwe imaphatikiza magwiridwe antchito a database, seva yapaintaneti ndi kasitomala wama torrent, zomwe zimapangitsa kuti zikhale zovuta kwambiri potengera kuchuluka kwa katundu pama subsystems onse. : purosesa, kukumbukira, network, yosungirako

Izi zimachitika kuti maukonde otukuka ndi blockchains ndi pulogalamu yachindunji komanso yachilendo kwa opanga mapulogalamu apakatikati. Chifukwa chake, ndikufuna kuwunikira mbali zofunika kwambiri za magwiridwe antchito ndi kusasunthika kwa maukonde apakati, njira zowayeza ndikupeza zolepheretsa. Tiwona zochitika zosiyanasiyana zomwe zimachepetsa liwiro la kupereka ntchito kwa ogwiritsa ntchito blockchain ndikuzindikira mawonekedwe amtunduwu wa pulogalamuyo.

Magawo a pempho lautumiki ndi kasitomala wa blockchain

Kuti muyankhule moona mtima za ubwino wa utumiki wina uliwonse kapena wocheperako, simuyenera kuganizira zamtengo wapatali, komanso mapamwamba / osachepera, apakati, ma percentiles. Mwachidziwitso, titha kuyankhula za 1000 tps mu blockchain ina, koma ngati 900 idamalizidwa ndi liwiro lalikulu, ndipo 100 "idakakamira" kwa masekondi pang'ono, ndiye kuti nthawi yapakati yomwe imasonkhanitsidwa pazogulitsa zonse sizomwe zili zoyenera kwa kasitomala. amene sindinathe kumaliza ntchitoyo mumasekondi angapo. "Mabowo" osakhalitsa omwe amayamba chifukwa cha kusagwirizana kozungulira kapena kugawanika kwa maukonde kungathe kuwononga kwambiri ntchito yomwe yawonetsa ntchito yabwino kwambiri pamabenchi oyesera.

Kuti muzindikire zovuta zotere, ndikofunikira kumvetsetsa magawo omwe blockchain yeniyeni ikhoza kukhala ndi vuto lotumizira ogwiritsa ntchito. Tiyeni tifotokozere mozungulira popereka ndi kukonza malonda, komanso kupeza dziko latsopano la blockchain, komwe kasitomala angatsimikizire kuti ntchito yake yakonzedwa ndikuwerengedwa.

  1. kugulitsa kumapangidwa pa kasitomala
  2. ntchitoyo imasainidwa pa kasitomala
  3. kasitomala amasankha imodzi mwa mfundo ndi kutumiza transaction yake kwa izo
  4. kasitomala amalembetsa zosintha ku database ya boma ya node, kudikirira kuti zotsatira zake ziwonekere
  5. node imagawa zomwe zikuchitika pa p2p network
  6. angapo kapena amodzi a BP (opanga block) amatsata zochitika zomwe zasonkhanitsidwa, kukonzanso nkhokwe ya boma
  7. BP imapanga chipika chatsopano pambuyo pokonza chiwerengero chofunikira cha zochitika
  8. BP imagawa chipika chatsopano pa netiweki ya p2p
  9. chipika chatsopanocho chimaperekedwa ku node yomwe kasitomala akupeza
  10. node imasintha database ya boma
  11. node imawona zosintha zokhudzana ndi kasitomala ndikumutumizira chidziwitso chochita

Tsopano tiyeni tione mwatsatanetsatane magawowa ndikufotokozera zomwe zingachitike pagawo lililonse. Mosiyana ndi machitidwe apakati, tidzakambirananso za kuphedwa kwa ma code pa makasitomala. Nthawi zambiri, poyezera TPS, nthawi yoyendetsera ntchito imasonkhanitsidwa kuchokera ku node, osati kwa kasitomala - izi sizolondola. Wothandizira samasamala momwe node idasinthira mwachangu ntchito yake; chofunikira kwambiri kwa iye ndi nthawi yomwe chidziwitso chodalirika chokhudza izi chomwe chikuphatikizidwa mu blockchain chimapezeka kwa iye. Ndi metric iyi yomwe kwenikweni ndi nthawi yochitira malonda. Izi zikutanthauza kuti makasitomala osiyanasiyana, ngakhale kutumiza zomwezo, amatha kulandira nthawi zosiyana, zomwe zimadalira njira, katundu ndi kuyandikira kwa node, ndi zina zotero. Chifukwa chake ndikofunikira kuyeza nthawi iyi kwa makasitomala, chifukwa iyi ndiye gawo lomwe liyenera kukonzedwa.

Kukonzekera kuchitapo kanthu kumbali ya kasitomala

Tiyeni tiyambe ndi mfundo ziwiri zoyambirira: kugulitsa kumapangidwa ndikusainidwa ndi kasitomala. Zodabwitsa ndizakuti, izi zitha kukhalanso vuto la blockchain pamawonedwe a kasitomala. Izi ndi zachilendo kwa mautumiki apakati, omwe amatenga mawerengedwe onse ndi ntchito ndi deta, ndipo kasitomala amangokonzekera pempho lalifupi lomwe lingathe kupempha kuchuluka kwa deta kapena kuwerengera, kupeza zotsatira zokonzeka. Mu blockchains, nambala yamakasitomala imakhala yamphamvu kwambiri, ndipo maziko a blockchain amakhala opepuka, ndipo ntchito zazikulu zamakompyuta nthawi zambiri zimasamutsidwa ku pulogalamu yamakasitomala. Mu blockchains, pali makasitomala omwe amatha kukonzekera kugulitsa kumodzi kwa nthawi yayitali (ndikulankhula zaumboni wosiyanasiyana wamakasitomala, maumboni achidule, siginecha zapakhomo ndi ntchito zina zovuta kumbali ya kasitomala). Chitsanzo chabwino cha kutsimikizira kwaunyolo kosavuta komanso kukonzekera kwakukulu kwa malonda pa kasitomala ndi umboni wa umembala pamndandanda wozikidwa pa Merkle-tree, apa. nkhani.

Komanso, musaiwale kuti kasitomala kachidindo sikuti amangotumiza zochitika ku blockchain, koma choyamba amafunsa za blockchain - ndipo izi zitha kukhudza kuchuluka kwa ma network ndi blockchain node. Chifukwa chake, poyesa miyeso, kungakhale koyenera kutengera machitidwe a kasitomala momwe mungathere. Ngakhale mu blockchain yanu pali makasitomala owala wamba omwe amayika siginecha yanthawi zonse panjira yosavuta yosamutsa katundu wina, chaka chilichonse pamakhala kuwerengera kwakukulu kwa kasitomala, ma aligorivimu a crypto akukula, ndipo gawo ili la kukonza limatha. kukhala cholepheretsa chachikulu mtsogolo. Chifukwa chake, samalani ndipo musaphonye momwe zinthu ziliri pamene, pakugulitsa kwanthawi yayitali 3.5s, 2.5s amagwiritsidwa ntchito pokonzekera ndi kusaina, ndi 1.0s potumiza ku netiweki ndikudikirira kuyankha. Kuti muwone kuopsa kwa vuto ili, muyenera kusonkhanitsa ma metrics kuchokera kumakina a kasitomala, osati kuchokera ku blockchain node.

Kutumiza ndikuyang'anira zomwe zikuchitika

Chotsatira ndikutumiza kugulitsako kumalo osankhidwa a blockchain ndikulandira udindo woulandira mu dziwe lochitapo kanthu. Gawoli ndi lofanana ndi kupezeka kwa database nthawi zonse; node iyenera kulemba zomwe zikuchitika mu dziwe ndikuyamba kugawa zambiri za izo kudzera pa p2p network. Njira yowunika momwe ntchito ikuyendera pano ndi yofanana ndi kuwunika momwe ma microservices achikhalidwe a Web API amagwirira ntchito, ndipo zomwe zimachitika mu blockchains zitha kusinthidwa ndikusintha mwachangu mawonekedwe awo. Nthawi zambiri, kukonzanso zidziwitso zamalonda pama blockchains ena kumatha kuchitika kangapo, mwachitsanzo mukasinthana pakati pa mafoloko a unyolo kapena ma BP akalengeza cholinga chawo chophatikizira malonda mu chipika. Malire pa kukula kwa dziwe ili ndi kuchuluka kwa zochitika momwemo zingakhudzire ntchito ya blockchain. Ngati dziwe logulitsira lidzadzazidwa mpaka kukula kothekera, kapena silikukwanira mu RAM, magwiridwe antchito amtaneti amatha kutsika kwambiri. Ma blockchains alibe njira zapakati zodzitetezera ku kusefukira kwa mauthenga osafunikira, ndipo ngati blockchain imathandizira kubwereketsa kwakukulu ndi zolipiritsa zotsika, izi zitha kupangitsa kuti dziwe logulitsirali kusefukira - vuto lina lomwe lingachitike.

Mu blockchains, kasitomala amatumiza kugulitsa ku blockchain node iliyonse yomwe amakonda, hashi yamalondayo nthawi zambiri imadziwika kwa kasitomala asanatumize, kotero zonse zomwe akuyenera kuchita ndikukwaniritsa kulumikizana ndipo, pambuyo pofalitsa, dikirani kuti blockchain isinthe. chikhalidwe chake, kupangitsa kuti ntchito yake ichitike. Dziwani kuti poyesa "tps" mutha kupeza zotsatira zosiyana kwambiri za njira zosiyanasiyana zolumikizirana ndi blockchain node. Izi zitha kukhala HTTP RPC yokhazikika kapena WebSocket yomwe imakupatsani mwayi wogwiritsa ntchito "kulembetsa". Pachiwiri, kasitomala adzalandira zidziwitso kale, ndipo node idzawononga ndalama zochepa (makamaka kukumbukira ndi magalimoto) pamayankho okhudza momwe ntchito ikugwirira ntchito. Chifukwa chake poyezera "tps" ndikofunikira kuganizira momwe makasitomala amalumikizirana ndi ma node. Chifukwa chake, kuti muwone kuopsa kwa botololi, benchmark blockchain iyenera kutsanzira makasitomala ndi zopempha zonse za WebSocket ndi HTTP RPC, molingana ndi maukonde enieni, komanso kusintha momwe machitidwe amagwirira ntchito ndi kukula kwake.

Kuti muwone kuopsa kwa vuto la botololi, muyeneranso kutolera ma metrics kuchokera kumakina a kasitomala, osati kuchokera ku blockchain node.

Kutumiza kwa mayendedwe ndi midadada kudzera pa p2p network

Mu blockchains, ma intaneti a peer-to-peer (p2p) amagwiritsidwa ntchito kusamutsa zochitika ndi midadada pakati pa otenga nawo mbali. Zogulitsa zimafalikira pa netiweki, kuyambira pa imodzi mwa node, mpaka kufika kwa opanga ma block block, omwe amanyamula zogulitsa m'mabotolo ndipo, pogwiritsa ntchito p2p yomweyo, amagawa midadada yatsopano ku node zonse zamaneti. Maziko a maukonde amakono a p2p ndikusintha kosiyanasiyana kwa protocol ya Kademlia. pano chidule chabwino cha protocol iyi, ndi tawonani - Nkhani yokhala ndi miyeso yosiyanasiyana mu netiweki ya BitTorrent, yomwe munthu angamvetse kuti maukonde amtunduwu ndi ovuta komanso osadziwikiratu kuposa maukonde okhazikika apakati. Komanso, tawonani Nkhani zokhudzana ndi kuyeza ma metric osiyanasiyana osangalatsa a Ethereum node.

Mwachidule, mnzako aliyense mumanetiweki wotere amakhala ndi mndandanda wake wosinthika wa anzawo omwe amafunsira zidziwitso zomwe zimayankhidwa ndi zomwe zili. Mnzake akalandira pempho, amapereka chidziwitso chofunikira kapena amapereka pempho kwa mnzake wotsatira wachinyengo kuchokera pamndandanda, ndipo atalandira yankho, amawapereka kwa wopemphayo ndikusunga kwa kanthawi, ndikupereka izi. chipika cha chidziwitso kale nthawi ina. Chifukwa chake, chidziwitso chodziwika bwino chimatha m'machubu ambiri a anzawo ambiri, ndipo chidziwitso chosadziwika chimasinthidwa pang'onopang'ono. Anzako amasunga zolemba za omwe adasamutsira zidziwitso kwa ndani, ndipo netiweki imayesetsa kulimbikitsa ogawa mwachangu powonjezera mavoti awo ndikuwapatsa ntchito yapamwamba, ndikuchotsa anthu omwe sachita nawo ntchito pamndandanda wa anzawo.

Chifukwa chake, kugulitsako tsopano kuyenera kugawidwa pamaneti onse kuti opanga block azitha kuwona ndikuphatikiza mu block. Node mwachangu "imagawa" kugulitsa kwatsopano kwa aliyense ndikumvera maukonde, kudikirira chipika mumlozera momwe ntchito yofunikira idzawonekera kuti adziwitse kasitomala akudikirira. Nthawi yomwe imatenga kuti ma netiweki asamutsire zambiri zokhudzana ndi zochitika zatsopano ndi midadada kwa wina ndi mnzake mumanetiweki a p2p zimadalira zinthu zambiri: kuchuluka kwa node oona mtima omwe akugwira ntchito pafupi (kuchokera pa intaneti), "kutentha- mmwamba” mwa ma cache a ma node awa, kukula kwa midadada, kusinthana, mtundu wa zosintha, malo ochezera, kuchuluka kwa node ndi zinthu zina zambiri. Miyezo yovuta ya ma metrics ogwirira ntchito mumanetiweki oterowo ndizovuta; ndikofunikira kuwunika nthawi imodzi yofunsira kwa makasitomala ndi anzawo (ma blockchain node). Mavuto mu njira iliyonse ya p2p, kuthamangitsidwa kolakwika kwa deta ndi caching, kusamalidwa bwino kwa mndandanda wa anzawo ogwira nawo ntchito, ndi zina zambiri zingayambitse kuchedwa komwe kumakhudza kugwira ntchito kwa intaneti yonse, ndipo vuto ili ndilovuta kwambiri kusanthula. , kuyesa ndi kutanthauzira zotsatira.

Blockchain processing ndi kusinthidwa kwa database ya boma

Gawo lofunika kwambiri la blockchain ndi algorithm yogwirizana, kugwiritsa ntchito kwake ku midadada yatsopano yomwe idalandilidwa kuchokera pamaneti ndi kukonza zochitika ndi kujambula zotsatira mu database ya boma. Kuonjezera chipika chatsopano pa unyolo ndikusankha unyolo waukulu kuyenera kugwira ntchito mwachangu momwe mungathere. Komabe, m'moyo weniweni, "ayenera" sizikutanthauza "ntchito", ndipo wina akhoza, mwachitsanzo, kulingalira momwe maunyolo awiri omwe amapikisana nthawi zonse amasinthana pakati pawo, akusintha metadata ya zikwi za zochitika mu dziwe pa switch iliyonse. , ndikubweza nkhokwe ya boma nthawi zonse. Gawo ili, pofotokozera za botolo, ndilosavuta kuposa p2p network layer, chifukwa machitidwe a transaction ndi consensus algorithm ndizokhazikika, ndipo ndikosavuta kuyeza chilichonse pano.
Chinthu chachikulu ndikusokoneza kuwonongeka kwachisawawa pakuchita kwa siteji iyi ndi mavuto a pa intaneti - ma node amachedwa popereka midadada ndi chidziwitso chokhudza unyolo waukulu, ndipo kwa kasitomala wakunja izi zikhoza kuwoneka ngati intaneti yodekha, ngakhale kuti vuto liri mu malo osiyana kotheratu.

Kuti muwongolere magwiridwe antchito pakadali pano, ndikofunikira kusonkhanitsa ndikuyang'anira ma metrics kuchokera m'malo omwewo, ndikuphatikizamo zomwe zikugwirizana ndi kukonzanso nkhokwe ya boma: kuchuluka kwa midadada yokonzedwa pa node, kukula kwake, kuchuluka kwa zomwe zachitika, kuchuluka kwa masinthidwe pakati pa mafoloko a unyolo, kuchuluka kwa midadada yosavomerezeka, nthawi yogwiritsira ntchito makina, nthawi yochita data, ndi zina zambiri. Izi zidzateteza mavuto a netiweki kuti asasokonezedwe ndi zolakwika mu ma aligorivimu a unyolo.

Makina ogwiritsira ntchito makina amatha kukhala gwero lothandiza lazidziwitso zomwe zitha kukulitsa magwiridwe antchito a blockchain. Chiwerengero cha magawo okumbukira, kuchuluka kwa malangizo owerengera / kulemba, ndi ma metric ena okhudzana ndi magwiridwe antchito a code code angapereke zambiri zothandiza kwa opanga. Pa nthawi yomweyi, mapangano anzeru ndi mapulogalamu, zomwe zikutanthauza kuti akhoza kugwiritsa ntchito zipangizo zilizonse: cpu / memori / network / yosungirako, kotero kuti kukonza malonda ndi gawo losatsimikizika, lomwe, kuwonjezera apo, limasintha kwambiri pamene likuyenda pakati pa mitundu. komanso posintha ma code contract. Chifukwa chake, ma metric okhudzana ndikusinthana nawo amafunikiranso kuti mukwaniritse bwino ntchito ya blockchain.

Kulandila kwa kasitomala zidziwitso zakuphatikizidwa kwa malonda mu blockchain

Ili ndiye gawo lomaliza la kasitomala wa blockchain omwe amalandira ntchitoyo; poyerekeza ndi magawo ena, palibe ndalama zazikulu, koma ndikofunikira kuganiziranso kuthekera kwa kasitomala kulandira yankho lamphamvu kuchokera ku node (mwachitsanzo, mgwirizano wanzeru. kubweza mndandanda wa data). Mulimonsemo, mfundo iyi ndi yofunika kwambiri kwa amene adafunsa funso lakuti "ndi ma tps angati omwe ali mu blockchain yanu?", Chifukwa. Panthawiyi, nthawi yolandira ntchitoyo imalembedwa.

Pamalo ano, nthawi zonse pamakhala kutumiza nthawi yonse yomwe kasitomala amayenera kuthera kudikirira kuyankha kuchokera ku blockchain; ndi nthawi ino yomwe wogwiritsa ntchito amadikirira chitsimikiziro pakugwiritsa ntchito kwake, ndipo kukhathamiritsa kwake ndiko ntchito yaikulu ya opanga.

Pomaliza

Zotsatira zake, titha kufotokozera mitundu yamachitidwe omwe amachitidwa pa blockchains ndikugawa m'magulu angapo:

  1. kusintha kwa cryptographic, kupanga umboni
  2. kulumikizana ndi anzawo, kuchitapo kanthu ndi block replication
  3. kukonza malonda, kuchita ma contract anzeru
  4. kugwiritsa ntchito kusintha kwa blockchain ku database ya boma, kukonzanso deta pazochitika ndi midadada
  5. zopempha zowerengeka ku database ya boma, blockchain node API, ntchito zolembetsa

Nthawi zambiri, zofunikira zaukadaulo zamagawo amakono a blockchain ndizovuta kwambiri - ma CPU othamanga a cryptography, kuchuluka kwa RAM kuti asungidwe ndikupeza mwachangu database ya boma, kulumikizana kwa maukonde pogwiritsa ntchito kulumikizana kotseguka nthawi imodzi, ndikusungira kwakukulu. Zofunikira zapamwamba zotere komanso kuchuluka kwa magwiridwe antchito amitundu yosiyanasiyana zimatsogolera ku mfundo yakuti node sangakhale ndi zinthu zokwanira, ndiyeno iliyonse mwa magawo omwe takambiranawa akhoza kukhala cholepheretsa ntchito yonse ya maukonde.

Mukamapanga ndikuwunika momwe ma blockchains amagwirira ntchito, muyenera kuganizira mfundo zonsezi. Kuti muchite izi, muyenera kusonkhanitsa ndi kusanthula ma metric nthawi imodzi kuchokera kwa makasitomala ndi ma node a netiweki, yang'anani kulumikizana pakati pawo, yerekezerani nthawi yomwe imafunika kuti mupereke chithandizo kwa makasitomala, ganizirani zofunikira zonse: cpu/memory/network/storage. , kumvetsa mmene amagwiritsidwira ntchito ndi kusonkhezera wina ndi mnzake. Zonsezi zimapangitsa kufananiza kuthamanga kwa ma blockchains osiyanasiyana mu mawonekedwe a "TPS zingati" kukhala ntchito yosayamika kwambiri, chifukwa pali masanjidwe ndi mayiko osiyanasiyana. M'magulu akuluakulu apakati, magulu a ma seva mazana, mavutowa ndi ovuta komanso amafunikira kusonkhanitsa ma metrics osiyanasiyana, koma mu blockchains, chifukwa cha p2p network, makina opangira makina, chuma chamkati, chiwerengero cha madigiri. ufulu ndiwokulirapo, zomwe zimapangitsa kuyesa ngakhale pa maseva angapo, sikuwonetsa ndipo kumangowonetsa zikhalidwe zofananira zomwe sizimalumikizana kwenikweni ndi zenizeni.

Chifukwa chake, tikamakulitsa blockchain pachimake, kuyesa magwiridwe antchito ndikuyankha funso "kodi zayenda bwino poyerekeza ndi nthawi yapitayi?" Timagwiritsa ntchito mapulogalamu ovuta kwambiri omwe amawongolera kukhazikitsidwa kwa blockchain yokhala ndi ma node ambiri ndikungoyambitsa benchmark ndikusonkhanitsa ma metric. ; popanda chidziwitso ndizovuta kwambiri kukonza ma protocol omwe amagwira ntchito ndi anthu ambiri.

Chifukwa chake, mukalandira funso loti "ndi ma TPS angati omwe ali mu blockchain yanu?", perekani tiyi kwa interlocutor wanu ndikufunsa ngati ali wokonzeka kuyang'ana ma graph khumi ndi awiri ndikumveranso mabokosi onse atatu amavuto a blockchain ndi malingaliro anu. kuwathetsa...

Source: www.habr.com

Kuwonjezera ndemanga