اوراکل ها یکی از مولفه های اصلی در فناوری بلاک چین محسوب می شوند و در تعین نحوه پاسخگویی بلاک چین به درخواست های کاربران، نقش کلیدی را ایفا می کنند. از آنجا که فرایندهای سختگیرانه ای جهت ارتباط قراردادهای هوشمند با منابع اطلاعات خارجی وجود دارد، Oracle وظیفه این تبادل اطلاعات را ایفا می کند.
در ادامه این مقاله به معرفی و بررسی موارد استفاده اوراکل در بلاک چین خواهیم پرداخت. پیشنهاد میکنیم به منظور درک بهتر مفاهیم اوراکل ابتدا مقاله “قرارداد هوشمند چیست؟” را در بلاگ بیت ایمن مطالعه کنید.
اوراکل (Oracle) به زبان ساده
تصور کنید یک برنامه دیفای (DeFi) قرار است دیتاهای آب و هوایی را از منابعی مشخص دریافت و بر اساس شرایط اقلیمی، بهترین نرخ بیمه را به کاربران پیشنهاد کند. اما به دلیل اینکه فناوری بلاک چین و قراردادهای هوشمند نمی توانند به دیتا های خارج از زنجیره (شبکه بلاک چین) دسترسی پیدا کنند، عملا کارکرد چنین برنامه ای در بلاک چین با چالش مهمی مواجه است. اوراکل (Oracle) آمده است تا این کاستی را مخصوصا در اپلیکیشن های غیرمتمرکز جبران کنند. به زبان ساده تر:
“اوراکل ها مثل سرویس های شخص ثالث هستند که اطلاعات خارج از فضای بلاک چین را برای قرارداد های هوشمند ارسال می کنند. پس به نوعی آنها یک پل ارتباطی بین بلاک چین و دنیای خارج محسوب می شوند و کوجب گسترش دامنه فعالیت های قراردادهای هوشمند می گردند.”
پیش از ادامه این بحث لازم است به این نکته اشاره کنیم که Oracle یک منبع دیتا نیست، بلکه صرفا لایه ای است که منابع دیتا خارجی را پس از جستجو، تایید و احراز هویت، مجددا به مقصد خاصی ارسال می کند. اطلاعات ارسالی اوراکل ها در قالب های فرمی مختلفی هستند که می توان به دیتاهای قیمت، اتمام موفقیت آمیز یک پرداخت یا دمای اندازه گیری توسط یک سنسور اشاره کرد. برای فراخوانی اطلاعات از دنیای خارج، ابتدا باید یک قرارداد هوشمند فراخوانی شود. برخی اوراکل ها نه تنها توانایی ارسال اطلاعات به قراردادهای هوشمند را دارند، بلکه قادر هستند آنها را به منابع خارجی هم ارسال کنید.
کاربردهای اوراکل در بلاک چین
با یک مثال شروع می کنیم: فرض کنید دو نفر در خصوص نتیجه مسابقه فوتبال بین دو تیم ایتالیا و انگلیس شرط بندی کردند. شخص اول معتقد است ایتالیا برنده می شود و شخص دوم انگلیس را پیروز مسابقه می داند. آنها تصمیم می گیرند مبلغی را در یک قرارداد هوشمند بلاک کنند تا براساس نتیجه مسابقه به فرد برنده اعطا شود.
از آنجا که قرارداد هوشمند جهت باخبر شدن از نتیجه مسابقه قادر به ارتباط با منابع خارجی نیست، Oracle وظیفه دریافت این دیتاها از یک منبع معتبر و ارسال آن به قرارداد هوشمند را عهده دار است. در پایان، قرارداد هوشمند بر اساس نتیجه مسابقه، وجوه را به فرد برنده پرداخت می کند.
موارد زیر نمونه هایی از دیتاها و اطلاعاتی است که توسط اوراکل ها به پلتفرم های مختلف ارسال می شود:
- اطلاعات بازار سرمایه؛ مانند بسته های قیمت گذاری دارایی ها و اوراق بهادار
- اطلاعات مرجع معیار مانند نرخ بهره
- دیتاهای آب و هوایی برای محاسبه نرخ بیمه
- اطلاعات موقعیت جغرافیایی؛ مانند آنچه در ردیابی زنجیره تامین استفاده می شود.
- اطلاعات ورزشی برای حا و فصل بازار های پیشبینی و قراردادهای ورزشی
- داده های پرواز؛ مانند مواردی که توسط باشگاه ها برای جمع آوری بلیط های پرواز استفاده می شود.
معرفی انواع مختلف اوراکل ها در دنیای بلاک چین
اوراکل ها را می توانیم بر اساس سطح کیفیتی دیتا به پنج دسته طبقه بندی کنیم:
- پایگاه داده (دیتا بیس)
- مسیر داده (ورودی یا خروجی)
- تراست (متمرکز یا غیرمتمرکز)
- اختصاصی
- انسانی
در ادامه هر کدام این موارد را بیشتر بررسی خواهیم کرد.
اوراکل پایگاه داده
این اوراکل به دو دسته نرم افزاری و سخت افزاری تقسیم می شود:
اوراکل نرم افزاری (Software oracles)، توسط ارتباط با منابع اطلاعاتی آنلاین، اطلاعات را به بلاک چین منتقل می کند. این اطلاعات می توانند از دیتابیس های آنلاین، سرورها و وب سایت ها بدست آیند.
این واقعیت که اوراکل های نرم افزاری به اینترنت متصل هستند، به آنها این امکان را می دهد تا اطلاعات را برای قراردادهای هوشمند به صورت آنی انتقال دهند. همین امر آنها را به یکی از متداول ترین اوراکل های بلاک چین بدل کرد. اطلاعاتی که توسط اوراکل های نرم افزاری ارائه می شوند معمولا شامل نرخ نوسان ارز، بهای یک دارایی دیجیتال یا اطلاعات لحظه ای پروازهای یک شرکت هواپیمایی هستند.
اوراکل های سخت افزاری (Hardware oracles)، برای بدست آوردن اطلاعات فیزیکی از دنیای واقعی و در دسترس قرار دادن آنها برای قراردادهای هوشمند طراحی شدند. چنین اطلاعاتی را می توان از طریق سنسورهای الکترونیکی، اسکنر بارکد و سایر دستگاه هایی که این اطلاعات را پردازش می کنند، ارسال کرد. اساسا یک Oracle سخت افزاری وقایع دنیای حقیقی را به منظور قابل فهم شدن برای قراردادهای ارسال می کند تا تصمیماتی بر اساس آن اتخاذ شود.
اوراکل های مسیر داده (اوراکل های ورودی و خروجی)
اوراکل های ورودی (Inbound oracles)، دیتاهای را از منابع خارجی به قراردادهای هوشمند منتقل می کنند و اوراکل های خروجی (outbound oracles)، دیتاهای قراردادهای هوشمند را به دنیای خارج می فرستند.
سنسور اندازه گیری دما، نمونه ای از اوراکل های ورودی است که اطلاعات دما را به یک قرارداد هوشمند ارسال می کند. همچنین قفل هوشمند را می توان به عنوان یک نمونه از Oracle خروجی در نظر گرفت که در صورت واریز وجوه به نشانی مورد نظر، قرارداد هوشمند این اطلاعات را از طریق Oracle خروجی به فانکشن مربوطه ارسال و قفل را باز می کند.
اوراکل تراست (اوراکل متمرکز و غیرمتمرکز)
یک اوراکل متمرکز (Centralized oracles) همانند یک نهاد واحد است که تنها از یک منبع اطلاعاتی، داده های قرارداد هوشمند را تامین می کند. بنابراین، کارایی قرارداد هوشمند با نهاد در ارتباط با آن Oracle گره خورده است. همچنین هرگونه رخنه توسط یک بازیگر مخرب، تاثیر مستقیمی بر منبع اطلاعاتی واحد است و این موجب افزایش آسیب پذیری قراردادهای هوشمند در برابر حملات هکرها می شود.
در سوی دیگر، اوراکل های غیرمتمرکز (Decentralized oracles) برای افزایش اعتبار دیتاهای خود، از چندین منبع خارجی تعیین می کنند، به آنها اوراکل های اجماع (Consensus Oracles) نیز می گویند.
برخی از پروژه های بلاک چینی خدمات Oracle غیرمتمرکز را به بلاک چین های دیگر ارائه می دهند. همچنین اوراکل های غیرمتمرکز می توانند در بازارهای پیشبینی، جایی که درصد موفقیت یک نتیجه خاص را می توان با اجماع جمعی تایید نمود، مثمرثمر باشند.
اوراکل اختصاصی
اوراکل اختصاصی (Contract-specific oracles)، تنها جهت استفاده در یک قرارداد هوشمند مشخص طراحی شده است. بدین معنا که اگر کسی بخواهد چندین قرارداد هوشمند را به کار گیرد، باید متناسب با تعداد آنها از اوراکل های اختصاصی هم استفاده کند.
بنابراین استفاده از این نوع Oracle بسیار زمانبر و پرهزینه است و اجرای آنها از سوی شرکت ها و موسساتی که مایلند از منابع اطلاعاتی مختلفی استفاده کنند، چندان توجیه پذیر نیست. از طرف دیگر، از آنجا که این اوراکل ها از ابتدا مختص یک قرارداد می باشند، توسعه دهندگان انعطاف پذیری بیشتری جهت تنظیم آنها بر اساس نیازهای اختصاصی خود خواهند داشت.
اوراکل انسانی
گاهی افراد دارای دانش تخصصی در یک زمینه خاص هم می توانند به عنوان Oracle عمل کنند. آنها اطلاعات را پس از بررسی صحت آن (توسط منابع مختلف)، برای قراردادهای هوشمند ترجمه می کنند. به دلیل اینکه اوراکل های انسانی هویت خود را به صورت رمزنگاری تأیید می کنند، احتمال جعل هویت در آنها توسط کلاهبرداران و ارائه دیتاهای نامعتبر بسیار کم است.
معایب اوراکل ها
به دلیل اینکه تصمیمات اتخاذ شده در قراردادهای هوشمند بر اساس دیتاهای اوراکل ها تعیین می شوند و آنها نقشی کلیدی در یک اکوسیستم بلاک چینی ایفا می کنند، چالش اصلی آنها دستکاری در منابع دیتاهایی است که به عنوان مثال هک شدن یک منبع اطلاعات می تواند منجر به ارسال اطلاعاتی غلط به یک Oracle و اجرای قرارداد هوشمند در راستای اهداف هکر گردد.
همچنین به دلیل اینکه اوراکل ها بخشی از اجماع اصلی بلاک چین محسوب نمی شوند، متاسفانه در مکانیزم امنیتی بلاک چین های عمومی جایی نخواهد داشت. این موجب افزایش آسیب پذیری آنها می شود. با این حال روش های مختلف ی برای اعتبارسنجی اطلاعات دریافتی از نودهای اوراکل در شبکه وجود دارد که در ادامه به معرفی آنها می پردازیم.
روش های اعتبارسنجی دیتابیس اوراکل ها
معمولا تعریف اعتبارسنجی منابع اطلاعات به فرایند ارسال اطلاعات بر روی بلاک چین اطلاق می شود. برای درک بهتر و دقیق تر ماهیت فنی اوراکل های بلاک چین می توان دو مولفه “دستیابی به دیتاهای معتبر” و ثبت آن ها در بلاک چین” را جداگانه در نظر گرفت. نوشتن دیتاها در بلاک چین ساده است. هنگامی که اطلاعات توسط قرارداد هوشمند اوراکل دریافت شود، از طریق یک فراخوانی در دسترس عموم قرار می گیرد. اما بخش مهم اینجاست که چگونه می توان از صحت اطلاعات ثبت شده در بلاک چین مطمئن شد؟
شهرت و پرداخت
اگر یک نود اوراکل به طور مداوم نتایج خوبی ارائه داد، شهرت آن افزایش می یابد. این می تواند به پرداخت های بیشتر برای ارائه اطلاعات مرتبط باشد که به عنوان یکی از روش های اصلی تشویق در شبکه های Oracle عمل می کند.
منابع داده چندگانه
یک روش ساده برای کاهش ریسک اطلاعات نادرست، استفاده نودها از میانگین نتایج دیتا دریافتی است. به این ترتیب، تنها در صورتی که اکثر منابع اطلاعات یا خود نود در معرض خطر قرار گیرد، دیتاهای نادرست روی زنجیره ثبت می شوند.
اوراکل های متعدد
یک شبکه اوراکل یا مصرف کننده اطلاعات می تواند از اوراکل های متعدد برای کاهش خطر اطلاعات اشتباه استفاده کند. در این حلت احتمال اینکه اکثر اوراکل ها، مخرب باشند بسیار کم است.
استیکینگ
در اینجا استیکینگ برخلاف استفاده رایج این کلمه به معنای کسب سود نقدینگی نیست. بلکه بدین معناست که نودهای Oracle باید توکن هایی را برای ضمانت اطلاعات خود وثیقه کنند. این مسلما یکی از بهترین مکانیسم های اعتماد سازی در اپراتورهای نود اوراکل است.
محیط اجرایی قابل اعتماد (TEE)
به زبان ساده، محیط اجرایی قابل اعتماد یا TEE به برنامه ها این امکان را می دهد که در قسمت جداگانه ای از پردازنده اصلی اجرا شوند. این موجب حفاظت بیشتر آنها در برابر حملات خرابکارانه می شوند. با کار در حالی که خود برنامه همچنان قادر به خواندن و نوشتن حافظه خارج از بخش جداگانه اش است، سایر بخش های سیستم عامل قادر به پردازش دیتاها نیستند. بنابراین اجرای سرویس های اوراکل در TEE موجب ایجاد یک لایه امنیتی اضافه خواهد شد.
معرفی ارزهای دیجیتال و پروژه های Oracle
اوراکل ها دارای مکانیزمی نسباتا قابل اعتماد هستند که ارتباط بین قراردادهای هوشمند را تسهیل میکنند. برای اینکه بلاکچینها تأثیری پایدار در کاربردهای عملی و صنایع مختلف داشته باشند، باید به طور مداوم با دادههای دنیای واقعی ارتباط برقرار کنند. این کار توسط اوراکلها ممکن میشود. در ادامه بهترین پروژههای اوراکل که در بلاک چین اجرا شدهاند را معرفی میکنیم.
چین لینک (Chainlink)
چین لینک یک اوراکل یا نرم افزار واسطه است که دیتاهای قراردادهای هوشمند خود را از پلتفرم های خارج از زنجیره ای (Off-Chain) دریافت می کند. این اکوسیستم متشکل از بیش از 50 پروژه بلاک چینی و 100 شرکت نرم افزاری است. چین لینک در سال 2020 به یکی از برترین ارائه دهندگان اوراکل بلاک چین بدل شد.
بند پروتکل (BAND protocol)
بند، یک اوراکل میان زنجیره ای در بستر شبکه اتریوم است که قراردادهای هوشمند را قادر می سازد هر منبع اطلاعاتی خارجی یا API را به روشی مقیاس پذیر، تجمیع و به هم متصل کند. در این یک نرم افزار به منظور تشویق کاربرانی است که دیتاهای دنیای واقعی را به اپلیکیشن های غیرمتمرکز در بلاک چین ارائه می دهند.
دیا (DIA)
دیا یک بلاک چین و یک شبکه معاملات مالی متن باز است که مانند بسیاری از رقبای خود با هدف حذف واسطه، افزایش امنیت و بالا بردن سرعت تبادلات جهانی ارائه شده است. از جمله اهداف پروژه DIA می توان به آموزش سرمایه گذاری آنلاین و همچنین ارائه دیتاهای آنی اشاره کرد.
تلور (Tellor)
تلور یک اوراکل غیرمتمرکز است که در آن شبکه ای از ماینرهای مبتنی بر الگوریتم اثبات کار (Pow) برای دریافت دیتاهای قراردادهای هوشمند، با یکدیگر به رقابت می پردازند.
جمع بندی
اوراکل های علی رغم چالش های موجود از قبیل دستکاری در منابع اطلاعات، پیشرفت های قابل توجهی داشتند. همچنین در آینده اتصال بین بلاک چین ها و فید های دیتا خارجی، یک جهش بزرگ برای این فناوری محسوب می شود. تجربه شخصی شما از کار با پروژه های اوراکل در بلاک چین چیست؟ با توجه به برخی رخته های امنیتی در Oracle، آینده این فناوری در بلاک چین را چگونه ارزیابی می کنید؟
احتمالا روزی که اوراکل ها بتونن چالش های امنیتی رو پشت سر بزارن افزایش قیمت چین لینک رو میتونیم مشاهده کنیم
سلام دوست عزیز
بله بنده هم با این احتمال موافقم