اوراکل های بلاکچین خدماتی هستند که قراردادهای هوشمند (smart contracts) با اطلاعات خارجی ارائه میدهند. آنها به عنوان پل هایی بین بلاکچین و دنیای واقعی عمل میکنند. بلاکچین و قراردادهای هوشمند به تنهایی نمیتوانند به داده های زنجیره تامین(داده هایی که خارج از شبکه هستند) دسترسی داشته باشند. با این حال، برای بسیاری از توافق های قراردادی، داشتن اطلاعات مرتبط با جهان خارج برای اجرای این توافقنامهها حیاتی است.
این جایی است که اوراکل ها وارد بازی میشوند، زیرا پیوندی بین بلاکچین و داده های زنجیره تامین فراهم میکنند. اوراکلها در اکوسیستم بلاکچین حیاتی هستند زیرا دامنه وسیعی را گسترش میدهند که قرادادهای هوشمند میتوانند عمل کنند. بدون اوراکلها، قراردادهای هوشمند برای کاربرد بسیار محدود خواهند بود چون تنها دسترسی به داده ها از درون شبکه وجود خواهد داشت.
توجه به این نکته ضروری است که یک اوراکل خود منبع داده نیست، بلکه لایهای است که منابع داده خارجی را جستجو و تائید میکند و سپس آن اطلاعات را به بلاکچین منتقل میکند. دادههای منتقل شده توسط اوراکلها دارای اشکال مختلفی است. اطلاعات قیمت کالاها و ارزها، بررسی موفقیت آمیز بودن پرداخت و یا دمای اندازهگیری شده توسط سنسور.
برای فراخوانی داده ها از دنیای بیرون بلاکچین، قراردادهای هوشمند باید اجرا شوند و منابع شبکه باید استفاده شوند. بعضی از اوراکلها همچنین این توانایی را دارند که نه تنها اطلاعات مربوط به قراردادهای هوشمند را رله کنند بلکه آن را به منابع خارجی بفرستند. حال به بررسی برخی از مدلهای اوراکل ها میپردازیم.
فرض کنید که آلیس و بابا شرط ببندند که برنده انتخابات ریاست جمهوری آمریکا چه کسی خواهد بود. آلیس معتقد است که کاندیدای جمهوریخواه پیروز خواهد شد، در حالی که باب معتقد است که حذب دموکرات برنده خواهد بود. آنها بر روی این شرط و قفل کردن وجوه شرط بندی خود در یک قرارداد هوشمند توافق دارند که همه سرمایه ها را به برنده بر اساس نتیجه انتخابات انتقال داده شود. از آنجایی که قراردادهای هوشمند نمیتوانند با دادههای خارجی ارتباط برقرار کنند باید به اوراکلها وابسته باشد تا اطلاعات لازم را در اختیار او قرار دهد. در این مورد نتایج انتخابات آمریکا. پس از اتمام انتخابات، اوراکل یک یا چند API قابل اعتماد را فراخوانی میکند تا بفهمد کدام نامزد برنده شده است و این اطلاعات را به قرارداد هوشمند منتقل میکند. سپس قرارداد بسته به نتیجه، وجوه شرط بندی شده را برای آلیس یا باب ارسال میکند. بدون دادههای اوراکل، راهی برای تسویه این شرط به گونهای که یکی از شرکتکنندگان امکان تقلب نداشته باشد وجود نداشته است.
اوراکلها می توانند بسته به تعدادی از ویژگیهای مختلف طبقهبندی شوند:
یک اوراکل واحد میتواند به چند دسته تقسیم شود. به عنوان مثال، یک اوراکل که از وبسایت یک شرکت اطلاعات را دریافت میکند، یک اوراکل نرمافزاری ورودی متمرکز است.
اوراکلهای نرمافزاری با منابع آنلاین اطلاعات در ارتباط هستند و آن را به بلاکچین منتقل میکند. این اطلاعات میتوانند از پایگاههای داده آنلاین، سرورها، وبسایتها و در اصل هر منبع دادهای در وب استفاده میکند.
این حقیقت که اوراکلهای نرمافزاری به اینترنت متصل هستند نه تنها به آنها اجازه میدهد تا اطلاعات مربوط به قراردادهای هوشمند را تامین کنند، بلکه این اطلاعات را به صورت لحظهای منتقل میکنند. این باعث میشود که آنها یکی از رایجترین انواع اوراکلها در بلاکچین باشند.
اطلاعاتی که معمولا در حال حاضر توسط اوراکلهای نرمافزاری ارائه میشوند میتواند شامل نرخ ارز، قیمت داراییهای دیجیتالی، اطلاعات پرواز و ... باشد.
برخی قراردادهای هوشمند باید با دنیای واقعی ارتباط داشته باشند. اوراکل سخت افزاری برای دریافت از دنیای فیزیکی طراحی شده اند و آن را برای قراردادهای هوشمند در دسترس قرار میدهند. چنین اطلاعاتی را میتوان از سنسورهای الکترونیکی، اسکنرهای بارکد و سایر وسایل خواندن اطلاعات به دست آورد.
یک اوراکل سخت افزاری اساسا رویدادهای دنیای واقعی را به ارزشهای دیجیتال تبدیل میکند که میتوان آنها را با قراردادهای هوشمند درک کرد. یک مثال از این میتواند یک سنسور باشد که چک میکند که آیا کامیونی که کالا را حمل میکند، به یک نقطه بارگیری رسیده است یا نه. اگر این کار انجام شود، اطلاعات را به یک قرارداد هوشمند متصل میکند که پس از آن میتواند براساس آن تصمیمگیری شود.
اوراکلهای ورودی، اطلاعات را از منابع خارجی به قراردادهای هوشمند منتقل میکنند در حالی که اوراکلهای خارجی اطلاعات را از قراردادهای هوشمند به دنیای خارجی ارسال میکنند.
یک مثال از یک اوراکل ورودی، کسی است که به یک قرارداد هوشمند میگوید که دما به وسیله یک سنسور اندازهگیری شود. یک نمونه از اوراکل خارجی را میتوان با یک قفل هوشمند در نظر گرفت. اگر وجهی به آدرسی خاص و به مبلغ تعیین شده واریز شود، قرارداد هوشمند این اطلاعات را از طریق یک اوراکل خارجی به مکانیزمی که قفل هوشمند را باز میکند ارسال میکند.
یک اوراکل متمرکز توسط یک نهاد منفرد کنترل میشود و تنها ارائهدهنده اطلاعات برای قرارداد هوشمند است. استفاده از تنها یک منبع اطلاعات میتواند خطرناک باشد. اثربخشی این قرارداد به طور کامل به ماهیت و اعتماد به یک نهاد متمرکز بستگی دارد. همچنین، هرگونه دخالت بدخواهانه از یک بازیگر بد، تاثیر مستقیمی بر قرارداد هوشمند خواهد داشت. مشکل اصلی اوراکل متمرکز، وجود یک نقطه شکست است که باعث میشود قراردادها نسبت به و حملات و دستکاری مقاوم نباشند.
اوراکلهای غیرمتمرکز با تکیه بر چند منبع دریافت اطلاعات در دنیای واقعی از برخی خطرات طرف مقابل جلوگیری میکند و اطمینان به قراردادهای هوشمند را افزایش میدهند. قراردادهای هوشمند برای تعیین اعتبار و صحت دادهها از چندین اوراکل پرس و جو میکنند به همین دلیل است میتوان از اوراکلهای غیرمتمرکز به عنوان معجزههای اجماع نیز یاد کرد.
برخی از پروژههای بلاکچین خدمات اوراکل غیرمتمرکز را به سایر بلاکچین ها ارائه میدهند. اوراکل ها میتوانند در بازارهای پیشبینی نیز مفید باشند، جایی که اعتبار یک نتیجه خاص را میتوان با اجماع اجتماعی تایید کرد.
از آنجا که قراردادهای هوشمند تصمیمات بر اساس دادههای ارائه شده توسط اوراکلها را اجرا میکنند، کلید یک اکوسیستم، بلاکچین سالم و غیرمتمرکز است. چالش اصلی طراحی اوراکلها این است که اگر دادههای یک اوراکل به خطر بیافتد قراردادهای هوشمند با اتکا به آن به خط میافتند. این مسئله به عنوان یکی از اصلیترین چالش اوراکل خوانده میشود.
از آنجا که اوراکلها بخشی از اجماع اصلی بلاکچین نیستند به همین دلیل از مکانیسمهای امنیتی که بلاکچینهای عمومی میتوانند ارائه دهند بهره نمیبرند. تعارض اعتماد بین اوراکلهای شخص ثالص و اجرای بی اعتماد قراردادهای هوشمند همچنان یک مسئله حل نشده باقی میماند.
اوراکل یک مکانیزم قابل اعتماد است که ارتباط بین قراردادهای هوشمند و دنیای خارج را تسهیل میکند و برای پذیرش جهانی بلاکچین حیاتی است. بدون اوراکلها، قراردادهای هوشمند فقط باید به اطلاعات موجود در شبکههای خود متکی باشند، که این امر قابلیت آنها را به میزان قابل توجهی محدود میکند.
اوراکلهای غیرمتمرکز پتانسیل ایجاد مکانیزمهای حفاظتی را دارند که میتوانند بسیاری از ریسکهای سیستماتیک را از اکوسیستم بلاکچین حذف کند. اوراکلها، یکی از بلوکهای مهم ساختمانی است که باید در یک روش ایمن و قابل اعتماد برای رشد اکوسیستم بلاکچین به اجرا درآید.