اوراکل چیست و چگونه کار می کند؟ | قسمت دوم
اوراکل های ورودی و خروجی
اوراکل یک کانال ارتباطی دو طرفه با بلاک چین ایجاد می کند و داده ها را به داخل و خارج ارسال می کند. در حالی که اوراکلهای خروجی میتوانند دادههای بلاک چین را به دنیای خارج برسانند، اوراکلهای ورودی دادههای خارج از زنجیره یا دنیای واقعی را به بلاک چین میدهند. علاوه بر این، دادههای ورودی میتوانند تقریباً هر چیزی را از نوسانات قیمت دارایی گرفته تا شرایط هواشناسی تا تأیید پرداختهای تکمیلشده را نشان دهند.
برای اوراکلهای ورودی، یک سناریوی قابل برنامهریزی معمول ممکن است این باشد: اگر دارایی به قیمت مشخصی رسید، سفارش خرید بدهید. از سوی دیگر، اوراکل های خروجی به دنیای بیرون از رویدادی که در زنجیره رخ داده است، هشدار می دهند.
اوراکل های متمرکز و غیرمتمرکز
اوراکل متمرکز توسط یک نهاد واحد مدیریت می شود و به عنوان تنها منبع داده قرارداد هوشمند عمل می کند. استفاده از تنها یک منبع اطلاعاتی می تواند خطرناک باشد زیرا اثربخشی قرارداد صرفاً به نهاد مسئول اوراکل بستگی دارد. اطلاعات غلط یک اوراکل متمرکز نیز مستقیماً بر قرارداد هوشمند تأثیر بد می گذارد. مشکل اساسی با اوراکلهای متمرکز این است که آنها یک نقطه ضعف دارند و قراردادها را در برابر حملات و باگ ها آسیب پذیرتر می کند.
برخی از اهداف اوراکلهای غیرمتمرکز مشابه اهداف بلاک چین های عمومی است، مانند به حداقل رساندن ریسک طرف مقابل. به عنوان مثال، آنها اطلاعات تحویل شده به قراردادهای هوشمند را با عدم وابستگی به یک منبع حقیقت قابل اعتمادتر می کنند. قرارداد هوشمند برای ارزیابی اعتبار و صحت داده ها با چندین اوراکل ارتباط میکند. به همین دلیل است که اوراکل های غیرمتمرکز به عنوان اوراکل های اجماع نیز شناخته می شوند. سایر بلاک چین ها می توانند از خدمات اوراکل غیرمتمرکز ارائه شده توسط برخی از پروژه های اوراکل بلاکچین استفاده کنند.
اوراکل های انسانی
افراد با دانش تخصصی در یک بخش خاص گاهی اوقات می توانند به عنوان اوراکل عمل کنند. آنها ممکن است اطلاعات را از منابع مختلف جمع آوری کنند، مشروعیت آن را بررسی کنند و آن را به قراردادهای هوشمند تبدیل کنند. از آنجایی که اوراکل های انسانی می توانند از رمزنگاری برای تأیید هویت خود استفاده کنند، احتمال اینکه یک کلاهبردار جعل هویت آنها باشد و داده های دستکاری شده را ارائه دهد، اندک است.
اوراکل های خاص قرارداد
این اوراکلها برای کار با قراردادهای هوشمند ساخته شده اند که مجرد هستند. اگر توسعهدهنده قصد دارد قراردادهای هوشمند متعددی را مستقر کند، لازم است اوراکلهای مختلف مخصوص قرارداد خود را بسازد. اوراکل های مخصوص قرارداد ارزش زمان و کار لازم برای به روز نگه داشتن آنها را ندارند. در عوض، فقط باید در شرایط خاص مورد استفاده قرار گیرند.
اوراکل های محاسباتی
ما تا به حال در مورد اوراکل ها از نظر جستجو و ارائه داده صحبت کرده ایم (همچنین به عنوان اوراکل حامل داده یا اوراکل خودکار شناخته می شود). با این حال، اوراکلها را می توان برای انجام هر راه حل محاسباتی دلخواه «خارج از زنجیره» مورد استفاده قرار داد، که به ویژه با توجه به محدودیت گس بلوک ذاتی اتریوم و هزینه محاسباتی بسیار بالا سودمند است.
اوراکلهای محاسباتی، بهجای اینکه صرفاً نتایج یک پرسوجو را ارسال کنند، میتوانند برای انجام محاسبات بر روی مجموعهای از ورودیها و برگرداندن یک نتیجه محاسبهشده استفاده شوند که در غیر این صورت محاسبه روی زنجیره غیرممکن است. به عنوان مثال، برای تخمین بازده قرارداد اوراق قرضه، می توان از یک اوراکل محاسباتی برای انجام یک محاسبه رگرسیونی پیچیده محاسباتی استفاده کرد.
الگوهای طراحی اوراکل
طبق تعریف، همه اوراکلهای مورد بحث چند نقش کلیدی دارند. این قابلیت ها شامل توانایی های زیر است:
- داده ها را از یک منبع غیر بلاکچینی جمع آوری میکنند.
- با استفاده از یک پیام امضا شده، داده ها را روی زنجیره ارسال میکنند.
- دادهها را با ذخیرهسازی آنها در یک قرارداد هوشمند در دسترس قرار میدهند.
هنگامی که دادهها در فضای ذخیرهسازی قرارداد هوشمند ذخیره میشوند، سایر قراردادهای خودکار میتوانند از طریق تماسهای پیامی که تابع «بازیابی» قرارداد هوشمند اوراکل را فراخوانی میکنند، به آن دسترسی داشته باشند. همچنین میتوان آن را مستقیماً توسط گرههای اتریوم یا کلاینتهای فعال شبکه با فضای ذخیرهسازی اوراکل فراخوانی کرد.
سه روش اصلی برای راه اندازی اوراکل را می توان به صورت زیر دسته بندی کرد:
خواندن فوری
اوراکل های خواندن فوری اطلاعاتی را ارائه می دهند که فقط برای تصمیم گیری سریع لازم است، مانند “آیا این دانش آموز بالای 25 سال است؟” کسانی که می خواهند این نوع داده ها را جستجو کنند معمولاً این کار را به صورت آنلاین انجام می دهند، به این معنی که جستجو فقط زمانی انجام می شود که اطلاعات مورد نیاز باشد.
به عنوان مثال می توان به کدهای شماره گیری، گواهینامه های دانشگاهی، عضویت در سازمان، شناسایی فرودگاه و سایر اطلاعات اشاره کرد.
انتشار-اشتراک
اوراکلی که است که به طور موثر یک سرویس پخش برای دادههایی که احتمالاً تغییر میکنند (شاید هم به طور منظم و هم به طور مکرر) را ارائه میکند، یا توسط یک قرارداد هوشمند در زنجیره نظرسنجی میشود یا برای بهروزرسانیها توسط یک دیمون خارج از زنجیره مشاهده میشود. داده های آب و هوا، داده های قیمت، آمار اقتصادی یا اجتماعی و داده های ترافیک تنها چند نمونه از داده های انتشار-اشتراک هستند.
درخواست-پاسخ
چالش برانگیزترین مقوله درخواست-پاسخ است: اینجا جایی است که فضای داده برای ذخیره سازی در یک قرارداد هوشمند بسیار بزرگ است و انتظار می رود کاربران تنها از بخش کوچکی از کل اطلاعات در یک زمان استفاده کنند. همچنین یک استراتژی تجاری قابل دوام برای ارائه دهندگان داده است.
در عمل، اوراکلی مانند این ممکن است به عنوان سیستمی از قراردادهای هوشمند درون زنجیره ای و زیرساخت های خارج از زنجیره برای نظارت بر درخواست ها و بازیابی و بازگرداندن داده ها پیاده سازی شود. درخواست داده از یک برنامه غیرمتمرکز اغلب یک رویه ناهمزمان با چندین مرحله به شرح زیر است:
کاربردهای اوراکل در برنامههای غیرمتمرکز (DApps)
اوراکل مکانیزمی است برای پر کردن شکاف بین دنیای خارج از زنجیره و قراردادهای هوشمند که توسط بسیاری از برنامه های کاربردی موجود در بازار استفاده می شود. موارد زیر نمونه هایی از داده هایی است که اوراکل ها ممکن است ارائه دهند:
- دادههای زمان و بازه زمانی برای اجرای رویدادها بر اساس اندازهگیریهای زمان دقیق استفاده میشوند.
- دادههای بازار سرمایه، مانند بستههای قیمتگذاری داراییها و اوراق بهادار.
- داده های مرجع معیار، مانند نرخ بهره، در مشتقات مالی هوشمند گنجانده شده است.
- به عنوان مثال، داده های آب و هوا برای محاسبه حق بیمه بر اساس پیش بینی آب و هوا استفاده می شود.
- داده های موقعیت جغرافیایی، مانند آنچه در ردیابی زنجیره تامین استفاده می شود.
- برای قراردادهای بیمه، تأیید خسارت مورد نیاز است.
- رویدادهای ورزشی برای حل و فصل بازارهای پیش بینی و قراردادهای ورزشی فانتزی استفاده می شود.
- آمار پرواز، مانند مواردی که توسط گروه ها و باشگاه ها برای جمع آوری بلیط های پرواز استفاده می شود.
امنیت
اوراکل ها با وارد کردن داده های خارجی به معادله، نقش مهمی در اجرای قرارداد هوشمند دارند. از سوی دیگر، اوراکل ها خطر بزرگی را به همراه دارند، زیرا اگر منابع قابل اعتمادی باشند و قابل هک باشند، می توانند اجرای قراردادهای هوشمندی را که تغذیه می کنند، به خطر بیندازند.
به طور کلی، ضمن در نظر گرفتن استفاده از یک اوراکل، مدل اعتماد باید به دقت مورد توجه قرار گیرد. اگر فرض کنیم که اوراکل قابل اعتماد است، ممکن است با قرار دادن آن در معرض ورودی های احتمالی نادرست، امنیت قرارداد هوشمند را قربانی کنید. با این حال، اگر مفروضات امنیتی به دقت در نظر گرفته شوند، اوراکل ها می توانند بسیار ارزشمند باشند.
برخی از این نگرانیها را میتوان از طریق اوراکلهای غیرمتمرکز، ارائه قراردادهای هوشمند اتریوم با دادههای خارجی که قابل اعتماد نیستند، برطرف کرد. قبل از شروع کاوش در پل اوراکلها بین اتریوم و دنیای واقعی، باید آن را با دقت انتخاب کنید.
برای مطالعه اخبار مرتبط با رمزارزها در ایران و جهان، وبلاگ و کانال خبری ما را دنبال کنید.