నాన్-టెక్నికల్ వ్యక్తి నుండి ఏదైనా పంపిణీ చేయబడిన సిస్టమ్ గురించి ఇష్టమైన ప్రశ్న ఏమిటంటే “మీ బ్లాక్చెయిన్లో ఎన్ని tps ఉన్నాయి?” ఏది ఏమైనప్పటికీ, ప్రతిస్పందనగా ఇవ్వబడిన సంఖ్య సాధారణంగా ప్రశ్నించేవారు వినాలనుకునే దానితో చాలా తక్కువగా ఉంటుంది. వాస్తవానికి, అతను "మీ బ్లాక్చెయిన్ నా వ్యాపార అవసరాలకు సరిపోతుందా" అని అడగాలనుకున్నాడు మరియు ఈ అవసరాలు ఒక సంఖ్య కాదు, కానీ చాలా షరతులు - ఇక్కడ నెట్వర్క్ తప్పు సహనం, తుది అవసరాలు, పరిమాణాలు, లావాదేవీల స్వభావం మరియు అనేక ఇతర పారామితులు ఉన్నాయి. కాబట్టి "ఎన్ని టిపిఎస్" అనే ప్రశ్నకు సమాధానం చాలా సులభం కాదు మరియు దాదాపుగా పూర్తి కాదు. చాలా క్లిష్టమైన గణనలను నిర్వహించే పదుల లేదా వందల నోడ్లతో పంపిణీ చేయబడిన వ్యవస్థ నెట్వర్క్ స్థితి, బ్లాక్చెయిన్లోని విషయాలు, సాంకేతిక వైఫల్యాలు, ఆర్థిక సమస్యలు, నెట్వర్క్పై దాడులు మరియు అనేక ఇతర కారణాలకు సంబంధించిన వివిధ రాష్ట్రాలలో భారీ సంఖ్యలో ఉంటుంది. . పనితీరు సమస్యలు సాధ్యమయ్యే దశలు సాంప్రదాయ సేవలకు భిన్నంగా ఉంటాయి మరియు బ్లాక్చెయిన్ నెట్వర్క్ సర్వర్ అనేది డేటాబేస్, వెబ్ సర్వర్ మరియు టొరెంట్ క్లయింట్ యొక్క కార్యాచరణను మిళితం చేసే నెట్వర్క్ సేవ, ఇది అన్ని సబ్సిస్టమ్లలోని లోడ్ ప్రొఫైల్ పరంగా చాలా క్లిష్టంగా ఉంటుంది. : ప్రాసెసర్, మెమరీ, నెట్వర్క్, నిల్వ
కేంద్రీకృత సాఫ్ట్వేర్ డెవలపర్ల కోసం వికేంద్రీకృత నెట్వర్క్లు మరియు బ్లాక్చెయిన్లు చాలా నిర్దిష్టమైన మరియు అసాధారణమైన సాఫ్ట్వేర్. అందువల్ల, వికేంద్రీకృత నెట్వర్క్ల పనితీరు మరియు స్థిరత్వం, వాటిని కొలిచే విధానాలు మరియు అడ్డంకులను కనుగొనడంలో ముఖ్యమైన అంశాలను నేను హైలైట్ చేయాలనుకుంటున్నాను. మేము బ్లాక్చెయిన్ వినియోగదారులకు సేవలను అందించే వేగాన్ని పరిమితం చేసే వివిధ పనితీరు సమస్యలను పరిశీలిస్తాము మరియు ఈ రకమైన సాఫ్ట్వేర్ యొక్క లక్షణాలను గమనించండి.
బ్లాక్చెయిన్ క్లయింట్ ద్వారా సేవా అభ్యర్థన యొక్క దశలు
ఏదైనా ఎక్కువ లేదా తక్కువ సంక్లిష్టమైన సేవ యొక్క నాణ్యత గురించి నిజాయితీగా మాట్లాడటానికి, మీరు సగటు విలువలను మాత్రమే కాకుండా, గరిష్ట/కనిష్ట, మధ్యస్థాలు, శాతాలు కూడా పరిగణనలోకి తీసుకోవాలి. సిద్ధాంతపరంగా, మనం కొన్ని బ్లాక్చెయిన్లో 1000 టిపిఎస్ల గురించి మాట్లాడవచ్చు, అయితే 900 లావాదేవీలు అపారమైన వేగంతో పూర్తయితే మరియు 100 కొన్ని సెకన్లపాటు “ఇరుక్కుపోయి” ఉంటే, అప్పుడు అన్ని లావాదేవీలపై సేకరించిన సగటు సమయం క్లయింట్కు పూర్తిగా సరసమైన మెట్రిక్ కాదు. నేను కొన్ని సెకన్లలో లావాదేవీని పూర్తి చేయలేకపోయాను. తప్పిపోయిన ఏకాభిప్రాయ రౌండ్లు లేదా నెట్వర్క్ స్ప్లిట్ల వల్ల ఏర్పడే తాత్కాలిక “రంధ్రాలు” టెస్ట్ బెంచ్లలో అద్భుతమైన పనితీరును కనబరిచిన సేవను బాగా నాశనం చేస్తాయి.
అటువంటి అడ్డంకులను గుర్తించడానికి, నిజమైన బ్లాక్చెయిన్ వినియోగదారులకు సేవలందించడంలో ఇబ్బందిని కలిగించే దశల గురించి మంచి అవగాహన కలిగి ఉండటం అవసరం. లావాదేవీని డెలివరీ చేయడం మరియు ప్రాసెస్ చేయడం, అలాగే బ్లాక్చెయిన్ యొక్క కొత్త స్థితిని పొందడం వంటి చక్రాన్ని వివరిస్తాము, దీని నుండి క్లయింట్ తన లావాదేవీ ప్రాసెస్ చేయబడిందని మరియు లెక్కించబడిందని ధృవీకరించవచ్చు.
- లావాదేవీ క్లయింట్పై ఏర్పడుతుంది
- లావాదేవీ క్లయింట్పై సంతకం చేయబడింది
- క్లయింట్ నోడ్లలో ఒకదాన్ని ఎంచుకుని, దానికి తన లావాదేవీని పంపుతాడు
- క్లయింట్ నోడ్ యొక్క స్టేట్ డేటాబేస్కు నవీకరణలకు సభ్యత్వాన్ని పొందుతుంది, దాని లావాదేవీ ఫలితాలు కనిపించే వరకు వేచి ఉన్నాయి
- నోడ్ p2p నెట్వర్క్ ద్వారా లావాదేవీని పంపిణీ చేస్తుంది
- అనేక లేదా ఒక BP (బ్లాక్ ప్రొడ్యూసర్) సేకరించిన లావాదేవీలను ప్రాసెస్ చేస్తుంది, రాష్ట్ర డేటాబేస్ను నవీకరిస్తుంది
- అవసరమైన సంఖ్యలో లావాదేవీలను ప్రాసెస్ చేసిన తర్వాత BP కొత్త బ్లాక్ను ఏర్పరుస్తుంది
- BP p2p నెట్వర్క్లో కొత్త బ్లాక్ను పంపిణీ చేస్తుంది
- క్లయింట్ యాక్సెస్ చేస్తున్న నోడ్కు కొత్త బ్లాక్ బట్వాడా చేయబడుతుంది
- నోడ్ స్టేట్ డేటాబేస్ అప్డేట్ చేస్తుంది
- నోడ్ క్లయింట్కు సంబంధించిన అప్డేట్ను చూస్తుంది మరియు అతనికి లావాదేవీ నోటిఫికేషన్ను పంపుతుంది
ఇప్పుడు ఈ దశలను నిశితంగా పరిశీలిద్దాం మరియు ప్రతి దశలో సంభావ్య పనితీరు సమస్యలను వివరించండి. కేంద్రీకృత వ్యవస్థల వలె కాకుండా, మేము నెట్వర్క్ క్లయింట్లపై కోడ్ అమలును కూడా పరిశీలిస్తాము. చాలా తరచుగా, TPSని కొలిచేటప్పుడు, లావాదేవీ ప్రాసెసింగ్ సమయం నోడ్స్ నుండి సేకరించబడుతుంది మరియు క్లయింట్ నుండి కాదు - ఇది పూర్తిగా న్యాయమైనది కాదు. నోడ్ తన లావాదేవీని ఎంత త్వరగా ప్రాసెస్ చేసిందో క్లయింట్ పట్టించుకోడు; అతనికి అత్యంత ముఖ్యమైన విషయం ఏమిటంటే, బ్లాక్చెయిన్లో చేర్చబడిన ఈ లావాదేవీ గురించి విశ్వసనీయ సమాచారం అతనికి అందుబాటులోకి వచ్చినప్పుడు. ఈ మెట్రిక్ తప్పనిసరిగా లావాదేవీ అమలు సమయం. దీనర్థం, వేర్వేరు క్లయింట్లు, ఒకే లావాదేవీని పంపడం ద్వారా కూడా, ఛానెల్, లోడ్ మరియు నోడ్ యొక్క సామీప్యత మొదలైన వాటిపై ఆధారపడి ఉండే పూర్తిగా భిన్నమైన సమయాలను స్వీకరించవచ్చు. కాబట్టి క్లయింట్లపై ఈ సమయాన్ని కొలవడం ఖచ్చితంగా అవసరం, ఎందుకంటే ఇది ఆప్టిమైజ్ చేయాల్సిన పరామితి.
క్లయింట్ వైపు లావాదేవీని సిద్ధం చేస్తోంది
మొదటి రెండు పాయింట్లతో ప్రారంభిద్దాం: లావాదేవీ ఏర్పడింది మరియు క్లయింట్ సంతకం చేయబడింది. విచిత్రమేమిటంటే, ఇది క్లయింట్ దృష్టికోణం నుండి బ్లాక్చెయిన్ పనితీరుకు అడ్డంకిగా కూడా ఉంటుంది. డేటాతో అన్ని గణనలు మరియు కార్యకలాపాలను చేపట్టే కేంద్రీకృత సేవలకు ఇది అసాధారణమైనది మరియు క్లయింట్ కేవలం పెద్ద మొత్తంలో డేటా లేదా గణనలను అభ్యర్థించగల చిన్న అభ్యర్థనను సిద్ధం చేసి, సిద్ధంగా ఉన్న ఫలితాన్ని పొందుతుంది. బ్లాక్చెయిన్లలో, క్లయింట్ కోడ్ మరింత శక్తివంతంగా మారుతుంది మరియు బ్లాక్చెయిన్ కోర్ మరింత తేలికగా మారుతుంది మరియు భారీ కంప్యూటింగ్ పనులు సాధారణంగా క్లయింట్ సాఫ్ట్వేర్కు బదిలీ చేయబడతాయి. బ్లాక్చెయిన్లలో, చాలా కాలం పాటు ఒక లావాదేవీని సిద్ధం చేయగల క్లయింట్లు ఉన్నారు (నేను వివిధ మెర్కిల్ ప్రూఫ్లు, క్లుప్తమైన ప్రూఫ్లు, థ్రెషోల్డ్ సిగ్నేచర్లు మరియు క్లయింట్ వైపు ఇతర సంక్లిష్ట కార్యకలాపాల గురించి మాట్లాడుతున్నాను). క్లయింట్పై సులభంగా ఆన్-చైన్ వెరిఫికేషన్ మరియు భారీ స్థాయిలో లావాదేవీని సిద్ధం చేయడానికి ఒక మంచి ఉదాహరణ మెర్కిల్-ట్రీ ఆధారంగా జాబితాలో సభ్యత్వానికి రుజువు, ఇక్కడ
అలాగే, క్లయింట్ కోడ్ కేవలం బ్లాక్చెయిన్కు లావాదేవీలను పంపదని మర్చిపోవద్దు, కానీ మొదట బ్లాక్చెయిన్ స్థితిని ప్రశ్నిస్తుంది - మరియు ఈ కార్యాచరణ నెట్వర్క్ మరియు బ్లాక్చెయిన్ నోడ్ల రద్దీని ప్రభావితం చేస్తుంది. కాబట్టి, కొలతలు తీసుకునేటప్పుడు, క్లయింట్ కోడ్ యొక్క ప్రవర్తనను వీలైనంత పూర్తిగా అనుకరించడం సహేతుకంగా ఉంటుంది. మీ బ్లాక్చెయిన్లో కొంత ఆస్తిని బదిలీ చేయడానికి సరళమైన లావాదేవీపై సాధారణ డిజిటల్ సంతకాన్ని ఉంచే సాధారణ లైట్ క్లయింట్లు ఉన్నప్పటికీ, ప్రతి సంవత్సరం క్లయింట్పై మరింత భారీ లెక్కలు ఉన్నాయి, క్రిప్టో అల్గారిథమ్లు బలంగా మారుతున్నాయి మరియు ప్రాసెసింగ్లోని ఈ భాగం చేయగలదు. భవిష్యత్తులో ఒక ముఖ్యమైన అడ్డంకిగా మారుతుంది. కాబట్టి, జాగ్రత్తగా ఉండండి మరియు 3.5 సెకనుల లావాదేవీలో, లావాదేవీని సిద్ధం చేయడానికి మరియు సంతకం చేయడానికి 2.5s ఖర్చు చేయబడినప్పుడు మరియు దానిని నెట్వర్క్కు పంపడానికి మరియు ప్రతిస్పందన కోసం వేచి ఉండటానికి 1.0s ఖర్చు చేయబడినప్పుడు పరిస్థితిని కోల్పోకండి. ఈ అడ్డంకి యొక్క నష్టాలను అంచనా వేయడానికి, మీరు బ్లాక్చెయిన్ నోడ్ల నుండి కాకుండా క్లయింట్ మెషీన్ల నుండి కొలమానాలను సేకరించాలి.
లావాదేవీని పంపడం మరియు దాని స్థితిని పర్యవేక్షించడం
ఎంచుకున్న బ్లాక్చెయిన్ నోడ్కు లావాదేవీని పంపడం మరియు దానిని లావాదేవీ పూల్లోకి అంగీకరించే స్థితిని పొందడం తదుపరి దశ. ఈ దశ సాధారణ డేటాబేస్ యాక్సెస్ మాదిరిగానే ఉంటుంది; నోడ్ తప్పనిసరిగా పూల్లో లావాదేవీని రికార్డ్ చేయాలి మరియు p2p నెట్వర్క్ ద్వారా దాని గురించి సమాచారాన్ని పంపిణీ చేయడం ప్రారంభించాలి. ఇక్కడ పనితీరును అంచనా వేసే విధానం సాంప్రదాయ వెబ్ API మైక్రోసర్వీస్ల పనితీరును అంచనా వేయడానికి సమానంగా ఉంటుంది మరియు బ్లాక్చెయిన్లలోని లావాదేవీలు స్వయంగా నవీకరించబడతాయి మరియు వాటి స్థితిని చురుకుగా మార్చవచ్చు. సాధారణంగా, కొన్ని బ్లాక్చెయిన్లపై లావాదేవీ సమాచారాన్ని అప్డేట్ చేయడం చాలాసార్లు జరగవచ్చు, ఉదాహరణకు చైన్ ఫోర్క్ల మధ్య మారినప్పుడు లేదా BPలు బ్లాక్లో లావాదేవీని చేర్చాలనే ఉద్దేశాన్ని ప్రకటించినప్పుడు. ఈ పూల్ పరిమాణం మరియు దానిలోని లావాదేవీల సంఖ్యపై పరిమితులు బ్లాక్చెయిన్ పనితీరును ప్రభావితం చేయవచ్చు. లావాదేవీ పూల్ గరిష్టంగా సాధ్యమయ్యే పరిమాణానికి నిండి ఉంటే లేదా RAMలో సరిపోకపోతే, నెట్వర్క్ పనితీరు బాగా పడిపోతుంది. బ్లాక్చెయిన్లకు జంక్ మెసేజ్ల వరద నుండి రక్షించడానికి కేంద్రీకృత మార్గాలు లేవు మరియు బ్లాక్చెయిన్ అధిక-వాల్యూమ్ లావాదేవీలు మరియు తక్కువ రుసుములకు మద్దతు ఇస్తే, ఇది లావాదేవీల పూల్ పొంగిపొర్లడానికి కారణమవుతుంది-మరో సంభావ్య పనితీరు అడ్డంకి.
బ్లాక్చెయిన్లలో, క్లయింట్ తనకు నచ్చిన ఏదైనా బ్లాక్చెయిన్ నోడ్కి లావాదేవీని పంపుతాడు, లావాదేవీ యొక్క హాష్ సాధారణంగా క్లయింట్కు పంపే ముందు తెలుసు, కాబట్టి అతను చేయాల్సిందల్లా కనెక్షన్ సాధించడం మరియు ప్రసారం తర్వాత, బ్లాక్చెయిన్ మారే వరకు వేచి ఉండటం దాని స్థితి, అతని లావాదేవీని ప్రారంభిస్తుంది. "tps"ని కొలవడం ద్వారా మీరు బ్లాక్చెయిన్ నోడ్కి కనెక్ట్ చేసే వివిధ పద్ధతుల కోసం పూర్తిగా భిన్నమైన ఫలితాలను పొందవచ్చని గమనించండి. ఇది సాధారణ HTTP RPC లేదా "సభ్యత్వం" నమూనాను అమలు చేయడానికి మిమ్మల్ని అనుమతించే WebSocket కావచ్చు. రెండవ సందర్భంలో, క్లయింట్ ముందుగా నోటిఫికేషన్ను స్వీకరిస్తుంది మరియు నోడ్ లావాదేవీ స్థితి గురించి ప్రతిస్పందనలపై తక్కువ వనరులను (ప్రధానంగా మెమరీ మరియు ట్రాఫిక్) ఖర్చు చేస్తుంది. కాబట్టి "tps"ని కొలిచేటప్పుడు ఖాతాదారులు నోడ్లకు కనెక్ట్ అయ్యే విధానాన్ని పరిగణనలోకి తీసుకోవడం అవసరం. అందువల్ల, ఈ అడ్డంకి యొక్క నష్టాలను అంచనా వేయడానికి, బెంచ్మార్క్ బ్లాక్చెయిన్ తప్పనిసరిగా WebSocket మరియు HTTP RPC అభ్యర్థనలతో క్లయింట్లను నిజమైన నెట్వర్క్లకు అనుగుణమైన నిష్పత్తిలో అనుకరించగలగాలి, అలాగే లావాదేవీల స్వభావాన్ని మరియు వాటి పరిమాణాన్ని మార్చగలగాలి.
ఈ అడ్డంకి యొక్క ప్రమాదాలను అంచనా వేయడానికి, మీరు బ్లాక్చెయిన్ నోడ్ల నుండి కాకుండా క్లయింట్ మెషీన్ల నుండి కూడా కొలమానాలను సేకరించాలి.
p2p నెట్వర్క్ ద్వారా లావాదేవీలు మరియు బ్లాక్ల ప్రసారం
బ్లాక్చెయిన్లలో, పాల్గొనేవారి మధ్య లావాదేవీలు మరియు బ్లాక్లను బదిలీ చేయడానికి పీర్-టు-పీర్ (p2p) నెట్వర్కింగ్ ఉపయోగించబడుతుంది. లావాదేవీలను బ్లాక్లుగా ప్యాక్ చేసి, అదే p2pని ఉపయోగించి, అన్ని నెట్వర్క్ నోడ్లకు కొత్త బ్లాక్లను పంపిణీ చేసే పీర్ బ్లాక్ ప్రొడ్యూసర్లకు చేరే వరకు నోడ్లలో ఒకదాని నుండి ప్రారంభించి నెట్వర్క్ అంతటా లావాదేవీలు వ్యాపించాయి. చాలా ఆధునిక p2p నెట్వర్క్ల ఆధారం కడెమ్లియా ప్రోటోకాల్ యొక్క వివిధ సవరణలు.
సంక్షిప్తంగా, అటువంటి నెట్వర్క్లలోని ప్రతి పీర్ ఇతర సహచరుల యొక్క స్వంత డైనమిక్ జాబితాను నిర్వహిస్తుంది, దాని నుండి కంటెంట్ ద్వారా సూచించబడే సమాచార బ్లాక్లను అభ్యర్థిస్తుంది. ఒక పీర్ అభ్యర్థనను స్వీకరించినప్పుడు, అది అవసరమైన సమాచారాన్ని ఇస్తుంది లేదా జాబితా నుండి తదుపరి నకిలీ-రాండమ్ పీర్కు అభ్యర్థనను పంపుతుంది మరియు ప్రతిస్పందనను స్వీకరించిన తర్వాత, అది అభ్యర్థికి దానిని పంపుతుంది మరియు కాసేపు దానిని క్యాష్ చేస్తుంది, ఇలా ఇస్తుంది తదుపరిసారి ముందుగా సమాచారాన్ని బ్లాక్ చేయండి. అందువలన, జనాదరణ పొందిన సమాచారం పెద్ద సంఖ్యలో సహచరుల యొక్క పెద్ద సంఖ్యలో క్యాష్లలో ముగుస్తుంది మరియు ప్రజాదరణ లేని సమాచారం క్రమంగా భర్తీ చేయబడుతుంది. ఎవరు ఎవరికి ఎంత సమాచారాన్ని బదిలీ చేశారో సహచరులు రికార్డులను ఉంచుకుంటారు మరియు నెట్వర్క్ వారి రేటింగ్లను పెంచడం ద్వారా మరియు వారికి ఉన్నత స్థాయి సేవలను అందించడం ద్వారా క్రియాశీల పంపిణీదారులను ఉత్తేజపరిచేందుకు ప్రయత్నిస్తుంది, నిష్క్రియంగా ఉన్న వ్యక్తులను పీర్ జాబితాల నుండి స్వయంచాలకంగా స్థానభ్రంశం చేస్తుంది.
కాబట్టి, లావాదేవీ ఇప్పుడు నెట్వర్క్ అంతటా పంపిణీ చేయబడాలి, తద్వారా బ్లాక్-ప్రొడ్యూసర్లు దానిని చూడగలరు మరియు బ్లాక్లో చేర్చగలరు. నోడ్ ప్రతి ఒక్కరికీ కొత్త లావాదేవీని చురుకుగా "పంపిణీ చేస్తుంది" మరియు నెట్వర్క్ను వింటుంది, వేచి ఉన్న క్లయింట్కు తెలియజేయడానికి అవసరమైన లావాదేవీ కనిపించే సూచికలో బ్లాక్ కోసం వేచి ఉంది. p2p నెట్వర్క్లలో ఒకదానికొకటి కొత్త లావాదేవీలు మరియు బ్లాక్ల గురించి సమాచారాన్ని బదిలీ చేయడానికి నెట్వర్క్కు పట్టే సమయం చాలా పెద్ద సంఖ్యలో కారకాలపై ఆధారపడి ఉంటుంది: సమీపంలో పనిచేసే నిజాయితీ నోడ్ల సంఖ్య (నెట్వర్క్ కోణం నుండి), “వెచ్చని- అప్” ఈ నోడ్ల క్యాష్లు, బ్లాక్ల పరిమాణం, లావాదేవీలు, మార్పుల స్వభావం , నెట్వర్క్ భౌగోళికం, నోడ్ల సంఖ్య మరియు అనేక ఇతర అంశాలు. అటువంటి నెట్వర్క్లలో పనితీరు కొలమానాల సంక్లిష్ట కొలతలు సంక్లిష్టమైన విషయం; క్లయింట్లు మరియు పీర్లలో (బ్లాక్చెయిన్ నోడ్స్) అభ్యర్థన ప్రాసెసింగ్ సమయాన్ని ఏకకాలంలో అంచనా వేయడం అవసరం. ఏదైనా p2p మెకానిజమ్లలో సమస్యలు, తప్పు డేటా తొలగింపు మరియు కాషింగ్, యాక్టివ్ పీర్ల జాబితాల అసమర్థ నిర్వహణ మరియు అనేక ఇతర కారకాలు మొత్తం నెట్వర్క్ యొక్క సామర్థ్యాన్ని ప్రభావితం చేసే జాప్యాలకు కారణం కావచ్చు మరియు ఈ అడ్డంకిని విశ్లేషించడం చాలా కష్టం. , పరీక్ష మరియు ఫలితాల వివరణ.
బ్లాక్చెయిన్ ప్రాసెసింగ్ మరియు స్టేట్ డేటాబేస్ అప్డేట్
బ్లాక్చెయిన్ యొక్క అత్యంత ముఖ్యమైన భాగం ఏకాభిప్రాయ అల్గోరిథం, నెట్వర్క్ నుండి స్వీకరించబడిన కొత్త బ్లాక్లకు దాని అప్లికేషన్ మరియు స్టేట్ డేటాబేస్లో ఫలితాల రికార్డింగ్తో లావాదేవీల ప్రాసెసింగ్. గొలుసుకు కొత్త బ్లాక్ని జోడించి, ఆపై ప్రధాన గొలుసును ఎంచుకోవడం వీలైనంత త్వరగా పని చేయాలి. అయితే, నిజ జీవితంలో, “తప్పక” అంటే “పని చేస్తుంది” అని అర్థం కాదు, ఉదాహరణకు, రెండు దీర్ఘ పోటీ గొలుసులు నిరంతరం తమ మధ్య మారుతున్న పరిస్థితిని ఊహించవచ్చు, ప్రతి స్విచ్ వద్ద పూల్లోని వేలాది లావాదేవీల మెటాడేటాను మారుస్తుంది. , మరియు రాష్ట్ర డేటాబేస్ను నిరంతరం వెనక్కి తిప్పడం. ఈ దశ, అడ్డంకిని నిర్వచించే విషయంలో, p2p నెట్వర్క్ లేయర్ కంటే సరళమైనది, ఎందుకంటే లావాదేవీ అమలు మరియు ఏకాభిప్రాయ అల్గోరిథం ఖచ్చితంగా నిర్ణయాత్మకమైనవి మరియు ఇక్కడ ఏదైనా కొలవడం సులభం.
ప్రధాన విషయం ఏమిటంటే, ఈ దశ పనితీరులో యాదృచ్ఛిక క్షీణతను నెట్వర్క్ సమస్యలతో కంగారు పెట్టకూడదు - బ్లాక్లు మరియు ప్రధాన గొలుసు గురించి సమాచారాన్ని అందించడంలో నోడ్లు నెమ్మదిగా ఉంటాయి మరియు బాహ్య క్లయింట్ కోసం ఇది నెమ్మదిగా నెట్వర్క్ లాగా కనిపించవచ్చు, అయినప్పటికీ సమస్య ఉంది. పూర్తిగా భిన్నమైన ప్రదేశం.
ఈ దశలో పనితీరును ఆప్టిమైజ్ చేయడానికి, నోడ్ల నుండే కొలమానాలను సేకరించడం మరియు పర్యవేక్షించడం మరియు స్టేట్-డేటాబేస్ను నవీకరించడానికి సంబంధించిన వాటిని చేర్చడం ఉపయోగకరంగా ఉంటుంది: నోడ్లో ప్రాసెస్ చేయబడిన బ్లాక్ల సంఖ్య, వాటి పరిమాణం, లావాదేవీల సంఖ్య, చైన్ ఫోర్క్ల మధ్య స్విచ్ల సంఖ్య, చెల్లని బ్లాక్ల సంఖ్య, వర్చువల్ మెషీన్ ఆపరేటింగ్ సమయం, డేటా కమిట్ సమయం మొదలైనవి. ఇది చైన్ ప్రాసెసింగ్ అల్గారిథమ్లలోని లోపాలతో నెట్వర్క్ సమస్యలను గందరగోళానికి గురిచేయకుండా నిరోధిస్తుంది.
వర్చువల్ మెషీన్ ప్రాసెసింగ్ లావాదేవీలు బ్లాక్చెయిన్ యొక్క ఆపరేషన్ను ఆప్టిమైజ్ చేయగల సమాచారానికి ఉపయోగకరమైన మూలం. మెమరీ కేటాయింపుల సంఖ్య, రీడ్/రైట్ సూచనల సంఖ్య మరియు కాంట్రాక్ట్ కోడ్ అమలు యొక్క సామర్థ్యానికి సంబంధించిన ఇతర కొలమానాలు డెవలపర్లకు చాలా ఉపయోగకరమైన సమాచారాన్ని అందించగలవు. అదే సమయంలో, స్మార్ట్ కాంట్రాక్టులు ప్రోగ్రామ్లు, అంటే సిద్ధాంతపరంగా అవి ఏవైనా వనరులను వినియోగించుకోగలవు: cpu/మెమరీ/నెట్వర్క్/నిల్వ, కాబట్టి లావాదేవీల ప్రాసెసింగ్ అనేది ఒక అనిశ్చిత దశ, ఇది అదనంగా, సంస్కరణల మధ్య కదులుతున్నప్పుడు బాగా మారుతుంది. మరియు కాంట్రాక్ట్ కోడ్లను మార్చేటప్పుడు. అందువల్ల, బ్లాక్చెయిన్ పనితీరును సమర్థవంతంగా ఆప్టిమైజ్ చేయడానికి లావాదేవీ ప్రాసెసింగ్కు సంబంధించిన కొలమానాలు కూడా అవసరం.
బ్లాక్చెయిన్లో లావాదేవీని చేర్చడం గురించి క్లయింట్ ద్వారా నోటిఫికేషన్ యొక్క రసీదు
సేవను స్వీకరించే బ్లాక్చెయిన్ క్లయింట్ యొక్క చివరి దశ ఇది; ఇతర దశలతో పోలిస్తే, పెద్ద ఓవర్హెడ్ ఖర్చులు లేవు, అయితే క్లయింట్ నోడ్ నుండి భారీ ప్రతిస్పందనను స్వీకరించే అవకాశాన్ని పరిగణనలోకి తీసుకోవడం విలువ (ఉదాహరణకు, స్మార్ట్ ఒప్పందం డేటా యొక్క శ్రేణిని తిరిగి ఇవ్వడం). ఏది ఏమైనప్పటికీ, “మీ బ్లాక్చెయిన్లో ఎన్ని టిపిఎస్లు ఉన్నాయి?” అనే ప్రశ్న అడిగిన వ్యక్తికి ఈ పాయింట్ చాలా ముఖ్యమైనది, ఎందుకంటే ఈ సమయంలో, సేవను స్వీకరించే సమయం రికార్డ్ చేయబడింది.
ఈ స్థలంలో, క్లయింట్ బ్లాక్చెయిన్ నుండి ప్రతిస్పందన కోసం వేచి ఉండాల్సిన పూర్తి సమయాన్ని ఎల్లప్పుడూ పంపడం జరుగుతుంది; ఈ సమయంలో వినియోగదారు తన అప్లికేషన్లో నిర్ధారణ కోసం వేచి ఉంటారు మరియు ఇది దాని ఆప్టిమైజేషన్ డెవలపర్ల ప్రధాన పని.
తీర్మానం
ఫలితంగా, మేము బ్లాక్చెయిన్లపై నిర్వహించే కార్యకలాపాల రకాలను వివరించవచ్చు మరియు వాటిని అనేక వర్గాలుగా విభజించవచ్చు:
- క్రిప్టోగ్రాఫిక్ రూపాంతరాలు, రుజువు నిర్మాణం
- పీర్-టు-పీర్ నెట్వర్కింగ్, లావాదేవీ మరియు బ్లాక్ రెప్లికేషన్
- లావాదేవీల ప్రాసెసింగ్, స్మార్ట్ కాంట్రాక్టుల అమలు
- రాష్ట్ర డేటాబేస్కు బ్లాక్చెయిన్లో మార్పులను వర్తింపజేయడం, లావాదేవీలు మరియు బ్లాక్లపై డేటాను నవీకరించడం
- రాష్ట్ర డేటాబేస్, బ్లాక్చెయిన్ నోడ్ API, సబ్స్క్రిప్షన్ సేవలకు చదవడానికి మాత్రమే అభ్యర్థనలు
సాధారణంగా, ఆధునిక బ్లాక్చెయిన్ నోడ్ల కోసం సాంకేతిక అవసరాలు చాలా తీవ్రమైనవి - క్రిప్టోగ్రఫీ కోసం వేగవంతమైన CPUలు, స్టేట్ డేటాబేస్ను నిల్వ చేయడానికి మరియు త్వరగా యాక్సెస్ చేయడానికి పెద్ద మొత్తంలో RAM, పెద్ద సంఖ్యలో ఏకకాలంలో ఓపెన్ కనెక్షన్లను ఉపయోగించి నెట్వర్క్ పరస్పర చర్య మరియు పెద్ద నిల్వ. ఇటువంటి అధిక అవసరాలు మరియు వివిధ రకాల కార్యకలాపాల సమృద్ధి అనివార్యంగా నోడ్లకు తగినంత వనరులను కలిగి ఉండకపోవడానికి దారి తీస్తుంది, ఆపై పైన చర్చించిన ఏదైనా దశలు మొత్తం నెట్వర్క్ పనితీరుకు మరొక అడ్డంకిగా మారవచ్చు.
బ్లాక్చెయిన్ల పనితీరును డిజైన్ చేసేటప్పుడు మరియు మూల్యాంకనం చేసేటప్పుడు, మీరు ఈ పాయింట్లన్నింటినీ పరిగణనలోకి తీసుకోవాలి. దీన్ని చేయడానికి, మీరు క్లయింట్లు మరియు నెట్వర్క్ నోడ్ల నుండి ఏకకాలంలో కొలమానాలను సేకరించి విశ్లేషించాలి, వాటి మధ్య సహసంబంధాల కోసం వెతకాలి, క్లయింట్లకు సేవలను అందించడానికి పట్టే సమయాన్ని అంచనా వేయాలి, అన్ని ప్రధాన వనరులను పరిగణనలోకి తీసుకోవాలి: cpu/memory/network/storage , అవి ఎలా ఉపయోగించబడుతున్నాయో అర్థం చేసుకోండి మరియు ఒకరినొకరు ప్రభావితం చేయండి. విభిన్న కాన్ఫిగరేషన్లు మరియు స్థితులలో భారీ సంఖ్యలో ఉన్నందున ఇవన్నీ "ఎన్ని TPS" రూపంలో విభిన్న బ్లాక్చెయిన్ల వేగాన్ని పోల్చడం చాలా కృతజ్ఞత లేని పని. పెద్ద కేంద్రీకృత వ్యవస్థలలో, వందలాది సర్వర్ల సమూహాలలో, ఈ సమస్యలు కూడా సంక్లిష్టంగా ఉంటాయి మరియు పెద్ద సంఖ్యలో వివిధ కొలమానాల సేకరణ కూడా అవసరం, కానీ బ్లాక్చెయిన్లలో, p2p నెట్వర్క్లు, వర్చువల్ మెషీన్ల ప్రాసెసింగ్ ఒప్పందాలు, అంతర్గత ఆర్థిక వ్యవస్థలు, డిగ్రీల సంఖ్య స్వేచ్ఛ చాలా ఎక్కువగా ఉంది, ఇది అనేక సర్వర్లలో కూడా పరీక్షను చేస్తుంది, ఇది సూచిక కాదు మరియు వాస్తవికతతో దాదాపు ఎటువంటి సంబంధం లేని చాలా ఉజ్జాయింపు విలువలను మాత్రమే చూపుతుంది.
అందువల్ల, బ్లాక్చెయిన్ కోర్లో అభివృద్ధి చెందుతున్నప్పుడు, పనితీరును అంచనా వేయడానికి మరియు “గత సారితో పోలిస్తే ఇది మెరుగుపడిందా?” అనే ప్రశ్నకు సమాధానమివ్వడానికి మేము డజన్ల కొద్దీ నోడ్లతో బ్లాక్చెయిన్ను ప్రారంభించడాన్ని ఆర్కెస్ట్రేట్ చేసే మరియు స్వయంచాలకంగా బెంచ్మార్క్ను ప్రారంభించి కొలమానాలను సేకరించే చాలా క్లిష్టమైన సాఫ్ట్వేర్ను ఉపయోగిస్తాము. ; ఈ సమాచారం లేకుండా బహుళ పాల్గొనేవారితో పనిచేసే ప్రోటోకాల్లను డీబగ్ చేయడం చాలా కష్టం.
కాబట్టి, “మీ బ్లాక్చెయిన్లో ఎన్ని TPS ఉన్నాయి?” అనే ప్రశ్న మీకు వచ్చినప్పుడు, మీ సంభాషణకర్తకు కొంచెం టీ అందించండి మరియు అతను డజను గ్రాఫ్లను చూడటానికి సిద్ధంగా ఉన్నారా అని అడగండి మరియు బ్లాక్చెయిన్ పనితీరు సమస్యల యొక్క మూడు బాక్స్లను మరియు మీ సూచనలను కూడా వినండి. వాటిని పరిష్కరించడం...
మూలం: www.habr.com