ఈ కథనంలో, స్మార్ట్ కాంట్రాక్టులు ఏమిటి, అవి ఏమిటి, మేము వివిధ స్మార్ట్ కాంట్రాక్ట్ ప్లాట్ఫారమ్లు, వాటి ఫీచర్లతో పరిచయం పొందుతాము మరియు అవి ఎలా పని చేస్తాయి మరియు అవి ఎలాంటి ప్రయోజనాలను తీసుకురాగలవో కూడా చర్చిస్తాము. స్మార్ట్ కాంట్రాక్టుల అంశంతో బాగా పరిచయం లేని పాఠకులకు ఈ విషయం చాలా ఉపయోగకరంగా ఉంటుంది, కానీ దానిని అర్థం చేసుకోవడానికి దగ్గరగా ఉంటుంది.
సాధారణ ఒప్పందం vs. స్మార్ట్ ఒప్పందం
మేము వివరాలను లోతుగా పరిశోధించే ముందు, కాగితంపై పేర్కొన్న సాధారణ ఒప్పందం మరియు డిజిటల్గా సూచించబడే స్మార్ట్ కాంట్రాక్ట్ మధ్య తేడాలను ఉదాహరణగా తీసుకుందాం.
స్మార్ట్ కాంట్రాక్టులు రాకముందు ఇది ఎలా పనిచేసింది? విలువల పంపిణీకి కొన్ని నియమాలు మరియు షరతులను ఏర్పాటు చేయాలనుకునే వ్యక్తుల సమూహాన్ని ఊహించుకోండి, అలాగే ఇచ్చిన నియమాలు మరియు షరతుల ప్రకారం ఈ పంపిణీ అమలుకు హామీ ఇవ్వడానికి ఒక నిర్దిష్ట యంత్రాంగాన్ని ఊహించండి. అప్పుడు వారు కలిసి, వారి గుర్తింపు వివరాలు, నిబంధనలు, విలువలను వ్రాసి, తేదీ మరియు సంతకం చేసే ఒక కాగితాన్ని రూపొందించారు. ఈ ఒప్పందం నోటరీ వంటి విశ్వసనీయ పక్షం ద్వారా కూడా ధృవీకరించబడింది. ఇంకా, ఈ వ్యక్తులు అటువంటి ఒప్పందం యొక్క వారి కాగితపు కాపీతో వేర్వేరు దిశల్లోకి వెళ్లి, ఒప్పందానికి అనుగుణంగా లేని కొన్ని చర్యలను చేయడం ప్రారంభించారు, అంటే, వారు ఒక పని చేసారు, కానీ కాగితంపై వారు ఏదైనా చేయాలని ధృవీకరించారు. పూర్తిగా వేరు. మరియు ఈ పరిస్థితి నుండి ఎలా బయటపడాలి? వాస్తవానికి, సమూహ సభ్యులలో ఒకరు ఈ కాగితాన్ని తీసుకోవాలి, కొన్ని సాక్ష్యాలను తీసుకోవాలి, కోర్టుకు తీసుకెళ్లాలి మరియు ఒప్పందం మరియు వాస్తవ చర్యల మధ్య సమ్మతిని సాధించాలి. చాలా తరచుగా, ఈ ఒప్పందం యొక్క న్యాయమైన అమలును సాధించడం కష్టం, ఇది అసహ్యకరమైన పరిణామాలకు దారితీస్తుంది.
స్మార్ట్ ఒప్పందాల గురించి ఏమి చెప్పవచ్చు? వారు ఒప్పందం యొక్క నిబంధనలను వ్రాసే అవకాశం మరియు వారి కఠినమైన అమలు కోసం యంత్రాంగం రెండింటినీ మిళితం చేస్తారు. షరతులు సెట్ చేయబడి, సంబంధిత లావాదేవీ లేదా అభ్యర్థన సంతకం చేయబడితే, ఆ అభ్యర్థన లేదా లావాదేవీ ఆమోదించబడిన తర్వాత, షరతులను మార్చడం లేదా వాటి అమలును ప్రభావితం చేయడం ఇకపై సాధ్యం కాదు.
ఒక వాలిడేటర్ లేదా మొత్తం నెట్వర్క్ ఉంది, అలాగే ఖచ్చితమైన కాలక్రమానుసారం అమలు కోసం సమర్పించబడిన అన్ని స్మార్ట్ ఒప్పందాలను నిల్వ చేసే డేటాబేస్ ఉంది. ఈ డేటాబేస్ స్మార్ట్ ఒప్పందాన్ని అమలు చేయడానికి అన్ని ట్రిగ్గర్ షరతులను కలిగి ఉండటం కూడా ముఖ్యం. అదనంగా, ఇది ఒప్పందంలో వివరించిన పంపిణీ విలువను పరిగణనలోకి తీసుకోవాలి. ఇది కొంత డిజిటల్ కరెన్సీకి వర్తింపజేస్తే, ఈ డేటాబేస్ దానిని పరిగణనలోకి తీసుకోవాలి.
మరో మాటలో చెప్పాలంటే, స్మార్ట్ కాంట్రాక్ట్ వ్యాలిడేటర్లు తప్పనిసరిగా స్మార్ట్ కాంట్రాక్ట్ నిర్వహించే మొత్తం డేటాకు యాక్సెస్ కలిగి ఉండాలి. ఉదాహరణకు, డిజిటల్ కరెన్సీలు, వినియోగదారు బ్యాలెన్స్లు, వినియోగదారు లావాదేవీలు మరియు టైమ్స్టాంప్లను ఏకకాలంలో లెక్కించడానికి ఒకే డేటాబేస్ ఉపయోగించాలి. అప్పుడు, స్మార్ట్ కాంట్రాక్ట్లో, షరతు నిర్దిష్ట కరెన్సీలో వినియోగదారు బ్యాలెన్స్ కావచ్చు, నిర్దిష్ట సమయం రావడం లేదా నిర్దిష్ట లావాదేవీ నిర్వహించబడిందనే వాస్తవం కావచ్చు, కానీ మరేమీ లేదు.
స్మార్ట్ ఒప్పందం యొక్క నిర్వచనం
సాధారణంగా, పరిభాష పరిశోధకుడు నిక్ స్జాబోచే రూపొందించబడింది మరియు మొదట 1994లో ఉపయోగించబడింది మరియు 1997లో స్మార్ట్ కాంట్రాక్టుల ఆలోచనను వివరించే ఒక వ్యాసంలో డాక్యుమెంట్ చేయబడింది.
స్మార్ట్ కాంట్రాక్టులు విలువ పంపిణీ యొక్క కొంత ఆటోమేషన్ నిర్వహించబడుతుందని సూచిస్తున్నాయి, ఇది ముందుగా నిర్ణయించిన షరతులపై మాత్రమే ఆధారపడి ఉంటుంది. దాని సరళమైన రూపంలో, ఇది ఖచ్చితంగా నిర్వచించబడిన నిబంధనలతో ఒప్పందం వలె కనిపిస్తుంది, ఇది నిర్దిష్ట పార్టీలచే సంతకం చేయబడింది.
మూడవ పక్షాలపై నమ్మకాన్ని తగ్గించడానికి స్మార్ట్ ఒప్పందాలు రూపొందించబడ్డాయి. కొన్నిసార్లు ప్రతిదీ ఆధారపడిన నిర్ణయం తీసుకునే కేంద్రం పూర్తిగా మినహాయించబడుతుంది. అదనంగా, అటువంటి ఒప్పందాలు ఆడిట్ చేయడం సులభం. ఇది అటువంటి సిస్టమ్ యొక్క కొన్ని డిజైన్ లక్షణాల యొక్క పరిణామం, కానీ చాలా తరచుగా మేము స్మార్ట్ ఒప్పందం ద్వారా వికేంద్రీకృత వాతావరణం మరియు డేటాబేస్ను విశ్లేషించడానికి మరియు ఒప్పందాల అమలుపై పూర్తి ఆడిట్ నిర్వహించడానికి అనుమతించే ఫంక్షన్ల ఉనికిని అర్థం చేసుకుంటాము. ఇది ఒప్పందం యొక్క పనితీరులో మార్పులను కలిగించే రెట్రోయాక్టివ్ డేటా మార్పుల నుండి రక్షణను నిర్ధారిస్తుంది. స్మార్ట్ ఒప్పందాన్ని సృష్టించేటప్పుడు మరియు ప్రారంభించేటప్పుడు చాలా ప్రక్రియల డిజిటలైజేషన్ తరచుగా సాంకేతికత మరియు వాటి అమలు ఖర్చును సులభతరం చేస్తుంది.
ఒక సాధారణ ఉదాహరణ - ఎస్క్రో సేవ
చాలా సులభమైన ఉదాహరణను చూద్దాం. ఇది స్మార్ట్ కాంట్రాక్టుల యొక్క కార్యాచరణను అర్థం చేసుకోవడంలో మీకు సహాయం చేస్తుంది, అలాగే వాటిని ఏ సందర్భాలలో ఉపయోగించాలో బాగా అర్థం చేసుకోవచ్చు.
ప్రస్తుతం బిట్కాయిన్ను స్మార్ట్ కాంట్రాక్టుల కోసం పూర్తి స్థాయి ప్లాట్ఫారమ్గా పిలవలేనప్పటికీ, ఇది బిట్కాయిన్ని ఉపయోగించి కూడా అమలు చేయబడుతుంది. కాబట్టి, మాకు కొంత కొనుగోలుదారు ఉన్నారు మరియు మాకు ఆన్లైన్ స్టోర్ ఉంది. ఒక కస్టమర్ ఈ స్టోర్ నుండి మానిటర్ను కొనుగోలు చేయాలనుకుంటున్నారు. సరళమైన సందర్భంలో, కొనుగోలుదారు చెల్లింపును పూర్తి చేసి పంపుతాడు మరియు ఆన్లైన్ స్టోర్ దానిని అంగీకరిస్తుంది, ధృవీకరించి, ఆపై వస్తువులను రవాణా చేస్తుంది. అయితే, ఈ పరిస్థితిలో గొప్ప నమ్మకం అవసరం - కొనుగోలుదారు మానిటర్ యొక్క మొత్తం ఖర్చు కోసం ఆన్లైన్ స్టోర్ను విశ్వసించాలి. కొనుగోలుదారు దృష్టిలో ఆన్లైన్ స్టోర్ తక్కువ కీర్తిని కలిగి ఉండవచ్చు కాబట్టి, కొన్ని కారణాల వల్ల, చెల్లింపును అంగీకరించిన తర్వాత, స్టోర్ సేవను నిరాకరిస్తుంది మరియు కొనుగోలుదారుకు వస్తువులను పంపదు. అందువల్ల, కొనుగోలుదారు ప్రశ్న అడుగుతాడు (మరియు, తదనుగుణంగా, ఆన్లైన్ స్టోర్ ఈ ప్రశ్నను అడుగుతుంది) అటువంటి నష్టాలను తగ్గించడానికి మరియు అటువంటి లావాదేవీలను మరింత నమ్మదగినదిగా చేయడానికి ఈ సందర్భంలో ఏమి అన్వయించవచ్చు.
Bitcoin విషయంలో, కొనుగోలుదారు మరియు విక్రేత స్వతంత్రంగా మధ్యవర్తిని ఎంచుకోవడానికి అనుమతించడం సాధ్యమవుతుంది. వివాదాస్పద సమస్యలను పరిష్కరించడంలో పాలుపంచుకునే వారు చాలా మంది ఉన్నారు. మరియు మా పాల్గొనేవారు తాము విశ్వసించే మధ్యవర్తుల సాధారణ జాబితా నుండి ఎంచుకోవచ్చు. వారు కలిసి 2లో 3 మల్టీసిగ్నేచర్ చిరునామాను సృష్టిస్తారు, అక్కడ మూడు కీలు ఉన్నాయి మరియు ఆ చిరునామా నుండి నాణేలను ఖర్చు చేయడానికి ఏదైనా రెండు కీలతో రెండు సంతకాలు అవసరం. ఒక కీ కొనుగోలుదారుకు, రెండవది ఆన్లైన్ స్టోర్కు మరియు మూడవది మధ్యవర్తికి చెందుతుంది. మరియు అటువంటి బహుళ సంతకం చిరునామాకు కొనుగోలుదారు మానిటర్ కోసం చెల్లించడానికి అవసరమైన మొత్తాన్ని పంపుతారు. ఇప్పుడు, విక్రేత తనపై ఆధారపడిన బహుళ సంతకం చిరునామాలో కొంత సమయం వరకు డబ్బు బ్లాక్ చేయబడిందని చూసినప్పుడు, అతను మానిటర్ను మెయిల్ ద్వారా సురక్షితంగా పంపవచ్చు.
తరువాత, కొనుగోలుదారు పార్శిల్ను అందుకుంటాడు, వస్తువులను తనిఖీ చేస్తాడు మరియు తుది కొనుగోలుపై నిర్ణయం తీసుకుంటాడు. అతను అందించిన సేవతో పూర్తిగా ఏకీభవించవచ్చు మరియు అతని కీతో లావాదేవీపై సంతకం చేయవచ్చు, అక్కడ అతను నాణేలను బహుళ సంతకం చిరునామా నుండి విక్రేతకు బదిలీ చేస్తాడు లేదా అతను ఏదో అసంతృప్తితో ఉండవచ్చు. రెండవ సందర్భంలో, అతను ఆ నాణేలను విభిన్నంగా పంపిణీ చేసే ప్రత్యామ్నాయ లావాదేవీని ఏర్పాటు చేయడానికి మధ్యవర్తిని సంప్రదిస్తాడు.
ఆన్లైన్ స్టోర్ వెబ్సైట్లో కేబుల్ను కిట్లో చేర్చాలని చెప్పినప్పటికీ, మానిటర్ కొద్దిగా గీతలు పడిందని మరియు కిట్లో కంప్యూటర్కు కనెక్ట్ చేయడానికి కేబుల్ చేర్చలేదని అనుకుందాం. అప్పుడు కొనుగోలుదారు అతను ఈ పరిస్థితిలో మోసపోయానని మధ్యవర్తికి నిరూపించడానికి అవసరమైన సాక్ష్యాలను సేకరిస్తాడు: అతను సైట్ యొక్క స్క్రీన్షాట్లను తీసుకుంటాడు, మెయిల్ రసీదు యొక్క ఫోటోను తీసుకుంటాడు, మానిటర్లోని గీతల ఫోటోను తీస్తాడు మరియు సీల్ ఉందని చూపిస్తుంది. విరిగింది మరియు కేబుల్ బయటకు తీయబడింది. ఆన్లైన్ స్టోర్, దాని సాక్ష్యాలను సేకరిస్తుంది మరియు దానిని మధ్యవర్తికి బదిలీ చేస్తుంది.
కొనుగోలుదారు యొక్క ఆగ్రహం మరియు ఆన్లైన్ స్టోర్ యొక్క ఆసక్తులు రెండింటినీ ఏకకాలంలో సంతృప్తి పరచడానికి మధ్యవర్తి ఆసక్తి కలిగి ఉంటాడు (ఎందుకు అనేది తర్వాత స్పష్టంగా తెలుస్తుంది). ఇది ఒక బహుళ సంతకం చిరునామా నుండి నాణేలను కొనుగోలుదారు, ఆన్లైన్ స్టోర్ మరియు మధ్యవర్తి మధ్య కొంత నిష్పత్తిలో ఖర్చు చేసే లావాదేవీని ఏర్పరుస్తుంది, ఎందుకంటే అతను తన పనికి ప్రతిఫలంగా కొంత భాగాన్ని తీసుకుంటాడు. మొత్తం అమౌంట్లో 90% విక్రేతకు, 5% మధ్యవర్తికి మరియు 5% పరిహారం కొనుగోలుదారుకు వెళ్తుందని అనుకుందాం. మధ్యవర్తి తన కీతో ఈ లావాదేవీపై సంతకం చేస్తాడు, కానీ ఇది ఇంకా వర్తించబడదు, ఎందుకంటే దీనికి రెండు సంతకాలు అవసరం, కానీ ఒకటి మాత్రమే విలువైనది. ఇది కొనుగోలుదారు మరియు విక్రేత ఇద్దరికీ అటువంటి లావాదేవీని పంపుతుంది. నాణేలను పునఃపంపిణీ చేయడానికి ఈ ఎంపికతో కనీసం ఒకటి సంతృప్తి చెందితే, లావాదేవీ ముందుగా సంతకం చేయబడుతుంది మరియు నెట్వర్క్కు పంపిణీ చేయబడుతుంది. దీన్ని ధృవీకరించడానికి, లావాదేవీకి సంబంధించిన పార్టీలలో ఒకరు మధ్యవర్తి ఎంపికతో అంగీకరిస్తే సరిపోతుంది.
ప్రారంభంలో మధ్యవర్తిని ఎంచుకోవడం చాలా ముఖ్యం, తద్వారా ఇద్దరు పాల్గొనేవారు అతనిని విశ్వసిస్తారు. ఈ సందర్భంలో, అతను ఒకటి లేదా మరొకటి ప్రయోజనాల నుండి స్వతంత్రంగా వ్యవహరిస్తాడు మరియు పరిస్థితిని నిష్పాక్షికంగా అంచనా వేస్తాడు. కనీసం ఒక పాల్గొనేవారిని సంతృప్తిపరిచే నాణేలను పంపిణీ చేయడానికి మధ్యవర్తి ఎంపికను అందించకపోతే, కొనుగోలుదారు మరియు ఆన్లైన్ స్టోర్ ఇద్దరూ కలిసి తమ రెండు సంతకాలను ఉంచడం ద్వారా నాణేలను కొత్త బహుళ సంతకం చిరునామాకు పంపవచ్చు. కొత్త మల్టీసిగ్నేచర్ అడ్రస్ వేరే మధ్యవర్తితో సంకలనం చేయబడుతుంది, వారు ఈ విషయంలో మరింత సమర్థులుగా ఉంటారు మరియు మెరుగైన ఎంపికను అందిస్తారు.
డార్మిటరీ మరియు రిఫ్రిజిరేటర్తో ఉదాహరణ
స్మార్ట్ ఒప్పందం యొక్క సామర్థ్యాలను మరింత స్పష్టంగా ప్రదర్శించే మరింత సంక్లిష్టమైన ఉదాహరణను చూద్దాం.
ఇటీవల ఒకే వసతి గదిలోకి మారిన ముగ్గురు అబ్బాయిలు ఉన్నారని అనుకుందాం. ముగ్గురూ కలిసి తమ గదికి ఉపయోగపడే రిఫ్రిజిరేటర్ కొనేందుకు ఆసక్తి చూపుతున్నారు. వారిలో ఒకరు రిఫ్రిజిరేటర్ కొనుగోలు చేయడానికి అవసరమైన మొత్తాన్ని సేకరించి, విక్రేతతో చర్చలు జరపడానికి స్వచ్ఛందంగా ముందుకు వచ్చారు. అయితే, వారు ఇటీవల ఒకరినొకరు కలుసుకున్నారు మరియు వారి మధ్య తగినంత నమ్మకం లేదు. సహజంగానే ఇద్దరు మూడోవాడికి డబ్బులు ఇచ్చి రిస్క్ చేస్తున్నారు. అదనంగా, వారు విక్రేతను ఎన్నుకోవడంలో ఒక ఒప్పందాన్ని చేరుకోవాలి.
వారు ఎస్క్రో సేవను ఉపయోగించవచ్చు, అంటే, లావాదేవీ అమలును పర్యవేక్షించే మరియు ఏవైనా వివాదాస్పద సమస్యలను పరిష్కరించే మధ్యవర్తిని ఎంచుకోవచ్చు. అప్పుడు, అంగీకరించిన తరువాత, వారు స్మార్ట్ ఒప్పందాన్ని రూపొందించారు మరియు దానిలో కొన్ని షరతులను నిర్దేశిస్తారు.
మొదటి షరతు ఏమిటంటే, ఒక నిర్దిష్ట సమయానికి ముందు, ఒక వారంలోపు, సంబంధిత స్మార్ట్ కాంట్రాక్ట్ ఖాతా నిర్దిష్ట చిరునామాల నుండి నిర్దిష్ట మొత్తానికి మూడు చెల్లింపులను అందుకోవాలి. ఇది జరగకపోతే, స్మార్ట్ ఒప్పందం అమలు చేయడాన్ని ఆపివేస్తుంది మరియు పాల్గొనే వారందరికీ నాణేలను తిరిగి ఇస్తుంది. షరతు నెరవేరినట్లయితే, విక్రేత మరియు మధ్యవర్తి ఐడెంటిఫైయర్ల విలువలు సెట్ చేయబడతాయి మరియు పాల్గొనే వారందరూ విక్రేత మరియు మధ్యవర్తి ఎంపికతో ఏకీభవిస్తున్నారని షరతు తనిఖీ చేయబడుతుంది. అన్ని షరతులు నెరవేరినప్పుడు, నిధులు పేర్కొన్న చిరునామాలకు బదిలీ చేయబడతాయి. ఈ విధానం పాల్గొనేవారిని ఏ వైపు నుండి అయినా మోసం నుండి రక్షించగలదు మరియు సాధారణంగా విశ్వసించవలసిన అవసరాన్ని తొలగిస్తుంది.
ప్రతి షరతును నెరవేర్చడానికి దశల వారీ సెట్ పారామితుల యొక్క ఈ సామర్థ్యం ఏదైనా సంక్లిష్టత మరియు సమూహ స్థాయిల లోతు యొక్క వ్యవస్థలను సృష్టించడానికి మిమ్మల్ని అనుమతిస్తుంది అనే సూత్రాన్ని మేము ఈ ఉదాహరణలో చూస్తాము. అదనంగా, మీరు మొదట స్మార్ట్ ఒప్పందంలో మొదటి షరతును నిర్వచించవచ్చు మరియు దాని నెరవేర్పు తర్వాత మాత్రమే మీరు తదుపరి షరతు కోసం పారామితులను సెట్ చేయవచ్చు. మరో మాటలో చెప్పాలంటే, షరతు అధికారికంగా వ్రాయబడింది మరియు దాని ఆపరేషన్ సమయంలో దాని కోసం పారామితులు ఇప్పటికే సెట్ చేయబడతాయి.
స్మార్ట్ ఒప్పందాల వర్గీకరణ
వర్గీకరణ కోసం, మీరు వివిధ ప్రమాణాల సమూహాలను సెట్ చేయవచ్చు. అయితే, సాంకేతిక అభివృద్ధి సమయంలో, వాటిలో నాలుగు సంబంధితంగా ఉన్నాయి.
స్మార్ట్ కాంట్రాక్టులు వాటి అమలు వాతావరణం ద్వారా వేరు చేయబడతాయి, అవి కేంద్రీకృతం లేదా వికేంద్రీకరించబడతాయి. వికేంద్రీకరణ విషయంలో, స్మార్ట్ ఒప్పందాలను అమలు చేస్తున్నప్పుడు మనకు చాలా ఎక్కువ స్వాతంత్ర్యం మరియు తప్పు సహనం ఉంటుంది.
షరతులను సెట్ చేయడం మరియు నెరవేర్చడం ద్వారా కూడా వాటిని వేరు చేయవచ్చు: అవి ఉచితంగా ప్రోగ్రామబుల్, పరిమితం లేదా ముందే నిర్వచించబడినవి, అంటే ఖచ్చితంగా టైప్ చేయబడతాయి. స్మార్ట్ కాంట్రాక్ట్ ప్లాట్ఫారమ్లో కేవలం 4 నిర్దిష్ట స్మార్ట్ కాంట్రాక్టులు మాత్రమే ఉన్నప్పుడు, వాటి కోసం పారామితులను ఏ విధంగానైనా సెట్ చేయవచ్చు. దీని ప్రకారం, వాటిని సెట్ చేయడం చాలా సులభం: మేము జాబితా నుండి ఒప్పందాన్ని ఎంచుకుని, పారామితులను పాస్ చేస్తాము.
దీక్షా పద్ధతి ప్రకారం, స్వయంచాలక స్మార్ట్ ఒప్పందాలు ఉన్నాయి, అంటే, కొన్ని పరిస్థితులు ఏర్పడినప్పుడు, అవి స్వీయ-అమలు చేసేవి, మరియు షరతులు పేర్కొన్న ఒప్పందాలు ఉన్నాయి, కానీ ప్లాట్ఫారమ్ వాటి నెరవేర్పును స్వయంచాలకంగా తనిఖీ చేయదు; దీని కోసం అవి విడిగా ప్రారంభించాలి.
అదనంగా, స్మార్ట్ కాంట్రాక్టులు వాటి గోప్యతా స్థాయిలో మారుతూ ఉంటాయి. అవి పూర్తిగా తెరిచి ఉండవచ్చు, పాక్షికంగా లేదా పూర్తిగా గోప్యంగా ఉండవచ్చు. రెండోది అంటే మూడవ పక్షం పరిశీలకులు స్మార్ట్ ఒప్పందాల నిబంధనలను చూడరు. అయితే, గోప్యత అంశం చాలా విస్తృతమైనది మరియు ప్రస్తుత కథనం నుండి విడిగా పరిగణించడం మంచిది.
ప్రస్తుత అంశం యొక్క అవగాహనకు మరింత స్పష్టత తీసుకురావడానికి దిగువన మేము మొదటి మూడు ప్రమాణాలను నిశితంగా పరిశీలిస్తాము.
రన్టైమ్ ద్వారా స్మార్ట్ ఒప్పందాలు
అమలు వాతావరణం ఆధారంగా, కేంద్రీకృత మరియు వికేంద్రీకృత స్మార్ట్ కాంట్రాక్ట్ ప్లాట్ఫారమ్ల మధ్య వ్యత్యాసం ఉంటుంది. కేంద్రీకృత డిజిటల్ కాంట్రాక్టుల విషయంలో, ఒకే సేవ ఉపయోగించబడుతుంది, ఇక్కడ ఒక వాలిడేటర్ మాత్రమే ఉంటుంది మరియు బ్యాకప్ మరియు రికవరీ సేవ ఉండవచ్చు, ఇది కూడా కేంద్రంగా నిర్వహించబడుతుంది. స్మార్ట్ ఒప్పందం యొక్క నిబంధనలను సెట్ చేయడానికి మరియు ఈ సేవా డేటాబేస్లో పరిగణనలోకి తీసుకున్న విలువను పంపిణీ చేయడానికి అవసరమైన మొత్తం సమాచారాన్ని నిల్వ చేసే ఒక డేటాబేస్ ఉంది. అటువంటి కేంద్రీకృత సేవలో నిర్దిష్ట అభ్యర్థనలతో షరతులను సెట్ చేసే మరియు అటువంటి ఒప్పందాలను ఉపయోగించే క్లయింట్ ఉంది. ప్లాట్ఫారమ్ యొక్క కేంద్రీకృత స్వభావం కారణంగా, క్రిప్టోకరెన్సీల కంటే ప్రామాణీకరణ విధానాలు తక్కువ సురక్షితంగా ఉండవచ్చు.
ఉదాహరణగా, మేము మొబైల్ కమ్యూనికేషన్ ప్రొవైడర్లను (వివిధ మొబైల్ ఆపరేటర్లు) తీసుకోవచ్చు. ఒక నిర్దిష్ట ఆపరేటర్ తన సర్వర్లలో ట్రాఫిక్ యొక్క కేంద్రీకృత రికార్డును ఉంచుతుందని అనుకుందాం, ఇది వివిధ ఫార్మాట్లలో ప్రసారం చేయబడుతుంది, ఉదాహరణకు: వాయిస్ కాల్స్, SMS ట్రాన్స్మిషన్, మొబైల్ ఇంటర్నెట్ ట్రాఫిక్ రూపంలో మరియు వివిధ ప్రమాణాల ప్రకారం మరియు రికార్డులను కూడా ఉంచుతుంది. వినియోగదారు నిల్వలపై నిధులు. దీని ప్రకారం, మొబైల్ కమ్యూనికేషన్స్ ప్రొవైడర్ అందించిన సేవలకు మరియు వివిధ షరతులతో వారి చెల్లింపు కోసం అకౌంటింగ్ కోసం ఒప్పందాలను రూపొందించవచ్చు. ఈ సందర్భంలో, "అటువంటి మరియు అటువంటి నంబర్కి అటువంటి మరియు అటువంటి కోడ్తో SMS పంపండి మరియు మీరు ట్రాఫిక్ పంపిణీ కోసం అటువంటి మరియు అటువంటి షరతులను అందుకుంటారు" వంటి షరతులను సెట్ చేయడం సులభం.
మరొక ఉదాహరణ ఇవ్వవచ్చు: ఇంటర్నెట్ బ్యాంకింగ్ యొక్క విస్తరించిన కార్యాచరణతో సాంప్రదాయ బ్యాంకులు మరియు సాధారణ చెల్లింపులు, ఇన్కమింగ్ చెల్లింపులను స్వయంచాలకంగా మార్చడం, పేర్కొన్న ఖాతాకు వడ్డీని స్వయంచాలకంగా తగ్గించడం వంటి చాలా సులభమైన ఒప్పందాలు.
మేము వికేంద్రీకృత అమలు వాతావరణంతో స్మార్ట్ కాంట్రాక్టుల గురించి మాట్లాడుతున్నట్లయితే, మాకు వాలిడేటర్ల సమూహం ఉంది. ఆదర్శవంతంగా, ఎవరైనా వ్యాలిడేటర్ కావచ్చు. డేటాబేస్ సింక్రొనైజేషన్ ప్రోటోకాల్ మరియు ఏకాభిప్రాయం కారణంగా, మేము ఇప్పుడు అన్ని లావాదేవీలను ఖచ్చితంగా వివరించిన ఒప్పందాలతో నిల్వ చేస్తాము మరియు కొన్ని షరతులతో కూడిన ప్రశ్నలు కాకుండా, ఫార్మాట్లు తరచుగా మారుతాయి మరియు ఓపెన్ స్పెసిఫికేషన్ లేదు. ఇక్కడ, లావాదేవీలు ఖచ్చితమైన స్పెసిఫికేషన్ ప్రకారం ఒప్పందాన్ని అమలు చేయడానికి సూచనలను కలిగి ఉంటాయి. ఈ స్పెసిఫికేషన్ తెరిచి ఉంది, కాబట్టి ప్లాట్ఫారమ్ వినియోగదారులు స్వయంగా స్మార్ట్ కాంట్రాక్టులను ఆడిట్ చేయవచ్చు మరియు ధృవీకరించవచ్చు. వికేంద్రీకృత ప్లాట్ఫారమ్లు స్వాతంత్ర్యం మరియు తప్పు సహనం పరంగా కేంద్రీకృత వాటి కంటే ఉన్నతమైనవని ఇక్కడ మనం చూస్తాము, అయితే వాటి రూపకల్పన మరియు నిర్వహణ చాలా క్లిష్టంగా ఉంటాయి.
షరతులను సెట్ చేయడం మరియు నెరవేర్చడం ద్వారా స్మార్ట్ ఒప్పందాలు
ఇప్పుడు స్మార్ట్ కాంట్రాక్టులు షరతులను సెట్ చేసే మరియు నెరవేర్చే విధానంలో ఎలా విభేదిస్తాయో నిశితంగా పరిశీలిద్దాం. ఇక్కడ మేము యాదృచ్ఛికంగా ప్రోగ్రామబుల్ మరియు ట్యూరింగ్ పూర్తి అయిన స్మార్ట్ కాంట్రాక్టుల వైపు దృష్టి సారిస్తాము. ట్యూరింగ్-పూర్తి స్మార్ట్ ఒప్పందం ఒప్పందాన్ని అమలు చేయడానికి దాదాపు ఏవైనా అల్గారిథమ్లను షరతులుగా సెట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది: రైట్ సైకిల్స్, సంభావ్యతలను లెక్కించడానికి కొన్ని విధులు మరియు ఇలాంటివి - మీ స్వంత ఎలక్ట్రానిక్ సంతకం అల్గారిథమ్ల వరకు. ఈ సందర్భంలో, మేము తర్కం యొక్క నిజంగా ఏకపక్ష రచన అని అర్థం.
ఏకపక్ష స్మార్ట్ ఒప్పందాలు కూడా ఉన్నాయి, కానీ ట్యూరింగ్ పూర్తి కాదు. ఇందులో బిట్కాయిన్ మరియు లిట్కాయిన్ వారి స్వంత స్క్రిప్ట్తో ఉంటాయి. దీని అర్థం మీరు ఏ క్రమంలోనైనా నిర్దిష్ట కార్యకలాపాలను మాత్రమే ఉపయోగించగలరు, కానీ మీరు ఇకపై లూప్లు మరియు మీ స్వంత అల్గారిథమ్లను వ్రాయలేరు.
అదనంగా, ముందే నిర్వచించబడిన స్మార్ట్ ఒప్పందాలను అమలు చేసే స్మార్ట్ కాంట్రాక్ట్ ప్లాట్ఫారమ్లు ఉన్నాయి. వీటిలో Bitshares మరియు Steemit ఉన్నాయి. Bitshares ట్రేడింగ్, ఖాతా నిర్వహణ, ప్లాట్ఫారమ్ యొక్క నిర్వహణ మరియు దాని పారామితుల కోసం స్మార్ట్ కాంట్రాక్టుల శ్రేణిని కలిగి ఉంది. Steemit అనేది సారూప్య ప్లాట్ఫారమ్, అయితే ఇది ఇకపై Bitshares వంటి టోకెన్లు మరియు వ్యాపారంపై దృష్టి పెట్టదు, కానీ బ్లాగింగ్పై, అంటే ఇది వికేంద్రీకృత పద్ధతిలో కంటెంట్ను నిల్వ చేస్తుంది మరియు ప్రాసెస్ చేస్తుంది.
ఏకపక్ష ట్యూరింగ్-పూర్తి ఒప్పందాలలో Ethereum ప్లాట్ఫారమ్ మరియు రూట్స్టాక్ ఉన్నాయి, ఇది ఇప్పటికీ అభివృద్ధిలో ఉంది. అందువల్ల, క్రింద మేము Ethereum స్మార్ట్ కాంట్రాక్ట్ ప్లాట్ఫారమ్లో కొంచెం వివరంగా నివసిస్తాము.
ప్రారంభ పద్ధతి ద్వారా స్మార్ట్ ఒప్పందాలు
దీక్షా పద్ధతి ఆధారంగా, స్మార్ట్ ఒప్పందాలను కనీసం రెండు గ్రూపులుగా విభజించవచ్చు: ఆటోమేటెడ్ మరియు మాన్యువల్ (ఆటోమేటెడ్ కాదు). అన్ని తెలిసిన పారామితులు మరియు షరతులు ఇచ్చినట్లయితే, స్మార్ట్ కాంట్రాక్ట్ పూర్తిగా స్వయంచాలకంగా అమలు చేయబడుతుంది, అనగా, దీనికి అదనపు లావాదేవీలను పంపడం మరియు ప్రతి తదుపరి అమలుపై అదనపు కమీషన్ ఖర్చు చేయడం అవసరం లేదు అనే వాస్తవం ద్వారా ఆటోమేటెడ్ వాటిని వర్గీకరిస్తారు. స్మార్ట్ కాంట్రాక్ట్ ఎలా పూర్తవుతుందో లెక్కించడానికి ప్లాట్ఫారమ్లోనే మొత్తం డేటా ఉంది. అక్కడ ఉన్న తర్కం ఏకపక్షం కాదు, ముందుగా నిర్ణయించినది మరియు ఇవన్నీ ఊహించదగినవి. అంటే, మీరు స్మార్ట్ కాంట్రాక్టును అమలు చేయడంలో సంక్లిష్టతను ముందుగానే అంచనా వేయవచ్చు, దాని కోసం కొన్ని రకాల స్థిరమైన కమీషన్లను ఉపయోగించుకోండి మరియు దాని అమలు కోసం అన్ని ప్రక్రియలు మరింత సమర్థవంతంగా ఉంటాయి.
ఉచితంగా ప్రోగ్రామ్ చేయబడిన స్మార్ట్ ఒప్పందాల కోసం, అమలు స్వయంచాలకంగా ఉండదు. అటువంటి స్మార్ట్ ఒప్పందాన్ని ప్రారంభించడానికి, వాస్తవంగా ప్రతి దశలోనూ మీరు కొత్త లావాదేవీని సృష్టించాలి, ఇది తదుపరి అమలు దశ లేదా తదుపరి స్మార్ట్ కాంట్రాక్ట్ పద్ధతిని పిలుస్తుంది, తగిన కమీషన్ చెల్లించి, లావాదేవీని నిర్ధారించే వరకు వేచి ఉండండి. ఎగ్జిక్యూషన్ విజయవంతంగా పూర్తి కావచ్చు లేదా కాకపోవచ్చు, ఎందుకంటే స్మార్ట్ కాంట్రాక్ట్ కోడ్ ఏకపక్షంగా ఉంటుంది మరియు ఎటర్నల్ లూప్, కొన్ని పారామితులు మరియు ఆర్గ్యుమెంట్లు లేకపోవడం, హ్యాండిల్ చేయని మినహాయింపులు మొదలైన కొన్ని అనూహ్య క్షణాలు కనిపించవచ్చు.
Ethereum ఖాతాలు
Ethereum ఖాతా రకాలు
Ethereum ప్లాట్ఫారమ్లో ఏ రకమైన ఖాతాలు ఉండవచ్చో చూద్దాం. ఇక్కడ రెండు రకాల ఖాతాలు మాత్రమే ఉన్నాయి మరియు ఇతర ఎంపికలు లేవు. మొదటి రకాన్ని వినియోగదారు ఖాతా అని పిలుస్తారు, రెండవది కాంట్రాక్ట్ ఖాతా. అవి ఎలా విభిన్నంగా ఉన్నాయో తెలుసుకుందాం.
వినియోగదారు ఖాతా ఎలక్ట్రానిక్ సంతకం యొక్క వ్యక్తిగత కీ ద్వారా మాత్రమే నియంత్రించబడుతుంది. ఖాతా యజమాని ECDSA (Elliptic Curve Digital Signature Algorithm) అల్గారిథమ్ని ఉపయోగించి ఎలక్ట్రానిక్ సంతకం కోసం తన స్వంత కీ జతని ఉత్పత్తి చేస్తాడు. ఈ కీతో సంతకం చేసిన లావాదేవీలు మాత్రమే ఈ ఖాతా స్థితిని మార్చగలవు.
స్మార్ట్ కాంట్రాక్ట్ ఖాతా కోసం ప్రత్యేక లాజిక్ అందించబడింది. ఇది స్మార్ట్ ఒప్పందం యొక్క ప్రవర్తనను పూర్తిగా నిర్ణయించే ముందే నిర్వచించిన సాఫ్ట్వేర్ కోడ్ ద్వారా మాత్రమే నియంత్రించబడుతుంది: నిర్దిష్ట పరిస్థితులలో ఇది దాని నాణేలను ఎలా నిర్వహిస్తుంది, ఏ వినియోగదారు చొరవతో మరియు ఏ అదనపు పరిస్థితులలో ఈ నాణేలు పంపిణీ చేయబడతాయి. ప్రోగ్రామ్ కోడ్లో డెవలపర్ల కోసం కొన్ని పాయింట్లు అందించకపోతే, సమస్యలు తలెత్తవచ్చు. ఉదాహరణకు, స్మార్ట్ కాంట్రాక్ట్ నిర్దిష్ట స్థితిని అందుకోవచ్చు, దీనిలో వినియోగదారులలో ఎవరి నుండి తదుపరి అమలును అంగీకరించదు. ఈ సందర్భంలో, నాణేలు వాస్తవానికి స్తంభింపజేయబడతాయి, ఎందుకంటే స్మార్ట్ ఒప్పందం ఈ స్థితి నుండి నిష్క్రమించడానికి అందించదు.
Ethereumలో ఖాతాలు ఎలా సృష్టించబడతాయి
వినియోగదారు ఖాతా విషయంలో, యజమాని స్వతంత్రంగా ECDSAని ఉపయోగించి కీ జతని ఉత్పత్తి చేస్తాడు. Ethereum వికీపీడియా వలె ఎలక్ట్రానిక్ సంతకాల కోసం సరిగ్గా అదే అల్గోరిథం మరియు సరిగ్గా అదే దీర్ఘవృత్తాకార వక్రతను ఉపయోగిస్తుందని గమనించడం ముఖ్యం, అయితే చిరునామా కొద్దిగా భిన్నమైన రీతిలో లెక్కించబడుతుంది. ఇక్కడ, బిట్కాయిన్లో వలె డబుల్ హ్యాషింగ్ ఫలితం ఇకపై ఉపయోగించబడదు, అయితే సింగిల్ హ్యాషింగ్ 256 బిట్ల పొడవుతో కెకాక్ ఫంక్షన్తో అందించబడుతుంది. తక్కువ ముఖ్యమైన బిట్లు ఫలిత విలువ నుండి కత్తిరించబడతాయి, అవి అవుట్పుట్ హాష్ విలువ యొక్క అతి తక్కువ ముఖ్యమైన 160 బిట్లు. ఫలితంగా, మేము Ethereum లో చిరునామాను పొందుతాము. వాస్తవానికి, ఇది 20 బైట్లను తీసుకుంటుంది.
దయచేసి Ethereumలోని ఖాతా ఐడెంటిఫైయర్ చెక్సమ్ని వర్తింపజేయకుండా హెక్స్లో ఎన్కోడ్ చేయబడిందని గమనించండి, బిట్కాయిన్ మరియు అనేక ఇతర సిస్టమ్ల వలె కాకుండా, చిరునామా చెక్సమ్తో పాటు బేస్ 58 నంబర్ సిస్టమ్లో ఎన్కోడ్ చేయబడుతుంది. Ethereumలో ఖాతా ఐడెంటిఫైయర్లతో పని చేస్తున్నప్పుడు మీరు జాగ్రత్తగా ఉండాలని దీని అర్థం: ఐడెంటిఫైయర్లో ఒక పొరపాటు కూడా నాణేల నష్టానికి దారితీస్తుందని హామీ ఇవ్వబడుతుంది.
ఒక ముఖ్యమైన లక్షణం ఉంది మరియు అతను మొదటి ఇన్కమింగ్ చెల్లింపును అంగీకరించినప్పుడు సాధారణ డేటాబేస్ స్థాయిలో వినియోగదారు ఖాతా సృష్టించబడుతుంది.
స్మార్ట్ కాంట్రాక్ట్ ఖాతాను సృష్టించడం పూర్తిగా భిన్నమైన విధానాన్ని తీసుకుంటుంది. ప్రారంభంలో, వినియోగదారులలో ఒకరు స్మార్ట్ కాంట్రాక్ట్ యొక్క సోర్స్ కోడ్ను వ్రాస్తారు, ఆ తర్వాత కోడ్ Ethereum ప్లాట్ఫారమ్ కోసం ప్రత్యేకమైన కంపైలర్ ద్వారా పంపబడుతుంది, దాని స్వంత Ethereum వర్చువల్ మెషీన్ కోసం బైట్కోడ్ను పొందడం. ఫలితంగా బైట్కోడ్ లావాదేవీ యొక్క ప్రత్యేక ఫీల్డ్లో ఉంచబడుతుంది. ఇది ప్రారంభించేవారి ఖాతా తరపున ధృవీకరించబడింది. తర్వాత, ఈ లావాదేవీ నెట్వర్క్ అంతటా ప్రచారం చేయబడుతుంది మరియు స్మార్ట్ కాంట్రాక్ట్ కోడ్ను ఉంచుతుంది. లావాదేవీ కోసం కమిషన్ మరియు, తదనుగుణంగా, ఒప్పందాన్ని అమలు చేయడం కోసం ఇనిషియేటర్ ఖాతా యొక్క బ్యాలెన్స్ నుండి ఉపసంహరించబడుతుంది.
ప్రతి స్మార్ట్ ఒప్పందం తప్పనిసరిగా దాని స్వంత కన్స్ట్రక్టర్ను కలిగి ఉంటుంది (ఈ ఒప్పందం యొక్క). ఇది ఖాళీగా ఉండవచ్చు లేదా అందులో కంటెంట్ ఉండవచ్చు. కన్స్ట్రక్టర్ అమలు చేయబడిన తర్వాత, స్మార్ట్ కాంట్రాక్ట్ ఖాతా ఐడెంటిఫైయర్ సృష్టించబడుతుంది, దీన్ని ఉపయోగించి మీరు నాణేలను పంపవచ్చు, నిర్దిష్ట స్మార్ట్ కాంట్రాక్ట్ పద్ధతులకు కాల్ చేయవచ్చు మొదలైనవి.
Ethereum లావాదేవీ నిర్మాణం
దీన్ని మరింత స్పష్టంగా చేయడానికి, మేము Ethereum లావాదేవీ యొక్క నిర్మాణాన్ని మరియు ఒక ఉదాహరణ స్మార్ట్ కాంట్రాక్ట్ కోడ్ను చూడటం ప్రారంభిస్తాము.
Ethereum లావాదేవీ అనేక ఫీల్డ్లను కలిగి ఉంటుంది. వీటిలో మొదటిది, నాన్సే, అది పంపిణీ చేసే మరియు దాని రచయిత అయిన ఖాతాకు సంబంధించి లావాదేవీ యొక్క నిర్దిష్ట క్రమ సంఖ్య. డబుల్ లావాదేవీలను వేరు చేయడానికి, అంటే, ఒకే లావాదేవీని రెండుసార్లు అంగీకరించినప్పుడు కేసును మినహాయించడానికి ఇది అవసరం. ఐడెంటిఫైయర్ని ఉపయోగించడం ద్వారా, ప్రతి లావాదేవీకి ప్రత్యేకమైన హాష్ విలువ ఉంటుంది.
తర్వాత ఒక ఫీల్డ్ వస్తుంది గ్యాస్ ధర. ఇది Ethereum బేస్ కరెన్సీని గ్యాస్గా మార్చే ధరను సూచిస్తుంది, ఇది స్మార్ట్ కాంట్రాక్ట్ అమలు మరియు వర్చువల్ మెషీన్ రిసోర్స్ యొక్క కేటాయింపు కోసం చెల్లించడానికి ఉపయోగించబడుతుంది. దాని అర్థం ఏమిటి?
బిట్కాయిన్లో, ఫీజులు నేరుగా బేస్ కరెన్సీ-బిట్కాయిన్ ద్వారా చెల్లించబడతాయి. వాటిని లెక్కించడానికి ఒక సాధారణ మెకానిజం కారణంగా ఇది సాధ్యమవుతుంది: లావాదేవీలో ఉన్న డేటా మొత్తానికి మేము ఖచ్చితంగా చెల్లిస్తాము. Ethereum లో పరిస్థితి మరింత క్లిష్టంగా ఉంటుంది, ఎందుకంటే లావాదేవీ డేటా పరిమాణంపై ఆధారపడటం చాలా కష్టం. ఇక్కడ, లావాదేవీ వర్చువల్ మెషీన్లో అమలు చేయబడే ప్రోగ్రామ్ కోడ్ను కూడా కలిగి ఉండవచ్చు మరియు వర్చువల్ మెషీన్ యొక్క ప్రతి ఆపరేషన్ విభిన్న సంక్లిష్టతను కలిగి ఉండవచ్చు. వేరియబుల్స్ కోసం మెమరీని కేటాయించే ఆపరేషన్లు కూడా ఉన్నాయి. వారు వారి స్వంత సంక్లిష్టతను కలిగి ఉంటారు, ప్రతి ఆపరేషన్ కోసం చెల్లింపు ఆధారపడి ఉంటుంది.
గ్యాస్ సమానమైన ప్రతి ఆపరేషన్ ఖర్చు స్థిరంగా ఉంటుంది. ప్రతి ఆపరేషన్ యొక్క స్థిరమైన ధరను నిర్ణయించడానికి ఇది ప్రత్యేకంగా పరిచయం చేయబడింది. నెట్వర్క్లోని లోడ్పై ఆధారపడి, గ్యాస్ ధర మారుతుంది, అంటే, కమీషన్ చెల్లించడానికి బేస్ కరెన్సీని ఈ సహాయక యూనిట్గా మార్చే గుణకం.
Ethereumలో లావాదేవీకి సంబంధించిన మరో లక్షణం ఉంది: వర్చువల్ మెషీన్లో అమలు చేయడం కోసం అది కలిగి ఉన్న బైట్కోడ్ కొంత ఫలితంతో (విజయం లేదా వైఫల్యం) పూర్తయ్యే వరకు లేదా కమీషన్ చెల్లించడానికి కేటాయించిన నిర్దిష్ట మొత్తం నాణేలు అయిపోయే వరకు అమలు చేయబడుతుంది. . ఏదైనా లోపం సంభవించినప్పుడు, పంపినవారి ఖాతాలోని అన్ని నాణేలు కమీషన్పై ఖర్చు చేయబడిన పరిస్థితిని నివారించడానికి ఇది జరుగుతుంది (ఉదాహరణకు, వర్చువల్ మెషీన్లో ఒక రకమైన శాశ్వతమైన చక్రం ప్రారంభమైంది), ఈ క్రింది ఫీల్డ్ ఉనికిలో ఉంది - గ్యాస్ ప్రారంభించండి (తరచుగా గ్యాస్ పరిమితి అని పిలుస్తారు) - ఇది పంపినవారు నిర్దిష్ట లావాదేవీని పూర్తి చేయడానికి ఖర్చు చేయడానికి ఇష్టపడే గరిష్ట నాణేలను నిర్ణయిస్తుంది.
తదుపరి ఫీల్డ్ అంటారు గమ్యం చిరునామా. ఇది నాణేల గ్రహీత చిరునామా లేదా నిర్దిష్ట స్మార్ట్ ఒప్పందం యొక్క చిరునామాను కలిగి ఉంటుంది, దీని పద్ధతులు పిలువబడతాయి. దాని తర్వాత ఫీల్డ్ వస్తుంది విలువ, గమ్యస్థాన చిరునామాకు పంపబడే నాణేల మొత్తం నమోదు చేయబడుతుంది.
తదుపరి అనే ఆసక్తికరమైన ఫీల్డ్ సమాచారం, మొత్తం నిర్మాణం ఎక్కడ సరిపోతుంది. ఇది ప్రత్యేక ఫీల్డ్ కాదు, వర్చువల్ మిషన్ కోసం కోడ్ నిర్వచించబడిన మొత్తం నిర్మాణం. మీరు ఇక్కడ ఏకపక్ష డేటాను ఉంచవచ్చు - దీనికి ప్రత్యేక నియమాలు ఉన్నాయి.
మరియు చివరి ఫీల్డ్ అంటారు సంతకం. ఇది ఏకకాలంలో ఈ లావాదేవీ యొక్క రచయిత యొక్క ఎలక్ట్రానిక్ సంతకం మరియు ఈ సంతకం ధృవీకరించబడే పబ్లిక్ కీ రెండింటినీ కలిగి ఉంటుంది. పబ్లిక్ కీ నుండి మీరు ఈ లావాదేవీని పంపినవారి ఖాతా ఐడెంటిఫైయర్ను పొందవచ్చు, అంటే సిస్టమ్లోనే పంపినవారి ఖాతాను ప్రత్యేకంగా గుర్తించవచ్చు. మేము లావాదేవీ యొక్క నిర్మాణం గురించి ప్రధాన విషయం కనుగొన్నాము.
సాలిడిటీకి ఉదాహరణ స్మార్ట్ కాంట్రాక్ట్ కోడ్
ఇప్పుడు ఒక ఉదాహరణను ఉపయోగించి సరళమైన స్మార్ట్ ఒప్పందాన్ని నిశితంగా పరిశీలిద్దాం.
contract Bank {
address owner;
mapping(address => uint) balances;
function Bank() {
owner = msg.sender;
}
function deposit() public payable {
balances[msg.sender] += msg.value;
}
function withdraw(uint amount) public {
if (balances[msg.sender] >= amount) {
balances[msg.sender] -= amount;
msg.sender.transfer(amount);
}
}
function getMyBalance() public view returns(uint) {
return balances[msg.sender];
}
function kill() public {
if (msg.sender == owner)
selfdestruct(owner);
}
}
పైన వినియోగదారుల నాణేలను ఉంచి, డిమాండ్పై తిరిగి ఇవ్వగల సరళీకృత సోర్స్ కోడ్.
కాబట్టి, కింది విధులను నిర్వర్తించే బ్యాంక్ స్మార్ట్ కాంట్రాక్ట్ ఉంది: ఇది దాని బ్యాలెన్స్పై నాణేలను కూడబెట్టుకుంటుంది, అనగా, లావాదేవీ నిర్ధారించబడినప్పుడు మరియు అలాంటి స్మార్ట్ ఒప్పందం ఉంచబడినప్పుడు, దాని బ్యాలెన్స్లో నాణేలను కలిగి ఉండే కొత్త ఖాతా సృష్టించబడుతుంది; ఇది వినియోగదారులను గుర్తుంచుకుంటుంది మరియు వాటి మధ్య నాణేల పంపిణీ; బ్యాలెన్స్లను నిర్వహించడానికి అనేక పద్ధతులను కలిగి ఉంది, అనగా, వినియోగదారు యొక్క బ్యాలెన్స్ను తిరిగి నింపడం, ఉపసంహరించుకోవడం మరియు తనిఖీ చేయడం సాధ్యమవుతుంది.
సోర్స్ కోడ్ యొక్క ప్రతి లైన్ ద్వారా వెళ్దాం. ఈ ఒప్పందం స్థిరమైన ఫీల్డ్లను కలిగి ఉంది. వాటిలో ఒకటి, రకం చిరునామాతో, యజమాని అని పిలుస్తారు. ఈ స్మార్ట్ ఒప్పందాన్ని సృష్టించిన వినియోగదారు చిరునామాను ఇక్కడ ఒప్పందం గుర్తుంచుకుంటుంది. ఇంకా, వినియోగదారు చిరునామాలు మరియు బ్యాలెన్స్ల మధ్య అనురూప్యతను నిర్వహించే డైనమిక్ నిర్మాణం ఉంది.
ఇది బ్యాంక్ పద్ధతి ద్వారా అనుసరించబడుతుంది - ఇది ఒప్పందం వలె అదే పేరును కలిగి ఉంది. దీని ప్రకారం, ఇది దాని కన్స్ట్రక్టర్. ఇక్కడ యజమాని వేరియబుల్ నెట్వర్క్లో ఈ స్మార్ట్ ఒప్పందాన్ని ఉంచిన వ్యక్తి చిరునామాను కేటాయించింది. ఈ కన్స్ట్రక్టర్లో జరిగేది ఇదే. అంటే, ఈ సందర్భంలో msg అనేది ఈ ఒప్పందం యొక్క మొత్తం కోడ్ను కలిగి ఉన్న లావాదేవీతో పాటు వర్చువల్ మెషీన్కు బదిలీ చేయబడిన డేటా. దీని ప్రకారం, msg.sender ఈ కోడ్ని హోస్ట్ చేసే ఈ లావాదేవీకి రచయిత. అతను స్మార్ట్ కాంట్రాక్ట్కు యజమాని అవుతాడు.
లావాదేవీ ద్వారా కాంట్రాక్ట్ ఖాతాకు నిర్దిష్ట సంఖ్యలో నాణేలను బదిలీ చేయడానికి డిపాజిట్ పద్ధతి మిమ్మల్ని అనుమతిస్తుంది. ఈ సందర్భంలో, స్మార్ట్ కాంట్రాక్ట్, ఈ నాణేలను స్వీకరించడం, వాటిని దాని బ్యాలెన్స్ షీట్లో వదిలివేస్తుంది, అయితే ఈ నాణేలు ఎవరికి చెందినవి అని తెలుసుకోవడానికి ఈ నాణేలను పంపినవారు ఖచ్చితంగా బ్యాలెన్స్ నిర్మాణంలో నమోదు చేస్తారు.
తదుపరి పద్ధతిని ఉపసంహరణ అని పిలుస్తారు మరియు ఇది ఒక పరామితిని తీసుకుంటుంది - ఎవరైనా ఈ బ్యాంకు నుండి ఉపసంహరించుకోవాలనుకునే నాణేల మొత్తం. వాటిని పంపడానికి ఈ పద్ధతిని పిలిచే వినియోగదారు బ్యాలెన్స్లో తగినంత నాణేలు ఉన్నాయో లేదో ఇది తనిఖీ చేస్తుంది. వాటిలో తగినంత ఉంటే, స్మార్ట్ కాంట్రాక్టు కాలర్కు ఆ సంఖ్యలో నాణేలను తిరిగి ఇస్తుంది.
తర్వాత వినియోగదారు ప్రస్తుత బ్యాలెన్స్ని తనిఖీ చేసే పద్ధతి వస్తుంది. ఈ పద్ధతిని ఎవరు పిలిచినా స్మార్ట్ ఒప్పందంలో ఈ బ్యాలెన్స్ని తిరిగి పొందడానికి ఉపయోగించబడుతుంది. ఈ పద్ధతి యొక్క మాడిఫైయర్ వీక్షణ అని గమనించాలి. దీనర్థం, పద్ధతి దాని తరగతి యొక్క వేరియబుల్లను ఏ విధంగానూ మార్చదు మరియు ఇది వాస్తవానికి రీడ్ పద్ధతి మాత్రమే. ఈ పద్ధతికి కాల్ చేయడానికి ప్రత్యేక లావాదేవీ సృష్టించబడదు, రుసుము చెల్లించబడదు మరియు అన్ని గణనలు స్థానికంగా నిర్వహించబడతాయి, ఆ తర్వాత వినియోగదారు ఫలితాన్ని అందుకుంటారు.
స్మార్ట్ ఒప్పందం యొక్క స్థితిని నాశనం చేయడానికి చంపే పద్ధతి అవసరం. మరియు ఇక్కడ ఈ పద్ధతి యొక్క కాలర్ ఈ ఒప్పందం యొక్క యజమాని కాదా అనే అదనపు తనిఖీ ఉంది. అలా అయితే, అప్పుడు ఒప్పందం స్వీయ-నాశనమవుతుంది మరియు విధ్వంసం ఫంక్షన్ ఒక పరామితిని తీసుకుంటుంది - ఒప్పందం దాని బ్యాలెన్స్లో మిగిలిన అన్ని నాణేలను పంపే ఖాతా ఐడెంటిఫైయర్. ఈ సందర్భంలో, మిగిలిన నాణేలు స్వయంచాలకంగా కాంట్రాక్ట్ యజమాని చిరునామాకు వెళ్తాయి.
Ethereum నెట్వర్క్లో పూర్తి నోడ్ ఎలా పని చేస్తుంది?
అటువంటి స్మార్ట్ కాంట్రాక్టులు Ethereum ప్లాట్ఫారమ్లో ఎలా అమలు చేయబడతాయో మరియు పూర్తి నెట్వర్క్ నోడ్ ఎలా పని చేస్తుందో క్రమపద్ధతిలో చూద్దాం.
Ethereum నెట్వర్క్లోని పూర్తి నోడ్ తప్పనిసరిగా కనీసం నాలుగు మాడ్యూళ్లను కలిగి ఉండాలి.
మొదటిది, ఏదైనా వికేంద్రీకృత ప్రోటోకాల్ కోసం, P2P నెట్వర్కింగ్ మాడ్యూల్ - నెట్వర్క్ కనెక్షన్ కోసం మాడ్యూల్ మరియు ఇతర నోడ్లతో పని చేస్తుంది, ఇక్కడ బ్లాక్లు, లావాదేవీలు మరియు ఇతర నోడ్ల గురించి సమాచారం మార్పిడి చేయబడుతుంది. ఇది అన్ని వికేంద్రీకృత క్రిప్టోకరెన్సీలకు సాంప్రదాయక భాగం.
తరువాత, బ్లాక్చెయిన్ డేటాను నిల్వ చేయడం, ప్రాసెసింగ్ చేయడం, ప్రాధాన్య శాఖను ఎంచుకోవడం, బ్లాక్లను జోడించడం, బ్లాక్లను అన్లింక్ చేయడం, ఈ బ్లాక్లను ధృవీకరించడం మొదలైన వాటికి మాడ్యూల్ ఉంది.
మూడవ మాడ్యూల్ను EVM (Ethereum వర్చువల్ మెషిన్) అని పిలుస్తారు - ఇది Ethereum లావాదేవీల నుండి బైట్కోడ్ను స్వీకరించే వర్చువల్ మెషీన్. ఈ మాడ్యూల్ నిర్దిష్ట ఖాతా యొక్క ప్రస్తుత స్థితిని తీసుకుంటుంది మరియు అందుకున్న బైట్కోడ్ ఆధారంగా దాని స్థితికి మార్పులు చేస్తుంది. ప్రతి నెట్వర్క్ నోడ్లోని వర్చువల్ మెషీన్ వెర్షన్ తప్పనిసరిగా ఒకేలా ఉండాలి. ప్రతి Ethereum నోడ్లో జరిగే గణనలు సరిగ్గా ఒకే విధంగా ఉంటాయి, కానీ అవి అసమకాలిక పద్ధతిలో జరుగుతాయి: ఎవరైనా ఈ లావాదేవీని ముందుగా తనిఖీ చేసి అంగీకరిస్తారు, అంటే, అందులో ఉన్న అన్ని కోడ్లను అమలు చేస్తారు మరియు ఎవరైనా తర్వాత. దీని ప్రకారం, లావాదేవీని సృష్టించినప్పుడు, అది నెట్వర్క్కు పంపిణీ చేయబడుతుంది, నోడ్లు దానిని అంగీకరిస్తాయి మరియు ధృవీకరణ సమయంలో, బిట్కాయిన్లో బిట్కాయిన్ స్క్రిప్ట్ అమలు చేయబడిన విధంగానే, వర్చువల్ మెషీన్ యొక్క బైట్కోడ్ ఇక్కడ అమలు చేయబడుతుంది.
లావాదేవీలో ఉన్న మొత్తం కోడ్ అమలు చేయబడి ఉంటే, నిర్దిష్ట ఖాతా యొక్క కొత్త స్థితి రూపొందించబడి, ఈ లావాదేవీ వర్తింపజేయబడిందా లేదా అనేది స్పష్టంగా కనిపించే వరకు సేవ్ చేయబడినట్లయితే, అది ధృవీకరించబడినట్లు పరిగణించబడుతుంది. లావాదేవీ వర్తింపజేస్తే, ఈ స్థితి పూర్తయినట్లుగా మాత్రమే పరిగణించబడుతుంది, కానీ ప్రస్తుతము కూడా. ప్రతి నెట్వర్క్ నోడ్ కోసం ప్రతి ఖాతా యొక్క స్థితిని నిల్వ చేసే డేటాబేస్ ఉంది. అన్ని గణనలు ఒకే విధంగా జరుగుతాయి మరియు బ్లాక్చెయిన్ స్థితి ఒకేలా ఉండటం వలన, అన్ని ఖాతాల స్థితులను కలిగి ఉన్న డేటాబేస్ ప్రతి నోడ్కు కూడా ఒకే విధంగా ఉంటుంది.
స్మార్ట్ ఒప్పందాల యొక్క అపోహలు మరియు పరిమితులు
Ethereum మాదిరిగానే స్మార్ట్ కాంట్రాక్ట్ ప్లాట్ఫారమ్ల కోసం ఉన్న పరిమితుల విషయానికొస్తే, ఈ క్రింది వాటిని ఉదహరించవచ్చు:
- కోడ్ అమలు;
- మెమరీని కేటాయించండి;
- బ్లాక్చెయిన్ డేటా;
- చెల్లింపులు పంపండి;
- కొత్త ఒప్పందాన్ని సృష్టించండి;
- ఇతర ఒప్పందాలను కాల్ చేయండి.
వర్చువల్ మెషీన్పై విధించిన పరిమితులను చూద్దాం మరియు తదనుగుణంగా, స్మార్ట్ ఒప్పందాల గురించి కొన్ని అపోహలను తొలగించండి. వర్చువల్ మెషీన్లో, ఇది Ethereumలో మాత్రమే కాకుండా, ఇలాంటి ప్లాట్ఫారమ్లలో కూడా ఉంటుంది, మీరు నిజంగా ఏకపక్ష తార్కిక కార్యకలాపాలను నిర్వహించవచ్చు, అంటే, కోడ్ వ్రాయండి మరియు అది అక్కడ అమలు చేయబడుతుంది, మీరు అదనంగా మెమరీని కేటాయించవచ్చు. అయితే, ప్రతి ఆపరేషన్కు మరియు కేటాయించిన ప్రతి అదనపు మెమరీ యూనిట్కు రుసుము ప్రత్యేకంగా చెల్లించబడుతుంది.
తరువాత, వర్చువల్ మెషీన్ ఈ డేటాను ఒకటి లేదా మరొక స్మార్ట్ కాంట్రాక్ట్ లాజిక్ని అమలు చేయడానికి ట్రిగ్గర్గా ఉపయోగించడానికి బ్లాక్చెయిన్ డేటాబేస్ నుండి డేటాను చదవగలదు. వర్చువల్ మెషీన్ లావాదేవీలను సృష్టించగలదు మరియు పంపగలదు, ఇది నెట్వర్క్లో ఇప్పటికే ప్రచురించబడిన ఇతర స్మార్ట్ కాంట్రాక్ట్ల యొక్క కొత్త ఒప్పందాలు మరియు కాల్ పద్ధతులను సృష్టించగలదు: ఇప్పటికే ఉన్నవి, అందుబాటులో ఉన్నాయి, మొదలైనవి.
అత్యంత సాధారణ అపోహ ఏమిటంటే, Ethereum స్మార్ట్ కాంట్రాక్టులు వాటి నిబంధనలలో ఏదైనా ఇంటర్నెట్ వనరు నుండి సమాచారాన్ని ఉపయోగించగలవు. నిజం ఏమిటంటే, వర్చువల్ మెషీన్ ఇంటర్నెట్లోని కొన్ని బాహ్య సమాచార వనరులకు నెట్వర్క్ అభ్యర్థనను పంపదు, అంటే, బయట వాతావరణం ఎలా ఉందో, చెప్పాలంటే, వినియోగదారుల మధ్య విలువను పంపిణీ చేసే స్మార్ట్ ఒప్పందాన్ని వ్రాయడం అసాధ్యం. లేదా కొన్ని ఛాంపియన్షిప్లను ఎవరు గెలుచుకున్నారు, లేదా బయటి ప్రపంచంలో జరిగిన ఇతర సంఘటనల ఆధారంగా, ఈ సంఘటనల గురించిన సమాచారం ప్లాట్ఫారమ్లోని డేటాబేస్లోనే ఉండదు. అంటే, దీని గురించి బ్లాక్చెయిన్లో ఏమీ లేదు. అది అక్కడ కనిపించకపోతే, వర్చువల్ మిషన్ ఈ డేటాను ట్రిగ్గర్లుగా ఉపయోగించదు.
Ethereum యొక్క ప్రతికూలతలు
ప్రధానమైన వాటిని జాబితా చేద్దాం. మొదటి ప్రతికూలత ఏమిటంటే, Ethereumలో స్మార్ట్ కాంట్రాక్టుల రూపకల్పన, అభివృద్ధి మరియు పరీక్షించడంలో కొన్ని ఇబ్బందులు ఉన్నాయి (స్మార్ట్ కాంట్రాక్ట్లను వ్రాయడానికి Ethereum సాలిడిటీ భాషను ఉపయోగిస్తుంది). నిజమే, అన్ని లోపాలలో చాలా ఎక్కువ శాతం మానవ కారకానికి చెందినదని అభ్యాసం చూపిస్తుంది. సగటు లేదా ఎక్కువ సంక్లిష్టత కలిగిన ఇప్పటికే వ్రాసిన Ethereum స్మార్ట్ కాంట్రాక్టులకు ఇది వాస్తవం. సాధారణ స్మార్ట్ కాంట్రాక్టుల కోసం లోపం సంభావ్యత తక్కువగా ఉంటే, సంక్లిష్టమైన స్మార్ట్ కాంట్రాక్టులలో చాలా తరచుగా లోపాలు ఉన్నాయి, ఇవి నిధుల దొంగతనం, వాటి స్తంభింపజేయడం, ఊహించని విధంగా స్మార్ట్ ఒప్పందాలను నాశనం చేయడం మొదలైన వాటికి దారితీస్తాయి. తెలిసిన.
రెండవ ప్రతికూలత ఏమిటంటే, వర్చువల్ మెషీన్ పరిపూర్ణమైనది కాదు, ఎందుకంటే ఇది వ్యక్తులచే వ్రాయబడింది. ఇది ఏకపక్ష ఆదేశాలను అమలు చేయగలదు మరియు దానిలో దుర్బలత్వం ఉంటుంది: ముందుగా ఊహించని పరిణామాలకు దారితీసే నిర్దిష్ట మార్గంలో అనేక ఆదేశాలను కాన్ఫిగర్ చేయవచ్చు. ఇది చాలా సంక్లిష్టమైన ప్రాంతం, అయితే ఈ దుర్బలత్వాలు Ethereum నెట్వర్క్ యొక్క ప్రస్తుత సంస్కరణలో ఉన్నాయని మరియు అవి అనేక స్మార్ట్ ఒప్పందాల వైఫల్యానికి దారితీస్తాయని చూపించే అనేక అధ్యయనాలు ఇప్పటికే ఉన్నాయి.
మరొక పెద్ద కష్టం, ఇది ప్రతికూలతగా పరిగణించబడుతుంది. మీరు వర్చువల్ మెషీన్లో అమలు చేయబడే ఒప్పందం యొక్క బైట్కోడ్ను కంపైల్ చేస్తే, మీరు కొన్ని నిర్దిష్ట కార్యకలాపాల క్రమాన్ని నిర్ణయించగలరని మీరు ఆచరణాత్మకంగా లేదా సాంకేతికంగా నిర్ధారణకు రావచ్చు. కలిసి నిర్వహించినప్పుడు, ఈ ఆపరేషన్లు వర్చువల్ మెషీన్ను బాగా లోడ్ చేస్తాయి మరియు ఈ ఆపరేషన్లను నిర్వహించడానికి చెల్లించిన రుసుముతో అది అసమానంగా నెమ్మదిస్తుంది.
గతంలో, Ethereum అభివృద్ధిలో ఇప్పటికే ఒక కాలం ఉంది, వర్చువల్ మెషీన్ యొక్క ఆపరేషన్ను వివరంగా అర్థం చేసుకున్న చాలా మంది అబ్బాయిలు అటువంటి దుర్బలత్వాలను కనుగొన్నారు. వాస్తవానికి, లావాదేవీలు చాలా తక్కువ రుసుమును చెల్లించాయి, కానీ ఆచరణాత్మకంగా మొత్తం నెట్వర్క్ను మందగించింది. ఈ సమస్యలను పరిష్కరించడం చాలా కష్టం, ఎందుకంటే మొదట, వాటిని నిర్ణయించడం అవసరం, రెండవది, ఈ కార్యకలాపాలను నిర్వహించడానికి ధరను సర్దుబాటు చేయడం మరియు మూడవదిగా, హార్డ్ ఫోర్క్ను నిర్వహించడం, అంటే అన్ని నెట్వర్క్ నోడ్లను కొత్త సంస్కరణకు నవీకరించడం. సాఫ్ట్వేర్ యొక్క, ఆపై ఈ మార్పుల యొక్క ఏకకాల క్రియాశీలత.
Ethereum విషయానికొస్తే, చాలా పరిశోధనలు జరిగాయి, చాలా ఆచరణాత్మక అనుభవం పొందబడింది: సానుకూల మరియు ప్రతికూల రెండూ, అయినప్పటికీ ఇప్పటికీ ఏదో ఒకవిధంగా పరిష్కరించాల్సిన ఇబ్బందులు మరియు దుర్బలత్వాలు ఉన్నాయి.
కాబట్టి, వ్యాసం యొక్క నేపథ్య భాగం పూర్తయింది, చాలా తరచుగా తలెత్తే ప్రశ్నలకు వెళ్దాం.
తరచుగా అడిగే ప్రశ్నలు
— ఇప్పటికే ఉన్న స్మార్ట్ కాంట్రాక్ట్లోని అన్ని పార్టీలు నిబంధనలను మార్చాలనుకుంటే, వారు మల్టీసిగ్ని ఉపయోగించి ఈ స్మార్ట్ కాంట్రాక్ట్ను రద్దు చేసి, ఆపై దాని అమలు యొక్క నవీకరించబడిన నిబంధనలతో కొత్త స్మార్ట్ ఒప్పందాన్ని సృష్టించవచ్చా?
ఇక్కడ సమాధానం రెండు రెట్లు ఉంటుంది. ఎందుకు? ఎందుకంటే ఒక వైపు, స్మార్ట్ కాంట్రాక్ట్ ఒకసారి నిర్వచించబడింది మరియు అది ఇకపై ఎటువంటి మార్పులను సూచించదు మరియు మరోవైపు, ఇది కొన్ని షరతుల యొక్క పూర్తి లేదా పాక్షిక మార్పు కోసం అందించే ముందస్తు-వ్రాతపూర్వక తర్కాన్ని కలిగి ఉంటుంది. అంటే, మీరు మీ స్మార్ట్ ఒప్పందంలో ఏదైనా మార్చాలనుకుంటే, మీరు ఈ షరతులను అప్డేట్ చేసే షరతులను తప్పనిసరిగా సూచించాలి. దీని ప్రకారం, అటువంటి వివేకవంతమైన పద్ధతిలో మాత్రమే ఒప్పందం యొక్క పునరుద్ధరణ నిర్వహించబడుతుంది. కానీ ఇక్కడ కూడా, మీరు ఇబ్బందుల్లో పడవచ్చు: కొంత పొరపాటు చేసి, సంబంధిత దుర్బలత్వాన్ని పొందండి. అందువల్ల, అటువంటి విషయాలు చాలా వివరంగా మరియు జాగ్రత్తగా రూపొందించబడి పరీక్షించబడాలి.
— మధ్యవర్తి పాల్గొనే పార్టీలలో ఒకదానితో ఒప్పందం కుదుర్చుకుంటే ఏమి చేయాలి: ఎస్క్రో లేదా స్మార్ట్ కాంట్రాక్ట్? స్మార్ట్ ఒప్పందంలో మధ్యవర్తి అవసరమా?
స్మార్ట్ ఒప్పందంలో మధ్యవర్తి అవసరం లేదు. ఇది ఉనికిలో ఉండకపోవచ్చు. ఒకవేళ, ఎస్క్రో విషయంలో, మధ్యవర్తి పార్టీలలో ఒకరితో కుట్రకు పాల్పడితే, అవును, ఈ పథకం దాని మొత్తం విలువను తీవ్రంగా కోల్పోతుంది. అందువల్ల, ఈ ప్రక్రియలో పాల్గొన్న అన్ని పక్షాలు ఒకే సమయంలో విశ్వసించే విధంగా మధ్యవర్తులు ఎంపిక చేయబడతారు. దీని ప్రకారం, మీరు విశ్వసించని మధ్యవర్తితో బహుళ సంతకం చిరునామాకు నాణేలను బదిలీ చేయరు.
— మీ చిరునామా నుండి అనేక విభిన్న టోకెన్లను వివిధ లక్ష్య చిరునామాలకు బదిలీ చేయడం ఒక Ethereum లావాదేవీతో సాధ్యమేనా, ఉదాహరణకు, ఈ టోకెన్లు వర్తకం చేయబడిన చిరునామాలను మార్పిడి చేయడం సాధ్యమేనా?
ఇది మంచి ప్రశ్న మరియు ఇది Ethereum లావాదేవీ మోడల్కు సంబంధించినది మరియు ఇది బిట్కాయిన్ మోడల్ నుండి ఎలా భిన్నంగా ఉంటుంది. మరియు తేడా రాడికల్. Ethereum లావాదేవీ మోడల్లో మీరు నాణేలను బదిలీ చేస్తే, అవి ఒక చిరునామా నుండి మరొక చిరునామాకు మాత్రమే బదిలీ చేయబడతాయి, ఎటువంటి మార్పు లేదు, మీరు పేర్కొన్న నిర్దిష్ట మొత్తం మాత్రమే. మరో మాటలో చెప్పాలంటే, ఇది ఖర్చు చేయని అవుట్పుట్ల (UTXO) మోడల్ కాదు, కానీ ఖాతాలు మరియు సంబంధిత బ్యాలెన్స్ల నమూనా. మీరు మోసపూరిత స్మార్ట్ ఒప్పందాన్ని వ్రాస్తే ఒకేసారి అనేక రకాల టోకెన్లను పంపడం సిద్ధాంతపరంగా సాధ్యమవుతుంది, కానీ మీరు ఇంకా చాలా లావాదేవీలు చేయాలి, ఒప్పందాన్ని సృష్టించాలి, ఆపై దానికి టోకెన్లు మరియు నాణేలను బదిలీ చేయాలి, ఆపై తగిన పద్ధతికి కాల్ చేయాలి . దీనికి కృషి మరియు సమయం అవసరం, కాబట్టి ఆచరణలో అది అలా పనిచేయదు మరియు Ethereumలోని అన్ని చెల్లింపులు ప్రత్యేక లావాదేవీలలో చేయబడతాయి.
- Ethereum ప్లాట్ఫారమ్ గురించిన అపోహల్లో ఒకటి బాహ్య ఇంటర్నెట్ వనరు యొక్క డేటాపై ఆధారపడి ఉండే పరిస్థితులను వివరించడం అసాధ్యం, కాబట్టి ఏమి చేయాలి?
పరిష్కారం ఏమిటంటే, స్మార్ట్ కాంట్రాక్టు కూడా ఒకటి లేదా అంతకంటే ఎక్కువ విశ్వసనీయమైన ఒరాకిల్స్ను అందించగలదు, ఇవి బయటి ప్రపంచంలోని విషయాల గురించి డేటాను సేకరించి ప్రత్యేక పద్ధతుల ద్వారా స్మార్ట్ కాంట్రాక్ట్లకు ప్రసారం చేస్తాయి. విశ్వసనీయ పార్టీల నుండి స్వీకరించిన డేటాను ఒప్పందమే నిజమైనదిగా పరిగణిస్తుంది. ఎక్కువ విశ్వసనీయత కోసం, ఒరాకిల్స్ యొక్క పెద్ద సమూహాన్ని ఎంచుకోండి మరియు వాటి కలయిక ప్రమాదాన్ని తగ్గించండి. మెజారిటీకి విరుద్ధమైన ఒరాకిల్స్ నుండి వచ్చిన డేటాను ఒప్పందం కూడా పరిగణనలోకి తీసుకోకపోవచ్చు.
బ్లాక్చెయిన్పై ఆన్లైన్ కోర్సు యొక్క ఉపన్యాసాలలో ఒకటి ఈ అంశానికి అంకితం చేయబడింది - “
మూలం: www.habr.com