ఈ వ్యాసంలో, నేను మీకు DAG (డైరెక్టెడ్ ఎసిక్లిక్ గ్రాఫ్) మరియు పంపిణీ చేయబడిన లెడ్జర్లలో దాని అప్లికేషన్ గురించి చెబుతాను మరియు మేము దానిని బ్లాక్చెయిన్తో పోల్చి చూస్తాము.
క్రిప్టోకరెన్సీల ప్రపంచంలో DAG కొత్తదేమీ కాదు. బ్లాక్చెయిన్ స్కేలబిలిటీ సమస్యలకు పరిష్కారంగా మీరు దాని గురించి విని ఉండవచ్చు. కానీ ఈ రోజు మనం స్కేలబిలిటీ గురించి మాట్లాడము, కానీ క్రిప్టోకరెన్సీలను అన్నిటికంటే భిన్నంగా చేస్తుంది: వికేంద్రీకరణ, మధ్యవర్తుల లేకపోవడం మరియు సెన్సార్షిప్ నిరోధకత.
DAG వాస్తవానికి ఎక్కువ సెన్సార్షిప్ నిరోధకతను కలిగి ఉందని మరియు లెడ్జర్ను యాక్సెస్ చేయడానికి మధ్యవర్తులు లేరని కూడా నేను మీకు చూపిస్తాను.
మనకు తెలిసిన బ్లాక్చెయిన్లలో, వినియోగదారులకు లెడ్జర్కు నేరుగా యాక్సెస్ ఉండదు. మీరు లెడ్జర్కి లావాదేవీని జోడించాలనుకున్నప్పుడు, దాన్ని చేయమని బ్లాక్ ప్రొడ్యూసర్ని (అకా "మైనర్") "అడగాలి". తదుపరి బ్లాక్కు ఏ లావాదేవీని జోడించాలో మరియు ఏది చేయకూడదో నిర్ణయించేది మైనర్లు. ఇది బ్లాక్లకు ప్రత్యేక ప్రాప్యతను కలిగి ఉన్న మైనర్లు మరియు లెడ్జర్లో చేర్చడానికి ఎవరి లావాదేవీని ఆమోదించాలో నిర్ణయించే హక్కు.
మైనర్లు మీకు మరియు పంపిణీ చేయబడిన లెడ్జర్కు మధ్య ఉన్న మధ్యవర్తులు.
ఆచరణలో, సాధారణంగా తక్కువ సంఖ్యలో మైనర్ కొలనులు సమిష్టిగా నెట్వర్క్ యొక్క కంప్యూటింగ్ పవర్లో సగానికి పైగా నియంత్రిస్తాయి. Bitcoin కోసం ఇవి నాలుగు కొలనులు, Ethereum కోసం - రెండు. వారు కుమ్మక్కైతే, వారు కోరుకున్న లావాదేవీలను బ్లాక్ చేయవచ్చు.
గత కొన్ని సంవత్సరాలుగా, బ్లాక్చెయిన్ల యొక్క అనేక వైవిధ్యాలు ప్రతిపాదించబడ్డాయి, బ్లాక్ ప్రొడ్యూసర్లను ఎన్నుకునే సూత్రాలలో భిన్నంగా ఉంటాయి. కానీ బ్లాక్ నిర్మాతలు తాము ఎక్కడికీ వెళ్లడం లేదు, వారు ఇప్పటికీ "అవరోధం వద్ద నిలబడి ఉన్నారు": ప్రతి లావాదేవీ తప్పనిసరిగా బ్లాక్ ప్రొడ్యూసర్ ద్వారా జరగాలి మరియు అతను దానిని అంగీకరించకపోతే, లావాదేవీ వాస్తవానికి ఉనికిలో లేదు.
బ్లాక్చెయిన్తో ఇది అనివార్యమైన సమస్య. మరియు మేము దానిని పరిష్కరించాలనుకుంటే, మేము డిజైన్ను సమూలంగా మార్చాలి మరియు బ్లాక్లు మరియు బ్లాక్ ప్రొడ్యూసర్లను పూర్తిగా వదిలించుకోవాలి. మరియు బ్లాక్ల గొలుసును నిర్మించడానికి బదులుగా, మేము ప్రతి లావాదేవీలో మునుపటి అనేక హ్యాష్లతో సహా లావాదేవీలను స్వయంగా కనెక్ట్ చేస్తాము. ఫలితంగా, మేము గణితంలో నిర్దేశిత అసైక్లిక్ గ్రాఫ్ - DAGగా పిలువబడే నిర్మాణాన్ని పొందుతాము.
ఇప్పుడు ప్రతి ఒక్కరూ మధ్యవర్తులు లేకుండా రిజిస్ట్రీకి నేరుగా యాక్సెస్ కలిగి ఉన్నారు. మీరు లావాదేవీని లెడ్జర్కి జోడించాలనుకున్నప్పుడు, మీరు దానిని జోడించాలి. మీరు అనేక పేరెంట్ లావాదేవీలను ఎంచుకుని, మీ డేటాను జోడించి, సంతకం చేసి, నెట్వర్క్లోని సహచరులకు మీ లావాదేవీని పంపండి. సిద్ధంగా ఉంది. దీన్ని చేయకుండా మిమ్మల్ని ఆపడానికి ఎవరూ లేరు, కాబట్టి మీ లావాదేవీ ఇప్పటికే లెడ్జర్లో ఉంది.
మధ్యవర్తులు లేకుండా లెడ్జర్కి లావాదేవీలను జోడించడానికి ఇది అత్యంత వికేంద్రీకరించబడిన, అత్యంత సెన్సార్షిప్ ప్రూఫ్ మార్గం. ఎందుకంటే ప్రతి ఒక్కరూ ఎవరి నుండి అనుమతి అడగకుండానే వారి లావాదేవీలను రిజిస్ట్రీకి జోడిస్తారు.
రిజిస్ట్రీల పరిణామంలో DAGలను మూడవ దశగా పరిగణించవచ్చు. మొదట కేంద్రీకృత రిజిస్ట్రీలు ఉన్నాయి, ఇక్కడ ఒక పార్టీ వాటికి ప్రాప్యతను నియంత్రిస్తుంది. అప్పుడు బ్లాక్చెయిన్లు వచ్చాయి, ఇది ఇప్పటికే లెడ్జర్లో లావాదేవీలను రికార్డ్ చేసిన అనేక కంట్రోలర్లను కలిగి ఉంది. చివరకు, DAGలో ఎటువంటి కంట్రోలర్లు లేవు; వినియోగదారులు వారి లావాదేవీలను నేరుగా జోడిస్తారు.
ఇప్పుడు మనకు ఈ స్వేచ్ఛ ఉంది, అది గందరగోళానికి దారితీయకూడదు. రిజిస్ట్రీ స్థితిపై మేము తప్పనిసరిగా ఒప్పందం కలిగి ఉండాలి. మరియు ఈ ఒప్పందం, లేదా ఏకాభిప్రాయం, సాధారణంగా రెండు విషయాలపై ఒప్పందం అని అర్థం:
- ఏం జరిగింది?
- ఇది ఏ క్రమంలో జరిగింది?
మేము మొదటి ప్రశ్నకు సులభంగా సమాధానం ఇవ్వగలము: సరిగ్గా సృష్టించబడిన లావాదేవీని లెడ్జర్కు జోడించిన తర్వాత, అది సంభవించింది. మరియు కాలం. దీని గురించిన సమాచారం వేర్వేరు సమయాల్లో పాల్గొనే వారందరికీ చేరవచ్చు, కానీ చివరికి అన్ని నోడ్లు ఈ లావాదేవీని స్వీకరిస్తాయి మరియు ఇది జరిగిందని తెలుసుకుంటారు.
ఇది బ్లాక్చెయిన్ అయితే, ఏమి జరుగుతుందో మైనర్లు నిర్ణయిస్తారు. మైనర్ ఏదైనా బ్లాక్లో చేర్చాలని నిర్ణయించుకుంటే అదే జరుగుతుంది. అతను బ్లాక్లో చేర్చనివన్నీ జరగవు.
బ్లాక్చెయిన్లలో, మైనర్లు ఏకాభిప్రాయం యొక్క రెండవ సమస్యను కూడా పరిష్కరిస్తారు: ఆర్డర్. వారు తమ ఇష్టానుసారం బ్లాక్లో లావాదేవీలను ఆర్డర్ చేయడానికి అనుమతించబడతారు.
DAGలో లావాదేవీల క్రమాన్ని ఎలా నిర్ణయించాలి?
మా గ్రాఫ్ దర్శకత్వం వహించినందున, మాకు ఇప్పటికే కొంత ఆర్డర్ ఉంది. ప్రతి లావాదేవీ ఒకటి లేదా అంతకంటే ఎక్కువ మునుపటి, పేరెంట్ వాటిని సూచిస్తుంది. తల్లిదండ్రులు, వారి తల్లిదండ్రులను సూచిస్తారు మరియు మొదలైనవి. పిల్లల లావాదేవీల ముందు తల్లిదండ్రులు స్పష్టంగా కనిపిస్తారు. పేరెంట్-చైల్డ్ లింక్ ట్రాన్సిషన్ల ద్వారా ఏదైనా లావాదేవీలను చేరుకోగలిగితే, ఆ లావాదేవీల గొలుసులోని లావాదేవీల మధ్య క్రమం ఖచ్చితంగా మాకు తెలుసు.
కానీ లావాదేవీల మధ్య క్రమాన్ని ఎల్లప్పుడూ గ్రాఫ్ ఆకారం నుండి మాత్రమే నిర్ణయించలేము. ఉదాహరణకు, రెండు లావాదేవీలు గ్రాఫ్ యొక్క సమాంతర శాఖలపై ఉన్నప్పుడు.
అటువంటి సందర్భాలలో అస్పష్టతను పరిష్కరించడానికి, మేము ఆర్డర్ ప్రొవైడర్లు అని పిలవబడే వారిపై ఆధారపడతాము. మేము వారిని "సాక్షులు" అని కూడా పిలుస్తాము. ఇవి సాధారణ వినియోగదారులు, దీని పని నిరంతరం నెట్వర్క్కు లావాదేవీలను క్రమ పద్ధతిలో పంపడం, అనగా. తద్వారా వారి మునుపటి లావాదేవీలలో ప్రతి ఒక్కటి పేరెంట్-చైల్డ్ లింక్ల ద్వారా పరివర్తనల ద్వారా చేరుకోవచ్చు. ఆర్డర్ ప్రొవైడర్లు విశ్వసనీయ వినియోగదారులు మరియు ఈ నియమాన్ని ఉల్లంఘించకుండా మొత్తం నెట్వర్క్ వారిపై ఆధారపడుతుంది. ఆ క్రమంలో హేతుబద్ధమైన వారిని విశ్వసించండి, ప్రతి ఆర్డర్ ప్రొవైడర్ తెలిసిన (అజ్ఞాతవాసి) వ్యక్తి లేదా సంస్థ అయి ఉండాలి మరియు విశ్వసనీయత ఆధారంగా కీర్తి లేదా వ్యాపారం వంటి నియమాలను ఉల్లంఘిస్తే ఏదైనా కోల్పోవాల్సి ఉంటుంది.
ఆర్డర్ ప్రొవైడర్లు వినియోగదారులచే ఎంపిక చేయబడతారు మరియు ప్రతి వినియోగదారు నెట్వర్క్కు పంపే ప్రతి లావాదేవీలో దాని విశ్వసనీయ ప్రొవైడర్ల జాబితాను కలిగి ఉంటారు. ఈ జాబితాలో 12 మంది ప్రొవైడర్లు ఉన్నారు. ఇది ఒక వ్యక్తికి ప్రతి ఒక్కరి గుర్తింపు మరియు కీర్తిని ధృవీకరించడానికి తగినంత చిన్న సంఖ్య, మరియు మైనారిటీ ఆర్డర్ ప్రొవైడర్లతో అనివార్యమైన సమస్యలు ఎదురైనప్పుడు నెట్వర్క్ పనిని కొనసాగించడాన్ని నిర్ధారించడానికి సరిపోతుంది.
ఈ ప్రొవైడర్ల జాబితా వినియోగదారుని బట్టి వినియోగదారుకు మారుతూ ఉంటుంది, అయితే పొరుగు లావాదేవీల జాబితాలు ఒక ప్రొవైడర్కు భిన్నంగా ఉండవచ్చు.
ఇప్పుడు మేము ఆర్డర్ ప్రొవైడర్లను కలిగి ఉన్నాము, మేము వారి లావాదేవీలను DAGగా వేరు చేయవచ్చు మరియు వారు సృష్టించిన ఆర్డర్ చుట్టూ అన్ని ఇతర లావాదేవీలను ఆర్డర్ చేయవచ్చు. అటువంటి అల్గోరిథం సృష్టించడం సాధ్యమే (చూడండి.
కానీ మొత్తం నెట్వర్క్ యొక్క క్రమాన్ని తక్షణమే నిర్ణయించడం సాధ్యం కాదు; గత లావాదేవీల తుది క్రమాన్ని ధృవీకరించడానికి ఆర్డర్ ప్రొవైడర్లు వారి లావాదేవీలను తగినంత సంఖ్యలో పంపడానికి మాకు సమయం కావాలి.
మరియు, ఆర్డర్ DAGలోని ప్రొవైడర్ల లావాదేవీల స్థానాల ద్వారా మాత్రమే నిర్ణయించబడుతుంది కాబట్టి, నెట్వర్క్లోని అన్ని నోడ్లు ముందుగానే లేదా తరువాత అన్ని లావాదేవీలను స్వీకరిస్తాయి మరియు లావాదేవీల క్రమానికి సంబంధించి అదే నిర్ధారణకు వస్తాయి.
కాబట్టి, మేము ఏమి జరిగిందని భావిస్తున్నాము అనే దానిపై మాకు ఒప్పందం ఉంది: DAGలో ముగిసే ఏదైనా లావాదేవీ జరిగింది. ఈవెంట్ల క్రమం గురించి కూడా మాకు ఒప్పందం ఉంది: ఇది లావాదేవీల సంబంధాల నుండి స్పష్టంగా కనిపిస్తుంది లేదా ఆర్డర్ ప్రొవైడర్లు పంపిన లావాదేవీల క్రమం నుండి ఊహించబడింది. కాబట్టి మాకు ఏకాభిప్రాయం ఉంది.
మేము Obyteలో ఈ ఏకాభిప్రాయ సంస్కరణను కలిగి ఉన్నాము. Obyte లెడ్జర్కు యాక్సెస్ పూర్తిగా వికేంద్రీకరించబడినప్పటికీ, లావాదేవీల క్రమానికి సంబంధించి ఏకాభిప్రాయం ఇప్పటికీ కేంద్రీకృతమై ఉంది ఎందుకంటే 10 ప్రొవైడర్లలో 12 మంది సృష్టికర్త (అంటోన్ చుర్యుమోవ్)చే నియంత్రించబడ్డారు మరియు వారిలో ఇద్దరు మాత్రమే స్వతంత్రులు. లెడ్జర్ యొక్క ఆర్డరింగ్ను వికేంద్రీకరించడంలో మాకు సహాయపడటానికి స్వతంత్ర ఆర్డర్ ప్రొవైడర్లలో ఒకరిగా మారడానికి సిద్ధంగా ఉన్న అభ్యర్థుల కోసం మేము వెతుకుతున్నాము.
ఇటీవల, మూడవ స్వతంత్ర అభ్యర్థి ఆర్డర్ ప్రొవైడర్ నోడ్ను ఇన్స్టాల్ చేయడానికి మరియు నిర్వహించడానికి సిద్ధంగా ఉన్నారు - యూనివర్సిటీ ఆఫ్ నికోసియా.
ఇప్పుడు మనం డబుల్ ఖర్చులను ఎలా నియంత్రించాలి?
నిబంధనల ప్రకారం, రెండు లావాదేవీలు ఒకే నాణెం ఖర్చు చేయడం కనుగొనబడితే, అన్ని లావాదేవీల చివరి క్రమంలో మొదట వచ్చే లావాదేవీ గెలుస్తుంది. రెండవది ఏకాభిప్రాయ అల్గారిథమ్ ద్వారా చెల్లదు.
ఒకే నాణెం (పేరెంట్-చైల్డ్ కనెక్షన్ల ద్వారా) ఖర్చు చేసే రెండు లావాదేవీల మధ్య క్రమాన్ని ఏర్పాటు చేయడం సాధ్యమైతే, అప్పుడు అన్ని నోడ్లు రెట్టింపు ఖర్చు చేసే ప్రయత్నాన్ని వెంటనే తిరస్కరించాయి.
అటువంటి రెండు లావాదేవీల మధ్య పేరెంట్ సంబంధాల నుండి ఆర్డర్ కనిపించకపోతే, అవి రెండూ లెడ్జర్లోకి అంగీకరించబడతాయి మరియు ఆర్డర్ ప్రొవైడర్లను ఉపయోగించి వాటి మధ్య ఏకాభిప్రాయం మరియు ఆర్డర్ ఏర్పాటు కోసం మేము వేచి ఉండాలి. అప్పుడు మునుపటి లావాదేవీ గెలుస్తుంది మరియు రెండవది చెల్లదు.
రెండవ లావాదేవీ చెల్లదు అయినప్పటికీ, ఇది రిజిస్ట్రీలో అలాగే ఉంది, ఎందుకంటే ఇది ఇప్పటికే తదుపరి లావాదేవీలను ప్రస్తావిస్తుంది, ఇది దేనినీ ఉల్లంఘించలేదు మరియు భవిష్యత్తులో ఈ లావాదేవీ చెల్లదు అని తెలియదు. లేకపోతే, మేము నెట్వర్క్ యొక్క ప్రధాన సూత్రాన్ని ఉల్లంఘించే మంచి తదుపరి లావాదేవీల తల్లిదండ్రులను తీసివేయవలసి ఉంటుంది - ఏదైనా సరైన లావాదేవీ లెడ్జర్లోకి అంగీకరించబడుతుంది.
ఇది చాలా ముఖ్యమైన నియమం, ఇది మొత్తం వ్యవస్థ సెన్సార్షిప్ ప్రయత్నాలకు నిరోధకతను కలిగి ఉంటుంది.
ఒక నిర్దిష్ట లావాదేవీని "సెన్సార్" చేసే ప్రయత్నంలో ఆర్డర్ ప్రొవైడర్లందరూ కుమ్మక్కయ్యారని ఊహించుకుందాం. వారు దానిని విస్మరించవచ్చు మరియు వారి లావాదేవీల కోసం దానిని "తల్లిదండ్రులు"గా ఎన్నటికీ ఎన్నుకోలేరు, కానీ అది సరిపోదు, లావాదేవీని నెట్వర్క్లోని ఏ యూజర్ అయినా సహకరించని వారు జారీ చేసిన ఇతర లావాదేవీల పేరెంట్గా పరోక్షంగా చేర్చవచ్చు. కాలక్రమేణా, అటువంటి లావాదేవీ స్నోబాల్ లాగా పెరుగుతూ సాధారణ వినియోగదారుల నుండి మరింత మంది పిల్లలు, మనవలు మరియు మనవరాళ్లను స్వీకరిస్తుంది మరియు అన్ని అంగీకరించిన ఆర్డర్ ప్రొవైడర్లు కూడా ఈ లావాదేవీలను విస్మరించవలసి ఉంటుంది. చివరికి, వారు మొత్తం నెట్వర్క్ను సెన్సార్ చేయవలసి ఉంటుంది, ఇది విధ్వంసానికి సమానం.
ఈ విధంగా, ఆర్డర్ ప్రొవైడర్ల మధ్య కుట్ర జరిగినప్పటికీ DAG సెన్సార్షిప్-నిరోధకతను కలిగి ఉంటుంది, తద్వారా సెన్సార్షిప్-నిరోధక బ్లాక్చెయిన్ను అధిగమిస్తుంది, దీనిలో మైనర్లు ఏదైనా లావాదేవీలను చేర్చకూడదని నిర్ణయించుకుంటే మనం ఏమీ చేయలేము. మరియు ఇది DAG యొక్క ప్రధాన ఆస్తి నుండి అనుసరిస్తుంది: రిజిస్ట్రీలో పాల్గొనడం పూర్తిగా స్వతంత్రంగా మరియు మధ్యవర్తులు లేకుండా, మరియు లావాదేవీలు తిరిగి పొందలేనివి.
మూలం: www.habr.com