মূল কন্টেন্টে যান
Change page

ওরাকল

ওরাকল হলো এমন অ্যাপ্লিকেশন যা ডেটা ফিড তৈরি করে, যা স্মার্ট কন্ট্রাক্টের জন্য ব্লকচেইনে অফচেইন ডেটা সোর্সগুলোকে উপলব্ধ করে। এটি প্রয়োজনীয় কারণ ইথেরিয়াম-ভিত্তিক স্মার্ট কন্ট্রাক্টগুলো ডিফল্টভাবে ব্লকচেইন নেটওয়ার্কের বাইরে সংরক্ষিত তথ্য অ্যাক্সেস করতে পারে না।

অফচেইন ডেটা ব্যবহার করে স্মার্ট কন্ট্রাক্টগুলোকে এক্সিকিউট করার ক্ষমতা প্রদান করা বিকেন্দ্রীকৃত অ্যাপ্লিকেশনগুলোর উপযোগিতা এবং মান বৃদ্ধি করে। উদাহরণস্বরূপ, অনচেইন পূর্বাভাস বাজারগুলো ফলাফলের তথ্য প্রদানের জন্য ওরাকলের উপর নির্ভর করে, যা তারা ব্যবহারকারীর পূর্বাভাস যাচাই করতে ব্যবহার করে। ধরা যাক, পরবর্তী মার্কিন প্রেসিডেন্ট কে হবেন তার উপর অ্যালিস 20 ETH বাজি ধরেছে। সেক্ষেত্রে, অ্যালিস পেআউটের জন্য যোগ্য কিনা তা নির্ধারণ করতে এবং নির্বাচনের ফলাফল নিশ্চিত করতে পূর্বাভাস বাজার ড্যাপের (dapp) একটি ওরাকল প্রয়োজন।

পূর্বশর্ত

এই পৃষ্ঠাটি ধরে নেয় যে পাঠক ইথেরিয়াম-এর মৌলিক বিষয়গুলোর সাথে পরিচিত, যার মধ্যে নোড, ঐক্যমত মেকানিজম এবং EVM অন্তর্ভুক্ত। আপনার স্মার্ট কন্ট্রাক্ট এবং স্মার্ট কন্ট্রাক্টের গঠন, বিশেষ করে সম্পর্কেও ভালো ধারণা থাকা উচিত।

ব্লকচেইন ওরাকল কী?

ওরাকল হলো এমন অ্যাপ্লিকেশন যা বাহ্যিক তথ্য (অর্থাৎ, অফচেইনে সংরক্ষিত তথ্য) সংগ্রহ, যাচাই এবং ব্লকচেইনে চলমান স্মার্ট কন্ট্রাক্টগুলোতে প্রেরণ করে। অফচেইন ডেটা 'পুল' (pull) করে ইথেরিয়ামে সম্প্রচার করার পাশাপাশি, ওরাকল ব্লকচেইন থেকে বাহ্যিক সিস্টেমে তথ্য 'পুশ' (push) করতে পারে, যেমন ব্যবহারকারী ইথেরিয়াম ট্রানজ্যাকশনের মাধ্যমে ফি পাঠালে একটি স্মার্ট লক আনলক করা।

ওরাকল ছাড়া, একটি স্মার্ট কন্ট্রাক্ট সম্পূর্ণভাবে অনচেইন ডেটার মধ্যে সীমাবদ্ধ থাকবে।

ডেটার উৎস (এক বা একাধিক উৎস), ট্রাস্ট মডেল (কেন্দ্রীভূত বা বিকেন্দ্রীকৃত) এবং সিস্টেম আর্কিটেকচারের (ইমিডিয়েট-রিড, পাবলিশ-সাবস্ক্রাইব এবং রিকোয়েস্ট-রেসপন্স) উপর ভিত্তি করে ওরাকলগুলো ভিন্ন হয়। অনচেইন কন্ট্রাক্টগুলোর ব্যবহারের জন্য তারা বাহ্যিক ডেটা পুনরুদ্ধার করে কিনা (ইনপুট ওরাকল), ব্লকচেইন থেকে অফচেইন অ্যাপ্লিকেশনগুলোতে তথ্য পাঠায় কিনা (আউটপুট ওরাকল), বা অফচেইনে গণনামূলক কাজ সম্পাদন করে কিনা (কম্পিউটেশনাল ওরাকল) তার উপর ভিত্তি করেও আমরা ওরাকলগুলোর মধ্যে পার্থক্য করতে পারি।

স্মার্ট কন্ট্রাক্টগুলোর কেন ওরাকল প্রয়োজন?

অনেক ডেভেলপার স্মার্ট কন্ট্রাক্টগুলোকে ব্লকচেইনের নির্দিষ্ট ঠিকানায় চলমান কোড হিসেবে দেখেন। তবে, স্মার্ট কন্ট্রাক্টগুলোর একটি সাধারণ দৃষ্টিভঙ্গি হলো এগুলো স্বয়ংক্রিয়ভাবে এক্সিকিউট হওয়া সফটওয়্যার প্রোগ্রাম, যা নির্দিষ্ট শর্ত পূরণ হলে পক্ষগুলোর মধ্যে চুক্তি কার্যকর করতে সক্ষম - আর এ কারণেই এদের 'স্মার্ট কন্ট্রাক্ট' বলা হয়।

কিন্তু মানুষের মধ্যে চুক্তি কার্যকর করার জন্য স্মার্ট কন্ট্রাক্ট ব্যবহার করা সহজ নয়, কারণ ইথেরিয়াম হলো ডিটারমিনিস্টিক (deterministic)। একটি ডিটারমিনিস্টিক সিস্টেম (opens in a new tab) হলো এমন একটি সিস্টেম যা একটি প্রাথমিক স্টেট এবং একটি নির্দিষ্ট ইনপুট দেওয়া হলে সর্বদা একই ফলাফল তৈরি করে, যার অর্থ ইনপুট থেকে আউটপুট গণনা করার প্রক্রিয়ায় কোনো র‍্যান্ডমনেস বা ভিন্নতা নেই।

ডিটারমিনিস্টিক এক্সিকিউশন অর্জনের জন্য, ব্লকচেইনগুলো নোডগুলোকে শুধুমাত্র ব্লকচেইনে সংরক্ষিত ডেটা ব্যবহার করে সাধারণ বাইনারি (সত্য/মিথ্যা) প্রশ্নগুলোতে ঐক্যমতে পৌঁছানোর মধ্যে সীমাবদ্ধ করে। এই ধরনের প্রশ্নের উদাহরণগুলোর মধ্যে রয়েছে:

  • “অ্যাকাউন্টের মালিক (একটি পাবলিক কী দ্বারা চিহ্নিত) কি পেয়ার করা প্রাইভেট কী দিয়ে এই ট্রানজ্যাকশনে স্বাক্ষর করেছেন?”
  • “এই অ্যাকাউন্টে কি ট্রানজ্যাকশনটি সম্পন্ন করার জন্য পর্যাপ্ত ফান্ড আছে?”
  • “এই স্মার্ট কন্ট্রাক্টের প্রেক্ষাপটে এই ট্রানজ্যাকশনটি কি বৈধ?”, ইত্যাদি।

যদি ব্লকচেইনগুলো বাহ্যিক উৎস (অর্থাৎ, বাস্তব জগত) থেকে তথ্য গ্রহণ করে, তবে ডিটারমিনিজম অর্জন করা অসম্ভব হয়ে পড়বে, যা নোডগুলোকে ব্লকচেইনের স্টেটের পরিবর্তনের বৈধতার বিষয়ে একমত হতে বাধা দেবে। উদাহরণস্বরূপ এমন একটি স্মার্ট কন্ট্রাক্টের কথা ধরা যাক যা একটি ঐতিহ্যবাহী প্রাইস API থেকে প্রাপ্ত বর্তমান ETH-USD বিনিময় হারের উপর ভিত্তি করে একটি ট্রানজ্যাকশন এক্সিকিউট করে। এই সংখ্যাটি ঘন ঘন পরিবর্তিত হওয়ার সম্ভাবনা রয়েছে (API-টি বাতিল বা হ্যাক হতে পারে তা তো বলাই বাহুল্য), যার অর্থ একই কন্ট্রাক্ট কোড এক্সিকিউট করা নোডগুলো ভিন্ন ভিন্ন ফলাফলে পৌঁছাবে।

ইথেরিয়ামের মতো একটি পাবলিক ব্লকচেইনের জন্য, যেখানে বিশ্বজুড়ে হাজার হাজার নোড ট্রানজ্যাকশন প্রসেস করছে, ডিটারমিনিজম অত্যন্ত গুরুত্বপূর্ণ। সত্যের উৎস হিসেবে কাজ করার মতো কোনো কেন্দ্রীয় কর্তৃপক্ষ না থাকায়, একই ট্রানজ্যাকশন প্রয়োগ করার পর একই স্টেটে পৌঁছানোর জন্য নোডগুলোর মেকানিজম প্রয়োজন। এমন একটি পরিস্থিতি যেখানে নোড A একটি স্মার্ট কন্ট্রাক্টের কোড এক্সিকিউট করে ফলাফল হিসেবে "3" পায়, অন্যদিকে নোড B একই ট্রানজ্যাকশন চালানোর পর "7" পায়, তা ঐক্যমত ভেঙে দেবে এবং একটি বিকেন্দ্রীকৃত কম্পিউটিং প্ল্যাটফর্ম হিসেবে ইথেরিয়ামের মান নষ্ট করবে।

এই দৃশ্যপটটি বাহ্যিক উৎস থেকে তথ্য টানার জন্য ব্লকচেইন ডিজাইন করার সমস্যাটিকেও তুলে ধরে। তবে, ওরাকলগুলো অফচেইন উৎস থেকে তথ্য নিয়ে এবং স্মার্ট কন্ট্রাক্টগুলোর ব্যবহারের জন্য ব্লকচেইনে সংরক্ষণ করে এই সমস্যার সমাধান করে। যেহেতু অনচেইনে সংরক্ষিত তথ্য অপরিবর্তনযোগ্য এবং সর্বজনীনভাবে উপলব্ধ, তাই ইথেরিয়াম নোডগুলো ঐক্যমত ভঙ্গ না করেই স্টেট পরিবর্তন গণনা করতে ওরাকল দ্বারা ইমপোর্ট করা অফচেইন ডেটা নিরাপদে ব্যবহার করতে পারে।

এটি করার জন্য, একটি ওরাকল সাধারণত অনচেইনে চলমান একটি স্মার্ট কন্ট্রাক্ট এবং কিছু অফচেইন উপাদান নিয়ে গঠিত হয়। অনচেইন কন্ট্রাক্টটি অন্যান্য স্মার্ট কন্ট্রাক্ট থেকে ডেটার জন্য অনুরোধ গ্রহণ করে, যা এটি অফচেইন উপাদানে (যাকে ওরাকল নোড বলা হয়) প্রেরণ করে। এই ওরাকল নোড ডেটা উৎসগুলোতে কোয়েরি করতে পারে—উদাহরণস্বরূপ, অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস (APIs) ব্যবহার করে—এবং স্মার্ট কন্ট্রাক্টের স্টোরেজে অনুরোধ করা ডেটা সংরক্ষণ করতে ট্রানজ্যাকশন পাঠাতে পারে।

মূলত, একটি ব্লকচেইন ওরাকল ব্লকচেইন এবং বাহ্যিক পরিবেশের মধ্যে তথ্যের ব্যবধান দূর করে, 'হাইব্রিড স্মার্ট কন্ট্রাক্ট' তৈরি করে। একটি হাইব্রিড স্মার্ট কন্ট্রাক্ট হলো এমন একটি কন্ট্রাক্ট যা অনচেইন কন্ট্রাক্ট কোড এবং অফচেইন পরিকাঠামোর সমন্বয়ের উপর ভিত্তি করে কাজ করে। বিকেন্দ্রীকৃত পূর্বাভাস বাজারগুলো হাইব্রিড স্মার্ট কন্ট্রাক্টের একটি চমৎকার উদাহরণ। অন্যান্য উদাহরণের মধ্যে শস্য বীমা স্মার্ট কন্ট্রাক্ট অন্তর্ভুক্ত থাকতে পারে যা পেআউট প্রদান করে যখন একগুচ্ছ ওরাকল নির্ধারণ করে যে নির্দিষ্ট আবহাওয়া সংক্রান্ত ঘটনা ঘটেছে।

ওরাকল সমস্যা কী?

ওরাকলগুলো একটি গুরুত্বপূর্ণ সমস্যার সমাধান করে, তবে কিছু জটিলতাও তৈরি করে, যেমন:

  • আমরা কীভাবে যাচাই করব যে ইনজেক্ট করা তথ্য সঠিক উৎস থেকে নেওয়া হয়েছে বা এর সাথে কোনো কারচুপি করা হয়নি?

  • আমরা কীভাবে নিশ্চিত করব যে এই ডেটা সর্বদা উপলব্ধ এবং নিয়মিত আপডেট করা হয়?

তথাকথিত 'ওরাকল সমস্যা' স্মার্ট কন্ট্রাক্টগুলোতে ইনপুট পাঠাতে ব্লকচেইন ওরাকল ব্যবহারের সাথে আসা সমস্যাগুলোকে প্রদর্শন করে। একটি স্মার্ট কন্ট্রাক্ট সঠিকভাবে এক্সিকিউট হওয়ার জন্য একটি ওরাকল থেকে আসা ডেটা অবশ্যই সঠিক হতে হবে। অধিকন্তু, সঠিক তথ্য প্রদানের জন্য ওরাকল অপারেটরদের 'বিশ্বাস' করতে বাধ্য হওয়া স্মার্ট কন্ট্রাক্টের 'আস্থা-নিরপেক্ষ' (trustless) দিকটিকে ক্ষুণ্ন করে।

বিভিন্ন ওরাকল ওরাকল সমস্যার বিভিন্ন সমাধান অফার করে, যা আমরা পরে অন্বেষণ করব। ওরাকলগুলো সাধারণত নিচের চ্যালেঞ্জগুলো কতটা ভালোভাবে পরিচালনা করতে পারে তার উপর মূল্যায়ন করা হয়:

  1. সঠিকতা: একটি ওরাকলের কারণে অবৈধ অফচেইন ডেটার উপর ভিত্তি করে স্মার্ট কন্ট্রাক্টগুলোর স্টেট পরিবর্তন ট্রিগার করা উচিত নয়। একটি ওরাকলকে অবশ্যই ডেটার সত্যতা এবং অখণ্ডতা নিশ্চিত করতে হবে। সত্যতা মানে ডেটা সঠিক উৎস থেকে পাওয়া গেছে, অন্যদিকে অখণ্ডতা মানে অনচেইনে পাঠানোর আগে ডেটা অক্ষত ছিল (অর্থাৎ, পরিবর্তন করা হয়নি)।

  2. উপলব্ধতা: একটি ওরাকলের স্মার্ট কন্ট্রাক্টগুলোকে অ্যাকশন এক্সিকিউট করতে এবং স্টেট পরিবর্তন ট্রিগার করতে বিলম্ব বা বাধা দেওয়া উচিত নয়। এর মানে হলো একটি ওরাকল থেকে ডেটা কোনো বাধা ছাড়াই অনুরোধের ভিত্তিতে উপলব্ধ হতে হবে।

  3. ইনসেনটিভ সামঞ্জস্যতা: একটি ওরাকলের অফচেইন ডেটা প্রদানকারীদের স্মার্ট কন্ট্রাক্টগুলোতে সঠিক তথ্য জমা দিতে উৎসাহিত করা উচিত। ইনসেনটিভ সামঞ্জস্যতার সাথে অ্যাট্রিবিউটেবিলিটি এবং জবাবদিহিতা জড়িত। অ্যাট্রিবিউটেবিলিটি বাহ্যিক তথ্যের একটি অংশকে এর প্রদানকারীর সাথে যুক্ত করার অনুমতি দেয়, অন্যদিকে জবাবদিহিতা ডেটা প্রদানকারীদের তাদের দেওয়া তথ্যের সাথে আবদ্ধ করে, যাতে প্রদত্ত তথ্যের মানের উপর ভিত্তি করে তাদের পুরস্কৃত বা শাস্তি দেওয়া যায়।

একটি ব্লকচেইন ওরাকল পরিষেবা কীভাবে কাজ করে?

ব্যবহারকারী

ব্যবহারকারী হলো এমন সত্তা (অর্থাৎ, স্মার্ট কন্ট্রাক্ট) যাদের নির্দিষ্ট কাজ সম্পন্ন করতে ব্লকচেইনের বাইরের তথ্যের প্রয়োজন হয়। একটি ওরাকল পরিষেবার প্রাথমিক ওয়ার্কফ্লো শুরু হয় ব্যবহারকারীর ওরাকল কন্ট্রাক্টে ডেটা অনুরোধ পাঠানোর মাধ্যমে। ডেটা অনুরোধগুলো সাধারণত নিচের কিছু বা সমস্ত প্রশ্নের উত্তর দেবে:

  1. অনুরোধ করা তথ্যের জন্য অফচেইন নোডগুলো কোন উৎসগুলোর সাথে পরামর্শ করতে পারে?

  2. রিপোর্টাররা কীভাবে ডেটা উৎস থেকে তথ্য প্রসেস করে এবং দরকারী ডেটা পয়েন্টগুলো বের করে?

  3. ডেটা পুনরুদ্ধারে কতগুলো ওরাকল নোড অংশগ্রহণ করতে পারে?

  4. ওরাকল রিপোর্টগুলোতে অসঙ্গতিগুলো কীভাবে পরিচালনা করা উচিত?

  5. সাবমিশনগুলো ফিল্টার করতে এবং রিপোর্টগুলোকে একটি একক ভ্যালুতে একত্রিত করতে কোন পদ্ধতি প্রয়োগ করা উচিত?

ওরাকল কন্ট্রাক্ট

ওরাকল কন্ট্রাক্ট হলো ওরাকল পরিষেবার জন্য অনচেইন উপাদান। এটি অন্যান্য কন্ট্রাক্ট থেকে ডেটা অনুরোধের জন্য অপেক্ষা করে, ওরাকল নোডগুলোতে ডেটা কোয়েরি রিলে করে এবং ক্লায়েন্ট কন্ট্রাক্টগুলোতে ফিরে আসা ডেটা সম্প্রচার করে। এই কন্ট্রাক্টটি অনুরোধকারী কন্ট্রাক্টে পাঠানোর জন্য একটি সামগ্রিক ভ্যালু তৈরি করতে ফিরে আসা ডেটা পয়েন্টগুলোতে কিছু গণনাও সম্পাদন করতে পারে।

ওরাকল কন্ট্রাক্ট কিছু ফাংশন প্রকাশ করে যা ক্লায়েন্ট কন্ট্রাক্টগুলো ডেটা অনুরোধ করার সময় কল করে। একটি নতুন কোয়েরি পাওয়ার পর, স্মার্ট কন্ট্রাক্টটি ডেটা অনুরোধের বিবরণ সহ একটি লগ ইভেন্ট এমিট করবে। এটি লগে সাবস্ক্রাইব করা অফচেইন নোডগুলোকে (সাধারণত জেসন-আরপিসি eth_subscribe কমান্ডের মতো কিছু ব্যবহার করে) অবহিত করে, যারা লগ ইভেন্টে সংজ্ঞায়িত ডেটা পুনরুদ্ধার করতে এগিয়ে যায়।

নিচে পেড্রো কস্তার একটি উদাহরণ ওরাকল কন্ট্রাক্ট (opens in a new tab) দেওয়া হলো। এটি একটি সাধারণ ওরাকল পরিষেবা যা অন্যান্য স্মার্ট কন্ট্রাক্টের অনুরোধে অফচেইন API-গুলোতে কোয়েরি করতে পারে এবং ব্লকচেইনে অনুরোধ করা তথ্য সংরক্ষণ করতে পারে:

ওরাকল নোড

ওরাকল নোড হলো ওরাকল পরিষেবার অফচেইন উপাদান। এটি থার্ড-পার্টি সার্ভারে হোস্ট করা API-গুলোর মতো বাহ্যিক উৎস থেকে তথ্য বের করে এবং স্মার্ট কন্ট্রাক্টগুলোর ব্যবহারের জন্য এটি অনচেইনে রাখে। ওরাকল নোডগুলো অনচেইন ওরাকল কন্ট্রাক্ট থেকে ইভেন্টগুলোর জন্য অপেক্ষা করে এবং লগে বর্ণিত কাজটি সম্পূর্ণ করতে এগিয়ে যায়।

ওরাকল নোডগুলোর জন্য একটি সাধারণ কাজ হলো একটি API পরিষেবাতে একটি HTTP GET (opens in a new tab) অনুরোধ পাঠানো, প্রাসঙ্গিক ডেটা বের করার জন্য রেসপন্স পার্স করা, ব্লকচেইন-পঠনযোগ্য আউটপুটে ফর্ম্যাট করা এবং ওরাকল কন্ট্রাক্টে একটি ট্রানজ্যাকশনে অন্তর্ভুক্ত করে এটি অনচেইনে পাঠানো। ওরাকল নোডকে 'অথেন্টিসিটি প্রুফ' ব্যবহার করে জমা দেওয়া তথ্যের বৈধতা এবং অখণ্ডতা সত্যায়ন করারও প্রয়োজন হতে পারে, যা আমরা পরে অন্বেষণ করব।

গ্যাস খরচ এবং ব্লক সাইজের সীমার কারণে অনচেইনে এক্সিকিউট করা অবাস্তব হবে এমন গণনামূলক কাজগুলো সম্পাদন করতে কম্পিউটেশনাল ওরাকলগুলোও অফচেইন নোডগুলোর উপর নির্ভর করে। উদাহরণস্বরূপ, ওরাকল নোডকে একটি যাচাইযোগ্য র‍্যান্ডম সংখ্যা তৈরি করার দায়িত্ব দেওয়া হতে পারে (যেমন, ব্লকচেইন-ভিত্তিক গেমগুলোর জন্য)।

ওরাকল ডিজাইন প্যাটার্ন

ওরাকলগুলো বিভিন্ন ধরনের হয়, যার মধ্যে রয়েছে ইমিডিয়েট-রিড, পাবলিশ-সাবস্ক্রাইব এবং রিকোয়েস্ট-রেসপন্স, যার মধ্যে শেষের দুটি ইথেরিয়াম স্মার্ট কন্ট্রাক্টগুলোর মধ্যে সবচেয়ে জনপ্রিয়। এখানে আমরা সংক্ষেপে পাবলিশ-সাবস্ক্রাইব এবং রিকোয়েস্ট-রেসপন্স মডেলগুলো বর্ণনা করছি।

পাবলিশ-সাবস্ক্রাইব ওরাকল

এই ধরনের ওরাকল একটি 'ডেটা ফিড' প্রকাশ করে যা অন্যান্য কন্ট্রাক্টগুলো তথ্যের জন্য নিয়মিত পড়তে পারে। এই ক্ষেত্রে ডেটা ঘন ঘন পরিবর্তিত হবে বলে আশা করা হয়, তাই ক্লায়েন্ট কন্ট্রাক্টগুলোকে অবশ্যই ওরাকলের স্টোরেজে ডেটার আপডেটের জন্য অপেক্ষা করতে হবে। এর একটি উদাহরণ হলো এমন একটি ওরাকল যা ব্যবহারকারীদের সর্বশেষ ETH-USD মূল্যের তথ্য প্রদান করে।

রিকোয়েস্ট-রেসপন্স ওরাকল

একটি রিকোয়েস্ট-রেসপন্স সেটআপ ক্লায়েন্ট কন্ট্রাক্টকে পাবলিশ-সাবস্ক্রাইব ওরাকল দ্বারা প্রদত্ত ডেটা ছাড়া অন্য যেকোনো ডেটার অনুরোধ করার অনুমতি দেয়। রিকোয়েস্ট-রেসপন্স ওরাকলগুলো তখন আদর্শ যখন ডেটাসেটটি একটি স্মার্ট কন্ট্রাক্টের স্টোরেজে সংরক্ষণ করার জন্য খুব বড় হয় এবং/অথবা ব্যবহারকারীদের যেকোনো সময়ে ডেটার শুধুমাত্র একটি ছোট অংশের প্রয়োজন হয়।

পাবলিশ-সাবস্ক্রাইব মডেলের চেয়ে বেশি জটিল হলেও, রিকোয়েস্ট-রেসপন্স ওরাকলগুলো মূলত আমরা আগের বিভাগে যা বর্ণনা করেছি তাই। ওরাকলের একটি অনচেইন উপাদান থাকবে যা একটি ডেটা অনুরোধ গ্রহণ করে এবং প্রসেস করার জন্য এটি একটি অফচেইন নোডে প্রেরণ করে।

ডেটা কোয়েরি শুরু করা ব্যবহারকারীদের অবশ্যই অফচেইন উৎস থেকে তথ্য পুনরুদ্ধারের খরচ বহন করতে হবে। অনুরোধে নির্দিষ্ট করা কলব্যাক ফাংশনের মাধ্যমে রেসপন্স ফেরত দেওয়ার সময় ওরাকল কন্ট্রাক্টের গ্যাস খরচ মেটানোর জন্য ক্লায়েন্ট কন্ট্রাক্টকে অবশ্যই ফান্ড প্রদান করতে হবে।

কেন্দ্রীভূত বনাম বিকেন্দ্রীকৃত ওরাকল

কেন্দ্রীভূত ওরাকল

একটি কেন্দ্রীভূত ওরাকল একটি একক সত্তা দ্বারা নিয়ন্ত্রিত হয় যা অফচেইন তথ্য একত্রিত করার এবং অনুরোধ অনুযায়ী ওরাকল কন্ট্রাক্টের ডেটা আপডেট করার জন্য দায়ী। কেন্দ্রীভূত ওরাকলগুলো দক্ষ কারণ তারা সত্যের একটি একক উৎসের উপর নির্ভর করে। যেসব ক্ষেত্রে মালিক সরাসরি একটি ব্যাপকভাবে স্বীকৃত স্বাক্ষর সহ মালিকানাধীন ডেটাসেট প্রকাশ করেন, সেসব ক্ষেত্রে এগুলো আরও ভালোভাবে কাজ করতে পারে। তবে, এগুলো কিছু অসুবিধাও নিয়ে আসে:

কম সঠিকতার নিশ্চয়তা

কেন্দ্রীভূত ওরাকলগুলোর ক্ষেত্রে, প্রদত্ত তথ্য সঠিক কিনা তা নিশ্চিত করার কোনো উপায় নেই। এমনকি 'স্বনামধন্য' প্রদানকারীরাও প্রতারক হতে পারে বা হ্যাক হতে পারে। যদি ওরাকলটি দূষিত হয়ে যায়, তবে স্মার্ট কন্ট্রাক্টগুলো খারাপ ডেটার উপর ভিত্তি করে এক্সিকিউট হবে।

দুর্বল উপলব্ধতা

কেন্দ্রীভূত ওরাকলগুলো অন্যান্য স্মার্ট কন্ট্রাক্টগুলোতে সর্বদা অফচেইন ডেটা উপলব্ধ করার নিশ্চয়তা দেয় না। যদি প্রদানকারী পরিষেবাটি বন্ধ করার সিদ্ধান্ত নেয় বা কোনো হ্যাকার ওরাকলের অফচেইন উপাদান হাইজ্যাক করে, তবে আপনার স্মার্ট কন্ট্রাক্ট ডিনায়াল অফ সার্ভিস (DoS) আক্রমণের ঝুঁকিতে পড়বে।

দুর্বল ইনসেনটিভ সামঞ্জস্যতা

কেন্দ্রীভূত ওরাকলগুলোতে প্রায়শই ডেটা প্রদানকারীর সঠিক/অপরিবর্তিত তথ্য পাঠানোর জন্য দুর্বলভাবে ডিজাইন করা বা অস্তিত্বহীন ইনসেনটিভ থাকে। সঠিকতার জন্য একটি ওরাকলকে অর্থ প্রদান করা সততার নিশ্চয়তা দেয় না। স্মার্ট কন্ট্রাক্ট দ্বারা নিয়ন্ত্রিত ভ্যালুর পরিমাণ বাড়ার সাথে সাথে এই সমস্যাটি আরও বড় হয়।

বিকেন্দ্রীকৃত ওরাকল

বিকেন্দ্রীকৃত ওরাকলগুলো সিঙ্গেল পয়েন্ট অফ ফেইলিওর দূর করে কেন্দ্রীভূত ওরাকলগুলোর সীমাবদ্ধতা কাটিয়ে ওঠার জন্য ডিজাইন করা হয়েছে। একটি বিকেন্দ্রীকৃত ওরাকল পরিষেবা একটি পিয়ার-টু-পিয়ার নেটওয়ার্কে একাধিক অংশগ্রহণকারী নিয়ে গঠিত যারা একটি স্মার্ট কন্ট্রাক্টে পাঠানোর আগে অফচেইন ডেটার উপর ঐক্যমত গঠন করে।

একটি বিকেন্দ্রীকৃত ওরাকল (আদর্শভাবে) পারমিশনলেস, আস্থা-নিরপেক্ষ এবং কোনো কেন্দ্রীয় পক্ষের প্রশাসন থেকে মুক্ত হওয়া উচিত; বাস্তবে, ওরাকলগুলোর মধ্যে বিকেন্দ্রীকরণ একটি বর্ণালীতে থাকে। আধা-বিকেন্দ্রীকৃত ওরাকল নেটওয়ার্ক রয়েছে যেখানে যে কেউ অংশগ্রহণ করতে পারে, তবে একজন 'মালিক' থাকে যে ঐতিহাসিক পারফরম্যান্সের উপর ভিত্তি করে নোডগুলোকে অনুমোদন করে এবং সরিয়ে দেয়। সম্পূর্ণ বিকেন্দ্রীকৃত ওরাকল নেটওয়ার্কও বিদ্যমান: এগুলো সাধারণত স্বতন্ত্র ব্লকচেইন হিসেবে চলে এবং নোডগুলোর সমন্বয় সাধন ও অসদাচরণের শাস্তির জন্য সংজ্ঞায়িত ঐক্যমত মেকানিজম থাকে।

বিকেন্দ্রীকৃত ওরাকল ব্যবহার করার নিম্নলিখিত সুবিধাগুলো রয়েছে:

উচ্চ সঠিকতার নিশ্চয়তা

বিকেন্দ্রীকৃত ওরাকলগুলো বিভিন্ন পদ্ধতি ব্যবহার করে ডেটার সঠিকতা অর্জনের চেষ্টা করে। এর মধ্যে রয়েছে ফিরে আসা তথ্যের সত্যতা এবং অখণ্ডতা সত্যায়নকারী প্রমাণ ব্যবহার করা এবং অফচেইন ডেটার বৈধতার বিষয়ে সম্মিলিতভাবে একমত হওয়ার জন্য একাধিক সত্তার প্রয়োজন হওয়া।

অথেন্টিসিটি প্রুফ

অথেন্টিসিটি প্রুফ হলো ক্রিপ্টোগ্রাফিক মেকানিজম যা বাহ্যিক উৎস থেকে পুনরুদ্ধার করা তথ্যের স্বাধীন যাচাইকরণ সক্ষম করে। এই প্রমাণগুলো তথ্যের উৎস যাচাই করতে পারে এবং পুনরুদ্ধারের পরে ডেটাতে সম্ভাব্য পরিবর্তনগুলো সনাক্ত করতে পারে।

অথেন্টিসিটি প্রুফের উদাহরণগুলোর মধ্যে রয়েছে:

ট্রান্সপোর্ট লেয়ার সিকিউরিটি (TLS) প্রুফ: ওরাকল নোডগুলো প্রায়শই ট্রান্সপোর্ট লেয়ার সিকিউরিটি (TLS) প্রোটোকলের উপর ভিত্তি করে একটি সুরক্ষিত HTTP সংযোগ ব্যবহার করে বাহ্যিক উৎস থেকে ডেটা পুনরুদ্ধার করে। কিছু বিকেন্দ্রীকৃত ওরাকল TLS সেশন যাচাই করতে (অর্থাৎ, একটি নোড এবং একটি নির্দিষ্ট সার্ভারের মধ্যে তথ্যের আদান-প্রদান নিশ্চিত করতে) এবং সেশনের বিষয়বস্তু পরিবর্তন করা হয়নি তা নিশ্চিত করতে অথেন্টিসিটি প্রুফ ব্যবহার করে।

ট্রাস্টেড এক্সিকিউশন এনভায়রনমেন্ট (TEE) সত্যায়ন: একটি ট্রাস্টেড এক্সিকিউশন এনভায়রনমেন্ট (opens in a new tab) (TEE) হলো একটি স্যান্ডবক্সযুক্ত গণনামূলক পরিবেশ যা এর হোস্ট সিস্টেমের অপারেশনাল প্রক্রিয়াগুলো থেকে বিচ্ছিন্ন। TEE-গুলো নিশ্চিত করে যে কম্পিউটেশন পরিবেশে সংরক্ষিত/ব্যবহৃত যেকোনো অ্যাপ্লিকেশন কোড বা ডেটা অখণ্ডতা, গোপনীয়তা এবং অপরিবর্তনযোগ্যতা বজায় রাখে। ব্যবহারকারীরা একটি অ্যাপ্লিকেশন ইনস্ট্যান্স ট্রাস্টেড এক্সিকিউশন এনভায়রনমেন্টের মধ্যে চলছে তা প্রমাণ করার জন্য একটি সত্যায়নও তৈরি করতে পারে।

কিছু নির্দিষ্ট শ্রেণীর বিকেন্দ্রীকৃত ওরাকলের জন্য ওরাকল নোড অপারেটরদের TEE সত্যায়ন প্রদান করতে হয়। এটি একজন ব্যবহারকারীকে নিশ্চিত করে যে নোড অপারেটর একটি ট্রাস্টেড এক্সিকিউশন এনভায়রনমেন্টে ওরাকল ক্লায়েন্টের একটি ইনস্ট্যান্স চালাচ্ছে। TEE-গুলো বাহ্যিক প্রক্রিয়াগুলোকে একটি অ্যাপ্লিকেশনের কোড এবং ডেটা পরিবর্তন বা পড়া থেকে বাধা দেয়, তাই, সেই সত্যায়নগুলো প্রমাণ করে যে ওরাকল নোড তথ্য অক্ষত এবং গোপন রেখেছে।

তথ্যের ঐক্যমত-ভিত্তিক বৈধতা

স্মার্ট কন্ট্রাক্টগুলোতে ডেটা প্রদান করার সময় কেন্দ্রীভূত ওরাকলগুলো সত্যের একটি একক উৎসের উপর নির্ভর করে, যা ভুল তথ্য প্রকাশের সম্ভাবনা তৈরি করে। বিকেন্দ্রীকৃত ওরাকলগুলো অফচেইন তথ্যে কোয়েরি করার জন্য একাধিক ওরাকল নোডের উপর নির্ভর করে এই সমস্যার সমাধান করে। একাধিক উৎস থেকে ডেটা তুলনা করে, বিকেন্দ্রীকৃত ওরাকলগুলো অনচেইন কন্ট্রাক্টগুলোতে অবৈধ তথ্য পাঠানোর ঝুঁকি কমায়।

তবে, বিকেন্দ্রীকৃত ওরাকলগুলোকে একাধিক অফচেইন উৎস থেকে পুনরুদ্ধার করা তথ্যের অসঙ্গতিগুলো মোকাবেলা করতে হবে। তথ্যের পার্থক্য কমানোর জন্য এবং ওরাকল কন্ট্রাক্টে পাঠানো ডেটা ওরাকল নোডগুলোর সম্মিলিত মতামত প্রতিফলিত করে তা নিশ্চিত করতে, বিকেন্দ্রীকৃত ওরাকলগুলো নিম্নলিখিত মেকানিজমগুলো ব্যবহার করে:

ডেটার সঠিকতার উপর ভোটিং/স্টেকিং

কিছু বিকেন্দ্রীকৃত ওরাকল নেটওয়ার্কে অংশগ্রহণকারীদের নেটওয়ার্কের নেটিভ টোকেন ব্যবহার করে ডেটা কোয়েরির উত্তরের সঠিকতার উপর (যেমন, "2020 সালের মার্কিন নির্বাচনে কে জিতেছে?") ভোট দিতে বা স্টেক করতে হয়। একটি অ্যাগ্রিগেশন প্রোটোকল তারপর ভোট এবং স্টেকগুলোকে একত্রিত করে এবং সংখ্যাগরিষ্ঠ দ্বারা সমর্থিত উত্তরটিকে বৈধ হিসেবে গ্রহণ করে।

যেসব নোডের উত্তর সংখ্যাগরিষ্ঠের উত্তর থেকে বিচ্যুত হয়, তাদের টোকেনগুলো আরও সঠিক ভ্যালু প্রদানকারী অন্যদের মধ্যে বিতরণ করে তাদের শাস্তি দেওয়া হয়। ডেটা প্রদান করার আগে নোডগুলোকে একটি বন্ড প্রদান করতে বাধ্য করা সৎ প্রতিক্রিয়াগুলোকে উৎসাহিত করে কারণ তাদের রিটার্ন সর্বাধিক করার উদ্দেশ্যে যুক্তিসঙ্গত অর্থনৈতিক অভিনেতা হিসেবে ধরে নেওয়া হয়।

স্টেকিং/ভোটিং বিকেন্দ্রীকৃত ওরাকলগুলোকে থেকেও রক্ষা করে যেখানে ক্ষতিকারক অভিনেতারা ঐক্যমত সিস্টেমকে ম্যানিপুলেট করার জন্য একাধিক পরিচয় তৈরি করে। তবে, স্টেকিং 'ফ্রিলোডিং' (ওরাকল নোডগুলো অন্যদের থেকে তথ্য অনুলিপি করে) এবং 'অলস বৈধতা' (ওরাকল নোডগুলো নিজেরাই তথ্য যাচাই না করে সংখ্যাগরিষ্ঠকে অনুসরণ করে) প্রতিরোধ করতে পারে না।

শেলিং পয়েন্ট মেকানিজম

শেলিং পয়েন্ট (opens in a new tab) হলো একটি গেম-থিওরি ধারণা যা ধরে নেয় যে একাধিক সত্তা কোনো যোগাযোগের অনুপস্থিতিতে সর্বদা একটি সমস্যার সাধারণ সমাধানে ডিফল্ট হবে। শেলিং-পয়েন্ট মেকানিজমগুলো প্রায়শই বিকেন্দ্রীকৃত ওরাকল নেটওয়ার্কগুলোতে ব্যবহৃত হয় যাতে নোডগুলো ডেটা অনুরোধের উত্তরগুলোতে ঐক্যমতে পৌঁছাতে পারে।

এর জন্য একটি প্রাথমিক ধারণা ছিল SchellingCoin (opens in a new tab), একটি প্রস্তাবিত ডেটা ফিড যেখানে অংশগ্রহণকারীরা একটি ডিপোজিটের সাথে "স্কেলার" প্রশ্নগুলোর (যে প্রশ্নগুলোর উত্তর মাত্রা দ্বারা বর্ণনা করা হয়, যেমন, "ETH-এর দাম কত?") প্রতিক্রিয়া জমা দেয়। যেসব ব্যবহারকারী 25 তম এবং 75 তম পার্সেন্টাইলের (opens in a new tab) মধ্যে ভ্যালু প্রদান করে তাদের পুরস্কৃত করা হয়, অন্যদিকে যাদের ভ্যালু মিডিয়ান ভ্যালু থেকে ব্যাপকভাবে বিচ্যুত হয় তাদের শাস্তি দেওয়া হয়।

যদিও SchellingCoin আজ বিদ্যমান নেই, বেশ কয়েকটি বিকেন্দ্রীকৃত ওরাকল—বিশেষ করে মেকার প্রোটোকলের ওরাকলগুলো (opens in a new tab)—ওরাকল ডেটার সঠিকতা উন্নত করতে শেলিং-পয়েন্ট মেকানিজম ব্যবহার করে। প্রতিটি মেকার ওরাকল নোডগুলোর ("রিলেয়ার" এবং "ফিড") একটি অফচেইন P2P নেটওয়ার্ক নিয়ে গঠিত যারা জামানত সম্পদের জন্য বাজার মূল্য জমা দেয় এবং একটি অনচেইন "মিডিয়ানাইজার" কন্ট্রাক্ট যা প্রদত্ত সমস্ত ভ্যালুর মিডিয়ান গণনা করে। একবার নির্দিষ্ট বিলম্বের সময়কাল শেষ হয়ে গেলে, এই মিডিয়ান ভ্যালুটি সংশ্লিষ্ট সম্পদের জন্য নতুন রেফারেন্স প্রাইস হয়ে যায়।

শেলিং পয়েন্ট মেকানিজম ব্যবহার করে এমন ওরাকলের অন্যান্য উদাহরণের মধ্যে রয়েছে চেইনলিংক অফচেইন রিপোর্টিং (opens in a new tab) এবং Witnet (opens in a new tab)। উভয় সিস্টেমেই, পিয়ার-টু-পিয়ার নেটওয়ার্কে ওরাকল নোডগুলো থেকে আসা প্রতিক্রিয়াগুলোকে একটি একক সামগ্রিক ভ্যালুতে একত্রিত করা হয়, যেমন গড় বা মিডিয়ান। নোডগুলোকে তাদের প্রতিক্রিয়াগুলো সামগ্রিক ভ্যালুর সাথে কতটা সামঞ্জস্যপূর্ণ বা বিচ্যুত হয় তার উপর ভিত্তি করে পুরস্কৃত বা শাস্তি দেওয়া হয়।

শেলিং পয়েন্ট মেকানিজমগুলো আকর্ষণীয় কারণ এগুলো বিকেন্দ্রীকরণের নিশ্চয়তা দেওয়ার পাশাপাশি অনচেইন ফুটপ্রিন্ট কমিয়ে দেয় (শুধুমাত্র একটি ট্রানজ্যাকশন পাঠাতে হয়)। পরেরটি সম্ভব কারণ গড়/মিডিয়ান ভ্যালু তৈরি করে এমন অ্যালগরিদমে ফিড করার আগে নোডগুলোকে অবশ্যই জমা দেওয়া প্রতিক্রিয়াগুলোর তালিকায় সাইন অফ করতে হবে।

উপলব্ধতা

বিকেন্দ্রীকৃত ওরাকল পরিষেবাগুলো স্মার্ট কন্ট্রাক্টগুলোতে অফচেইন ডেটার উচ্চ উপলব্ধতা নিশ্চিত করে। অফচেইন তথ্যের উৎস এবং অনচেইনে তথ্য স্থানান্তরের জন্য দায়ী নোড উভয়কেই বিকেন্দ্রীকরণ করে এটি অর্জন করা হয়।

এটি ফল্ট-টলারেন্স নিশ্চিত করে কারণ ওরাকল কন্ট্রাক্ট অন্যান্য কন্ট্রাক্ট থেকে কোয়েরি এক্সিকিউট করার জন্য একাধিক নোডের (যারা একাধিক ডেটা উৎসের উপরও নির্ভর করে) উপর নির্ভর করতে পারে। উৎস এবং নোড-অপারেটর স্তরে বিকেন্দ্রীকরণ অত্যন্ত গুরুত্বপূর্ণ—একই উৎস থেকে পুনরুদ্ধার করা তথ্য পরিবেশনকারী ওরাকল নোডগুলোর একটি নেটওয়ার্ক কেন্দ্রীভূত ওরাকলের মতোই একই সমস্যার সম্মুখীন হবে।

স্টেক-ভিত্তিক ওরাকলগুলোর পক্ষে ডেটা অনুরোধে দ্রুত সাড়া দিতে ব্যর্থ হওয়া নোড অপারেটরদের স্ল্যাশিং করাও সম্ভব। এটি ওরাকল নোডগুলোকে ফল্ট-টলারেন্ট পরিকাঠামোতে বিনিয়োগ করতে এবং সময়মতো ডেটা সরবরাহ করতে উল্লেখযোগ্যভাবে উৎসাহিত করে।

ভালো ইনসেনটিভ সামঞ্জস্যতা

বিকেন্দ্রীকৃত ওরাকলগুলো ওরাকল নোডগুলোর মধ্যে বাইজেন্টাইন (opens in a new tab) আচরণ রোধ করতে বিভিন্ন ইনসেনটিভ ডিজাইন প্রয়োগ করে। বিশেষ করে, তারা অ্যাট্রিবিউটেবিলিটি এবং জবাবদিহিতা অর্জন করে:

  1. বিকেন্দ্রীকৃত ওরাকল নোডগুলোকে প্রায়শই ডেটা অনুরোধের প্রতিক্রিয়ায় তাদের দেওয়া ডেটাতে স্বাক্ষর করতে হয়। এই তথ্যটি ওরাকল নোডগুলোর ঐতিহাসিক পারফরম্যান্স মূল্যায়নে সহায়তা করে, যাতে ব্যবহারকারীরা ডেটা অনুরোধ করার সময় অবিশ্বস্ত ওরাকল নোডগুলোকে ফিল্টার করতে পারে। এর একটি উদাহরণ হলো Witnet-এর অ্যালগরিদমিক রেপুটেশন সিস্টেম (opens in a new tab)

  2. বিকেন্দ্রীকৃত ওরাকলগুলো—যেমনটি আগে ব্যাখ্যা করা হয়েছে—নোডগুলোকে তাদের জমা দেওয়া ডেটার সত্যতার উপর তাদের আস্থার উপর একটি স্টেক রাখতে বলতে পারে। যদি দাবিটি সঠিক প্রমাণিত হয়, তবে সৎ পরিষেবার জন্য পুরস্কারের সাথে এই স্টেকটি ফেরত দেওয়া যেতে পারে। তবে তথ্যটি ভুল হলে এটি স্ল্যাশিংও করা যেতে পারে, যা জবাবদিহিতার কিছু পরিমাপ প্রদান করে।

স্মার্ট কন্ট্রাক্টে ওরাকলের প্রয়োগ

ইথেরিয়ামে ওরাকলের সাধারণ ব্যবহার-ক্ষেত্রগুলো নিচে দেওয়া হলো:

আর্থিক ডেটা পুনরুদ্ধার করা

বিকেন্দ্রীভূত অর্থব্যবস্থা (DeFi) অ্যাপ্লিকেশনগুলো পিয়ার-টু-পিয়ার ঋণ প্রদান, ঋণ গ্রহণ এবং সম্পদের ট্রেডিং করার অনুমতি দেয়। এর জন্য প্রায়শই বিভিন্ন আর্থিক তথ্য পাওয়ার প্রয়োজন হয়, যার মধ্যে রয়েছে বিনিময় হারের ডেটা (ক্রিপ্টোকারেন্সির ফিয়াট ভ্যালু গণনা করার জন্য বা টোকেনের দাম তুলনা করার জন্য) এবং ক্যাপিটাল মার্কেট ডেটা (টোকেনাইজড সম্পদের ভ্যালু গণনা করার জন্য, যেমন সোনা বা মার্কিন ডলার)।

উদাহরণস্বরূপ, একটি DeFi ঋণ প্রদান প্রোটোকলকে জামানত হিসেবে জমা করা সম্পদের (যেমন, ETH) বর্তমান বাজার মূল্যের জন্য কোয়েরি করতে হবে। এটি কন্ট্রাক্টটিকে জামানত সম্পদের ভ্যালু নির্ধারণ করতে এবং সিস্টেম থেকে এটি কতটা ঋণ নিতে পারে তা নির্ধারণ করতে দেয়।

DeFi-তে জনপ্রিয় “প্রাইস ওরাকল” (যেমনটি তাদের প্রায়শই বলা হয়) এর মধ্যে রয়েছে চেইনলিংক প্রাইস ফিড, Compound প্রোটোকলের ওপেন প্রাইস ফিড (opens in a new tab), ইউনিসোয়াপের টাইম-ওয়েটেড অ্যাভারেজ প্রাইস (TWAPs) (opens in a new tab) এবং মেকার ওরাকল (opens in a new tab)

নির্মাতাদের তাদের প্রজেক্টে এগুলোকে একীভূত করার আগে এই প্রাইস ওরাকলগুলোর সাথে আসা সতর্কতাগুলো বোঝা উচিত। এই নিবন্ধটি (opens in a new tab) উল্লিখিত প্রাইস ওরাকলগুলোর যেকোনো একটি ব্যবহার করার পরিকল্পনা করার সময় কী বিবেচনা করতে হবে তার একটি বিশদ বিশ্লেষণ প্রদান করে।

চেইনলিংক প্রাইস ফিড ব্যবহার করে আপনি কীভাবে আপনার স্মার্ট কন্ট্রাক্টে সর্বশেষ ETH মূল্য পুনরুদ্ধার করতে পারেন তার একটি উদাহরণ নিচে দেওয়া হলো:

যাচাইযোগ্য র‍্যান্ডমনেস তৈরি করা

কিছু নির্দিষ্ট ব্লকচেইন অ্যাপ্লিকেশন, যেমন ব্লকচেইন-ভিত্তিক গেম বা লটারি স্কিমগুলোর কার্যকরভাবে কাজ করার জন্য উচ্চ স্তরের অনির্দেশ্যতা এবং র‍্যান্ডমনেসের প্রয়োজন হয়। তবে, ব্লকচেইনগুলোর ডিটারমিনিস্টিক এক্সিকিউশন র‍্যান্ডমনেস দূর করে।

প্রাথমিক পদ্ধতিটি ছিল সিউডোর‍্যান্ডম ক্রিপ্টোগ্রাফিক ফাংশন ব্যবহার করা, যেমন blockhash, কিন্তু এগুলো প্রুফ-অফ-ওয়ার্ক অ্যালগরিদম সমাধানকারী মাইনারদের দ্বারা ম্যানিপুলেট করা (opens in a new tab) যেতে পারে। এছাড়াও, ইথেরিয়ামের প্রুফ-অফ-স্টেকে রূপান্তর এর অর্থ হলো ডেভেলপাররা অনচেইন র‍্যান্ডমনেসের জন্য আর blockhash এর উপর নির্ভর করতে পারবেন না। এর পরিবর্তে বিকন চেইনের RANDAO মেকানিজম (opens in a new tab) র‍্যান্ডমনেসের একটি বিকল্প উৎস প্রদান করে।

অফচেইনে র‍্যান্ডম ভ্যালু তৈরি করা এবং এটি অনচেইনে পাঠানো সম্ভব, তবে এটি করা ব্যবহারকারীদের উপর উচ্চ আস্থার প্রয়োজনীয়তা আরোপ করে। তাদের অবশ্যই বিশ্বাস করতে হবে যে ভ্যালুটি সত্যিই অনির্দেশ্য মেকানিজমের মাধ্যমে তৈরি করা হয়েছিল এবং ট্রানজিটে পরিবর্তন করা হয়নি।

অফচেইন কম্পিউটেশনের জন্য ডিজাইন করা ওরাকলগুলো অফচেইনে নিরাপদে র‍্যান্ডম ফলাফল তৈরি করে এই সমস্যার সমাধান করে যা তারা প্রক্রিয়ার অনির্দেশ্যতা সত্যায়নকারী ক্রিপ্টোগ্রাফিক প্রমাণের সাথে অনচেইনে সম্প্রচার করে। এর একটি উদাহরণ হলো চেইনলিংক VRF (opens in a new tab) (ভেরিফায়েবল র‍্যান্ডম ফাংশন), যা একটি প্রমাণযোগ্যভাবে ন্যায্য এবং টেম্পার-প্রুফ র‍্যান্ডম নম্বর জেনারেটর (RNG) যা অনির্দেশ্য ফলাফলের উপর নির্ভর করে এমন অ্যাপ্লিকেশনগুলোর জন্য নির্ভরযোগ্য স্মার্ট কন্ট্রাক্ট তৈরির জন্য দরকারী।

ইভেন্টগুলোর জন্য ফলাফল পাওয়া

ওরাকলের সাহায্যে, বাস্তব-জগতের ইভেন্টগুলোতে সাড়া দেয় এমন স্মার্ট কন্ট্রাক্ট তৈরি করা সহজ। ওরাকল পরিষেবাগুলো কন্ট্রাক্টগুলোকে অফচেইন উপাদানগুলোর মাধ্যমে বাহ্যিক API-গুলোর সাথে সংযোগ করতে এবং সেই ডেটা উৎসগুলো থেকে তথ্য গ্রহণ করার অনুমতি দিয়ে এটি সম্ভব করে তোলে। উদাহরণস্বরূপ, আগে উল্লিখিত পূর্বাভাস ড্যাপ (dapp) একটি বিশ্বস্ত অফচেইন উৎস (যেমন, অ্যাসোসিয়েটেড প্রেস) থেকে নির্বাচনের ফলাফল ফেরত দেওয়ার জন্য একটি ওরাকলকে অনুরোধ করতে পারে।

বাস্তব-জগতের ফলাফলের উপর ভিত্তি করে ডেটা পুনরুদ্ধার করতে ওরাকল ব্যবহার করা অন্যান্য অভিনব ব্যবহার-ক্ষেত্রগুলোকে সক্ষম করে; উদাহরণস্বরূপ, একটি বিকেন্দ্রীকৃত বীমা পণ্যের কার্যকরভাবে কাজ করার জন্য আবহাওয়া, বিপর্যয় ইত্যাদি সম্পর্কে সঠিক তথ্যের প্রয়োজন।

স্মার্ট কন্ট্রাক্ট স্বয়ংক্রিয় করা

স্মার্ট কন্ট্রাক্টগুলো স্বয়ংক্রিয়ভাবে চলে না; বরং, একটি এক্সটার্নালি ওনড অ্যাকাউন্ট (EOA), বা অন্য একটি চুক্তি অ্যাকাউন্টকে অবশ্যই কন্ট্রাক্টের কোড এক্সিকিউট করার জন্য সঠিক ফাংশনগুলো ট্রিগার করতে হবে। বেশিরভাগ ক্ষেত্রে, কন্ট্রাক্টের বেশিরভাগ ফাংশন সর্বজনীন এবং EOA এবং অন্যান্য কন্ট্রাক্ট দ্বারা ইনভোক করা যেতে পারে।

তবে একটি কন্ট্রাক্টের মধ্যে প্রাইভেট ফাংশনও রয়েছে যা অন্যদের কাছে অ্যাক্সেসযোগ্য নয়; কিন্তু যা একটি ড্যাপের (dapp) সামগ্রিক কার্যকারিতার জন্য অত্যন্ত গুরুত্বপূর্ণ। উদাহরণগুলোর মধ্যে রয়েছে একটি mintERC721Token() ফাংশন যা পর্যায়ক্রমে ব্যবহারকারীদের জন্য নতুন NFT মিন্ট করে, একটি পূর্বাভাস বাজারে পেআউট প্রদানের জন্য একটি ফাংশন, বা একটি DEX-এ স্টেক করা টোকেনগুলো আনলক করার জন্য একটি ফাংশন।

অ্যাপ্লিকেশনটি সুচারুভাবে চালানোর জন্য ডেভেলপারদের বিরতিতে এই ধরনের ফাংশনগুলো ট্রিগার করতে হবে। তবে, এটি ডেভেলপারদের জন্য জাগতিক কাজগুলোতে আরও বেশি সময় নষ্ট করতে পারে, যে কারণে স্মার্ট কন্ট্রাক্টগুলোর এক্সিকিউশন স্বয়ংক্রিয় করা আকর্ষণীয়।

কিছু বিকেন্দ্রীকৃত ওরাকল নেটওয়ার্ক অটোমেশন পরিষেবা অফার করে, যা অফচেইন ওরাকল নোডগুলোকে ব্যবহারকারী দ্বারা সংজ্ঞায়িত প্যারামিটার অনুযায়ী স্মার্ট কন্ট্রাক্ট ফাংশনগুলো ট্রিগার করার অনুমতি দেয়। সাধারণত, এর জন্য ওরাকল পরিষেবার সাথে টার্গেট কন্ট্রাক্টটি 'নিবন্ধন' করা, ওরাকল অপারেটরকে অর্থ প্রদানের জন্য ফান্ড প্রদান করা এবং কন্ট্রাক্টটি ট্রিগার করার শর্ত বা সময় নির্দিষ্ট করা প্রয়োজন।

চেইনলিংকের কিপার নেটওয়ার্ক (opens in a new tab) স্মার্ট কন্ট্রাক্টগুলোর জন্য একটি ট্রাস্ট মিনিমাইজড এবং বিকেন্দ্রীকৃত পদ্ধতিতে নিয়মিত রক্ষণাবেক্ষণের কাজগুলো আউটসোর্স করার বিকল্প প্রদান করে। আপনার কন্ট্রাক্টকে কিপার-সামঞ্জস্যপূর্ণ করা এবং আপকিপ পরিষেবা ব্যবহার করার তথ্যের জন্য অফিসিয়াল কিপারের ডকুমেন্টেশন (opens in a new tab) পড়ুন।

ব্লকচেইন ওরাকল কীভাবে ব্যবহার করবেন

আপনার ইথেরিয়াম ড্যাপে (dapp) একীভূত করার জন্য একাধিক ওরাকল অ্যাপ্লিকেশন রয়েছে:

চেইনলিংক (opens in a new tab) - চেইনলিংক বিকেন্দ্রীকৃত ওরাকল নেটওয়ার্কগুলো যেকোনো ব্লকচেইনে উন্নত স্মার্ট কন্ট্রাক্টগুলোকে সমর্থন করার জন্য টেম্পার-প্রুফ ইনপুট, আউটপুট এবং কম্পিউটেশন প্রদান করে।

RedStone ওরাকল (opens in a new tab) - RedStone হলো একটি বিকেন্দ্রীকৃত মডুলার ওরাকল যা গ্যাস-অপ্টিমাইজড ডেটা ফিড প্রদান করে। এটি উদীয়মান সম্পদগুলোর জন্য প্রাইস ফিড অফার করতে পারদর্শী, যেমন লিকুইড স্টেকিং টোকেন (LSTs), লিকুইড রিস্টেকিং টোকেন (LRTs) এবং বিটকয়েন স্টেকিং ডেরিভেটিভস।

Chronicle (opens in a new tab) - Chronicle সত্যিকারের স্কেলেবল, সাশ্রয়ী, বিকেন্দ্রীকৃত এবং যাচাইযোগ্য ওরাকল তৈরি করে অনচেইনে ডেটা স্থানান্তরের বর্তমান সীমাবদ্ধতাগুলো কাটিয়ে ওঠে।

Witnet (opens in a new tab) - Witnet হলো একটি পারমিশনলেস, বিকেন্দ্রীকৃত এবং সেন্সরশিপ-প্রতিরোধী ওরাকল যা স্মার্ট কন্ট্রাক্টগুলোকে শক্তিশালী ক্রিপ্টো-অর্থনৈতিক গ্যারান্টি সহ বাস্তব জগতের ইভেন্টগুলোতে প্রতিক্রিয়া জানাতে সাহায্য করে।

UMA ওরাকল (opens in a new tab) - UMA-এর অপ্টিমিস্টিক ওরাকল স্মার্ট কন্ট্রাক্টগুলোকে বীমা, আর্থিক ডেরিভেটিভস এবং পূর্বাভাস বাজার সহ বিভিন্ন অ্যাপ্লিকেশনের জন্য দ্রুত যেকোনো ধরনের ডেটা গ্রহণ করার অনুমতি দেয়।

টেলর (opens in a new tab) - টেলর হলো আপনার স্মার্ট কন্ট্রাক্টের জন্য একটি স্বচ্ছ এবং পারমিশনলেস ওরাকল প্রোটোকল যা যখনই প্রয়োজন হয় সহজেই যেকোনো ডেটা পেতে পারে।

Band প্রোটোকল (opens in a new tab) - Band প্রোটোকল হলো একটি ক্রস-চেইন ডেটা ওরাকল প্ল্যাটফর্ম যা বাস্তব-জগতের ডেটা এবং API-গুলোকে একত্রিত করে এবং স্মার্ট কন্ট্রাক্টগুলোর সাথে সংযুক্ত করে।

Pyth নেটওয়ার্ক (opens in a new tab) - Pyth নেটওয়ার্ক হলো একটি ফার্স্ট-পার্টি আর্থিক ওরাকল নেটওয়ার্ক যা একটি টেম্পার-প্রতিরোধী, বিকেন্দ্রীকৃত এবং স্ব-টেকসই পরিবেশে অনচেইনে অবিচ্ছিন্ন বাস্তব-জগতের ডেটা প্রকাশ করার জন্য ডিজাইন করা হয়েছে।

API3 DAO (opens in a new tab) - API3 DAO ফার্স্ট-পার্টি ওরাকল সলিউশন সরবরাহ করছে যা স্মার্ট কন্ট্রাক্টগুলোর জন্য একটি বিকেন্দ্রীকৃত সলিউশনে বৃহত্তর উৎস স্বচ্ছতা, নিরাপত্তা এবং স্কেলেবিলিটি প্রদান করে

Supra (opens in a new tab) - ক্রস-চেইন সলিউশনগুলোর একটি উল্লম্বভাবে সমন্বিত টুলকিট যা সমস্ত ব্লকচেইন, পাবলিক (L1s এবং L2s) বা প্রাইভেট (এন্টারপ্রাইজ) আন্তঃসংযোগ করে, বিকেন্দ্রীকৃত ওরাকল প্রাইস ফিড প্রদান করে যা অনচেইন এবং অফচেইন ব্যবহার-ক্ষেত্রগুলোর জন্য ব্যবহার করা যেতে পারে।

Gas নেটওয়ার্ক (opens in a new tab) - একটি ডিস্ট্রিবিউটেড ওরাকল প্ল্যাটফর্ম যা ব্লকচেইন জুড়ে রিয়েল-টাইম গ্যাস প্রাইস ডেটা প্রদান করে। শীর্ষস্থানীয় গ্যাস প্রাইস ডেটা প্রদানকারীদের থেকে ডেটা অনচেইনে আনার মাধ্যমে, Gas নেটওয়ার্ক আন্তঃকার্যক্ষমতা চালাতে সাহায্য করছে। Gas নেটওয়ার্ক ইথেরিয়াম মেইননেট এবং অনেক শীর্ষস্থানীয় L2 সহ 35 টিরও বেশি চেইনের জন্য ডেটা সমর্থন করে।

DIA (opens in a new tab) - একটি ক্রস-চেইন ওরাকল নেটওয়ার্ক যা সমস্ত প্রধান সম্পদ শ্রেণী জুড়ে 20,000+ সম্পদের জন্য যাচাইযোগ্য ডেটা ফিড সরবরাহ করে। DIA সরাসরি 100+ প্রাথমিক বাজার থেকে কাঁচা ট্রেড ডেটা সংগ্রহ করে এবং এটি অনচেইনে গণনা করে, যেকোনো ব্যবহার-ক্ষেত্রের জন্য কাস্টম কনফিগারেশন সহ সম্পূর্ণ ডেটা স্বচ্ছতা এবং যাচাইযোগ্যতা নিশ্চিত করে।

Stork (opens in a new tab) - Stork অতি-নিম্ন লেটেন্সিতে প্রাইস ডেটা সরবরাহ করে, যা পারপেচুয়াল মার্কেট, ঋণ প্রদান প্রোটোকল এবং DeFi ইকোসিস্টেম সহ বিস্তৃত ব্যবহার-ক্ষেত্রগুলোকে সমর্থন করে, যেখানে তালিকাভুক্তির সাথে সাথে নতুন সম্পদগুলো দ্রুত সমর্থিত হয়।

আরও পড়ুন

নিবন্ধ

ভিডিও

টিউটোরিয়াল

উদাহরণ প্রজেক্ট