వికేంద్రీకృత స్కూటర్ అద్దె కోసం సాఫ్ట్‌వేర్‌ను అభివృద్ధి చేయండి. ఇది సులభం అని ఎవరు చెప్పారు?

ఈ కథనంలో నేను స్మార్ట్ కాంట్రాక్టులపై వికేంద్రీకృత స్కూటర్ అద్దెను ఎలా నిర్మించడానికి ప్రయత్నించాము మరియు మాకు ఇప్పటికీ కేంద్రీకృత సేవ ఎందుకు అవసరమో దాని గురించి మాట్లాడుతాను.

వికేంద్రీకృత స్కూటర్ అద్దె కోసం సాఫ్ట్‌వేర్‌ను అభివృద్ధి చేయండి. ఇది సులభం అని ఎవరు చెప్పారు?

ఇది ఎలా మొదలైంది

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

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

క్రచెస్‌పై బ్లాక్‌చెయిన్

స్టేజ్‌పై చూపించాల్సిన ప్రాజెక్ట్‌కి మరియు నిజమైన వ్యక్తులు ఉపయోగించుకునే ప్రాజెక్ట్‌కి మధ్య తేడా ఏమిటో వివరించడం విలువైనదని నేను అనుకోను. ఆరు నెలల్లో మేము క్రూడ్ ప్రోటోటైప్‌ను పైలట్‌కు అనువైనదిగా మార్చవలసి వచ్చింది. ఆపై "నొప్పి" అంటే ఏమిటో మేము అర్థం చేసుకున్నాము.

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

వికేంద్రీకృత స్కూటర్ అద్దె కోసం సాఫ్ట్‌వేర్‌ను అభివృద్ధి చేయండి. ఇది సులభం అని ఎవరు చెప్పారు?

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

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

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

ఇవన్నీ మనల్ని ఈ వాస్తుకు దారితీస్తాయి. అంగీకరిస్తున్నాము, ఇది మేము ప్లాన్ చేసిన దాని నుండి చాలా భిన్నంగా ఉంటుంది.

వికేంద్రీకృత స్కూటర్ అద్దె కోసం సాఫ్ట్‌వేర్‌ను అభివృద్ధి చేయండి. ఇది సులభం అని ఎవరు చెప్పారు?

ఏస్ ఇన్ ది హోల్: స్వీయ సార్వభౌమ గుర్తింపు

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

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

పరికరం నాకు సమస్యలను ఇచ్చింది

గూఢ లిపి శాస్త్రంలో నైపుణ్యం మరియు చాలా సమయం అవసరం కాబట్టి మేము స్వీయ-సార్వభౌమ గుర్తింపును అమలు చేయలేదు. బదులుగా, మేము మా భాగస్వాములైన Jolocom యొక్క ఉత్పత్తిని సద్వినియోగం చేసుకున్నాము మరియు వారి మొబైల్ వాలెట్ మరియు సేవలను మా ప్లాట్‌ఫారమ్‌లో ఏకీకృతం చేసాము. దురదృష్టవశాత్తూ, ఈ ఉత్పత్తికి ఒక ముఖ్యమైన లోపం ఉంది: ప్రధాన అభివృద్ధి భాష Node.js.

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

ముగింపులో

అన్ని "నొప్పి" మరియు సమస్యలు ఉన్నప్పటికీ, ప్రాజెక్ట్ ప్రారంభించబడింది. మేము అనుకున్నట్లుగా ప్రతిదీ పని చేయలేదు, కానీ వాటిని అద్దెకు తీసుకొని స్కూటర్లను నడపడం నిజంగా సాధ్యమే.

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

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి