एथेरियम: अगली पीढ़ी का स्मार्ट कॉन्ट्रैक्ट और विकेंद्रीकृत एप्लिकेशन प्लेटफ़ॉर्म
Abstract
Ethereum एक अगली पीढ़ी का cryptocurrency और विकेन्द्रीकृत एप्लिकेशन प्लेटफॉर्म है जो एक अंतर्निहित Turing-complete प्रोग्रामिंग भाषा के साथ एक blockchain प्रस्तुत करता है। यह किसी को भी smart contracts और विकेन्द्रीकृत एप्लिकेशन लिखने की अनुमति देता है जहाँ वे स्वामित्व, लेनदेन प्रारूपों और state transition functions के लिए अपने मनमाने नियम बना सकते हैं।
Ethereum का मूलभूत नवाचार Bitcoin द्वारा अग्रणी blockchain तकनीक को एक सामान्य-उद्देश्य प्रोग्रामिंग वातावरण के साथ जोड़ना है। जबकि Bitcoin एक खाते से दूसरे खाते में मुद्रा स्थानांतरित करने के लिए एक सरल state transition system प्रदान करता है, Ethereum एक ऐसा प्लेटफॉर्म प्रदान करता है जहाँ डेवलपर्स वैकल्पिक मुद्राओं और वित्तीय उपकरणों से लेकर डोमेन पंजीकरण प्रणालियों और विकेन्द्रीकृत संगठनों तक, किसी भी प्रकार का विकेन्द्रीकृत एप्लिकेशन बना सकते हैं।
Ethereum यह मूलतः अंतिम अमूर्त आधारभूत परत बनाकर प्राप्त करता है: एक अंतर्निहित Turing-complete प्रोग्रामिंग भाषा वाला blockchain, जो किसी को भी smart contracts और विकेन्द्रीकृत एप्लिकेशन लिखने की अनुमति देता है जहाँ वे स्वामित्व, लेनदेन प्रारूपों और state transition functions के लिए अपने मनमाने नियम बना सकते हैं। Namecoin का एक न्यूनतम संस्करण कोड की दो पंक्तियों में लिखा जा सकता है, और मुद्राओं और प्रतिष्ठा प्रणालियों जैसे अन्य प्रोटोकॉल बीस से कम पंक्तियों में बनाए जा सकते हैं।
Introduction and Existing Concepts
विकेंद्रीकृत डिजिटल मुद्रा की अवधारणा, साथ ही संपत्ति रजिस्ट्री जैसे वैकल्पिक अनुप्रयोग, दशकों से अस्तित्व में रहे हैं। 1980 और 1990 के दशक के अनाम ई-कैश प्रोटोकॉल, जो मुख्य रूप से Chaumian blinding नामक एक क्रिप्टोग्राफिक प्रिमिटिव पर निर्भर थे, उच्च स्तर की गोपनीयता वाली मुद्रा प्रदान करते थे, लेकिन ये प्रोटोकॉल एक केंद्रीकृत मध्यस्थ पर निर्भरता के कारण लोकप्रिय नहीं हो पाए। 1998 में, Wei Dai की b-money कम्प्यूटेशनल पहेलियों को हल करके धन बनाने और विकेंद्रीकृत सहमति के विचार को पेश करने वाला पहला प्रस्ताव बना, लेकिन यह प्रस्ताव इस बारे में विवरण में कमी रखता था कि विकेंद्रीकृत सहमति वास्तव में कैसे लागू की जा सकती है।
2009 में, Satoshi Nakamoto द्वारा पहली बार एक विकेंद्रीकृत मुद्रा को व्यवहार में लागू किया गया, जिसमें public key cryptography के माध्यम से स्वामित्व प्रबंधन के लिए स्थापित प्रिमिटिव को "proof of work" नामक एक सहमति एल्गोरिदम के साथ जोड़ा गया। Proof of work के पीछे की प्रणाली इस क्षेत्र में एक सफलता थी क्योंकि इसने एक साथ दो समस्याओं को हल किया। पहला, इसने एक सरल और मध्यम रूप से प्रभावी सहमति एल्गोरिदम प्रदान किया, जो नेटवर्क में नोड्स को Bitcoin लेजर की स्थिति के अपडेट पर सामूहिक रूप से सहमत होने की अनुमति देता था। दूसरा, इसने सहमति प्रक्रिया में मुक्त प्रवेश की अनुमति देने का एक तंत्र प्रदान किया, यह तय करने की राजनीतिक समस्या को हल करते हुए कि सहमति को कौन प्रभावित करता है, साथ ही sybil attacks को रोकते हुए।
Bitcoin blockchain अपने संचालन के वर्षों में उल्लेखनीय रूप से मजबूत साबित हुआ है, लेकिन यह स्वाभाविक रूप से सीमित है। Bitcoin की स्क्रिप्टिंग भाषा जानबूझकर प्रतिबंधात्मक और गैर-Turing-complete होने के लिए डिज़ाइन की गई है, जिसमें लूप और कई अन्य सुविधाओं की कमी है जो अधिक जटिल अनुप्रयोग बनाने के लिए आवश्यक होंगी। यह सीमा अनंत लूप और अन्य प्रकार के कम्प्यूटेशनल हमलों को रोकने के लिए मौजूद है, लेकिन यह Bitcoin के ऊपर क्या बनाया जा सकता है, इसे गंभीर रूप से प्रतिबंधित करती है।
पिछले पांच वर्षों में, Bitcoin की कार्यक्षमता का विस्तार करने के कई प्रयास हुए हैं। Colored coins ने वैकल्पिक संपत्तियों के स्वामित्व को ट्रैक करने के लिए Bitcoin blockchain का उपयोग करने की कोशिश की, Namecoin ने एक विकेंद्रीकृत नाम पंजीकरण डेटाबेस बनाने का प्रयास किया, और विभिन्न metacoin प्रोटोकॉल ने Bitcoin के ऊपर अतिरिक्त परतें बनाने का लक्ष्य रखा। हालांकि इन दृष्टिकोणों ने वादा दिखाया, वे अंततः Bitcoin की स्क्रिप्टिंग क्षमताओं और स्क्रिप्ट के भीतर से blockchain डेटा तक पहुंचने में असमर्थता से सीमित थे।
Ethereum जो प्रदान करना चाहता है वह एक अंतर्निहित पूर्ण रूप से विकसित Turing-complete प्रोग्रामिंग भाषा वाला blockchain है जिसका उपयोग "contracts" बनाने के लिए किया जा सकता है जो मनमाने state transition functions को एन्कोड कर सकते हैं, जिससे उपयोगकर्ता ऊपर वर्णित किसी भी प्रणाली को, साथ ही कई अन्य जिनकी हमने अभी तक कल्पना नहीं की है, बस कुछ पंक्तियों के कोड में तर्क लिखकर बना सकते हैं।
Bitcoin As A State Transition System
तकनीकी दृष्टिकोण से, Bitcoin जैसी cryptocurrency का लेजर एक state transition system के रूप में सोचा जा सकता है, जहां एक "state" होता है जिसमें सभी मौजूदा bitcoins की स्वामित्व स्थिति होती है और एक "state transition function" होता है जो एक state और एक transaction लेता है और एक नया state आउटपुट करता है जो परिणाम है। एक मानक बैंकिंग प्रणाली में, उदाहरण के लिए, state एक बैलेंस शीट है, transaction A से B को \(X स्थानांतरित करने का अनुरोध है, और state transition function A के खाते में मूल्य को \)X से कम करता है और B के खाते में मूल्य को \(X से बढ़ाता है। यदि A के खाते में पहले से \)X से कम है, तो state transition function एक त्रुटि लौटाता है।

Bitcoin में "state" सभी coins (तकनीकी रूप से, "unspent transaction outputs" या UTXO) का संग्रह है जो बनाए गए हैं और अभी तक खर्च नहीं किए गए हैं, जिसमें प्रत्येक UTXO का एक मूल्यवर्ग और एक स्वामी होता है (जो एक 20-byte address द्वारा परिभाषित होता है जो अनिवार्य रूप से एक cryptographic public key है)। एक transaction में एक या अधिक inputs होते हैं, जिसमें प्रत्येक input में एक मौजूदा UTXO का संदर्भ और स्वामी के address से जुड़ी private key द्वारा उत्पादित एक cryptographic signature होती है, और एक या अधिक outputs होते हैं, जिसमें प्रत्येक output में state में जोड़ा जाने वाला एक नया UTXO होता है।
State transition function APPLY(S,TX) - S' को मोटे तौर पर निम्नानुसार परिभाषित किया जा सकता है:
- TX में प्रत्येक input के लिए, यदि संदर्भित UTXO S में नहीं है, तो त्रुटि लौटाएं।
- यदि प्रदान की गई signature UTXO के स्वामी से मेल नहीं खाती, तो त्रुटि लौटाएं।
- यदि सभी input UTXO के मूल्यवर्गों का योग सभी output UTXO के मूल्यवर्गों के योग से कम है, तो त्रुटि लौटाएं।
- सभी input UTXO हटाए गए और सभी output UTXO जोड़े गए S लौटाएं।
पहले चरण का पहला भाग transaction भेजने वालों को उन coins को खर्च करने से रोकता है जो मौजूद नहीं हैं, पहले चरण का दूसरा भाग transaction भेजने वालों को अन्य लोगों के coins खर्च करने से रोकता है, और दूसरा चरण मूल्य के संरक्षण को लागू करता है। भुगतान के लिए इसका उपयोग करने के लिए, प्रोटोकॉल इस प्रकार है: मान लीजिए Alice Bob को 11.7 BTC भेजना चाहती है। सबसे पहले, Alice उपलब्ध UTXO का एक सेट खोजेगी जो वह रखती है जो कम से कम 11.7 BTC का कुल योग है। वास्तव में, Alice को ठीक 11.7 BTC नहीं मिल पाएगा; मान लें कि सबसे छोटा जो वह प्राप्त कर सकती है वह 6+4+2=12 है। फिर वह उन तीन inputs और दो outputs के साथ एक transaction बनाती है। पहला output 11.7 BTC होगा जिसका स्वामी Bob का address होगा, और दूसरा output शेष 0.3 BTC "change" होगा, जिसका स्वामी स्वयं Alice होगी।
Mining
यदि हमारे पास एक विश्वसनीय केंद्रीकृत सेवा तक पहुंच होती, तो इस प्रणाली को लागू करना सरल होता; इसे ठीक वैसे ही कोड किया जा सकता था जैसा वर्णित है, state का ट्रैक रखने के लिए एक केंद्रीकृत सर्वर की हार्ड ड्राइव का उपयोग करते हुए। हालांकि, Bitcoin के साथ हम एक विकेंद्रीकृत मुद्रा प्रणाली बनाने की कोशिश कर रहे हैं, इसलिए हमें state transaction system को एक consensus system के साथ जोड़ना होगा ताकि यह सुनिश्चित किया जा सके कि हर कोई transactions के क्रम पर सहमत हो। Bitcoin की विकेंद्रीकृत consensus प्रक्रिया के लिए नेटवर्क में नोड्स को लगातार transactions के पैकेज बनाने का प्रयास करने की आवश्यकता होती है जिन्हें "blocks" कहा जाता है। नेटवर्क का उद्देश्य लगभग हर दस मिनट में एक block का उत्पादन करना है, जिसमें प्रत्येक block में एक timestamp, एक nonce, पिछले block का संदर्भ (अर्थात hash), और पिछले block के बाद से हुए सभी transactions की सूची होती है।

समय के साथ, यह एक स्थायी, लगातार बढ़ता हुआ "blockchain" बनाता है जो Bitcoin लेजर की नवीनतम स्थिति का प्रतिनिधित्व करने के लिए लगातार अपडेट होता रहता है। यह जांचने का एल्गोरिदम कि क्या कोई block वैध है, इस प्रतिमान में निम्नानुसार है:
- जांचें कि block द्वारा संदर्भित पिछला block मौजूद है और वैध है।
- जांचें कि block का timestamp पिछले block के timestamp से अधिक है और भविष्य में 2 घंटे से कम है।
- जांचें कि block पर proof of work वैध है।
- मान लें S पिछले block के अंत में state है।
- मान लें TX block की transaction सूची है जिसमें n transactions हैं। 0...n-1 में सभी i के लिए, S = APPLY(S,TX[i]) सेट करें। यदि कोई भी अनुप्रयोग त्रुटि लौटाता है, बाहर निकलें और false लौटाएं।
- true लौटाएं, और S को इस block के अंत में state के रूप में पंजीकृत करें।
अनिवार्य रूप से, block में प्रत्येक transaction को एक वैध state transition प्रदान करना चाहिए उस state से जो transaction निष्पादित होने से पहले canonical state था किसी नए state तक। ध्यान दें कि state किसी भी तरह से block में एन्कोड नहीं है; यह पूरी तरह से एक अमूर्तता है जिसे validating node द्वारा याद रखा जाता है और किसी भी block के लिए केवल genesis state से शुरू करके और प्रत्येक block में प्रत्येक transaction को क्रमिक रूप से लागू करके (सुरक्षित रूप से) गणना की जा सकती है।
Miner को उनके कम्प्यूटेशनल कार्य के लिए नव-निर्मित bitcoins और transaction fees के साथ पुरस्कृत किया जाता है। Mining प्रक्रिया इस प्रकार काम करती है: miners block header लेते हैं और अलग-अलग nonce मूल्यों के साथ बार-बार hash करते हैं जब तक उन्हें एक hash नहीं मिल जाता जो एक निश्चित difficulty target से नीचे हो। जब कोई miner ऐसा hash पाता है, तो वे block को नेटवर्क में प्रसारित करते हैं, और अन्य नोड्स सत्यापित करते हैं कि hash वैध है और block में सभी transactions वैध हैं। Difficulty target को प्रोटोकॉल द्वारा प्रत्येक 2016 blocks (लगभग दो सप्ताह) में स्वचालित रूप से समायोजित किया जाता है ताकि blocks लगभग स्थिर दर पर उत्पादित हों।
ध्यान दें कि दीर्घकाल में, blockchain की सुरक्षा miners के ईमानदारी से व्यवहार करने के वित्तीय प्रोत्साहन पर निर्भर करती है। यदि कोई हमलावर नेटवर्क की mining शक्ति के 50% से अधिक को नियंत्रित करता है, तो वे संभावित रूप से एक वैकल्पिक blockchain बनाकर "51% attack" कर सकते हैं जो ईमानदार chain से तेजी से बढ़ती है। हालांकि, ऐसे हमले के लिए भारी कम्प्यूटेशनल संसाधनों की आवश्यकता होगी और संभवतः हमलावर के mining पुरस्कार बेकार हो जाएंगे क्योंकि नेटवर्क blockchain की अखंडता में विश्वास खो देगा।
Merkle Trees
Merkle trees एक मौलिक डेटा संरचना है जो Bitcoin blocks में transaction समावेश के कुशल और सुरक्षित सत्यापन को सक्षम करने के लिए उपयोग की जाती है। Merkle tree hashes का एक बाइनरी ट्री है जहां leaf nodes में व्यक्तिगत transactions के hash होते हैं, और प्रत्येक interior node में उसके दो बच्चों का hash होता है, जो पुनरावर्ती रूप से एक एकल root hash तक बनता है जो block header में संग्रहीत होता है। यह श्रेणीबद्ध संरचना किसी को भी यह सत्यापित करने की अनुमति देती है कि एक विशिष्ट transaction एक block में शामिल है, केवल Merkle branch डाउनलोड करके—transaction से root तक hashes की श्रृंखला—block में सभी transactions डाउनलोड करने के बजाय।

दक्षता लाभ पर्याप्त हैं: जबकि एक पूर्ण Bitcoin node को संपूर्ण blockchain (2013 तक लगभग 15GB) संग्रहीत करना चाहिए, एक simplified payment verification (SPV) node को केवल Merkle roots वाले block headers डाउनलोड करने की आवश्यकता होती है, जिसके लिए केवल 4MB डेटा की आवश्यकता होती है। किसी transaction को सत्यापित करने के लिए, एक SPV node पूर्ण nodes से Merkle branch का अनुरोध करता है, जिसके लिए केवल O(log n) डेटा की आवश्यकता होती है जहां n block में transactions की संख्या है। यह logarithmic scaling मोबाइल उपकरणों और कम-संसाधन वातावरण पर लाइटवेट क्लाइंट चलाना संभव बनाती है।
Bitcoin का Merkle trees का उपयोग एक प्रमुख सिद्धांत को प्रदर्शित करता है: cryptographic संरचनाएं एक विकेंद्रीकृत नेटवर्क में भाग लेने के लिए विश्वास और संसाधन आवश्यकताओं को नाटकीय रूप से कम कर सकती हैं। यही सिद्धांत Ethereum के डिज़ाइन का आधार है, जहां Merkle trees का उपयोग न केवल transactions के लिए बल्कि state और receipt storage के लिए भी किया जाता है, जो और भी अधिक परिष्कृत light client प्रोटोकॉल को सक्षम करता है।
Alternative Blockchain Applications
Bitcoin के blockchain की सफलता ने अवधारणा को सरल मुद्रा से परे विस्तारित करने के कई प्रयासों को प्रेरित किया। Namecoin, 2010 में लॉन्च किया गया, सबसे शुरुआती उदाहरणों में से एक था—एक blockchain पर निर्मित विकेंद्रीकृत नाम पंजीकरण डेटाबेस, जो उपयोगकर्ताओं को एक वितरित namespace में नाम पंजीकृत करने की अनुमति देता था जिसे कोई केंद्रीय प्राधिकरण सेंसर या रद्द नहीं कर सकता था। Colored coins Bitcoin blockchain पर वैकल्पिक संपत्तियों का प्रतिनिधित्व करने के एक तरीके के रूप में उभरे, विशिष्ट transaction outputs को "टैग" करके वास्तविक-दुनिया की संपत्तियों, कंपनी शेयरों, या अन्य cryptocurrencies के स्वामित्व का प्रतिनिधित्व करते हुए। Metacoins और meta-protocols जैसे Mastercoin (बाद में Omni) ने Bitcoin transactions में अतिरिक्त डेटा एन्कोड करके और उसके ऊपर अलग प्रोटोकॉल नियम बनाकर Bitcoin के ऊपर अतिरिक्त कार्यक्षमता जोड़ी।
हालांकि, ये सभी दृष्टिकोण Bitcoin की वास्तुकला द्वारा लगाई गई मौलिक सीमाओं से ग्रस्त थे। Bitcoin स्क्रिप्टिंग भाषा जानबूझकर प्रतिबंधित है—यह blockchain state तक नहीं पहुंच सकती, लूप और जटिल control flow की कमी है, और transaction मूल्यों में सीमित introspection प्रदान करती है। परिष्कृत अनुप्रयोग बनाने के लिए अजीब समाधानों की आवश्यकता होती थी: metadata को transaction fields में एन्कोड करना जो उस उद्देश्य के लिए कभी नहीं बने थे, जटिल तर्क के लिए off-chain infrastructure पर निर्भर रहना, या प्रोटोकॉल क्या कर सकता है इसकी गंभीर सीमाओं को स्वीकार करना।
इन बाधाओं ने एक अधिक सामान्य-उद्देश्य blockchain प्लेटफॉर्म की खोज को प्रेरित किया। Bitcoin की सीमित नींव के ऊपर एक और विशेष-उद्देश्य प्रोटोकॉल बनाने के बजाय, Ethereum एक अलग दृष्टिकोण अपनाता है: एक अंतर्निहित Turing-complete प्रोग्रामिंग भाषा वाला blockchain प्रदान करना, जो किसी को भी smart contracts और विकेंद्रीकृत अनुप्रयोग लिखने की अनुमति देता है जिसमें स्वामित्व, transaction प्रारूपों, और state transition functions के लिए मनमाने नियम हों।
Scripting
Bitcoin Script, Bitcoin transactions के लिए खर्च शर्तों को परिभाषित करने के लिए उपयोग की जाने वाली भाषा, जानबूझकर गंभीर सीमाओं के साथ डिज़ाइन की गई है। यह Turing-complete नहीं है—विशेष रूप से, इसमें लूप और जटिल control flow संरचनाओं की कमी है। भाषा एक सरल stack-based execution environment के रूप में काम करती है जहां ऑपरेशन मूल्यों को push और pop करते हैं, cryptographic शर्तों का मूल्यांकन करते हैं, और अंततः यह निर्धारित करने के लिए true या false लौटाते हैं कि कोई transaction वैध है या नहीं। हालांकि यह सरलता सुरक्षा लाभ प्रदान करती है और औपचारिक विश्लेषण को आसान बनाती है, यह कई प्रकार के अनुप्रयोगों को लागू करना असंभव भी बनाती है।
ये सीमाएं तीन मुख्य श्रेणियों में आती हैं। पहला, Turing-completeness की कमी जटिल state machines, decision trees, या पुनरावृत्ति की आवश्यकता वाले किसी भी एल्गोरिदम को लागू करने से रोकती है। दूसरा, value-blindness का मतलब है कि स्क्रिप्ट निकासी राशि पर सूक्ष्म नियंत्रण निर्दिष्ट नहीं कर सकती—एक UTXO केवल अपनी संपूर्णता में खर्च किया जा सकता है, शेष राशि एक नए output को भेजी जाती है। एक स्क्रिप्ट, उदाहरण के लिए, प्रति दिन अधिकतम X तक निकासी को सीमित नहीं कर सकती जबकि शेष राशि लॉक रहे। तीसरा, blockchain state जागरूकता की कमी का मतलब है कि UTXO या तो खर्च किए गए हैं या नहीं किए गए हैं बिना किसी मध्यवर्ती स्थिति के, जो बहु-चरण contracts को पूरी तरह से on-chain लागू करना असंभव बनाती है।
ये बाधाएं decentralized autonomous organizations, निकासी सीमाओं वाले बचत वॉलेट, विकेंद्रीकृत एक्सचेंज, या prediction markets जैसे परिष्कृत अनुप्रयोगों को या तो असंभव बनाती हैं या अजीब off-chain तंत्रों की आवश्यकता होती है। एक उन्नत वित्तीय contract को बाजार डेटा तक पहुंच, कई transactions में आंतरिक state बनाए रखने की क्षमता, और जटिल सशर्त तर्क की आवश्यकता हो सकती है—जिनमें से कोई भी Bitcoin Script प्रदान नहीं कर सकती। Ethereum blockchain state तक पूर्ण पहुंच के साथ एक Turing-complete भाषा प्रदान करके इन सीमाओं को हटाता है।
Ethereum
Ethereum का मौलिक लक्ष्य एक अंतर्निहित Turing-complete प्रोग्रामिंग भाषा वाला blockchain प्रदान करना है जो किसी को भी smart contracts और विकेंद्रीकृत अनुप्रयोग लिखने की अनुमति देता है जहां वे स्वामित्व, transaction प्रारूपों, और state transition functions के लिए अपने स्वयं के मनमाने नियम बना सकते हैं। विशिष्ट अनुप्रयोगों जैसे मुद्रा, नाम पंजीकरण, या संपत्ति व्यापार के लिए एक प्रोटोकॉल डिज़ाइन करने के बजाय, Ethereum एक आधारभूत परत प्रदान करता है—एक blockchain-आधारित वितरित कंप्यूटिंग प्लेटफॉर्म जिसका उपयोग डेवलपर्स किसी भी अनुप्रयोग को बनाने के लिए कर सकते हैं जिसकी वे कल्पना कर सकते हैं।
वास्तुकला Bitcoin के UTXO मॉडल से मौलिक रूप से भिन्न है। Ethereum एक account-based system का उपयोग करता है जहां blockchain state addresses से account objects तक एक mapping से मिलकर बना होता है। प्रत्येक account में एक balance, एक transaction counter (nonce), और contract accounts के लिए, संबंधित code और storage होता है। प्लेटफॉर्म में contract code लिखने के लिए एक अंतर्निहित Turing-complete प्रोग्रामिंग भाषा शामिल है जो Ethereum Virtual Machine (EVM) में निष्पादित होती है, एक stack-based execution environment जो transactions और state transitions को प्रोसेस करता है।
यह सामान्यता अनुप्रयोगों की एक विशाल श्रेणी को सक्षम करती है: कस्टम जारी करने के नियमों वाली वैकल्पिक cryptocurrencies, वित्तीय derivatives और stablecoins, पहचान और प्रतिष्ठा प्रणालियां, विकेंद्रीकृत फ़ाइल स्टोरेज, decentralized autonomous organizations (DAOs), और बहुत कुछ। Whitepaper इस बात पर जोर देता है कि Ethereum किसी विशेष उपयोग के मामले के लिए अनुकूलित नहीं है बल्कि मौलिक बिल्डिंग ब्लॉक प्रदान करता है—accounts, transactions, एक Turing-complete भाषा, और gas-metered execution—जिन्हें डेवलपर्स जो भी अनुप्रयोग पारिस्थितिकी तंत्र की मांग करता है उसे बनाने के लिए जोड़ सकते हैं।
Ethereum Accounts
Ethereum में, state accounts से बना है, और दो मौलिक प्रकार हैं। Externally owned accounts (EOAs) private keys द्वारा नियंत्रित होते हैं और उनके पास कोई संबंधित code नहीं होता—वे blockchain के साथ बातचीत करने वाले मानव उपयोगकर्ताओं या बाहरी संस्थाओं का प्रतिनिधित्व करते हैं। Contract accounts उनके contract code द्वारा नियंत्रित होते हैं और जब वे कोई message या transaction प्राप्त करते हैं तब सक्रिय होते हैं। दोनों प्रकार एक सामान्य संरचना साझा करते हैं: प्रत्येक account में एक nonce (यह सुनिश्चित करने के लिए उपयोग किया जाने वाला काउंटर कि प्रत्येक transaction केवल एक बार प्रोसेस किया जा सके), एक ether balance, और contracts के लिए विशेष रूप से, contract code और स्थायी storage होता है।
Ether Ethereum की प्राथमिक आंतरिक cryptocurrency है, जो मूल्य हस्तांतरण के माध्यम और transaction fees (gas) का भुगतान करने की मौलिक इकाई दोनों के रूप में कार्य करती है। Bitcoin के UTXO मॉडल के विपरीत जहां मूल्य कई unspent outputs में वितरित होता है, Ethereum accounts एक सरल balance बनाए रखते हैं जो ether प्राप्त करने पर बढ़ता है और भेजने पर घटता है। यह account-based मॉडल कई प्रकार के अनुप्रयोगों को सरल बनाता है, विशेष रूप से जिन्हें स्थायी state या जटिल access control की आवश्यकता होती है, हालांकि यह Bitcoin के दृष्टिकोण की तुलना में अलग सुरक्षा विचार प्रस्तुत करता है।
EOAs और contract accounts के बीच का अंतर Ethereum के संचालन को समझने के लिए महत्वपूर्ण है। EOAs अपनी private keys के साथ messages बनाकर और हस्ताक्षर करके transactions शुरू कर सकते हैं, उनके transactions को blocks में शामिल करने के लिए gas fees का भुगतान करते हैं। Contract accounts स्वयं transactions शुरू नहीं कर सकते लेकिन किसी transaction या message प्राप्त करने के जवाब में अन्य contracts को messages भेज सकते हैं, जो निष्पादन की जटिल श्रृंखलाओं को सक्षम करते हैं जहां एक बाहरी transaction कई contract-to-contract interactions को ट्रिगर करता है।
Messages and Transactions
Ethereum में transactions externally owned accounts द्वारा बनाए गए और नेटवर्क में प्रसारित किए गए हस्ताक्षरित डेटा पैकेज हैं। एक transaction में प्राप्तकर्ता address, भेजने वाले की पहचान साबित करने वाला एक cryptographic signature, स्थानांतरित करने के लिए ether की मात्रा, एक वैकल्पिक data field (contracts के साथ बातचीत के लिए महत्वपूर्ण), STARTGAS (transaction को लेने की अनुमत अधिकतम कम्प्यूटेशनल चरणों की संख्या), और GASPRICE (प्रति कम्प्यूटेशनल चरण भेजने वाला जो शुल्क देने को तैयार है) होता है। Miners इन transactions को एकत्र करते हैं, उन्हें मान्य करते हैं, निष्पादित करते हैं, और blocks में शामिल करते हैं, मुआवजे के रूप में gas fees प्राप्त करते हैं।
Messages अवधारणात्मक रूप से transactions के समान हैं लेकिन बाहरी अभिनेताओं के बजाय contracts द्वारा उत्पादित होते हैं। जब किसी contract का code निष्पादित होता है, तो यह अन्य contracts को messages भेज सकता है—इन आंतरिक messages में भेजने वाला (contract address), प्राप्तकर्ता, स्थानांतरित करने के लिए ether की मात्रा, एक वैकल्पिक data payload, और एक STARTGAS सीमा होती है। Messages contract-to-contract संचार को सक्षम करते हैं, जो जटिल अनुप्रयोगों को मोनोलिथिक कार्यक्रमों के बजाय कई परस्पर क्रिया करने वाले contracts से बनाने की अनुमति देते हैं।
Gas तंत्र दुरुपयोग रोकने के लिए महत्वपूर्ण है: एक transaction में प्रत्येक कम्प्यूटेशनल चरण, storage ऑपरेशन, और data byte gas की खपत करता है। यदि कोई transaction पूरा होने से पहले gas समाप्त हो जाता है, तो सभी state परिवर्तन वापस कर दिए जाते हैं (miner को gas भुगतान को छोड़कर), जो अनंत लूप या अत्यधिक computation को नेटवर्क को रोकने से बचाता है। भेजने वाला कुल gas बजट (STARTGAS) और प्रति इकाई जो कीमत वे भुगतान करने को तैयार हैं (GASPRICE) दोनों निर्दिष्ट करता है, और निष्पादन पूरा होने के बाद कोई भी अप्रयुक्त gas वापस कर दिया जाता है।
Ethereum State Transition Function
Ethereum state transition function APPLY(S,TX) - S' परिभाषित करता है कि कैसे एक transaction blockchain state को रूपांतरित करता है, और यह चरणों के एक सटीक अनुक्रम का पालन करता है। सबसे पहले, सिस्टम transaction की वैधता की जांच करता है: signature सही है यह सत्यापित करना, nonce भेजने वाले के account nonce से मेल खाता है यह पुष्टि करना, और भेजने वाले के पास अग्रिम लागत (STARTGAS x GASPRICE और भेजा जा रहा मूल्य) का भुगतान करने के लिए पर्याप्त balance है यह सुनिश्चित करना। यदि कोई भी जांच विफल होती है, तो transaction निष्पादन शुरू होने से पहले अस्वीकार कर दिया जाता है। यदि वैध है, तो transaction शुल्क भेजने वाले के account से काट लिया जाता है, भेजने वाले का nonce बढ़ाया जाता है, और एक प्रारंभिक gas counter STARTGAS माइनस transaction data के लिए प्रति-byte शुल्क पर सेट किया जाता है।

इसके बाद, सिस्टम निर्दिष्ट ether मूल्य को भेजने वाले से प्राप्तकर्ता को स्थानांतरित करता है। यदि प्राप्तकर्ता एक externally owned account है, तो यह transaction को पूरा करता है। यदि प्राप्तकर्ता एक contract account है, तो contract का code Ethereum Virtual Machine में चलता है, प्रत्येक ऑपरेशन के लिए gas की खपत करते हुए जब तक या तो code सफलतापूर्वक पूरा नहीं हो जाता, code स्पष्ट रूप से रुक नहीं जाता, या gas समाप्त नहीं हो जाता। निष्पादन के दौरान, contract अपने storage को पढ़ और संशोधित कर सकता है, अन्य contracts को messages भेज सकता है, और नए contracts बना सकता है।
अंत में, यदि मूल्य स्थानांतरण विफल हो जाता है (अपर्याप्त balance) या code निष्पादन विफल हो जाता है (gas समाप्त होना या किसी त्रुटि से टकराना), तो सभी state परिवर्तन वापस कर दिए जाते हैं—सिवाय इसके कि भेजने वाला अभी भी किए गए computation के लिए miner को gas fees का भुगतान करता है। यदि निष्पादन सफल रहा, तो शेष gas भेजने वाले को वापस कर दिया जाता है, और जो gas खपत किया गया वह miner को शुल्क के रूप में भेजा जाता है। यह तंत्र सुनिश्चित करता है कि miners को computation के लिए मुआवजा दिया जाए जबकि भगोड़ा निष्पादन असीमित संसाधनों की खपत करने से रोका जाए।
Code Execution
Ethereum Virtual Machine (EVM) वह runtime environment है जहां contract code निष्पादित होता है—एक low-level, stack-based virtual machine जो अवधारणा में Java Virtual Machine या WebAssembly के समान है। Contract code bytes के एक अनुक्रम के रूप में संग्रहीत होता है, जहां प्रत्येक byte एक ऑपरेशन (opcode) का प्रतिनिधित्व करता है जिसे EVM निष्पादित कर सकता है। निष्पादन मॉडल जानबूझकर सरल और deterministic है: समान input state और transaction के साथ EVM चलाने वाले प्रत्येक node को समान output state पर पहुंचना चाहिए, जो नेटवर्क में consensus सुनिश्चित करता है।
EVM computation के लिए तीन अलग-अलग प्रकार के storage प्रदान करता है। Stack एक last-in-first-out (LIFO) संरचना है जो 1024 तत्वों तक सीमित है, तत्काल ऑपरेशन मूल्यों के लिए उपयोग की जाती है। Memory एक अनंत रूप से विस्तारणीय byte array है जो केवल एक message call की अवधि के लिए बनी रहती है और executions के बीच reset हो जाती है। Storage प्रत्येक contract account से स्थायी रूप से जुड़ा हुआ persistent key-value store है, जहां contracts transactions के पार अपनी दीर्घकालिक state बनाए रखते हैं। इन storage प्रकारों की gas में अलग-अलग कीमत होती है—stack और memory ऑपरेशन सस्ते हैं, जबकि storage ऑपरेशन blockchain bloat को रोकने के लिए महंगे हैं।
निष्पादन के दौरान, contract code के पास महत्वपूर्ण संदर्भ तक पहुंच होती है: यह message भेजने वाले का address, भेजी गई ether की मात्रा, कॉलर द्वारा प्रदान किया गया data payload, और block-level गुण जैसे वर्तमान block number, timestamp, और miner address पढ़ सकता है। Code कॉलर को एक output byte array लौटा सकता है और अन्य contracts को messages भेज सकता है या नए contracts बना सकता है। यह निष्पादन मॉडल Turing-complete है—लूप और जटिल control flow संभव हैं—लेकिन gas तंत्र सुनिश्चित करता है कि सभी computation सीमित समय में समाप्त हो, भाषा प्रतिबंधों के बजाय आर्थिक रूप से halting problem को हल करते हुए।
Blockchain and Mining
Ethereum blockchain मौलिक रूप से Bitcoin के समान है, जो कभी निष्पादित हुए प्रत्येक transaction को रखने वाले डेटाबेस के रूप में कार्य करता है। हालांकि, जबकि Bitcoin केवल एक transaction सूची संग्रहीत करता है, Ethereum transaction सूची और सबसे हालिया state दोनों को संग्रहीत करता है। Ethereum में प्रत्येक block में पिछले block का hash, एक state root (संपूर्ण state का प्रतिनिधित्व करने वाले Merkle Patricia trie का root hash), एक transaction root, एक receipt root (transaction निष्पादन से डेटा संग्रहीत करने वाला), difficulty, timestamp, और nonce मान होते हैं। State स्वयं एक बड़ा Merkle Patricia trie है जो addresses को account objects से मैप करता है, जहां प्रत्येक account में balance, nonce, code (यदि मौजूद हो), और storage होता है।

Ethereum तेज block समय से उत्पन्न होने वाली सुरक्षा समस्याओं को संबोधित करने के लिए GHOST (Greedy Heaviest Observed Subtree) प्रोटोकॉल के एक संशोधित संस्करण का उपयोग करता है। पारंपरिक longest-chain प्रोटोकॉल में, तेज blocks उच्च stale दरों की ओर ले जाते हैं, जो नेटवर्क सुरक्षा को कम करते हैं और केंद्रीकरण जोखिम बढ़ाते हैं क्योंकि बड़े miners stales पर कम computation बर्बाद करते हैं। GHOST stale blocks (Ethereum में "uncles" कहे जाते हैं) को सबसे लंबी chain की गणना में शामिल करता है, और uncle blocks को आंशिक पुरस्कार प्रदान करता है, miners को उन्हें संदर्भित करने के लिए प्रोत्साहित करता है। यह Ethereum को नेटवर्क सुरक्षा बनाए रखते हुए लगभग 12 सेकंड का लक्ष्य block समय बनाए रखने की अनुमति देता है।
Mining एल्गोरिदम Bitcoin के proof-of-work के समान काम करता है, miners को एक nonce खोजने की आवश्यकता होती है ताकि block का hash एक निश्चित difficulty target से नीचे हो। हालांकि, Ethereum का memory-hard mining एल्गोरिदम (Ethash) ASIC-resistant होने के लिए डिज़ाइन किया गया है, जो एक अधिक विकेंद्रीकृत mining पारिस्थितिकी तंत्र को बढ़ावा देता है। Difficulty block समय के आधार पर गतिशील रूप से समायोजित होती है ताकि ~12 सेकंड का लक्ष्य बनाए रखा जा सके, जो Bitcoin के 10-मिनट के औसत की तुलना में तेज block समय के बावजूद GHOST प्रोटोकॉल सुरक्षा गारंटी प्रदान करते हुए सुसंगत block उत्पादन सुनिश्चित करता है।
Applications
Ethereum पर बनाए जा सकने वाले अनुप्रयोग तीन व्यापक श्रेणियों में आते हैं। पहली श्रेणी वित्तीय अनुप्रयोग है, जो उपयोगकर्ताओं को उनके धन से जुड़े contracts में प्रवेश करने और प्रबंधित करने के अधिक शक्तिशाली तरीके प्रदान करती है। इसमें उप-मुद्राएं, वित्तीय derivatives, hedging contracts, निकासी सीमाओं वाले बचत वॉलेट, स्वचालित रूप से धन वितरित करने वाली वसीयत, और यहां तक कि सत्यापित कार्य पूर्णता के आधार पर भुगतान की गणना करने वाले रोजगार contracts शामिल हैं। ये अनुप्रयोग जटिल वित्तीय साधन बनाने के लिए Ethereum की प्रोग्रामेबिलिटी का लाभ उठाते हैं जो पारंपरिक प्रणालियों या Bitcoin पर भी लागू करना असंभव या अत्यंत कठिन होगा।
दूसरी श्रेणी अर्ध-वित्तीय अनुप्रयोग है, जहां धन शामिल है लेकिन जो किया जा रहा है उसमें एक पर्याप्त गैर-मौद्रिक घटक भी है। एक आदर्श उदाहरण कम्प्यूटेशनल समस्याओं के समाधान के लिए स्व-प्रवर्तित इनाम है। कोई व्यक्ति इनाम के साथ एक कम्प्यूटेशनल समस्या पोस्ट कर सकता है, और contract स्वचालित रूप से प्रस्तुत समाधानों को सत्यापित कर सकता है और पहले सही उत्तर को इनाम का भुगतान कर सकता है। यह श्रेणी शुद्ध वित्त और अन्य क्षेत्रों के बीच पुल बनाती है, समस्याओं को हल करने या व्यवहार को समन्वित करने के लिए आर्थिक प्रोत्साहनों का उपयोग करती है।
तीसरी श्रेणी ऐसे अनुप्रयोग हैं जिनका धन से कोई संबंध नहीं है, जैसे ऑनलाइन मतदान और विकेंद्रीकृत शासन प्रणालियां। ये गैर-वित्तीय अनुप्रयोग एक सामान्य-उद्देश्य प्लेटफॉर्म के रूप में Ethereum की लचीलापन प्रदर्शित करते हैं। उदाहरणों में Namecoin जैसी विकेंद्रीकृत डोमेन नाम प्रणालियां, प्रतिष्ठा प्रणालियां, विकेंद्रीकृत फ़ाइल स्टोरेज, और संगठनात्मक शासन उपकरण शामिल हैं। इन सभी अनुप्रयोग प्रकारों में, token systems सबसे आम और मौलिक के रूप में उभरे हैं, जो कई अन्य अनुप्रयोगों के लिए बिल्डिंग ब्लॉक के रूप में कार्य करते हैं।
Token Systems
Token systems Ethereum पर लागू करने में आश्चर्यजनक रूप से सरल हैं, सबसे शक्तिशाली और आम अनुप्रयोगों में से एक होने के बावजूद। अपने मूल में, token systems बस एक डेटाबेस हैं जिसमें एक एकल ऑपरेशन है: account A से X इकाइयां घटाएं और account B में X इकाइयां जोड़ें, इस शर्त के साथ कि transaction से पहले A के पास कम से कम X इकाइयां थीं और transaction A द्वारा अधिकृत है। कार्यान्वयन के लिए addresses से balances तक एक mapping बनाए रखना और एक transfer function प्रदान करना आवश्यक है जो accounts के बीच tokens स्थानांतरित करने से पहले उचित जांच करता है।
एक बुनियादी token system के लिए contract code उल्लेखनीय रूप से सरल है और कुछ ही पंक्तियों में लिखा जा सकता है। इसमें addresses को balances से मैप करने वाली डेटा संरचना, प्रारंभिक token supply आवंटित करने वाला एक initialization function, और transfer निष्पादित करने से पहले भेजने वाले के balance और authorization की जांच करने वाला एक transfer function शामिल है। यह सरलता Bitcoin पर समान प्रणालियों को लागू करने के लिए आवश्यक जटिलता के विपरीत है, जिसके लिए Bitcoin की प्रतिबंधित स्क्रिप्टिंग क्षमताओं के कारण महत्वपूर्ण समाधानों और सीमाओं की आवश्यकता होगी।
Ethereum पर tokens वस्तुतः मूल्य की किसी भी चीज़ का प्रतिनिधित्व कर सकते हैं। वे अपनी मौद्रिक नीतियों वाली उप-मुद्राओं, बाहरी संपत्तियों को ट्रैक करने वाले वित्तीय derivatives, लाभांश अधिकारों वाले कंपनी शेयरों, ग्राहक कार्यक्रमों में loyalty points, सोने या तेल जैसी वस्तुओं, या यहां तक कि भौतिक संपत्ति के प्रतिनिधित्व का प्रतिनिधित्व कर सकते हैं। Ethereum की प्रोग्रामेबिलिटी इन tokens को उनके व्यवहार को नियंत्रित करने वाले मनमाने नियम रखने की अनुमति देती है, जैसे transfer प्रतिबंध, स्वचालित burning तंत्र, लाभांश वितरण, या शासन अधिकार। इस लचीलेपन ने token systems को Ethereum पारिस्थितिकी तंत्र के अधिकांश भाग का मूलभूत बिल्डिंग ब्लॉक बना दिया है।
Financial Derivatives and Stable-Value Currencies
वित्तीय derivatives Ethereum smart contracts के सबसे मौलिक और महत्वपूर्ण अनुप्रयोगों में से एक का प्रतिनिधित्व करते हैं। एक सरल hedging contract बुनियादी तंत्र को प्रदर्शित करता है: पक्ष A \(1000 मूल्य की एक निश्चित मात्रा में ether जमा करता है, पक्ष B समतुल्य राशि जमा करता है, और contract एक data feed का उपयोग करके उस समय ether का USD मूल्य दर्ज करता है। 30 दिनों के बाद, contract मूल्य की पुनर्गणना करता है और A को \)1000 मूल्य का ether भेजता है और शेष B को भेजता है। यदि ether की कीमत बढ़ी है, तो A को कम ether मिलता है लेकिन $1000 मूल्य बनाए रखता है; यदि गिरी है, तो A को उस मूल्य को बनाए रखने के लिए अधिक ether मिलता है। यह A को अस्थिरता के खिलाफ hedge करने की अनुमति देता है जबकि B मूल्य आंदोलनों पर अटकलें लगाता है।
ऐसे contracts के कार्यान्वयन के लिए oracle contracts या data feeds के माध्यम से बाहरी डेटा तक पहुंच की आवश्यकता होती है। ये oracles मूल्य जानकारी, मौसम डेटा, या अन्य वास्तविक-दुनिया की जानकारी प्रदान करते हैं जो contracts को ठीक से निष्पादित करने के लिए चाहिए। जबकि oracles एक विश्वास निर्भरता प्रस्तुत करते हैं, उन्हें विश्वसनीय डेटा प्रदान करने के लिए अतिरेक और cryptoeconomic प्रोत्साहनों के साथ डिज़ाइन किया जा सकता है। Contract स्वयं बस oracle से क्वेरी करता है, उस डेटा के आधार पर गणना करता है, और अपने प्रोग्राम किए गए तर्क के अनुसार धन वितरित करता है।
Stablecoins और अधिक जटिल वित्तीय साधन समान तंत्रों का उपयोग करके बनाए जा सकते हैं। एक stablecoin contract ether का भंडार बनाए रख सकता है और fiat मुद्रा से जुड़े tokens जारी कर सकता है, मूल्य feeds के आधार पर supply या collateral आवश्यकताओं को स्वचालित रूप से समायोजित करते हुए। Options contracts, futures, swaps, और अन्य derivatives जिन्हें सामान्यतः जटिल कानूनी ढांचों और विश्वसनीय मध्यस्थों की आवश्यकता होती है, उन्हें इसके बजाय स्व-निष्पादन smart contracts के रूप में एन्कोड किया जा सकता है। यह प्रोग्रामेबल वित्त अवसंरचना blockchain प्रौद्योगिकी की पारदर्शिता और सुरक्षा गारंटियों को बनाए रखते हुए परिष्कृत वित्तीय इंजीनियरिंग को सक्षम करती है।
Identity and Reputation Systems
Namecoin के समान एक नाम पंजीकरण प्रणाली Ethereum पर सरलता से लागू की जा सकती है और एक पहचान प्रणाली का सबसे सरल उदाहरण है। Contract एक key-value table के साथ एक डेटाबेस बनाए रखता है जो नामों को संबंधित डेटा (जैसे IP addresses, public keys, या अन्य जानकारी) से मैप करता है। कोई भी व्यक्ति एक छोटे पंजीकरण शुल्क के साथ contract को एक transaction भेजकर एक नाम पंजीकृत कर सकता है, बशर्ते वह नाम पहले से लिया न गया हो। स्वामी किसी भी समय संबंधित डेटा को अपडेट कर सकता है, और contract में एन्कोड किए गए नियमों के अनुसार नामों को हस्तांतरणीय या स्थायी बनाया जा सकता है।
अधिक उन्नत पहचान प्रणालियां इस नींव पर प्रतिष्ठा स्कोर, web of trust संबंधों, और विकेंद्रीकृत पहचान सत्यापन को शामिल करने के लिए बनाई जा सकती हैं। उदाहरण के लिए, एक contract सत्यापित transactions, सहकर्मी रेटिंग, या कार्यों के पूर्ण होने के आधार पर प्रतिष्ठा स्कोर बनाए रख सकता है। ये स्कोर सार्वजनिक रूप से दृश्य होंगे और cryptographically विशिष्ट addresses से जुड़े होंगे, जो एक पोर्टेबल प्रतिष्ठा बनाते हैं जो अनुप्रयोगों में उपयोगकर्ताओं का अनुसरण करती है। Web of trust प्रणालियां उपयोगकर्ताओं को दूसरों की पहचान की पुष्टि करने की अनुमति दे सकती हैं, सामाजिक ग्राफ बनाते हुए जो वैध उपयोगकर्ताओं को बुरे अभिनेताओं से अलग करने में मदद करते हैं।
ऐसी पहचान और प्रतिष्ठा प्रणालियां अन्य अनुप्रयोगों के साथ एकीकृत होने पर विशेष रूप से शक्तिशाली हो जाती हैं। एक marketplace विक्रेताओं के लिए न्यूनतम प्रतिष्ठा स्कोर की आवश्यकता कर सकता है, एक ऋण प्लेटफॉर्म उधारकर्ता की प्रतिष्ठा के आधार पर ब्याज दरों को समायोजित कर सकता है, या एक सोशल नेटवर्क स्पैम और धोखाधड़ी सामग्री को फ़िल्टर करने के लिए web of trust का उपयोग कर सकता है। एक साझा पहचान अवसंरचना प्रदान करके जिसे कोई भी अनुप्रयोग क्वेरी कर सकता है, Ethereum विश्वास-आधारित अनुप्रयोगों का एक नया वर्ग सक्षम करता है जो केंद्रीकृत पहचान प्रदाताओं या मालिकाना प्रतिष्ठा प्रणालियों पर निर्भर नहीं करता।
Decentralized File Storage
विकेंद्रीकृत फ़ाइल स्टोरेज को Ethereum contracts के माध्यम से लागू किया जा सकता है जो storage की आवश्यकता वाले उपयोगकर्ताओं और इसे प्रदान करने वाले प्रदाताओं के बीच समन्वय करते हैं। एक "विकेंद्रीकृत Dropbox" मॉडल में, उपयोगकर्ता फ़ाइलें अपलोड करने के लिए मासिक शुल्क का भुगतान करेंगे, contract storage प्रदाताओं को भुगतान वितरित करेगा जो साबित करते हैं कि वे वास्तव में डेटा संग्रहीत कर रहे हैं। प्रमाण तंत्र आवधिक cryptographic चुनौतियों के माध्यम से काम करता है: contract यादृच्छिक रूप से फ़ाइलों के भागों का चयन करता है और प्रदाताओं से Merkle tree proofs प्रदान करने के लिए कहता है जो प्रदर्शित करते हैं कि उनके पास वह डेटा है। जो प्रदाता चुनौतियों में विफल होते हैं या ऑफ़लाइन हो जाते हैं वे अपनी जमा राशि और भविष्य की भुगतान धारा खो देंगे।
यह दृष्टिकोण केंद्रीकृत storage पर कई फायदे प्रदान करता है। Merkle tree proofs कुशल सत्यापन सक्षम करते हैं—उपयोगकर्ता और contract पूरी फ़ाइलें डाउनलोड किए बिना फ़ाइल उपलब्धता की पुष्टि कर सकते हैं। सिस्टम स्वाभाविक रूप से कई स्वतंत्र प्रदाताओं में फ़ाइलें वितरित करता है, स्पष्ट replication प्रोटोकॉल की आवश्यकता के बिना redundancy बनाता है। आर्थिक प्रोत्साहन प्रदाता व्यवहार को उपयोगकर्ता आवश्यकताओं के साथ संरेखित करते हैं: प्रदाता विश्वसनीय रूप से डेटा संग्रहीत करके पैसा कमाते हैं और ऐसा करने में विफल होने पर पैसा खोते हैं। यह केंद्रीकृत storage समाधानों में अंतर्निहित विश्वास आवश्यकता को समाप्त करता है।
ऐसी प्रणाली में storage लागत कई कारणों से केंद्रीकृत विकल्पों से संभावित रूप से कम हो सकती है। एकाधिकार मूल्य निर्धारण का उन्मूलन बाजार प्रतिस्पर्धा को लागत को storage की वास्तविक लागत के करीब ले जाने की अनुमति देता है। समान फ़ाइलें संग्रहीत करने वाले कई उपयोगकर्ताओं से अंतर्निहित redundancy कुल storage आवश्यकताओं को कम कर सकती है। महंगी data center अवसंरचना या कॉर्पोरेट overhead की कोई आवश्यकता नहीं है। हालांकि, भुगतान तंत्र, पर्याप्त प्रदाता भागीदारी सुनिश्चित करने, और redundancy और लागत के बीच संतुलन प्रबंधित करने के आसपास चुनौतियां बनी हुई हैं। इन चुनौतियों के बावजूद, विकेंद्रीकृत storage प्रदर्शित करता है कि कैसे Ethereum केवल आर्थिक प्रोत्साहनों के माध्यम से जटिल बहु-पक्षीय बातचीत को समन्वित कर सकता है।
Decentralized Autonomous Organizations
एक Decentralized Autonomous Organization (DAO) एक आभासी इकाई है जिसके सदस्यों या शेयरधारकों का एक समूह होता है जो सामूहिक रूप से इकाई के धन को खर्च करने और उसके code को संशोधित करने का अधिकार रखते हैं। एक विशिष्ट DAO एक सरल नियम के साथ संचालित होता है: खर्च निर्णय लेने या संगठन के code को संशोधित करने के लिए 67% सदस्यों की आवश्यकता होती है। सदस्य प्रस्ताव प्रस्तुत कर सकते हैं, उन पर मतदान कर सकते हैं, और यदि किसी प्रस्ताव को पर्याप्त समर्थन मिलता है, तो contract स्वचालित रूप से निर्णय को निष्पादित करता है। सदस्यता शेयर हस्तांतरणीय हो सकते हैं, DAO भागीदारी के लिए एक तरल बाजार की अनुमति देते हुए, और शेयरों के विभिन्न वर्गों में अलग-अलग मतदान अधिकार या आर्थिक दावे हो सकते हैं।
सबसे सरल DAO डिज़ाइन एक स्व-संशोधित contract है जो सदस्यों की एक सूची बनाए रखता है और contract के किसी भी पहलू को बदलने के लिए 2/3 बहुमत मतदान की आवश्यकता होती है, जिसमें इसके अपने मतदान नियम भी शामिल हैं। सदस्य transactions के रूप में code परिवर्तन प्रस्तुत करेंगे, अन्य सदस्य मतदान करेंगे, और threshold तक पहुंचने पर, contract स्वयं को अपडेट करेगा। अधिक परिष्कृत डिज़ाइन में प्रत्यायोजित मतदान प्रणालियां शामिल हो सकती हैं जहां सदस्य अपनी मतदान शक्ति प्रतिनिधियों को सौंप सकते हैं, या liquid democracy जहां मतों को प्रत्यायोजित किया जा सकता है लेकिन महत्वपूर्ण निर्णयों के लिए किसी भी समय वापस लिया जा सकता है।
DAOs सरल धन प्रबंधन से परे विभिन्न उद्देश्यों की सेवा कर सकते हैं। एक DAO एक विकेंद्रीकृत निगम के रूप में कार्य कर सकता है, ठेकेदारों को काम पर रखना, सेवाएं खरीदना, और शेयरधारकों को लाभ वितरित करना—सब पारंपरिक कानूनी संरचनाओं के बजाय smart contract code द्वारा शासित। यह एक विकेंद्रीकृत निवेश कोष के रूप में संचालित हो सकता है, सदस्य मतदान करते हैं कि किन परियोजनाओं को वित्तपोषित किया जाए। यह एक सामान्य संसाधन का प्रबंधन कर सकता है, हितधारक आवंटन नियमों पर मतदान करते हुए। मुख्य अंतर्दृष्टि यह है कि शासन नियमों को पारदर्शी, अपरिवर्तनीय code में एन्कोड करके और उन्हें आर्थिक हिस्सेदारी से जोड़कर, DAOs पारंपरिक श्रेणीबद्ध प्रबंधन या कानूनी प्रवर्तन की आवश्यकता के बिना समूह निर्णयों को समन्वित कर सकते हैं।
Further Applications
पहले से चर्चित प्रमुख श्रेणियों के अलावा, Ethereum कई अन्य अनुप्रयोगों को सक्षम करता है। परिष्कृत सुरक्षा सुविधाओं वाले बचत वॉलेट दैनिक निकासी सीमा लगा सकते हैं जबकि पुनर्प्राप्ति के लिए आपातकालीन keys प्रदान करते हैं, चोरी से सुरक्षा करते हुए अंतिम नियंत्रण बनाए रखते हैं। फसल बीमा contracts मौसम data feeds के आधार पर स्वचालित रूप से किसानों को भुगतान कर सकते हैं, दावा प्रसंस्करण को समाप्त करते हुए और प्रशासनिक overhead को कम करते हुए। Peer-to-peer जुआ अनुप्रयोग किसी भी विश्वसनीय मध्यस्थ के बिना संचालित हो सकते हैं, smart contracts दांव रखते हुए और सत्यापन योग्य random numbers या वास्तविक-दुनिया की घटना डेटा के आधार पर स्वचालित रूप से विजेताओं को भुगतान करते हुए।
On-chain prediction markets उपयोगकर्ताओं को भविष्य की घटनाओं पर दांव लगाने की अनुमति देते हैं, भीड़ की बुद्धि के माध्यम से शक्तिशाली पूर्वानुमान तंत्र बनाते हैं। इन्हें विकेंद्रीकृत oracles बनाने के लिए SchellingCoin-शैली प्रोटोकॉल के साथ बढ़ाया जा सकता है: प्रतिभागी स्वतंत्र रूप से डेटा (जैसे चुनाव परिणाम या मौसम की स्थिति) रिपोर्ट करते हैं, और जिनकी रिपोर्ट बहुमत से मेल खाती हैं उन्हें पुरस्कार मिलता है जबकि विचलन करने वालों को दंडित किया जाता है। यह cryptoeconomic दृष्टिकोण ईमानदार रिपोर्टिंग को प्रोत्साहित करता है और किसी एक oracle प्रदाता पर विश्वास की आवश्यकता के बिना अन्य contracts को विश्वसनीय वास्तविक-दुनिया डेटा प्रदान कर सकता है।
Multi-signature wallets एक और महत्वपूर्ण अनुप्रयोग का प्रतिनिधित्व करते हैं, जो कई पक्षों के बीच धन का साझा नियंत्रण सक्षम करते हैं। एक 2-of-3 multi-sig wallet में धन खर्च करने से पहले तीन निर्दिष्ट पक्षों में से किन्हीं दो को transaction को मंजूरी देने की आवश्यकता हो सकती है, जो escrow व्यवस्थाओं, कॉर्पोरेट treasuries, या व्यक्तिगत सुरक्षा के लिए उपयोगी है। विकेंद्रीकृत marketplaces पहचान प्रणालियों, प्रतिष्ठा स्कोर, escrow contracts, और विवाद समाधान तंत्रों को जोड़कर केंद्रीकृत प्लेटफॉर्म के बिना peer-to-peer वाणिज्य को सक्षम कर सकते हैं। इनमें से प्रत्येक अनुप्रयोग प्रदर्शित करता है कि कैसे Ethereum की प्रोग्रामेबिलिटी नए विश्वास मॉडल और संगठनात्मक संरचनाओं को सक्षम करती है।
Miscellanea And Concerns
Ethereum के संशोधित GHOST प्रोटोकॉल के कार्यान्वयन में uncle समावेश और पुरस्कारों के लिए विशिष्ट नियम शामिल हैं। Uncles वर्तमान block के पूर्वज के प्रत्यक्ष बच्चे होने चाहिए (2 से 7 पीढ़ियों के बीच), वैध block headers होने चाहिए, पिछले uncles से अलग होने चाहिए, और वर्तमान block के प्रत्यक्ष पूर्वज नहीं होने चाहिए। Uncle blocks मानक block reward का 87.5% प्राप्त करते हैं, जबकि शामिल करने वाला block प्रति uncle अतिरिक्त 3.125% प्राप्त करता है (अधिकतम दो uncles तक)। यह प्रोत्साहन संरचना miners को उनके द्वारा देखे गए stale blocks को संदर्भित करने के लिए प्रोत्साहित करती है, नेटवर्क सुरक्षा को मजबूत करते हुए उन miners को पुरस्कृत करती है जिन्हें नेटवर्क प्रसार में अस्थायी दुर्भाग्य का अनुभव हुआ।
शुल्क प्रणाली "gas" की अवधारणा पर आधारित है, जहां प्रत्येक कम्प्यूटेशनल ऑपरेशन की एक निश्चित gas लागत होती है। उदाहरण के लिए, एक multiplication ऑपरेशन की लागत 5 gas है, एक SHA256 hash की लागत 20 gas है, और प्रत्येक transaction की आधार लागत 21,000 gas है। उपयोगकर्ता gas limit (अधिकतम gas जो वे खपत करने को तैयार हैं) और gas price (प्रति gas इकाई कितना ether वे भुगतान करेंगे) दोनों निर्दिष्ट करते हैं। यह प्रणाली कई उद्देश्यों की सेवा करती है: यह सभी computation का भुगतान सुनिश्चित करके अनंत लूप और denial-of-service हमलों को रोकती है, यह block space के लिए एक बाजार बनाती है जहां उपयोगकर्ता gas prices के माध्यम से बोली लगाते हैं, और यह miners को न्यूनतम gas price सेट करने की अनुमति देती है जिसे वे स्वीकार करने को तैयार हैं, नेटवर्क संसाधनों की रक्षा करती है।

Scalability एक महत्वपूर्ण चिंता बनी हुई है, क्योंकि प्रत्येक पूर्ण node को state सत्यापित करने के लिए प्रत्येक transaction को प्रोसेस करना होगा। वर्तमान blockchain आर्किटेक्चर केंद्रीकृत प्रणालियों के transaction throughput से मिलान करने में संघर्ष करते हैं। संभावित समाधानों में state sharding शामिल है, जहां विभिन्न nodes transactions के विभिन्न उपसमूहों को प्रोसेस करते हैं, और proof-of-work से proof-of-stake consensus में संक्रमण, जो अधिक कुशल block उत्पादन सक्षम कर सकता है। Merkle proofs का उपयोग करने वाले light clients सभी blocks को प्रोसेस किए बिना transactions को सत्यापित कर सकते हैं, लेकिन किसी को फिर भी सब कुछ प्रोसेस करना होगा। ये scalability चुनौतियां Ethereum की दीर्घकालिक व्यवहार्यता के लिए महत्वपूर्ण अनुसंधान और विकास के सक्रिय क्षेत्रों का प्रतिनिधित्व करती हैं।
Conclusion
Ethereum प्रोटोकॉल मूल रूप से एक cryptocurrency के उन्नत संस्करण के रूप में कल्पना किया गया था, जो एक उच्च सामान्यीकृत प्रोग्रामिंग भाषा के माध्यम से on-blockchain escrow, निकासी सीमा, और वित्तीय contracts जैसी उन्नत सुविधाएं प्रदान करता था। हालांकि, Ethereum प्रोटोकॉल केवल मुद्रा से बहुत आगे जाता है। विकेंद्रीकृत फ़ाइल स्टोरेज, विकेंद्रीकृत computation, और विकेंद्रीकृत prediction markets के आसपास के प्रोटोकॉल, दर्जनों अन्य अवधारणाओं के साथ, कम्प्यूटेशनल उद्योग की दक्षता को काफी बढ़ाने और पहली बार एक आर्थिक परत जोड़कर अन्य peer-to-peer प्रोटोकॉल को एक बड़ा बढ़ावा प्रदान करने की क्षमता रखते हैं।
विशिष्ट उपयोग मामलों के लिए डिज़ाइन किए गए ऑपरेशनों का एक सीमित सेट प्रदान करने के बजाय, Ethereum एक Turing-complete प्रोग्रामिंग भाषा प्रदान करता है जो डेवलपर्स को कोई भी अनुप्रयोग बनाने में सक्षम बनाता है जिसे वे डिज़ाइन कर सकें। अपना स्वयं का वित्तीय derivative आविष्कार करना चाहते हैं? अपनी स्वयं की मुद्रा बनाना चाहते हैं? Blockchain पर एक सरकार स्थापित करना चाहते हैं? ये सभी Ethereum की स्क्रिप्टिंग प्रणाली के साथ सरलता से कार्यान्वित करने योग्य हैं। प्लेटफॉर्म की शक्ति यह भविष्यवाणी करने में नहीं है कि कौन से अनुप्रयोग बनाए जाएंगे, बल्कि मूलभूत अवसंरचना प्रदान करने में है जो उन्हें बनाना आसान बनाती है।
Ethereum प्रोटोकॉल द्वारा कार्यान्वित एक मनमाने state transition function की अवधारणा अद्वितीय क्षमता वाला एक प्लेटफॉर्म प्रदान करती है। डेटा स्टोरेज, जुए, या वित्त में विशिष्ट अनुप्रयोगों के लिए एक बंद-अंत, एकल-उद्देश्य प्रोटोकॉल होने के बजाय, Ethereum डिज़ाइन द्वारा खुले-अंत वाला है, और हम मानते हैं कि यह आने वाले वर्षों में बड़ी संख्या में वित्तीय और गैर-वित्तीय दोनों प्रोटोकॉल के लिए एक मूलभूत परत के रूप में सेवा करने के लिए अत्यंत उपयुक्त है। भविष्य में Ethereum पर बनाए जाने वाले अनुप्रयोग ऐसे हो सकते हैं जिनकी हम आज कल्पना भी नहीं कर सकते, और वह खुली संभावना प्लेटफॉर्म का वास्तविक वादा है।
References and Further Reading
Ethereum whitepaper cryptocurrency और वितरित प्रणालियों के अनुसंधान में व्यापक पूर्व कार्य पर आधारित है। मूलभूत Bitcoin प्रोटोकॉल का वर्णन Satoshi Nakamoto के मूल 2008 पेपर "Bitcoin: A Peer-to-Peer Electronic Cash System" में किया गया है, जिसने blockchain-आधारित डिजिटल मुद्रा की अवधारणा पेश की। Bitcoin की कार्यक्षमता का विस्तार करने के शुरुआती प्रयासों में Namecoin शामिल है, एक विकेंद्रीकृत नाम पंजीकरण प्रणाली जो मुद्रा से परे blockchain अनुप्रयोगों को प्रदर्शित करती है, हालांकि Bitcoin की प्रतिबंधित स्क्रिप्टिंग क्षमताओं द्वारा सीमित।
Colored coins whitepaper ने विशिष्ट bitcoins को अन्य संपत्तियों का प्रतिनिधित्व करने के लिए "coloring" करके Bitcoin blockchain पर वैकल्पिक संपत्तियों का प्रतिनिधित्व करने की एक विधि प्रस्तावित की, जबकि Mastercoin ने अधिक जटिल वित्तीय साधनों के लिए Bitcoin के ऊपर एक प्रोटोकॉल परत बनाने का प्रयास किया। दोनों ने Bitcoin पर निर्माण की सीमाओं को उजागर किया और एक अधिक लचीले प्लेटफॉर्म की आवश्यकता को प्रेरित किया। Bitcoin Magazine में खोजी गई विकेंद्रीकृत स्वायत्त निगमों की अवधारणा ने smart contracts के माध्यम से संगठनात्मक शासन के लिए सैद्धांतिक आधार प्रदान किया।
प्रमुख तकनीकी घटकों में light clients के लिए simplified payment verification (SPV), कुशल डेटा सत्यापन के लिए Merkle trees, और Ethereum के state प्रतिनिधित्व के लिए Patricia tries शामिल हैं। 2013 के एक cryptography पेपर में वर्णित GHOST (Greedy Heaviest Observed Subtree) प्रोटोकॉल तेज block समय से उत्पन्न सुरक्षा मुद्दों को संबोधित करता है और Ethereum के consensus तंत्र का आधार बनाता है। ये संदर्भ उन बौद्धिक नींवों का प्रतिनिधित्व करते हैं जिन पर Ethereum बनाया गया था, एक सामान्य-उद्देश्य blockchain प्लेटफॉर्म बनाने के लिए cryptocurrency, वितरित प्रणालियों, cryptography, और game theory से अंतर्दृष्टि को जोड़ते हुए।
Related Whitepapers
Tether
Tether: Fiat currencies on the Bitcoin blockchain
30 shared concepts · 2016
Bitcoin Cash
Bitcoin Cash: Peer-to-Peer Electronic Cash for the World
33 shared concepts · 2017
Dogecoin
Dogecoin: A Community-Driven Cryptocurrency
28 shared concepts · 2013
USD Coin
USD Coin (USDC): A Stablecoin by Circle and Coinbase
20 shared concepts · 2018
Bitcoin
Bitcoin: A Peer-to-Peer Electronic Cash System
20 shared concepts · 2008
Related Stories
Ethereum Whitepaper: From Bitcoin's Limitations to a World Computer
How Vitalik Buterin reimagined blockchain as a universal computation platform, introducing smart contracts, the EVM, an…
Origin StoryVitalik Buterin and the Birth of Ethereum: From Bitcoin Magazine to World Computer
How a 19-year-old Bitcoin journalist conceived a blockchain that could run arbitrary programs, assembled a founding tea…
Technical ExplainerProof of Stake Explained: Validators, Staking, and Slashing
Understanding how PoS blockchains replace energy-intensive mining with economic staking, and the mechanisms that keep v…
Technical ExplainerMerkle Trees: The Data Structure That Makes Blockchains Possible
How hash trees enable efficient verification of massive datasets, from Bitcoin's SPV to Ethereum's state tries and beyo…
अक्सर पूछे जाने वाले सवाल
- Ethereum whitepaper क्या है?
- Ethereum whitepaper, जो 2013 में Vitalik Buterin द्वारा लिखा गया था, एक ऐसे blockchain platform का प्रस्ताव करता है जिसमें एक अंतर्निहित Turing-complete प्रोग्रामिंग भाषा है, जो smart contracts और विकेंद्रीकृत अनुप्रयोगों (dApps) को सक्षम बनाती है।
- Ethereum whitepaper किसने लिखा?
- Ethereum whitepaper Vitalik Buterin द्वारा लिखा गया था, जो एक रूसी-कनाडाई प्रोग्रामर और Bitcoin Magazine के सह-संस्थापक हैं। उन्होंने इसे 2013 के अंत में प्रकाशित किया।
- Ethereum Bitcoin से किस प्रकार भिन्न है?
- जबकि Bitcoin peer-to-peer भुगतान पर केंद्रित है, Ethereum smart contract क्षमताओं के साथ एक सामान्य-प्रयोजन blockchain प्रदान करता है, जो विकेंद्रीकृत वित्त (DeFi), NFTs, और अन्य प्रोग्रामेबल अनुप्रयोगों को सक्षम बनाता है।
- Ethereum का मुख्य तकनीकी नवाचार क्या है?
- Ethereum ने Ethereum Virtual Machine (EVM) पेश की, जो एक Turing-complete execution वातावरण है जो developers को मनमाने smart contracts deploy करने की अनुमति देता है। इसने blockchains को सरल लेज़र से प्रोग्रामेबल प्लेटफॉर्म में बदल दिया।
- Ethereum का proof-of-stake consensus कैसे काम करता है?
- सितंबर 2022 में The Merge के बाद से, Ethereum proof-of-stake का उपयोग करता है। Validators भाग लेने के लिए 32 ETH stake करते हैं, blocks प्रस्तावित करते हैं, और अन्य blocks को प्रमाणित करते हैं। Casper FFG तंत्र के माध्यम से finality प्राप्त की जाती है, आमतौर पर दो epochs (~13 मिनट) के भीतर।
- Ethereum का आपूर्ति मॉडल क्या है?
- Ethereum की कोई निश्चित आपूर्ति सीमा नहीं है, लेकिन EIP-1559 (अगस्त 2021) के बाद से, लेनदेन शुल्क का एक हिस्सा जला दिया जाता है। मध्यम नेटवर्क गतिविधि के साथ proof-of-stake के तहत, ETH issuance शुद्ध अपस्फीतिकारी हो सकता है।
- Ethereum के प्राथमिक उपयोग क्या हैं?
- Ethereum विकेंद्रीकृत वित्त (DeFi) प्रोटोकॉल, NFT marketplaces, DAOs (विकेंद्रीकृत स्वायत्त संगठन), stablecoins, gaming, पहचान प्रणालियों को शक्ति प्रदान करता है, और Layer 2 scaling solutions के लिए settlement layer के रूप में कार्य करता है।
- Ethereum किस समस्या को हल करता है?
- Ethereum, Bitcoin की scripting भाषा की सीमा को blockchain पर एक सामान्य-प्रयोजन कंप्यूटिंग प्लेटफॉर्म प्रदान करके हल करता है। यह बिना मध्यस्थों के वित्तीय साधनों से लेकर प्रशासन तक जटिल तर्क के विश्वसनीय execution को सक्षम बनाता है।
- Ethereum का सुरक्षा मॉडल कैसे काम करता है?
- proof-of-stake के तहत Ethereum की सुरक्षा आर्थिक प्रोत्साहनों पर निर्भर करती है: दुर्भावनापूर्ण व्यवहार के लिए validators को अपने staked ETH (slashing) खोने का जोखिम होता है। नेटवर्क पर हमले के लिए सभी staked ETH के एक-तिहाई को नियंत्रित करना आवश्यक होगा, जिसकी कीमत अरबों डॉलर है।
- Ethereum ecosystem की वर्तमान स्थिति क्या है?
- Ethereum दूसरी सबसे बड़ी cryptocurrency और प्रमुख smart contract platform है। इसके ecosystem में Layer 2 rollups (Arbitrum, Optimism, Base), हजारों DeFi प्रोटोकॉल, ERC-20 tokens, ERC-721 NFTs, और EIP प्रस्तावों के माध्यम से ongoing विकास शामिल हैं।