ధృవీకరణలు
ప్రతి ఎపోక్ సమయంలో ఒక ధృవీకర్త ఒక ధృవీకరణను సృష్టించి, సంతకం చేసి, ప్రసారం చేయాలని ఆశించబడుతుంది. ఈ పేజీ ఈ ధృవీకరణలు ఎలా ఉంటాయో మరియు ఏకాభిప్రాయ క్లయింట్ల మధ్య అవి ఎలా ప్రాసెస్ చేయబడతాయో మరియు కమ్యూనికేట్ చేయబడతాయో వివరిస్తుంది.
ధృవీకరణ అంటే ఏమిటి?
ప్రతి (6.4 నిమిషాలు) ఒక ధృవీకర్త నెట్వర్క్కు ఒక ధృవీకరణను ప్రతిపాదిస్తారు. ఈ ధృవీకరణ ఎపోక్లోని ఒక నిర్దిష్ట స్లాట్ కోసం ఉంటుంది. ధృవీకరణ యొక్క ఉద్దేశ్యం చైన్ గురించి ధృవీకర్త యొక్క అభిప్రాయానికి అనుకూలంగా ఓటు వేయడం, ముఖ్యంగా అత్యంత ఇటీవలి సమర్థించబడిన బ్లాక్ మరియు ప్రస్తుత ఎపోక్లోని మొదటి బ్లాక్ (source మరియు target చెక్పాయింట్లుగా పిలువబడతాయి). పాల్గొనే ధృవీకర్తలందరికీ ఈ సమాచారం కలపబడుతుంది, తద్వారా బ్లాక్చైన్ స్థితి గురించి నెట్వర్క్ ఏకాభిప్రాయానికి చేరుకోవడానికి వీలు కల్పిస్తుంది.
ధృవీకరణ కింది భాగాలను కలిగి ఉంటుంది:
aggregation_bits: ధృవీకర్తల బిట్లిస్ట్, ఇక్కడ స్థానం వారి కమిటీలోని ధృవీకర్త సూచికకు మ్యాప్ చేయబడుతుంది; విలువ (0/1) ధృవీకర్తdataపై సంతకం చేశారో లేదో సూచిస్తుంది (అంటే, వారు యాక్టివ్గా ఉన్నారా మరియు బ్లాక్ ప్రతిపాదకుడితో ఏకీభవిస్తున్నారా)data: కింద నిర్వచించిన విధంగా, ధృవీకరణకు సంబంధించిన వివరాలుsignature: వ్యక్తిగత ధృవీకర్తల సంతకాలను సమగ్రపరిచే ఒక BLS సంతకం
ధృవీకరించే ధృవీకర్తకు మొదటి పని dataను నిర్మించడం. data కింది సమాచారాన్ని కలిగి ఉంటుంది:
slot: ధృవీకరణ సూచించే స్లాట్ సంఖ్యindex: ఇచ్చిన స్లాట్లో ధృవీకర్త ఏ కమిటీకి చెందినవారో గుర్తించే సంఖ్యbeacon_block_root: చైన్ హెడ్ వద్ద ధృవీకర్త చూసే బ్లాక్ యొక్క రూట్ హాష్ (ఫోర్క్-ఛాయిస్ అల్గారిథమ్ను వర్తింపజేసిన ఫలితం)source: అత్యంత ఇటీవలి సమర్థించబడిన బ్లాక్గా ధృవీకర్తలు దేనిని చూస్తున్నారో సూచించే నిశ్చయత్వం ఓటులో భాగంtarget: ప్రస్తుత ఎపోక్లో మొదటి బ్లాక్గా ధృవీకర్తలు దేనిని చూస్తున్నారో సూచించే నిశ్చయత్వం ఓటులో భాగం
data నిర్మించబడిన తర్వాత, ధృవీకర్త తాము పాల్గొన్నామని చూపించడానికి వారి స్వంత ధృవీకర్త సూచికకు అనుగుణంగా ఉన్న aggregation_bitsలోని బిట్ను 0 నుండి 1కి మార్చవచ్చు.
చివరగా, ధృవీకర్త ధృవీకరణపై సంతకం చేసి, దానిని నెట్వర్క్కు ప్రసారం చేస్తారు.
సమగ్ర ధృవీకరణ
ప్రతి ధృవీకర్త కోసం ఈ డేటాను నెట్వర్క్ చుట్టూ పంపడంతో గణనీయమైన ఓవర్హెడ్ ముడిపడి ఉంటుంది. అందువల్ల, వ్యక్తిగత ధృవీకర్తల నుండి వచ్చే ధృవీకరణలు మరింత విస్తృతంగా ప్రసారం చేయబడటానికి ముందు సబ్నెట్లలో సమగ్రపరచబడతాయి. ప్రసారం చేయబడే ధృవీకరణలో ఏకాభిప్రాయ data మరియు ఆ dataతో ఏకీభవించే ధృవీకర్తలందరి సంతకాలను కలపడం ద్వారా ఏర్పడిన ఒకే సంతకం ఉండేలా సంతకాలను ఒకచోట చేర్చడం ఇందులో ఉంటుంది. దీనిని aggregation_bits ఉపయోగించి తనిఖీ చేయవచ్చు ఎందుకంటే ఇది వారి కమిటీలోని ప్రతి ధృవీకర్త యొక్క సూచికను అందిస్తుంది (దీని ID dataలో అందించబడింది), దీనిని వ్యక్తిగత సంతకాలను క్వెరీ చేయడానికి ఉపయోగించవచ్చు.
ప్రతి ఎపోక్లో ప్రతి సబ్నెట్లోని 16 మంది ధృవీకర్తలు aggregatorsగా ఎంపిక చేయబడతారు. అగ్రిగేటర్లు గాసిప్ నెట్వర్క్ ద్వారా వారు వినే, తమ స్వంత dataకి సమానమైన ధృవీకరణలన్నింటినీ సేకరిస్తారు. సరిపోలే ప్రతి ధృవీకరణ పంపినవారి వివరాలు aggregation_bitsలో రికార్డ్ చేయబడతాయి. అగ్రిగేటర్లు ఆ తర్వాత ధృవీకరణల సమూహాన్ని విస్తృత నెట్వర్క్కు ప్రసారం చేస్తారు.
ఒక ధృవీకర్త బ్లాక్ ప్రతిపాదకుడిగా ఎంపికైనప్పుడు, వారు సబ్నెట్ల నుండి సమగ్ర ధృవీకరణలను కొత్త బ్లాక్లోని తాజా స్లాట్ వరకు ప్యాకేజీ చేస్తారు.
ధృవీకరణ చేరిక జీవితచక్రం
- ఉత్పత్తి (Generation)
- వ్యాప్తి (Propagation)
- సమగ్రపరచడం (Aggregation)
- వ్యాప్తి (Propagation)
- చేరిక (Inclusion)
ధృవీకరణ జీవితచక్రం కింద ఉన్న రేఖాచిత్రంలో వివరించబడింది:
ప్రతిఫలాలు
ధృవీకరణలను సమర్పించినందుకు ధృవీకర్తలకు ప్రతిఫలం లభిస్తుంది. ధృవీకరణ ప్రతిఫలం భాగస్వామ్య ఫ్లాగ్లు (మూలం, లక్ష్యం మరియు హెడ్), బేస్ ప్రతిఫలం మరియు భాగస్వామ్య రేటుపై ఆధారపడి ఉంటుంది.
సమర్పించిన ధృవీకరణ మరియు దాని చేరిక ఆలస్యం ఆధారంగా ప్రతి భాగస్వామ్య ఫ్లాగ్ నిజం (true) లేదా అబద్ధం (false) కావచ్చు.
మూడు ఫ్లాగ్లు నిజమైనప్పుడు ఉత్తమ దృశ్యం ఏర్పడుతుంది, ఈ సందర్భంలో ధృవీకర్త (సరైన ఫ్లాగ్కు) సంపాదిస్తారు:
reward += base reward * flag weight * flag attesting rate / 64
ఫ్లాగ్ ధృవీకరణ రేటు అనేది మొత్తం క్రియాశీల ప్రభావవంతమైన నిల్వతో పోలిస్తే ఇచ్చిన ఫ్లాగ్ కోసం ధృవీకరించే ధృవీకర్తలందరి ప్రభావవంతమైన నిల్వల మొత్తాన్ని ఉపయోగించి కొలవబడుతుంది.
బేస్ ప్రతిఫలం
ధృవీకరించే ధృవీకర్తల సంఖ్య మరియు వారి ప్రభావవంతమైన స్టేక్ చేయబడిన ఈథర్ నిల్వల ప్రకారం బేస్ ప్రతిఫలం లెక్కించబడుతుంది:
base reward = validator effective balance x 2^6 / SQRT(Effective balance of all active validators)
చేరిక ఆలస్యం
ధృవీకర్తలు చైన్ హెడ్ (block n)పై ఓటు వేసిన సమయంలో, block n+1 ఇంకా ప్రతిపాదించబడలేదు. అందువల్ల ధృవీకరణలు సహజంగానే ఒక బ్లాక్ తర్వాత చేర్చబడతాయి, కాబట్టి చైన్ హెడ్గా block nపై ఓటు వేసిన ధృవీకరణలన్నీ block n+1లో చేర్చబడ్డాయి మరియు చేరిక ఆలస్యం 1 అవుతుంది. చేరిక ఆలస్యం రెండు స్లాట్లకు రెట్టింపు అయితే, ధృవీకరణ ప్రతిఫలం సగానికి తగ్గుతుంది, ఎందుకంటే ధృవీకరణ ప్రతిఫలాన్ని లెక్కించడానికి బేస్ ప్రతిఫలం చేరిక ఆలస్యం యొక్క విలోమంతో గుణించబడుతుంది.
ధృవీకరణ దృశ్యాలు
ఓటింగ్ ధృవీకర్త తప్పిపోవడం
ధృవీకర్తలు తమ ధృవీకరణను సమర్పించడానికి గరిష్టంగా 1 ఎపోక్ సమయం ఉంటుంది. ఎపోక్ 0లో ధృవీకరణ తప్పిపోయినట్లయితే, వారు దానిని ఎపోక్ 1లో చేరిక ఆలస్యంతో సమర్పించవచ్చు.
అగ్రిగేటర్ తప్పిపోవడం
ప్రతి ఎపోక్కు మొత్తం 16 మంది అగ్రిగేటర్లు ఉంటారు. అదనంగా, యాదృచ్ఛిక ధృవీకర్తలు 256 ఎపోక్ల కోసం రెండు సబ్నెట్లకు సబ్స్క్రైబ్ చేస్తారు మరియు అగ్రిగేటర్లు తప్పిపోయిన సందర్భంలో బ్యాకప్గా పనిచేస్తారు.
బ్లాక్ ప్రతిపాదకుడు తప్పిపోవడం
కొన్ని సందర్భాల్లో అదృష్టవంతుడైన అగ్రిగేటర్ బ్లాక్ ప్రతిపాదకుడిగా కూడా మారవచ్చని గమనించండి. బ్లాక్ ప్రతిపాదకుడు తప్పిపోయినందున ధృవీకరణ చేర్చబడకపోతే, తదుపరి బ్లాక్ ప్రతిపాదకుడు సమగ్ర ధృవీకరణను తీసుకుని దానిని తదుపరి బ్లాక్లో చేర్చుతారు. అయితే, చేరిక ఆలస్యం ఒకటి పెరుగుతుంది.
మరింత చదవడానికి
- విటాలిక్ యొక్క ఉల్లేఖన ఏకాభిప్రాయ స్పెక్ (annotated consensus spec)లో ధృవీకరణలు (opens in a new tab)
- eth2book.infoలో ధృవీకరణలు (opens in a new tab)
మీకు సహాయపడిన కమ్యూనిటీ వనరు గురించి తెలుసా? ఈ పేజీని సవరించి, దానిని జోడించండి!
