Skip to content
সব অপশন ও ফিউচারস গাইড
DeFi মূল্য রেফারেন্স৮ মিনিট

DeFi প্রাইস ওরাকল কীভাবে দাম একত্র করে প্রকাশ করে

ওরাকল পর্যবেক্ষণ, heartbeat ও deviation আপডেট, একক ও stale-data যাচাই, এবং L2 sequencer downtime-এর সীমা বুঝুন।

এই গাইডেওরাকল রেফারেন্স প্রকাশ করে, নিশ্চিত execution price নয়

সংক্ষিপ্ত সারাংশ

প্রাইস ওরাকল এমন একটি ব্যবস্থা, যা ব্লকচেইনের বাইরের রেফারেন্সকে স্মার্ট কন্ট্র্যাক্টে পৌঁছে দেয়। প্রচলিত push-feed নকশায় কয়েকটি offchain পর্যবেক্ষণ স্বাক্ষরিত রিপোর্টে একত্র হয়, রিপোর্টটি onchain প্রকাশিত হয়, তারপর প্রোটোকল সর্বশেষ উত্তর পড়ে। Deviation ও heartbeat প্রকাশের সময়কে প্রভাবিত করে; ভোক্তা কন্ট্র্যাক্টকে decimals, quote unit, `updatedAt` এবং কিছু L2-তে sequencer-এর অবস্থা যাচাই করতে হয়। এসব নিয়ন্ত্রণ নির্দিষ্ট ঝুঁকি কমায়, কিন্তু দাম সত্য, প্রতিটি কাজে যথেষ্ট সাম্প্রতিক বা প্রতিটি লেনদেন নিরাপদ—এ নিশ্চয়তা দেয় না।

ওরাকল রেফারেন্স প্রকাশ করে, নিশ্চিত execution price নয়

ওরাকল ব্লকচেইনের বাইরের তথ্যকে onchain কোডের ব্যবহারের উপযোগী করে। ঋণ প্রোটোকল collateral মূল্যায়নে asset-price feed পড়তে পারে; derivative contract settlement বা risk limit-এ একটি reference ব্যবহার করতে পারে। কন্ট্র্যাক্ট চেইনে লেখা সংখ্যা পড়ে, কিন্তু প্রতিটি exchange-এর order book দেখে কোন বাইরের মূল্য ন্যায্য তা নিজে নির্ধারণ করে না।

“দাম” বলতে asset/quote pair, প্রোটোকল-নির্ধারিত redemption rate বা অন্য পরিমাপ বোঝাতে পারে; বড় অর্ডারে বিক্রি করা যাবে এমন দাম এটি নিজে থেকে নয়। DEX swap impact ও slippage guide এবং mark price বনাম last trade guide আলাদা ধরনের price reference ব্যাখ্যা করে। এখানে সাধারণ EVM push feed আলোচিত, সব DeFi-র একক নিয়ম নয়।

পর্যবেক্ষণ কীভাবে onchain উত্তর হয়

Chainlink-এর Offchain Reporting নকশায় oracle node-গুলো offchain observation বিনিময় করে একটি report-এ একমত হয়। নির্দিষ্ট quorum report-এ স্বাক্ষর করলে transmitter সেটি transaction হিসেবে পাঠায়; aggregator স্বাক্ষর যাচাই করে answer, round identifier ও timestamp প্রকাশ করে। Offchain Reporting documentation এই নকশায় report-এর observation median হিসেবে প্রকাশের ব্যাখ্যা দেয়।

Consumer contract সাধারণত আবার পুরো aggregation করে না; feed proxy-র latestRoundData() ডাকে। Proxy address একই রেখে তার পেছনের aggregator বদলাতে পারে। EVM data-feed guide ও API reference দেখে সঠিক chain ও feed address মিলিয়ে নিন। একাধিক node থাকলেই data source আলাদা হয় না; তারা একই exchange বা provider-এর ওপর নির্ভর করতে পারে।

লেখাহীন দৃশ্যে বাজারের পর্যবেক্ষণ নোডের মাধ্যমে একত্র হয়ে মূল্য ফিডে যায়, তারপর যাচাইয়ের দরজা পেরিয়ে জামানতের ভল্টে পৌঁছায়।
পর্যবেক্ষণ একত্রিত হয়ে ভোক্তার কাছে যায়; মূল্য কতটা নতুন এবং sequencer চালু কি না—এ দুটো আলাদা পরীক্ষা।

Heartbeat ও deviation publication trigger নিয়ন্ত্রণ করে

অনেক push feed deviation threshold ও heartbeat একসঙ্গে ব্যবহার করে। আগের প্রকাশিত উত্তরের তুলনায় নির্দিষ্ট শতাংশ পরিবর্তন হলে deviation নতুন report চাইতে পারে; বড় পরিবর্তন না হলেও নির্দিষ্ট সময় পেরোলে heartbeat আপডেট চাইতে পারে। নির্দিষ্ট feed-এর asset, network, threshold ও heartbeat দেখতে Data Feeds directory এবং feed address page দেখুন।

এগুলো feed-specific trigger, “প্রতি N সেকেন্ডে আপডেট হবে” এমন সর্বজনীন প্রতিশ্রুতি নয়। ছোট price move-এ deviation trigger নাও হতে পারে; heartbeat পর্যন্ত অপেক্ষা হতে পারে। trigger হলেও observation, report transmission ও block inclusion-এর ধাপ বাকি থাকে। তাই heartbeat সঠিক সময়ে update পৌঁছানো বা মূল্য কখনও stale না হওয়ার নিশ্চয়তা নয়। অ্যাপ্লিকেশন নিজে তার কাজে গ্রহণযোগ্য data age নির্ধারণ করবে।

Answer, decimals ও quote unit পড়ুন

latestRoundData() round ID, answer, startedAt, updatedAt ও answeredInRound দেয়; API reference শেষের field-টিকে deprecated বলেছে। answer একটি fixed-point integer, সরাসরি ডলার অঙ্ক ধরে নেবেন না। নির্বাচিত feed-এর decimals() এবং description পড়ুন। উদাহরণে BTC/USD feed যদি 8 decimals-এ 6,725,000,000,000 ফেরায়, তার মান BTC-প্রতি $67,250।

Feed decimals আর token decimals আলাদা। ERC-20 amount 18 decimal হতে পারে, কিন্তু price answer 8 decimal। গুণের আগে প্রতিটি মানের নিজস্ব unit অনুযায়ী scale করতে হয়। BTC/USD মানে এক BTC-র দাম USD-তে; USD/BTC তার inverse। derived pair বানালে দুই feed সঠিকভাবে scale করে সঠিক ক্রমে ভাগ করুন; Chainlink denomination example BTC/USD ও EUR/USD থেকে BTC/EUR দেখায়।

Staleness check অ্যাপ্লিকেশনের নিয়ম

updatedAt সর্বশেষ round update-এর timestamp দেয়। ভোক্তা বর্তমান block timestamp-এর সঙ্গে তুলনা করে নিজের নির্ধারিত সর্বোচ্চ বয়সের চেয়ে পুরোনো উত্তর প্রত্যাখ্যান করতে পারে। feed অনুযায়ী nonzero update time, positive-price asset-এর positive answer এবং যৌক্তিক bounds-ও পরীক্ষা করা যায়। Bound পণ্যের সঙ্গে মানানসই হতে হবে; খুব tight হলে বৈধ market move প্রত্যাখ্যাত হতে পারে।

ধরা যাক, কাল্পনিক lending market চারটি collateral token-এ 75% factor দেয়। 8 decimals-এর শেষ উত্তর 200,000,000,000, অর্থাৎ প্রতি token $2,000, তাই borrowing ceiling 4 × $2,000 × 75% = $6,000। বাজার $1,820-তে নামলে তা 9% পতন। উদাহরণস্বরূপ 10% deviation এবং 60-minute heartbeat থাকলে কোনো trigger তখনও update না চাইতে পারে। নতুন দামে ceiling $5,460—পুরোনো মূল্য $540 বেশি দেখায়।

যদি অ্যাপ 5 মিনিটের বেশি পুরোনো মূল্য প্রত্যাখ্যান করে এবং round 20 মিনিট পুরোনো হয়, নতুন borrowing বন্ধ হতে পারে। এতে feed নিজে update হয় না; stale অবস্থায় কোন action চলবে তা বদলে যায়। Borrow, withdrawal, liquidation ও repayment-এর প্রতিক্রিয়া আলাদা হতে পারে, কারণ সব action থামানোও ক্ষতিকর। সংখ্যা ও trigger এখানে কেবল উদাহরণ, বর্তমান feed config বা পরামর্শ নয়।

L2 sequencer check অন্য outage risk দেখে

অনেক L2-তে transaction sequencer-এর মাধ্যমে জমা হয়। sequencer বন্ধ বা পুনরায় চালু হলে লেনদেন বিলম্বিত হতে পারে, স্বাভাবিক trading ব্যাহত হতে পারে, বা পরে বাজার বদলে গেলে pending order কার্যকর হতে পারে। L2 price answer সাম্প্রতিক দেখালেই execution path সচল ছিল বা সবাই একই সময়ে কাজ করতে পেরেছে বোঝায় না।

Chainlink আলাদা L2 Sequencer Uptime Feed নথিভুক্ত করেছে: answer == 0 মানে sequencer up, answer == 1 মানে down। startedAt status change-এর সময় ধরে; উদাহরণ consumer status যাচাই করে recovery-র পর নির্ধারিত grace period অপেক্ষা করে তারপর price feed পড়ে। L2 sequencer uptime guide থেকে নির্দিষ্ট L2 address ও আচরণ যাচাই করুন। Grace period বাজারদর refresh বা pending transaction শেষ হওয়ার নিশ্চয়তা নয়।

এই নিয়ন্ত্রণ সঠিক বা ন্যায্য ফল নিশ্চিত করে না

Quorum, median, deviation, heartbeat, age limit ও sequencer status প্রত্যেকটি সীমিত প্রশ্নের উত্তর দেয়। এগুলো বাজারের liquidity, asset পরিচয়, provider-দের স্বাধীনতা বা নির্দিষ্ট trade size-এ execution price নিশ্চিত করে না। সাম্প্রতিক timestamp-এ ভুল বা manipulated value থাকতে পারে; শান্ত বাজারে পুরোনো মূল্য কাছাকাছি থাকতে পারে।

কোনো trigger-ই price gap, congestion বা scaling, pair selection ও liquidation logic-এর bug দূর করে না। Selecting Quality Data Feeds liquidity, source dependency এবং stale, delayed, missing বা unexpected data সামলানোর কথা বলে। এসব ব্যবস্থা contract, governance, bridge, collateral ও liquidation risk দূর করে না। Stablecoin-এর oracle price redemption at par নিশ্চিত করে না; depeg guide দেখুন।

নির্ভর করার আগে price path অনুসরণ করুন

নির্দিষ্ট chain, proxy, asset pair, quote currency, answer decimals ও contract address শনাক্ত করুন। Feed description asset-এর সঙ্গে মেলে কি না দেখুন; অন্য chain-এর address কপি করবেন না। প্রয়োজনে source model ও update history দেখুন। Chainlink জানায় network অনুযায়ী aggregator ভিন্ন হতে পারে, তাই code ও configuration যাচাই দরকার।

এরপর contract কীভাবে answer ব্যবহার করে দেখুন: amount ও price unit scale, updatedAt check, maximum age, invalid value-তে কোন action বন্ধ হবে। L2-তে uptime feed, recovery timestamp, grace period ও delayed transaction behavior যাচাই করুন। বাস্তব code-এ stale এবং outage/recovery—দুটো case পরীক্ষা করুন। Price label-এর মানে বুঝতে mark ও last-price guide পড়ুন।

সাধারণ প্রশ্ন

Q1Heartbeat কি নিশ্চিত করে price ওই সময়ের চেয়ে পুরোনো হবে না?

না। এটি update design-এর সময়ভিত্তিক trigger, exact publication বা block inclusion-এর নিশ্চয়তা নয়। updatedAt দেখুন এবং কাজের উপযোগী freshness policy নির্ধারণ করুন।

Q2Median oracle feed কি ভুল হতে পারে?

হ্যাঁ। Median কিছু outlier-এর প্রভাব কমায়, কিন্তু shared source problem, thin market, ভুল pair বা consumer logic-এর bug ঠিক করে না।

Q3L2 uptime feed কি stale-price check-এর সমান?

না। Uptime feed sequencer status ও পরিবর্তনের সময় জানায়; stale check price round-এর updatedAt তুলনা করে। দুটোই এবং recovery grace period-ও লাগতে পারে.

উৎস ও আরও পড়ুন

সমস্যা জানান

এই নিবন্ধের লিংকসহ একটি ইমেল তৈরি হবে। পাঠানোর পরেই Mark প্রতিবেদনটি পাবে

দ্রুত যাচাই

গাইডটি পড়ার পর 3টি প্রশ্নে নিজেকে যাচাই করুন

প্রশ্ন 1 / 3

প্রশ্ন 01

8 decimals-সহ BTC/USD feed `6,725,000,000,000` ফেরালে scaled price কত?

ব্যাখ্যা দেখতে একটি উত্তর বেছে নিন

অপশন শব্দকোষ

DEX সোয়াপ সম্পাদনDEX সোয়াপ: দামের প্রভাব, স্লিপেজ ও MEVপুলের গভীরতা প্রত্যাশিত দামের প্রভাব কীভাবে বদলায়, ন্যূনতম প্রাপ্তির সীমা অপেক্ষমাণ সোয়াপকে কীভাবে নিয়ন্ত্রণ করে এবং বেশি স্লিপেজ সহনশীলতা কেন খারাপ সম্পাদন মেনে নিতে পারে—তা জানুন।তিনটি দাম, তিনটি আলাদা কাজক্রিপ্টোতে মার্ক প্রাইস ও সর্বশেষ লেনদেনের দাম: লিকুইডেশন কেন আলাদা হয়ক্রিপ্টো পারপেচুয়াল চুক্তিতে সূচক, মার্ক ও সর্বশেষ লেনদেনের দাম তুলনা করুন; কোন রেফারেন্স লিকুইডেশন বা স্টপ চালু করতে পারে এবং চার্টের দাম কেন ভিন্ন হয় জানুন।স্টেবলকয়েনের কার্যপদ্ধতিস্টেবলকয়েনের পেগ কেন সরে যায়: রিডেম্পশন, রিজার্ভ ও ধারকের ঝুঁকিস্টেবলকয়েনের লক্ষ্যদর ও বাজারদরের পার্থক্য, রিডেম্পশনের সুযোগ বলতে কী বোঝায়, এবং রিজার্ভ, তারল্য, কাস্টডি ও চেইন-ঝুঁকি কীভাবে ডিপেগ বাড়াতে পারে তা জানুন।অপশনের কার্যপ্রণালিঅপশন অ্যাসাইনমেন্ট কী?মেয়াদের আগে বা মেয়াদে বিক্রি করা অপশন কীভাবে শেয়ার দেওয়া বা কেনার দায় তৈরি করে তা বুঝুনএকটি অনুমোদিত চুক্তির সংখ্যা ঝুঁকি বাজেটের মতো নয়বিকল্প অবস্থানের সীমা বনাম ব্যায়াম সীমা ব্যাখ্যা করা হয়েছেকীভাবে তালিকাভুক্ত বিকল্প অবস্থানের সীমা ব্যায়ামের সীমা থেকে আলাদা তা জানুন, কেন একই-পাশে একত্রিতকরণ এবং রিপোর্টিং ব্যাপার এবং কেন মার্জিন বা ক্রয় ক্ষমতা একটি পরিমাণ অনুমোদিত কিনা তা দেখায় না