मुख्य सामग्री पर जाएँ
Change page

ओरेकल्स

पेज का अंतिम अपडेट: 26 फ़रवरी 2026

ओरेकल ऐसे एप्लिकेशन हैं जो डेटा फीड का उत्पादन करते हैं जो स्मार्ट अनुबंधों के लिए ब्लॉकचेन को ऑफ-चेन डेटा स्रोत उपलब्ध कराते हैं। यह आवश्यक है क्योंकि एथेरियम-आधारित स्मार्ट कॉन्ट्रैक्ट, डिफ़ॉल्ट रूप से, ब्लॉकचेन नेटवर्क के बाहर संग्रहीत जानकारी तक नहीं पहुंच सकते हैं।

स्मार्ट अनुबंधों को ऑफ-चेन डेटा का उपयोग करके निष्पादित करने की क्षमता प्रदान करना विकेंद्रीकृत अनुप्रयोगों की उपयोगिता और मूल्य का विस्तार करता है। उदाहरण के लिए, ऑन-चेन भविष्यवाणी बाजार उन परिणामों के बारे में जानकारी प्रदान करने के लिए ओरेकल्स पर भरोसा करते हैं जिनका उपयोग वे यूज़र भविष्यवाणियों को मान्य करने के लिए करते हैं। मान लीजिए कि ऐलिस 20 ETH पर दांव लगाती है कि अगला अमेरिकी कौन बनेगा। राष्ट्रपति उस स्थिति में, भविष्यवाणी-बाजार डैप को चुनाव परिणामों की पुष्टि करने और यह निर्धारित करने के लिए एक ओरेकल की आवश्यकता होती है कि ऐलिस भुगतान के लिए योग्य है या नहीं।

पूर्वापेक्षाएं

यह पेज मानता है कि पाठक एथेरियम की बुनियादी बातों से परिचित है, जिसमें नोड्स, सहमति तंत्र, और EVM शामिल हैं। आपको स्मार्ट अनुबंधों और स्मार्ट अनुबंध एनाटॉमी की भी अच्छी समझ होनी चाहिए, विशेष रूप से की।

ब्लॉकचेन ऑरेकल क्या है?

ओरेकल्स ऐसे एप्लिकेशन हैं जो ब्लॉकचेन पर चल रहे स्मार्ट अनुबंधों को बाहरी जानकारी (यानी, ऑफ-चेन संग्रहीत जानकारी) का स्रोत, सत्यापन और संचारित करते हैं। ऑफ-चेन डेटा को “पुल” करने और इसे एथेरियम पर प्रसारित करने के अलावा, ओरेकल्स ब्लॉकचेन से बाहरी सिस्टम में जानकारी “पुश” भी कर सकते हैं, उदाहरण के लिए, यूज़र द्वारा एथेरियम लेनदेन के माध्यम से शुल्क भेजे जाने के बाद एक स्मार्ट लॉक को अनलॉक करना।

एक ओरेकल के बिना, एक स्मार्ट अनुबंध पूरी तरह से ऑन-चेन डेटा तक सीमित होगा।

दैवज्ञ डेटा के स्रोत (एक या एकाधिक स्रोत), ट्रस्ट मॉडल (केंद्रीकृत या विकेन्द्रीकृत), और सिस्टम आर्किटेक्चर (तत्काल-पढ़ने, प्रकाशित करने-सदस्यता लेने और अनुरोध-प्रतिक्रिया) के आधार पर भिन्न होते हैं। हम ओरेकल्स के बीच इस आधार पर भी अंतर कर सकते हैं कि क्या वे ऑन-चेन अनुबंधों (इनपुट ओरेकल्स) द्वारा उपयोग के लिए बाहरी डेटा पुनर्प्राप्त करते हैं, ब्लॉकचेन से ऑफ-चेन एप्लिकेशन (आउटपुट ओरेकल्स) को जानकारी भेजते हैं, या ऑफ-चेन कम्प्यूटेशनल कार्य (कम्प्यूटेशनल ओरेकल्स) करते हैं।

स्मार्ट अनुबंधों को ओरेकल की आवश्यकता क्यों होती है?

कई डेवलपर्स स्मार्ट कॉन्ट्रैक्ट्स को ब्लॉकचेन पर विशिष्ट पतों पर चलने वाले कोड के रूप में देखते हैं। हालांकि, स्मार्ट अनुबंधों का एक अधिक सामान्य दृष्टिकोण यह है कि वे स्वयं-निष्पादित सॉफ्टवेयर प्रोग्राम हैं जो विशिष्ट शर्तों के पूरा होने पर पार्टियों के बीच समझौतों को लागू करने में सक्षम हैं - इसलिए “स्मार्ट अनुबंध” शब्द का उपयोग किया जाता है।

लेकिन लोगों के बीच समझौतों को लागू करने के लिए स्मार्ट अनुबंधों का उपयोग करना सीधा नहीं है, यह देखते हुए कि एथेरियम नियतात्मक है। एक नियतात्मक प्रणाली (opens in a new tab) वह है जो हमेशा एक प्रारंभिक स्थिति और एक विशेष इनपुट को देखते हुए समान परिणाम उत्पन्न करती है, जिसका अर्थ है कि इनपुट से आउटपुट की गणना की प्रक्रिया में कोई यादृच्छिकता या भिन्नता नहीं है।

नियतात्मक निष्पादन प्राप्त करने के लिए, ब्लॉकचेन केवल ब्लॉकचेन पर संग्रहीत डेटा का उपयोग करके सरल बाइनरी (सही/गलत) प्रश्नों पर नोड्स को सहमति तक पहुंचने के लिए सीमित करते हैं। ऐसे प्रश्नों के उदाहरणों में शामिल हैं:

  • "क्या खाता स्वामी (एक सार्वजनिक कुंजी द्वारा पहचाना गया) ने युग्मित निजी कुंजी के साथ इस लेनदेन पर हस्ताक्षर किए?"
  • “Does this account have enough funds to cover the transaction?”
  • "क्या यह लेनदेन इस स्मार्ट अनुबंध के संदर्भ में मान्य है?", आदि।

यदि ब्लॉकचेन को बाहरी स्रोतों (यानी वास्तविक दुनिया से) से जानकारी प्राप्त होती है, तो नियतिवाद को प्राप्त करना असंभव होगा, जिससे नोड्स को ब्लॉकचेन की स्थिति में परिवर्तनों की वैधता पर सहमत होने से रोका जा सकेगा। उदाहरण के लिए एक स्मार्ट अनुबंध लें जो पारंपरिक मूल्य एपीआई से प्राप्त वर्तमान ईटीएच-यूएसडी विनिमय दर के आधार पर लेनदेन निष्पादित करता है। यह आंकड़ा अक्सर बदलने की संभावना है (यह उल्लेख नहीं करने के लिए कि एपीआई बहिष्कृत या हैक हो सकता है), जिसका अर्थ है कि एक ही अनुबंध कोड को निष्पादित करने वाले नोड्स अलग-अलग परिणामों पर पहुंचेंगे।

एथेरियम जैसे सार्वजनिक ब्लॉकचेन के लिए, दुनिया भर में हजारों नोड्स प्रसंस्करण लेनदेन के साथ, नियतिवाद महत्वपूर्ण है। सत्य के स्रोत के रूप में सेवा करने वाला कोई केंद्रीय प्राधिकरण नहीं होने के कारण, नोड्स को समान लेनदेन लागू करने के बाद उसी स्थिति में पहुंचने के लिए तंत्र की आवश्यकता होती है। एक मामला जिसके तहत नोड ए एक स्मार्ट कॉन्ट्रैक्ट के कोड को निष्पादित करता है और परिणामस्वरूप "3" प्राप्त करता है, जबकि नोड बी को एक ही लेनदेन चलाने के बाद "7" मिलता है, जिससे विकेन्द्रीकृत कंप्यूटिंग प्लेटफॉर्म के रूप में एथेरियम के मूल्य को तोड़ने और समाप्त करने के लिए आम सहमति पैदा होगी।

यह परिदृश्य बाहरी स्रोतों से जानकारी खींचने के लिए ब्लॉकचेन को डिजाइन करने की समस्या पर भी प्रकाश डालता है। हालांकि, ओरेकल्स इस समस्या को ऑफ-चेन स्रोतों से जानकारी लेकर और स्मार्ट अनुबंधों के उपभोग के लिए ब्लॉकचेन पर संग्रहीत करके हल करते हैं। चूंकि ऑन-चेन संग्रहीत जानकारी अपरिवर्तनीय और सार्वजनिक रूप से उपलब्ध है, एथेरियम नोड्स सहमति को तोड़े बिना स्टेट परिवर्तनों की गणना करने के लिए ओरेकल आयातित ऑफ-चेन डेटा का सुरक्षित रूप से उपयोग कर सकते हैं।

ऐसा करने के लिए, एक ओरेकल आम तौर पर एक स्मार्ट अनुबंध जो ऑन-चेन पर चलता है और कुछ ऑफ-चेन घटकों से बना होता है। ऑन-चेन अनुबंध अन्य स्मार्ट अनुबंधों से डेटा के लिए अनुरोध प्राप्त करता है, जिसे वह ऑफ-चेन घटक (जिसे ओरेकल नोड कहा जाता है) को पास करता है। यह ऑरेकल नोड डेटा स्रोतों को क्वेरी कर सकता है - उदाहरण के लिए, एप्लिकेशन प्रोग्रामिंग इंटरफेस (एपीआई) का उपयोग करके - और स्मार्ट अनुबंध के भंडारण में अनुरोधित डेटा को संग्रहीत करने के लिए लेनदेन भेज सकता है।

अनिवार्य रूप से, एक ब्लॉकचेन ऑरेकल ब्लॉकचेन और बाहरी वातावरण के बीच सूचना अंतर को पाटता है, जिससे "हाइब्रिड स्मार्ट कॉन्ट्रैक्ट्स" बनते हैं। एक हाइब्रिड स्मार्ट अनुबंध वह है जो ऑन-चेन अनुबंध कोड और ऑफ-चेन इंफ्रास्ट्रक्चर के संयोजन के आधार पर कार्य करता है। विकेंद्रीकृत भविष्यवाणी बाजार हाइब्रिड स्मार्ट अनुबंधों का एक उत्कृष्ट उदाहरण हैं। अन्य उदाहरणों में फसल बीमा स्मार्ट अनुबंध शामिल हो सकते हैं जो भुगतान करते हैं जब ओरेकल का एक सेट यह निर्धारित करता है कि कुछ मौसम की घटनाएं हुई हैं।

ओरेकल समस्या क्या है? ओरेकल समस्या

ओरेकल्स एक महत्वपूर्ण समस्या को हल करते हैं, लेकिन कुछ जटिलताओं का भी परिचय देते हैं, जैसे:

  • हम कैसे सत्यापित करते हैं कि इंजेक्शन की गई जानकारी सही स्रोत से निकाली गई थी या उसके साथ छेड़छाड़ नहीं की गई है?

  • हम यह कैसे सुनिश्चित करते हैं कि यह डेटा हमेशा उपलब्ध है और नियमित रूप से अपडेट किया जाता है?

तथाकथित "ओरेकल समस्या" उन मुद्दों को प्रदर्शित करती है जो स्मार्ट अनुबंधों को इनपुट भेजने के लिए ब्लॉकचेन ऑरेकल का उपयोग करने के साथ आते हैं। स्मार्ट अनुबंध को सही ढंग से निष्पादित करने के लिए ऑरेकल से डेटा सही होना चाहिए। इसके अलावा, सटीक जानकारी प्रदान करने के लिए ओरेकल ऑपरेटरों पर 'भरोसा' करना स्मार्ट अनुबंधों के 'भरोसेमंद' पहलू को कमजोर करता है।

विभिन्न ओरेकल ओरेकल समस्या के विभिन्न समाधान प्रदान करते हैं, जिन्हें हम बाद में खोजते हैं। दैवज्ञों का आमतौर पर मूल्यांकन किया जाता है कि वे निम्नलिखित चुनौतियों को कितनी अच्छी तरह संभाल सकते हैं:

  1. शुद्धता: एक ओरेकल को अमान्य ऑफ-चेन डेटा के आधार पर स्टेट परिवर्तनों को ट्रिगर करने के लिए स्मार्ट अनुबंधों का कारण नहीं बनना चाहिए। एक ओरेकल को डेटा की प्रामाणिकता और अखंडता की गारंटी देनी चाहिए। प्रामाणिकता का मतलब है कि डेटा सही स्रोत से प्राप्त किया गया था, जबकि अखंडता का मतलब है कि डेटा ऑन-चेन भेजे जाने से पहले बरकरार रहा (यानी, बदला नहीं गया था)।

  2. उपलब्धता: एक ओरेकल को स्मार्ट अनुबंधों को क्रियाओं को निष्पादित करने और स्टेट परिवर्तनों को ट्रिगर करने में देरी या उसे रोकना नहीं चाहिए। इसका मतलब है कि ओरेकल से डेटा बिना किसी रुकावट के अनुरोध पर उपलब्ध होना चाहिए।

  3. प्रोत्साहन संगतता: एक ओरेकल को स्मार्ट अनुबंधों को सही जानकारी प्रस्तुत करने के लिए ऑफ-चेन डेटा प्रदाताओं को प्रोत्साहित करना चाहिए। प्रोत्साहन संगतता में attributability और जवाबदेही शामिल है। एट्रिब्यूटबिलिटी बाहरी जानकारी के एक टुकड़े को अपने प्रदाता से जोड़ने की अनुमति देती है, जबकि जवाबदेही डेटा प्रदाताओं को उनके द्वारा दी गई जानकारी से जोड़ती है, इसलिए उन्हें प्रदान की गई जानकारी की गुणवत्ता के आधार पर पुरस्कृत या दंडित किया जा सकता है।

ब्लॉकचेन ऑरेकल सेवा कैसे काम करती है?

यूज़र्स

उपयोगकर्ता संस्थाएं हैं (यानी, स्मार्ट अनुबंध) जिन्हें विशिष्ट कार्यों को पूरा करने के लिए ब्लॉकचेन के बाहर की जानकारी की आवश्यकता होती है। एक oracle सेवा का मूल वर्कफ़्लो उपयोगकर्ता द्वारा oracle अनुबंध को डेटा अनुरोध भेजने के साथ शुरू होता है। डेटा अनुरोध आमतौर पर निम्नलिखित प्रश्नों में से कुछ या सभी का उत्तर देंगे:

  1. अनुरोधित जानकारी के लिए ऑफ-चेन नोड्स किन स्रोतों से परामर्श कर सकते हैं?

  2. रिपोर्टर डेटा स्रोतों से जानकारी कैसे संसाधित करते हैं और उपयोगी डेटा बिंदु निकालते हैं?

  3. डेटा पुनः प्राप्त करने में कितने ओरेकल नोड भाग ले सकते हैं?

  4. ओरेकल रिपोर्ट में विसंगतियों को कैसे प्रबंधित किया जाना चाहिए?

  5. सबमिशन को फ़िल्टर करने और रिपोर्ट को एक ही मान में एकत्रित करने में किस विधि को लागू किया जाना चाहिए?

ओरेकल अनुबंध

ओरेकल अनुबंध ओरेकल सेवा के लिए ऑन-चेन घटक है। यह अन्य अनुबंधों से डेटा अनुरोधों को सुनता है, डेटा प्रश्नों को ओरेकल नोड्स पर रिले करता है, और क्लाइंट अनुबंधों को लौटाए गए डेटा को प्रसारित करता है। यह अनुबंध अनुरोध अनुबंध को भेजने के लिए कुल मूल्य का उत्पादन करने के लिए लौटाए गए डेटा बिंदुओं पर कुछ गणना भी कर सकता है।

ऑरेकल अनुबंध कुछ कार्यों को उजागर करता है जो क्लाइंट अनुबंध डेटा अनुरोध करते समय कॉल करते हैं। एक नई क्वेरी प्राप्त होने पर, स्मार्ट अनुबंध डेटा अनुरोध के विवरण के साथ एक लॉग इवेंट उत्सर्जित करेगा। यह लॉग में सब्सक्राइब किए गए ऑफ-चेन नोड्स को सूचित करता है (आमतौर पर JSON-RPC eth_subscribe कमांड जैसी किसी चीज़ का उपयोग करके), जो लॉग इवेंट में परिभाषित डेटा को पुनर्प्राप्त करने के लिए आगे बढ़ते हैं।

नीचे पेड्रो कोस्टा द्वारा एक उदाहरण ओरेकल अनुबंध (opens in a new tab) है। यह एक सरल ओरेकल सेवा है जो अन्य स्मार्ट अनुबंधों द्वारा अनुरोध पर ऑफ-चेन APIs को क्वेरी कर सकती है और अनुरोधित जानकारी को ब्लॉकचेन पर संग्रहीत कर सकती है:

1pragma solidity >=0.4.21 <0.6.0;
2
3contract Oracle {
4 Request[] requests; //अनुबंध से किए गए अनुरोधों की सूची
5 uint currentId = 0; //बढ़ती हुई अनुरोध आईडी
6 uint minQuorum = 2; //अंतिम परिणाम घोषित करने से पहले प्राप्त होने वाली प्रतिक्रियाओं की न्यूनतम संख्या
7 uint totalOracleCount = 3; // हार्डकोडेड ओरेकल गणना
8
9 // एक सामान्य api अनुरोध को परिभाषित करता है
10 struct Request {
11 uint id; //अनुरोध आईडी
12 string urlToQuery; //API यूआरएल
13 string attributeToFetch; //प्रतिक्रिया में पुनर्प्राप्त करने के लिए json एट्रिब्यूट (की)
14 string agreedValue; //की से मान
15 mapping(uint => string) answers; //ओरेकल्स द्वारा दिए गए उत्तर
16 mapping(address => uint) quorum; //ओरेकल्स जो उत्तर की क्वेरी करेंगे (1=ओरेकल ने वोट नहीं दिया है, 2=ओरेकल ने वोट दिया है)
17 }
18
19 //इवेंट जो ब्लॉकचेन के बाहर ओरेकल को ट्रिगर करता है
20 event NewRequest (
21 uint id,
22 string urlToQuery,
23 string attributeToFetch
24 );
25
26 //जब अंतिम परिणाम पर सहमति बनती है तो ट्रिगर होता है
27 event UpdatedRequest (
28 uint id,
29 string urlToQuery,
30 string attributeToFetch,
31 string agreedValue
32 );
33
34 function createRequest (
35 string memory _urlToQuery,
36 string memory _attributeToFetch
37 )
38 public
39 {
40 uint length = requests.push(Request(currentId, _urlToQuery, _attributeToFetch, ""));
41 Request storage r = requests[length-1];
42
43 // हार्डकोडेड ओरेकल्स का पता
44 r.quorum[address(0x6c2339b46F41a06f09CA0051ddAD54D1e582bA77)] = 1;
45 r.quorum[address(0xb5346CF224c02186606e5f89EACC21eC25398077)] = 1;
46 r.quorum[address(0xa2997F1CA363D11a0a35bB1Ac0Ff7849bc13e914)] = 1;
47
48 //ब्लॉकचेन के बाहर ओरेकल द्वारा पता लगाने के लिए एक इवेंट लॉन्च करें
49 emit NewRequest (
50 currentId,
51 _urlToQuery,
52 _attributeToFetch
53 );
54
55 //अनुरोध आईडी बढ़ाएँ
56 currentId++;
57 }
58
59 //अपना उत्तर रिकॉर्ड करने के लिए ओरेकल द्वारा कॉल किया गया
60 function updateRequest (
61 uint _id,
62 string memory _valueRetrieved
63 ) public {
64
65 Request storage currRequest = requests[_id];
66
67 //जांचें कि क्या ओरेकल विश्वसनीय ओरेकल्स की सूची में है
68 //और यदि ओरेकल ने अभी तक वोट नहीं दिया है
69 if(currRequest.quorum[address(msg.sender)] == 1){
70
71 //यह चिह्नित करना कि इस पते ने वोट दिया है
72 currRequest.quorum[msg.sender] = 2;
73
74 //उत्तरों की "ऐरे" के माध्यम से तब तक पुनरावृति करें जब तक कि कोई स्थिति मुक्त न हो और पुनर्प्राप्त मान को सहेजें
75 uint tmpI = 0;
76 bool found = false;
77 while(!found) {
78 //पहला खाली स्लॉट खोजें
79 if(bytes(currRequest.answers[tmpI]).length == 0){
80 found = true;
81 currRequest.answers[tmpI] = _valueRetrieved;
82 }
83 tmpI++;
84 }
85
86 uint currentQuorum = 0;
87
88 //ओरेकल सूची के माध्यम से पुनरावृति करें और जांचें कि क्या पर्याप्त ओरेकल्स (न्यूनतम कोरम) हैं
89 //ने वर्तमान वाले के समान उत्तर के लिए मतदान किया है
90 for(uint i = 0; i < totalOracleCount; i++){
91 bytes memory a = bytes(currRequest.answers[i]);
92 bytes memory b = bytes(_valueRetrieved);
93
94 if(keccak256(a) == keccak256(b)){
95 currentQuorum++;
96 if(currentQuorum >= minQuorum){
97 currRequest.agreedValue = _valueRetrieved;
98 emit UpdatedRequest (
99 currRequest.id,
100 currRequest.urlToQuery,
101 currRequest.attributeToFetch,
102 currRequest.agreedValue
103 );
104 }
105 }
106 }
107 }
108 }
109}

ओरेकल नोड्स

ओरेकल नोड ओरेकल सेवा का ऑफ-चेन घटक है। यह बाहरी स्रोतों, जैसे कि तीसरे पक्ष के सर्वर पर होस्ट किए गए APIs से जानकारी निकालता है, और इसे स्मार्ट अनुबंधों द्वारा उपभोग के लिए ऑन-चेन रखता है। ओरेकल नोड्स ऑन-चेन ओरेकल अनुबंध से इवेंट्स के लिए सुनते हैं और लॉग में वर्णित कार्य को पूरा करने के लिए आगे बढ़ते हैं।

ओरेकल नोड्स के लिए एक सामान्य कार्य HTTP GET (opens in a new tab) अनुरोध को एक API सेवा को भेजना, प्रासंगिक डेटा निकालने के लिए प्रतिक्रिया को पार्स करना, इसे ब्लॉकचेन-पठनीय आउटपुट में स्वरूपित करना, और इसे ओरेकल अनुबंध के लेनदेन में शामिल करके ऑन-चेन भेजना है। ऑरेकल नोड को "प्रामाणिकता प्रमाण" का उपयोग करके सबमिट की गई जानकारी की वैधता और अखंडता को प्रमाणित करने की भी आवश्यकता हो सकती है, जिसे हम बाद में खोजते हैं।

कम्प्यूटेशनल ओरेकल्स भी कम्प्यूटेशनल कार्यों को करने के लिए ऑफ-चेन नोड्स पर भरोसा करते हैं जो गैस लागत और ब्लॉक आकार की सीमाओं को देखते हुए ऑन-चेन पर निष्पादित करने के लिए अव्यावहारिक होंगे। उदाहरण के लिए, ऑरेकल नोड को एक सत्यापन यादृच्छिक आंकड़ा (जैसे, ब्लॉकचेन-आधारित गेम के लिए) उत्पन्न करने का काम सौंपा जा सकता है।

ओरेकल डिजाइन पैटर्न

ओरेकल्स विभिन्न प्रकारों में आते हैं, जिनमें immediate-read, publish-subscribe, और request-response शामिल हैं, जिनमें से बाद के दो एथेरियम स्मार्ट अनुबंधों में सबसे लोकप्रिय हैं। यहां हम संक्षेप में प्रकाशन-सदस्यता और अनुरोध-प्रतिक्रिया मॉडल का वर्णन करते हैं।

पब्लिश-सब्सक्राइब ओरेकल्स

इस प्रकार का ओरेकल एक "डेटा फीड" को उजागर करता है जिसे अन्य अनुबंध नियमित रूप से जानकारी के लिए पढ़ सकते हैं। इस मामले में डेटा बार-बार बदलने की उम्मीद है, इसलिए क्लाइंट अनुबंधों को ऑरेकल के भंडारण में डेटा के अपडेट के लिए सुनना चाहिए। एक उदाहरण एक दैवज्ञ है जो उपयोगकर्ताओं को नवीनतम ETH-USD मूल्य जानकारी प्रदान करता है।

रिक्वेस्ट-रिस्पांस ओरेकल्स

एक अनुरोध-प्रतिक्रिया सेटअप क्लाइंट अनुबंध को प्रकाशन-सदस्यता ऑरेकल द्वारा प्रदान किए गए डेटा के अलावा अन्य मनमाने ढंग से डेटा का अनुरोध करने की अनुमति देता है। अनुरोध-प्रतिक्रिया ओरेकल आदर्श होते हैं जब डेटासेट स्मार्ट अनुबंध के भंडारण में संग्रहीत होने के लिए बहुत बड़ा होता है, और/या उपयोगकर्ताओं को किसी भी समय डेटा के केवल एक छोटे से हिस्से की आवश्यकता होगी।

हालांकि प्रकाशन-सदस्यता मॉडल की तुलना में अधिक जटिल, अनुरोध-प्रतिक्रिया दैवज्ञ मूल रूप से वही हैं जो हमने पिछले अनुभाग में वर्णित किए थे। ओरेकल में एक ऑन-चेन घटक होगा जो डेटा अनुरोध प्राप्त करता है और इसे प्रसंस्करण के लिए एक ऑफ-चेन नोड को पास करता है।

डेटा क्वेरी शुरू करने वाले यूज़र्स को ऑफ-चेन स्रोत से जानकारी प्राप्त करने की लागत को कवर करना होगा। क्लाइंट अनुबंध को अनुरोध में निर्दिष्ट कॉलबैक फ़ंक्शन के माध्यम से प्रतिक्रिया वापस करने में ओरेकल अनुबंध द्वारा किए गए गैस लागत को कवर करने के लिए धन भी प्रदान करना चाहिए।

केंद्रीकृत बनाम विकेन्द्रीकृत ओरेकल्स

केंद्रीकृत ओरेकल्स

एक केंद्रीकृत ओरेकल एक एकल इकाई द्वारा नियंत्रित होता है जो ऑफ-चेन जानकारी एकत्र करने और अनुरोध के अनुसार ओरेकल अनुबंध के डेटा को अपडेट करने के लिए जिम्मेदार होता है। केंद्रीकृत दैवज्ञ कुशल हैं क्योंकि वे सत्य के एक स्रोत पर भरोसा करते हैं। वे उन मामलों में बेहतर कार्य कर सकते हैं जहां मालिकाना डेटासेट सीधे मालिक द्वारा व्यापक रूप से स्वीकृत हस्ताक्षर के साथ प्रकाशित किए जाते हैं। हालाँकि, वे डाउनसाइड्स भी लाते हैं:

कम शुद्धता की गारंटी

केंद्रीकृत दैवज्ञों के साथ, यह पुष्टि करने का कोई तरीका नहीं है कि प्रदान की गई जानकारी सही है या नहीं। यहां तक कि "सम्मानित" प्रदाता दुष्ट हो सकते हैं या हैक हो सकते हैं। यदि ओरेकल भ्रष्ट हो जाता है, तो स्मार्ट अनुबंध खराब डेटा के आधार पर निष्पादित होंगे।

खराब उपलब्धता

केंद्रीकृत ओरेकल्स को हमेशा अन्य स्मार्ट अनुबंधों के लिए ऑफ-चेन डेटा उपलब्ध कराने की गारंटी नहीं होती है। यदि प्रदाता सेवा को बंद करने का निर्णय लेता है या एक हैकर ओरेकल के ऑफ-चेन घटक को हाईजैक करता है, तो आपके स्मार्ट अनुबंध को सेवा से इनकार (DoS) हमले का खतरा है।

खराब प्रोत्साहन संगतता

केंद्रीकृत ऑरेकल में अक्सर डेटा प्रदाता के लिए सटीक/अनछुई जानकारी भेजने के लिए खराब डिज़ाइन या गैर-मौजूद प्रोत्साहन होते हैं। शुद्धता के लिए एक ओरेकल का भुगतान ईमानदारी की गारंटी नहीं देता है। यह समस्या बड़ी हो जाती है क्योंकि स्मार्ट कॉन्ट्रैक्ट्स द्वारा नियंत्रित मूल्य की मात्रा बढ़ जाती है।

विकेन्द्रीकृत ओरेकल्स

विकेंद्रीकृत दैवज्ञों को विफलता के एकल बिंदुओं को समाप्त करके केंद्रीकृत दैवज्ञों की सीमाओं को दूर करने के लिए डिज़ाइन किया गया है। एक विकेन्द्रीकृत ओरेकल सेवा में एक पीयर-टू-पीयर नेटवर्क में कई प्रतिभागी शामिल होते हैं जो इसे स्मार्ट अनुबंध में भेजने से पहले ऑफ-चेन डेटा पर सहमति बनाते हैं।

एक विकेन्द्रीकृत ओरेकल (आदर्श रूप से) एक केंद्रीय पार्टी द्वारा अनुमति रहित, भरोसेमंद और प्रशासन से मुक्त होना चाहिए; वास्तव में, ओरेकल के बीच विकेंद्रीकरण एक स्पेक्ट्रम पर है। अर्ध-विकेन्द्रीकृत ओरेकल नेटवर्क हैं जहां कोई भी भाग ले सकता है, लेकिन एक "मालिक" के साथ जो ऐतिहासिक प्रदर्शन के आधार पर नोड्स को मंजूरी देता है और हटाता है। पूरी तरह से विकेन्द्रीकृत ओरेकल नेटवर्क भी मौजूद हैं: ये आमतौर पर स्टैंडअलोन ब्लॉकचेन के रूप में चलते हैं और नोड्स के समन्वय और दुर्व्यवहार को दंडित करने के लिए सर्वसम्मति तंत्र को परिभाषित करते हैं।

विकेन्द्रीकृत दैवज्ञों का उपयोग निम्नलिखित लाभों के साथ आता है:

उच्च शुद्धता की गारंटी

विकेंद्रीकृत ओरेकल विभिन्न दृष्टिकोणों का उपयोग करके डेटा की शुद्धता प्राप्त करने का प्रयास करते हैं। इसमें लौटाई गई जानकारी की प्रामाणिकता और अखंडता को प्रमाणित करने वाले प्रमाणों का उपयोग करना और ऑफ-चेन डेटा की वैधता पर सामूहिक रूप से सहमत होने के लिए कई संस्थाओं की आवश्यकता शामिल है।

प्रामाणिकता प्रमाण

प्रामाणिकता प्रमाण क्रिप्टोग्राफिक तंत्र हैं जो बाहरी स्रोतों से प्राप्त जानकारी के स्वतंत्र सत्यापन को सक्षम करते हैं। ये प्रमाण सूचना के स्रोत को मान्य कर सकते हैं और पुनर्प्राप्ति के बाद डेटा में संभावित परिवर्तनों का पता लगा सकते हैं।

प्रामाणिकता प्रमाणों के उदाहरणों में शामिल हैं:

ट्रांसपोर्ट लेयर सिक्योरिटी (TLS) प्रमाण: Oracle नोड्स अक्सर ट्रांसपोर्ट लेयर सिक्योरिटी (TLS) प्रोटोकॉल पर आधारित एक सुरक्षित HTTP कनेक्शन का उपयोग करके बाहरी स्रोतों से डेटा प्राप्त करते हैं। कुछ विकेन्द्रीकृत ओरेकल टीएलएस सत्रों को सत्यापित करने के लिए प्रामाणिकता प्रमाणों का उपयोग करते हैं (यानी, एक नोड और एक विशिष्ट सर्वर के बीच सूचना के आदान-प्रदान की पुष्टि करते हैं) और पुष्टि करते हैं कि सत्र की सामग्री को बदला नहीं गया था।

विश्वसनीय निष्पादन पर्यावरण (TEE) सत्यापन: एक विश्वसनीय निष्पादन वातावरण (opens in a new tab) (TEE) एक सैंडबॉक्स्ड कम्प्यूटेशनल वातावरण है जो अपने मेजबान सिस्टम की परिचालन प्रक्रियाओं से अलग है। टीईई यह सुनिश्चित करता है कि गणना वातावरण में संग्रहीत/उपयोग किया गया जो भी एप्लिकेशन कोड या डेटा अखंडता, गोपनीयता और अपरिवर्तनीयता को बरकरार रखता है। उपयोगकर्ता यह साबित करने के लिए एक सत्यापन भी उत्पन्न कर सकते हैं कि कोई अनुप्रयोग आवृत्ति विश्वसनीय निष्पादन परिवेश में चल रही है.

विकेन्द्रीकृत दैवज्ञों के कुछ वर्गों को टीईई सत्यापन प्रदान करने के लिए ओरेकल नोड ऑपरेटरों की आवश्यकता होती है। यह एक उपयोगकर्ता के लिए पुष्टि करता है कि नोड ऑपरेटर एक विश्वसनीय निष्पादन वातावरण में oracle क्लाइंट की आवृत्ति चला रहा है। टीईई बाहरी प्रक्रियाओं को किसी एप्लिकेशन के कोड और डेटा को बदलने या पढ़ने से रोकते हैं, इसलिए, वे सत्यापन साबित करते हैं कि ओरेकल नोड ने जानकारी को बरकरार और गोपनीय रखा है।

जानकारी का सहमति-आधारित सत्यापन

केंद्रीकृत ओरेकल स्मार्ट अनुबंधों को डेटा प्रदान करते समय सत्य के एकल स्रोत पर भरोसा करते हैं, जो गलत जानकारी प्रकाशित करने की संभावना का परिचय देता है। विकेन्द्रीकृत ओरेकल्स ऑफ-चेन जानकारी को क्वेरी करने के लिए कई ओरेकल नोड्स पर भरोसा करके इस समस्या को हल करते हैं। कई स्रोतों से डेटा की तुलना करके, विकेन्द्रीकृत ओरेकल्स ऑन-चेन अनुबंधों में अमान्य जानकारी भेजने के जोखिम को कम करते हैं।

हालांकि, विकेन्द्रीकृत ओरेकल्स को कई ऑफ-चेन स्रोतों से प्राप्त जानकारी में विसंगतियों से निपटना होगा। जानकारी में अंतर को कम करने और यह सुनिश्चित करने के लिए कि ओरेकल अनुबंध को पारित डेटा ओरेकल नोड्स की सामूहिक राय को दर्शाता है, विकेन्द्रीकृत ऑरेकल निम्नलिखित तंत्रों का उपयोग करते हैं:

डेटा की सटीकता पर मतदान /

कुछ विकेन्द्रीकृत ऑरेकल नेटवर्क को प्रतिभागियों को डेटा प्रश्नों के उत्तरों की सटीकता पर मतदान करने या दांव लगाने की आवश्यकता होती है (उदाहरण के लिए, "2020 का अमेरिकी चुनाव किसने जीता?") नेटवर्क के मूल टोकन का उपयोग करना। एक एकत्रीकरण प्रोटोकॉल तब वोटों और दांव को एकत्र करता है और बहुमत द्वारा समर्थित उत्तर को वैध के रूप में लेता है।

नोड्स जिनके उत्तर बहुमत के उत्तर से विचलित होते हैं, उन्हें उनके टोकन को दूसरों को वितरित करके दंडित किया जाता है जो अधिक सही मान प्रदान करते हैं। डेटा प्रदान करने से पहले नोड्स को एक बांड प्रदान करने के लिए मजबूर करना ईमानदार प्रतिक्रियाओं को प्रोत्साहित करता है क्योंकि उन्हें तर्कसंगत आर्थिक अभिनेताओं के रूप में माना जाता है जो रिटर्न को अधिकतम करने का इरादा रखते हैं।

स्टेकिंग/वोटिंग विकेन्द्रीकृत ओरेकल्स को से भी बचाता है, जहां दुर्भावनापूर्ण अभिनेता सहमति प्रणाली को गेम करने के लिए कई पहचान बनाते हैं। हालांकि, स्टेकिंग "फ्रीलोडिंग" (ओरेकल नोड्स दूसरों से जानकारी की प्रतिलिपि बनाना) और "आलसी सत्यापन" (स्वयं जानकारी को सत्यापित किए बिना बहुमत के बाद ओरेकल नोड्स) को रोक नहीं सकता है।

शेलिंग बिंदु तंत्र

Schelling point (opens in a new tab) एक गेम-थ्योरी अवधारणा है जो मानती है कि कई संस्थाएं हमेशा किसी भी संचार के अभाव में किसी समस्या के सामान्य समाधान के लिए डिफ़ॉल्ट होंगी। शेलिंग-पॉइंट तंत्र का उपयोग अक्सर विकेन्द्रीकृत ऑरेकल नेटवर्क में किया जाता है ताकि नोड्स डेटा अनुरोधों के उत्तर पर आम सहमति तक पहुंच सकें।

इसके लिए एक प्रारंभिक विचार SchellingCoin (opens in a new tab) था, एक प्रस्तावित डेटा फीड जहां प्रतिभागी "स्केलर" प्रश्नों के उत्तर प्रस्तुत करते हैं (ऐसे प्रश्न जिनके उत्तर परिमाण द्वारा वर्णित हैं, उदाहरण के लिए, "ETH की कीमत क्या है?"), एक जमा के साथ। जो यूज़र्स 25वें और 75वें प्रतिशत (opens in a new tab) के बीच मान प्रदान करते हैं, उन्हें पुरस्कृत किया जाता है, जबकि जिनके मान माध्यिका मान से काफी हद तक विचलित होते हैं, उन्हें दंडित किया जाता है।

हालांकि SchellingCoin आज मौजूद नहीं है, कई विकेन्द्रीकृत ओरेकल्स - विशेष रूप से Maker प्रोटोकॉल के Oracles (opens in a new tab) - ओरेकल डेटा की सटीकता में सुधार के लिए शेलिंग-पॉइंट तंत्र का उपयोग करते हैं। प्रत्येक Maker Oracle में नोड्स ("relayers" और "feeds") का एक ऑफ-चेन P2P नेटवर्क होता है जो संपार्श्विक परिसंपत्तियों के लिए बाजार मूल्य जमा करता है और एक ऑन-चेन “Medianizer” अनुबंध जो सभी प्रदान किए गए मानों की माध्यिका की गणना करता है। एक बार निर्दिष्ट विलंब अवधि समाप्त हो जाने के बाद, यह औसत मूल्य संबंधित परिसंपत्ति के लिए नया संदर्भ मूल्य बन जाता है।

शेलिंग पॉइंट तंत्र का उपयोग करने वाले ओरेकल्स के अन्य उदाहरणों में चेनलिंक Offchain Reporting (opens in a new tab) और Witnet (opens in a new tab) शामिल हैं। दोनों प्रणालियों में, पीयर-टू-पीयर नेटवर्क में ऑरेकल नोड्स की प्रतिक्रियाओं को एक एकल कुल मूल्य में एकत्रित किया जाता है, जैसे कि माध्य या माध्यिका। नोड्स को उस सीमा के अनुसार पुरस्कृत या दंडित किया जाता है जिस तक उनकी प्रतिक्रियाएं कुल मूल्य के साथ संरेखित या विचलित होती हैं।

शेलिंग पॉइंट तंत्र आकर्षक हैं क्योंकि वे विकेंद्रीकरण की गारंटी देते हुए ऑन-चेन पदचिह्न (केवल एक लेनदेन भेजने की आवश्यकता है) को कम करते हैं। उत्तरार्द्ध संभव है क्योंकि नोड्स को प्रस्तुत प्रतिक्रियाओं की सूची पर हस्ताक्षर करना चाहिए, इससे पहले कि इसे एल्गोरिदम में खिलाया जाए जो माध्य/औसत मूल्य उत्पन्न करता है।

उपलब्धता

विकेन्द्रीकृत ओरेकल सेवाएं स्मार्ट अनुबंधों के लिए ऑफ-चेन डेटा की उच्च उपलब्धता सुनिश्चित करती हैं। यह ऑफ-चेन सूचना के स्रोत और ऑन-चेन जानकारी को स्थानांतरित करने के लिए जिम्मेदार नोड्स दोनों को विकेंद्रीकृत करके प्राप्त किया जाता है।

यह दोष-सहिष्णुता सुनिश्चित करता है क्योंकि ओरेकल अनुबंध अन्य अनुबंधों से प्रश्नों को निष्पादित करने के लिए कई नोड्स (जो कई डेटा स्रोतों पर भी भरोसा करते हैं) पर भरोसा कर सकता है। स्रोत और नोड-ऑपरेटर स्तर पर विकेंद्रीकरण महत्वपूर्ण है—एक ही स्रोत से प्राप्त जानकारी की सेवा करने वाले ओरेकल नोड्स का एक नेटवर्क एक केंद्रीकृत ओरेकल के समान समस्या में चलेगा।

यह भी संभव है कि स्टेक-आधारित ओरेकल्स उन नोड ऑपरेटरों को स्लैश कर सकते हैं जो डेटा अनुरोधों का तुरंत जवाब देने में विफल रहते हैं। यह ओरेकल नोड्स को दोष-सहिष्णु बुनियादी ढांचे में निवेश करने और समय पर फैशन में डेटा प्रदान करने के लिए प्रोत्साहित करता है।

अच्छी प्रोत्साहन संगतता

विकेन्द्रीकृत ओरेकल्स ओरेकल नोड्स के बीच Byzantine (opens in a new tab) व्यवहार को रोकने के लिए विभिन्न प्रोत्साहन डिजाइनों को लागू करते हैं। विशेष रूप से, वे attributability और जवाबदेही प्राप्त करते हैं:

  1. विकेंद्रीकृत ऑरेकल नोड्स को अक्सर डेटा अनुरोधों के जवाब में प्रदान किए गए डेटा पर हस्ताक्षर करने की आवश्यकता होती है। यह जानकारी ओरेकल नोड्स के ऐतिहासिक प्रदर्शन का मूल्यांकन करने में मदद करती है, जैसे कि उपयोगकर्ता डेटा अनुरोध करते समय अविश्वसनीय ओरेकल नोड्स को फ़िल्टर कर सकते हैं। एक उदाहरण Witnet का एल्गोरिद्मिक रेप्युटेशन सिस्टम (opens in a new tab) है।

  2. विकेंद्रीकृत ओरेकल - जैसा कि पहले बताया गया है - नोड्स को उनके द्वारा सबमिट किए गए डेटा की सच्चाई में उनके विश्वास पर दांव लगाने की आवश्यकता हो सकती है। यदि दावा चेक आउट हो जाता है, तो इस हिस्सेदारी को ईमानदार सेवा के लिए पुरस्कार के साथ वापस किया जा सकता है। लेकिन जानकारी गलत होने की स्थिति में इसे घटाया भी जा सकता है, जो जवाबदेही के कुछ उपाय प्रदान करता है।

स्मार्ट अनुबंधों में ओरेकल्स के अनुप्रयोग

एथेरियम में दैवज्ञों के लिए सामान्य उपयोग-मामले निम्नलिखित हैं:

वित्तीय डेटा पुनर्प्राप्त करना

विकेंद्रीकृत वित्त (डीफाई) एप्लिकेशन पीयर-टू-पीयर उधार, उधार लेने और परिसंपत्तियों के व्यापार की अनुमति देते हैं। इसके लिए अक्सर विनिमय दर डेटा (क्रिप्टोकरेंसी के फिएट मूल्य की गणना करने या टोकन कीमतों की तुलना करने के लिए) और पूंजी बाजार डेटा (टोकनयुक्त परिसंपत्तियों के मूल्य की गणना के लिए, जैसे सोना या अमेरिकी डॉलर) सहित विभिन्न वित्तीय जानकारी प्राप्त करने की आवश्यकता होती है।

उदाहरण के लिए, एक डीफाई लेंडिंग प्रोटोकॉल को संपार्श्विक के रूप में जमा की गई परिसंपत्तियों (जैसे, ETH) के लिए वर्तमान बाजार मूल्यों को क्वेरी करने की आवश्यकता होती है। यह अनुबंध को संपार्श्विक परिसंपत्तियों के मूल्य का निर्धारण करने देता है और यह निर्धारित करता है कि यह सिस्टम से कितना उधार ले सकता है।

डीफाई में लोकप्रिय “प्राइस ओरेकल्स” (जैसा कि उन्हें अक्सर कहा जाता है) में चेनलिंक प्राइस फ़ीड्स, Compound प्रोटोकॉल का ओपन प्राइस फ़ीड (opens in a new tab), यूनिस्वैप का टाइम-वेटेड एवरेज प्राइसेस (TWAPs) (opens in a new tab), और Maker Oracles (opens in a new tab) शामिल हैं।

बिल्डरों को अपनी परियोजना में एकीकृत करने से पहले इन मूल्य दैवज्ञों के साथ आने वाली चेतावनियों को समझना चाहिए। यह लेख (opens in a new tab) इस बात का विस्तृत विश्लेषण प्रदान करता है कि उल्लिखित किसी भी प्राइस ओरेकल का उपयोग करने की योजना बनाते समय क्या विचार करना चाहिए।

नीचे एक उदाहरण दिया गया है कि आप चेनलिंक मूल्य फ़ीड का उपयोग करके अपने स्मार्ट अनुबंध में नवीनतम ईटीएच मूल्य कैसे प्राप्त कर सकते हैं:

1pragma solidity ^0.6.7;
2
3import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol";
4
5contract PriceConsumerV3 {
6
7 AggregatorV3Interface internal priceFeed;
8
9 /**
10 * नेटवर्क: Kovan
11 * एग्रीगेटर: ETH/USD
12 * पता: 0x9326BFA02ADD2366b30bacB125260Af641031331
13 */
14 constructor() public {
15 priceFeed = AggregatorV3Interface(0x9326BFA02ADD2366b30bacB125260Af641031331);
16 }
17
18 /**
19 * नवीनतम मूल्य लौटाता है
20 */
21 function getLatestPrice() public view returns (int) {
22 (
23 uint80 roundID,
24 int price,
25 uint startedAt,
26 uint timeStamp,
27 uint80 answeredInRound
28 ) = priceFeed.latestRoundData();
29 return price;
30 }
31}

सत्यापन योग्य यादृच्छिकता उत्पन्न करना

कुछ ब्लॉकचेन अनुप्रयोगों, जैसे ब्लॉकचेन-आधारित गेम या लॉटरी योजनाओं को प्रभावी ढंग से काम करने के लिए उच्च स्तर की अप्रत्याशितता और यादृच्छिकता की आवश्यकता होती है। हालांकि, ब्लॉकचेन का नियतात्मक निष्पादन यादृच्छिकता को समाप्त करता है।

मूल दृष्टिकोण blockhash जैसे स्यूडोरैंडम क्रिप्टोग्राफ़िक फ़ंक्शंस का उपयोग करना था, लेकिन इन्हें माइनर्स द्वारा हेरफेर किया जा सकता था (opens in a new tab) काम का सबूत एल्गोरिथम को हल करना। इसके अलावा, एथेरियम का हिस्सेदारी के सबूत पर स्विच का मतलब है कि डेवलपर्स अब ऑन-चेन यादृच्छिकता के लिए blockhash पर भरोसा नहीं कर सकते हैं। बीकन चेन का RANDAO तंत्र (opens in a new tab) इसके बजाय यादृच्छिकता का एक वैकल्पिक स्रोत प्रदान करता है।

यादृच्छिक मान को ऑफ-चेन उत्पन्न करना और इसे ऑन-चेन भेजना संभव है, लेकिन ऐसा करने से यूज़र्स पर उच्च विश्वास आवश्यकताएं लागू होती हैं। उन्हें विश्वास होना चाहिए कि मूल्य वास्तव में अप्रत्याशित तंत्र के माध्यम से उत्पन्न हुआ था और पारगमन में बदलाव नहीं किया गया था।

ऑफ-चेन गणना के लिए डिज़ाइन किए गए ओरेकल्स सुरक्षित रूप से यादृच्छिक परिणामों को ऑफ-चेन उत्पन्न करके इस समस्या को हल करते हैं जो वे प्रक्रिया की अप्रत्याशितता को प्रमाणित करने वाले क्रिप्टोग्राफ़िक प्रमाणों के साथ ऑन-चेन प्रसारित करते हैं। एक उदाहरण चेनलिंक VRF (opens in a new tab) (वेरिफ़ाएबल रैंडम फ़ंक्शन) है, जो एक सिद्ध रूप से निष्पक्ष और छेड़छाड़-प्रूफ रैंडम नंबर जेनरेटर (RNG) है जो अप्रत्याशित परिणामों पर निर्भर रहने वाले एप्लिकेशन के लिए विश्वसनीय स्मार्ट अनुबंध बनाने के लिए उपयोगी है।

इवेंट्स के लिए परिणाम प्राप्त करना

ओरेकल के साथ, वास्तविक दुनिया की घटनाओं का जवाब देने वाले स्मार्ट अनुबंध बनाना आसान है। ओरेकल सेवाएं अनुबंधों को ऑफ-चेन घटकों के माध्यम से बाहरी APIs से जुड़ने और उन डेटा स्रोतों से जानकारी का उपभोग करने की अनुमति देकर इसे संभव बनाती हैं। उदाहरण के लिए, पहले उल्लेख किया गया भविष्यवाणी डैप एक विश्वसनीय ऑफ-चेन स्रोत (उदाहरण के लिए, एसोसिएटेड प्रेस) से चुनाव परिणाम वापस करने के लिए एक ओरेकल से अनुरोध कर सकता है।

वास्तविक दुनिया के परिणामों के आधार पर डेटा पुनर्प्राप्त करने के लिए ओरेकल का उपयोग करना अन्य उपन्यास उपयोग के मामलों को सक्षम बनाता है; उदाहरण के लिए, एक विकेन्द्रीकृत बीमा उत्पाद को प्रभावी ढंग से काम करने के लिए मौसम, आपदाओं आदि के बारे में सटीक जानकारी की आवश्यकता होती है।

स्मार्ट अनुबंधों को स्वचालित करना

स्मार्ट अनुबंध स्वचालित रूप से नहीं चलते हैं; बल्कि, एक बाहरी स्वामित्व वाले खाते (ईओए), या किसी अन्य अनुबंध खाते को अनुबंध के कोड को निष्पादित करने के लिए सही कार्यों को ट्रिगर करना चाहिए। ज्यादातर मामलों में, अनुबंध के अधिकांश कार्य सार्वजनिक होते हैं और ईओए और अन्य अनुबंधों द्वारा लागू किए जा सकते हैं।

लेकिन एक अनुबंध के भीतर निजी फ़ंक्शंस भी हैं जो दूसरों के लिए दुर्गम हैं, लेकिन वे एक डैप की समग्र कार्यक्षमता के लिए महत्वपूर्ण हैं। उदाहरणों में एक mintERC721Token() फ़ंक्शन शामिल है जो समय-समय पर यूज़र्स के लिए नए एनएफटीज़ मिंट करता है, भविष्यवाणी बाजार में भुगतान देने के लिए एक फ़ंक्शन, या DEX में स्टेक किए गए टोकन को अनलॉक करने के लिए एक फ़ंक्शन।

डेवलपर्स को एप्लिकेशन को सुचारू रूप से चलाने के लिए अंतराल पर ऐसे कार्यों को ट्रिगर करने की आवश्यकता होगी। हालांकि, इससे डेवलपर्स के लिए सांसारिक कार्यों पर अधिक घंटे खो सकते हैं, यही वजह है कि स्मार्ट अनुबंधों के निष्पादन को स्वचालित करना आकर्षक है।

कुछ विकेन्द्रीकृत ओरेकल नेटवर्क स्वचालन सेवाएं प्रदान करते हैं, जो ऑफ-चेन ओरेकल नोड्स को यूज़र द्वारा परिभाषित मापदंडों के अनुसार स्मार्ट अनुबंध फ़ंक्शंस को ट्रिगर करने की अनुमति देते हैं। आमतौर पर, इसके लिए ओरेकल सेवा के साथ लक्ष्य अनुबंध को "पंजीकृत" करने, ओरेकल ऑपरेटर को भुगतान करने के लिए धन प्रदान करने और अनुबंध को ट्रिगर करने के लिए शर्तों या समय को निर्दिष्ट करने की आवश्यकता होती है।

चेनलिंक का Keeper Network (opens in a new tab) स्मार्ट अनुबंधों को एक विश्वास-न्यूनतम और विकेन्द्रीकृत तरीके से नियमित रखरखाव कार्यों को आउटसोर्स करने के लिए विकल्प प्रदान करता है। अपने अनुबंध को Keeper-संगत बनाने और Upkeep सेवा का उपयोग करने के बारे में जानकारी के लिए आधिकारिक Keeper का दस्तावेज़ीकरण (opens in a new tab) पढ़ें।

ब्लॉकचेन ओरेकल्स का उपयोग कैसे करें

ऐसे कई ऑरेकल एप्लिकेशन हैं जिन्हें आप अपने एथेरियम डैप में एकीकृत कर सकते हैं:

चेनलिंक (opens in a new tab) - Chainlink विकेन्द्रीकृत ओरेकल नेटवर्क किसी भी ब्लॉकचेन पर उन्नत स्मार्ट अनुबंधों का समर्थन करने के लिए छेड़छाड़-प्रूफ़ इनपुट, आउटपुट और गणना प्रदान करते हैं।

RedStone Oracles (opens in a new tab) - RedStone एक विकेन्द्रीकृत मॉड्यूलर ओरेकल है जो गैस-अनुकूलित डेटा फ़ीड प्रदान करता है। यह उभरती हुई संपत्तियों, जैसे लिक्विड स्टेकिंग टोकन (LSTs), लिक्विड रीस्टेकिंग टोकन (LRTs), और बिटकॉइन स्टेकिंग डेरिवेटिव्स के लिए मूल्य फ़ीड की पेशकश करने में माहिर है।

Chronicle (opens in a new tab) - Chronicle वास्तव में स्केलेबल, लागत-कुशल, विकेन्द्रीकृत और सत्यापन योग्य ओरेकल्स विकसित करके ऑन-चेन डेटा स्थानांतरित करने की वर्तमान सीमाओं को पार करता है।

Witnet (opens in a new tab) - Witnet एक अनुमति रहित, विकेन्द्रीकृत और सेंसरशिप-प्रतिरोधी ओरेकल है जो स्मार्ट अनुबंधों को मजबूत क्रिप्टो-आर्थिक गारंटी के साथ वास्तविक दुनिया की इवेंट्स पर प्रतिक्रिया करने में मदद करता है।

UMA Oracle (opens in a new tab) - UMA का आशावादी ओरेकल स्मार्ट अनुबंधों को बीमा, वित्तीय डेरिवेटिव और भविष्यवाणी बाजारों सहित विभिन्न एप्लिकेशन के लिए किसी भी प्रकार का डेटा जल्दी से प्राप्त करने की अनुमति देता है।

टेलर (opens in a new tab) - Tellor आपके स्मार्ट अनुबंध के लिए एक पारदर्शी और अनुमति रहित ओरेकल प्रोटोकॉल है ताकि जब भी उसे आवश्यकता हो तो वह आसानी से कोई भी डेटा प्राप्त कर सके।

Band Protocol (opens in a new tab) - Band Protocol एक क्रॉस-चेन डेटा ओरेकल प्लेटफ़ॉर्म है जो वास्तविक दुनिया के डेटा और APIs को स्मार्ट अनुबंधों से जोड़ता है।

Pyth Network (opens in a new tab) - Pyth नेटवर्क एक प्रथम-पक्षीय वित्तीय ओरेकल नेटवर्क है जिसे छेड़छाड़-प्रतिरोधी, विकेन्द्रीकृत और आत्मनिर्भर वातावरण में निरंतर वास्तविक दुनिया के डेटा को ऑन-चेन प्रकाशित करने के लिए डिज़ाइन किया गया है।

API3 डाओ (opens in a new tab) - API3 डाओ प्रथम-पक्षीय ओरेकल समाधान प्रदान कर रहा है जो स्मार्ट अनुबंधों के लिए एक विकेन्द्रीकृत समाधान में अधिक स्रोत पारदर्शिता, सुरक्षा और मापनीयता प्रदान करता है।

Supra (opens in a new tab) - क्रॉस-चेन समाधानों का एक लंबवत एकीकृत टूलकिट जो सभी ब्लॉकचेन, सार्वजनिक (L1s और L2s) या निजी (उद्यम), को आपस में जोड़ता है, विकेन्द्रीकृत ओरेकल मूल्य फ़ीड प्रदान करता है जिसका उपयोग ऑन-चेन और ऑफ-चेन उपयोग-मामलों के लिए किया जा सकता है।

Gas Network (opens in a new tab) - एक वितरित ओरेकल प्लेटफ़ॉर्म जो पूरे ब्लॉकचेन में वास्तविक समय में गैस मूल्य डेटा प्रदान करता है। प्रमुख गैस मूल्य डेटा प्रदाताओं से डेटा ऑन-चेन लाकर, Gas Network इंटरऑपरेबिलिटी को चलाने में मदद कर रहा है। Gas Network एथेरियम मेननेट और कई प्रमुख L2s सहित 35 से अधिक चेनों के लिए डेटा का समर्थन करता है।

आगे की रीडिंग

लेख

वीडियो

ट्यूटोरियल

उदाहरण प्रोजेक्ट्स

क्या यह लेख सहायक था?