اوراکل (oracle) چیست؟ رابطی بین قراردادهای هوشمند و دنیای واقعی

اوراکل چیست و دقیقاً در چه زمینه‌‌هایی از آن استفاده می‌‌‌­شود، پیشنهاد می‌‌‌­کنیم تا انتهای این مطلب با ما همراه باشید.

0 1,042

اوراکل (oracle) رابطی بین قراردادهای هوشمند و دنیای واقعی است که با استفاده از آن می‌‌‌­توان بسیاری از چالش‌‌هایی را که تکنولوژي بلاک­چین با آن روبروست، حل نمود. در حال حاضر، در بسیاری از اپلیکیشن‌‌های غیرمتمرکز از اوراکل‌‌ها استفاده می‌‌‌­شود تا بتوان با استفاده از آن‌‌ها به توسعه برنامه‌‌‌هایی پرداخت که نیازهای موجود در دنیای واقعی را پاسخ می‌‌‌­دهند.

اوراکل‌‌‌‌ها در شبکه‌‌‌‌های بلاک­ چینی زمانی به وجود آمدند که توسعه‌‌دهندگان توانستند با استفاده از قرارداد‌‌های هوشمند به توسعه dApps بپردازند. قراردادهای هوشمند اولین بار در شبکه‌ی اتریوم به وجود آمدند و این امکان را برای توسعه ­دهندگان به وجود آوردند تا بتوانند ایده‌­های خود را در کمترین زمان ممکن در شبکه‌ی بلاک­چین پیاده‌­سازی نمایند؛ بدون اینکه درگیر چالش‌‌های سطح پایین در شبکه‌ی بلاک ­چین شوند.

در حال حاضر، قراردادهای هوشمند در بسیاری از شبکه‌‌های بلاک ­چین مورد­استفاده قرار می‌‌‌­گیرند و همین باعث شده است تا در اوراکل‌‌ها نیز کاربرد بیشتری پیدا کنند. اوراکل یکی از ضروری‌‌ترین تکنولوژي‌‌ها در توسعه بسیاری از قراردادهای هوشمند است. به همین دلیل، در سال‌­های اخیر کمپانی‌‌های زیادی در جهان بوده‌­اند که به ایجاد سرویس‌‌های اوراکل پرداخته‌‌اند تا بتوانند با استفاده از آن، نیاز‌‌هایی را که در قراردادهای هوشمند وجود دارد، رفع نمایند.

توسعه‌‌دهندگان قراردادهای هوشمند می‌‌‌­توانند به استفاده از اوراکل‌‌هایی که توسط شخص ثالث به وجود آمده است، بپردازند یا به­‌صورت شخصی اوراکل خود را توسعه دهند. نکته‌‌ای که در رابطه با اوراکل باید بدانید، این است که این سرویس‌‌ها در حال حاضر در مراحل ابتدایی پیدایش خود هستند و هنوز با مشکلاتی دست­‌و­پنجه نرم می‌‌‌­کنند.

برای اینکه بدانید اوراکل چیست و دقیقاً در چه زمینه‌‌هایی از آن استفاده می‌‌‌­شود، پیشنهاد می‌‌‌­کنیم تا انتهای این مطلب با ما همراه باشید. چون قرار است به‌­صورت مفصل به این موضوع بپردازیم.

اوراکل چیست؟

با وجود اینکه استفاده از اوراکل در بسیاری از پروژه‌‌های بلاک ­چینی ضروری است، اما هنوز هم توسعه‌‌دهندگانی وجود دارند که دقیقاً نمی‌‌‌­دانند اوراکل چیست و در چه جاهایی باید از آن استفاده کرد.

در رابطه با اینکه اوراکل چیست، به‌­طور خلاصه می‌‌‌­توان گفت که اوراکل‌‌ها سرویس‌‌هایی هستند که با استفاده از آن‌‌ها می‌‌‌­توان به ایجاد ارتباط میان قراردادهای هوشمند ( Smart Contracts) و دنیای واقعی پرداخت.

همان­‌طور که می‌‌‌­دانید، قراردادهای هوشمند در واقع اپلیکیشن‌‌ها و کدهایی هستند که بر بستر شبکه‌‌های بلاک­چین توسعه داده می‌‌‌­شوند. به­‌صورت پیش‌فرض، با استفاده از قراردادهای هوشمند تنها این امکان وجود دارد تا با سایر قراردادهای هوشمند که در یک بلاک­ چین وجود دارند، به برقراری ارتباط پرداخت و نمی‌‌‌­توان ارتباطات خارج از زنجیره را برقرار نمود. این در حالی است که بسیاری از مواقع این نیاز وجود دارد تا برخی اطلاعات را خارج از شبکه دریافت کرد.

می‌توان با نوشتن یک اپلکیشن در شبکه‌ی اتریوم به دریافت اطلاعات از شبکه‌ی ترون پرداخت.

اوراکل سرویسی است که می‌‌‌­توان با آن به‌­راحتی مشکل عدم دسترسی به اطلاعات خارج از شبکه‌ی‌‌ بلاک­ چین را رفع کرد. با استفاده از اوراکل این امکان وجود دارد تا اطلاعات مختلف را از دنیای واقعی و توسط منابع کاملاً متفاوت دریافت کرد و هیچ محدودیتی در این زمینه وجود نخواهد داشت.

جالب است بدانید که با اوراکل می‌‌‌­توان حتی به تبادل اطلاعات با سایر شبکه‌‌های بلاک­چین نیز پرداخت؛ به­‌طور مثال، این امکان وجود دارد تا با نوشتن یک اپلکیشن در شبکه‌ی اتریوم به دریافت اطلاعات از شبکه‌ی ترون پرداخت.

اوراکل (oracle) چیست؟

روش کار اوراکل‌‌

برای اینکه با روش کار اوراکل‌‌ها بیشتر آشنا شوید و بدانید دقیقاً اوراکل چیست، باید با مفهوم API آشنا باشید. API­ها رابط­‌هایی هستند که نرم‌­افزارها برای ایجاد ارتباط با یکدیگر از آن استفاده می‌‌‌­کنند. با استفاده از API این امکان وجود دارد تا اطلاعات مختلف را با استفاده از شبکه‌ی اینترنت یا سایر تکنولوژی‌‌های ارتباطی منتقل کرد.

در اوراکل برای دریافت اطلاعات از منابع خارج از شبکه‌ی بلاک­ چین، از API یا وب­سرویس‌‌هایی استفاده می‌‌‌­شود که توسعه‌‌دهندگان می‌‌‌توانند شخصاً آ‌‌ن‌‌ها را ایجاد کنند یا از API­های کمپانی‌‌های مختلف استفاده نمایند.

زمانی که اوراکل به اطلاعات خارج از شبکه‌ی بلاک­چین نیاز دارد، یک درخواست به API های مورد­نظر ارسال می‌‌‌­کند و پاسخی را که دریافت می‌‌‌­کند، به قراردادهای هوشمند ارسال می‌‌‌‌‌نماید. نکته‌‌ای که باید به آن توجه داشته باشید، این است که اطلاعات دریافت ­شده از API ممکن است در برخی از موارد اعتبار کافی نداشته باشد و باعث شود تا امنیت قراردادهای هوشند با چالش روبرو شود.

انواع اوراکل

اوراکل‌‌ها انواع مختلفی دارند که قراردادهای هوشمند با توجه به نیازی که دارند، به استفاده از آن‌‌ها خواهند پرداخت. بهتر است بدانید تاکنون به دلایل مختلفی که وجود دارد، اوراکل‌‌های نرم‌‌افزاری بیشتر از سایر اوراکل‌‌ها مورد­استفاده قرار گرفته‌‌اند؛ اما در حال حاضر نمی‌‌‌توان گفت که بهترین اوراکل چیست. انواع اوراکل‌‌های رایج عبارتند از:

اوراکل نرم‌‌افزاری

اوراکل نرم‌­افزاری یا Software oracles سرویس‌‌هایی هستند که امکان برقراری ارتباط قراردادهای هوشمند با منابع آنلاین را فراهم می‌‌‌کنند تا بدین طریق بتوان به دریافت اطلاعات مختلف در شبکه‌ی بلاک­چین پرداخت.

اوراکل‌‌های نرم‌‌افزاری می‌‌‌­توانند اطلاعات مورد­نیاز خود را از وب‌‌سرویس‌‌ها، سرور­ها و سایت‌‌های مختلف دریافت کنند که در این زمینه هیچ محدودیتی وجود ندارد. حتی این امکان وجود دارد تا به توسعه‌ی اوراکل‌‌هایی پرداخت که از ربات‌‌های خزنده برای جمع‌‌آوری اطلاعات از سایت‌‌های مختلف استفاده می‌‌‌­کنند.

جالب است بدانید که اوراکل‌‌های نرم‌‌افزاری فقط به جمع‌‌آوری اطلاعات از منابع آنلاین نمی‌‌‌‌‌پردازند؛ بلکه با استفاده از آن‌‌ها می‌­توان به‌صورت آنلاین و کاملاً لحظه‌‌ای به دریافت اطلاعات پرداخت. در سال­‌های اخیر تعداد اوراکل‌‌هایی که به ارائه اطلاعات لحظه‌‌ای (real-time) می‌‌‌‌‌پردازند، افزایش قابل­‌توجهی پیدا کرده است؛ چون این اوراکل‌‌ها توانسته‌‌اند نیازهایی را که در این حوزه وجود داشته است، به‌خوبی رفع نمایند.

در رابطه با اینکه بیشترین کاربردهای این نوع اوراکل چیست، باید بدانید که از اوراکل‌‌های نرم‌­افزاری می‌‌‌­توان برای دریافت اطلاعات لحظه‌‌ای پرواز‌‌ها، قیمت دارایی‌‌ها و اطلاعات معاملات بازارهای مختلف استفاده کرد. علاوه بر این، این امکان وجود دارد تا با استفاده از این اوراکل‌‌ها به ایجاد ارتباط با اپلیکیشن‌‌های موبایل پرداخت و اطلاعات مختلفی را از آن­ها دریافت کرد.

اوراکل (oracle) چیست؟

اوراکل سخت‌‌­افزاری

اوراکل‌­های سخت‌­افزاری در آینده نزدیک بسیار پر­کاربرد خواهند بود؛ چون با استفاده از آن‌‌ها می‌‌‌­توان دستگاه‌‌های مختلف را به شبکه‌ی بلاک­چین متصل کرد. در واقع، اوراکل های سخت‌­افزاری در آینده باعث رشد قابل­‌توجه اینترنت اشیا خواهند شد و این امکان را به وجود خواهند آورد تا بتوان اطلاعات گوناگون را از دستگاه‌‌های مختلف جمع‌‌آوری کرد و آن را به‌­صورت کاملاً امن در شبکه‌ی بلاک­چین ثبت نمود.

بسیاری از کارشناسان در مورد کارکرد اوراکل‌‌ها‌‌ی سخت‌­افزاری این‌­طور بیان کرده‌‌اند که این اوراکل‌‌ها باعث ترجمه رخدادهای دنیای واقعی به اطلاعاتی خواهند شد که می‌‌‌­توان آن‌‌ها را به بهترین شکل ممکن در قراردادهای هوشمند ثبت کرد و اپلیکیشن‌‌های فوق‌‌العاده‌‌ای را توسعه داد.

در رابطه با اینکه مثال واقعی از کاربردهای این نوع اوراکل چیست، باید بدانید که با استفاده از اوراکل سخت‌­افزاری می‌‌‌­توان به­‌راحتی محصولات فروشگاهی را با استفاده از بارکدخوان در شبکه‌ی بلاک­چین ثبت نمود یا به ثبت اطلاعات سنسورهای گجت‌‌های هوشمند سلامتی در قراردادهای هوشمند پرداخت.

اوراکل‌‌های ورودی و خروجی

اوراکل‌‌ها را می‌‌‌­توان بر­اساس جهت تبادل اطلاعات با دنیای بیرون، در دسته‌‌های مختلف قرار داد. اوراکل‌‌های ورودی (Inbound oracle) اوراکل‌‌هایی هستند که با استفاده از آن‌‌ها می‌‌‌­توان به دریافت اطلاعات پرداخت؛ مثلاً سرویس‌‌هایی که به دریافت اطلاعات مرتبط با قیمت سهام می‌‌‌‌‌پردازند، در واقع اوراکل ورودی هستند. اوراکل‌‌های ورودی در حال حاضر بیشتر کاربرد دارند.

اوراکل‌‌های خروجی (Outbound oracle) نوع دیگری از اوراکل‌‌ها هستند که با استفاده از آن­ها می‌‌‌­توان به ارسال اطلاعات از قراردادهای هوشمند به نرم‌‌افزارهای خارج از شبکه‌ی بلاک­چین پرداخت. همچنین، این امکان وجود دارد تا با اوراکل‌‌های خروجی اطلاعات را به شبکه‌‌های بلاک­چین دیگر ارسال کرد.

در مورد اینکه دیگر کاربرد این نوع اوراکل چیست، بهتر است بدانید که از اوراکل‌‌های خروجی می‌‌‌­توان برای کنترل نرم‌‌افزارها و دستگاه‌‌های فیزیکی در خارج از شبکه‌ی بلاک­ چین استفاده کرد. برای مثال، این امکان وجود خواهد داشت تا با استفاده از اوراکل خروجی به ‌‌باز­و­بسته کردن قفل‌‌های هوشمند پرداخت.

اوراکل‌‌های متمرکز و غیر متمرکز

اوراکل‌‌ها را می‌‌‌­توان از نظر سطح اعتماد­پذیری به اوراکل‌‌های متمرکز و غیرمتمرکز تقسیم کرد. هر کدام از این اوراکل‌‌ها مزایا و معایبی دارند که باعث شده‌‌اند بتوان در موارد مختلف به استفاده از آن­ها پرداخت. اما بهترین اوراکل چیست؟

قبل از اینکه به این موضوع بپردازیم که اوراکل‌‌های متمرکز بهتر هستند یا غیرمتمرکز، باید این را بدانید که به‌­طور کلی، محبوبیت شبکه‌ی بلاک­چین و پیدایش آن به این علت بوده است که با استفاده از آن این امکان به وجود آمد تا بتوان بدون استفاده از شخص ثالت، به ایجاد اعتماد در اپلیکیشن‌‌های مختلف پرداخت و کنترل و حاکمیت متمرکز را حذف کرد.

اوراکل‌‌های متمرکز به‌­دلیل اینکه اطلاعات خود را از یک منبع متمرکز دریافت می‌‌‌­کنند، ماهیت اپلیکیشن‌‌های غیر متمرکز را زیر سؤال می‌‌‌برند و باعث به وجود­آمدن مشکلات مختلفی در قراردادهای هوشمند و اپلیکیشن‌‌های غیر متمرکز می‌‌‌‌‌شوند. به همین دلیل، بسیاری از توسعه‌‌دهندگان ترجیح می‌‌‌­دهند تا به استفاده از اوراکل‌‌های غیر متمرکز بپردازند.

در حال حاضر، در بسیاری از شبکه‌‌های بلاک­ چین امکان ایجاد اوراکل‌‌های غیر متمکز برای سایر بلاک ­چین‌‌ها وجود دارد. بدین طریق، این امکان وجود خواهد داشت تا توسعه­ دهندگان بتوانند با استفاده از این اوراکل‌‌ها به توسعه اپلیکیشن‌‌های کاملاً امن و قابل­ اعتماد بپردازند.

اوراکل انسانی

اوراکل (oracle) چیست؟

اوراکل انسانی نوعی دیگر از اوراکل‌‌­هاست که اگر­چه در حال حاضر کمتر در اپلیکیشن‌‌های غیر متمرکز استفاده شده است، اما در آینده‌‌ای نزدیک در بسیاری از اپلیکیشن‌‌ها می‌‌‌­توان برای دریافت اطلاعات از آن استفاده کرد.

با استفاده از Human Oracle این امکان وجود دارد تا با سطح اعتمادپذیری بسیار بالا به دریافت اطلاعات وارد­شده توسط اشخاص پرداخت. در این نوع اوراکل‌‌ها، هویت اشخاص با استفاده از امضای دیجیتال تأیید می‌‌‌­شود، به همین دلیل، می‌‌‌­توان این اطمینان را داشت که اطلاعات وارد­ شده دقیقاً توسط فرد مورد­نظر وارد شده است.

در اوراکل‌‌های انسانی امکان تقلب بسیار پایین است؛ به‌­طوری که در مقایسه با سایر اوراکل‌‌ها می‌‌‌­توان آن را جزو امن‌‌ترین موارد دانست.

چالش‌‌های پیش روی اوراکل‌‌ها

اوراکل‌‌ها در سال­های اخیر توانسته‌‌اند بسیاری از چالش‌‌هایی را که با آن روبرو شده‌­اند، برطرف نمایند. در حال حاضر، اوراکل‌‌های زیادی وجود دارند که توسعه‌‌دهندگان برای ایجاد قراردادهای هوشمند از آن استفاده می‌‌‌­کنند، اما بهتر است بدانید هنوز هم چالش‌‌های زیادی پیش روی اوراکل‌‌هاست؛ به­‌طوری که در برخی از اپلیکیشن‌‌ها امکان استفاده از آن‌‌ها نخواهد بود.

در رابطه با اینکه مهمترین چالش اوراکل چیست، نظر‌‌های کارشناسانه زیادی وجود دارد؛ اما مهمترین چالشی که در حال حاضر وجود دارد، این است که توسعه‌‌دهندگان زمانی که به استفاده از یک اوراکل در قراردادهای هوشمند می‌‌‌‌‌پردازند، باید این ریسک را قبول کنند که در صورت به وجود­آمدن هر­گونه مشکل برای اوراکل، شاهد اختلال در اپلیکیشن‌‌‌‌های خود باشند.

با توجه به حساسیت‌‌ بالایی که در رابطه با اوراکل‌‌ها وجود دارد، باید توسعه آن‌‌ها به­‌طوری انجام شود که امکان به وجود­آمدن هر­گونه خطا در کارکرد آن‌‌ها از بین رود. تنها در این صورت است که توسعه‌‌­دهندگان مجاب خواهند شد تا در پروژه‌‌های خود به استفاده از اوراکل‌‌ها بپردازند.

استفاده از اوراکل در قراردهای هوشمند مشکلات دیگری را نیز ممکن است به وجود آورد. کارشناسان معتقد هستند که با استفاده از اوراکل‌‌ها امکان به وجود­آمدن برخی حفره‌‌های امنیتی در قراردادهای هوشمند وجود خواهد داشت.

حملۀ  MITM یا مرد میانی یکی از خطراتی است که اپلیکیشن‌‌های هوشمند که از اوراکل استفاده می‌‌‌­کنند، با آن روبرو خواهند بود. با استفاده از این روش، هکر‌‌ها می‌‌‌­توانند به جریان اطلاعاتی که میان قرارداد هوشمند و اوراکل وجود دارد، دسترسی پیدا کنند و به تغییر آن‌‌ها بپردازند.

دیگر مشکل استفاده از اوراکل این است که اوراکل‌‌ها تا زمانی که خارج از شبکه‌ی اصلی بلاک­چین هستند، امنیت کافی را برای کاربران ایجاد نخواهند کرد؛ چون در این صورت نمی‌‌‌‌‌توانند به استفاده از مکانیسم امنیتی که در شبکه‌ی بلاک­چین برای کاربران در نظر گرفته شده است، بپردازند و همین باعث می‌‌‌­شود امنیت ‌‌آن‌‌ها در شبکه قابل­ تأیید نباشد.

سوالات متداول

  • اوراکل چیست؟

اوراکل‌‌ رابطی است که با استفاده از آن می‌‌‌­توان به تبادل اطلاعات میان قراردادهای هوشمند و محیط خارج از بلاک­چین پرداخت.

  • اوراکل‌‌ها چه کاربردی دارند؟

از اوراکل‌‌ها می‌‌‌­توان برای دریافت قیمت ارزها، اطلاعات پرواز، اطلاعات سنسورها و موارد این­ چنینی استفاده کرد.

  • در چه بلاک­چین‌‌هایی می‌‌‌­توان از اوراکل استفاده کرد؟

در تمام شبکه‌‌های بلاک­چین که از قرارداهای هوشمند پشتیبانی می‌‌‌­کنند، می‌‌‌­توان به استفاده از اوراکل پرداخت.

5/5 - (1 امتیاز)
اشتراک در
اطلاع از
guest

0 دیدگاه‌ها
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
0
دوست داریم نظرتون رو بدونیم، لطفا دیدگاهی بنویسید!x