ప్రధాన కంటెంట్‌కి స్కిప్ చేయండి

పేజీ చివరగా అప్‌డేట్ చేయబడింది: 26 ఫిబ్రవరి, 2026

ఎథేరియం వైట్‌పేపర్

ఈ పరిచయ పత్రం వాస్తవానికి 2015లో ప్రాజెక్ట్ ప్రారంభానికి ముందు, ఎథేరియం వ్యవస్థాపకుడు విటాలిక్ బ్యూటెరిన్ ద్వారా 2014లో ప్రచురించబడింది. అనేక కమ్యూనిటీ-ఆధారిత, ఓపెన్-సోర్స్ సాఫ్ట్‌వేర్ ప్రాజెక్ట్‌ల వలె, ఎథేరియం కూడా దాని ప్రారంభం నుండి అభివృద్ధి చెందిందని గమనించడం ముఖ్యం.

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

వైట్‌పేపర్ యొక్క చారిత్రక లేదా ప్రామాణిక సంస్కరణను [డిసెంబర్ 2014 నుండి] కోరుకునే పరిశోధకులు మరియు విద్యావేత్తలు ఈ PDFను ఉపయోగించాలి.

తరువాత తరం స్మార్ట్ కాంట్రాక్ట్ మరియు వికేంద్రీకృత అప్లికేషన్ ప్లాట్‌ఫారమ్

2009లో సతోషి నకమోటో యొక్క బిట్‌కాయిన్ అభివృద్ధి తరచుగా డబ్బు మరియు కరెన్సీలో ఒక తీవ్రమైన అభివృద్ధిగా ప్రశంసించబడింది, ఇది ఏకకాలంలో ఎటువంటి మద్దతు లేదా "అంతర్గత విలువ (opens in a new tab)" మరియు కేంద్రీకృత జారీదారు లేదా నియంత్రిక లేని డిజిటల్ ఆస్తికి మొదటి ఉదాహరణ. అయినప్పటికీ, Bitcoin ప్రయోగంలో మరొక, వాస్తవానికి మరింత ముఖ్యమైన భాగం, అంతర్లీన బ్లాక్‌చైన్ టెక్నాలజీ పంపిణీ చేయబడిన ఏకాభిప్రాయం సాధనంగా పనిచేయడం, మరియు దృష్టి వేగంగా Bitcoin యొక్క ఈ ఇతర అంశంపైకి మారుతోంది. బ్లాక్‌చైన్ టెక్నాలజీ యొక్క సాధారణంగా ఉదహరించబడిన ప్రత్యామ్నాయ అప్లికేషన్‌లలో కస్టమ్ కరెన్సీలు మరియు ఆర్థిక పరికరాలను సూచించడానికి ఆన్-బ్లాక్‌చైన్ డిజిటల్ ఆస్తులను ఉపయోగించడం ("కలర్డ్ కాయిన్స్ (opens in a new tab)"), అంతర్లీన భౌతిక పరికరం యొక్క యాజమాన్యం ("స్మార్ట్ ప్రాపర్టీ (opens in a new tab)"), డొమైన్ పేర్లు వంటి నాన్-ఫంగిబుల్ ఆస్తులు ("Namecoin (opens in a new tab)"), అలాగే డిజిటల్ ఆస్తులు ఏకపక్ష నియమాలను అమలు చేసే కోడ్ ముక్కచే ("స్మార్ట్ కాంట్రాక్టులు (opens in a new tab)") నేరుగా నియంత్రించబడే మరింత సంక్లిష్టమైన అప్లికేషన్‌లు లేదా బ్లాక్‌చైన్ ఆధారిత "వికేంద్రీకృత స్వయంప్రతిపత్త సంస్థలు (opens in a new tab)" (DAOs) కూడా ఉన్నాయి. ఎథేరియం అందించాలని ఉద్దేశించినది, ఒక అంతర్నిర్మిత పూర్తిస్థాయి ట్యూరింగ్-కంప్లీట్ ప్రోగ్రామింగ్ భాషతో కూడిన బ్లాక్‌చైన్. దీనిని ఉపయోగించి ఏకపక్ష స్థితి పరివర్తన ఫంక్షన్‌లను ఎన్‌కోడ్ చేయడానికి ఉపయోగపడే "కాంట్రాక్టులు" సృష్టించవచ్చు, ఇది పైన వివరించిన ఏ వ్యవస్థనైనా, అలాగే మనం ఇంకా ఊహించని మరెన్నో వ్యవస్థలను కేవలం కొన్ని పంక్తుల కోడ్‌లో తర్కాన్ని వ్రాసి సృష్టించడానికి వినియోగదారులను అనుమతిస్తుంది.

Bitcoin మరియు ఇప్పటికే ఉన్న భావనలకు పరిచయం

చరిత్ర

వికేంద్రీకృత డిజిటల్ కరెన్సీ భావన, అలాగే ఆస్తి రిజిస్ట్రీల వంటి ప్రత్యామ్నాయ అప్లికేషన్లు, దశాబ్దాలుగా ఉన్నాయి. 1980లు మరియు 1990ల నాటి అజ్ఞాత ఈ-క్యాష్ ప్రోటోకాల్స్, ఎక్కువగా చౌమియన్ బ్లైండింగ్ అని పిలువబడే క్రిప్టోగ్రాఫిక్ ప్రిమిటివ్‌పై ఆధారపడి, అధిక గోప్యతతో కూడిన కరెన్సీని అందించాయి, కానీ ఈ ప్రోటోకాల్స్ కేంద్రీకృత మధ్యవర్తిపై ఆధారపడటం వల్ల ఎక్కువగా ఆదరణ పొందలేకపోయాయి. 1998లో, వీ డై యొక్క బి-మనీ (opens in a new tab) కంప్యూటేషనల్ పజిల్స్‌ను పరిష్కరించడం ద్వారా మరియు వికేంద్రీకృత ఏకాభిప్రాయం ద్వారా డబ్బును సృష్టించే ఆలోచనను ప్రవేశపెట్టిన మొదటి ప్రతిపాదనగా మారింది, కానీ వికేంద్రీకృత ఏకాభిప్రాయం వాస్తవంగా ఎలా అమలు చేయవచ్చనే వివరాలు ప్రతిపాదనలో తక్కువగా ఉన్నాయి. 2005లో, హాల్ ఫిన్నీ "పునర్వినియోగించదగిన ప్రూఫ్స్ ఆఫ్ వర్క్ (opens in a new tab)" అనే భావనను పరిచయం చేశారు, ఇది బి-మనీ నుండి ఆలోచనలను ఆడమ్ బ్యాక్ యొక్క కంప్యూటేషనల్‌గా కష్టమైన హాష్‌క్యాష్ పజిల్‌లతో కలిపి ఒక క్రిప్టోకరెన్సీ కోసం ఒక భావనను సృష్టించే వ్యవస్థ, కానీ మరోసారి నమ్మకమైన కంప్యూటింగ్‌ను బ్యాకెండ్‌గా ఉపయోగించడం ద్వారా ఆదర్శానికి దూరంగా ఉంది. 2009లో, సతోషి నకమోటో ద్వారా మొదటిసారిగా ఆచరణలో ఒక వికేంద్రీకృత కరెన్సీ అమలు చేయబడింది, పబ్లిక్ కీ క్రిప్టోగ్రఫీ ద్వారా యాజమాన్యాన్ని నిర్వహించడానికి స్థాపించబడిన ప్రిమిటివ్‌లను నాణేల యజమానుల ట్రాక్‌ను ఉంచడానికి ఒక ఏకాభిప్రాయం అల్గారిథమ్‌తో కలిపి, దీనిని "ప్రూఫ్-ఆఫ్-వర్క్" అని పిలుస్తారు.

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

ఒక స్థితి పరివర్తన వ్యవస్థగా Bitcoin

ఎథేరియం స్థితి పరివర్తన

సాంకేతిక దృక్కోణం నుండి, Bitcoin వంటి ఒక క్రిప్టోకరెన్సీ యొక్క లెడ్జర్‌ను ఒక స్థితి పరివర్తన వ్యవస్థగా భావించవచ్చు, ఇక్కడ ఉన్న అన్ని బిట్‌కాయిన్‌ల యాజమాన్య స్థితిని కలిగి ఉన్న ఒక "స్థితి" ఉంటుంది మరియు ఒక "స్థితి పరివర్తన ఫంక్షన్" ఒక స్థితి మరియు ఒక లావాదేవీని తీసుకుని ఫలితంగా వచ్చే ఒక కొత్త స్థితిని అవుట్‌పుట్ చేస్తుంది. ఒక ప్రామాణిక బ్యాంకింగ్ వ్యవస్థలో, ఉదాహరణకు, స్థితి ఒక బ్యాలెన్స్ షీట్, ఒక లావాదేవీ A నుండి Bకి $X ను తరలించడానికి ఒక అభ్యర్థన, మరియు స్థితి పరివర్తన ఫంక్షన్ A యొక్క ఖాతాలో విలువను $X తగ్గించి B యొక్క ఖాతాలో విలువను $X పెంచుతుంది. మొదట A యొక్క ఖాతాలో $X కన్నా తక్కువ ఉంటే, స్థితి పరివర్తన ఫంక్షన్ ఒక దోషాన్ని తిరిగి ఇస్తుంది. అందువల్ల, ఒకరు అధికారికంగా నిర్వచించవచ్చు:

APPLY(S,TX) -> S' లేదా ERROR

పైన నిర్వచించిన బ్యాంకింగ్ వ్యవస్థలో:

APPLY({ Alice: $50, Bob: $50 },"send $20 from Alice to Bob") = { Alice: $30, Bob: $70 }

కానీ:

APPLY({ Alice: $50, Bob: $50 },"send $70 from Alice to Bob") = ERROR

Bitcoinలో "స్థితి" అనేది ముద్రించబడి ఇంకా ఖర్చు చేయని అన్ని నాణేల (సాంకేతికంగా, "ఖర్చు చేయని లావాదేవీ అవుట్‌పుట్‌లు" లేదా UTXO) సేకరణ, ప్రతి UTXO ఒక విలువ మరియు యజమానిని కలిగి ఉంటుంది (20-బైట్ చిరునామా ద్వారా నిర్వచించబడింది, ఇది తప్పనిసరిగా ఒక క్రిప్టోగ్రాఫిక్ పబ్లిక్ కీfn1). ఒక లావాదేవీ ఒకటి లేదా అంతకంటే ఎక్కువ ఇన్‌పుట్‌లను కలిగి ఉంటుంది, ప్రతి ఇన్‌పుట్ ఇప్పటికే ఉన్న UTXOకి ఒక సూచన మరియు యజమాని చిరునామాతో అనుబంధించబడిన ప్రైవేట్ కీ ద్వారా ఉత్పత్తి చేయబడిన క్రిప్టోగ్రాఫిక్ సంతకం, మరియు ఒకటి లేదా అంతకంటే ఎక్కువ అవుట్‌పుట్‌లను కలిగి ఉంటుంది, ప్రతి అవుట్‌పుట్ స్థితికి జోడించబడటానికి ఒక కొత్త UTXOను కలిగి ఉంటుంది.

స్థితి పరివర్తన ఫంక్షన్ APPLY(S,TX) -> S' ను దాదాపుగా ఈ క్రింది విధంగా నిర్వచించవచ్చు:

  1. TXలో ప్రతి ఇన్‌పుట్ కోసం:

    • సూచించబడిన UTXO Sలో లేకపోతే, ఒక దోషాన్ని తిరిగి ఇవ్వండి.
    • అందించిన సంతకం UTXO యజమానితో సరిపోలకపోతే, ఒక దోషాన్ని తిరిగి ఇవ్వండి.
  2. అన్ని ఇన్‌పుట్ UTXOల విలువల మొత్తం అన్ని అవుట్‌పుట్ UTXOల విలువల మొత్తం కన్నా తక్కువ ఉంటే, ఒక దోషాన్ని తిరిగి ఇవ్వండి.
  3. అన్ని ఇన్‌పుట్ UTXOలను తొలగించి, అన్ని అవుట్‌పుట్ UTXOలను జోడించి Sను తిరిగి ఇవ్వండి.

మొదటి దశలోని మొదటి సగం లావాదేవీ పంపేవారు లేని నాణేలను ఖర్చు చేయకుండా నిరోధిస్తుంది, మొదటి దశలోని రెండవ సగం లావాదేవీ పంపేవారు ఇతరుల నాణేలను ఖర్చు చేయకుండా నిరోధిస్తుంది, మరియు రెండవ దశ విలువ పరిరక్షణను అమలు చేస్తుంది. చెల్లింపు కోసం దీనిని ఉపయోగించడానికి, ప్రోటోకాల్ ఈ క్రింది విధంగా ఉంటుంది. ఆలిస్ బాబ్‌కు 11.7 BTC పంపాలనుకుంటుందని అనుకుందాం. మొదట, ఆలిస్ కనీసం 11.7 BTC మొత్తానికి సమానమైన, ఆమె యాజమాన్యంలో ఉన్న అందుబాటులో ఉన్న UTXOల సమితి కోసం చూస్తుంది. వాస్తవానికి, ఆలిస్ సరిగ్గా 11.7 BTC పొందలేకపోవచ్చు; ఆమె పొందగల అతి చిన్న మొత్తం 6+4+2=12 అని అనుకుందాం. ఆ తర్వాత ఆమె ఆ మూడు ఇన్‌పుట్‌లు మరియు రెండు అవుట్‌పుట్‌లతో ఒక లావాదేవీని సృష్టిస్తుంది. మొదటి అవుట్‌పుట్ 11.7 BTC, దాని యజమానిగా బాబ్ యొక్క చిరునామా ఉంటుంది, మరియు రెండవ అవుట్‌పుట్ మిగిలిన 0.3 BTC "చిల్లర", దాని యజమాని ఆలిస్ స్వయంగా ఉంటుంది.

మైనింగ్

ఎథేరియం బ్లాక్స్

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

ఈ పద్ధతిలో వ్యక్తపరచబడిన ఒక బ్లాక్ చెల్లుబాటులో ఉందో లేదో తనిఖీ చేయడానికి అల్గారిథమ్ ఈ క్రింది విధంగా ఉంటుంది:

  1. బ్లాక్ ద్వారా సూచించబడిన మునుపటి బ్లాక్ ఉందో లేదో మరియు చెల్లుబాటులో ఉందో లేదో తనిఖీ చేయండి.
  2. బ్లాక్ యొక్క టైమ్‌స్టాంప్ మునుపటి బ్లాక్fn2 కన్నా ఎక్కువగా మరియు భవిష్యత్తులోకి 2 గంటల కన్నా తక్కువగా ఉందని తనిఖీ చేయండి
  3. బ్లాక్‌పై ప్రూఫ్-ఆఫ్-వర్క్ చెల్లుబాటులో ఉందని తనిఖీ చేయండి.
  4. మునుపటి బ్లాక్ చివరిలో S[0] స్థితిగా ఉండనివ్వండి.
  5. n లావాదేవీలతో TX బ్లాక్ యొక్క లావాదేవీ జాబితా అని అనుకుందాం. 0...n-1 లోని అన్ని i లకు, S[i+1] = APPLY(S[i],TX[i]) అని సెట్ చేయండి. ఏదైనా అప్లికేషన్ దోషాన్ని తిరిగి ఇస్తే, నిష్క్రమించి ఫాల్స్ తిరిగి ఇవ్వండి.
  6. ట్రూ తిరిగి ఇవ్వండి, మరియు ఈ బ్లాక్ చివరిలో S[n] ను స్థితిగా నమోదు చేయండి.

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

పైన ఉన్న జాబితాలో ఉన్న ఒక చెల్లుబాటు షరతు, ఇతర వ్యవస్థలలో కనుగొనబడనిది, "ప్రూఫ్-ఆఫ్-వర్క్" అవసరం. ఖచ్చితమైన షరతు ఏమిటంటే, ప్రతి బ్లాక్ యొక్క డబుల్-SHA256 హాష్, 256-బిట్ సంఖ్యగా పరిగణించబడి, ఒక డైనమిక్‌గా సర్దుబాటు చేయబడిన లక్ష్యం కన్నా తక్కువగా ఉండాలి, ఇది ఈ రచన సమయంలో సుమారుగా 2187. దీని ఉద్దేశ్యం బ్లాక్ సృష్టిని కంప్యూటేషనల్‌గా "కఠినంగా" చేయడం, తద్వారా సిబిల్ దాడి చేసేవారు మొత్తం బ్లాక్‌చైన్‌ను తమకు అనుకూలంగా తిరిగి తయారు చేయకుండా నిరోధించడం. SHA256 ఒక పూర్తిగా ఊహించలేని సూడో-రాండమ్ ఫంక్షన్‌గా రూపొందించబడినందున, ఒక చెల్లుబాటు అయ్యే బ్లాక్‌ను సృష్టించడానికి ఏకైక మార్గం కేవలం ట్రయల్ మరియు ఎర్రర్, నాన్స్‌ను పదేపదే పెంచుతూ కొత్త హాష్ సరిపోలుతుందో లేదో చూడటం.

ప్రస్తుత లక్ష్యం ~2187 వద్ద, ఒక చెల్లుబాటు అయ్యే బ్లాక్ కనుగొనబడటానికి ముందు నెట్‌వర్క్ సగటున ~269 ప్రయత్నాలు చేయాలి; సాధారణంగా, లక్ష్యం నెట్‌వర్క్ ద్వారా ప్రతి 2016 బ్లాక్‌లకు తిరిగి క్రమాంకనం చేయబడుతుంది, తద్వారా సగటున నెట్‌వర్క్‌లోని కొన్ని నోడ్ ద్వారా ప్రతి పది నిమిషాలకు ఒక కొత్త బ్లాక్ ఉత్పత్తి చేయబడుతుంది. ఈ కంప్యూటేషనల్ పనికి మైనర్లకు పరిహారం ఇవ్వడానికి, ప్రతి బ్లాక్ యొక్క మైనర్ తమకు ఎక్కడి నుంచో 25 BTC ఇచ్చే లావాదేవీని చేర్చడానికి అర్హత కలిగి ఉంటారు. అదనంగా, ఏదైనా లావాదేవీ దాని ఇన్‌పుట్‌లలో దాని అవుట్‌పుట్‌ల కన్నా ఎక్కువ మొత్తం విలువను కలిగి ఉంటే, ఆ తేడా కూడా మైనర్‌కు "లావాదేవీ రుసుము"గా వెళుతుంది. యాదృచ్ఛికంగా, BTC జారీ చేయబడే ఏకైక యంత్రాంగం కూడా ఇదే; జెనిసిస్ స్థితిలో అసలు నాణేలు లేవు.

మైనింగ్ యొక్క ఉద్దేశ్యాన్ని బాగా అర్థం చేసుకోవడానికి, ఒక హానికరమైన దాడి చేసేవారి విషయంలో ఏమి జరుగుతుందో పరిశీలిద్దాం. Bitcoin యొక్క అంతర్లీన క్రిప్టోగ్రఫీ సురక్షితమైనదని తెలిసినందున, దాడి చేసేవాడు Bitcoin వ్యవస్థలోని ఒక భాగాన్ని లక్ష్యంగా చేసుకుంటాడు, అది క్రిప్టోగ్రఫీ ద్వారా నేరుగా రక్షించబడదు: లావాదేవీల క్రమం. దాడి చేసేవారి వ్యూహం చాలా సులభం:

  1. కొన్ని ఉత్పత్తికి బదులుగా ఒక వ్యాపారికి 100 BTC పంపండి (ప్రాధాన్యంగా వేగంగా డెలివరీ అయ్యే డిజిటల్ వస్తువు)
  2. ఉత్పత్తి డెలివరీ కోసం వేచి ఉండండి
  3. అదే 100 BTCని తనకు తాను పంపుకునే మరో లావాదేవీని ఉత్పత్తి చేయండి
  4. నెట్‌వర్క్‌ను ఒప్పించడానికి ప్రయత్నించండి, తనకు తాను చేసుకున్న లావాదేవీయే మొదట వచ్చిందని.

దశ (1) జరిగిన తర్వాత, కొన్ని నిమిషాల తర్వాత కొంతమంది మైనర్ లావాదేవీని ఒక బ్లాక్‌లో చేర్చుతారు, ఉదాహరణకు బ్లాక్ నంబర్ 270000. సుమారు ఒక గంట తర్వాత, ఆ బ్లాక్ తర్వాత గొలుసుకు మరో ఐదు బ్లాక్‌లు జోడించబడతాయి, ఆ బ్లాక్‌లలో ప్రతి ఒక్కటి పరోక్షంగా లావాదేవీని సూచిస్తూ, తద్వారా దానిని "ధృవీకరిస్తుంది". ఈ సమయంలో, వ్యాపారి చెల్లింపును ఖరారుగా అంగీకరించి ఉత్పత్తిని డెలివరీ చేస్తాడు; ఇది ఒక డిజిటల్ వస్తువు అని మనం ఊహిస్తున్నందున, డెలివరీ తక్షణమే జరుగుతుంది. ఇప్పుడు, దాడి చేసేవాడు 100 BTCని తనకు తాను పంపుకునే మరో లావాదేవీని సృష్టిస్తాడు. దాడి చేసేవాడు దానిని కేవలం స్వేచ్ఛగా విడుదల చేస్తే, లావాదేవీ ప్రాసెస్ చేయబడదు; మైనర్లు APPLY(S,TX)ను అమలు చేయడానికి ప్రయత్నించి, TX స్థితిలో లేని ఒక UTXOను వినియోగిస్తుందని గమనిస్తారు. కాబట్టి బదులుగా, దాడి చేసేవాడు బ్లాక్‌చైన్ యొక్క ఒక "ఫోర్క్"ను సృష్టిస్తాడు, అదే బ్లాక్ 269999ని పేరెంట్‌గా సూచిస్తూ బ్లాక్ 270000 యొక్క మరొక వెర్షన్‌ను మైనింగ్ చేయడం ద్వారా, కానీ పాత లావాదేవీ స్థానంలో కొత్త లావాదేవీతో. బ్లాక్ డేటా భిన్నంగా ఉన్నందున, దీనికి ప్రూఫ్-ఆఫ్-వర్క్‌ను తిరిగి చేయడం అవసరం. ఇంకా, బ్లాక్ 270000 యొక్క దుర్వినియోగదారుని కొత్త వెర్షన్ వేరే హాష్‌ను కలిగి ఉంది, కాబట్టి అసలు బ్లాక్‌లు 270001 నుండి 270005 వరకు దానికి "సూచించవు"; అందువల్ల, అసలు చైన్ మరియు దుర్వినియోగదారుని కొత్త చైన్ పూర్తిగా వేరుగా ఉంటాయి. నియమం ఏమిటంటే, ఒక ఫోర్క్‌లో పొడవైన బ్లాక్‌చెయిన్ నిజమైనదిగా తీసుకోబడుతుంది, కాబట్టి చట్టబద్ధమైన మైనింగ్ చేసేవారు 270005 చైన్‌లో పని చేస్తారు, అయితే దుర్వినియోగదారుడు మాత్రమే 270000 చైన్‌లో పని చేస్తాడు. దుర్వినియోగదారుడు తన బ్లాక్‌చెయిన్‌ను పొడవైనదిగా చేయడానికి, అతను నెట్‌వర్క్‌లోని మిగిలిన వారందరికంటే ఎక్కువ గణన శక్తిని కలిగి ఉండాలి (అందుకే, "51% దాడి").

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

Bitcoinలో SPV

ఎడమ: ఒక శాఖ యొక్క చెల్లుబాటుకు రుజువు ఇవ్వడానికి మెర్కిల్ ట్రీలో కేవలం కొద్ది సంఖ్యలో నోడ్‌లను సమర్పించడం సరిపోతుంది.

కుడి: మెర్కిల్ ట్రీలోని ఏ భాగాన్నైనా మార్చడానికి చేసే ఏ ప్రయత్నమైనా చివరికి చైన్‌లో ఎక్కడో ఒక చోట అస్థిరతకు దారి తీస్తుంది.

Bitcoin యొక్క ఒక ముఖ్యమైన స్కేలబిలిటీ ఫీచర్ ఏమిటంటే, బ్లాక్ బహుళ-స్థాయి డేటా స్ట్రక్చర్‌లో నిల్వ చేయబడుతుంది. ఒక బ్లాక్ యొక్క "హాష్" వాస్తవానికి కేవలం బ్లాక్ హెడర్ యొక్క హాష్ మాత్రమే, ఇది దాదాపు 200-బైట్ డేటా, ఇందులో టైమ్‌స్టాంప్, నాన్స్, మునుపటి బ్లాక్ హాష్ మరియు బ్లాక్‌లోని అన్ని లావాదేవీలను నిల్వ చేసే మెర్కిల్ ట్రీ అనే డేటా స్ట్రక్చర్ యొక్క రూట్ హాష్ ఉంటాయి. మెర్కిల్ ట్రీ అనేది ఒక రకమైన బైనరీ ట్రీ, ఇది ట్రీ దిగువన అంతర్లీన డేటాను కలిగి ఉన్న పెద్ద సంఖ్యలో లీఫ్ నోడ్‌లతో కూడిన నోడ్‌ల సమితి, ప్రతి నోడ్ దాని రెండు పిల్లల హాష్ అయిన ఇంటర్మీడియట్ నోడ్‌ల సమితి మరియు చివరిగా ఒకే రూట్ నోడ్, ఇది కూడా దాని రెండు పిల్లల హాష్ నుండి ఏర్పడి, ట్రీ యొక్క "టాప్"ను సూచిస్తుంది. మెర్కిల్ ట్రీ యొక్క ఉద్దేశ్యం ఒక బ్లాక్‌లోని డేటాను ముక్కలుగా అందించడానికి అనుమతించడం: ఒక నోడ్ ఒక మూలం నుండి కేవలం ఒక బ్లాక్ యొక్క హెడర్‌ను, మరొక మూలం నుండి వారికి సంబంధించిన ట్రీ యొక్క చిన్న భాగాన్ని మాత్రమే డౌన్‌లోడ్ చేసుకోవచ్చు, మరియు ఇంకా అన్ని డేటా సరైనదని భరోసా ఇవ్వబడుతుంది. ఇది పనిచేయడానికి కారణం ఏమిటంటే, హాష్‌లు పైకి వ్యాపిస్తాయి: ఒక హానికరమైన వినియోగదారుడు మెర్కిల్ ట్రీ యొక్క దిగువన ఒక నకిలీ లావాదేవీని మార్చడానికి ప్రయత్నిస్తే, ఈ మార్పు పైన ఉన్న నోడ్‌లో మార్పుకు కారణమవుతుంది, ఆపై దాని పైన ఉన్న నోడ్‌లో మార్పుకు, చివరికి ట్రీ యొక్క రూట్‌ను మరియు అందువల్ల బ్లాక్ యొక్క హాష్‌ను మారుస్తుంది, ప్రోటోకాల్ దానిని పూర్తిగా భిన్నమైన బ్లాక్‌గా నమోదు చేయడానికి కారణమవుతుంది (దాదాపు ఖచ్చితంగా చెల్లని ప్రూఫ్-ఆఫ్-వర్క్‌తో).

మెర్కిల్ ట్రీ ప్రోటోకాల్ దీర్ఘకాలిక స్థిరత్వానికి వాదించదగినంత అవసరం. Bitcoin నెట్‌వర్క్‌లోని ఒక "ఫుల్ నోడ్", ప్రతి బ్లాక్ యొక్క మొత్తం భాగాన్ని నిల్వ చేసి, ప్రాసెస్ చేసేది, ఏప్రిల్ 2014 నాటికి Bitcoin నెట్‌వర్క్‌లో సుమారు 15 GB డిస్క్ స్థలాన్ని తీసుకుంటుంది, మరియు నెలకు ఒక గిగాబైట్ కంటే ఎక్కువ పెరుగుతోంది. ప్రస్తుతం, ఇది కొన్ని డెస్క్‌టాప్ కంప్యూటర్‌లకు సాధ్యమవుతుంది కానీ ఫోన్‌లకు కాదు, మరియు భవిష్యత్తులో కేవలం వ్యాపారాలు మరియు అభిరుచి గలవారు మాత్రమే పాల్గొనగలరు. "సరళీకృత చెల్లింపు ధృవీకరణ" (SPV) అని పిలువబడే ఒక ప్రోటోకాల్ మరొక తరగతి నోడ్‌లు ఉండటానికి అనుమతిస్తుంది, వీటిని "లైట్ నోడ్‌లు" అని పిలుస్తారు, ఇవి బ్లాక్ హెడర్‌లను డౌన్‌లోడ్ చేస్తాయి, బ్లాక్ హెడర్‌లపై ప్రూఫ్-ఆఫ్-వర్క్‌ను ధృవీకరిస్తాయి, ఆపై వారికి సంబంధించిన లావాదేవీలతో అనుబంధించబడిన "శాఖలను" మాత్రమే డౌన్‌లోడ్ చేస్తాయి. ఇది లైట్ నోడ్‌లు మొత్తం బ్లాక్‌చెయిన్‌లో చాలా చిన్న భాగాన్ని మాత్రమే డౌన్‌లోడ్ చేస్తున్నప్పుడు, ఏ Bitcoin లావాదేవీ యొక్క స్థితిని మరియు వాటి ప్రస్తుత బ్యాలెన్స్‌ను బలమైన భద్రతా హామీతో నిర్ణయించడానికి అనుమతిస్తుంది.

ప్రత్యామ్నాయ బ్లాక్‌చెయిన్ అప్లికేషన్‌లు

అంతర్లీన బ్లాక్‌చెయిన్ ఆలోచనను తీసుకొని దానిని ఇతర భావనలకు వర్తింపజేయడం అనే ఆలోచనకు కూడా సుదీర్ఘ చరిత్ర ఉంది. 2005లో, నిక్ స్జాబో "యజమాని అధికారంతో సురక్షితమైన ఆస్తి టైటిల్స్ (opens in a new tab)" అనే భావనతో ముందుకు వచ్చారు, ఇది "ప్రతికృతి డేటాబేస్ టెక్నాలజీలో కొత్త పురోగతులు" భూమి ఎవరికి చెందిందో రిజిస్ట్రీని నిల్వ చేయడానికి బ్లాక్‌చెయిన్-ఆధారిత వ్యవస్థను ఎలా అనుమతిస్తాయో వివరిస్తుంది, ఇందులో హోమ్‌స్టెడింగ్, ప్రతికూల స్వాధీనం మరియు జార్జియన్ భూమి పన్ను వంటి భావనలతో కూడిన ఒక విస్తృతమైన ఫ్రేమ్‌వర్క్‌ను సృష్టిస్తుంది. అయితే, దురదృష్టవశాత్తు ఆ సమయంలో సమర్థవంతమైన ప్రతిరూపిత డేటాబేస్ సిస్టమ్ అందుబాటులో లేదు, కాబట్టి ప్రోటోకాల్ ఆచరణలో ఎప్పుడూ అమలు చేయబడలేదు. 2009 తర్వాత, అయితే, Bitcoin యొక్క వికేంద్రీకృత ఏకాభిప్రాయం అభివృద్ధి చేయబడిన తర్వాత అనేక ప్రత్యామ్నాయ అప్లికేషన్‌లు వేగంగా ఉద్భవించడం ప్రారంభించాయి.

  • Namecoin - 2010 లో సృష్టించబడింది, Namecoin (opens in a new tab) ఒక వికేంద్రీకృత పేరు నమోదు డేటాబేస్‌గా ఉత్తమంగా వర్ణించబడింది. Tor, Bitcoin మరియు BitMessage వంటి వికేంద్రీకృత ప్రోటోకాల్స్‌లో, ఖాతాలను గుర్తించడానికి కొంత మార్గం ఉండాలి, తద్వారా ఇతర వ్యక్తులు వారితో సంభాషించగలరు, కానీ ప్రస్తుతం ఉన్న అన్ని పరిష్కారాలలో అందుబాటులో ఉన్న ఏకైక రకమైన ఐడెంటిఫైయర్ 1LW79wp5ZBqaHW1jL5TCiBCrhQYtHagUWy వంటి సూడో-రాండమ్ హాష్. ఆదర్శవంతంగా, ఒకరు "george" వంటి పేరుతో ఒక ఖాతాను కలిగి ఉండటానికి ఇష్టపడతారు. అయితే, సమస్య ఏమిటంటే, ఒక వ్యక్తి "george" అనే పేరుతో ఒక ఖాతాను సృష్టించగలిగితే, మరొకరు అదే ప్రక్రియను ఉపయోగించి తమ కోసం "george" ను నమోదు చేసుకుని వారిని అనుకరించవచ్చు. ఏకైక పరిష్కారం ఫస్ట్-టు-ఫైల్ పారాడైమ్, ఇక్కడ మొదటి రిజిస్ట్రర్ విజయవంతమవుతుంది మరియు రెండవది విఫలమవుతుంది - ఇది Bitcoin ఏకాభిప్రాయం ప్రోటోకాల్‌కు సరిగ్గా సరిపోయే సమస్య. Namecoin అటువంటి ఆలోచనను ఉపయోగించి పేరు నమోదు వ్యవస్థ యొక్క పురాతన మరియు అత్యంత విజయవంతమైన అమలు.
  • కలర్డ్ కాయిన్స్ - కలర్డ్ కాయిన్స్ (opens in a new tab) యొక్క ఉద్దేశ్యం ప్రజలు తమ సొంత డిజిటల్ కరెన్సీలను సృష్టించడానికి అనుమతించే ఒక ప్రోటోకాల్‌గా పనిచేయడం - లేదా, ఒక యూనిట్ కరెన్సీ యొక్క ముఖ్యమైన చిన్న విషయంలో, Bitcoin బ్లాక్‌చెయిన్‌లో డిజిటల్ టోకెన్‌లు. కలర్డ్ కాయిన్స్ ప్రోటోకాల్‌లో, ఒక నిర్దిష్ట Bitcoin UTXOకు బహిరంగంగా ఒక రంగును కేటాయించడం ద్వారా ఒక కొత్త కరెన్సీని "జారీ చేస్తారు", మరియు ప్రోటోకాల్ ఇతర UTXO యొక్క రంగును, వాటిని సృష్టించిన లావాదేవీ ఖర్చు చేసిన ఇన్‌పుట్‌ల రంగుతో సమానంగా పునరావృతంగా నిర్వచిస్తుంది (మిశ్రమ-రంగు ఇన్‌పుట్‌ల విషయంలో కొన్ని ప్రత్యేక నియమాలు వర్తిస్తాయి). ఇది వినియోగదారులను ఒక నిర్దిష్ట రంగు యొక్క UTXOలను మాత్రమే కలిగి ఉన్న వాలెట్‌లను నిర్వహించడానికి మరియు వాటిని సాధారణ బిట్‌కాయిన్‌ల మాదిరిగానే పంపడానికి అనుమతిస్తుంది, వారు స్వీకరించే ఏ UTXO యొక్క రంగును నిర్ణయించడానికి బ్లాక్‌చెయిన్ ద్వారా వెనుకకు వెళ్తారు.
  • మెటాకోయిన్లు - మెటాకోయిన్ వెనుక ఉన్న ఆలోచన ఏమిటంటే, Bitcoin పైన జీవించే ఒక ప్రోటోకాల్‌ను కలిగి ఉండటం, మెటాకోయిన్ లావాదేవీలను నిల్వ చేయడానికి Bitcoin లావాదేవీలను ఉపయోగించడం కానీ భిన్నమైన స్టేట్ ట్రాన్సిషన్ ఫంక్షన్‌ను కలిగి ఉండటం, APPLY'. మెటాకోయిన్ ప్రోటోకాల్ Bitcoin బ్లాక్‌చెయిన్‌లో చెల్లని మెటాకోయిన్ లావాదేవీలు కనిపించకుండా నిరోధించలేనందున, APPLY'(S,TX) ఒక ఎర్రర్‌ను తిరిగి ఇస్తే, ప్రోటోకాల్ డిఫాల్ట్‌గా APPLY'(S,TX) = Sకు మారుతుంది అనే నియమం జోడించబడింది. ఇది ఏకపక్ష క్రిప్టోకరెన్సీ ప్రోటోకాల్‌ను సృష్టించడానికి సులభమైన యంత్రాంగాన్ని అందిస్తుంది, Bitcoin లోపల అమలు చేయలేని అధునాతన ఫీచర్లతో, కానీ మైనింగ్ మరియు నెట్‌వర్కింగ్ యొక్క సంక్లిష్టతలను ఇప్పటికే Bitcoin ప్రోటోకాల్ నిర్వహించడం వలన చాలా తక్కువ అభివృద్ధి ఖర్చుతో. మెటాకోయిన్లు కొన్ని తరగతుల ఆర్థిక ఒప్పందాలు, పేరు నమోదు మరియు వికేంద్రీకృత మార్పిడిని అమలు చేయడానికి ఉపయోగించబడ్డాయి.

అందువల్ల, సాధారణంగా, ఏకాభిప్రాయం ప్రోటోకాల్‌ను నిర్మించడానికి రెండు విధానాలు ఉన్నాయి: స్వతంత్ర నెట్‌వర్క్‌ను నిర్మించడం, మరియు Bitcoin పైన ఒక ప్రోటోకాల్‌ను నిర్మించడం. మునుపటి విధానం, Namecoin వంటి అప్లికేషన్‌ల విషయంలో సహేతుకంగా విజయవంతమైనప్పటికీ, అమలు చేయడం కష్టం; ప్రతి వ్యక్తిగత అమలు ఒక స్వతంత్ర బ్లాక్‌చెయిన్‌ను బూట్‌స్ట్రాప్ చేయాలి, అలాగే అవసరమైన అన్ని స్టేట్ ట్రాన్సిషన్ మరియు నెట్‌వర్కింగ్ కోడ్‌ను నిర్మించడం మరియు పరీక్షించడం. అదనంగా, వికేంద్రీకృత ఏకాభిప్రాయం సాంకేతికత కోసం అప్లికేషన్‌ల సమితి ఒక పవర్ లా డిస్ట్రిబ్యూషన్‌ను అనుసరిస్తుందని మేము అంచనా వేస్తున్నాము, ఇక్కడ చాలా వరకు అప్లికేషన్‌లు తమ సొంత బ్లాక్‌చెయిన్‌ను కలిగి ఉండటానికి చాలా చిన్నవిగా ఉంటాయి, మరియు వికేంద్రీకృత అప్లికేషన్‌ల యొక్క పెద్ద తరగతులు, ముఖ్యంగా వికేంద్రీకృత స్వయంప్రతిపత్త సంస్థలు, ఒకదానితో ఒకటి సంభాషించాల్సిన అవసరం ఉందని మేము గమనించాము.

మరోవైపు, Bitcoin-ఆధారిత విధానం Bitcoin యొక్క సరళీకృత చెల్లింపు ధృవీకరణ ఫీచర్లను వారసత్వంగా పొందదు అనే లోపాన్ని కలిగి ఉంది. SPV Bitcoin కోసం పనిచేస్తుంది ఎందుకంటే ఇది బ్లాక్‌చెయిన్ డెప్త్‌ను చెల్లుబాటుకు ప్రాక్సీగా ఉపయోగించగలదు; ఒకానొక సమయంలో, ఒక లావాదేవీ యొక్క పూర్వీకులు చాలా వెనుకకు వెళ్ళిన తర్వాత, వారు చట్టబద్ధంగా స్టేట్ లో భాగంగా ఉన్నారని చెప్పడం సురక్షితం. మరోవైపు, బ్లాక్‌చెయిన్-ఆధారిత మెటా-ప్రోటోకాల్స్, తమ సొంత ప్రోటోకాల్స్ సందర్భంలో చెల్లని లావాదేవీలను చేర్చకుండా బ్లాక్‌చెయిన్‌ను బలవంతం చేయలేవు. అందువల్ల, పూర్తిగా సురక్షితమైన SPV మెటా-ప్రోటోకాల్ అమలు, కొన్ని లావాదేవీలు చెల్లుబాటు అవుతాయో లేదో నిర్ధారించడానికి Bitcoin బ్లాక్‌చెయిన్ ప్రారంభం వరకు వెనుకకు స్కాన్ చేయాల్సి ఉంటుంది. ప్రస్తుతం, Bitcoin-ఆధారిత మెటా-ప్రోటోకాల్స్ యొక్క అన్ని "లైట్" అమలులు డేటాను అందించడానికి విశ్వసనీయ సర్వర్‌పై ఆధారపడతాయి, వాదించదగినంతగా ఇది అత్యంత అసంపూర్ణ ఫలితం, ముఖ్యంగా క్రిప్టోకరెన్సీ యొక్క ప్రాథమిక ఉద్దేశ్యాలలో ఒకటి విశ్వాసం అవసరాన్ని తొలగించడం.

స్క్రిప్టింగ్

ఏ పొడిగింపులు లేకుండా కూడా, Bitcoin ప్రోటోకాల్ వాస్తవానికి "స్మార్ట్ కాంట్రాక్టుల" భావన యొక్క బలహీనమైన వెర్షన్‌ను సులభతరం చేస్తుంది. Bitcoin లోని UTXO లు కేవలం ఒక పబ్లిక్ కీ ద్వారా మాత్రమే కాకుండా, ఒక సాధారణ స్టాక్-ఆధారిత ప్రోగ్రామింగ్ భాషలో వ్యక్తీకరించబడిన మరింత సంక్లిష్టమైన స్క్రిప్ట్ ద్వారా కూడా యాజమాన్యం పొందవచ్చు. ఈ పారాడైమ్‌లో, ఆ UTXOను ఖర్చు చేసే లావాదేవీ స్క్రిప్ట్‌ను సంతృప్తిపరిచే డేటాను అందించాలి. నిజానికి, ప్రాథమిక పబ్లిక్ కీ యాజమాన్య యంత్రాంగం కూడా ఒక స్క్రిప్ట్ ద్వారా అమలు చేయబడుతుంది: స్క్రిప్ట్ ఒక ఎలిప్టిక్ కర్వ్ సంతకాన్ని ఇన్‌పుట్‌గా తీసుకుంటుంది, దానిని లావాదేవీ మరియు UTXOకు యజమాని అయిన చిరునామాకు వ్యతిరేకంగా ధృవీకరిస్తుంది, మరియు ధృవీకరణ విజయవంతమైతే 1ని, లేకపోతే 0ని తిరిగి ఇస్తుంది. వివిధ అదనపు వినియోగ సందర్భాల కోసం ఇతర, మరింత సంక్లిష్టమైన, స్క్రిప్ట్‌లు ఉన్నాయి. ఉదాహరణకు, ఒకరు ఇచ్చిన మూడు ప్రైవేట్ కీలలో రెండు నుండి సంతకాలను ధృవీకరించడానికి అవసరమైన ఒక స్క్రిప్ట్‌ను నిర్మించవచ్చు ("మల్టీసిగ్"), ఇది కార్పొరేట్ ఖాతాలు, సురక్షిత పొదుపు ఖాతాలు మరియు కొన్ని వర్తక ఎస్క్రో పరిస్థితులకు ఉపయోగపడే ఒక సెటప్. గణన సమస్యలకు పరిష్కారాల కోసం బౌంటీలను చెల్లించడానికి కూడా స్క్రిప్ట్‌లను ఉపయోగించవచ్చు, మరియు ఒకరు "ఈ Bitcoin UTXO మీది, మీరు ఈ విలువ యొక్క ఒక Dogecoin లావాదేవీని నాకు పంపినట్లు SPV రుజువును అందించగలిగితే" వంటిది చెప్పే ఒక స్క్రిప్ట్‌ను కూడా నిర్మించవచ్చు, ఇది ముఖ్యంగా వికేంద్రీకృత క్రాస్-క్రిప్టోకరెన్సీ మార్పిడికి అనుమతిస్తుంది.

అయితే, Bitcoin లో అమలు చేయబడిన స్క్రిప్టింగ్ భాషకు అనేక ముఖ్యమైన పరిమితులు ఉన్నాయి:

  • ట్యూరింగ్-సంపూర్ణత లేకపోవడం - అంటే, Bitcoin స్క్రిప్టింగ్ భాష మద్దతిచ్చే గణన యొక్క పెద్ద ఉపసమితి ఉన్నప్పటికీ, ఇది దాదాపు అన్నింటికీ మద్దతు ఇవ్వదు. తప్పిన ప్రధాన వర్గం లూప్‌లు. లావాదేవీ ధృవీకరణ సమయంలో అనంత లూప్‌లను నివారించడానికి ఇది చేయబడుతుంది; సైద్ధాంతికంగా ఇది స్క్రిప్ట్ ప్రోగ్రామర్‌లకు అధిగమించగల అడ్డంకి, ఎందుకంటే ఏ లూప్‌ను అయినా ఒక if స్టేట్‌మెంట్‌తో అంతర్లీన కోడ్‌ను చాలాసార్లు పునరావృతం చేయడం ద్వారా అనుకరించవచ్చు, కానీ ఇది చాలా స్థలం-అసమర్థమైన స్క్రిప్ట్‌లకు దారి తీస్తుంది. ఉదాహరణకు, ఒక ప్రత్యామ్నాయ ఎలిప్టిక్ కర్వ్ సంతకం అల్గోరిథంను అమలు చేయడానికి కోడ్‌లో వ్యక్తిగతంగా చేర్చబడిన 256 పునరావృత గుణకార రౌండ్లు అవసరం కావచ్చు.
  • విలువ-అంధత్వం - ఒక UTXO స్క్రిప్ట్ ఉపసంహరించగల మొత్తంపై సూక్ష్మ-స్థాయి నియంత్రణను అందించడానికి మార్గం లేదు. ఉదాహరణకు, ఒక ఒరాకిల్ ఒప్పందం యొక్క ఒక శక్తివంతమైన వినియోగ కేసు ఒక హెడ్జింగ్ ఒప్పందం, ఇక్కడ A మరియు B $1000 విలువైన BTCని ఉంచుతారు మరియు 30 రోజుల తర్వాత స్క్రిప్ట్ $1000 విలువైన BTCని Aకు మరియు మిగిలినది Bకు పంపుతుంది. దీనికి USDలో 1 BTC విలువను నిర్ణయించడానికి ఒక ఒరాకిల్ అవసరం, కానీ అప్పుడు కూడా ఇది ప్రస్తుతం అందుబాటులో ఉన్న పూర్తిగా కేంద్రీకృత పరిష్కారాలతో పోలిస్తే విశ్వాసం మరియు మౌలిక సదుపాయాల అవసరం పరంగా ఒక భారీ మెరుగుదల. అయితే, UTXOలు అన్నీ లేదా ఏమీ కానందున, దీనిని సాధించడానికి ఏకైక మార్గం వివిధ విలువలతో కూడిన అనేక UTXOలను (ఉదా., 30 వరకు ప్రతి k కోసం 2k యొక్క ఒక UTXO) కలిగి ఉండటం మరియు Aకి ఏ UTXO పంపాలి మరియు Bకి ఏది పంపాలో ఒరాకిల్ ఎంచుకునేలా చేయడం అనే చాలా అసమర్థమైన హ్యాక్ ద్వారా మాత్రమే సాధ్యం.
  • స్థితి లేకపోవడం - UTXOలు ఖర్చు చేయబడవచ్చు లేదా ఖర్చు చేయబడకపోవచ్చు; బహుళ-దశల ఒప్పందాలు లేదా స్క్రిప్ట్‌లకు దానిని మించి ఏ ఇతర అంతర్గత స్థితిని ఉంచడానికి అవకాశం లేదు. ఇది బహుళ-దశల ఎంపికల ఒప్పందాలు, వికేంద్రీకృత మార్పిడి ఆఫర్లు లేదా రెండు-దశల క్రిప్టోగ్రాఫిక్ నిబద్ధత ప్రోటోకాల్స్ (సురక్షిత గణన బౌంటీల కోసం అవసరం) చేయడం కష్టతరం చేస్తుంది. ఇది కూడా UTXOలు కేవలం సాధారణ, ఒకేసారి జరిగే ఒప్పందాలను నిర్మించడానికి మాత్రమే ఉపయోగించబడతాయని, వికేంద్రీకృత సంస్థల వంటి మరింత సంక్లిష్టమైన "స్టేట్‌ఫుల్" ఒప్పందాలను నిర్మించడానికి కాదని, మరియు మెటా-ప్రోటోకాల్స్‌ను అమలు చేయడం కష్టతరం చేస్తుందని అర్థం. విలువ-అంధత్వంతో కలిపి బైనరీ స్టేట్ అంటే మరొక ముఖ్యమైన అప్లికేషన్, ఉపసంహరణ పరిమితులు, అసాధ్యం.
  • బ్లాక్‌చెయిన్-అంధత్వం - UTXOలు నాన్స్, టైమ్‌స్టాంప్ మరియు మునుపటి బ్లాక్ హాష్ వంటి బ్లాక్‌చెయిన్ డేటాకు అంధంగా ఉంటాయి. ఇది స్క్రిప్టింగ్ భాషకు సంభావ్యంగా విలువైన యాదృచ్ఛికత మూలాన్ని కోల్పోయేలా చేయడం ద్వారా జూదం మరియు అనేక ఇతర వర్గాలలో అప్లికేషన్‌లను తీవ్రంగా పరిమితం చేస్తుంది.

అందువల్ల, క్రిప్టోకరెన్సీ పైన అధునాతన అప్లికేషన్‌లను నిర్మించడానికి మేము మూడు విధానాలను చూస్తాము: కొత్త బ్లాక్‌చెయిన్‌ను నిర్మించడం, Bitcoin పైన స్క్రిప్టింగ్ ఉపయోగించడం, మరియు Bitcoin పైన మెటా-ప్రోటోకాల్‌ను నిర్మించడం. కొత్త బ్లాక్‌చెయిన్‌ను నిర్మించడం ఫీచర్ సమితిని నిర్మించడంలో అపరిమిత స్వేచ్ఛను అనుమతిస్తుంది, కానీ అభివృద్ధి సమయం, బూట్‌స్ట్రాపింగ్ ప్రయత్నం మరియు భద్రత ఖర్చుతో. స్క్రిప్టింగ్‌ను ఉపయోగించడం అమలు చేయడం మరియు ప్రామాణీకరించడం సులభం, కానీ దాని సామర్థ్యాలలో చాలా పరిమితం, మరియు మెటా-ప్రోటోకాల్స్, సులభంగా ఉన్నప్పటికీ, స్కేలబిలిటీలో లోపాలతో బాధపడతాయి. ఇతీరియముతో, అభివృద్ధి సౌలభ్యంలో మరింత పెద్ద లాభాలను అలాగే మరింత బలమైన లైట్ ఖాతాదారుల లక్షణాలను అందించే ప్రత్యామ్నాయ ఫ్రేమ్‌వర్క్‌ను నిర్మించాలని మేము భావిస్తున్నాము, అదే సమయంలో అప్లికేషన్‌లు ఆర్థిక వాతావరణం మరియు బ్లాక్‌చెయిన్ భద్రతను పంచుకోవడానికి అనుమతిస్తుంది.

ఇథీరియం

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

ఇతీరియము ఖాతాలు

ఇతీరియములో, స్టేట్ "ఖాతాలు" అని పిలువబడే వస్తువులతో రూపొందించబడింది, ప్రతి ఖాతాకు 20-బైట్ చిరునామా ఉంటుంది మరియు స్టేట్ ట్రాన్సిషన్‌లు ఖాతాల మధ్య విలువ మరియు సమాచారం యొక్క ప్రత్యక్ష బదిలీలు. ఒక ఇతీరియము ఖాతా నాలుగు ఫీల్డ్‌లను కలిగి ఉంటుంది:

  • నాన్స్, ప్రతి లావాదేవీని ఒకసారి మాత్రమే ప్రాసెస్ చేయగలరని నిర్ధారించడానికి ఉపయోగించే ఒక కౌంటర్
  • ఖాతా యొక్క ప్రస్తుత ఈథర్ బ్యాలెన్స్
  • ఖాతా యొక్క కాంట్రాక్ట్ కోడ్, ఉన్నట్లయితే
  • ఖాతా యొక్క నిల్వ (డిఫాల్ట్‌గా ఖాళీ)

"ఈథర్" ఇతీరియము యొక్క ప్రధాన అంతర్గత క్రిప్టో-ఇంధనం, మరియు లావాదేవీ రుసుములను చెల్లించడానికి ఉపయోగించబడుతుంది. సాధారణంగా, రెండు రకాల ఖాతాలు ఉన్నాయి: ప్రైవేట్ కీలతో నియంత్రించబడే బాహ్యంగా యాజమాన్యం కలిగిన ఖాతాలు, మరియు వాటి కాంట్రాక్ట్ కోడ్ ద్వారా నియంత్రించబడే కాంట్రాక్ట్ ఖాతాలు. ఒక బాహ్యంగా యాజమాన్యం కలిగిన ఖాతాకు కోడ్ లేదు, మరియు ఒక లావాదేవీని సృష్టించి మరియు సంతకం చేయడం ద్వారా బాహ్యంగా యాజమాన్యం కలిగిన ఖాతా నుండి సందేశాలను పంపవచ్చు; ఒక కాంట్రాక్ట్ ఖాతాలో, ప్రతిసారి కాంట్రాక్ట్ ఖాతా ఒక సందేశాన్ని స్వీకరించినప్పుడు దాని కోడ్ సక్రియం అవుతుంది, ఇది అంతర్గత నిల్వకు చదవడానికి మరియు వ్రాయడానికి మరియు ఇతర సందేశాలను పంపడానికి లేదా ప్రతిగా ఒప్పందాలను సృష్టించడానికి అనుమతిస్తుంది.

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

సందేశాలు మరియు లావాదేవీలు

ఇతీరియములో "లావాదేవీ" అనే పదం బాహ్యంగా యాజమాన్యం కలిగిన ఖాతా నుండి పంపబడే సందేశాన్ని నిల్వ చేసే సంతకం చేయబడిన డేటా ప్యాకేజీని సూచించడానికి ఉపయోగించబడుతుంది. లావాదేవీలు కలిగి ఉంటాయి:

  • సందేశం యొక్క గ్రహీత
  • పంపినవారిని గుర్తించే సంతకం
  • పంపినవారి నుండి గ్రహీతకు బదిలీ చేయవలసిన ఈథర్ మొత్తం
  • ఒక ఐచ్ఛిక డేటా ఫీల్డ్
  • ఒక STARTGAS విలువ, లావాదేవీ అమలు తీసుకోగల గరిష్ట గణన దశల సంఖ్యను సూచిస్తుంది
  • ఒక GASPRICE విలువ, పంపినవారు ప్రతి గణన దశకు చెల్లించే రుసుమును సూచిస్తుంది

మొదటి మూడు ఏ క్రిప్టోకరెన్సీలోనైనా ఆశించే ప్రామాణిక ఫీల్డ్‌లు. డేటా ఫీల్డ్ డిఫాల్ట్‌గా ఏ ఫంక్షన్‌ను కలిగి ఉండదు, కానీ వర్చువల్ మెషీన్‌లో ఒక ఆప్‌కోడ్ ఉంది, దానిని ఉపయోగించి ఒక కాంట్రాక్ట్ డేటాను యాక్సెస్ చేయగలదు; ఒక ఉదాహరణ వినియోగ కేసుగా, ఒక కాంట్రాక్ట్ ఆన్-బ్లాక్‌చెయిన్ డొమైన్ రిజిస్ట్రేషన్ సేవగా పనిచేస్తుంటే, దానికి పంపబడిన డేటాను రెండు "ఫీల్డ్‌లను" కలిగి ఉన్నట్లుగా వ్యాఖ్యానించాలనుకోవచ్చు, మొదటి ఫీల్డ్ రిజిస్టర్ చేయడానికి ఒక డొమైన్ మరియు రెండవ ఫీల్డ్ దానిని రిజిస్టర్ చేయడానికి IP చిరునామా. కాంట్రాక్ట్ ఈ విలువలను సందేశం డేటా నుండి చదివి, వాటిని నిల్వలో సముచితంగా ఉంచుతుంది.

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

సందేశాలు

ఒప్పందాలు ఇతర ఒప్పందాలకు "సందేశాలు" పంపగల సామర్థ్యాన్ని కలిగి ఉంటాయి. సందేశాలు వర్చువల్ వస్తువులు, అవి ఎప్పుడూ సీరియలైజ్ చేయబడవు మరియు కేవలం ఇతీరియము అమలు వాతావరణంలో మాత్రమే ఉంటాయి. ఒక సందేశం కలిగి ఉంటుంది:

  • సందేశం పంపినవారు (అంతర్లీనంగా)
  • సందేశం యొక్క గ్రహీత
  • సందేశంతో పాటు బదిలీ చేయవలసిన ఈథర్ మొత్తం
  • ఒక ఐచ్ఛిక డేటా ఫీల్డ్
  • ఒక STARTGAS విలువ

ముఖ్యంగా, ఒక సందేశం ఒక లావాదేవీ లాంటిది, కానీ అది ఒక కాంట్రాక్ట్ ద్వారా ఉత్పత్తి చేయబడుతుంది మరియు బాహ్య నటుడి ద్వారా కాదు. ప్రస్తుతం కోడ్‌ను అమలు చేస్తున్న ఒక కాంట్రాక్ట్ CALL ఆప్‌కోడ్‌ను అమలు చేసినప్పుడు ఒక సందేశం ఉత్పత్తి చేయబడుతుంది, ఇది ఒక సందేశాన్ని ఉత్పత్తి చేసి, అమలు చేస్తుంది. ఒక లావాదేవీ లాగానే, ఒక సందేశం గ్రహీత ఖాతా దాని కోడ్‌ను అమలు చేయడానికి దారి తీస్తుంది. అందువల్ల, ఒప్పందాలు బాహ్య నటులు చేయగలిగినట్లే ఇతర ఒప్పందాలతో సంబంధాలను కలిగి ఉంటాయి.

గమనించండి, ఒక లావాదేవీ లేదా కాంట్రాక్ట్ ద్వారా కేటాయించబడిన గ్యాస్ భత్యం ఆ లావాదేవీ మరియు అన్ని ఉప-అమలుల ద్వారా వినియోగించబడిన మొత్తం గ్యాస్‌కు వర్తిస్తుంది. ఉదాహరణకు, బాహ్య నటుడు A, Bకి 1000 గ్యాస్‌తో ఒక లావాదేవీని పంపితే, మరియు B, Cకి ఒక సందేశాన్ని పంపే ముందు 600 గ్యాస్‌ను వినియోగిస్తే, మరియు C యొక్క అంతర్గత అమలు తిరిగి వచ్చే ముందు 300 గ్యాస్‌ను వినియోగిస్తే, అప్పుడు B గ్యాస్ అయిపోయే ముందు మరో 100 గ్యాస్‌ను ఖర్చు చేయగలదు.

ఇతీరియము స్టేట్ ట్రాన్సిషన్ ఫంక్షన్

ఈథర్ స్టేట్ ట్రాన్సిషన్

ఇతీరియము స్టేట్ ట్రాన్సిషన్ ఫంక్షన్, APPLY(S,TX) -> S' ను ఈ క్రింది విధంగా నిర్వచించవచ్చు:

  1. లావాదేవీ సరిగ్గా ఏర్పడిందో లేదో (అంటే, సరైన సంఖ్యలో విలువలు ఉన్నాయో లేదో), సంతకం చెల్లుబాటులో ఉందో లేదో, మరియు నాన్స్ పంపినవారి ఖాతాలోని నాన్స్‌తో సరిపోలుతుందో లేదో తనిఖీ చేయండి. కాకపోతే, ఒక లోపాన్ని తిరిగి ఇవ్వండి.
  2. లావాదేవీ రుసుమును STARTGAS * GASPRICEగా లెక్కించండి, మరియు సంతకం నుండి పంపే చిరునామాను నిర్ణయించండి. పంపినవారి ఖాతా బ్యాలెన్స్ నుండి రుసుమును తీసివేసి, పంపినవారి నాన్స్‌ను పెంచండి. ఖర్చు చేయడానికి తగినంత బ్యాలెన్స్ లేకపోతే, ఒక లోపాన్ని తిరిగి ఇవ్వండి.
  3. GAS = STARTGASని ప్రారంభించండి, మరియు లావాదేవీలోని బైట్‌ల కోసం చెల్లించడానికి ప్రతి బైట్‌కు కొంత గ్యాస్‌ను తీసివేయండి.
  4. పంపినవారి ఖాతా నుండి స్వీకరించే ఖాతాకు లావాదేవీ విలువను బదిలీ చేయండి. స్వీకరించే ఖాతా ఇంకా ఉనికిలో లేకపోతే, దానిని సృష్టించండి. స్వీకరించే ఖాతా ఒక కాంట్రాక్ట్ అయితే, కాంట్రాక్ట్ కోడ్‌ను పూర్తి అయ్యే వరకు లేదా అమలుకు గ్యాస్ అయిపోయే వరకు అమలు చేయండి.
  5. పంపినవారికి తగినంత డబ్బు లేనందున లేదా కోడ్ అమలుకు గ్యాస్ అయిపోయినందున విలువ బదిలీ విఫలమైతే, ఫీజుల చెల్లింపు మినహా అన్ని స్టేట్ మార్పులను వెనక్కి తీసుకోండి, మరియు ఫీజులను మైనింగ్ చేసేవారి ఖాతాకు జోడించండి.
  6. లేకపోతే, మిగిలిన అన్ని గ్యాస్ కోసం ఫీజులను పంపినవారికి వాపసు చేయండి, మరియు వినియోగించబడిన గ్యాస్ కోసం చెల్లించిన ఫీజులను మైనింగ్ చేసేవారికి పంపండి.

ఉదాహరణకు, కాంట్రాక్ట్ కోడ్ అని అనుకుందాం:

if !self.storage[calldataload(0)]:\n  self.storage[calldataload(0)] = calldataload(32)

గమనించండి, వాస్తవానికి కాంట్రాక్ట్ కోడ్ తక్కువ-స్థాయి EVM కోడ్‌లో వ్రాయబడింది; ఈ ఉదాహరణ స్పష్టత కోసం మా ఉన్నత-స్థాయి భాషలలో ఒకటైన సర్పెంట్‌లో వ్రాయబడింది, మరియు EVM కోడ్‌కు కంపైల్ చేయబడుతుంది. కాంట్రాక్ట్ యొక్క నిల్వ మొదట ఖాళీగా ఉందని అనుకుందాం, మరియు 10 ఈథర్ విలువ, 2000 గ్యాస్, 0.001 ఈథర్ గ్యాస్‌ప్రైస్, మరియు 64 బైట్‌ల డేటాతో ఒక లావాదేవీ పంపబడుతుంది, బైట్‌లు 0-31 సంఖ్య 2ను మరియు బైట్‌లు 32-63 స్ట్రింగ్ CHARLIEను సూచిస్తాయి. ఈ సందర్భంలో స్టేట్ ట్రాన్సిషన్ ఫంక్షన్ కోసం ప్రక్రియ ఈ క్రింది విధంగా ఉంటుంది:

  1. లావాదేవీ చెల్లుబాటు అయ్యేదిగా మరియు బాగా రూపొందించబడినదిగా తనిఖీ చేయండి.
  2. లావాదేవీ పంపినవారికి కనీసం 2000 * 0.001 = 2 ఈథర్ ఉందని తనిఖీ చేయండి. అది ఉంటే, పంపినవారి ఖాతా నుండి 2 ఈథర్‌ను తీసివేయండి.
  3. గ్యాస్ = 2000ను ప్రారంభించండి; లావాదేవీ 170 బైట్‌ల పొడవు ఉందని మరియు బైట్-ఫీజు 5 అని ఊహిస్తే, 850ని తీసివేయండి, తద్వారా 1150 గ్యాస్ మిగిలి ఉంటుంది.
  4. పంపినవారి ఖాతా నుండి మరో 10 ఈథర్‌ను తీసివేసి, దానిని కాంట్రాక్ట్ ఖాతాకు జోడించండి.
  5. కోడ్‌ను అమలు చేయండి. ఈ సందర్భంలో, ఇది సులభం: ఇది కాంట్రాక్ట్ యొక్క నిల్వ సూచిక 2 వద్ద ఉపయోగించబడిందో లేదో తనిఖీ చేస్తుంది, అది కాదని గమనిస్తుంది, మరియు అందువల్ల ఇది నిల్వ సూచిక 2ను CHARLIE విలువకు సెట్ చేస్తుంది. ఇది 187 గ్యాస్‌ను తీసుకుంటుందని అనుకుందాం, కాబట్టి మిగిలిన గ్యాస్ మొత్తం 1150 - 187 = 963
  6. పంపినవారి ఖాతాకు 963 * 0.001 = 0.963 ఈథర్‌ను తిరిగి జోడించండి, మరియు ఫలిత స్టేట్‌ను తిరిగి ఇవ్వండి.

లావాదేవీ స్వీకరించే చివరలో ఏ కాంట్రాక్ట్ లేకపోతే, అప్పుడు మొత్తం లావాదేవీ రుసుము కేవలం అందించిన GASPRICE ను లావాదేవీ పొడవు బైట్‌లలో గుణించిన దానికి సమానంగా ఉంటుంది, మరియు లావాదేవీతో పాటు పంపిన డేటా అసంబద్ధంగా ఉంటుంది.

గమనించండి, సందేశాలు తిరస్కరణల పరంగా లావాదేవీలకు సమానంగా పనిచేస్తాయి: ఒక సందేశం అమలుకు గ్యాస్ అయిపోతే, ఆ సందేశం యొక్క అమలు, మరియు ఆ అమలు ద్వారా ప్రేరేపించబడిన అన్ని ఇతర అమలులు, వెనక్కి తిరుగుతాయి, కానీ మాతృ అమలులు వెనక్కి తిరగాల్సిన అవసరం లేదు. అంటే ఒక కాంట్రాక్ట్ మరొక కాంట్రాక్ట్‌ను పిలవడం "సురక్షితం", A, Bని G గ్యాస్‌తో పిలిస్తే, A యొక్క అమలు గరిష్టంగా G గ్యాస్‌ను మాత్రమే కోల్పోతుందని హామీ ఇవ్వబడుతుంది. చివరగా, గమనించండి, ఒక కాంట్రాక్ట్‌ను సృష్టించే CREATE అనే ఒక ఆప్‌కోడ్ ఉంది; దాని అమలు మెకానిక్స్ సాధారణంగా CALLతో సమానంగా ఉంటాయి, అమలు యొక్క అవుట్‌పుట్ కొత్తగా సృష్టించబడిన కాంట్రాక్ట్ యొక్క కోడ్‌ను నిర్ణయిస్తుందనే మినహాయింపుతో.

కోడ్ అమలు

ఇతీరియము ఒప్పందాలలో కోడ్ ఒక తక్కువ-స్థాయి, స్టాక్-ఆధారిత బైట్‌కోడ్ భాషలో వ్రాయబడింది, దీనిని "ఎథేరియం వర్చువల్ మషీన్ కోడ్" లేదా "EVM కోడ్" అని పిలుస్తారు. కోడ్ బైట్‌ల శ్రేణిని కలిగి ఉంటుంది, ఇక్కడ ప్రతి బైట్ ఒక ఆపరేషన్‌ను సూచిస్తుంది. సాధారణంగా, కోడ్ అమలు అనేది ఒక అనంత లూప్, ఇది ప్రస్తుత ప్రోగ్రామ్ కౌంటర్ వద్ద ఆపరేషన్‌ను పదేపదే నిర్వహించడం (ఇది సున్నా వద్ద ప్రారంభమవుతుంది) మరియు తరువాత ప్రోగ్రామ్ కౌంటర్‌ను ఒకటి పెంచడం, కోడ్ చివరికి చేరుకునే వరకు లేదా ఒక లోపం లేదా STOP లేదా RETURN సూచన కనుగొనబడే వరకు ఉంటుంది. డేటాను నిల్వ చేయడానికి ఆపరేషన్‌లకు మూడు రకాల స్థలాలకు యాక్సెస్ ఉంది:

  • స్టాక్, ఒక లాస్ట్-ఇన్-ఫస్ట్-అవుట్ కంటైనర్, దీనికి విలువలను పుష్ మరియు పాప్ చేయవచ్చు
  • మెమరీ, అనంతంగా విస్తరించగల బైట్ శ్రేణి
  • కాంట్రాక్ట్ యొక్క దీర్ఘకాలిక నిల్వ, ఒక కీ/విలువ స్టోర్. స్టాక్ మరియు మెమరీ వలె కాకుండా, గణన ముగిసిన తర్వాత రీసెట్ అయ్యే నిల్వ దీర్ఘకాలికంగా ఉంటుంది.

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

EVM కోడ్ యొక్క అధికారిక అమలు మోడల్ ఆశ్చర్యకరంగా సులభం. ఎథేరియం వర్చువల్ మషీన్ నడుస్తున్నప్పుడు, దాని పూర్తి గణన స్థితిని (block_state, transaction, message, code, memory, stack, pc, gas) టపుల్ ద్వారా నిర్వచించవచ్చు, ఇక్కడ block_state అనేది అన్ని ఖాతాలను కలిగి ఉన్న గ్లోబల్ స్టేట్ మరియు బ్యాలెన్స్‌లు మరియు నిల్వను కలిగి ఉంటుంది. ప్రతి రౌండ్ అమలు ప్రారంభంలో, ప్రస్తుత సూచన code యొక్క pcవ బైట్‌ను తీసుకోవడం ద్వారా కనుగొనబడుతుంది (లేదా pc >= len(code) అయితే 0), మరియు ప్రతి సూచన టపుల్‌ను ఎలా ప్రభావితం చేస్తుందనే దాని పరంగా దాని స్వంత నిర్వచనాన్ని కలిగి ఉంటుంది. ఉదాహరణకు, ADD స్టాక్ నుండి రెండు అంశాలను పాప్ చేసి, వాటి మొత్తాన్ని పుష్ చేస్తుంది, gasను 1 తగ్గిస్తుంది మరియు pcను 1 పెంచుతుంది, మరియు SSTORE స్టాక్ నుండి పై రెండు అంశాలను పాప్ చేసి, రెండవ అంశాన్ని మొదటి అంశం ద్వారా పేర్కొన్న సూచిక వద్ద కాంట్రాక్ట్ యొక్క నిల్వలో చేర్చుతుంది. జస్ట్-ఇన్-టైమ్ కంపైలేషన్ ద్వారా ఇతీరియము వర్చువల్ మెషీన్ అమలును ఆప్టిమైజ్ చేయడానికి అనేక మార్గాలు ఉన్నప్పటికీ, ఇతీరియము యొక్క ప్రాథమిక అమలును కొన్ని వందల లైన్ల కోడ్‌లో చేయవచ్చు.

బ్లాక్‌చెయిన్ మరియు మైనింగ్

ఇతీరియము అప్లై బ్లాక్ రేఖాచిత్రం

ఇతీరియము బ్లాక్‌చెయిన్ అనేక విధాలుగా Bitcoin బ్లాక్‌చెయిన్‌తో సమానంగా ఉంటుంది, అయినప్పటికీ దీనికి కొన్ని తేడాలు ఉన్నాయి. బ్లాక్‌చెయిన్ ఆర్కిటెక్చర్ విషయంలో ఇతీరియము మరియు Bitcoin మధ్య ప్రధాన వ్యత్యాసం ఏమిటంటే, Bitcoin వలె కాకుండా, ఇతీరియము బ్లాక్‌లు లావాదేవీ జాబితా మరియు అత్యంత ఇటీవలి స్టేట్ రెండింటి కాపీని కలిగి ఉంటాయి. అంతే కాకుండా, బ్లాక్ నంబర్ మరియు డిఫికల్టీ అనే రెండు ఇతర విలువలు కూడా బ్లాక్‌లో నిల్వ చేయబడతాయి. ఇతీరియములో ప్రాథమిక బ్లాక్ ధృవీకరణ అల్గోరిథం ఈ క్రింది విధంగా ఉంటుంది:

  1. సూచించబడిన మునుపటి బ్లాక్ ఉనికిలో ఉందో మరియు చెల్లుబాటు అయ్యేదిగా ఉందో లేదో తనిఖీ చేయండి.
  2. బ్లాక్ యొక్క టైమ్‌స్టాంప్ సూచించబడిన మునుపటి బ్లాక్ కంటే ఎక్కువగా మరియు భవిష్యత్తులోకి 15 నిమిషాల కంటే తక్కువగా ఉందని తనిఖీ చేయండి
  3. బ్లాక్ నంబర్, డిఫికల్టీ, లావాదేవీ రూట్, అంకుల్ రూట్ మరియు గ్యాస్ పరిమితి (వివిధ తక్కువ-స్థాయి ఇతీరియము-నిర్దిష్ట భావనలు) చెల్లుబాటు అయ్యేవిగా ఉన్నాయో లేదో తనిఖీ చేయండి.
  4. బ్లాక్‌పై ప్రూఫ్-ఆఫ్-వర్క్ చెల్లుబాటులో ఉందని తనిఖీ చేయండి.
  5. మునుపటి బ్లాక్ చివరిలో S[0] స్థితిగా ఉండనివ్వండి.
  6. TX బ్లాక్ యొక్క లావాదేవీ జాబితా, n లావాదేవీలతో. 0...n-1లోని అన్ని i కోసం, S[i+1] = APPLY(S[i],TX[i]) అని సెట్ చేయండి. ఏదైనా అప్లికేషన్ ఒక లోపాన్ని తిరిగి ఇస్తే, లేదా ఈ సమయం వరకు బ్లాక్‌లో వినియోగించబడిన మొత్తం గ్యాస్ GASLIMITను మించి ఉంటే, ఒక లోపాన్ని తిరిగి ఇవ్వండి.
  7. S_FINAL S[n]గా ఉండనివ్వండి, కానీ మైనింగ్ చేసేవారికి చెల్లించిన బ్లాక్ రివార్డ్‌ను జోడించండి.
  8. స్టేట్ S_FINAL యొక్క మెర్కిల్ ట్రీ రూట్ బ్లాక్ హెడర్‌లో అందించిన చివరి స్టేట్ రూట్‌కు సమానంగా ఉందో లేదో తనిఖీ చేయండి. అది ఉంటే, బ్లాక్ చెల్లుబాటు అవుతుంది; లేకపోతే, అది చెల్లుబాటు కాదు.

ఈ విధానం మొదట చాలా అసమర్థంగా అనిపించవచ్చు, ఎందుకంటే ఇది ప్రతి బ్లాక్‌తో మొత్తం స్టేట్‌ను నిల్వ చేయాలి, కానీ వాస్తవానికి సామర్థ్యం Bitcoin దానితో పోల్చదగినదిగా ఉండాలి. కారణం ఏమిటంటే, స్టేట్ ట్రీ స్ట్రక్చర్‌లో నిల్వ చేయబడుతుంది, మరియు ప్రతి బ్లాక్ తర్వాత ట్రీ యొక్క చిన్న భాగం మాత్రమే మార్చవలసి ఉంటుంది. అందువల్ల, సాధారణంగా, రెండు ప్రక్క ప్రక్కన ఉన్న బ్లాక్‌ల మధ్య ట్రీ యొక్క అత్యధిక భాగం ఒకే విధంగా ఉండాలి, మరియు అందువల్ల డేటాను ఒకసారి నిల్వ చేసి, పాయింటర్‌లను (అంటే, సబ్‌ట్రీల హాష్‌లు) ఉపయోగించి రెండుసార్లు సూచించవచ్చు. దీనిని సాధించడానికి "ప్యాట్రిసియా ట్రీ" అని పిలువబడే ఒక ప్రత్యేక రకమైన ట్రీ ఉపయోగించబడుతుంది, ఇందులో మెర్కిల్ ట్రీ భావనకు ఒక సవరణ కూడా ఉంటుంది, ఇది నోడ్‌లను కేవలం మార్చడమే కాకుండా, సమర్థవంతంగా చేర్చడానికి మరియు తొలగించడానికి అనుమతిస్తుంది. అదనంగా, స్టేట్ సమాచారం అంతా చివరి బ్లాక్‌లో భాగంగా ఉన్నందున, మొత్తం బ్లాక్‌చెయిన్ చరిత్రను నిల్వ చేయాల్సిన అవసరం లేదు - ఇది Bitcoinకు వర్తింపజేయగలిగితే, స్థలంలో 5-20x ఆదాను అందించగలదని లెక్కించబడిన వ్యూహం.

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

అప్లికేషన్‌లు

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

టోకెన్ వ్యవస్థలు

ఆన్-బ్లాక్‌చెయిన్ టోకెన్ వ్యవస్థలు USD లేదా బంగారం వంటి ఆస్తులను సూచించే ఉప-కరెన్సీల నుండి కంపెనీ స్టాక్‌లు, స్మార్ట్ ప్రాపర్టీని సూచించే వ్యక్తిగత టోకెన్‌లు, సురక్షిత ఫోర్జరీ చేయలేని కూపన్‌లు మరియు సంప్రదాయ విలువతో ఎటువంటి సంబంధం లేని టోకెన్ వ్యవస్థల వరకు అనేక అప్లికేషన్‌లను కలిగి ఉన్నాయి, ప్రోత్సాహానికి పాయింట్ వ్యవస్థలుగా ఉపయోగించబడతాయి. ఇతీరియములో టోకెన్ వ్యవస్థలను అమలు చేయడం ఆశ్చర్యకరంగా సులభం. అర్థం చేసుకోవలసిన ముఖ్య విషయం ఏమిటంటే, ఒక కరెన్సీ, లేదా టోకెన్ వ్యవస్థ, ప్రాథమికంగా, ఒక ఆపరేషన్‌తో కూడిన డేటాబేస్: A నుండి X యూనిట్లను తీసివేసి, Bకి X యూనిట్లను ఇవ్వండి, ఈ షరతులతో (i) లావాదేవీకి ముందు A కనీసం X యూనిట్లను కలిగి ఉంది మరియు (2) లావాదేవీ A చేత ఆమోదించబడింది. ఒక టోకెన్ వ్యవస్థను అమలు చేయడానికి కావలసిందల్లా ఈ తర్కాన్ని ఒక కాంట్రాక్ట్‌లో అమలు చేయడం.

సర్పెంట్‌లో ఒక టోకెన్ వ్యవస్థను అమలు చేయడానికి ప్రాథమిక కోడ్ ఈ క్రింది విధంగా ఉంటుంది:

def send(to, value):\n  if self.storage[msg.sender] >= value:\n    self.storage[msg.sender] = self.storage[msg.sender] - value\n    self.storage[to] = self.storage[to] + value

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

ఆర్థిక ఉత్పన్నాలు మరియు స్థిర-విలువ కరెన్సీలు

ఆర్థిక ఉత్పన్నాలు "స్మార్ట్ కాంట్రాక్ట్" యొక్క అత్యంత సాధారణ అప్లికేషన్, మరియు కోడ్‌లో అమలు చేయడానికి సరళమైన వాటిలో ఒకటి. ఆర్థిక ఒప్పందాలను అమలు చేయడంలో ప్రధాన సవాలు ఏమిటంటే, వాటిలో చాలా వరకు బాహ్య ధర టిక్కర్‌ను సూచించవలసి ఉంటుంది; ఉదాహరణకు, ఒక చాలా కోరదగిన అప్లికేషన్ ఈథర్ (లేదా మరొక క్రిప్టోకరెన్సీ) యొక్క అస్థిరతకు వ్యతిరేకంగా US డాలర్‌కు సంబంధించి హెడ్జ్ చేసే స్మార్ట్ కాంట్రాక్ట్, కానీ దీనిని చేయడానికి కాంట్రాక్ట్ ETH/USD విలువ ఏమిటో తెలుసుకోవాలి. దీన్ని చేయడానికి సులభమైన మార్గం ఒక నిర్దిష్ట పార్టీ (ఉదా., NASDAQ) నిర్వహించే "డేటా ఫీడ్" ఒప్పందం ద్వారా, ఆ పార్టీ అవసరమైనప్పుడు ఒప్పందాన్ని అప్‌డేట్ చేయగల సామర్థ్యాన్ని కలిగి ఉండేలా రూపొందించబడింది, మరియు ఇతర ఒప్పందాలు ఆ ఒప్పందానికి ఒక సందేశాన్ని పంపడానికి మరియు ధరను అందించే ప్రతిస్పందనను తిరిగి పొందడానికి అనుమతించే ఒక ఇంటర్‌ఫేస్‌ను అందించడం.

ఆ కీలకమైన అంశం ఇచ్చినప్పుడు, హెడ్జింగ్ కాంట్రాక్ట్ ఈ క్రింది విధంగా ఉంటుంది:

  1. పార్టీ A 1000 ఈథర్‌ను ఇన్‌పుట్ చేసే వరకు వేచి ఉండండి.
  2. పార్టీ B 1000 ఈథర్‌ను ఇన్‌పుట్ చేసే వరకు వేచి ఉండండి.
  3. డేటా ఫీడ్ కాంట్రాక్ట్‌ను ప్రశ్నించడం ద్వారా లెక్కించబడిన 1000 ఈథర్ యొక్క USD విలువను నిల్వలో నమోదు చేయండి, దీనిని $x అని అనుకుందాం.
  4. 30 రోజుల తర్వాత, A లేదా Bకి $x విలువైన ఈథర్‌ను (కొత్త ధరను పొందడానికి డేటా ఫీడ్ కాంట్రాక్ట్‌ను మళ్లీ ప్రశ్నించడం ద్వారా లెక్కించబడుతుంది) Aకు మరియు మిగిలినది Bకు పంపడానికి కాంట్రాక్ట్‌ను "పునఃసక్రియం" చేయడానికి అనుమతించండి.

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

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

గుర్తింపు మరియు కీర్తి వ్యవస్థలు

అన్నింటికంటే తొలి ప్రత్యామ్నాయ క్రిప్టోకరెన్సీ, Namecoin (opens in a new tab), ఒక పేరు నమోదు వ్యవస్థను అందించడానికి Bitcoin-వంటి బ్లాక్‌చెయిన్‌ను ఉపయోగించడానికి ప్రయత్నించింది, ఇక్కడ వినియోగదారులు ఇతర డేటాతో పాటు వారి పేర్లను ఒక పబ్లిక్ డేటాబేస్‌లో నమోదు చేసుకోవచ్చు. ప్రధానంగా ఉదహరించబడిన వినియోగ కేసు ఒక DNS (opens in a new tab) వ్యవస్థ, ఇది "bitcoin.org" (లేదా, Namecoin విషయంలో, "bitcoin.bit") వంటి డొమైన్ పేర్లను ఒక IP చిరునామాకు మ్యాప్ చేస్తుంది. ఇతర వినియోగ కేసులలో ఇమెయిల్ ప్రామాణీకరణ మరియు సంభావ్యంగా మరింత అధునాతన కీర్తి వ్యవస్థలు ఉన్నాయి. ఇతీరియములో Namecoin-వంటి పేరు నమోదు వ్యవస్థను అందించడానికి ప్రాథమిక కాంట్రాక్ట్ ఇక్కడ ఉంది:

def register(name, value):\n  if !self.storage[name]:\n    self.storage[name] = value

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

వికేంద్రీకృత ఫైల్ నిల్వ

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

అటువంటి పరికరం యొక్క ముఖ్య అంతర్లీన భాగం మేము "వికేంద్రీకృత Dropbox కాంట్రాక్ట్" అని పిలిచేది. ఈ ఒప్పందం ఈ క్రింది విధంగా పనిచేస్తుంది. మొదట, కోరుకున్న డేటాను బ్లాక్‌లుగా విభజించి, గోప్యత కోసం ప్రతి బ్లాక్‌ను ఎన్‌క్రిప్ట్ చేసి, దాని నుండి ఒక మెర్కిల్ ట్రీని నిర్మిస్తారు. అప్పుడు ఒకరు ఒక నియమంతో ఒక ఒప్పందం చేసుకుంటారు, ప్రతి N బ్లాక్‌లకు, కాంట్రాక్ట్ మెర్కిల్ ట్రీలో యాదృచ్ఛిక సూచికను ఎంచుకుంటుంది (మునుపటి బ్లాక్ హాష్, కాంట్రాక్ట్ కోడ్ నుండి యాక్సెస్ చేయగలదు, యాదృచ్ఛికత మూలంగా ఉపయోగించి), మరియు ఆ నిర్దిష్ట సూచిక వద్ద బ్లాక్ యాజమాన్యం యొక్క సరళీకృత చెల్లింపు ధృవీకరణ-వంటి రుజువుతో ఒక లావాదేవీని సరఫరా చేసే మొదటి సంస్థకు X ఈథర్‌ను ఇస్తుంది. ఒక వినియోగదారుడు తమ ఫైల్‌ను తిరిగి డౌన్‌లోడ్ చేయాలనుకున్నప్పుడు, వారు ఫైల్‌ను తిరిగి పొందడానికి మైక్రోపేమెంట్ ఛానల్ ప్రోటోకాల్ (ఉదా., 32 కిలోబైట్‌లకు 1 స్జాబో చెల్లించడం) ఉపయోగించవచ్చు; అత్యంత రుసుము-సమర్థవంతమైన విధానం ఏమిటంటే, చెల్లింపుదారుడు లావాదేవీని చివరి వరకు ప్రచురించకుండా, బదులుగా ప్రతి 32 కిలోబైట్‌ల తర్వాత అదే నాన్స్‌తో కొద్దిగా ఎక్కువ లాభదాయకమైన దానితో లావాదేవీని భర్తీ చేయడం.

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

వికేంద్రీకృత స్వయంప్రతిపత్త సంస్థలు

"వికేంద్రీకృత స్వయంప్రతిపత్త సంస్థ" యొక్క సాధారణ భావన ఒక వర్చువల్ సంస్థ, దీనికి ఒక నిర్దిష్ట సమితి సభ్యులు లేదా వాటాదారులు ఉంటారు, వారు, బహుశా 67% మెజారిటీతో, సంస్థ యొక్క నిధులను ఖర్చు చేయడానికి మరియు దాని కోడ్‌ను సవరించడానికి హక్కును కలిగి ఉంటారు. సభ్యులు సమిష్టిగా సంస్థ తన నిధులను ఎలా కేటాయించాలో నిర్ణయిస్తారు. ఒక DAO యొక్క నిధులను కేటాయించే పద్ధతులు బౌంటీలు, జీతాలు నుండి పనికి బహుమతిగా అంతర్గత కరెన్సీ వంటి మరింత అసాధారణ యంత్రాంగాల వరకు ఉండవచ్చు. ఇది ముఖ్యంగా ఒక సాంప్రదాయ కంపెనీ లేదా లాభాపేక్షలేని సంస్థ యొక్క చట్టపరమైన అలంకారాలను ప్రతిబింబిస్తుంది, కానీ అమలు కోసం కేవలం క్రిప్టోగ్రాఫిక్ బ్లాక్‌చెయిన్ సాంకేతికతను ఉపయోగిస్తుంది. ఇప్పటివరకు DAOల చుట్టూ ఉన్న చాలా చర్చలు డివిడెండ్-పొందే వాటాదారులు మరియు వ్యాపారం చేయగల షేర్లతో కూడిన "పెట్టుబడిదారీ" మోడల్ "వికేంద్రీకృత స్వయంప్రతిపత్త కార్పొరేషన్" (DAC) చుట్టూ ఉన్నాయి; ఒక ప్రత్యామ్నాయం, బహుశా "వికేంద్రీకృత స్వయంప్రతిపత్త సంఘం"గా వర్ణించబడింది, సభ్యులందరికీ నిర్ణయం తీసుకోవడంలో సమాన వాటా ఉంటుంది మరియు ఒక సభ్యుడిని జోడించడానికి లేదా తొలగించడానికి 67% ప్రస్తుత సభ్యులు అంగీకరించవలసి ఉంటుంది. ఒక వ్యక్తికి ఒకే సభ్యత్వం మాత్రమే ఉండగలదనే అవసరాన్ని అప్పుడు సమూహం సమిష్టిగా అమలు చేయవలసి ఉంటుంది.

ఒక DAOను కోడ్ చేయడానికి ఒక సాధారణ రూపురేఖ ఈ క్రింది విధంగా ఉంటుంది. సరళమైన డిజైన్ కేవలం మూడింట రెండు వంతుల సభ్యులు ఒక మార్పుపై అంగీకరిస్తే మారే స్వీయ-సవరించే కోడ్ ముక్క. కోడ్ సిద్ధాంతపరంగా మార్పులేనిది అయినప్పటికీ, కోడ్ యొక్క ముక్కలను వేర్వేరు ఒప్పందాలలో ఉంచడం ద్వారా మరియు ఏ ఒప్పందాలను పిలవాలో అనే చిరునామాను సవరించగల నిల్వలో నిల్వ చేయడం ద్వారా దీనిని సులభంగా అధిగమించవచ్చు మరియు వాస్తవంగా మార్పును కలిగి ఉండవచ్చు. అటువంటి DAO కాంట్రాక్ట్ యొక్క ఒక సాధారణ అమలులో, లావాదేవీలో అందించిన డేటా ద్వారా వేరు చేయబడిన మూడు లావాదేవీ రకాలు ఉంటాయి:

  • [0,i,K,V] నిల్వ సూచిక K వద్ద చిరునామాను విలువ Vకు మార్చడానికి సూచిక iతో ఒక ప్రతిపాదనను నమోదు చేయడానికి
  • [1,i] ప్రతిపాదన iకు అనుకూలంగా ఒక ఓటును నమోదు చేయడానికి
  • [2,i] తగినంత ఓట్లు వేయబడితే ప్రతిపాదన iను ఖరారు చేయడానికి

అప్పుడు కాంట్రాక్ట్ వీటన్నింటికీ నిబంధనలను కలిగి ఉంటుంది. ఇది అన్ని బహిరంగ నిల్వ మార్పుల రికార్డును, వాటికి ఎవరు ఓటు వేశారో జాబితాతో పాటు నిర్వహిస్తుంది. ఇది సభ్యులందరి జాబితాను కూడా కలిగి ఉంటుంది. ఏదైనా నిల్వ మార్పు మూడింట రెండు వంతుల సభ్యుల ఓట్లను పొందినప్పుడు, ఒక ఖరారు లావాదేవీ మార్పును అమలు చేయగలదు. మరింత అధునాతనమైన స్కెలిటన్‌లో లావాదేవీ పంపడం, సభ్యులను జోడించడం మరియు సభ్యులను తొలగించడం వంటి ఫీచర్‌ల కోసం అంతర్నిర్మిత ఓటింగ్ సామర్థ్యం కూడా ఉంటుంది, మరియు లిక్విడ్ డెమోక్రసీ (opens in a new tab)-శైలి ఓటు ప్రతినిధి బృందాన్ని కూడా అందించవచ్చు (అంటే, ఎవరైనా తమ కోసం ఓటు వేయడానికి ఎవరినైనా కేటాయించవచ్చు, మరియు కేటాయింపు పరివర్తనశీలమైనది కాబట్టి A Bని కేటాయించి B Cని కేటాయిస్తే C A యొక్క ఓటును నిర్ణయిస్తుంది). ఈ డిజైన్ DAOను ఒక వికేంద్రీకృత సంఘంగా సేంద్రీయంగా పెరగడానికి అనుమతిస్తుంది, ప్రజలు చివరికి సభ్యులను ఫిల్టర్ చేసే పనిని నిపుణులకు అప్పగించడానికి అనుమతిస్తుంది, అయినప్పటికీ "ప్రస్తుత వ్యవస్థ"లో వలె కాకుండా వ్యక్తిగత సంఘ సభ్యులు తమ అమరికలను మార్చుకున్నప్పుడు నిపుణులు కాలక్రమేణా సులభంగా ఉనికిలోకి రావచ్చు మరియు బయటకు వెళ్లవచ్చు.

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

తదుపరి అప్లికేషన్‌లు

1. పొదుపు వాలెట్‌లు. ఆలిస్ తన నిధులను సురక్షితంగా ఉంచుకోవాలనుకుంటుందని అనుకుందాం, కానీ ఆమె తన ప్రైవేట్ కీని కోల్పోతుందని లేదా ఎవరైనా హ్యాక్ చేస్తారని ఆందోళన చెందుతోంది. ఆమె ఈథర్‌ను బాబ్, ఒక బ్యాంకుతో, ఒక ఒప్పందంలో ఈ క్రింది విధంగా ఉంచుతుంది:

  • ఆలిస్ మాత్రమే రోజుకు గరిష్టంగా 1% నిధులను ఉపసంహరించుకోగలదు.
  • బాబ్ మాత్రమే రోజుకు గరిష్టంగా 1% నిధులను ఉపసంహరించుకోగలడు, కానీ ఆలిస్ తన కీతో ఈ సామర్థ్యాన్ని నిలిపివేసే లావాదేవీని చేయగల సామర్థ్యాన్ని కలిగి ఉంది.
  • ఆలిస్ మరియు బాబ్ కలిసి ఏదైనా ఉపసంహరించుకోవచ్చు.

సాధారణంగా, రోజుకు 1% ఆలిస్‌కు సరిపోతుంది, మరియు ఆలిస్ ఎక్కువ ఉపసంహరించుకోవాలనుకుంటే ఆమె సహాయం కోసం బాబ్‌ను సంప్రదించవచ్చు. ఆలిస్ కీ హ్యాక్ అయితే, ఆమె నిధులను కొత్త ఒప్పందానికి తరలించడానికి బాబ్ వద్దకు పరిగెడుతుంది. ఆమె తన కీని కోల్పోతే, బాబ్ చివరికి నిధులను పొందుతాడు. బాబ్ హానికరంగా మారితే, ఆమె అతని ఉపసంహరణ సామర్థ్యాన్ని నిలిపివేయగలదు.

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

3. ఒక వికేంద్రీకృత డేటా ఫీడ్. వ్యత్యాసం కోసం ఆర్థిక ఒప్పందాల కోసం, "షెల్లింగ్‌కాయిన్ (opens in a new tab)" అనే ప్రోటోకాల్ ద్వారా డేటా ఫీడ్‌ను వికేంద్రీకరించడం వాస్తవానికి సాధ్యం కావచ్చు. షెల్లింగ్‌కాయిన్ ప్రాథమికంగా ఈ క్రింది విధంగా పనిచేస్తుంది: N పార్టీలు అన్నీ ఒక నిర్దిష్ట డేటం (ఉదా., ETH/USD ధర) విలువను సిస్టమ్‌లోకి పెడతాయి, విలువలు క్రమబద్ధీకరించబడతాయి, మరియు 25వ మరియు 75వ పర్సంటైల్ మధ్య ఉన్న ప్రతిఒక్కరికీ రివార్డ్‌గా ఒక టోకెన్ లభిస్తుంది. ప్రతిఒక్కరికీ ఇతరులు అందించే సమాధానాన్ని అందించడానికి ప్రోత్సాహం ఉంటుంది, మరియు పెద్ద సంఖ్యలో ఆటగాళ్ళు వాస్తవికంగా అంగీకరించగల ఏకైక విలువ స్పష్టమైన డిఫాల్ట్: నిజం. ఇది ఒక వికేంద్రీకృత ప్రోటోకాల్‌ను సృష్టిస్తుంది, ఇది సిద్ధాంతపరంగా ETH/USD ధర, బెర్లిన్‌లోని ఉష్ణోగ్రత లేదా ఒక నిర్దిష్ట కఠినమైన గణన ఫలితం వంటి ఏవైనా విలువలను అందించగలదు.

4. స్మార్ట్ మల్టీసిగ్నేచర్ ఎస్క్రో**. Bitcoin మల్టీసిగ్నేచర్ లావాదేవీ ఒప్పందాలను అనుమతిస్తుంది, ఉదాహరణకు, ఇచ్చిన ఐదు కీలలో మూడు నిధులను ఖర్చు చేయగలవు. ఇతీరియము మరింత సూక్ష్మతను అనుమతిస్తుంది; ఉదాహరణకు, ఐదింటిలో నాలుగు అన్నీ ఖర్చు చేయగలవు, ఐదింటిలో మూడు రోజుకు 10% వరకు ఖర్చు చేయగలవు, మరియు ఐదింటిలో రెండు రోజుకు 0.5% వరకు ఖర్చు చేయగలవు. అదనంగా, ఇతీరియము మల్టీసిగ్ అసమకాలికం - రెండు పార్టీలు బ్లాక్‌చెయిన్‌పై వేర్వేరు సమయాల్లో తమ సంతకాలను నమోదు చేసుకోవచ్చు మరియు చివరి సంతకం స్వయంచాలకంగా లావాదేవీని పంపుతుంది.

5. క్లౌడ్ కంప్యూటింగ్**. EVM సాంకేతికతను ధృవీకరించదగిన గణన వాతావరణాన్ని సృష్టించడానికి కూడా ఉపయోగించవచ్చు, వినియోగదారులను ఇతరులను గణనలను నిర్వహించమని అడగడానికి మరియు తరువాత ఐచ్ఛికంగా కొన్ని యాదృచ్ఛికంగా ఎంచుకున్న చెక్‌పాయింట్‌ల వద్ద గణనలు సరిగ్గా జరిగాయని రుజువులను అడగడానికి అనుమతిస్తుంది. ఇది క్లౌడ్ కంప్యూటింగ్ మార్కెట్‌ను సృష్టించడానికి అనుమతిస్తుంది, ఇక్కడ ఏ వినియోగదారుడు అయినా తమ డెస్క్‌టాప్, ల్యాప్‌టాప్ లేదా ప్రత్యేక సర్వర్‌తో పాల్గొనవచ్చు, మరియు సిస్టమ్ నమ్మదగినదని నిర్ధారించడానికి (అంటే, నోడ్స్ లాభదాయకంగా మోసం చేయలేవు) భద్రతా డిపాజిట్లతో పాటు స్పాట్-చెక్కింగ్‌ను ఉపయోగించవచ్చు. అటువంటి వ్యవస్థ అన్ని పనులకు అనుకూలంగా ఉండకపోవచ్చు; ఉదాహరణకు, అధిక స్థాయి ఇంటర్-ప్రాసెస్ కమ్యూనికేషన్ అవసరమయ్యే పనులను, పెద్ద క్లౌడ్ ఆఫ్ నోడ్స్‌పై సులభంగా చేయలేరు. ఇతర పనులు, అయితే, సమాంతరీకరించడం చాలా సులభం; SETI@home, folding@home మరియు జన్యు అల్గోరిథంల వంటి ప్రాజెక్టులను అటువంటి ప్లాట్‌ఫారమ్ పైన సులభంగా అమలు చేయవచ్చు.

6. పీర్-టు-పీర్ జూదం**. ఫ్రాంక్ స్టాజానో మరియు రిచర్డ్ క్లేటన్ యొక్క Cyberdice (opens in a new tab) వంటి ఏవైనా పీర్-టు-పీర్ జూదం ప్రోటోకాల్స్‌ను ఇతీరియము బ్లాక్‌చెయిన్‌లో అమలు చేయవచ్చు. సరళమైన జూదం ప్రోటోకాల్ వాస్తవానికి కేవలం తదుపరి బ్లాక్ హాష్‌పై వ్యత్యాసం కోసం ఒక ఒప్పందం, మరియు అక్కడ నుండి మరింత అధునాతన ప్రోటోకాల్స్ నిర్మించబడతాయి, మోసం చేయగల సామర్థ్యం లేని దాదాపు సున్నా ఫీజులతో జూదం సేవలను సృష్టిస్తాయి.

7. అంచనా మార్కెట్లు**. ఒక ఒరాకిల్ లేదా షెల్లింగ్‌కాయిన్ అందించబడితే, ప్రిడిక్షన్ మార్కెట్లను కూడా అమలు చేయడం సులభం, మరియు షెల్లింగ్‌కాయిన్‌తో పాటు ప్రిడిక్షన్ మార్కెట్లు వికేంద్రీకృత సంస్థల కోసం పాలన ప్రోటోకాల్‌గా ఫ్యూటార్కీ (opens in a new tab) యొక్క మొదటి ప్రధాన స్రవంతి అప్లికేషన్ అని నిరూపించవచ్చు.

8. ఆన్‌చైన్ వికేంద్రీకృత మార్కెట్‌ప్లేస్‌లు**, గుర్తింపు మరియు కీర్తి వ్యవస్థను ఆధారం చేసుకుని.

ఇతర విషయాలు మరియు ఆందోళనలు

సవరించిన GHOST అమలు

"గ్రీడీ హెవీయెస్ట్ అబ్సర్వ్డ్ సబ్‌ట్రీ" (GHOST) ప్రోటోకాల్ అనేది యోనటన్ సోంపోలిన్స్కీ మరియు అవివ్ జోహార్ డిసెంబర్ 2013 (opens in a new tab)లో మొదటిసారిగా ప్రవేశపెట్టిన ఒక ఆవిష్కరణ. GHOST వెనుక ఉన్న ప్రేరణ ఏమిటంటే, వేగవంతమైన నిర్ధారణ సమయాలు ఉన్న బ్లాక్‌చెయిన్‌లు ప్రస్తుతం అధిక స్టైల్ రేటు కారణంగా తగ్గిన భద్రతతో బాధపడుతున్నాయి - ఎందుకంటే బ్లాక్‌లు నెట్‌వర్క్ ద్వారా ప్రచారం చేయడానికి ఒక నిర్దిష్ట సమయం తీసుకుంటాయి, మైనింగ్ చేసేవాడు A ఒక బ్లాక్‌ను మైన్ చేసి, ఆపై మైనింగ్ చేసేవాడు B, మైనింగ్ చేసేవాడు A యొక్క బ్లాక్ Bకు ప్రచారం చేయడానికి ముందు మరొక బ్లాక్‌ను మైన్ చేస్తే, మైనింగ్ చేసేవాడు B యొక్క బ్లాక్ వృధాగా పోతుంది మరియు నెట్‌వర్క్ భద్రతకు దోహదపడదు. ఇంకా, ఒక కేంద్రీకరణ సమస్య ఉంది: మైనింగ్ చేసేవాడు A 30% హాష్‌పవర్‌తో ఒక మైనింగ్ పూల్ అయితే మరియు B 10% హాష్‌పవర్‌ను కలిగి ఉంటే, Aకి 70% సమయం స్టైల్ బ్లాక్‌ను ఉత్పత్తి చేసే ప్రమాదం ఉంటుంది (మిగతా 30% సమయం A చివరి బ్లాక్‌ను ఉత్పత్తి చేసింది కాబట్టి మైనింగ్ డేటాను వెంటనే పొందుతుంది) అయితే Bకి 90% సమయం స్టైల్ బ్లాక్‌ను ఉత్పత్తి చేసే ప్రమాదం ఉంటుంది. అందువల్ల, బ్లాక్ విరామం స్టైల్ రేటు ఎక్కువగా ఉండేంత చిన్నదిగా ఉంటే, A దాని పరిమాణం కారణంగా గణనీయంగా మరింత సమర్థవంతంగా ఉంటుంది. ఈ రెండు ప్రభావాలతో కలిపి, వేగంగా బ్లాక్‌లను ఉత్పత్తి చేసే బ్లాక్‌చెయిన్‌లు ఒక మైనింగ్ పూల్ మైనింగ్ ప్రక్రియపై వాస్తవ నియంత్రణను కలిగి ఉండేంత నెట్‌వర్క్ హాష్‌పవర్ శాతాన్ని కలిగి ఉండటానికి దారితీసే అవకాశం ఉంది.

సోంపోలిన్స్కీ మరియు జోహార్ వర్ణించినట్లుగా, GHOST ఏ చైన్ "పొడవైనది" అనే గణనలో స్టైల్ బ్లాక్‌లను చేర్చడం ద్వారా నెట్‌వర్క్ భద్రత నష్టం యొక్క మొదటి సమస్యను పరిష్కరిస్తుంది; అంటే, కేవలం ఒక బ్లాక్ యొక్క తల్లిదండ్రులు మరియు తదుపరి పూర్వీకులు మాత్రమే కాకుండా, బ్లాక్ యొక్క పూర్వీకుల స్టైల్ వారసులు (ఇతీరియము పరిభాషలో, "అంకుల్స్") కూడా ఏ బ్లాక్ అతిపెద్ద మొత్తం ప్రూఫ్-ఆఫ్-వర్క్ మద్దతును కలిగి ఉందో గణనలో జోడించబడతారు. కేంద్రీకరణ పక్షపాతం యొక్క రెండవ సమస్యను పరిష్కరించడానికి, మేము సోంపోలిన్స్కీ మరియు జోహార్ వర్ణించిన ప్రోటోకాల్‌కు మించి, స్టైల్స్‌కు బ్లాక్ రివార్డ్‌లను కూడా అందిస్తాము: ఒక స్టైల్ బ్లాక్ దాని బేస్ రివార్డ్‌లో 87.5% పొందుతుంది, మరియు స్టైల్ బ్లాక్‌ను చేర్చిన మేనల్లుడు మిగిలిన 12.5% పొందుతాడు. అయితే, లావాదేవీ రుసుములు అంకుల్స్‌కు ఇవ్వబడవు.

ఇతీరియము GHOST యొక్క సరళీకృత వెర్షన్‌ను అమలు చేస్తుంది, ఇది ఏడు స్థాయిల వరకు మాత్రమే వెళ్తుంది. ప్రత్యేకంగా, ఇది ఈ క్రింది విధంగా నిర్వచించబడింది:

  • ఒక బ్లాక్ ఒక పేరెంట్‌ను పేర్కొనాలి, మరియు అది 0 లేదా అంతకంటే ఎక్కువ అంకుల్స్‌ను పేర్కొనాలి
  • బ్లాక్ Bలో చేర్చబడిన ఒక అంకుల్ ఈ క్రింది లక్షణాలను కలిగి ఉండాలి:
    • ఇది B యొక్క kth తరం పూర్వీకుల ప్రత్యక్ష బిడ్డ అయి ఉండాలి, ఇక్కడ 2 <= k <= 7.
    • ఇది B యొక్క పూర్వీకుడు కాకూడదు
    • ఒక అంకుల్ ఒక చెల్లుబాటు అయ్యే బ్లాక్ హెడర్ అయి ఉండాలి, కానీ గతంలో ధృవీకరించబడిన లేదా చెల్లుబాటు అయ్యే బ్లాక్ కానవసరం లేదు
    • ఒక అంకుల్ మునుపటి బ్లాక్‌లలో చేర్చబడిన అన్ని అంకుల్స్ మరియు అదే బ్లాక్‌లో చేర్చబడిన అన్ని ఇతర అంకుల్స్ నుండి భిన్నంగా ఉండాలి (నాన్-డబుల్-ఇన్‌క్లూజన్)
  • బ్లాక్ Bలోని ప్రతి అంకుల్ U కోసం, B యొక్క మైనింగ్ చేసేవాడు దాని కాయిన్‌బేస్ రివార్డ్‌కు అదనంగా 3.125% పొందుతాడు మరియు U యొక్క మైనింగ్ చేసేవాడు ప్రామాణిక కాయిన్‌బేస్ రివార్డ్‌లో 93.75% పొందుతాడు.

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

రుసుములు

బ్లాక్‌చెయిన్‌లో ప్రచురించబడిన ప్రతి లావాదేవీ నెట్‌వర్క్‌పై దానిని డౌన్‌లోడ్ చేసి, ధృవీకరించాల్సిన ఖర్చును విధిస్తుంది కాబట్టి, దుర్వినియోగాన్ని నివారించడానికి సాధారణంగా లావాదేవీ రుసుములతో కూడిన కొన్ని నియంత్రణ యంత్రాంగం అవసరం. Bitcoin లో ఉపయోగించే డిఫాల్ట్ విధానం, పూర్తిగా స్వచ్ఛంద రుసుములను కలిగి ఉండటం, మైనింగ్ చేసేవారిని ద్వారపాలకులుగా వ్యవహరించడానికి మరియు డైనమిక్ కనీసాలను సెట్ చేయడానికి ఆధారపడటం. ఈ విధానం Bitcoin సంఘంలో చాలా అనుకూలంగా స్వీకరించబడింది, ప్రత్యేకించి ఇది "మార్కెట్-ఆధారిత" అయినందున, మైనింగ్ చేసేవారు మరియు లావాదేవీ పంపేవారి మధ్య సరఫరా మరియు డిమాండ్ ధరను నిర్ణయించడానికి అనుమతిస్తుంది. ఈ తర్కంలో సమస్య ఏమిటంటే, లావాదేవీ ప్రాసెసింగ్ ఒక మార్కెట్ కాదు; లావాదేవీ ప్రాసెసింగ్‌ను మైనింగ్ చేసేవాడు పంపేవారికి అందించే సేవగా అర్థం చేసుకోవడం సహజంగా ఆకర్షణీయంగా ఉన్నప్పటికీ, వాస్తవానికి ఒక మైనింగ్ చేసేవాడు చేర్చే ప్రతి లావాదేవీ నెట్‌వర్క్‌లోని ప్రతి నోడ్ ద్వారా ప్రాసెస్ చేయవలసి ఉంటుంది, కాబట్టి లావాదేవీ ప్రాసెసింగ్ ఖర్చులో చాలా వరకు మూడవ పక్షాలచే భరించబడుతుంది మరియు దానిని చేర్చాలా వద్దా అనే నిర్ణయం తీసుకుంటున్న మైనింగ్ చేసేవారిచే కాదు. అందువల్ల, విషాదం-ఆఫ్-ది-కామన్స్ సమస్యలు సంభవించే అవకాశం ఉంది.

అయితే, మార్కెట్-ఆధారిత యంత్రాంగంలో ఈ లోపం, ఒక నిర్దిష్ట తప్పు సరళీకరణ ఊహను ఇచ్చినప్పుడు, మాయాజాలంగా తనను తాను రద్దు చేసుకుంటుంది. వాదన ఈ క్రింది విధంగా ఉంది. అనుకుందాం:

  1. ఒక లావాదేవీ k ఆపరేషన్‌లకు దారి తీస్తుంది, దానిని చేర్చే ఏ మైనింగ్ చేసేవారికైనా kR రివార్డ్‌ను అందిస్తుంది, ఇక్కడ R పంపినవారిచే సెట్ చేయబడుతుంది మరియు k మరియు R (స్థూలంగా) మైనింగ్ చేసేవారికి ముందుగానే కనిపిస్తాయి.
  2. ఒక ఆపరేషన్‌కు ఏ నోడ్‌కైనా ప్రాసెసింగ్ ఖర్చు C ఉంటుంది (అంటే, అన్ని నోడ్స్ సమాన సామర్థ్యాన్ని కలిగి ఉంటాయి)
  3. N మైనింగ్ నోడ్స్ ఉన్నాయి, ప్రతి ఒక్కటి సరిగ్గా సమాన ప్రాసెసింగ్ శక్తిని కలిగి ఉంటుంది (అంటే, మొత్తం లో 1/N)
  4. మైనింగ్ చేయని పూర్తి నోడ్‌లు ఏవీ లేవు.

ఒక మైనింగ్ చేసేవాడు ఊహించిన రివార్డ్ ఖర్చు కంటే ఎక్కువగా ఉంటే లావాదేవీని ప్రాసెస్ చేయడానికి సిద్ధంగా ఉంటాడు. అందువల్ల, ఊహించిన రివార్డ్ kR/N ఎందుకంటే మైనింగ్ చేసేవాడికి తదుపరి బ్లాక్‌ను ప్రాసెస్ చేసే 1/N అవకాశం ఉంది, మరియు మైనింగ్ చేసేవారికి ప్రాసెసింగ్ ఖర్చు కేవలం kC. అందువల్ల, మైనింగ్ చేసేవారు kR/N > kC, లేదా R > NC ఉన్న లావాదేవీలను చేర్చుతారు. గమనించండి, R అనేది పంపినవారు అందించే ప్రతి-ఆపరేషన్ రుసుము, మరియు అందువల్ల లావాదేవీ నుండి పంపినవారు పొందే ప్రయోజనంపై దిగువ పరిమితి, మరియు NC అనేది ఒక ఆపరేషన్‌ను ప్రాసెస్ చేయడానికి మొత్తం నెట్‌వర్క్‌కు అయ్యే ఖర్చు. అందువల్ల, మైనింగ్ చేసేవారు మొత్తం ప్రయోజనకర ప్రయోజనం ఖర్చును మించిన లావాదేవీలను మాత్రమే చేర్చడానికి ప్రోత్సాహాన్ని కలిగి ఉంటారు.

అయితే, వాస్తవానికి ఆ ఊహల నుండి అనేక ముఖ్యమైన విచలనాలు ఉన్నాయి:

  1. మైనింగ్ చేసేవాడు ఇతర ధృవీకరించే నోడ్‌ల కంటే లావాదేవీని ప్రాసెస్ చేయడానికి అధిక ఖర్చు చెల్లిస్తాడు, ఎందుకంటే అదనపు ధృవీకరణ సమయం బ్లాక్ ప్రచారాన్ని ఆలస్యం చేస్తుంది మరియు అందువల్ల బ్లాక్ స్టైల్ అయ్యే అవకాశాన్ని పెంచుతుంది.
  2. మైనింగ్ చేయని పూర్తి నోడ్‌లు ఉన్నాయి.
  3. మైనింగ్ శక్తి పంపిణీ ఆచరణలో సమూలంగా అసమానంగా ముగియవచ్చు.
  4. నెట్‌వర్క్‌కు హాని కలిగించడాన్ని వారి ప్రయోజన ఫంక్షన్‌లో చేర్చిన స్పెక్యులేటర్లు, రాజకీయ శత్రువులు మరియు పిచ్చివాళ్ళు ఉన్నారు, మరియు వారు తెలివిగా ఒప్పందాలను ఏర్పాటు చేయగలరు, ఇక్కడ వారి ఖర్చు ఇతర ధృవీకరించే నోడ్‌లు చెల్లించే ఖర్చు కంటే చాలా తక్కువగా ఉంటుంది.

(1) మైనింగ్ చేసేవాడు తక్కువ లావాదేవీలను చేర్చడానికి ఒక ధోరణిని అందిస్తుంది, మరియు (2) NCను పెంచుతుంది; అందువల్ల, ఈ రెండు ప్రభావాలు కనీసం పాక్షికంగా ఒకదానికొకటి రద్దు చేసుకుంటాయి .ఎలా? (opens in a new tab) (3) మరియు (4) ప్రధాన సమస్య; వాటిని పరిష్కరించడానికి మేము కేవలం ఒక తేలియాడే పరిమితిని ఏర్పాటు చేస్తాము: ఏ బ్లాక్ కూడా BLK_LIMIT_FACTOR సార్లు దీర్ఘకాలిక ఎక్స్‌పోనెన్షియల్ మూవింగ్ యావరేజ్ కంటే ఎక్కువ ఆపరేషన్‌లను కలిగి ఉండకూడదు. ప్రత్యేకంగా:

blk.oplimit = floor((blk.parent.oplimit \* (EMAFACTOR - 1) +\nfloor(parent.opcount \* BLK\_LIMIT\_FACTOR)) / EMA\_FACTOR)

BLK_LIMIT_FACTOR మరియు EMA_FACTOR అనేవి ప్రస్తుతానికి 65536 మరియు 1.5కి సెట్ చేయబడే స్థిరాంకాలు, కానీ తదుపరి విశ్లేషణ తర్వాత బహుశా మార్చబడతాయి.

Bitcoin లో పెద్ద బ్లాక్ పరిమాణాలను నిరుత్సాహపరిచే మరో కారకం ఉంది: పెద్దగా ఉన్న బ్లాక్‌లు ప్రచారం చేయడానికి ఎక్కువ సమయం తీసుకుంటాయి, మరియు అందువల్ల స్టైల్స్ అయ్యే సంభావ్యత ఎక్కువగా ఉంటుంది. ఇతీరియములో, అధిక గ్యాస్-వినియోగించే బ్లాక్‌లు భౌతికంగా పెద్దవిగా ఉన్నందున మరియు లావాదేవీ స్టేట్ ట్రాన్సిషన్‌లను ధృవీకరించడానికి ఎక్కువ సమయం తీసుకునేందున ప్రచారం చేయడానికి ఎక్కువ సమయం తీసుకోవచ్చు. ఈ ఆలస్యం నిరుత్సాహం Bitcoin లో ఒక ముఖ్యమైన పరిశీలన, కానీ ఇతీరియములో GHOST ప్రోటోకాల్ కారణంగా అంతగా లేదు; అందువల్ల, నియంత్రిత బ్లాక్ పరిమితులపై ఆధారపడటం మరింత స్థిరమైన బేస్‌లైన్‌ను అందిస్తుంది.

గణన మరియు ట్యూరింగ్-సంపూర్ణత

ఒక ముఖ్యమైన గమనిక ఏమిటంటే, ఎథేరియం వర్చువల్ మషీన్ ట్యూరింగ్-సంపూర్ణమైనది; అంటే EVM కోడ్ అనంత లూప్‌లతో సహా, ఊహించదగిన ఏ గణనను అయినా ఎన్‌కోడ్ చేయగలదు. EVM కోడ్ రెండు విధాలుగా లూపింగ్‌ను అనుమతిస్తుంది. మొదట, ప్రోగ్రామ్‌ను కోడ్‌లోని మునుపటి స్థానానికి తిరిగి వెళ్లడానికి అనుమతించే ఒక JUMP సూచన ఉంది, మరియు షరతులతో కూడిన జంపింగ్ కోసం ఒక JUMPI సూచన ఉంది, ఇది while x < 27: x = x * 2 వంటి స్టేట్‌మెంట్‌లను అనుమతిస్తుంది. రెండవది, ఒప్పందాలు ఇతర ఒప్పందాలను పిలవగలవు, సంభావ్యంగా పునరావృతం ద్వారా లూపింగ్‌కు అనుమతిస్తాయి. ఇది సహజంగా ఒక సమస్యకు దారి తీస్తుంది: హానికరమైన వినియోగదారులు మైనింగ్ చేసేవారిని మరియు పూర్తి నోడ్‌లను అనంత లూప్‌లోకి ప్రవేశించమని బలవంతం చేయడం ద్వారా మూసివేయగలరా? ఈ సమస్య హాల్టింగ్ ప్రాబ్లమ్ అని పిలువబడే కంప్యూటర్ సైన్స్‌లోని ఒక సమస్య కారణంగా తలెత్తుతుంది: సాధారణ సందర్భంలో, ఒక నిర్దిష్ట ప్రోగ్రామ్ ఎప్పుడైనా ఆగుతుందో లేదో చెప్పడానికి మార్గం లేదు.

స్టేట్ ట్రాన్సిషన్ విభాగంలో వర్ణించినట్లుగా, మా పరిష్కారం ఒక లావాదేవీ అది తీసుకోగల గరిష్ట గణన దశల సంఖ్యను సెట్ చేయాలని కోరడం ద్వారా పనిచేస్తుంది, మరియు అమలు ఎక్కువ సమయం తీసుకుంటే గణన వెనక్కి తిరుగుతుంది కానీ రుసుములు ఇంకా చెల్లించబడతాయి. సందేశాలు అదే విధంగా పనిచేస్తాయి. మా పరిష్కారం వెనుక ఉన్న ప్రేరణను చూపించడానికి, ఈ క్రింది ఉదాహరణలను పరిశీలించండి:

  • ఒక దుర్వినియోగదారుడు ఒక అనంత లూప్‌ను అమలు చేసే ఒక ఒప్పందాన్ని సృష్టిస్తాడు, ఆపై ఆ లూప్‌ను సక్రియం చేసే ఒక లావాదేవీని మైనింగ్ చేసేవారికి పంపుతాడు. మైనింగ్ చేసేవాడు లావాదేవీని ప్రాసెస్ చేస్తాడు, అనంత లూప్‌ను అమలు చేస్తాడు, మరియు అది గ్యాస్ అయిపోయే వరకు వేచి ఉంటాడు. అమలు గ్యాస్ అయిపోయి మధ్యలో ఆగిపోయినప్పటికీ, లావాదేవీ ఇంకా చెల్లుబాటు అవుతుంది మరియు మైనింగ్ చేసేవాడు ప్రతి గణన దశకు దుర్వినియోగదారుడి నుండి రుసుమును క్లెయిమ్ చేస్తాడు.
  • ఒక దుర్వినియోగదారుడు చాలా పొడవైన అనంత లూప్‌ను సృష్టిస్తాడు, మైనింగ్ చేసేవాడు గణనను చాలా కాలం పాటు కొనసాగించమని బలవంతం చేయాలనే ఉద్దేశ్యంతో, గణన ముగిసే సమయానికి మరికొన్ని బ్లాక్‌లు వచ్చి, మైనింగ్ చేసేవాడు రుసుమును క్లెయిమ్ చేయడానికి లావాదేవీని చేర్చడం సాధ్యం కానంత వరకు. అయితే, దుర్వినియోగదారుడు STARTGAS కోసం ఒక విలువను సమర్పించవలసి ఉంటుంది, ఇది అమలు తీసుకోగల గణన దశల సంఖ్యను పరిమితం చేస్తుంది, కాబట్టి మైనింగ్ చేసేవాడు గణన చాలా ఎక్కువ దశలను తీసుకుంటుందని ముందుగానే తెలుసుకుంటాడు.
  • దాడి చేసేవాడు send(A,contract.storage[A]); contract.storage[A] = 0 వంటి ఫారమ్ యొక్క కోడ్‌తో ఒక ఒప్పందాన్ని చూస్తాడు, మరియు మొదటి దశను అమలు చేయడానికి సరిపడా గ్యాస్‌తో కానీ రెండవ దశకు సరిపోని గ్యాస్‌తో ఒక లావాదేవీని పంపుతాడు (అంటే, ఉపసంహరణ చేయడం కానీ బ్యాలెన్స్ తగ్గకుండా చేయడం). కాంట్రాక్ట్ రచయిత అటువంటి దాడుల నుండి రక్షించుకోవడం గురించి ఆందోళన చెందనవసరం లేదు, ఎందుకంటే అమలు మధ్యలో ఆగిపోతే మార్పులు వెనక్కి తిరుగుతాయి.
  • ఒక ఆర్థిక ఒప్పందం ప్రమాదాన్ని తగ్గించడానికి తొమ్మిది యాజమాన్య డేటా ఫీడ్‌ల మధ్యస్థాన్ని తీసుకోవడం ద్వారా పనిచేస్తుంది. ఒక దుర్వినియోగదారుడు డేటా ఫీడ్‌లలో ఒకదానిని స్వాధీనం చేసుకుంటాడు, ఇది DAOs పై విభాగంలో వర్ణించబడిన వేరియబుల్-చిరునామా-కాల్ యంత్రాంగం ద్వారా సవరించగలిగేలా రూపొందించబడింది, మరియు దానిని అనంత లూప్‌ను అమలు చేయడానికి మార్చుతాడు, తద్వారా ఆర్థిక ఒప్పందం నుండి నిధులను క్లెయిమ్ చేయడానికి చేసే ఏ ప్రయత్నాలనైనా గ్యాస్ అయిపోయేలా చేయడానికి ప్రయత్నిస్తాడు. అయితే, ఆర్థిక ఒప్పందం ఈ సమస్యను నివారించడానికి సందేశంపై గ్యాస్ పరిమితిని సెట్ చేయగలదు.

ట్యూరింగ్-సంపూర్ణతకు ప్రత్యామ్నాయం ట్యూరింగ్-అసంపూర్ణత, ఇక్కడ JUMP మరియు JUMPI ఉనికిలో ఉండవు మరియు ప్రతి ఒప్పందం యొక్క ఒక కాపీ మాత్రమే ఏ సమయంలోనైనా కాల్ స్టాక్‌లో ఉండటానికి అనుమతించబడుతుంది. ఈ వ్యవస్థతో, వర్ణించబడిన రుసుము వ్యవస్థ మరియు మా పరిష్కారం యొక్క ప్రభావశీలత చుట్టూ ఉన్న అనిశ్చితులు అవసరం కాకపోవచ్చు, ఎందుకంటే ఒక ఒప్పందాన్ని అమలు చేసే ఖర్చు దాని పరిమాణంతో పరిమితం చేయబడుతుంది. అదనంగా, ట్యూరింగ్-అసంపూర్ణత అంత పెద్ద పరిమితి కూడా కాదు; మేము అంతర్గతంగా రూపొందించిన అన్ని ఒప్పంద ఉదాహరణలలో, ఇప్పటివరకు కేవలం ఒకదానికి మాత్రమే లూప్ అవసరం, మరియు ఆ లూప్‌ను కూడా ఒక లైన్ కోడ్ యొక్క 26 పునరావృతాలను చేయడం ద్వారా తొలగించవచ్చు. ట్యూరింగ్-సంపూర్ణత యొక్క తీవ్రమైన చిక్కులను మరియు పరిమిత ప్రయోజనాన్ని దృష్టిలో ఉంచుకుని, కేవలం ట్యూరింగ్-అసంపూర్ణ భాషను ఎందుకు కలిగి ఉండకూడదు? వాస్తవానికి, అయితే, ట్యూరింగ్-అసంపూర్ణత సమస్యకు చక్కని పరిష్కారానికి చాలా దూరంలో ఉంది. ఎందుకో చూడటానికి, ఈ క్రింది ఒప్పందాలను పరిశీలించండి:

C0: call(C1); call(C1);\nC1: call(C2); call(C2);\nC2: call(C3); call(C3);\n...\nC49: call(C50); call(C50);\nC50: (ఒక ప్రోగ్రామ్ యొక్క ఒక దశను అమలు చేసి, నిల్వలో మార్పును నమోదు చేయండి)

ఇప్పుడు, Aకి ఒక లావాదేవీని పంపండి. అందువల్ల, 51 లావాదేవీలలో, మనకు 250 గణన దశలను తీసుకునే ఒక ఒప్పందం ఉంది. మైనింగ్ చేసేవారు ప్రతి ఒప్పందం పక్కన అది తీసుకోగల గరిష్ట గణన దశల సంఖ్యను పేర్కొనే ఒక విలువను నిర్వహించడం ద్వారా మరియు ఇతర ఒప్పందాలను పునరావృతంగా పిలిచే ఒప్పందాల కోసం దీనిని లెక్కించడం ద్వారా అటువంటి లాజిక్ బాంబులను ముందుగానే గుర్తించడానికి ప్రయత్నించవచ్చు, కానీ దానికి మైనింగ్ చేసేవారు ఇతర ఒప్పందాలను సృష్టించే ఒప్పందాలను నిషేధించవలసి ఉంటుంది (పై 26 ఒప్పందాల సృష్టి మరియు అమలును సులభంగా ఒకే ఒప్పందంలోకి చేర్చవచ్చు). మరో సమస్యాత్మక విషయం ఏమిటంటే, ఒక సందేశం యొక్క చిరునామా ఫీల్డ్ ఒక వేరియబుల్, కాబట్టి సాధారణంగా ఒక నిర్దిష్ట ఒప్పందం ముందుగానే ఏ ఇతర ఒప్పందాలను పిలుస్తుందో చెప్పడం సాధ్యం కాకపోవచ్చు. అందువల్ల, మొత్తంగా, మనకు ఒక ఆశ్చర్యకరమైన ముగింపు ఉంది: ట్యూరింగ్-సంపూర్ణతను నిర్వహించడం ఆశ్చర్యకరంగా సులభం, మరియు ట్యూరింగ్-సంపూర్ణత లేకపోవడం సమానంగా ఆశ్చర్యకరంగా నిర్వహించడం కష్టం, అదే నియంత్రణలు అమలులో ఉంటే తప్ప - కానీ ఆ సందర్భంలో ప్రోటోకాల్ ట్యూరింగ్-సంపూర్ణంగా ఎందుకు ఉండకూడదు?

కరెన్సీ మరియు జారీ

ఇతీరియము నెట్‌వర్క్ దాని స్వంత అంతర్నిర్మిత కరెన్సీ, ఈథర్‌ను కలిగి ఉంది, ఇది వివిధ రకాల డిజిటల్ ఆస్తుల మధ్య సమర్థవంతమైన మార్పిడికి అనుమతించడానికి ప్రాథమిక లిక్విడిటీ లేయర్‌ను అందించడం మరియు, మరింత ముఖ్యంగా, లావాదేవీ రుసుములను చెల్లించడానికి ఒక యంత్రాంగాన్ని అందించడం అనే ద్వంద్వ ఉద్దేశ్యాన్ని నెరవేరుస్తుంది. సౌలభ్యం కోసం మరియు భవిష్యత్ వాదనను నివారించడానికి (Bitcoin లో ప్రస్తుత mBTC/uBTC/satoshi చర్చను చూడండి), డినామినేషన్‌లు ముందుగానే లేబుల్ చేయబడతాయి:

  • 1: wei
  • 1012: szabo
  • 1015: finney
  • 1018: ether

ఇది "డాలర్లు" మరియు "సెంట్లు" లేదా "BTC" మరియు "satoshi" అనే భావన యొక్క విస్తరించిన వెర్షన్‌గా తీసుకోవాలి. సమీప భవిష్యత్తులో, "ఈథర్" సాధారణ లావాదేవీలకు, "ఫిన్నీ" సూక్ష్మ లావాదేవీలకు మరియు "స్జాబో" మరియు "వెయ్" రుసుములు మరియు ప్రోటోకాల్ అమలు చుట్టూ సాంకేతిక చర్చల కోసం ఉపయోగించబడుతుందని మేము ఆశిస్తున్నాము; మిగిలిన డినామినేషన్‌లు తరువాత ఉపయోగపడవచ్చు మరియు ఈ సమయంలో ఖాతాదారులలో చేర్చకూడదు.

జారీ మోడల్ ఈ క్రింది విధంగా ఉంటుంది:

  • ఈథర్ కరెన్సీ అమ్మకంలో 1000-2000 ఈథర్ ప్రతి BTC ధర వద్ద విడుదల చేయబడుతుంది, ఇది ఇతీరియము సంస్థకు నిధులు సమకూర్చడానికి మరియు మాస్టర్‌కాయిన్ మరియు NXT వంటి ఇతర ప్లాట్‌ఫారమ్‌ల ద్వారా విజయవంతంగా ఉపయోగించబడిన అభివృద్ధికి చెల్లించడానికి ఉద్దేశించిన యంత్రాంగం. ముందుగా కొనుగోలు చేసేవారు పెద్ద డిస్కౌంట్ల నుండి ప్రయోజనం పొందుతారు. అమ్మకం నుండి అందుకున్న BTC పూర్తిగా అభివృద్ధి చేసేవాడులకు జీతాలు మరియు బౌంటీలను చెల్లించడానికి మరియు ఇతీరియము మరియు క్రిప్టోకరెన్సీ పర్యావరణ వ్యవస్థలోని వివిధ లాభదాయక మరియు లాభాపేక్షలేని ప్రాజెక్టులలో పెట్టుబడి పెట్టడానికి ఉపయోగించబడుతుంది.
  • మొత్తం అమ్మిన మొత్తంలో 0.099x (60102216 ETH) సంస్థకు కేటాయించబడుతుంది, ప్రారంభ కంట్రిబ్యూటర్లకు పరిహారం ఇవ్వడానికి మరియు జెనెసిస్ బ్లాక్‌కు ముందు ETH-డినామినేటెడ్ ఖర్చులను చెల్లించడానికి.
  • మొత్తం అమ్మిన మొత్తంలో 0.099x దీర్ఘకాలిక రిజర్వ్‌గా నిర్వహించబడుతుంది.
  • మొత్తం అమ్మిన మొత్తంలో 0.26x ఆ సమయం తర్వాత మైనింగ్ చేసేవారికి ప్రతి సంవత్సరం శాశ్వతంగా కేటాయించబడుతుంది.
సమూహంప్రారంభంలో1 సంవత్సరం తర్వాత5 సంవత్సరాల తర్వాత
కరెన్సీ యూనిట్లు1.198X1.458X2.498X
కొనుగోలుదారులు83.5%68.6%40.0%
ప్రీ-సేల్ ముందు ఖర్చు చేసిన రిజర్వ్8.26%6.79%3.96%
పోస్ట్-సేల్ తర్వాత ఉపయోగించిన రిజర్వ్8.26%6.79%3.96%
మైనింగ్ చేసేవారు0%17.8%52.0%

దీర్ఘకాలిక సరఫరా వృద్ధి రేటు (శాతం)

ఇతీరియము ద్రవ్యోల్బణం

సరళ కరెన్సీ జారీ ఉన్నప్పటికీ, Bitcoin తో వలె కాలక్రమేణా సరఫరా వృద్ధి రేటు సున్నాకి మొగ్గు చూపుతుంది.

పై మోడల్‌లో రెండు ప్రధాన ఎంపికలు (1) ఒక ఎండోమెంట్ పూల్ యొక్క ఉనికి మరియు పరిమాణం, మరియు (2) Bitcoin లోని పరిమిత సరఫరాకు బదులుగా శాశ్వతంగా పెరుగుతున్న సరళ సరఫరా యొక్క ఉనికి. ఎండోమెంట్ పూల్ యొక్క సమర్థన ఈ క్రింది విధంగా ఉంది. ఎండోమెంట్ పూల్ ఉనికిలో లేకపోతే, మరియు సరళ జారీ అదే ద్రవ్యోల్బణ రేటును అందించడానికి 0.217xకు తగ్గితే, అప్పుడు ఈథర్ మొత్తం పరిమాణం 16.5% తక్కువగా ఉంటుంది మరియు అందువల్ల ప్రతి యూనిట్ 19.8% ఎక్కువ విలువైనదిగా ఉంటుంది. అందువల్ల, సమతుల్యతలో అమ్మకంలో 19.8% ఎక్కువ ఈథర్ కొనుగోలు చేయబడుతుంది, కాబట్టి ప్రతి యూనిట్ మళ్లీ మునుపటి వలె సరిగ్గా అదే విలువను కలిగి ఉంటుంది. సంస్థ కూడా అప్పుడు 1.198x ఎక్కువ BTCని కలిగి ఉంటుంది, దీనిని రెండు ముక్కలుగా విభజించవచ్చు: అసలు BTC, మరియు అదనపు 0.198x. అందువల్ల, ఈ పరిస్థితి సరిగ్గా సమానం ఎండోమెంట్‌కు, కానీ ఒక ముఖ్యమైన తేడాతో: సంస్థ పూర్తిగా BTCని కలిగి ఉంటుంది, మరియు అందువల్ల ఈథర్ యూనిట్ విలువకు మద్దతు ఇవ్వడానికి ప్రోత్సహించబడదు.

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

గమనించండి, భవిష్యత్తులో, ఇతీరియము భద్రత కోసం ప్రూఫ్-ఆఫ్-స్టేక్ మోడల్‌కు మారే అవకాశం ఉంది, జారీ అవసరాన్ని సున్నా మరియు సంవత్సరానికి 0.05X మధ్య ఎక్కడో తగ్గించడం. ఇతీరియము సంస్థ నిధులను కోల్పోయినా లేదా మరేదైనా కారణం వల్ల అదృశ్యమైనా, మేము ఒక "సామాజిక ఒప్పందాన్ని" తెరిచి ఉంచుతాము: ఎవరికైనా ఇతీరియము యొక్క భవిష్యత్ అభ్యర్థి వెర్షన్‌ను సృష్టించే హక్కు ఉంది, ఏకైక షరతు ఏమిటంటే, ఈథర్ పరిమాణం గరిష్టంగా 60102216 * (1.198 + 0.26 * n)కు సమానంగా ఉండాలి, ఇక్కడ n జెనెసిస్ బ్లాక్ తర్వాత సంవత్సరాల సంఖ్య. సృష్టికర్తలు అభివృద్ధికి చెల్లించడానికి PoS-ఆధారిత సరఫరా విస్తరణ మరియు గరిష్ట అనుమతించదగిన సరఫరా విస్తరణ మధ్య వ్యత్యాసంలో కొంత లేదా మొత్తాన్ని క్రౌడ్-సేల్ లేదా ఇతరత్రా కేటాయించడానికి స్వేచ్ఛగా ఉంటారు. సామాజిక ఒప్పందానికి అనుగుణంగా లేని అభ్యర్థి నవీకరణలు సమ్మతమైన వెర్షన్‌లలోకి ఫోర్క్ చేయబడవచ్చు.

మైనింగ్ కేంద్రీకరణ

Bitcoin మైనింగ్ అల్గోరిథం మైనింగ్ చేసేవారిని బ్లాక్ హెడర్ యొక్క కొద్దిగా సవరించిన వెర్షన్‌లపై SHA256ను లక్షల సార్లు పదేపదే గణన చేయడం ద్వారా పనిచేస్తుంది, చివరికి ఒక నోడ్ లక్ష్యం కంటే తక్కువ హాష్ ఉన్న వెర్షన్‌ను కనుగొనే వరకు (ప్రస్తుతం సుమారు 2192). అయితే, ఈ మైనింగ్ అల్గోరిథం రెండు రకాల కేంద్రీకరణకు గురవుతుంది. మొదట, మైనింగ్ పర్యావరణ వ్యవస్థ ASICలు (అప్లికేషన్-స్పెసిఫిక్ ఇంటిగ్రేటెడ్ సర్క్యూట్లు), కంప్యూటర్ చిప్‌లచే ఆధిపత్యం చెలాయించబడింది, ఇవి Bitcoin మైనింగ్ యొక్క నిర్దిష్ట పని కోసం రూపొందించబడ్డాయి, మరియు అందువల్ల వేల రెట్లు ఎక్కువ సమర్థవంతంగా ఉంటాయి. అంటే Bitcoin మైనింగ్ ఇకపై అత్యంత వికేంద్రీకృత మరియు సమతావాద అన్వేషణ కాదు, సమర్థవంతంగా పాల్గొనడానికి మిలియన్ల డాలర్ల మూలధనం అవసరం. రెండవది, చాలా మంది Bitcoin మైనింగ్ చేసేవారు వాస్తవానికి స్థానికంగా బ్లాక్ ధృవీకరణను నిర్వహించరు; బదులుగా, వారు బ్లాక్ హెడర్‌లను అందించడానికి ఒక కేంద్రీకృత మైనింగ్ పూల్‌పై ఆధారపడతారు. ఈ సమస్య వాదించదగినంత ఘోరంగా ఉంది: ఈ వ్రాత సమయం నాటికి, టాప్ మూడు మైనింగ్ పూల్స్ పరోక్షంగా Bitcoin నెట్‌వర్క్‌లోని ప్రాసెసింగ్ పవర్‌లో సుమారు 50% నియంత్రిస్తాయి, అయినప్పటికీ ఒక పూల్ లేదా కూటమి 51% దాడికి ప్రయత్నిస్తే మైనింగ్ చేసేవారు ఇతర మైనింగ్ పూల్స్‌కు మారగలరనే వాస్తవం ద్వారా ఇది తగ్గించబడుతుంది.

ఇతీరియములో ప్రస్తుత ఉద్దేశ్యం మైనింగ్ అల్గోరిథంను ఉపయోగించడం, ఇక్కడ మైనింగ్ చేసేవారు స్టేట్ నుండి యాదృచ్ఛిక డేటాను పొందాలి, బ్లాక్‌చెయిన్‌లోని చివరి N బ్లాక్‌ల నుండి కొన్ని యాదృచ్ఛికంగా ఎంచుకున్న లావాదేవీలను గణన చేయాలి, మరియు ఫలితం యొక్క హాష్‌ను తిరిగి ఇవ్వాలి. దీనికి రెండు ముఖ్యమైన ప్రయోజనాలు ఉన్నాయి. ముందుగా, ఇతీరియము ఒప్పందాలు ఏ రకమైన గణననైనా చేర్చగలవు, కాబట్టి ఒక ఇతీరియము ASIC ముఖ్యంగా సాధారణ గణన కోసం ఒక ASIC అవుతుంది - అంటే, ఒక మెరుగైన CPU. రెండవది, మైనింగ్‌కు మొత్తం బ్లాక్‌చెయిన్‌కు యాక్సెస్ అవసరం, మైనింగ్ చేసేవారిని మొత్తం బ్లాక్‌చెయిన్‌ను నిల్వ చేయడానికి మరియు కనీసం ప్రతి లావాదేవీని ధృవీకరించగల సామర్థ్యాన్ని కలిగి ఉండటానికి బలవంతం చేస్తుంది. ఇది కేంద్రీకృత మైనింగ్ పూల్స్ అవసరాన్ని తొలగిస్తుంది; మైనింగ్ పూల్స్ ఇంకా రివార్డ్ పంపిణీ యొక్క యాదృచ్ఛికతను సమం చేసే చట్టబద్ధమైన పాత్రను పోషించగలవు, ఈ ఫంక్షన్‌ను కేంద్ర నియంత్రణ లేని పీర్-టు-పీర్ పూల్స్ సమానంగా బాగా అందిస్తాయి.

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

స్కేలబిలిటీ

ఇతీరియము గురించి ఒక సాధారణ ఆందోళన స్కేలబిలిటీ సమస్య. Bitcoin వలె, ఇతీరియము కూడా ప్రతి లావాదేవీ నెట్‌వర్క్‌లోని ప్రతి నోడ్ ద్వారా ప్రాసెస్ చేయవలసిన లోపంతో బాధపడుతుంది. Bitcoinతో, ప్రస్తుత బ్లాక్‌చెయిన్ పరిమాణం సుమారు 15 GB వద్ద ఉంది, గంటకు సుమారు 1 MB పెరుగుతోంది. Bitcoin నెట్‌వర్క్ వీసా యొక్క సెకనుకు 2000 లావాదేవీలను ప్రాసెస్ చేస్తే, అది మూడు సెకన్లకు 1 MB పెరుగుతుంది (గంటకు 1 GB, సంవత్సరానికి 8 TB). ఇతీరియము కూడా ఇదే విధమైన వృద్ధి నమూనాతో బాధపడే అవకాశం ఉంది, ఇది Bitcoin విషయంలో కేవలం ఒక కరెన్సీకి బదులుగా ఇతీరియము బ్లాక్‌చెయిన్‌పై అనేక అప్లికేషన్‌లు ఉండటం వల్ల మరింత తీవ్రమవుతుంది, కానీ ఇతీరియము పూర్తి నోడ్‌లు మొత్తం బ్లాక్‌చెయిన్ చరిత్రకు బదులుగా కేవలం స్టేట్‌ను మాత్రమే నిల్వ చేయవలసి ఉంటుందనే వాస్తవం ద్వారా ఉపశమనం పొందుతుంది.

అటువంటి పెద్ద బ్లాక్‌చెయిన్ పరిమాణంతో సమస్య కేంద్రీకరణ ప్రమాదం. బ్లాక్‌చెయిన్ పరిమాణం, చెప్పాలంటే, 100 TBకి పెరిగితే, అప్పుడు చాలా తక్కువ సంఖ్యలో పెద్ద వ్యాపారాలు మాత్రమే పూర్తి నోడ్‌లను నడుపుతాయి, సాధారణ వినియోగదారులందరూ లైట్ SPV నోడ్‌లను ఉపయోగిస్తారు. అటువంటి పరిస్థితిలో, ఫుల్ నోడ్స్ కలిసికట్టుగా ఉండి, కొంత లాభదాయకమైన పద్ధతిలో మోసం చేయడానికి అందరూ అంగీకరించవచ్చనే సంభావ్య ఆందోళన తలెత్తుతుంది (ఉదా., బ్లాక్ రివార్డ్‌ను మార్చడం, తమకు తాము BTC ఇవ్వడం). లైట్ నోడ్‌లకు దీనిని వెంటనే గుర్తించే మార్గం ఉండదు. వాస్తవానికి, కనీసం ఒక నిజాయితీ గల పూర్తి నోడ్ ఉండే అవకాశం ఉంది, మరియు కొన్ని గంటల తర్వాత మోసం గురించిన సమాచారం Reddit వంటి ఛానెళ్ల ద్వారా బయటకు వస్తుంది, కానీ ఆ సమయానికి చాలా ఆలస్యం అవుతుంది: ఇచ్చిన బ్లాక్‌లను బ్లాక్‌లిస్ట్ చేయడానికి ఒక ప్రయత్నాన్ని నిర్వహించడం సాధారణ వినియోగదారులపై ఆధారపడి ఉంటుంది, ఇది విజయవంతమైన 51% దాడిని లాగడం వంటి అదే విధమైన భారీ మరియు బహుశా అసాధ్యమైన సమన్వయ సమస్య. Bitcoin విషయంలో, ఇది ప్రస్తుతం ఒక సమస్య, కానీ పీటర్ టాడ్ సూచించిన ఒక బ్లాక్‌చెయిన్ సవరణ సూచించబడింది (opens in a new tab) ఉంది, ఇది ఈ సమస్యను తగ్గిస్తుంది.

సమీప కాలంలో, ఇతీరియము ఈ సమస్యను ఎదుర్కోవడానికి రెండు అదనపు వ్యూహాలను ఉపయోగిస్తుంది. మొదట, బ్లాక్‌చెయిన్-ఆధారిత మైనింగ్ అల్గోరిథంల కారణంగా, కనీసం ప్రతి మైనింగ్ చేసేవాడు పూర్తి నోడ్ కావడానికి బలవంతం చేయబడతాడు, ఇది పూర్తి నోడ్‌ల సంఖ్యపై దిగువ పరిమితిని సృష్టిస్తుంది. రెండవది మరియు మరింత ముఖ్యంగా, అయితే, మేము ప్రతి లావాదేవీని ప్రాసెస్ చేసిన తర్వాత బ్లాక్‌చెయిన్‌లో ఒక మధ్యంతర స్టేట్ ట్రీ రూట్‌ను చేర్చుతాము. బ్లాక్ ధృవీకరణ కేంద్రీకృతమైనప్పటికీ, కనీసం ఒక నిజాయితీ గల ధృవీకరించే నోడ్ ఉన్నంత వరకు, కేంద్రీకరణ సమస్యను ఒక ధృవీకరణ ప్రోటోకాల్ ద్వారా అధిగమించవచ్చు. ఒకవేళ మైనర్ చెల్లని బ్లాక్‌ను ప్రచురిస్తే, ఆ బ్లాక్ సరిగా ఫార్మాట్ చేయబడి ఉండదు లేదా S[n] స్టేట్ తప్పుగా ఉంటుంది. S[0] సరైనదని తెలిసినందున, S[i-1] సరైన చోట తప్పుగా ఉండే మొదటి స్టేట్ S[i] ఏదో ఒకటి ఉండాలి. ధృవీకరించే నోడ్, APPLY(S[i-1],TX[i]) -> S[i] ప్రాసెస్ చేయడానికి అవసరమైన పాట్రీషియా ట్రీ నోడ్స్‌ యొక్క ఉపసమితిని కలిగి ఉన్న "చెల్లని రుజువు"తో పాటు i ఇండెక్స్‌ను అందిస్తుంది. నోడ్స్ ఆ గణనలోని భాగాన్ని అమలు చేయడానికి ఆ నోడ్స్‌ను ఉపయోగించుకోగలవు మరియు ఉత్పత్తి చేయబడిన S[i] అందించిన S[i]తో సరిపోలడం లేదని చూడగలవు.

మరో మరింత అధునాతనమైన దాడి, హానికర మైనర్లు అసంపూర్ణ బ్లాక్‌లను ప్రచురించడం, తద్వారా బ్లాక్‌లు చెల్లుబాటు అవుతాయో లేదో నిర్ధారించడానికి పూర్తి సమాచారం కూడా ఉండదు. దీనికి పరిష్కారం ఛాలెంజ్-రెస్పాన్స్ ప్రోటోకాల్: ధృవీకరణ నోడ్స్ టార్గెట్ లావాదేవీ ఇండెక్స్‌ల రూపంలో "సవాళ్లను" జారీ చేస్తాయి మరియు ఒక నోడ్‌ను స్వీకరించిన తర్వాత లైట్ నోడ్, మైనర్ లేదా మరొక ధృవీకరణకర్త వంటి మరొక నోడ్, చెల్లుబాటుకు రుజువుగా పాట్రీషియా నోడ్స్‌ యొక్క ఉపసమితిని అందించే వరకు బ్లాక్‌ను విశ్వసనీయం కానిదిగా పరిగణిస్తుంది.

ముగింపు

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

ఇతీరియము ప్రోటోకాల్ ద్వారా అమలు చేయబడిన ఏకపక్ష స్టేట్ ట్రాన్సిషన్ ఫంక్షన్ యొక్క భావన ప్రత్యేకమైన సామర్థ్యంతో కూడిన ప్లాట్‌ఫారమ్‌ను అందిస్తుంది; డేటా నిల్వ, జూదం లేదా ఫైనాన్స్‌లో నిర్దిష్ట శ్రేణి అప్లికేషన్‌ల కోసం ఉద్దేశించిన క్లోజ్డ్-ఎండెడ్, సింగిల్-పర్పస్ ప్రోటోకాల్ కాకుండా, ఇతీరియము డిజైన్ ప్రకారం ఓపెన్-ఎండెడ్, మరియు రాబోయే సంవత్సరాల్లో చాలా పెద్ద సంఖ్యలో ఆర్థిక మరియు ఆర్థికేతర ప్రోటోకాల్స్ రెండింటికీ పునాది లేయర్‌గా పనిచేయడానికి ఇది చాలా బాగా సరిపోతుందని మేము నమ్ముతున్నాము.

గమనికలు మరియు తదుపరి పఠనం

గమనికలు

  1. వాస్తవానికి ఒక బిట్‌కాయిన్ చిరునామా ఎలిప్టిక్ కర్వ్ పబ్లిక్ కీ యొక్క హాష్ అని, మరియు పబ్లిక్ కీ కాదని ఒక అధునాతన పాఠకుడు గమనించవచ్చు. అయితే, పబ్ కీ హాష్‌ను పబ్లిక్ కీగా సూచించడం వాస్తవానికి సంపూర్ణంగా చట్టబద్ధమైన క్రిప్టోగ్రాఫిక్ పరిభాష. దీనికి కారణం బిట్‌కాయిన్ యొక్క క్రిప్టోగ్రఫీని కస్టమ్ డిజిటల్ సంతకం అల్గారిథంగా పరిగణించవచ్చు, ఇక్కడ పబ్లిక్ కీ ECC పబ్ కీ యొక్క హాష్‌ను కలిగి ఉంటుంది, సంతకం ECC సంతకంతో కలిపిన ECC పబ్ కీని కలిగి ఉంటుంది, మరియు ధృవీకరణ అల్గారిథంలో సంతకంలోని ECC పబ్ కీని పబ్లిక్ కీగా అందించిన ECC పబ్ కీ హాష్‌తో సరిచూడటం మరియు ఆపై ECC పబ్ కీకి వ్యతిరేకంగా ECC సంతకాన్ని ధృవీకరించడం ఉంటుంది.
  2. సాంకేతికంగా, మునుపటి 11 బ్లాక్‌ల మధ్యస్థం.
  3. అంతర్గతంగా, 2 మరియు "CHARLIE" రెండూ సంఖ్యలేfn3, రెండోది బిగ్-ఎండియన్ బేస్ 256 ప్రాతినిధ్యంలో ఉంటుంది. సంఖ్యలు కనీసం 0 మరియు గరిష్టంగా 2256-1 ఉండవచ్చు.

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

  1. అంతర్గత విలువ (opens in a new tab)
  2. స్మార్ట్ ప్రాపర్టీ (opens in a new tab)
  3. స్మార్ట్ కాంట్రాక్టులు (opens in a new tab)
  4. B-మనీ (opens in a new tab)
  5. పునర్వినియోగ ప్రూఫ్స్ ఆఫ్ వర్క్ (opens in a new tab)
  6. యజమాని అధికారంతో సురక్షితమైన ఆస్తి టైటిల్స్ (opens in a new tab)
  7. బిట్‌కాయిన్ శ్వేతపత్రం (opens in a new tab)
  8. నేమ్‌కాయిన్ (opens in a new tab)
  9. జూకో యొక్క త్రిభుజం (opens in a new tab)
  10. కలర్డ్ కాయిన్స్ శ్వేతపత్రం (opens in a new tab)
  11. మాస్టర్‌కాయిన్ శ్వేతపత్రం (opens in a new tab)
  12. వికేంద్రీకృత స్వయంప్రతిపత్తి కలిగిన కార్పొరేషన్లు, బిట్‌కాయిన్ మ్యాగజైన్ (opens in a new tab)
  13. సరళీకృత చెల్లింపు ధృవీకరణ (opens in a new tab)
  14. మెర్కిల్ ట్రీస్ (opens in a new tab)
  15. పాట్రీషియా ట్రీస్ (opens in a new tab)
  16. GHOST (opens in a new tab)
  17. స్టోర్‌జే మరియు స్వయంప్రతిపత్తి కలిగిన ఏజెంట్లు, జెఫ్ గార్జిక్ (opens in a new tab)
  18. ట్యూరింగ్ ఫెస్టివల్‌లో స్మార్ట్ ప్రాపర్టీపై మైక్ హెర్న్ (opens in a new tab)
  19. ఇతీరియము RLP
  20. ఇతీరియము మెర్కిల్ పాట్రీషియా ట్రీస్
  21. మెర్కిల్ సమ్ ట్రీస్‌పై పీటర్ టాడ్ (opens in a new tab)

శ్వేతపత్రం యొక్క చరిత్ర కోసం, ఈ వికీ (opens in a new tab)ని చూడండి.

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

పేజీ చివరి అప్‌డేట్: 26 ఫిబ్రవరి, 2026

ఈ ఆర్టికల్ ఉపయోగపడిందా?