प्रमुख मजकुराकडे जा
Change page

ब्लॉक

पृष्ठ अखेरचे अद्यतन: १४ फेब्रुवारी, २०२६

ब्लॉक्स हे व्यवहारांचे बॅचेस आहेत, ज्यात चेनमधील मागील ब्लॉकचा हॅश असतो. हे ब्लॉक्सना (चेनमध्ये) एकत्र जोडते कारण हॅश हे ब्लॉक डेटामधून क्रिप्टोग्राफिकरित्या मिळवले जातात. हे फसवणूक टाळते, कारण इतिहासातील कोणत्याही ब्लॉकमधील एक बदल पुढील सर्व ब्लॉक्सना अवैध ठरवेल कारण त्यानंतरचे सर्व हॅश बदलतील आणि ब्लॉकचेन चालवणाऱ्या प्रत्येकाच्या ते लक्षात येईल.

पूर्वतयारी

ब्लॉक्स हा नवशिक्यांसाठी एक अतिशय सोपा विषय आहे. परंतु हे पृष्ठ तुम्हाला अधिक चांगल्या प्रकारे समजण्यास मदत करण्यासाठी, आम्ही शिफारस करतो की तुम्ही प्रथम खाती, व्यवहार, आणि आमची Ethereum ची ओळख वाचा.

ब्लॉक्स का?

Ethereum नेटवर्कवरील सर्व सहभागी एक सिंक्रोनाइझ केलेली स्थिती राखतील आणि व्यवहारांच्या अचूक इतिहासावर सहमत होतील हे सुनिश्चित करण्यासाठी, आम्ही व्यवहारांना ब्लॉक्समध्ये गटबद्ध करतो. याचा अर्थ डझनभर (किंवा शेकडो) व्यवहार एकाच वेळी वचनबद्ध, सहमत आणि सिंक्रोनाइझ केले जातात.

एका ब्लॉकमध्ये व्यवहार दर्शवणारे एक आकृती ज्यामुळे स्थिती बदल होतो Ethereum EVM सचित्रopens in a new tab वरून रूपांतरित केलेला आकृती

कमिट्समध्ये अंतर ठेवून, आम्ही सर्व नेटवर्क सहभागींना एकमतावर येण्यासाठी पुरेसा वेळ देतो: जरी प्रति सेकंद डझनभर व्यवहार विनंत्या येत असल्या तरी, Ethereum वर ब्लॉक्स दर बारा सेकंदांनी एकदाच तयार आणि वचनबद्ध केले जातात.

ब्लॉक्स कसे कार्य करतात

व्यवहारांचा इतिहास जपण्यासाठी, ब्लॉक्स कठोरपणे क्रमाने लावलेले असतात (तयार केलेल्या प्रत्येक नवीन ब्लॉकमध्ये त्याच्या पॅरेंट ब्लॉकचा संदर्भ असतो), आणि ब्लॉक्समधील व्यवहार देखील कठोरपणे क्रमाने लावलेले असतात. दुर्मिळ प्रकरणे वगळता, कोणत्याही वेळी, नेटवर्कवरील सर्व सहभागी ब्लॉक्सच्या अचूक संख्येवर आणि इतिहासावर सहमत असतात, आणि सध्याच्या थेट व्यवहार विनंत्यांना पुढील ब्लॉकमध्ये गटबद्ध करण्यासाठी काम करत आहेत.

एकदा नेटवर्कवरील यादृच्छिकपणे निवडलेल्या व्हॅलिडेटरद्वारे ब्लॉक एकत्र केल्यावर, तो उर्वरित नेटवर्कवर प्रसारित केला जातो; सर्व नोड्स हा ब्लॉक त्यांच्या ब्लॉकचेनच्या शेवटी जोडतात आणि पुढील ब्लॉक तयार करण्यासाठी नवीन व्हॅलिडेटर निवडला जातो. नेमकी ब्लॉक-असेम्ब्ली प्रक्रिया आणि वचनबद्धता/एकमत प्रक्रिया सध्या Ethereum च्या “प्रूफ-ऑफ-स्टेक” प्रोटोकॉलद्वारे निर्दिष्ट केली आहे.

प्रूफ-ऑफ-स्टेक प्रोटोकॉल

प्रूफ-ऑफ-स्टेकचा अर्थ खालीलप्रमाणे आहे:

  • व्हॅलिडेटिंग नोड्सना वाईट वर्तनाविरुद्ध तारणासाठी एका डिपॉझिट करारामध्ये ३२ ETH स्टेक करावे लागतात. हे नेटवर्कचे संरक्षण करण्यास मदत करते कारण सिद्ध करण्यायोग्य अप्रामाणिक क्रियाकलापामुळे त्यापैकी काही किंवा सर्व स्टेक नष्ट होतात.
  • प्रत्येक स्लॉटमध्ये (बारा सेकंदांच्या अंतरावर) एक व्हॅलिडेटर यादृच्छिकपणे ब्लॉक प्रस्तावक म्हणून निवडला जातो. ते व्यवहार एकत्र बांधतात, त्यांना कार्यान्वित करतात आणि एक नवीन 'स्थिती' निश्चित करतात. ते ही माहिती एका ब्लॉकमध्ये गुंडाळतात आणि इतर व्हॅलिडेटर्सना पाठवतात.
  • नवीन ब्लॉकबद्दल ऐकणारे इतर व्हॅलिडेटर्स, जागतिक स्थितीतील प्रस्तावित बदलाशी ते सहमत आहेत याची खात्री करण्यासाठी व्यवहार पुन्हा कार्यान्वित करतात. ब्लॉक वैध आहे असे गृहीत धरून, ते तो त्यांच्या स्वतःच्या डेटाबेसमध्ये जोडतात.
  • जर एखाद्या व्हॅलिडेटरला एकाच स्लॉटसाठी दोन परस्परविरोधी ब्लॉक्सबद्दल कळले, तर ते सर्वाधिक स्टेक केलेल्या ETH द्वारे समर्थित असलेला एक निवडण्यासाठी त्यांचा फोर्क-चॉइस अल्गोरिदम वापरतात.

प्रूफ-ऑफ-स्टेक बद्दल अधिक

ब्लॉकमध्ये काय आहे?

एका ब्लॉकमध्ये बरीच माहिती असते. सर्वोच्च स्तरावर एका ब्लॉकमध्ये खालील फील्ड्स असतात:

फील्डवर्णन
slotतो स्लॉट ज्यामध्ये ब्लॉक आहे
proposer_indexब्लॉक प्रस्तावित करणाऱ्या व्हॅलिडेटरचा ID
parent_rootमागील ब्लॉकचा हॅश
state_rootस्टेट ऑब्जेक्टचा रूट हॅश
bodyएक ऑब्जेक्ट ज्यात अनेक फील्ड्स आहेत, जसे खाली परिभाषित केले आहे

ब्लॉकच्या body मध्ये स्वतःचे अनेक फील्ड्स आहेत:

फील्डवर्णन
randao_revealपुढील ब्लॉक प्रस्तावक निवडण्यासाठी वापरले जाणारे मूल्य
eth1_dataडिपॉझिट कराराबद्दल माहिती
graffitiब्लॉक्स टॅग करण्यासाठी वापरलेला अनियंत्रित डेटा
proposer_slashingsस्लॅश करायच्या व्हॅलिडेटर्सची यादी
attester_slashingsस्लॅश करायच्या अटेस्टर्सची यादी
attestationsमागील स्लॉट्सच्या विरोधात केलेल्या अटेस्टेशन्सची यादी
depositsडिपॉझिट करारामधील नवीन डिपॉझिट्सची यादी
voluntary_exitsनेटवर्कमधून बाहेर पडणाऱ्या व्हॅलिडेटर्सची यादी
sync_aggregateलाईट क्लायंट्सना सेवा देण्यासाठी वापरलेला व्हॅलिडेटर्सचा उपसंच
execution_payloadएक्झिक्यूशन क्लायंटकडून आलेले व्यवहार

attestations फील्डमध्ये ब्लॉकमधील सर्व अटेस्टेशन्सची यादी असते. अटेस्टेशन्सचा स्वतःचा डेटा प्रकार असतो ज्यात डेटाचे अनेक भाग असतात. प्रत्येक अटेस्टेशनमध्ये असते:

फील्डवर्णन
aggregation_bitsया अटेस्टेशनमध्ये भाग घेतलेल्या व्हॅलिडेटर्सची यादी
dataअनेक सबफील्ड्स असलेला एक कंटेनर
signaturedata भागाच्या विरोधात व्हॅलिडेटर्सच्या एका संचाची एकत्रित स्वाक्षरी

attestation मधील data फील्डमध्ये खालील गोष्टी असतात:

फील्डवर्णन
slotतो स्लॉट ज्याच्याशी अटेस्टेशन संबंधित आहे
indexअटेस्टिंग व्हॅलिडेटर्ससाठी निर्देशांक
beacon_block_rootचेनचा हेड म्हणून पाहिल्या जाणाऱ्या बीकन ब्लॉकचा रूट हॅश
स्रोतशेवटचा जस्टिफाइड चेकपॉइंट
targetनवीनतम इपॉक बाउंड्री ब्लॉक

execution_payload मधील व्यवहार कार्यान्वित केल्याने जागतिक स्थिती अद्यतनित होते. नवीन स्थिती नवीन ब्लॉकच्या state_root फील्डमधील स्थितीशी जुळते याची खात्री करण्यासाठी सर्व क्लायंट execution_payload मधील व्यवहार पुन्हा कार्यान्वित करतात. अशाप्रकारे क्लायंट्सना कळू शकते की नवीन ब्लॉक वैध आहे आणि त्यांच्या ब्लॉकचेनमध्ये जोडण्यासाठी सुरक्षित आहे. execution payload स्वतःच अनेक फील्ड्स असलेला एक ऑब्जेक्ट आहे. एक execution_payload_header सुद्धा आहे ज्यात एक्झिक्यूशन डेटाबद्दल महत्त्वाची सारांश माहिती असते. या डेटा संरचना खालीलप्रमाणे आयोजित केल्या आहेत:

execution_payload_header मध्ये खालील फील्ड्स असतात:

फील्डवर्णन
parent_hashपॅरेंट ब्लॉकचा हॅश
fee_recipientव्यवहार शुल्क भरण्यासाठी खाते पत्ता
state_rootया ब्लॉकमधील बदल लागू केल्यानंतर जागतिक स्थितीसाठी रूट हॅश
receipts_rootव्यवहार पावती ट्रायचा हॅश
logs_bloomइव्हेंट लॉग्स असलेली डेटा संरचना
prev_randaoयादृच्छिक व्हॅलिडेटर निवडात वापरलेले मूल्य
block_numberसध्याच्या ब्लॉकचा क्रमांक
gas_limitया ब्लॉकमध्ये परवानगी असलेली कमाल गॅस
gas_usedया ब्लॉकमध्ये वापरलेली गॅसची वास्तविक रक्कम
timestampब्लॉकची वेळ
extra_dataरॉ बाइट्स म्हणून अनियंत्रित अतिरिक्त डेटा
base_fee_per_gasबेस फी मूल्य
block_hashएक्झिक्यूशन ब्लॉकचा हॅश
transactions_rootपेलोडमधील व्यवहारांचा रूट हॅश
withdrawal_rootपेलोडमधील काढलेल्या रकमांचा रूट हॅश

execution_payload मध्येच खालील गोष्टी असतात (लक्षात घ्या की हे हेडरसारखेच आहे, फक्त फरक एवढाच की व्यवहारांच्या रूट हॅशऐवजी यात व्यवहारांची प्रत्यक्ष यादी आणि काढलेल्या रकमेची माहिती समाविष्ट आहे):

फील्डवर्णन
parent_hashपॅरेंट ब्लॉकचा हॅश
fee_recipientव्यवहार शुल्क भरण्यासाठी खाते पत्ता
state_rootया ब्लॉकमधील बदल लागू केल्यानंतर जागतिक स्थितीसाठी रूट हॅश
receipts_rootव्यवहार पावती ट्रायचा हॅश
logs_bloomइव्हेंट लॉग्स असलेली डेटा संरचना
prev_randaoयादृच्छिक व्हॅलिडेटर निवडात वापरलेले मूल्य
block_numberसध्याच्या ब्लॉकचा क्रमांक
gas_limitया ब्लॉकमध्ये परवानगी असलेली कमाल गॅस
gas_usedया ब्लॉकमध्ये वापरलेली गॅसची वास्तविक रक्कम
timestampब्लॉकची वेळ
extra_dataरॉ बाइट्स म्हणून अनियंत्रित अतिरिक्त डेटा
base_fee_per_gasबेस फी मूल्य
block_hashएक्झिक्यूशन ब्लॉकचा हॅश
व्यवहारकार्यान्वित करायच्या व्यवहारांची यादी
withdrawalsविथड्रॉवल ऑब्जेक्ट्सची यादी

withdrawals यादीत खालीलप्रमाणे संरचित withdrawal ऑब्जेक्ट्स असतात:

फील्डवर्णन
addressपैसे काढलेल्या खात्याचा पत्ता
amountकाढलेली रक्कम
indexविथड्रॉवल इंडेक्स मूल्य
validatorIndexव्हॅलिडेटर इंडेक्स मूल्य

ब्लॉकची वेळ

ब्लॉकची वेळ म्हणजे ब्लॉक्सना वेगळे करणारी वेळ. Ethereum मध्ये, वेळेची विभागणी 'स्लॉट्स' नावाच्या बारा सेकंदांच्या युनिट्समध्ये केली जाते. प्रत्येक स्लॉटमध्ये ब्लॉक प्रस्तावित करण्यासाठी एकच व्हॅलिडेटर निवडला जातो. सर्व व्हॅलिडेटर्स ऑनलाइन आणि पूर्णपणे कार्यरत आहेत असे गृहीत धरल्यास, प्रत्येक स्लॉटमध्ये एक ब्लॉक असेल, म्हणजेच ब्लॉकची वेळ १२ सेकंद आहे. तथापि, कधीकधी व्हॅलिडेटर्स ब्लॉक प्रस्तावित करण्यासाठी बोलावल्यावर ऑफलाइन असू शकतात, म्हणजे स्लॉट्स कधीकधी रिकामे जाऊ शकतात.

ही अंमलबजावणी प्रूफ-ऑफ-वर्क आधारित प्रणालींपेक्षा वेगळी आहे, जिथे ब्लॉकच्या वेळा संभाव्य असतात आणि प्रोटोकॉलच्या लक्ष्यित मायनिंग डिफिकल्टीद्वारे ट्यून केल्या जातात. Ethereum ची सरासरी ब्लॉक वेळopens in a new tab हे याचे उत्तम उदाहरण आहे, ज्याद्वारे नवीन १२ सेकंदांच्या ब्लॉक वेळेच्या सुसंगततेच्या आधारावर प्रूफ-ऑफ-वर्ककडून प्रूफ-ऑफ-स्टेककडे संक्रमण स्पष्टपणे अनुमानित केले जाऊ शकते.

ब्लॉकचा आकार

एक शेवटची महत्त्वाची गोष्ट म्हणजे ब्लॉक्स स्वतः आकारात मर्यादित असतात. प्रत्येक ब्लॉकचे लक्ष्यित आकार ३० दशलक्ष गॅस आहे, परंतु नेटवर्कच्या मागणीनुसार ब्लॉक्सचा आकार वाढेल किंवा कमी होईल, तो ६० दशलक्ष गॅसच्या ब्लॉक मर्यादेपर्यंत (लक्ष्यित ब्लॉक आकाराच्या २ पट) जाईल. ब्लॉक गॅस मर्यादा मागील ब्लॉकच्या गॅस मर्यादेवरून १/१०२४ च्या घटकाने वर किंवा खाली समायोजित केली जाऊ शकते. परिणामी, व्हॅलिडेटर्स एकमताने ब्लॉक गॅस मर्यादा बदलू शकतात. ब्लॉकमधील सर्व व्यवहारांद्वारे खर्च केलेल्या गॅसची एकूण रक्कम ब्लॉक गॅस मर्यादेपेक्षा कमी असणे आवश्यक आहे. हे महत्त्वाचे आहे कारण ते सुनिश्चित करते की ब्लॉक्स अनियंत्रितपणे मोठे असू शकत नाहीत. जर ब्लॉक्स अनियंत्रितपणे मोठे असू शकले असते, तर कमी कार्यक्षम फुल नोड्स जागेच्या आणि गतीच्या आवश्यकतांमुळे हळूहळू नेटवर्कसोबत राहू शकणार नाहीत. ब्लॉक जितका मोठा, तितकी जास्त संगणकीय शक्ती पुढील स्लॉटच्या वेळेत त्यांना प्रक्रिया करण्यासाठी आवश्यक असते. ही एक केंद्रीकरण करणारी शक्ती आहे, ज्याला ब्लॉकच्या आकारावर मर्यादा घालून विरोध केला जातो.

पुढील वाचन

तुम्हाला मदत केलेल्या सामुदायिक संसाधनाबद्दल माहिती आहे का? हे पृष्ठ संपादित करा आणि ते जोडा!_

हा लेख उपयुक्त होता का?