تعریف اوراکل (oracle) | رابطی بین قراردادهای هوشمند و دنیای واقعی
مفهوم اوراکل (oracle) را میتوان با توجه به فضای مورد بحث، به شیوه های مختلفی تعریف کرد. در فضای بلاکچین، اوراکل اساسا یک منبع داده است که به عنوان یک پل ارتباطی بین قراردادهای هوشمند و دیگر منابع خارجی مورد استفاده قرار می گیرد.
نقش اوراکل در بلاکچین چیست؟
اوراکلها مکانیسمی به منظور فراهم کردن اطلاعات مهم و قابل اعتماد برای قراردادهای هوشمند هستند که این قراردادها هم به نوبه خود وظایف معینی را انجام میدهند. پس مفهوم اوراکل در فضای بلاک چین کمی با فناوریهای دیگر متفاوت است. اهمیت اوراکلها بر این حقیقت استوار است که قراردادهای هوشمند بلاکچینی تنها قادر به دسترسی به دادههایی هستند که در داخل زنجیره آنها قرار گرفته است. بنابراین آنها به عنوان یک ابزار ارتباطی ایفای نقش میکنند که رویدادهای جهان واقعی را به دادههای دیجیتال تبدیل میکنند.
اوراکلها مسیری را برای اکوسیستم غیرمتمرکز وب ۳.۰ مهیا میکنند تا بتوان از این طریق آنها به منابع دادههای موجود، سیستمهای سنتی و محاسبات پیشرفته دسترسی داشت. شبکههای غیرمتمرکز اوراکل (DONs) امکان شناخت قراردادهای هوشمند ترکیبی را فراهم میکنند. این قراردادها بستری را در اختیار ما قرار میدهند تا بتوان کد آنچین یا درون زنجیره و زیرساخت آفچین یا بیرون زنجیرهای را برای پشتیبانی از برنامههای غیرمتمرکز (DApps) ترکیب کرد و به رویدادهای دنیای واقعی و سیستمهای سنتی واکنش نشان داد.
به عنوان مثال، بیایید فرض کنیم که آلیس و باب قصد دارند تا بر روی نتیجه یک مسابقه ورزشی شرطبندی کنند. آلیس به میزان ۲۰ دلار بر روی تیم A شرطبندی میکند و باب به میزان ۲۰ دلار بر روی تیم B و در مجموع به میزان ۴۰ دلار به واسطه یک قرارداد هوشمند در طول این فرایند نگهداری میشود.
هنگامی که بازی به اتمام میرسد، چگونه قرارداد هوشمند متوجه میشود که باید منابع مالی را در اختیار باب قرار دهد یا آلیس؟ پاسخ این سوال بدین صورت است که این قرارداد به یک مکانیسم اوراکل برای دسترسی داشتن به نتایج دقیق بیرون زنجیرهای نیاز دارد تا این اطلاعات را به شیوهای ایمن و قابل اعتماد به بلاکچین برساند.
رفع مشکل بلاکچین توسط اوراکلها
با قطع کردن عمدی این بستر از سیستمهای خارجی، بلاک چینها باارزشترین ویژگیهای خود مانند اجماع قوی اعتبار تراکنشهای کاربر، جلوگیری از حملات، هزینه مازاد و کاهش میزان زمان از دسترس خارج بودن شبکه را برای ما به ارمغان میآورند. تعامل ایمن با سیستمهای خارج از زنجیره یک بلاک چین به زیرساخت اضافهای تحت عنوان اوراکل برای ایجاد پلی بین دو محیط نیاز دارد.
چگونگی حل مشکل اوراکل در بلاکچین
حل کردن مشکل اوراکل در بلاک چین از اهمیت بسیار بالایی برخوردار است. اکثر کاربردهای بلاکچین در برنامههای ساخته شده بر بستر شبکههای مختلف خلاصه شده است؛ به طور مثال پلتفرمهای امور مالی غیر متمرکز (Defi) بر بستر قراردادهای هوشمندی ایجاد میشوند که برای اجرای صحیح مکانیسمهای خود به گرفتن دادهها از دنیای واقعی و رویدادهایی که به صورت آفچین اتفاق میافتند، نیاز دارند.
با توجه به اینکه دادههای ارسال شده از اوراکلها به بلاکچینها تاثیر مستقیمی بر روی نتایج حاصل شده از قراردادهای هوشمند دارد، صحیح بودن مکانیسم مورد استفاده اوراکل برای اطمینان حاصل کردن از اجرای دقیق توافقنامه به صورت مورد انتظار ما، از اهمیت بالایی برخوردار است.
لزوم استفاده از اوراکلهای غیرمتمرکز
بدتر از این میتوان به این نکته اشاره کرد که در صورت بروز اختلال در یک اوراکل واحد، ممکن است دادههایی که به صورت آنچین تحویل داده میشوند بسیار نادرست بود. و به اجرای غلط و حاصل شدن نتایج نادرستی توسط قراردادهای هوشمند منجر شود. این رویداد معمولا تحت عنوان مشکل «زباله ورودی، زباله خروجی» شناخته میشود که طی آن، ورودی نادرست به دریافت خروجی نادرست منتهی میشود.
امکان بازیابی آدرس اشتباه وجود دارد؟
علاوه بر این، با توجه به اینکه تراکنشهای بلاکچین خودکار بوده و غیرقابل تغییر هستند، نتایج یک قرارداد هوشمند مبتنی بر داده نادرست نیز غیرقابل بازگردانی است. این بدان معناست که منابع مالی کاربران به صورت دائمی از بین میرود. بنابراین اوراکلهای متمرکز رویکرد مناسبی برای شروع کار برنامههای غیرمتمرکز نیستند.
برای حل مشکلات ناشی از متمرکز بودن اوراکلها و تاثیر مستقیم آنها بر فرایندهای اجرایی در پلتفرمهای دیفای، مکانیسم استفاده شده در تمامی اوراکلهای غیرمتمرکز باید از دستکاری در دادهها، غیر دقیق بودن اطلاعات و خارج شدن از دسترسی جلوگیری کنند. یک شبکه غیرمتمرکز اوراکل و یا به اختصار یک DON، چندین نود مستقل و چندین منبع داده قابل اعتماد را برای ایجاد غیرمتمرکزسازی سراسری یا End-to-End ترکیب میکند.
شبکه چین لینک (Chainlink) یکی از اوراکلهای غیرمتمرکز است. بسیاری از DONهای شبکه چین لینک مانندفیدهای قیمت چین لینک (Chainlink Price Feeds)، سه لایه از غیرمتمرکزسازی در زمینه منبع داده، اپراتور مجزای نود و سطوح شبکه اوراکل را به صورت ترکیبی به کار میبرند تا هرگونه نقطه شکستی را از بین ببرند.
انواع اوراکل در بلاک چین
اوراکلهای ورودی
امروزه شناختهشدهترین نوع اوراکل در بلاک چین تحت عنوان اوراکل ورودی نامگذاری میشود. که دادهها را از دنیای واقعی (آفچین) دریافت کرده و آن را به یک شبکه بلاک چین و برای مصرف در قراردادهای هوشمند تحویل میدهد. سه نوع از اوراکلها برای تامین فیدهای قیمت در شبکه چین لینک مورد استفاده قرار میگیرند. تا قراردادهای هوشمند دیفای بتوانند به صورت آنچین به دادههای امور مالی بازار دسترسی داشته باشند.
اوراکلهای خروجی
در نقطه مقابل اوراکلهای ورودی «اوراکلهای خروجی» قرار دارند. که به قراردادهای هوشمند اجازه میدهد تا دستوراتی را به سیستمهای آفچین ارسال کنند. و آنها را به اجرای اعمال خاصی وادار کنند. به طور مثال قراردادهای هوشمند میتوانند اطلاعاتی را به شبکه بانکی برای انجام فرایند پرداخت ارسال کنند. به یک تامین کننده فضای ذخیرهسازی اطلاعات پرداخت را به منظور انجام فرایند ذخیرهسازی بفرستند یا به یک سیستم اینترنت اشیا برای باز کردن درب یک ماشین به محض پرداخت اجاره به صورت آنچین، مجوز دهند.
اوراکلهای میان زنجیرهای
یکی دیگر از انواع اوراکلها، اوراکلهای میان زنجیرهای هستند که میتوانند اطلاعات بین بلاکچینها را بخوانند و ثبت کنند. اوراکلهای میان زنجیرهای قابلیت همکاری برای انتقال داده و داراییها بین بلاک چینها را مهیا میکنند. به طور مثال این اوراکلها میتوانند با استفاده از دادهها در یک بلاکچین، دستور آغاز فرایندی در بلاکچین دیگر را صادر کنند. یا با استفاده از آنها میتوان یک پل بلاکچینی برای متصل کردن دو زنجیره متفاوت را ایجاد کرد.
اوراکلهای محاسباتی
یکی از جدیدترین انواع اوراکلهایی که به صورت گسترده مورد استفاده برنامههای قراردادهای هوشمند قرار گرفت. «اوراکلهای محاسباتی» هستند، که از محاسبات ایمن بیرون زنجیرهای برای ارائه خدمات غیرمتمرکزی استفاده میکنند. که به دلایل فنی، قانونی یا محدودیتهای مالی در بستر آنچین بدون کاربرد هستند. یکی از انواع این اوراکلها که توسط شبکه چین لینک معرفی شد. Chainlink Keepers نام دارد. این قابلیت امکان اجرای خودکار قراردادهای هوشمند در هنگام اتفاق افتادن یک رویداد از پیش تعریف شد، فراهم میکند.
اوراکل بدون واسطه
در حال حاضر اغلب رابطهای برنامهنویسی نرمافزار (API) متناسب با برنامههای متمرکز طراحی شدهاند و با ماهیت بلاکچین و اپلیکیشنهای غیرمتمرکز سازگار نیستند. به همین دلیل اکثر اوراکلها برای تامین دادههای آفچین به صورت واسطه عمل میکنند. اوراکلهای واسطه دادهها را از منابع جمعآوری و تامین داده دریافت کرده و آنها را به صورت قابل استفاده برای برنامههای بلاکچینی در میآورند.
این موضوع باعث میشود اطلاعات به صورت دست اول در اختیار برنامههای بلاکچینی قرار نگیرد. و پرتوکلهایی به نام اوراکلهای واسطه اطلاعات را از منابع داده دریافت کنند. سپس با تبدیل آنها به اطلاعات قابل استفاده در بلاکچین، دادهها را برای استفاده در اختیار برنامههای غیرمتمرکز قرار دهند. به این اوراکلها، اوراکلهای شخص ثالث نیز می گویند. اوراکلهای شخص ثالث ناامن و گرانقیمت هستند.
در مقابل اوراکلهای بدون نیاز به واسطه یا Oracleهای شخص اول وجود دارند. اطلاعات این اوراکلها مستقیما از منابعی تامین میشود که خودشان آنها را جمعآوری کردهاند. اوراکلهای شخص اول بهدلیل نداشتن واسطه در مسیر نسبت به اوراکلهای شخص ثالث، هم ایمنتر و هم مقرونبهصرفهتر هستند. در حال حاضر پروتکل API3 این امکان را فراهم میکند تا منابع داده بتوانند اوراکلهای خود را ایجاد کنند و نیاز به اوراکلهای واسطه مانند چین لینک از بین برود.
بررسی سابقه اوراکلها با استفاده از از تاریخچه عملکرد آنچین
طیف گسترده خدمات اوراکل بدین معناست که سابقه، کلیدی برای انتخاب بین ارائهدهندگان خدمات اوراکل است. سابقه میان سیستمهای اوراکل در بلاک چین به کاربران و توسعهدهندگان این امکان را میدهد تا اوراکلها را به صورت مبتنی بر پارامترهایی که بااهمیت تلقی میکنند. دستهبندی کرده و آنها را مورد بررسی قرار دهند.
سابقه یا در اصطلاح شهرت اوراکلها به واسطه تحویل دادن دادههای آنها به یک دفتر کل بلاکچین عمومی تغییرناپذیر تضمین میشود. بدین ترتیب، پیشینه تاریخچه عملکرد آنها قابل تجزیه و تحلیل بوده و از طریق داشبوردهای تعاملی مثل Market.Link قابل ارائه به کاربران هستند.
شفافیت، شهرت و قابل اطمینان بودن از فاکتورهای اساسی برای انتخاب یک اوراکل مناسب است. با توجه به این موارد توسعهدهندگان میتوانند تصمیمات آگاهانهای را در مورد اینکه کدام اوراکل برای خدماترسانی به قراردادهای هوشمند مورد نظرشان مناسب است را اتخاذ کنند. ارائهدهندگان خدمات Oracle همچنین میتوانند با استفاده سابقه تجاری بیرون از زنجیره برای ارائه تضمین بیشتر از اطمینان خود به کاربران بهره ببرند.
کاربردهای اوراکل در بلاک چین
توسعهدهندگان قراردادهای هوشمند از اوراکلهای استفاده میکنند تا برنامههای غیرمتمرکز پیشرفتهتری را در طیف گستردهتری از کاربردهای بلاکچین بسازند. با وجود اینکه طیف وسیعی از قابلیتهای مختلف در رابطه با این حیطه وجود دارند. در ادامه برخی از جدیدترین موارد استفاده از اوراکلها را بررسی میکنیم.
امور مالی غیرمتمرکز (DeFi)
بخش بزرگی از اکوسیستم امور مالی غیرمتمرکز یا دیفای به اوراکلهایی برای دسترسی به دادههای مالی در مورد داراییها و بازارها احتیاج دارد. به عنوان مثال، بازارهای پولی غیرمتمرکز از اوراکلهای قیمت برای مشخص کردن ظرفیت استقراض کاربران و بررسی اینکه آیا سهم آنها تحت پوشش
به صورت مشابه، پلتفرمهای دارایی مصنوعی (Synthetic Assets) از اوراکلهای قیمت برای ایجاد وابستگی بین قیمت توکنها به داراییهای دنیای واقعی استفاده میکنند. از طرف دیگر، بازارسازهای خودکار (AMM) از اوراکلهای برای بهبود کارایی سرمایه موجود از اوراکلهای قیمت استفاده میکنند تا به حفظ تمرکز نقدینگی در قیمت بازار فعلی کمک کنند.
اوراکلها کاربردهای غیرمالی از قبیل توکنهای بیهمتا (NFT) پویا (Dynamic NFT) را نیز برای قراردادهای هوشمند مهیا میکنند. این توکنهای NFT میتوانند ظاهر، ارزش و توزیع را بر اساس رویدادهای بیرونی مثل زمان روز و یا آب و هوا را تغییر دهند.
توکنهای غیرقابل تعویض (NFT) پویا و گیمینگ
علاوه بر این، اوراکلهای محاسباتی برای ساخت قابلیت تصادفی قابل تاییدی که پروژهها برای افزودن خصوصیتهای تصادفی به آثار NFT خود استفاده میکنند مورد استفاده قرار میگیرند. از همین رو، تجربه بازی غیرقابل پیشبینی و تعاملیتری از قبیل ظاهر جعبههای لوت یا غنایم تصادفی یا انتخاب حریف تصادفی در طول یک تورنمنت یا مسابقه به پلیرها ارائه میشود.
استفاده در بیمه
قراردادهای هوشمند بیمه از اوراکلهای ورودی برای تایید وقوع رویدادهای تحت پوشش بیمه در طول رسیدگی به فرایند دریافت، بازگشایی امکان دسترسی به حسگرهای فیزیکی، APIهای وب، تصاویر ماهوارهای و دادههای قانونی استفاده میکنند. اوراکلهای خروجی نیز میتوانند قراردادهای هوشمند بیمه را با روشی برای پرداخت خسارت با استفاده از سایر بلاک چینها و یا شبکههای پرداخت سنتی ارائه دهند.
استفاده در پروژهها
اوراکلهای میان زنجیرهای، یک میانافزار امن بلاک چین را به شرکتها ارائه میدهند. این میانافزار به آنها اجازه میدهد تا اپلیکیشنهای خود را به هر یک از شبکههای بلاک چینی متصل کنند. با انجام این کار، توسعهدهندگان میتوانند اطلاعات مورد نیاز خود را در تمامی بلاک چینها بخوانند یا در آنها ثبت کنند. نتیجه این امر این است که موسسات میتوانند به سرعت به بلاک چینهای مختلف بپیوندند و به سرعت انواع خدمات مورد نیاز کاربران خود را در بلاکچینهای مختلف ایجاد کنند.
پرسش و پاسخ (FAQ)
اوراکل چیست؟
اوراکلها خدمات واسطهای هستند که اطلاعات و دادههای مختلف را از دنیای واقعی به بلاک چین و قراردادهای هوشمند وارد میکنند. به عبارت سادهتر اوراکلها پلی میان قراردادهای هوشمند و دادههای خارج از بلاکچین هستند.
انواع اوراکلها کدامند؟
اوراکلها انواع مختلفی داشته و هر کدام از آنها دارای کاربردهای متفاوتی در بلاکچین هستند. از انواع اوراکلها میتوان اوراکلهای ورودی، خروجی، میان زنجیرهای، محاسباتی و بدون نیاز به واسطه را نام برد.
بهترین اوراکل بلاکچینی کدام است؟
شفافیت در تامین دادهها، شهرت و قابل اطمینان بودن از فاکتورهای اساسی برای انتخاب یک اوراکل مناسب است. از آنجایی که قراردادهای هوشمند بواسطه اوراکلها از میلیاردها دلار سرمایه نگهداری میکنند، انتخاب یک اوراکل مناسب بسیار مهم است. یکی از مهمترین فاکتورها غیرمتمرکز بودن اوراکل است. از بهترین اوراکلها در حال حاضر میتوان به چین لینک و پروتکل API3 اشاره کرد.
جمع بندی
سازوکاری قابل اعتماد که ارتباط بین قراردادهای هوشمند و دنیای خارجی را تسهیل کند برای پذیرش جهانی بلاک چینها حیاتی است. بدون اوراکل بلاکچین، قراردادهای هوشمند باید فقط به اطلاعات موجود در شبکههای خودشان اعتماد کنند، که به طور قابل توجهی تواناییهای آنها را محدود میکند. اوراکلهای غیرمتمرکز توانایی معرفی مکانیسمهای محافظتی را دارند که میتواند، بسیاری از خطرهای سیستمی را از اکوسیستم بلاکچین برطرف کند. اوراکلهای بلاک چین همچنان یکی از مهمترین عناصر سازنده ای است که برای رشد اکوسیستم بلاک چین به صورت ایمن، قابل اعتماد و بدون نیاز به اعتماد به دیگران، اجرا میشود.