اوراکل (Oracle) چیست؟
مقدمه
در فضای بلاک چین، اوراکل (Oracle) خدمات شخص ثالثی است که قراردادهای هوشمند (Smart-Contracts) را با دادههای خارجی مرتبط میسازد. توجه به این نکته مهم است که اوراکل در بلاک چین خود، منبع دادهها نیست بلکه لایهای است که منابع داده خارجی را جستوجو، تأیید و اعتبارسنجی میکند و سپس این اطلاعات را مجدداً ارسال مینماید. با افزایش تقاضا جهت استفاده از قراردادهای هوشمند، نیاز فزایندهای برای ورود جریان دادههای جدید به بلاکچین شکل گرفته است. به همین دلیل، نوآوریها و ابداعات زیادی پیرامون این مسأله ایجاد شده است. راهاندازی یک شبکۀ اوراکل، چالشهای زیادی دارد. در این مقاله به بررسی مفاهیم و چالشهای اوراکل میپردازیم.
تعریف اوراکل
فناوری بلاکچین، موج جدیدی از تغییرات تکنولوژیکی را آغاز کرده که جایگزین روشهای سنتی انجام برخی کارها همچون نحوه مدیریت پول، چگونگی ردیابی کالاها در حمل و نقل، نحوه ثبت مالکیت داراییها و … خواهد شد. اما برخلاف بلاکچین، زندگی خطی نیست؛ یعنی دادهها فقط از یک سمت وارد نمیشوند. هر چیزی که خارج از بلاکچین اتفاق میافتد، وقتی به صورت دیجیتالی در بلاکچین ثبت و پردازش میشود، به همان صورت که در واقعیت اتفاق افتاده ثبت نمیشوند.
بنابراین چگونه میتوان یک بلاک چین را به گونهای همگامسازی کرد تا اطلاعات جدیدی را ثبت کند که توسط پردازشهای قبلی بلاکچین تعیین نشده است؟ اوراکل کلید دستیابی به این دادهها است.
معرفی انواع اوراکلها
در دنیای رمزارزها، اوراکلها پل ارتباط بلاکچین با دنیای واقعی هستند. آنها دادههای مورد نیاز قراردادهای هوشمند را برای اجرای موفقیتآمیز فراهم میکنند. اوراکلهای بلاکچین را میتوان بر اساس ساختار آنها طبقهبندی کرد. رایجترین انواع آنها شامل موارد زیر است:
- اوراکل سخت افزاری
- اوراکل نرم افزاری
- اوراکل ورودی
- اوراکل خروجی
- اوراکل مبتنی بر اجماع
اوراکل (Oracle) سخت افزاری
برخی از قراردادهای هوشمند به اطلاعات مستقیم از دنیای فیزیکی نیاز دارند. به عنوان مثال، اتومبیلی در حال عبور از محلی است که در آن سنسورهای حرکتی قرار گرفته است. این سنسورها باید وسیله نقلیه را شناسایی کرده و دادهها را به یک قرارداد هوشمند ارسال کنند. مثال دیگر، سنسورهای RFID در صنعت زنجیره تأمین است. اینها نمونههای یک اوراکل سخت افزاری هستند.
اوراکل نرم افزاری
وظیفۀ تهیه و انتقال اطلاعات خارجی به قراردادهای هوشمند را اوراکلهای نرم افزاری بر عهده دارند. اوراکلهای نرم افزاری، دادههای اطلاعاتی از جمله دما، قیمت و نوع کالاها، تأخیرهای پرواز یا قطار و … را که از منابع آنلاین دریافت میکنند، به بلاکچین منتقل میسازند.
اوراکل ورودی
این شکل از Oracle، وظیفۀ تأمین سادۀ دادهها را برای قراردادهای هوشمند بر عهده دارد. اوراکلهای ورودی، دادههای ارائهشدۀ خارج از قراردادهای هوشمند را دریافت میدارند و با ارائه این دادهها در بستر قراردادهای هوشمند، فرآیند اجرا را آغاز میکنند. به عنوان مثال، وبسایت خبری ارائهکننده اطلاعات آماری هواشناسی، به عنوان یک اوراکل ورودی طبقهبندی میشود.
اوراکل خروجی
این اوراکلها، دادههای قراردادهای هوشمند را به سیستمهای خارجی انتقال میدهند و باعث میشوند که قراردادهای هوشمند بتوانند با منابع غیربلاکچینی ارتباط برقرار کنند. در برخی مواقع، قرارداد هوشمند خود به عنوان یک اوراکل خروجی عمل میکند.
اوراکل مبتنی بر اجماع
اوراکلهای مبتنی بر اجماع، اطلاعات خود را از بازارهای اجماع و پیشبینی، مانند Augur و Gnosis، به دست میآورند. استفاده از فقط یک منبع اطلاعاتی میتواند خطرناک و غیرقابلاعتماد باشد. عملکرد اوراکلهای اجماع، جستوجوی منابع اوراکلهای متعدد است و بر اساس اجماع آنها است که به نتیجه میرسند. این اوراکلهای غیرمتمرکز، میزان زیادی داده را از مجموعهای از اوراکلهای دیگر جمعآوری میکنند. در صورتی که همه اطلاعات ورودی یکسان باشد، قرارداد هوشمند با اطمینان کامل میتواند طبق آن اطلاعات عمل کند.
برای جلوگیری از دستکاری در بازار، اوراکلهای مبتنی بر اجماع یک سیستم رتبهبندی را برای اوراکلها اجرا میکنند. برای امنیت بیشتر، ممکن است ترکیبی از اوراکلهای مختلف مورد استفاده قرار گیرد.
مشکلات اوراکلها و نیاز اوراکلها به اعتماد
با توجه به دادههای فراهمشده توسط اوراکلهای متمرکز، قراردادهای هوشمند به اجرای عملکردهای مختلفی خواهند پرداخت. این یعنی اوراکلها قدرت زیادی روی قراردادهای هوشمند دارند. از این قضیه به مشکل اوراکل (Oracle problem) تعبیر میشود که نوعی مشکل اعتماد برای سیستمهای بلاکچینی ایجاد میکند.
اگرچه اوراکلهای غیرمتمرکزی مانند اوراکلهای اجماع ممکن است یک راهحل احتمالی را ارائه دهند اما هنوز مشکلات زیادی در این فضا وجود دارد. پیادهسازی شبکههای اوراکلی غیرمتمرکز به شیوهای ایمن و بدون نیاز به اعتماد، کاری بسیار دشوار است.
چالش اصلی اوراکلها این است که چه دادهها از طریق وبسایت و اوراکلهای نرم افزاری فراخوانی شده باشد و چه از طریق اوراکلهای سخت افزاری و حسگرها، کاربران باید به این منابع اطلاعاتی خارجی اعتماد کنند. از آنجا که اوراکلها خدمات شخص ثالث هستند و بخشی از سازوکار اجماع بلاکچین نیستند، شامل مکانیسمهای امنیتی که بلاکچینها فراهم میکنند، نمیشوند. همواره احتمال اینکه «حملات مردی در میانه» (Man-in-the-middle attack) در بستر قراردادهای هوشمند و اوراکلها روی دهد، وجود دارد.
اطمینان از امنیت اوراکلها از اهمیت بالایی برخوردار است. تکنیکهای مختلف محاسبات قابلاعتماد میتواند به عنوان راهی برای حل مسأله اعتماد به اوراکلها باشد. با این حال، این موضوع همچنان نیاز به توجه بیشتری خواهد داشت؛ زیرا اوراکلهای امن، گلوگاهی برای امنیت قرارداد هوشمند است.
سخن پایانی
اوراکل در بلاکچین، منبع اطلاعاتی شخص ثالث است که دادههای قراردادهای هوشمند را تأمین میکند. اوراکل با فراهم کردن ابزاری برای برقراری ارتباط با خارج از شبکه بلاکچین، دامنۀ آنچه را که پروتکلهای بلاکچین میتوانند انجام دهند، افزایش میدهد.
اوراکلها (Oracle) به سطحی از اعتماد احتیاج دارند که با ماهیت غیرمتمرکز قراردادهای هوشمند مبتنی بر بلاکچین متناسب باشد. بنابراین، قراردادهای هوشمند به سطح پیچیدگی بیشتری نیاز دارند. نمونهای از این پیچیدگی، میتواند تهیه دادهها از چندین اوراکل به منظور کاهش میزان اعتماد به یک اوراکل خاص باشد.
دیدگاه خود را ثبت کنید