ప్రధాన కంటెంట్‌కు దాటవేయి

వెర్కిల్ ట్రీస్

పేజీని సవరించండి (opens in a new tab)

వెర్కిల్ ట్రీస్ ("వెక్టర్ నిబద్ధత" (Vector commitment) మరియు "మెర్కిల్ వృక్షం" (Merkle Trees) యొక్క కలయిక) అనేవి ఒక డేటా నిర్మాణం, వీటిని ఎథీరియం నోడ్‌లను అప్‌గ్రేడ్ చేయడానికి ఉపయోగించవచ్చు, తద్వారా అవి బ్లాక్‌లను ధృవీకరించే సామర్థ్యాన్ని కోల్పోకుండా పెద్ద మొత్తంలో స్థితి డేటాను నిల్వ చేయడాన్ని ఆపగలవు.

స్థితిరాహిత్యం

స్థితిరహిత ఎథీరియం క్లయింట్‌ల మార్గంలో వెర్కిల్ ట్రీస్ ఒక కీలకమైన అడుగు. స్థితిరహిత క్లయింట్‌లు అంటే ఇన్‌కమింగ్ బ్లాక్‌లను ధృవీకరించడానికి మొత్తం స్థితి డేటాబేస్‌ను నిల్వ చేయాల్సిన అవసరం లేనివి. బ్లాక్‌లను ధృవీకరించడానికి ఎథీరియం యొక్క స్థితి యొక్క వారి స్వంత స్థానిక కాపీని ఉపయోగించడానికి బదులుగా, స్థితిరహిత క్లయింట్‌లు బ్లాక్‌తో వచ్చే స్థితి డేటాకు "సాక్ష్యం"ను ఉపయోగిస్తాయి. సాక్ష్యం అనేది ఒక నిర్దిష్ట లావాదేవీల సమితిని అమలు చేయడానికి అవసరమైన స్థితి డేటా యొక్క వ్యక్తిగత భాగాల సమాహారం, మరియు సాక్ష్యం నిజంగా పూర్తి డేటాలో భాగమని చెప్పడానికి ఒక క్రిప్టోగ్రాఫిక్ రుజువు. స్థితి డేటాబేస్‌కు బదులుగా సాక్ష్యం ఉపయోగించబడుతుంది. ఇది పని చేయడానికి, సాక్ష్యాలు చాలా చిన్నవిగా ఉండాలి, తద్వారా ధృవీకర్తలు వాటిని 12 సెకన్ల స్లాట్‌లో ప్రాసెస్ చేయడానికి వీలుగా నెట్‌వర్క్ అంతటా సురక్షితంగా ప్రసారం చేయబడతాయి. ప్రస్తుత స్థితి డేటా నిర్మాణం తగినది కాదు ఎందుకంటే సాక్ష్యాలు చాలా పెద్దవిగా ఉంటాయి. వెర్కిల్ ట్రీస్ చిన్న సాక్ష్యాలను ప్రారంభించడం ద్వారా ఈ సమస్యను పరిష్కరిస్తాయి, స్థితిరహిత క్లయింట్‌లకు ఉన్న ప్రధాన అడ్డంకులలో ఒకదాన్ని తొలగిస్తాయి.

ఎథీరియం క్లయింట్‌లు ప్రస్తుతం దాని స్థితి డేటాను నిల్వ చేయడానికి ప్యాట్రిసియా మెర్కిల్ ట్రై (Patricia Merkle Trie) అని పిలువబడే డేటా నిర్మాణాన్ని ఉపయోగిస్తాయి. వ్యక్తిగత ఖాతాల గురించిన సమాచారం ట్రైలో ఆకులుగా (leaves) నిల్వ చేయబడుతుంది మరియు ఒకే హాష్ మిగిలిపోయే వరకు ఆకుల జతలు పదేపదే హాష్ చేయబడతాయి. ఈ చివరి హాష్‌ను "రూట్" (root) అని పిలుస్తారు. బ్లాక్‌లను ధృవీకరించడానికి, ఎథీరియం క్లయింట్‌లు బ్లాక్‌లోని అన్ని లావాదేవీలను అమలు చేస్తాయి మరియు వాటి స్థానిక స్థితి ట్రైని అప్‌డేట్ చేస్తాయి. స్థానిక వృక్షం యొక్క రూట్ బ్లాక్ ప్రతిపాదకుడు అందించిన దానికి సమానంగా ఉంటే బ్లాక్ చెల్లుబాటు అయ్యేదిగా పరిగణించబడుతుంది, ఎందుకంటే బ్లాక్ ప్రతిపాదకుడు మరియు ధృవీకరించే నోడ్ చేసిన గణనలో ఏవైనా తేడాలు ఉంటే రూట్ హాష్ పూర్తిగా భిన్నంగా ఉంటుంది. దీనితో ఉన్న సమస్య ఏమిటంటే, బ్లాక్‌చైన్‌ను ధృవీకరించడానికి ప్రతి క్లయింట్ హెడ్ బ్లాక్ మరియు అనేక చారిత్రక బ్లాక్‌ల కోసం మొత్తం స్థితి ట్రైని నిల్వ చేయాలి (గెత్ (Geth)లో డిఫాల్ట్‌గా హెడ్ వెనుక 128 బ్లాక్‌ల కోసం స్థితి డేటాను ఉంచడం). దీనికి క్లయింట్‌లు పెద్ద మొత్తంలో డిస్క్ స్థలానికి ప్రాప్యత కలిగి ఉండాలి, ఇది చౌకైన, తక్కువ శక్తి గల హార్డ్‌వేర్‌పై పూర్తి నోడ్‌లను అమలు చేయడానికి ఒక అడ్డంకి. దీనికి పరిష్కారం ఏమిటంటే, స్థితి ట్రైని మరింత సమర్థవంతమైన నిర్మాణానికి (వెర్కిల్ ట్రీ) అప్‌డేట్ చేయడం, దీనిని పూర్తి స్థితి డేటాకు బదులుగా భాగస్వామ్యం చేయగల డేటాకు చిన్న "సాక్ష్యం" ఉపయోగించి సంగ్రహించవచ్చు. స్థితి డేటాను వెర్కిల్ ట్రీగా రీఫార్మాట్ చేయడం అనేది స్థితిరహిత క్లయింట్‌లకు మారడానికి ఒక మెట్టు.

సాక్ష్యం అంటే ఏమిటి మరియు మనకు అవి ఎందుకు కావాలి?

బ్లాక్‌ను ధృవీకరించడం అంటే బ్లాక్‌లో ఉన్న లావాదేవీలను తిరిగి అమలు చేయడం, ఎథీరియం యొక్క స్థితి ట్రైకి మార్పులను వర్తింపజేయడం మరియు కొత్త రూట్ హాష్‌ను లెక్కించడం. ధృవీకరించబడిన బ్లాక్ అంటే దాని లెక్కించబడిన స్థితి రూట్ హాష్ బ్లాక్‌తో అందించబడిన దానికి సమానంగా ఉంటుంది (ఎందుకంటే బ్లాక్ ప్రతిపాదకుడు వారు చేశామని చెప్పిన గణనను నిజంగా చేశారని దీని అర్థం). నేటి ఎథీరియం క్లయింట్‌లలో, స్థితిని అప్‌డేట్ చేయడానికి మొత్తం స్థితి ట్రైకి ప్రాప్యత అవసరం, ఇది స్థానికంగా నిల్వ చేయబడాల్సిన పెద్ద డేటా నిర్మాణం. బ్లాక్‌లోని లావాదేవీలను అమలు చేయడానికి అవసరమైన స్థితి డేటా యొక్క శకలాలు మాత్రమే సాక్ష్యంలో ఉంటాయి. బ్లాక్ ప్రతిపాదకుడు బ్లాక్ లావాదేవీలను అమలు చేశారని మరియు స్థితిని సరిగ్గా అప్‌డేట్ చేశారని ధృవీకరించడానికి ధృవీకర్త ఆ శకలాలను మాత్రమే ఉపయోగించగలరు. అయితే, దీని అర్థం ఎథీరియం నెట్‌వర్క్‌లోని పీర్‌ల మధ్య సాక్ష్యం 12 సెకన్ల స్లాట్‌లో ప్రతి నోడ్ ద్వారా సురక్షితంగా స్వీకరించబడటానికి మరియు ప్రాసెస్ చేయబడటానికి తగినంత వేగంగా బదిలీ చేయబడాలి. సాక్ష్యం చాలా పెద్దదిగా ఉంటే, కొన్ని నోడ్‌లు దాన్ని డౌన్‌లోడ్ చేయడానికి మరియు చైన్‌తో వేగంగా ఉండటానికి చాలా సమయం పట్టవచ్చు. ఇది కేంద్రీకృత శక్తి ఎందుకంటే వేగవంతమైన ఇంటర్నెట్ కనెక్షన్‌లు ఉన్న నోడ్‌లు మాత్రమే బ్లాక్‌లను ధృవీకరించడంలో పాల్గొనగలవని దీని అర్థం. వెర్కిల్ ట్రీస్‌తో మీ హార్డ్ డ్రైవ్‌లో స్థితిని నిల్వ చేయాల్సిన అవసరం లేదు; బ్లాక్‌ను ధృవీకరించడానికి మీకు అవసరమైన ప్రతిదీ బ్లాక్‌లోనే ఉంటుంది. దురదృష్టవశాత్తు, మెర్కిల్ ట్రైస్ నుండి ఉత్పత్తి చేయగల సాక్ష్యాలు స్థితిరహిత క్లయింట్‌లకు మద్దతు ఇవ్వడానికి చాలా పెద్దవి.

వెర్కిల్ ట్రీస్ చిన్న సాక్ష్యాలను ఎందుకు ఎనేబుల్ చేస్తాయి?

మెర్కిల్ ట్రై యొక్క నిర్మాణం సాక్ష్యం పరిమాణాలను చాలా పెద్దదిగా చేస్తుంది - 12 సెకన్ల స్లాట్‌లో పీర్‌ల మధ్య సురక్షితంగా ప్రసారం చేయడానికి చాలా పెద్దది. ఎందుకంటే సాక్ష్యం అనేది ఆకులలో ఉంచబడిన డేటాను రూట్ హాష్‌కు అనుసంధానించే మార్గం. డేటాను ధృవీకరించడానికి ప్రతి ఆకును రూట్‌కు అనుసంధానించే అన్ని ఇంటర్మీడియట్ హాష్‌లను మాత్రమే కాకుండా, అన్ని "తోబుట్టువు" (sibling) నోడ్‌లను కూడా కలిగి ఉండటం అవసరం. రుజువులోని ప్రతి నోడ్‌కు ఒక తోబుట్టువు ఉంటుంది, దానితో ట్రైలో తదుపరి హాష్‌ను సృష్టించడానికి హాష్ చేయబడుతుంది. ఇది చాలా డేటా. వెర్కిల్ ట్రీస్ చెట్టు ఆకులు మరియు దాని రూట్ మధ్య దూరాన్ని తగ్గించడం ద్వారా మరియు రూట్ హాష్‌ను ధృవీకరించడానికి తోబుట్టువు నోడ్‌లను అందించాల్సిన అవసరాన్ని తొలగించడం ద్వారా సాక్ష్యం పరిమాణాన్ని తగ్గిస్తాయి. హాష్-శైలి వెక్టర్ నిబద్ధతకు బదులుగా శక్తివంతమైన బహుపది నిబద్ధత (polynomial commitment) పథకాన్ని ఉపయోగించడం ద్వారా మరింత స్థల సామర్థ్యం పొందబడుతుంది. బహుపది నిబద్ధత సాక్ష్యం అది నిరూపించే ఆకుల సంఖ్యతో సంబంధం లేకుండా స్థిరమైన పరిమాణాన్ని కలిగి ఉండటానికి అనుమతిస్తుంది.

బహుపది నిబద్ధత పథకం కింద, సాక్ష్యాలు నిర్వహించదగిన పరిమాణాలను కలిగి ఉంటాయి, వీటిని పీర్-టు-పీర్ నెట్‌వర్క్‌లో సులభంగా బదిలీ చేయవచ్చు. ఇది కనీస డేటాతో ప్రతి బ్లాక్‌లోని స్థితి మార్పులను ధృవీకరించడానికి క్లయింట్‌లను అనుమతిస్తుంది.

సాక్ష్యం పరిమాణం అది కలిగి ఉన్న ఆకుల సంఖ్యను బట్టి మారుతుంది. సాక్ష్యం 1000 ఆకులను కవర్ చేస్తుందని ఊహిస్తే, మెర్కిల్ ట్రైకి సాక్ష్యం సుమారు 3.5MB ఉంటుంది (ట్రైకి 7 స్థాయిలు ఉన్నాయని ఊహిస్తే). వెర్కిల్ ట్రీలో అదే డేటాకు సాక్ష్యం (చెట్టుకు 4 స్థాయిలు ఉన్నాయని ఊహిస్తే) సుమారు 150 kB ఉంటుంది - సుమారు 23 రెట్లు చిన్నది. సాక్ష్యం పరిమాణంలో ఈ తగ్గింపు స్థితిరహిత క్లయింట్ సాక్ష్యాలు ఆమోదయోగ్యంగా చిన్నవిగా ఉండటానికి అనుమతిస్తుంది. ఏ నిర్దిష్ట బహుపది నిబద్ధత ఉపయోగించబడుతుందనే దానిపై ఆధారపడి బహుపది సాక్ష్యాలు 0.128 - 1 kB ఉంటాయి.

వెర్కిల్ ట్రీ యొక్క నిర్మాణం ఏమిటి?

వెర్కిల్ ట్రీస్ అనేవి (key,value) జతలు, ఇక్కడ కీలు 31-బైట్ స్టెమ్ (stem) మరియు ఒకే బైట్ సఫిక్స్ (suffix)తో కూడిన 32-బైట్ మూలకాలు. ఈ కీలు ఎక్స్‌టెన్షన్ (extension) నోడ్‌లు మరియు ఇన్నర్ (inner) నోడ్‌లుగా నిర్వహించబడతాయి. ఎక్స్‌టెన్షన్ నోడ్‌లు విభిన్న సఫిక్స్‌లతో 256 పిల్లల కోసం ఒకే స్టెమ్‌ను సూచిస్తాయి. ఇన్నర్ నోడ్‌లకు కూడా 256 పిల్లలు ఉంటారు, కానీ అవి ఇతర ఎక్స్‌టెన్షన్ నోడ్‌లు కావచ్చు. వెర్కిల్ ట్రీ మరియు మెర్కిల్ వృక్షం నిర్మాణం మధ్య ప్రధాన వ్యత్యాసం ఏమిటంటే, వెర్కిల్ ట్రీ చాలా చదునుగా ఉంటుంది, అంటే ఆకును రూట్‌కు అనుసంధానించే ఇంటర్మీడియట్ నోడ్‌లు తక్కువగా ఉంటాయి మరియు అందువల్ల రుజువును రూపొందించడానికి తక్కువ డేటా అవసరం.

Diagram of a Verkle tree data structure

వెర్కిల్ ట్రీస్ నిర్మాణం గురించి మరింత చదవండి (opens in a new tab)

ప్రస్తుత పురోగతి

వెర్కిల్ ట్రీ టెస్ట్‌నెట్‌లు ఇప్పటికే రన్ అవుతున్నాయి, అయితే వెర్కిల్ ట్రీస్‌కు మద్దతు ఇవ్వడానికి క్లయింట్‌లకు ఇంకా గణనీయమైన అప్‌డేట్‌లు అవసరం. టెస్ట్‌నెట్‌లకు కాంట్రాక్ట్‌లను డిప్లాయ్ చేయడం ద్వారా లేదా టెస్ట్‌నెట్ క్లయింట్‌లను రన్ చేయడం ద్వారా మీరు పురోగతిని వేగవంతం చేయడంలో సహాయపడగలరు.

గిలౌమ్ బ్యాలెట్ (Guillaume Ballet) కాండ్రియు (Condrieu) వెర్కిల్ టెస్ట్‌నెట్‌ను వివరించడం చూడండి (opens in a new tab) (కాండ్రియు టెస్ట్‌నెట్ ప్రూఫ్-ఆఫ్-వర్క్ (PoW) అని మరియు ఇప్పుడు దాని స్థానంలో వెర్కిల్ జెన్ డెవ్‌నెట్ 6 (Verkle Gen Devnet 6) టెస్ట్‌నెట్ వచ్చిందని గమనించండి).

మరింత చదవడానికి

పేజీ చివరి నవీకరణ: 26 ఫిబ్రవరి, 2026