ஆரக்கிள்கள் (Oracles)
பக்கம் கடைசியாகப் புதுப்பிக்கப்பட்டது: 26 பிப்ரவரி, 2026
ஆரக்கிள்கள் என்பவை ஆஃப்-செயின் (offchain) தரவு மூலங்களை பிளாக்செயினில் உள்ள ஸ்மார்ட் ஒப்பந்தங்களுக்குக் கிடைக்கச் செய்யும் தரவு ஊட்டங்களை (data feeds) உருவாக்கும் பயன்பாடுகள் ஆகும். எத்தேரியம் அடிப்படையிலான ஸ்மார்ட் ஒப்பந்தங்களால், இயல்பாகவே, பிளாக்செயின் நெட்வொர்க்கிற்கு வெளியே சேமிக்கப்பட்டுள்ள தகவல்களை அணுக முடியாது என்பதால் இது அவசியமாகிறது.
ஆஃப்-செயின் தரவைப் பயன்படுத்திச் செயல்படும் திறனை ஸ்மார்ட் ஒப்பந்தங்களுக்கு வழங்குவது, பரவலாக்கப்பட்ட பயன்பாடுகளின் (dapps) பயன்பாட்டையும் மதிப்பையும் விரிவுபடுத்துகிறது. எடுத்துக்காட்டாக, ஆன்-செயின் (onchain) கணிப்புச் சந்தைகள் (prediction markets) பயனர்களின் கணிப்புகளைச் சரிபார்க்கப் பயன்படுத்தும் முடிவுகள் பற்றிய தகவல்களை வழங்க ஆரக்கிள்களையே நம்பியுள்ளன. அடுத்த அமெரிக்க ஜனாதிபதி யார் என்பதில் ஆலிஸ் 20 ETH பந்தயம் கட்டுகிறார் என்று வைத்துக்கொள்வோம். அந்த நிலையில், தேர்தல் முடிவுகளை உறுதிப்படுத்தவும், ஆலிஸ் பணம் பெறத் தகுதியானவரா என்பதைத் தீர்மானிக்கவும் கணிப்பு-சந்தை டாப் (dapp)-க்கு ஒரு ஆரக்கிள் தேவைப்படுகிறது.
முன்நிபந்தனைகள்
இந்தப் பக்கம் வாசகருக்கு எத்தேரியம் அடிப்படைகள், முனைகள் (nodes), கருத்தொற்றுமை வழிமுறைகள் (consensus mechanisms), மற்றும் EVM ஆகியவை தெரிந்திருப்பதாகக் கருதுகிறது. ஸ்மார்ட் ஒப்பந்தங்கள் மற்றும் ஸ்மார்ட் ஒப்பந்தக் கட்டமைப்பு, குறிப்பாக பற்றிய நல்ல புரிதலும் உங்களுக்கு இருக்க வேண்டும்.
பிளாக்செயின் ஆரக்கிள் என்றால் என்ன?
ஆரக்கிள்கள் என்பவை வெளிப்புறத் தகவல்களை (அதாவது, ஆஃப்-செயினில் சேமிக்கப்பட்ட தகவல்கள்) பிளாக்செயினில் இயங்கும் ஸ்மார்ட் ஒப்பந்தங்களுக்குப் பெற்று, சரிபார்த்து, அனுப்பும் பயன்பாடுகள் ஆகும். ஆஃப்-செயின் தரவை "இழுத்து" (pulling) எத்தேரியத்தில் ஒளிபரப்புவதோடு மட்டுமல்லாமல், ஆரக்கிள்களால் பிளாக்செயினிலிருந்து வெளிப்புற அமைப்புகளுக்குத் தகவல்களை "தள்ளவும்" (push) முடியும், எ.கா., பயனர் எத்தேரியம் பரிவர்த்தனை மூலம் கட்டணம் செலுத்தியவுடன் ஸ்மார்ட் பூட்டைத் திறப்பது.
ஆரக்கிள் இல்லாமல், ஒரு ஸ்மார்ட் ஒப்பந்தம் முழுமையாக ஆன்-செயின் தரவுகளுக்கு மட்டுமே வரம்பிடப்பட்டிருக்கும்.
தரவின் ஆதாரம் (ஒன்று அல்லது பல ஆதாரங்கள்), நம்பிக்கை மாதிரிகள் (மையப்படுத்தப்பட்ட அல்லது பரவலாக்கப்பட்ட), மற்றும் கணினி கட்டமைப்பு (உடனடி-வாசிப்பு, வெளியீடு-சந்தா, மற்றும் கோரிக்கை-பதில்) ஆகியவற்றின் அடிப்படையில் ஆரக்கிள்கள் வேறுபடுகின்றன. ஆன்-செயின் ஒப்பந்தங்கள் பயன்படுத்துவதற்காக வெளிப்புறத் தரவை மீட்டெடுக்கின்றனவா (உள்ளீட்டு ஆரக்கிள்கள்), பிளாக்செயினிலிருந்து ஆஃப்-செயின் பயன்பாடுகளுக்குத் தகவல்களை அனுப்புகின்றனவா (வெளியீட்டு ஆரக்கிள்கள்), அல்லது ஆஃப்-செயினில் கணக்கீட்டுப் பணிகளைச் செய்கின்றனவா (கணக்கீட்டு ஆரக்கிள்கள்) என்பதன் அடிப்படையிலும் ஆரக்கிள்களை நாம் வேறுபடுத்தலாம்.
ஸ்மார்ட் ஒப்பந்தங்களுக்கு ஆரக்கிள்கள் ஏன் தேவை?
பல டெவலப்பர்கள் ஸ்மார்ட் ஒப்பந்தங்களை பிளாக்செயினில் குறிப்பிட்ட முகவரிகளில் இயங்கும் குறியீடாகப் பார்க்கிறார்கள். இருப்பினும், ஸ்மார்ட் ஒப்பந்தங்களின் பொதுவான பார்வை என்னவென்றால், அவை குறிப்பிட்ட நிபந்தனைகள் பூர்த்தி செய்யப்பட்டவுடன் தரப்பினருக்கு இடையிலான ஒப்பந்தங்களைச் செயல்படுத்தும் திறன் கொண்ட சுய-செயல்படுத்தும் மென்பொருள் நிரல்களாகும் - எனவேதான் "ஸ்மார்ட் ஒப்பந்தங்கள்" என்ற சொல்.
ஆனால் எத்தேரியம் தீர்மானிக்கப்பட்டதாக (deterministic) இருப்பதால், மக்களுக்கிடையேயான ஒப்பந்தங்களைச் செயல்படுத்த ஸ்மார்ட் ஒப்பந்தங்களைப் பயன்படுத்துவது நேரடியானது அல்ல. ஒரு தீர்மானிக்கப்பட்ட அமைப்பு (deterministic system) (opens in a new tab) என்பது ஆரம்ப நிலை மற்றும் ஒரு குறிப்பிட்ட உள்ளீடு கொடுக்கப்பட்டால் எப்போதும் ஒரே முடிவுகளை உருவாக்கும் ஒன்றாகும், அதாவது உள்ளீடுகளிலிருந்து வெளியீடுகளைக் கணக்கிடும் செயல்பாட்டில் எந்த சீரற்ற தன்மையோ அல்லது மாறுபாடோ இல்லை.
தீர்மானிக்கப்பட்ட செயல்பாட்டை அடைய, பிளாக்செயின்கள் முனைகளை (nodes) பிளாக்செயினிலேயே சேமிக்கப்பட்டுள்ள தரவை மட்டுமே பயன்படுத்தி எளிய பைனரி (உண்மை/பொய்) கேள்விகளில் கருத்தொற்றுமையை எட்டுவதற்கு வரம்பிடச் செய்கின்றன. அத்தகைய கேள்விகளுக்கான எடுத்துக்காட்டுகள்:
- “கணக்கு உரிமையாளர் (பொது விசை மூலம் அடையாளம் காணப்பட்டவர்) இணைக்கப்பட்ட தனிப்பட்ட விசை மூலம் இந்தப் பரிவர்த்தனையில் கையொப்பமிட்டாரா?”
- “இந்தப் பரிவர்த்தனையை ஈடுகட்ட இந்தக் கணக்கில் போதுமான நிதி உள்ளதா?”
- “இந்த ஸ்மார்ட் ஒப்பந்தத்தின் சூழலில் இந்தப் பரிவர்த்தனை செல்லுபடியாகுமா?”, போன்றவை.
பிளாக்செயின்கள் வெளிப்புற ஆதாரங்களில் இருந்து (அதாவது, நிஜ உலகத்திலிருந்து) தகவல்களைப் பெற்றால், தீர்மானிக்கப்பட்ட தன்மையை அடைவது சாத்தியமற்றதாகிவிடும், இதனால் பிளாக்செயினின் நிலையில் ஏற்படும் மாற்றங்களின் செல்லுபடியாகும் தன்மையை முனைகள் ஏற்றுக்கொள்வதைத் தடுக்கும். பாரம்பரிய விலை API இலிருந்து பெறப்பட்ட தற்போதைய ETH-USD மாற்று விகிதத்தின் அடிப்படையில் பரிவர்த்தனையைச் செயல்படுத்தும் ஸ்மார்ட் ஒப்பந்தத்தை உதாரணமாக எடுத்துக் கொள்ளுங்கள். இந்த எண்ணிக்கை அடிக்கடி மாற வாய்ப்புள்ளது (API நிறுத்தப்படலாம் அல்லது ஹேக் செய்யப்படலாம் என்பதைக் குறிப்பிடத் தேவையில்லை), அதாவது ஒரே ஒப்பந்தக் குறியீட்டைச் செயல்படுத்தும் முனைகள் வெவ்வேறு முடிவுகளை வந்தடையும்.
உலகெங்கிலும் ஆயிரக்கணக்கான முனைகள் பரிவர்த்தனைகளைச் செயலாக்கும் எத்தேரியம் போன்ற பொது பிளாக்செயினுக்கு, தீர்மானிக்கப்பட்ட தன்மை முக்கியமானது. உண்மையின் ஆதாரமாகச் செயல்பட எந்தவொரு மைய அதிகாரமும் இல்லாத நிலையில், ஒரே பரிவர்த்தனைகளைப் பயன்படுத்திய பிறகு முனைகள் ஒரே நிலையை வந்தடைவதற்கான வழிமுறைகள் தேவை. முனை A ஒரு ஸ்மார்ட் ஒப்பந்தத்தின் குறியீட்டைச் செயல்படுத்தி "3" ஐ முடிவாகப் பெறுகிறது, அதே சமயம் முனை B அதே பரிவர்த்தனையை இயக்கிய பிறகு "7" ஐப் பெறுகிறது என்ற நிலை ஏற்பட்டால், அது கருத்தொற்றுமையை உடைத்து, பரவலாக்கப்பட்ட கணினி தளமாக எத்தேரியத்தின் மதிப்பை அழித்துவிடும்.
வெளிப்புற ஆதாரங்களில் இருந்து தகவல்களை இழுக்க பிளாக்செயின்களை வடிவமைப்பதில் உள்ள சிக்கலையும் இந்தச் சூழல் எடுத்துக்காட்டுகிறது. இருப்பினும், ஆரக்கிள்கள் ஆஃப்-செயின் ஆதாரங்களில் இருந்து தகவல்களை எடுத்து, ஸ்மார்ட் ஒப்பந்தங்கள் பயன்படுத்துவதற்காக பிளாக்செயினில் சேமிப்பதன் மூலம் இந்தச் சிக்கலைத் தீர்க்கின்றன. ஆன்-செயினில் சேமிக்கப்படும் தகவல்கள் மாற்ற முடியாதவை மற்றும் பொதுவில் கிடைக்கக்கூடியவை என்பதால், எத்தேரியம் முனைகள் கருத்தொற்றுமையை உடைக்காமல் நிலை மாற்றங்களைக் கணக்கிட ஆரக்கிள் இறக்குமதி செய்த ஆஃப்-செயின் தரவைப் பாதுகாப்பாகப் பயன்படுத்தலாம்.
இதைச் செய்ய, ஒரு ஆரக்கிள் பொதுவாக ஆன்-செயினில் இயங்கும் ஸ்மார்ட் ஒப்பந்தம் மற்றும் சில ஆஃப்-செயின் கூறுகளால் ஆனது. ஆன்-செயின் ஒப்பந்தம் மற்ற ஸ்மார்ட் ஒப்பந்தங்களில் இருந்து தரவுக்கான கோரிக்கைகளைப் பெறுகிறது, அதை அது ஆஃப்-செயின் கூறுக்கு (ஆரக்கிள் முனை என்று அழைக்கப்படுகிறது) அனுப்புகிறது. இந்த ஆரக்கிள் முனை தரவு மூலங்களை வினவலாம்—உதாரணமாக, பயன்பாட்டு நிரலாக்க இடைமுகங்களைப் (APIs) பயன்படுத்தி—மற்றும் கோரப்பட்ட தரவை ஸ்மார்ட் ஒப்பந்தத்தின் சேமிப்பகத்தில் சேமிக்கப் பரிவர்த்தனைகளை அனுப்பலாம்.
அடிப்படையில், ஒரு பிளாக்செயின் ஆரக்கிள் பிளாக்செயினுக்கும் வெளிப்புறச் சூழலுக்கும் இடையிலான தகவல் இடைவெளியைக் குறைத்து, "கலப்பின ஸ்மார்ட் ஒப்பந்தங்களை" (hybrid smart contracts) உருவாக்குகிறது. கலப்பின ஸ்மார்ட் ஒப்பந்தம் என்பது ஆன்-செயின் ஒப்பந்தக் குறியீடு மற்றும் ஆஃப்-செயின் உள்கட்டமைப்பு ஆகியவற்றின் கலவையின் அடிப்படையில் செயல்படும் ஒன்றாகும். பரவலாக்கப்பட்ட கணிப்புச் சந்தைகள் கலப்பின ஸ்மார்ட் ஒப்பந்தங்களுக்கு ஒரு சிறந்த எடுத்துக்காட்டு. குறிப்பிட்ட வானிலை நிகழ்வுகள் நடந்துள்ளன என்பதை ஆரக்கிள்களின் தொகுப்பு தீர்மானிக்கும் போது பணம் செலுத்தும் பயிர் காப்பீட்டு ஸ்மார்ட் ஒப்பந்தங்கள் பிற எடுத்துக்காட்டுகளில் அடங்கும்.
ஆரக்கிள் சிக்கல் என்றால் என்ன?
ஆரக்கிள்கள் ஒரு முக்கியமான சிக்கலைத் தீர்க்கின்றன, ஆனால் சில சிக்கல்களையும் அறிமுகப்படுத்துகின்றன, எ.கா.,:
-
செலுத்தப்பட்ட தகவல் சரியான மூலத்திலிருந்து பிரித்தெடுக்கப்பட்டதா அல்லது சிதைக்கப்படவில்லையா என்பதை நாம் எவ்வாறு சரிபார்க்கலாம்?
-
இந்தத் தரவு எப்போதும் கிடைக்கிறது மற்றும் தொடர்ந்து புதுப்பிக்கப்படுகிறது என்பதை நாம் எவ்வாறு உறுதிப்படுத்துவது?
"ஆரக்கிள் சிக்கல்" என்று அழைக்கப்படுவது, ஸ்மார்ட் ஒப்பந்தங்களுக்கு உள்ளீடுகளை அனுப்ப பிளாக்செயின் ஆரக்கிள்களைப் பயன்படுத்துவதில் வரும் சிக்கல்களை விளக்குகிறது. ஒரு ஸ்மார்ட் ஒப்பந்தம் சரியாகச் செயல்பட, ஆரக்கிளில் இருந்து வரும் தரவு சரியாக இருக்க வேண்டும். மேலும், துல்லியமான தகவல்களை வழங்க ஆரக்கிள் ஆபரேட்டர்களை 'நம்ப' வேண்டியிருப்பது ஸ்மார்ட் ஒப்பந்தங்களின் 'நம்பிக்கையற்ற' (trustless) அம்சத்தைக் குறைமதிப்பிற்கு உட்படுத்துகிறது.
வெவ்வேறு ஆரக்கிள்கள் ஆரக்கிள் சிக்கலுக்கு வெவ்வேறு தீர்வுகளை வழங்குகின்றன, அவற்றை நாம் பின்னர் ஆராய்வோம். பின்வரும் சவால்களை அவை எவ்வளவு சிறப்பாகக் கையாள முடியும் என்பதன் அடிப்படையில் ஆரக்கிள்கள் பொதுவாக மதிப்பிடப்படுகின்றன:
-
சரியான தன்மை (Correctness): தவறான ஆஃப்-செயின் தரவின் அடிப்படையில் நிலை மாற்றங்களைத் தூண்டுவதற்கு ஒரு ஆரக்கிள் ஸ்மார்ட் ஒப்பந்தங்களை ஏற்படுத்தக்கூடாது. ஒரு ஆரக்கிள் தரவின் நம்பகத்தன்மை (authenticity) மற்றும் ஒருமைப்பாடு (integrity) ஆகியவற்றுக்கு உத்தரவாதம் அளிக்க வேண்டும். நம்பகத்தன்மை என்பது தரவு சரியான மூலத்திலிருந்து பெறப்பட்டது என்பதாகும், அதே சமயம் ஒருமைப்பாடு என்பது ஆன்-செயினுக்கு அனுப்பப்படுவதற்கு முன்பு தரவு அப்படியே இருந்தது (அதாவது, மாற்றப்படவில்லை) என்பதாகும்.
-
கிடைக்கும் தன்மை (Availability): ஒரு ஆரக்கிள் ஸ்மார்ட் ஒப்பந்தங்கள் செயல்களைச் செயல்படுத்துவதையும் நிலை மாற்றங்களைத் தூண்டுவதையும் தாமதப்படுத்தவோ அல்லது தடுக்கவோ கூடாது. இதன் பொருள், ஆரக்கிளில் இருந்து வரும் தரவு தடையின்றி கோரிக்கையின் பேரில் கிடைக்க வேண்டும்.
-
ஊக்கத்தொகை பொருந்தக்கூடிய தன்மை (Incentive compatibility): ஸ்மார்ட் ஒப்பந்தங்களுக்குச் சரியான தகவல்களைச் சமர்ப்பிக்க ஆஃப்-செயின் தரவு வழங்குநர்களை ஒரு ஆரக்கிள் ஊக்குவிக்க வேண்டும். ஊக்கத்தொகை பொருந்தக்கூடிய தன்மை என்பது பண்புக்கூறு (attributability) மற்றும் பொறுப்புக்கூறல் (accountability) ஆகியவற்றை உள்ளடக்கியது. பண்புக்கூறு என்பது வெளிப்புறத் தகவலின் ஒரு பகுதியை அதன் வழங்குநருடன் இணைக்க அனுமதிக்கிறது, அதே சமயம் பொறுப்புக்கூறல் தரவு வழங்குநர்களை அவர்கள் வழங்கும் தகவலுடன் பிணைக்கிறது, எனவே வழங்கப்படும் தகவலின் தரத்தின் அடிப்படையில் அவர்களுக்கு வெகுமதி அளிக்கப்படலாம் அல்லது அபராதம் விதிக்கப்படலாம்.
பிளாக்செயின் ஆரக்கிள் சேவை எவ்வாறு செயல்படுகிறது?
பயனர்கள்
பயனர்கள் என்பவர்கள் குறிப்பிட்ட செயல்களை முடிக்க பிளாக்செயினுக்கு வெளியே உள்ள தகவல்கள் தேவைப்படும் நிறுவனங்கள் (அதாவது, ஸ்மார்ட் ஒப்பந்தங்கள்) ஆவர். ஆரக்கிள் சேவையின் அடிப்படை பணிப்பாய்வு, பயனர் ஆரக்கிள் ஒப்பந்தத்திற்குத் தரவுக் கோரிக்கையை அனுப்புவதில் தொடங்குகிறது. தரவுக் கோரிக்கைகள் பொதுவாகப் பின்வரும் சில அல்லது அனைத்துக் கேள்விகளுக்கும் பதிலளிக்கும்:
-
கோரப்பட்ட தகவலுக்கு ஆஃப்-செயின் முனைகள் எந்த ஆதாரங்களைக் கலந்தாலோசிக்கலாம்?
-
நிருபர்கள் தரவு மூலங்களிலிருந்து தகவல்களை எவ்வாறு செயலாக்குகிறார்கள் மற்றும் பயனுள்ள தரவுப் புள்ளிகளை எவ்வாறு பிரித்தெடுக்கிறார்கள்?
-
தரவை மீட்டெடுப்பதில் எத்தனை ஆரக்கிள் முனைகள் பங்கேற்கலாம்?
-
ஆரக்கிள் அறிக்கைகளில் உள்ள முரண்பாடுகள் எவ்வாறு நிர்வகிக்கப்பட வேண்டும்?
-
சமர்ப்பிப்புகளை வடிகட்டுவதிலும் அறிக்கைகளை ஒற்றை மதிப்பாக ஒருங்கிணைப்பதிலும் எந்த முறை செயல்படுத்தப்பட வேண்டும்?
ஆரக்கிள் ஒப்பந்தம்
ஆரக்கிள் ஒப்பந்தம் என்பது ஆரக்கிள் சேவைக்கான ஆன்-செயின் கூறு ஆகும். இது மற்ற ஒப்பந்தங்களில் இருந்து தரவுக் கோரிக்கைகளைக் கேட்கிறது, தரவு வினவல்களை ஆரக்கிள் முனைகளுக்கு அனுப்புகிறது, மற்றும் திரும்பப் பெற்ற தரவை கிளையன்ட் ஒப்பந்தங்களுக்கு ஒளிபரப்புகிறது. கோரும் ஒப்பந்தத்திற்கு அனுப்ப ஒரு ஒருங்கிணைந்த மதிப்பை உருவாக்க, திரும்பப் பெற்ற தரவுப் புள்ளிகளில் இந்த ஒப்பந்தம் சில கணக்கீடுகளையும் செய்யலாம்.
தரவுக் கோரிக்கையைச் செய்யும்போது கிளையன்ட் ஒப்பந்தங்கள் அழைக்கும் சில செயல்பாடுகளை ஆரக்கிள் ஒப்பந்தம் வெளிப்படுத்துகிறது. புதிய வினவலைப் பெற்றவுடன், ஸ்மார்ட் ஒப்பந்தம் தரவுக் கோரிக்கையின் விவரங்களுடன் ஒரு பதிவு நிகழ்வை (log event) வெளியிடும். இது பதிவுக்குச் சந்தா செலுத்திய ஆஃப்-செயின் முனைகளுக்கு (பொதுவாக JSON-RPC eth_subscribe கட்டளை போன்ற ஒன்றைப் பயன்படுத்தி) தெரிவிக்கிறது, அவர்கள் பதிவு நிகழ்வில் வரையறுக்கப்பட்ட தரவை மீட்டெடுக்கத் தொடர்கிறார்கள்.
பெட்ரோ கோஸ்டாவின் எடுத்துக்காட்டு ஆரக்கிள் ஒப்பந்தம் (opens in a new tab) கீழே கொடுக்கப்பட்டுள்ளது. இது மற்ற ஸ்மார்ட் ஒப்பந்தங்களின் கோரிக்கையின் பேரில் ஆஃப்-செயின் APIகளை வினவக்கூடிய மற்றும் கோரப்பட்ட தகவல்களை பிளாக்செயினில் சேமிக்கக்கூடிய எளிய ஆரக்கிள் சேவையாகும்:
1pragma solidity >=0.4.21 <0.6.0;23contract Oracle {4 Request[] requests; // ஒப்பந்தத்திற்கு செய்யப்பட்ட கோரிக்கைகளின் பட்டியல்5 uint currentId = 0; // அதிகரிக்கும் கோரிக்கை ஐடி6 uint minQuorum = 2; // இறுதி முடிவை அறிவிப்பதற்கு முன் பெற வேண்டிய குறைந்தபட்ச பதில்களின் எண்ணிக்கை7 uint totalOracleCount = 3; // ஹார்ட்கோட் செய்யப்பட்ட ஆரக்கிள் எண்ணிக்கை89 // ஒரு பொதுவான API கோரிக்கையை வரையறுக்கிறது10 struct Request {11 uint id; // கோரிக்கை ஐடி12 string urlToQuery; // API URL13 string attributeToFetch; // பதிலில் மீட்டெடுக்க வேண்டிய json பண்புக்கூறு (விசை)14 string agreedValue; // விசையிலிருந்து மதிப்பு15 mapping(uint => string) answers; // ஆரக்கிள்களால் வழங்கப்பட்ட பதில்கள்16 mapping(address => uint) quorum; // பதிலைக் கேட்கும் ஆரக்கிள்கள் (1=ஆரக்கிள் வாக்களிக்கவில்லை, 2=ஆரக்கிள் வாக்களித்துள்ளது)17 }1819 // பிளாக்செயினுக்கு வெளியே ஆரக்கிளைத் தூண்டும் நிகழ்வு20 event NewRequest (21 uint id,22 string urlToQuery,23 string attributeToFetch24 );2526 // இறுதி முடிவில் ஒருமித்த கருத்து ஏற்படும் போது தூண்டப்படுகிறது27 event UpdatedRequest (28 uint id,29 string urlToQuery,30 string attributeToFetch,31 string agreedValue32 );3334 function createRequest (35 string memory _urlToQuery,36 string memory _attributeToFetch37 )38 public39 {40 uint length = requests.push(Request(currentId, _urlToQuery, _attributeToFetch, ""));41 Request storage r = requests[length-1];4243 // ஹார்ட்கோட் செய்யப்பட்ட ஆரக்கிள்களின் முகவரி44 r.quorum[address(0x6c2339b46F41a06f09CA0051ddAD54D1e582bA77)] = 1;45 r.quorum[address(0xb5346CF224c02186606e5f89EACC21eC25398077)] = 1;46 r.quorum[address(0xa2997F1CA363D11a0a35bB1Ac0Ff7849bc13e914)] = 1;4748 // பிளாக்செயினுக்கு வெளியே ஆரக்கிளால் கண்டறியப்பட ஒரு நிகழ்வைத் தொடங்கவும்49 emit NewRequest (50 currentId,51 _urlToQuery,52 _attributeToFetch53 );5455 // கோரிக்கை ஐடியை அதிகரிக்கவும்56 currentId++;57 }5859 // தனது பதிலைப் பதிவு செய்ய ஆரக்கிளால் அழைக்கப்படுகிறது60 function updateRequest (61 uint _id,62 string memory _valueRetrieved63 ) public {6465 Request storage currRequest = requests[_id];6667 // நம்பகமான ஆரக்கிள்களின் பட்டியலில் ஆரக்கிள் உள்ளதா என சரிபார்க்கவும்68 // மேலும் ஆரக்கிள் இன்னும் வாக்களிக்கவில்லை என்றால்69 if(currRequest.quorum[address(msg.sender)] == 1){7071 // இந்த முகவரி வாக்களித்துள்ளது எனக் குறிக்கிறது72 currRequest.quorum[msg.sender] = 2;7374 // ஒரு இடம் காலியாகும் வரை பதில்களின் "அணிவரிசை" (array) வழியாகச் சென்று, மீட்டெடுக்கப்பட்ட மதிப்பைச் சேமிக்கவும்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 }8586 uint currentQuorum = 0;8788 // ஆரக்கிள் பட்டியல் வழியாகச் சென்று போதுமான ஆரக்கிள்கள் (குறைந்தபட்ச கோரம்) உள்ளதா என சரிபார்க்கவும்89 // தற்போதைய பதிலையே வாக்களித்துள்ளனவா90 for(uint i = 0; i < totalOracleCount; i++){91 bytes memory a = bytes(currRequest.answers[i]);92 bytes memory b = bytes(_valueRetrieved);9394 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.agreedValue103 );104 }105 }106 }107 }108 }109}அனைத்தையும் காட்டுஆரக்கிள் முனைகள்
ஆரக்கிள் முனை என்பது ஆரக்கிள் சேவையின் ஆஃப்-செயின் கூறு ஆகும். இது மூன்றாம் தரப்பு சேவையகங்களில் ஹோஸ்ட் செய்யப்பட்ட APIகள் போன்ற வெளிப்புற ஆதாரங்களில் இருந்து தகவல்களைப் பிரித்தெடுத்து, ஸ்மார்ட் ஒப்பந்தங்கள் பயன்படுத்துவதற்காக ஆன்-செயினில் வைக்கிறது. ஆரக்கிள் முனைகள் ஆன்-செயின் ஆரக்கிள் ஒப்பந்தத்திலிருந்து நிகழ்வுகளைக் கேட்டு, பதிவில் விவரிக்கப்பட்டுள்ள பணியை முடிக்கத் தொடர்கின்றன.
ஆரக்கிள் முனைகளுக்கான பொதுவான பணி, API சேவைக்கு HTTP GET (opens in a new tab) கோரிக்கையை அனுப்புவது, தொடர்புடைய தரவைப் பிரித்தெடுக்கப் பதிலைப் பாகுபடுத்துவது, பிளாக்செயின் படிக்கக்கூடிய வெளியீடாக வடிவமைப்பது, மற்றும் ஆரக்கிள் ஒப்பந்தத்திற்கான பரிவர்த்தனையில் அதைச் சேர்ப்பதன் மூலம் ஆன்-செயினுக்கு அனுப்புவது ஆகும். சமர்ப்பிக்கப்பட்ட தகவலின் செல்லுபடியாகும் தன்மை மற்றும் ஒருமைப்பாட்டை "நம்பகத்தன்மை சான்றுகள்" (authenticity proofs) மூலம் சான்றளிக்க ஆரக்கிள் முனை தேவைப்படலாம், இதை நாம் பின்னர் ஆராய்வோம்.
எரிவாயு செலவுகள் மற்றும் தொகுதி அளவு வரம்புகளைக் கருத்தில் கொண்டு, ஆன்-செயினில் செயல்படுத்துவது நடைமுறைக்குச் சாத்தியமில்லாத கணக்கீட்டுப் பணிகளைச் செய்ய கணக்கீட்டு ஆரக்கிள்களும் ஆஃப்-செயின் முனைகளை நம்பியுள்ளன. எடுத்துக்காட்டாக, சரிபார்க்கக்கூடிய சீரற்ற எண்ணை (எ.கா., பிளாக்செயின் அடிப்படையிலான கேம்களுக்கு) உருவாக்கும் பணி ஆரக்கிள் முனைக்கு வழங்கப்படலாம்.
ஆரக்கிள் வடிவமைப்பு வடிவங்கள்
ஆரக்கிள்கள் உடனடி-வாசிப்பு (immediate-read), வெளியீடு-சந்தா (publish-subscribe), மற்றும் கோரிக்கை-பதில் (request-response) உள்ளிட்ட பல்வேறு வகைகளில் வருகின்றன, பிந்தைய இரண்டும் எத்தேரியம் ஸ்மார்ட் ஒப்பந்தங்களில் மிகவும் பிரபலமானவை. வெளியீடு-சந்தா மற்றும் கோரிக்கை-பதில் மாதிரிகளை இங்கே சுருக்கமாக விவரிக்கிறோம்.
வெளியீடு-சந்தா ஆரக்கிள்கள்
இந்த வகையான ஆரக்கிள் ஒரு "தரவு ஊட்டத்தை" (data feed) வெளிப்படுத்துகிறது, மற்ற ஒப்பந்தங்கள் தகவலுக்காக இதைத் தொடர்ந்து படிக்கலாம். இந்த நிலையில் தரவு அடிக்கடி மாறும் என்று எதிர்பார்க்கப்படுகிறது, எனவே கிளையன்ட் ஒப்பந்தங்கள் ஆரக்கிளின் சேமிப்பகத்தில் உள்ள தரவின் புதுப்பிப்புகளைக் கேட்க வேண்டும். பயனர்களுக்குச் சமீபத்திய ETH-USD விலை தகவலை வழங்கும் ஆரக்கிள் இதற்கு ஒரு எடுத்துக்காட்டு.
கோரிக்கை-பதில் ஆரக்கிள்கள்
கோரிக்கை-பதில் அமைப்பு, வெளியீடு-சந்தா ஆரக்கிள் வழங்குவதைத் தவிர வேறு தன்னிச்சையான தரவைக் கோர கிளையன்ட் ஒப்பந்தத்தை அனுமதிக்கிறது. தரவுத்தொகுப்பு ஸ்மார்ட் ஒப்பந்தத்தின் சேமிப்பகத்தில் சேமிக்க முடியாத அளவுக்குப் பெரியதாக இருக்கும்போது, மற்றும்/அல்லது பயனர்களுக்கு எந்த நேரத்திலும் தரவின் ஒரு சிறிய பகுதி மட்டுமே தேவைப்படும்போது கோரிக்கை-பதில் ஆரக்கிள்கள் சிறந்தவை.
வெளியீடு-சந்தா மாதிரிகளை விட மிகவும் சிக்கலானதாக இருந்தாலும், கோரிக்கை-பதில் ஆரக்கிள்கள் அடிப்படையில் முந்தைய பிரிவில் நாம் விவரித்தவையே ஆகும். ஆரக்கிள் ஒரு ஆன்-செயின் கூறைக் கொண்டிருக்கும், அது தரவுக் கோரிக்கையைப் பெற்று செயலாக்கத்திற்காக ஆஃப்-செயின் முனைக்கு அனுப்புகிறது.
தரவு வினவல்களைத் தொடங்கும் பயனர்கள் ஆஃப்-செயின் மூலத்திலிருந்து தகவல்களை மீட்டெடுப்பதற்கான செலவை ஈடுகட்ட வேண்டும். கோரிக்கையில் குறிப்பிடப்பட்டுள்ள கால்பேக் செயல்பாடு (callback function) மூலம் பதிலைத் திருப்பி அனுப்புவதில் ஆரக்கிள் ஒப்பந்தத்தால் ஏற்படும் எரிவாயு செலவுகளை ஈடுகட்ட கிளையன்ட் ஒப்பந்தம் நிதியையும் வழங்க வேண்டும்.
மையப்படுத்தப்பட்ட மற்றும் பரவலாக்கப்பட்ட ஆரக்கிள்கள்
மையப்படுத்தப்பட்ட ஆரக்கிள்கள்
மையப்படுத்தப்பட்ட ஆரக்கிள் என்பது ஆஃப்-செயின் தகவல்களை ஒருங்கிணைப்பதற்கும் கோரப்பட்டபடி ஆரக்கிள் ஒப்பந்தத்தின் தரவைப் புதுப்பிப்பதற்கும் பொறுப்பான ஒற்றை நிறுவனத்தால் கட்டுப்படுத்தப்படுகிறது. மையப்படுத்தப்பட்ட ஆரக்கிள்கள் உண்மையின் ஒற்றை ஆதாரத்தை நம்பியிருப்பதால் அவை திறமையானவை. பரவலாக ஏற்றுக்கொள்ளப்பட்ட கையொப்பத்துடன் உரிமையாளரால் நேரடியாக தனியுரிம தரவுத்தொகுப்புகள் வெளியிடப்படும் சந்தர்ப்பங்களில் அவை சிறப்பாகச் செயல்படக்கூடும். இருப்பினும், அவை குறைபாடுகளையும் கொண்டு வருகின்றன:
குறைந்த சரியான தன்மை உத்தரவாதங்கள்
மையப்படுத்தப்பட்ட ஆரக்கிள்களில், வழங்கப்பட்ட தகவல் சரியானதா இல்லையா என்பதை உறுதிப்படுத்த எந்த வழியும் இல்லை. "புகழ்பெற்ற" வழங்குநர்கள் கூட முரட்டுத்தனமாக மாறலாம் அல்லது ஹேக் செய்யப்படலாம். ஆரக்கிள் சிதைந்தால், மோசமான தரவின் அடிப்படையில் ஸ்மார்ட் ஒப்பந்தங்கள் செயல்படும்.
மோசமான கிடைக்கும் தன்மை
மையப்படுத்தப்பட்ட ஆரக்கிள்கள் எப்போதும் ஆஃப்-செயின் தரவை மற்ற ஸ்மார்ட் ஒப்பந்தங்களுக்குக் கிடைக்கச் செய்யும் என்பதற்கு உத்தரவாதம் இல்லை. வழங்குநர் சேவையை முடக்க முடிவு செய்தால் அல்லது ஹேக்கர் ஆரக்கிளின் ஆஃப்-செயின் கூறைக் கடத்தினால், உங்கள் ஸ்மார்ட் ஒப்பந்தம் சேவை மறுப்பு (DoS) தாக்குதலின் அபாயத்தில் உள்ளது.
மோசமான ஊக்கத்தொகை பொருந்தக்கூடிய தன்மை
மையப்படுத்தப்பட்ட ஆரக்கிள்கள் பெரும்பாலும் தரவு வழங்குநருக்குத் துல்லியமான/மாற்றப்படாத தகவல்களை அனுப்ப மோசமாக வடிவமைக்கப்பட்ட அல்லது இல்லாத ஊக்கத்தொகைகளைக் கொண்டுள்ளன. சரியான தன்மைக்காக ஆரக்கிளுக்குப் பணம் செலுத்துவது நேர்மைக்கு உத்தரவாதம் அளிக்காது. ஸ்மார்ட் ஒப்பந்தங்களால் கட்டுப்படுத்தப்படும் மதிப்பின் அளவு அதிகரிக்கும் போது இந்தச் சிக்கல் பெரிதாகிறது.
பரவலாக்கப்பட்ட ஆரக்கிள்கள்
பரவலாக்கப்பட்ட ஆரக்கிள்கள் தோல்வியின் ஒற்றைப் புள்ளிகளை (single points of failure) அகற்றுவதன் மூலம் மையப்படுத்தப்பட்ட ஆரக்கிள்களின் வரம்புகளைக் கடக்க வடிவமைக்கப்பட்டுள்ளன. பரவலாக்கப்பட்ட ஆரக்கிள் சேவையானது பியர்-டு-பியர் நெட்வொர்க்கில் பல பங்கேற்பாளர்களைக் கொண்டுள்ளது, அவர்கள் ஆஃப்-செயின் தரவை ஸ்மார்ட் ஒப்பந்தத்திற்கு அனுப்புவதற்கு முன்பு கருத்தொற்றுமையை உருவாக்குகிறார்கள்.
ஒரு பரவலாக்கப்பட்ட ஆரக்கிள் (வெறுமனே) அனுமதியற்றதாக, நம்பிக்கையற்றதாக, மற்றும் ஒரு மையத் தரப்பினரின் நிர்வாகத்திலிருந்து விடுபட்டதாக இருக்க வேண்டும்; உண்மையில், ஆரக்கிள்களுக்கு இடையிலான பரவலாக்கம் ஒரு நிறமாலையில் (spectrum) உள்ளது. எவரும் பங்கேற்கக்கூடிய அரை-பரவலாக்கப்பட்ட ஆரக்கிள் நெட்வொர்க்குகள் உள்ளன, ஆனால் வரலாற்றுச் செயல்திறனின் அடிப்படையில் முனைகளை அங்கீகரிக்கும் மற்றும் அகற்றும் "உரிமையாளருடன்" உள்ளன. முழுமையாகப் பரவலாக்கப்பட்ட ஆரக்கிள் நெட்வொர்க்குகளும் உள்ளன: இவை பொதுவாகத் தனித்த பிளாக்செயின்களாக இயங்குகின்றன மற்றும் முனைகளை ஒருங்கிணைப்பதற்கும் தவறான நடத்தைக்குத் தண்டனை வழங்குவதற்கும் வரையறுக்கப்பட்ட கருத்தொற்றுமை வழிமுறைகளைக் கொண்டுள்ளன.
பரவலாக்கப்பட்ட ஆரக்கிள்களைப் பயன்படுத்துவது பின்வரும் நன்மைகளுடன் வருகிறது:
அதிக சரியான தன்மை உத்தரவாதங்கள்
பரவலாக்கப்பட்ட ஆரக்கிள்கள் வெவ்வேறு அணுகுமுறைகளைப் பயன்படுத்தித் தரவின் சரியான தன்மையை அடைய முயற்சிக்கின்றன. திரும்பப் பெற்ற தகவலின் நம்பகத்தன்மை மற்றும் ஒருமைப்பாட்டைச் சான்றளிக்கும் சான்றுகளைப் பயன்படுத்துவது மற்றும் ஆஃப்-செயின் தரவின் செல்லுபடியாகும் தன்மையை கூட்டாக ஒப்புக்கொள்ள பல நிறுவனங்கள் தேவைப்படுவது ஆகியவை இதில் அடங்கும்.
நம்பகத்தன்மை சான்றுகள்
நம்பகத்தன்மை சான்றுகள் என்பவை வெளிப்புற ஆதாரங்களில் இருந்து மீட்டெடுக்கப்பட்ட தகவல்களைச் சுயாதீனமாகச் சரிபார்க்க உதவும் கிரிப்டோகிராஃபிக் வழிமுறைகள் ஆகும். இந்தச் சான்றுகள் தகவலின் மூலத்தைச் சரிபார்க்கலாம் மற்றும் மீட்டெடுத்த பிறகு தரவுகளில் ஏற்படக்கூடிய மாற்றங்களைக் கண்டறியலாம்.
நம்பகத்தன்மை சான்றுகளுக்கான எடுத்துக்காட்டுகள்:
போக்குவரத்து அடுக்கு பாதுகாப்பு (TLS) சான்றுகள்: ஆரக்கிள் முனைகள் பெரும்பாலும் போக்குவரத்து அடுக்கு பாதுகாப்பு (TLS) நெறிமுறையின் அடிப்படையில் பாதுகாப்பான HTTP இணைப்பைப் பயன்படுத்தி வெளிப்புற ஆதாரங்களில் இருந்து தரவை மீட்டெடுக்கின்றன. சில பரவலாக்கப்பட்ட ஆரக்கிள்கள் TLS அமர்வுகளைச் சரிபார்க்க (அதாவது, ஒரு முனைக்கும் ஒரு குறிப்பிட்ட சேவையகத்திற்கும் இடையிலான தகவல் பரிமாற்றத்தை உறுதிப்படுத்த) மற்றும் அமர்வின் உள்ளடக்கங்கள் மாற்றப்படவில்லை என்பதை உறுதிப்படுத்த நம்பகத்தன்மை சான்றுகளைப் பயன்படுத்துகின்றன.
நம்பகமான செயலாக்கச் சூழல் (TEE) சான்றளிப்புகள்: ஒரு நம்பகமான செயலாக்கச் சூழல் (trusted execution environment) (opens in a new tab) (TEE) என்பது அதன் ஹோஸ்ட் அமைப்பின் செயல்பாட்டு செயல்முறைகளிலிருந்து தனிமைப்படுத்தப்பட்ட ஒரு சாண்ட்பாக்ஸ் செய்யப்பட்ட கணக்கீட்டுச் சூழலாகும். கணக்கீட்டுச் சூழலில் சேமிக்கப்பட்ட/பயன்படுத்தப்படும் எந்தவொரு பயன்பாட்டுக் குறியீடு அல்லது தரவு ஒருமைப்பாடு, ரகசியத்தன்மை மற்றும் மாறாத தன்மையைத் தக்கவைத்துக்கொள்வதை TEEகள் உறுதி செய்கின்றன. நம்பகமான செயலாக்கச் சூழலில் ஒரு பயன்பாட்டு நிகழ்வு இயங்குகிறது என்பதை நிரூபிக்கப் பயனர்கள் ஒரு சான்றளிப்பையும் உருவாக்கலாம்.
சில வகையான பரவலாக்கப்பட்ட ஆரக்கிள்களுக்கு ஆரக்கிள் முனை ஆபரேட்டர்கள் TEE சான்றளிப்புகளை வழங்க வேண்டும். முனை ஆபரேட்டர் நம்பகமான செயலாக்கச் சூழலில் ஆரக்கிள் கிளையண்டின் நிகழ்வை இயக்குகிறார் என்பதை இது பயனருக்கு உறுதிப்படுத்துகிறது. TEEகள் வெளிப்புறச் செயல்முறைகள் ஒரு பயன்பாட்டின் குறியீடு மற்றும் தரவை மாற்றுவதையோ அல்லது படிப்பதையோ தடுக்கின்றன, எனவே, ஆரக்கிள் முனை தகவலை அப்படியே மற்றும் ரகசியமாக வைத்திருக்கிறது என்பதை அந்தச் சான்றளிப்புகள் நிரூபிக்கின்றன.
தகவலின் கருத்தொற்றுமை அடிப்படையிலான சரிபார்ப்பு
ஸ்மார்ட் ஒப்பந்தங்களுக்குத் தரவை வழங்கும்போது மையப்படுத்தப்பட்ட ஆரக்கிள்கள் உண்மையின் ஒற்றை ஆதாரத்தை நம்பியுள்ளன, இது துல்லியமற்ற தகவல்களை வெளியிடுவதற்கான சாத்தியத்தை அறிமுகப்படுத்துகிறது. ஆஃப்-செயின் தகவல்களை வினவப் பல ஆரக்கிள் முனைகளை நம்பியிருப்பதன் மூலம் பரவலாக்கப்பட்ட ஆரக்கிள்கள் இந்தச் சிக்கலைத் தீர்க்கின்றன. பல ஆதாரங்களில் இருந்து தரவை ஒப்பிடுவதன் மூலம், பரவலாக்கப்பட்ட ஆரக்கிள்கள் ஆன்-செயின் ஒப்பந்தங்களுக்குத் தவறான தகவல்களை அனுப்பும் அபாயத்தைக் குறைக்கின்றன.
இருப்பினும், பரவலாக்கப்பட்ட ஆரக்கிள்கள் பல ஆஃப்-செயின் ஆதாரங்களில் இருந்து மீட்டெடுக்கப்பட்ட தகவல்களில் உள்ள முரண்பாடுகளைக் கையாள வேண்டும். தகவல்களில் உள்ள வேறுபாடுகளைக் குறைக்கவும், ஆரக்கிள் ஒப்பந்தத்திற்கு அனுப்பப்படும் தரவு ஆரக்கிள் முனைகளின் கூட்டு கருத்தைப் பிரதிபலிக்கிறது என்பதை உறுதிப்படுத்தவும், பரவலாக்கப்பட்ட ஆரக்கிள்கள் பின்வரும் வழிமுறைகளைப் பயன்படுத்துகின்றன:
தரவின் துல்லியத்தின் மீது வாக்களித்தல்/பணயம் வைத்தல் (staking)
சில பரவலாக்கப்பட்ட ஆரக்கிள் நெட்வொர்க்குகள் நெட்வொர்க்கின் சொந்த டோக்கனைப் பயன்படுத்தித் தரவு வினவல்களுக்கான பதில்களின் துல்லியத்தின் மீது (எ.கா., "2020 அமெரிக்கத் தேர்தலில் யார் வெற்றி பெற்றார்கள்?") வாக்களிக்க அல்லது பணயம் வைக்கப் பங்கேற்பாளர்களைக் கோருகின்றன. ஒரு ஒருங்கிணைப்பு நெறிமுறை பின்னர் வாக்குகள் மற்றும் பணயங்களை ஒருங்கிணைத்து, பெரும்பான்மையினரால் ஆதரிக்கப்படும் பதிலைச் செல்லுபடியாகும் ஒன்றாக எடுத்துக்கொள்கிறது.
பெரும்பான்மை பதிலிலிருந்து விலகும் பதில்களைக் கொண்ட முனைகள், மிகவும் சரியான மதிப்புகளை வழங்கும் மற்றவர்களுக்குத் தங்கள் டோக்கன்களை விநியோகிப்பதன் மூலம் தண்டிக்கப்படுகின்றன. தரவை வழங்குவதற்கு முன்பு ஒரு பத்திரத்தை (bond) வழங்க முனைகளை வற்புறுத்துவது நேர்மையான பதில்களை ஊக்குவிக்கிறது, ஏனெனில் அவர்கள் வருமானத்தை அதிகரிக்க விரும்பும் பகுத்தறிவுப் பொருளாதார நடிகர்களாகக் கருதப்படுகிறார்கள்.
கருத்தொற்றுமை அமைப்பை ஏமாற்றத் தீங்கிழைக்கும் நடிகர்கள் பல அடையாளங்களை உருவாக்கும் பரவலாக்கப்பட்ட ஆரக்கிள்களைப் பணயம் வைத்தல்/வாக்களித்தல் பாதுகாக்கிறது. இருப்பினும், பணயம் வைப்பது "இலவசமாகப் பெறுதல்" (freeloading - ஆரக்கிள் முனைகள் மற்றவர்களிடமிருந்து தகவல்களை நகலெடுப்பது) மற்றும் "சோம்பேறி சரிபார்ப்பு" (lazy validation - ஆரக்கிள் முனைகள் தகவல்களைத் தாங்களே சரிபார்க்காமல் பெரும்பான்மையைப் பின்பற்றுவது) ஆகியவற்றைத் தடுக்க முடியாது.
ஷெல்லிங் பாயிண்ட் வழிமுறைகள் (Schelling point mechanisms)
ஷெல்லிங் பாயிண்ட் (opens in a new tab) என்பது ஒரு விளையாட்டு-கோட்பாடு (game-theory) கருத்தாகும், இது எந்தவொரு தகவல்தொடர்பும் இல்லாத நிலையில் பல நிறுவனங்கள் எப்போதும் ஒரு சிக்கலுக்குப் பொதுவான தீர்வுக்கு இயல்புநிலையாகச் செல்லும் என்று கருதுகிறது. தரவுக் கோரிக்கைகளுக்கான பதில்களில் முனைகள் கருத்தொற்றுமையை எட்டச் செய்யப் பரவலாக்கப்பட்ட ஆரக்கிள் நெட்வொர்க்குகளில் ஷெல்லிங்-பாயிண்ட் வழிமுறைகள் பெரும்பாலும் பயன்படுத்தப்படுகின்றன.
இதற்கான ஆரம்ப யோசனை SchellingCoin (opens in a new tab) ஆகும், இது முன்மொழியப்பட்ட தரவு ஊட்டமாகும், இதில் பங்கேற்பாளர்கள் "ஸ்கேலார்" கேள்விகளுக்கான பதில்களை (பதில்கள் அளவினால் விவரிக்கப்படும் கேள்விகள், எ.கா., "ETH இன் விலை என்ன?"), வைப்புத்தொகையுடன் சமர்ப்பிக்கிறார்கள். 25வது மற்றும் 75வது சதவீதத்திற்கு (percentile) (opens in a new tab) இடைப்பட்ட மதிப்புகளை வழங்கும் பயனர்களுக்கு வெகுமதி அளிக்கப்படுகிறது, அதே சமயம் இடைநிலை மதிப்பிலிருந்து பெருமளவு விலகும் மதிப்புகளைக் கொண்டவர்களுக்கு அபராதம் விதிக்கப்படுகிறது.
இன்று SchellingCoin இல்லை என்றாலும், பல பரவலாக்கப்பட்ட ஆரக்கிள்கள்—குறிப்பாக மேக்கர் நெறிமுறையின் ஆரக்கிள்கள் (Maker Protocol’s Oracles) (opens in a new tab)—ஆரக்கிள் தரவின் துல்லியத்தை மேம்படுத்த ஷெல்லிங்-பாயிண்ட் வழிமுறையைப் பயன்படுத்துகின்றன. ஒவ்வொரு மேக்கர் ஆரக்கிளும் பிணையச் சொத்துகளுக்கான சந்தை விலைகளைச் சமர்ப்பிக்கும் முனைகளின் ("ரிலேக்கர்கள்" மற்றும் "ஊட்டங்கள்") ஆஃப்-செயின் P2P நெட்வொர்க்கையும், வழங்கப்பட்ட அனைத்து மதிப்புகளின் இடைநிலையைக் கணக்கிடும் ஆன்-செயின் "மீடியனைசர்" (Medianizer) ஒப்பந்தத்தையும் கொண்டுள்ளது. குறிப்பிட்ட தாமதக் காலம் முடிந்ததும், இந்த இடைநிலை மதிப்பு தொடர்புடைய சொத்துக்கான புதிய குறிப்பு விலையாக மாறும்.
ஷெல்லிங் பாயிண்ட் வழிமுறைகளைப் பயன்படுத்தும் ஆரக்கிள்களின் பிற எடுத்துக்காட்டுகளில் செயின்லிங்க் ஆஃப்-செயின் ரிப்போர்ட்டிங் (Chainlink Offchain Reporting) (opens in a new tab) மற்றும் விட்நெட் (Witnet) (opens in a new tab) ஆகியவை அடங்கும். இரண்டு அமைப்புகளிலும், பியர்-டு-பியர் நெட்வொர்க்கில் உள்ள ஆரக்கிள் முனைகளின் பதில்கள் சராசரி அல்லது இடைநிலை போன்ற ஒற்றை ஒருங்கிணைந்த மதிப்பாக ஒருங்கிணைக்கப்படுகின்றன. முனைகளின் பதில்கள் ஒருங்கிணைந்த மதிப்புடன் எந்த அளவிற்கு ஒத்துப்போகின்றன அல்லது விலகுகின்றன என்பதைப் பொறுத்து முனைகளுக்கு வெகுமதி அளிக்கப்படுகிறது அல்லது தண்டிக்கப்படுகிறது.
ஷெல்லிங் பாயிண்ட் வழிமுறைகள் கவர்ச்சிகரமானவை, ஏனெனில் அவை பரவலாக்கத்திற்கு உத்தரவாதம் அளிக்கும் அதே வேளையில் ஆன்-செயின் தடயத்தைக் குறைக்கின்றன (ஒரு பரிவர்த்தனை மட்டுமே அனுப்பப்பட வேண்டும்). சராசரி/இடைநிலை மதிப்பை உருவாக்கும் அல்காரிதத்தில் செலுத்தப்படுவதற்கு முன்பு சமர்ப்பிக்கப்பட்ட பதில்களின் பட்டியலில் முனைகள் கையொப்பமிட வேண்டும் என்பதால் பிந்தையது சாத்தியமாகும்.
கிடைக்கும் தன்மை
பரவலாக்கப்பட்ட ஆரக்கிள் சேவைகள் ஸ்மார்ட் ஒப்பந்தங்களுக்கு ஆஃப்-செயின் தரவின் அதிக கிடைக்கும் தன்மையை உறுதி செய்கின்றன. ஆஃப்-செயின் தகவலின் மூலத்தையும், தகவலை ஆன்-செயினுக்கு மாற்றுவதற்குப் பொறுப்பான முனைகளையும் பரவலாக்குவதன் மூலம் இது அடையப்படுகிறது.
மற்ற ஒப்பந்தங்களில் இருந்து வினவல்களைச் செயல்படுத்த ஆரக்கிள் ஒப்பந்தம் பல முனைகளை (அவை பல தரவு மூலங்களையும் நம்பியுள்ளன) நம்பியிருக்க முடியும் என்பதால் இது தவறு-சகிப்புத்தன்மையை (fault-tolerance) உறுதி செய்கிறது. மூல மற்றும் முனை-ஆபரேட்டர் மட்டத்தில் பரவலாக்கம் முக்கியமானது—ஒரே மூலத்திலிருந்து மீட்டெடுக்கப்பட்ட தகவல்களை வழங்கும் ஆரக்கிள் முனைகளின் நெட்வொர்க் மையப்படுத்தப்பட்ட ஆரக்கிள் போன்ற அதே சிக்கலில் சிக்கும்.
தரவுக் கோரிக்கைகளுக்கு விரைவாகப் பதிலளிக்கத் தவறும் முனை ஆபரேட்டர்களைப் பணயம் அடிப்படையிலான ஆரக்கிள்கள் குறைக்கவும் (slash) முடியும். இது தவறு-சகிப்புத்தன்மை கொண்ட உள்கட்டமைப்பில் முதலீடு செய்யவும், சரியான நேரத்தில் தரவை வழங்கவும் ஆரக்கிள் முனைகளை கணிசமாக ஊக்குவிக்கிறது.
நல்ல ஊக்கத்தொகை பொருந்தக்கூடிய தன்மை
ஆரக்கிள் முனைகளிடையே பைசண்டைன் (Byzantine) (opens in a new tab) நடத்தையைத் தடுக்கப் பரவலாக்கப்பட்ட ஆரக்கிள்கள் பல்வேறு ஊக்கத்தொகை வடிவமைப்புகளைச் செயல்படுத்துகின்றன. குறிப்பாக, அவை பண்புக்கூறு மற்றும் பொறுப்புக்கூறலை அடைகின்றன:
-
பரவலாக்கப்பட்ட ஆரக்கிள் முனைகள் தரவுக் கோரிக்கைகளுக்குப் பதிலளிக்கும் வகையில் அவை வழங்கும் தரவில் கையொப்பமிட வேண்டும். இந்தத் தகவல் ஆரக்கிள் முனைகளின் வரலாற்றுச் செயல்திறனை மதிப்பிடுவதற்கு உதவுகிறது, இதனால் பயனர்கள் தரவுக் கோரிக்கைகளைச் செய்யும்போது நம்பகத்தன்மையற்ற ஆரக்கிள் முனைகளை வடிகட்டலாம். விட்நெட்டின் அல்காரிதமிக் நற்பெயர் அமைப்பு (Algorithmic Reputation System) (opens in a new tab) இதற்கு ஒரு எடுத்துக்காட்டு.
-
பரவலாக்கப்பட்ட ஆரக்கிள்கள்—முன்னர் விளக்கியபடி—முனைகள் தாங்கள் சமர்ப்பிக்கும் தரவின் உண்மையின் மீதான நம்பிக்கையின் மீது பணயம் வைக்கக் கோரலாம். உரிமைகோரல் சரிபார்க்கப்பட்டால், நேர்மையான சேவைக்கான வெகுமதிகளுடன் இந்தப் பணயம் திருப்பித் தரப்படலாம். ஆனால் தகவல் தவறாக இருந்தால் அது குறைக்கப்படலாம், இது பொறுப்புக்கூறலின் சில அளவை வழங்குகிறது.
ஸ்மார்ட் ஒப்பந்தங்களில் ஆரக்கிள்களின் பயன்பாடுகள்
எத்தேரியத்தில் ஆரக்கிள்களுக்கான பொதுவான பயன்பாட்டு நிகழ்வுகள் பின்வருமாறு:
நிதித் தரவை மீட்டெடுத்தல்
பரவலாக்கப்பட்ட நிதி (DeFi) பயன்பாடுகள் பியர்-டு-பியர் கடன் வழங்குதல், கடன் வாங்குதல் மற்றும் சொத்துகளின் வர்த்தகத்தை அனுமதிக்கின்றன. இதற்குப் பெரும்பாலும் மாற்று விகிதத் தரவு (கிரிப்டோகரன்சிகளின் ஃபியட் மதிப்பைக் கணக்கிட அல்லது டோக்கன் விலைகளை ஒப்பிட) மற்றும் மூலதனச் சந்தைத் தரவு (தங்கம் அல்லது அமெரிக்க டாலர் போன்ற டோக்கனைஸ் செய்யப்பட்ட சொத்துகளின் மதிப்பைக் கணக்கிட) உள்ளிட்ட பல்வேறு நிதித் தகவல்களைப் பெற வேண்டும்.
எடுத்துக்காட்டாக, ஒரு DeFi கடன் வழங்கும் நெறிமுறை, பிணையமாக டெபாசிட் செய்யப்பட்ட சொத்துகளுக்கான (எ.கா., ETH) தற்போதைய சந்தை விலைகளை வினவ வேண்டும். இது பிணையச் சொத்துகளின் மதிப்பைத் தீர்மானிக்கவும், கணினியிலிருந்து எவ்வளவு கடன் வாங்க முடியும் என்பதைத் தீர்மானிக்கவும் ஒப்பந்தத்தை அனுமதிக்கிறது.
DeFi இல் பிரபலமான "விலை ஆரக்கிள்கள்" (அவை பெரும்பாலும் அழைக்கப்படுவது போல) செயின்லிங்க் விலை ஊட்டங்கள் (Chainlink Price Feeds), காம்பவுண்ட் நெறிமுறையின் திறந்த விலை ஊட்டம் (Open Price Feed) (opens in a new tab), யூனிஸ்வாப்பின் நேர-எடையுள்ள சராசரி விலைகள் (TWAPs) (opens in a new tab), மற்றும் மேக்கர் ஆரக்கிள்கள் (Maker Oracles) (opens in a new tab) ஆகியவை அடங்கும்.
பில்டர்கள் இந்த விலை ஆரக்கிள்களைத் தங்கள் திட்டத்தில் ஒருங்கிணைப்பதற்கு முன்பு அவற்றுடன் வரும் எச்சரிக்கைகளைப் புரிந்து கொள்ள வேண்டும். குறிப்பிடப்பட்டுள்ள விலை ஆரக்கிள்களில் ஏதேனும் ஒன்றைப் பயன்படுத்தத் திட்டமிடும்போது எதைக் கருத்தில் கொள்ள வேண்டும் என்பதற்கான விரிவான பகுப்பாய்வை இந்தக் கட்டுரை (opens in a new tab) வழங்குகிறது.
செயின்லிங்க் விலை ஊட்டத்தைப் பயன்படுத்தி உங்கள் ஸ்மார்ட் ஒப்பந்தத்தில் சமீபத்திய ETH விலையை எவ்வாறு மீட்டெடுக்கலாம் என்பதற்கான எடுத்துக்காட்டு கீழே கொடுக்கப்பட்டுள்ளது:
1pragma solidity ^0.6.7;23import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol";45contract PriceConsumerV3 {67 AggregatorV3Interface internal priceFeed;89 /* *10 * நெட்வொர்க்: Kovan11 * அக்ரிகேட்டர்: ETH/USD12 * முகவரி: 0x9326BFA02ADD2366b30bacB125260Af641031331 */13 constructor() public {14 priceFeed = AggregatorV3Interface(0x9326BFA02ADD2366b30bacB125260Af641031331);15 }1617 /* *18 * சமீபத்திய விலையை வழங்குகிறது */19 function getLatestPrice() public view returns (int) {20 (21 uint80 roundID,22 int price,23 uint startedAt,24 uint timeStamp,25 uint80 answeredInRound26 ) = priceFeed.latestRoundData();27 return price;28 }29}அனைத்தையும் காட்டுசரிபார்க்கக்கூடிய சீரற்ற தன்மையை உருவாக்குதல்
பிளாக்செயின் அடிப்படையிலான கேம்கள் அல்லது லாட்டரி திட்டங்கள் போன்ற சில பிளாக்செயின் பயன்பாடுகள் திறம்படச் செயல்பட அதிக அளவிலான கணிக்க முடியாத தன்மை மற்றும் சீரற்ற தன்மை தேவைப்படுகிறது. இருப்பினும், பிளாக்செயின்களின் தீர்மானிக்கப்பட்ட செயல்பாடு சீரற்ற தன்மையை நீக்குகிறது.
அசல் அணுகுமுறை blockhash போன்ற போலி-சீரற்ற கிரிப்டோகிராஃபிக் செயல்பாடுகளைப் பயன்படுத்துவதாகும், ஆனால் இவை வேலை-ஆதார (proof-of-work) அல்காரிதத்தைத் தீர்க்கும் மைனர்களால் கையாளப்படலாம் (opens in a new tab). மேலும், எத்தேரியத்தின் பங்கு-ஆதாரத்திற்கு மாறுதல் (switch to proof-of-stake) என்பது டெவலப்பர்கள் இனி ஆன்-செயின் சீரற்ற தன்மைக்கு blockhash ஐ நம்ப முடியாது என்பதாகும். பீக்கன் செயினின் RANDAO வழிமுறை (opens in a new tab) அதற்குப் பதிலாகச் சீரற்ற தன்மையின் மாற்று ஆதாரத்தை வழங்குகிறது.
சீரற்ற மதிப்பை ஆஃப்-செயினில் உருவாக்கி அதை ஆன்-செயினுக்கு அனுப்ப முடியும், ஆனால் அவ்வாறு செய்வது பயனர்கள் மீது அதிக நம்பிக்கை தேவைகளைச் சுமத்துகிறது. மதிப்பு உண்மையிலேயே கணிக்க முடியாத வழிமுறைகள் மூலம் உருவாக்கப்பட்டது மற்றும் போக்குவரத்தில் மாற்றப்படவில்லை என்று அவர்கள் நம்ப வேண்டும்.
ஆஃப்-செயின் கணக்கீட்டிற்காக வடிவமைக்கப்பட்ட ஆரக்கிள்கள், செயல்முறையின் கணிக்க முடியாத தன்மையைச் சான்றளிக்கும் கிரிப்டோகிராஃபிக் சான்றுகளுடன் ஆன்-செயினில் ஒளிபரப்பும் சீரற்ற முடிவுகளை ஆஃப்-செயினில் பாதுகாப்பாக உருவாக்குவதன் மூலம் இந்தச் சிக்கலைத் தீர்க்கின்றன. செயின்லிங்க் VRF (Chainlink VRF) (opens in a new tab) (சரிபார்க்கக்கூடிய சீரற்ற செயல்பாடு) இதற்கு ஒரு எடுத்துக்காட்டு, இது கணிக்க முடியாத முடிவுகளை நம்பியிருக்கும் பயன்பாடுகளுக்கு நம்பகமான ஸ்மார்ட் ஒப்பந்தங்களை உருவாக்கப் பயன்படும் நியாயமான மற்றும் சிதைக்க முடியாத சீரற்ற எண் ஜெனரேட்டர் (RNG) ஆகும்.
நிகழ்வுகளுக்கான முடிவுகளைப் பெறுதல்
ஆரக்கிள்கள் மூலம், நிஜ உலக நிகழ்வுகளுக்குப் பதிலளிக்கும் ஸ்மார்ட் ஒப்பந்தங்களை உருவாக்குவது எளிது. ஆஃப்-செயின் கூறுகள் மூலம் வெளிப்புற APIகளுடன் இணைக்க ஒப்பந்தங்களை அனுமதிப்பதன் மூலமும், அந்தத் தரவு மூலங்களிலிருந்து தகவல்களைப் பயன்படுத்துவதன் மூலமும் ஆரக்கிள் சேவைகள் இதைச் சாத்தியமாக்குகின்றன. எடுத்துக்காட்டாக, முன்னர் குறிப்பிடப்பட்ட கணிப்பு டாப் (dapp) நம்பகமான ஆஃப்-செயின் மூலத்திலிருந்து (எ.கா., அசோசியேட்டட் பிரஸ்) தேர்தல் முடிவுகளைத் திருப்பித் தர ஒரு ஆரக்கிளைக் கோரலாம்.
நிஜ உலக முடிவுகளின் அடிப்படையில் தரவை மீட்டெடுக்க ஆரக்கிள்களைப் பயன்படுத்துவது பிற புதிய பயன்பாட்டு நிகழ்வுகளைச் செயல்படுத்துகிறது; எடுத்துக்காட்டாக, ஒரு பரவலாக்கப்பட்ட காப்பீட்டுத் தயாரிப்பு திறம்படச் செயல்பட வானிலை, பேரழிவுகள் போன்றவை பற்றிய துல்லியமான தகவல்கள் தேவை.
ஸ்மார்ட் ஒப்பந்தங்களைத் தானியக்கமாக்குதல்
ஸ்மார்ட் ஒப்பந்தங்கள் தானாகவே இயங்காது; மாறாக, வெளிப்புறமாகச் சொந்தமான கணக்கு (EOA) அல்லது மற்றொரு ஒப்பந்தக் கணக்கு, ஒப்பந்தத்தின் குறியீட்டைச் செயல்படுத்தச் சரியான செயல்பாடுகளைத் தூண்ட வேண்டும். பெரும்பாலான சந்தர்ப்பங்களில், ஒப்பந்தத்தின் செயல்பாடுகளின் பெரும்பகுதி பொதுவானவை மற்றும் EOAகள் மற்றும் பிற ஒப்பந்தங்களால் அழைக்கப்படலாம்.
ஆனால் ஒரு ஒப்பந்தத்திற்குள் மற்றவர்களுக்கு அணுக முடியாத தனிப்பட்ட செயல்பாடுகளும் (private functions) உள்ளன;, ஆனால் அவை ஒரு டாப்பின் (dapp) ஒட்டுமொத்த செயல்பாட்டிற்கு முக்கியமானவை. பயனர்களுக்குப் புதிய NFTகளை அவ்வப்போது உருவாக்கும் mintERC721Token() செயல்பாடு, கணிப்புச் சந்தையில் பணம் செலுத்துவதற்கான செயல்பாடு அல்லது DEX இல் பணயம் வைக்கப்பட்ட டோக்கன்களைத் திறப்பதற்கான செயல்பாடு ஆகியவை எடுத்துக்காட்டுகளில் அடங்கும்.
பயன்பாட்டைச் சீராக இயங்க வைக்க டெவலப்பர்கள் அத்தகைய செயல்பாடுகளை இடைவெளியில் தூண்ட வேண்டும். இருப்பினும், இது டெவலப்பர்களுக்கான சாதாரண பணிகளில் அதிக மணிநேரங்களை இழக்க வழிவகுக்கும், அதனால்தான் ஸ்மார்ட் ஒப்பந்தங்களைச் செயல்படுத்துவதைத் தானியக்கமாக்குவது கவர்ச்சிகரமானதாக இருக்கிறது.
சில பரவலாக்கப்பட்ட ஆரக்கிள் நெட்வொர்க்குகள் ஆட்டோமேஷன் சேவைகளை வழங்குகின்றன, இது பயனர் வரையறுத்த அளவுருக்களின்படி ஸ்மார்ட் ஒப்பந்தச் செயல்பாடுகளைத் தூண்ட ஆஃப்-செயின் ஆரக்கிள் முனைகளை அனுமதிக்கிறது. பொதுவாக, இதற்கு இலக்கு ஒப்பந்தத்தை ஆரக்கிள் சேவையுடன் "பதிவு செய்தல்", ஆரக்கிள் ஆபரேட்டருக்குப் பணம் செலுத்த நிதியை வழங்குதல் மற்றும் ஒப்பந்தத்தைத் தூண்டுவதற்கான நிபந்தனைகள் அல்லது நேரங்களைக் குறிப்பிடுதல் ஆகியவை தேவை.
செயின்லிங்கின் கீப்பர் நெட்வொர்க் (Keeper Network) (opens in a new tab) ஸ்மார்ட் ஒப்பந்தங்கள் வழக்கமான பராமரிப்புப் பணிகளை நம்பிக்கை குறைக்கப்பட்ட மற்றும் பரவலாக்கப்பட்ட முறையில் அவுட்சோர்ஸ் செய்வதற்கான விருப்பங்களை வழங்குகிறது. உங்கள் ஒப்பந்தத்தைக் கீப்பர்-இணக்கமானதாக மாற்றுவது மற்றும் அப்கீப் (Upkeep) சேவையைப் பயன்படுத்துவது பற்றிய தகவலுக்கு அதிகாரப்பூர்வ கீப்பரின் ஆவணங்களை (Keeper's documentation) (opens in a new tab) படிக்கவும்.
பிளாக்செயின் ஆரக்கிள்களை எவ்வாறு பயன்படுத்துவது
உங்கள் எத்தேரியம் டாப்பில் (dapp) நீங்கள் ஒருங்கிணைக்கக்கூடிய பல ஆரக்கிள் பயன்பாடுகள் உள்ளன:
செயின்லிங்க் (Chainlink) (opens in a new tab) - செயின்லிங்க் பரவலாக்கப்பட்ட ஆரக்கிள் நெட்வொர்க்குகள் எந்தவொரு பிளாக்செயினிலும் மேம்பட்ட ஸ்மார்ட் ஒப்பந்தங்களை ஆதரிக்கச் சிதைக்க முடியாத உள்ளீடுகள், வெளியீடுகள் மற்றும் கணக்கீடுகளை வழங்குகின்றன.
ரெட்ஸ்டோன் ஆரக்கிள்கள் (RedStone Oracles) (opens in a new tab) - ரெட்ஸ்டோன் என்பது எரிவாயு-உகந்த தரவு ஊட்டங்களை வழங்கும் பரவலாக்கப்பட்ட மட்டு ஆரக்கிள் ஆகும். இது திரவப் பணயம் வைக்கும் டோக்கன்கள் (LSTs), திரவ மறு-பணயம் வைக்கும் டோக்கன்கள் (LRTs) மற்றும் பிட்காயின் பணயம் வைக்கும் வழித்தோன்றல்கள் போன்ற வளர்ந்து வரும் சொத்துகளுக்கான விலை ஊட்டங்களை வழங்குவதில் நிபுணத்துவம் பெற்றது.
க்ரோனிக்கிள் (Chronicle) (opens in a new tab) - உண்மையிலேயே அளவிடக்கூடிய, செலவு குறைந்த, பரவலாக்கப்பட்ட மற்றும் சரிபார்க்கக்கூடிய ஆரக்கிள்களை உருவாக்குவதன் மூலம் ஆன்-செயினில் தரவை மாற்றுவதற்கான தற்போதைய வரம்புகளை க்ரோனிக்கிள் கடக்கிறது.
விட்நெட் (Witnet) (opens in a new tab) - விட்நெட் என்பது அனுமதியற்ற, பரவலாக்கப்பட்ட மற்றும் தணிக்கை-எதிர்ப்பு ஆரக்கிள் ஆகும், இது வலுவான கிரிப்டோ-பொருளாதார உத்தரவாதங்களுடன் நிஜ உலக நிகழ்வுகளுக்குப் பதிலளிக்க ஸ்மார்ட் ஒப்பந்தங்களுக்கு உதவுகிறது.
UMA ஆரக்கிள் (UMA Oracle) (opens in a new tab) - UMA இன் நம்பிக்கையான ஆரக்கிள், காப்பீடு, நிதி வழித்தோன்றல்கள் மற்றும் கணிப்புச் சந்தைகள் உள்ளிட்ட பல்வேறு பயன்பாடுகளுக்கு எந்த வகையான தரவையும் விரைவாகப் பெற ஸ்மார்ட் ஒப்பந்தங்களை அனுமதிக்கிறது.
டெல்லர் (Tellor) (opens in a new tab) - டெல்லர் என்பது உங்கள் ஸ்மார்ட் ஒப்பந்தத்திற்குத் தேவைப்படும்போதெல்லாம் எந்தத் தரவையும் எளிதாகப் பெறுவதற்கான வெளிப்படையான மற்றும் அனுமதியற்ற ஆரக்கிள் நெறிமுறையாகும்.
பேண்ட் நெறிமுறை (Band Protocol) (opens in a new tab) - பேண்ட் நெறிமுறை என்பது நிஜ உலகத் தரவு மற்றும் APIகளை ஸ்மார்ட் ஒப்பந்தங்களுடன் ஒருங்கிணைத்து இணைக்கும் குறுக்கு-செயின் தரவு ஆரக்கிள் தளமாகும்.
பித் நெட்வொர்க் (Pyth Network) (opens in a new tab) - பித் நெட்வொர்க் என்பது சிதைக்க-எதிர்ப்பான, பரவலாக்கப்பட்ட மற்றும் சுய-நிலையான சூழலில் தொடர்ச்சியான நிஜ உலகத் தரவை ஆன்-செயினில் வெளியிட வடிவமைக்கப்பட்ட முதல்-தரப்பு நிதி ஆரக்கிள் நெட்வொர்க் ஆகும்.
API3 DAO (opens in a new tab) - API3 DAO ஸ்மார்ட் ஒப்பந்தங்களுக்கான பரவலாக்கப்பட்ட தீர்வில் அதிக மூல வெளிப்படைத்தன்மை, பாதுகாப்பு மற்றும் அளவிடுதல் ஆகியவற்றை வழங்கும் முதல்-தரப்பு ஆரக்கிள் தீர்வுகளை வழங்குகிறது
சுப்ரா (Supra) (opens in a new tab) - பொது (L1கள் மற்றும் L2கள்) அல்லது தனிப்பட்ட (நிறுவனங்கள்) அனைத்து பிளாக்செயின்களையும் ஒன்றோடொன்று இணைக்கும் குறுக்கு-செயின் தீர்வுகளின் செங்குத்தாக ஒருங்கிணைக்கப்பட்ட கருவித்தொகுப்பு, ஆன்-செயின் மற்றும் ஆஃப்-செயின் பயன்பாட்டு நிகழ்வுகளுக்குப் பயன்படுத்தக்கூடிய பரவலாக்கப்பட்ட ஆரக்கிள் விலை ஊட்டங்களை வழங்குகிறது.
கேஸ் நெட்வொர்க் (Gas Network) (opens in a new tab) - பிளாக்செயின் முழுவதும் நிகழ்நேர எரிவாயு விலை தரவை வழங்கும் விநியோகிக்கப்பட்ட ஆரக்கிள் தளம். முன்னணி எரிவாயு விலை தரவு வழங்குநர்களிடமிருந்து தரவை ஆன்-செயினுக்குக் கொண்டு வருவதன் மூலம், கேஸ் நெட்வொர்க் இயங்குதன்மையை (interoperability) இயக்க உதவுகிறது. கேஸ் நெட்வொர்க் எத்தேரியம் மெயின்நெட் மற்றும் பல முன்னணி L2கள் உட்பட 35 க்கும் மேற்பட்ட செயின்களுக்கான தரவை ஆதரிக்கிறது.
DIA (opens in a new tab) - அனைத்து முக்கியச் சொத்து வகுப்புகளிலும் 20,000+ சொத்துகளுக்கான சரிபார்க்கக்கூடிய தரவு ஊட்டங்களை வழங்கும் குறுக்கு-செயின் ஆரக்கிள் நெட்வொர்க். DIA 100+ முதன்மைச் சந்தைகளில் இருந்து நேரடியாக மூல வர்த்தகத் தரவைப் பெறுகிறது மற்றும் அதை ஆன்-செயினில் கணக்கிடுகிறது, எந்தவொரு பயன்பாட்டு நிகழ்விற்கும் தனிப்பயன் உள்ளமைவுகளுடன் முழுமையான தரவு வெளிப்படைத்தன்மை மற்றும் சரிபார்க்கக்கூடிய தன்மையை உறுதி செய்கிறது.
ஸ்டோர்க் (Stork) (opens in a new tab) - ஸ்டோர்க் மிகக் குறைந்த தாமதத்தில் விலை தரவை வழங்குகிறது, நிரந்தரச் சந்தைகள், கடன் வழங்கும் நெறிமுறைகள் மற்றும் DeFi சுற்றுச்சூழல் அமைப்புகள் உள்ளிட்ட பரந்த அளவிலான பயன்பாட்டு நிகழ்வுகளை ஆதரிக்கிறது, புதிய சொத்துகள் பட்டியலிடப்பட்டவுடன் விரைவாக ஆதரிக்கப்படுகின்றன.
மேலும் படிக்க
கட்டுரைகள்
- பிளாக்செயின் ஆரக்கிள் என்றால் என்ன? (What Is a Blockchain Oracle?) (opens in a new tab) — செயின்லிங்க் (Chainlink)
- பிளாக்செயின் ஆரக்கிள் என்றால் என்ன? (What is a Blockchain Oracle?) (opens in a new tab) — பேட்ரிக் காலின்ஸ் (Patrick Collins)
- பரவலாக்கப்பட்ட ஆரக்கிள்கள்: ஒரு விரிவான கண்ணோட்டம் (Decentralised Oracles: a comprehensive overview) (opens in a new tab) — ஜூலியன் தெவெனார்ட் (Julien Thevenard)
- எத்தேரியத்தில் பிளாக்செயின் ஆரக்கிளைச் செயல்படுத்துதல் (Implementing a Blockchain Oracle on Ethereum) (opens in a new tab) – பெட்ரோ கோஸ்டா (Pedro Costa)
- ஸ்மார்ட் ஒப்பந்தங்களால் ஏன் API அழைப்புகளைச் செய்ய முடியாது? (Why can't smart contracts make API calls?) (opens in a new tab) — ஸ்டாக்எக்ஸ்சேஞ்ச் (StackExchange)
- எனவே நீங்கள் விலை ஆரக்கிளைப் பயன்படுத்த விரும்புகிறீர்கள் (So you want to use a price oracle) (opens in a new tab) — samczsun
காணொளிகள்
- ஆரக்கிள்கள் மற்றும் பிளாக்செயின் பயன்பாட்டின் விரிவாக்கம் (Oracles and the Expansion of Blockchain Utility) (opens in a new tab) — ரியல் விஷன் ஃபைனான்ஸ் (Real Vision Finance)
பயிற்சிகள்
- Solidity இல் எத்தேரியத்தின் தற்போதைய விலையை எவ்வாறு பெறுவது (How to Fetch the Current Price of Ethereum in Solidity) (opens in a new tab) — செயின்லிங்க் (Chainlink)
- ஆரக்கிள் தரவைப் பயன்படுத்துதல் (Consuming Oracle Data) (opens in a new tab) — க்ரோனிக்கிள் (Chronicle)
எடுத்துக்காட்டு திட்டங்கள்