اوراکلها در بلاکچین همچون پلهایی هستند که سیستمهای بلاکچینی را به دنیای خارج متصل کرده و به قراردادهای هوشمند اجازه می دهند بر اساس دادههای دنیای واقعی اجرا شوند. تصور کنید دو نفر روی نتیجه یک مسابقه اسب سواری شرطبندی کنند و مبلغ روی قرارداد هوشمند نگهداری شود. اما این قرارداد چگونه پی میبرد که پس از پایان بازی برنده مسابقه کیست و پول را به حساب چه کسی واریز کند؟ راه حل این مساله استفاده از یک مکانیسم اوراکل است. در این مقاله از آکادمی مزدکس به نقش اوراکل در بلاکچین میپردازیم.
اوراکل در بلاکچین چیست؟
اوراکل بلاکچین یک محدودیت کلیدی در قرارداد هوشمند را برای ما برجسته میکند. اینکه قراردادهای هوشمند به هیچ وجه نمیتوانند با دادهها و سیستمهای خارج از بلاکچین بومی خود ارتباط برقرار کنند. منابع خارجی به عنوان «خارج از زنجیره» و دادههای درون بلاکچین به عنوان «آنچین یا درون زنجیره» درنظر گرفته میشوند. بلاکچینها با جداسازی هدفمند خود از سیستمهای خارجی، موجب افزایش امنیت (جلوگیری از حملات دوبار خرج کردن)، اجماع قوی صحت تراکنشها و کاهش زمان از کار افتادگی شبکه میشوند. اما برای تعامل ایمن با سیستمهای خارج از زنجیره و پر کردن شکاف بین دو محیط، به یک زیرساخت اضافی به نام «اوراکل» نیاز است.
از آنجایی که اکثر موارد استفاده از قراردادهای هوشمند، مانند DeFi، نیازمند دانش در مورد دادهها و رویدادهایی هستند که خارج از زنجیره رخ میدهند، حل این مشکل بسیار مهم است. در نتیجه، اوراکلها انواع قراردادهای دیجیتالی را که بلاکچینها برای ورود به دنیای واقعی نیاز دارند را (با حفظ امنیت بلاکچین)، گسترش میدهند. قیمت داراییها برای امور مالی، تایید هویت برای دولتها و اطلاعات آب و هوایی برای بیمه، تنها بخشی از صنایعیست که از ادغام اوراکلها با قراردادهای هوشمند سود میبرند.
معضل اصلی اوراکلها
هر دستگاه یا مکانیزمی که یک بلاکچین را به دادههای خارج از زنجیره متصل کند، اوراکل بلاکچین نامیده میشود. هر ورودی داده از طریق یک تراکنش خارجی در این اوراکلها هدایت میشود. با این حال، میتوانیم مطمئن باشیم که بلاکچین تمام اطلاعات مورد نیاز برای احراز هویت خود را از این طریق دارد. اوراکلها بهعنوان میانافزار بلاکچین در نظر گرفته میشوند و بهعنوان پیوندی بین این دو حوزه عمل میکنند.
اما وجود یک اوراکل متمرکز هم باعث ایجاد مشکل میشود. به عنوان مثال اگر اوراکل معیوب باشد یا به خطر بیفتد، چگونه میدانید که دادههای شما دقیق است؟ ویا اگر دادههایی که اوراکل به آنها تکیه کرده مشکوک باشند، برای یک قرارداد ایمن روی بلاکچین چه اتفاقی میافتد؟
امروزه این مشکل توسط چین لینک (شبکه غیرمتمرکز نودها) حل شده است. این تکنیک چن لینک یعنی استفاده از شبکه غیرمتمرکز اوراکلها، مشکل قابلیت اطمینان را که ممکن است در صورت استفاده از یک منبع متمرکز منفرد ایجاد شود رفع میکند. توکن LINK داراییهای دیجیتال این شبکه است که برای پرداخت خدمات چین لینک استفاده میشوند. همچنین شما میتوانید به دادههای غیرمتمرکز زنجیرهای که قبلاً از دنیای واقعی استخراج شدهاند، به راحتی مراجعه کنید. حتی میتوانید شبکههای اوراکل مدولار خود را برای به دست آوردن اطلاعات خاصی که نیاز دارید ایجاد کنید. علاوه بر این، قادر خواهید بود محاسبات خارج از زنجیره را انجام داده و دادهها را به دنیای واقعی انتقال دهید.
آشنایی با انواع اوراکل در بلاکچین
اوراکل یک بلاکچین یا قرارداد هوشمند را برای برقراری ارتباط با دادههای خارجی ارائه میدهد و به عنوان رابطی برای دنیای خارج از بلاکچین عمل می کند. دادههای بیرونی باید در بسیاری از شرایط به سیستم بلاکچین بسته منتقل شوند؛ به خصوص زمانی که قراردادهای هوشمند با رویدادهای دنیای واقعی مرتبط هستند. دادههای خارجی توسط اوراکلهای کریپتو بررسی، تایید و احراز هویت میشوند و سپس به سیستم بسته منتقل میشوند. پس از آن، دادههای تایید شده برای اعتبارسنجی یک قرارداد هوشمند استفاده میشود. در ادامه به معرفی انواع اوراکل میپردازیم:
اوراکل های سختافزاری و نرمافزاری
اکثر اوراکلهای رمزارزی، دادههای دیجیتال را تجزیه و تحلیل میکنند. اوراکلهای سختافزاری دادهها را از دنیای فیزیکی تحویل گرفته و اوراکلهای نرمافزاری دادهها را از منابع دیجیتال مانند وبسایتها، سرورها یا پایگاههای داده دریافت میکنند. علاوه بر این، اطلاعات حسگرهای حرکت دوربین و حسگرهای شناسایی فرکانس رادیویی (RFID) میتواند توسط اوراکلهای سختافزاری تحویل و ارسال شود. دادههای بلادرنگ، مانند نرخ مبادله، تغییرات قیمت و اطلاعات سفر را میتوان از طریق اوراکلهای نرمافزاری تحویل داد.
اوراکل های ورودی و خروجی
اوراکل یک کانال ارتباطی دو طرفه با بلاکچین ایجاد میکند و دادهها را به داخل و خارج ارسال میکند. اوراکلهای خروجی میتوانند دادههای بلاکچین را به دنیای خارج برسانند و اوراکلهای ورودی دادههای خارج از زنجیره یا دنیای واقعی را به بلاکچین انتقال میدهند. علاوه بر این، دادههای ورودی میتوانند تقریباً هر چیزی را از نوسانات قیمت دارایی گرفته تا شرایط آب و هوایی و تایید پرداختهای تکمیلشده، نشان دهند.
اوراکل های متمرکز و غیرمتمرکز
اوراکل متمرکز توسط یک نهاد واحد مدیریت میشود و به عنوان تنها منبع داده قرارداد هوشمند عمل میکند. این اوراکل به دلیل اتکا به یک منبع اطلاعاتی واحد، ریسک بیشتری دارد زیرا اثربخشی قرارداد صرفاً به نهاد مسئول اوراکل بستگی دارد.
اما اوراکلهای غیرمتمرکز با به حداقل رساندن ریسک طرف مقابل، اطلاعات تحویلی به قراردادهای هوشمند را با عدم وابستگی به یک منبع واحد، قابل اعتمادتر می کنند.
قرارداد هوشمند برای ارزیابی اعتبار و صحت دادهها با چندین اوراکل مشورت می کند. به همین دلیل است که اوراکل های غیرمتمرکز به عنوان اوراکل های اجماع نیز شناخته میشوند.
اوراکل انسانی
گاهی اوقات افراد با دانش تخصصی در یک بخش خاص میتوانند به عنوان اوراکل عمل کنند. آنها ممکن است اطلاعات را از منابع مختلف جمعآوری، مشروعیت آن را بررسی و سپس آنها را به قراردادهای هوشمند ارسال کنند. از آنجایی که اوراکلهای انسانی میتوانند از فرایند رمزنگاری برای تایید هویت خود بهره ببرند، احتمال اینکه یک کلاهبردار هویت آنها جعل و دادههای دستکاری شده ارائه دهد، اندک است.
اوراکل های قرارداد خاص
این اوراکلها برای کار با قراردادهای هوشمند خاص ساخته شدهاند. اگر توسعهدهنده قصد داشته باشد قراردادهای هوشمند متعددی را مستقر کند، لازم است اوراکلهای مختلف مخصوص قرارداد خود را بسازد. این اوراکلها ارزش زمان و کار لازم برای به روز نگه داشتن را نداشته و صرفا باید در شرایط خاص مورد استفاده قرار گیرند و ممکن است هزینه آنها نسبت به سایر اوراکلها بیشتر باشد.
اوراکل های محاسباتی
ما تا به حال در مورد اوراکلها از نظر نحوه جستجو و ارائه داده صحبت کردیم. با این حال، اوراکلها را میتوان برای انجام هر راه حل محاسباتی دلخواه «خارج از زنجیره» مورد استفاده قرار داد، که به ویژه با توجه به محدودیت هزینه گس ذاتی اتریوم و هزینه محاسباتی بالا سودمند است.
اوراکلهای محاسباتی، بهجای اینکه صرفاً نتایج یک بررسی را ارسال کنند، میتوانند برای انجام محاسبات روی مجموعهای از ورودیها و بازگرداندن نتایج محاسبهشده استفاده شوند. به عنوان مثال، برای تخمین سود یک قرارداد اوراق قرضه، میتوان از یک اوراکل محاسباتی برای انجام یک محاسبه رگرسیونی پیچیده استفاده کرد.
الگوهای طراحی اوراکل
طبق تعریف، همه اوراکلهای مورد بحث، چند نقش کلیدی دارند. این قابلیت ها شامل تواناییهای زیر است:
- دادهها را از یک منبع غیر بلاکچین جمع آوری میکنند.
- با استفاده از یک پیام امضا شده، دادهها را روی زنجیره ارسال میکنند.
- دادهها را با ذخیرهسازی در یک قرارداد هوشمند، در دسترس قرار میدهند.
- هنگامی که دادهها در فضای قرارداد هوشمند ذخیره شدند، سایر قراردادهای خودکار میتوانند از طریق پیامی که تابع «بازیابی» قرارداد هوشمند اوراکل را فراخوانی میکنند، به آن دسترسی داشته باشند. همچنین میتوان آن را مستقیماً توسط نودهای اتریوم یا کلاینتهای فعال شبکه فراخوانی کرد.
سه روش اصلی برای راهاندازی اوراکل را میتوان به صورت زیر دسته بندی کرد:
خواندن فوری
اوراکلهای فوری اطلاعاتی را ارائه میدهند که فقط برای تصمیمگیریهای سریع (مانند آیا این دانش آموز بالای 25 سال است؟) لازم است. کسانی که می خواهند این نوع دادهها را بررسی کنند معمولاً آن را به صورت «در لحظه» انجام میدهند. به این معنا که جستجو فقط زمانی انجام میشود که اطلاعات مورد نیاز باشد. به عنوان مثال میتوان به کدهای شمارهگیری، گواهینامههای دانشگاهی، عضویت در سازمان، شناسایی فرودگاه و سایر دادهها اشاره کرد.
انتشار-اشتراک
اوراکلی که به طور موثر یک سرویس پخش برای دادههای متغیر ارائه میکند، یا توسط یک قرارداد هوشمند در زنجیره نظرسنجی میشود، انتشار-اشتراک نام دارد. دادههای آب و هوایی، فید قیمت، آمار اقتصادی یا اجتماعی و دادههای ترافیکی تنها چند نمونه از انتشار-اشتراک هستند.
درخواست-پاسخ
چالش برانگیزترین دستهبندی اوراکلها، درخواست-پاسخ است. این جایی است که فضای داده برای ذخیرهسازی در یک قرارداد هوشمند بیش از حد بزرگ است و انتظار میرود کاربران تنها بخش کوچکی از اطلاعات را در یک زمان استفاده کنند. این یک استراتژی معاملاتی قابل دوام برای ارائه دهندگان داده است. در عمل، اوراکلی مانند این ممکن است به عنوان سیستمی از قراردادهای هوشمند درون زنجیرهای و زیرساختهای خارج از زنجیره، برای نظارت بر درخواستها و بازیابی دادهها پیادهسازی شود.
کاربردهای اوراکل در DApps
اوراکل مکانیزمیست برای پر کردن شکاف بین دنیای خارج از زنجیره و قراردادهای هوشمندی که توسط بسیاری از برنامههای کاربردی موجود در بازار استفاده میشود. موارد زیر نمونههایی از دادههایی است که اوراکلها ممکن است ارائه دهند:
- دادههای زمان و بازه زمانی که برای محرکهای رویداد بر اساس سنجش زمان دقیق استفاده میشوند.
- دادههای بازار سرمایه، مانند بستههای قیمتگذاری داراییها و اوراق بهادار.
- دادههای بنچمارک، مانند نرخ بهره که در مشتقات مالی هوشمند گنجانده شده است.
- دادههای آب و هوایی به عنوان مثال محاسبه حق بیمه بر اساس پیشبینی آب و هوا.
- دادههای موقعیت جغرافیایی، مانند آنچه در ردیابی زنجیره تامین استفاده میشود.
- نتایج رویدادهای ورزشی برای حل و فصل بازارهای پیشبینی و قراردادهای ورزشی فانتزی.
- آمار پرواز، مانند مواردی که توسط گروهها و باشگاهها برای جمع آوری بلیط پرواز استفاده میشود.
کلام آخر
همانطور که گفته شد اوراکلها با ورود دادههای خارجی به معادله بلاکچین، نقش مهمی در توسعه و اجرای قراردادهای هوشمند ایفا میکنند. از سوی دیگر، اوراکلها خطر بزرگی را به همراه دارند زیرا اگر منابع داده آنها غیرقابل اعتماد باشد، میتوانند اجرای قراردادهای هوشمند را به خطر بیندازند که برای این موضوع، راهکارهایی مثل اوراکلهای غیرمتمرکز (چین لینک) ارائه شده است.
لینک کوتاه کپی شد https://mazdax.ir/academy/?p=9861