اگر علاقهمند به فناوری بلاکچین باشید حتماً تا به حال نام “اوراکل” را شنیدهاید. تأمین اطلاعات دفترهای اطلاعاتی غیر متمرکز و ارتباط آنها با دنیای واقعی از طریق اوراکلها انجام میگیرد تا نیازی به اشخاص ثالث واقعی نباشد. این خدمات اطلاعاتی به صورت کاملاً اتوماتیک و بر محور دیتابیس انجام میگیرد.
بلاکچینها ذاتاً نباید با اطلاعات دنیای بیرون (اطلاعات خارج از شبکه) در ارتباط باشند تا خطر دخل و تصرف شخص ثالث از بین برود. با اینحال خیلی اوقات (برای مثال در قراردادهای هوشمند) نیاز است که اطلاعات خارجی نتیجه توافقنامه را تعیین کنند. اوراکلها همچون پلهای بلاکچینی رفتار میکنند و پیوندی میان اطلاعات درون زنجیرهای و برون زنجیرهای ایجاد میکنند.
توجه داشته باشید که اوراکلها خودشان منابع اطلاعاتی نیستند، بلکه اطلاعات را از منابع دیگر گرفته و اطلاعات را تأیید و منتشر میکنند. این اطلاعات میتواند نرخ لحظهای یک دارایی، تکمیل یک تراکنش، دمای محیط، نتیجه انتخابات یا هر چیز دیگر باشد.
اوراکلهای متنوع زیادی با کاربردهای متفاوت در دنیای بلاکچین وجود دارند. برخی از آنها فقط مسئول انتقال اطلاعات از بلاکچین به بیرون هستند. در ادامه به بررسی دقیق انواع اوراکل، کاربرد آنها و مشکلاتشان خواهیم پرداخت.
کارکرد اوراکل
فرض کنید که شادمهر و شیلا در خصوص برنده انتخابات ریاست جمهوری آمریکا شرط بسته باشند. شیلا طرفدار کاندید جمهوریخواه است و شادمهر نیز معتقد است کاندید دمکرات میبرد. آنها مفاد توافق خود را در یک قرارداد هوشمند ثبت میکنند و پول جاری بین خود را نیز فعلاً در همین قرارداد هوشمند قرار میدهند. نگارش قرارداد هوشمند نیاز به اندک دانش برنامهنویسی دارد. پس از تعیین برنده انتخابات، کل پول تعیینشده طبق قرارداد به برنده اهدا خواهد شد.
کدهای قرارداد هوشمند قطعاً نمیتوانند از اطلاعات دنیای بیرون با خبر شوند. در نتیجه نیاز به خدمات میانجی وجود دارد تا این اطلاعات را به بلاکچین تزریق کند. اوراکلها به جمعآوری این اطلاعات (در اینجا، نتیجه انتخابات) میپردازند. بعد از انتخابات، اوراکل از یک رابط برنامهنویسی اپلیکیشن (API) مورد تأیید طرفین استفاده میکند که میتواند یک خبرگزاری مشهور باشد. با ارسال اطلاعات به قرارداد هوشمند، اعتبار مورد نظر به کیف پول برنده واریز خواهد شد.
دستهبندی اوراکلها
اوراکلها را میتوان بر حسب ویژگیهای زیر تقسیمبندی کرد:
منبع: مبدأ اطلاعات از نرمافزار است یا سختافزار.
جهت انتقال اطلاعات: اطلاعات به درون شبکه ارسال میگردد یا از بلاکچین خارج میشود.
اعتمادسازی: اوراکل به صورت متمرکز کار میکند یا غیر متمرکز.
برای مثال، اوراکلی که اطلاعات را از وبسایت یک شرکت میگیرد یک “اوراکل متمرکز نرمافزاری ورودی” است. پس هر اوراکل میتواند ویژگیهای مختلفی از موارد بالا را پشتیبانی کند.
اوراکلهای نرمافزاری
اوراکلهای نرم افزاری با منابع آنلاین اطلاعاتی در ارتباط هستند و این اطلاعات را به بلاکچین ارسال میکنند. هر نوع اطلاعاتی (حاصل از دیتابیس، سرور، وبسایتها یا غیره) میتواند در این دسته قرار گیرد.
این گونه اوراکلها قادرند بلافاصله اطلاعات لحظهای دنیای واقعی را از طریق شبکه اینترنت دریافت کنند و به قراردادهای هوشمند ارسال کنند.
معمولاً از این اوراکلها برای تعیین نرخ مبادلات، قیمت داراییهای دیجیتال، اطلاعات لحظهای بلیط های مسافرتی و غیره استفاده میشود.
اوراکلهای سختافزاری
برخی قراردادهای هوشمند نیاز به تعامل بیشتر و محسوس با دنیای بیرون دارند. این گونه اوراکلها طراحی شدهاند تا اطلاعات را از دنیای فیزیکی گرفته و آن را تبدیل به دادههایی قابل درک برای قراردادهای هوشمند سازند. در این دسته میتوان به اطلاعات حاصل از سنسورهای الکترونیک، بارکد و دیگر ابزارهای ثبت اطلاعات اشاره کرد.
به عنوان یک مثال خوب میتوان به بلاکچینهای خدمات عرضه اشاره کرد. اوراکل همچون سنسوری عمل میکند که رسیدنِ محموله به یک بندر تجاری را تأیید میکند. اطلاعات در نهایت به قرارداد هوشمند ارسال میگردد تا تصمیمات مربوطه اتخاذ شود.
اوراکلهای ورودی و خروجی
اطلاعات در اوراکلهای ورودی از منابع بیرونی به قرارداد هوشمند ارسال میگردد. در اوراکلهای خروجی این مسئله برعکس است و اطلاعات از قرارداد هوشمند به جهان بیرون ارسال میشود.
اوراکل ورودی که کاملاً ساده است و در دنیای بلاکچین کاربرد زیادی دارد. از جمله این اوراکلها میتوان به سنسورهای دما اشاره کرد. اوراکل خروجی هم برای مثال در قفلهای هوشمند مورد استفاده قرار میگیرند. قرارداد هوشمند پس از واریز دارایی به آدرس مشخص این تراکنش را تأیید میکند و اطلاعات را به مکانیزمی ارسال میکند تا دستور باز شدن قفل را بدهد.
اوراکلهای متمرکز و غیر متمرکز
اوراکل متمرکز اطلاعات خود را صرفاً از یک منبع ثابت میگیرد. طبعاً تأمین اطلاعات قرارداد هوشمند از طریق یک منبع متمرکز باعث خواهد شد که کنترل اموال و قراردادها وابسته به کارایی این حاکمیت متمرکز داشته باشد. استفاده چنین شبکههایی از یک سرور مرکزی همچنین میتواند خطر ریسک را نیز افزایش دهد.
اوراکلهای غیر متمرکز از لحاظ حاکمیتی همچون بلاکچینها عمل میکنند. این اوراکلها با توزیع وظایف و اطلاعات میان اعضا و سرورهای مختلف در تلاشند تا “نیاز به اعتماد” به اشخاص حقیقی ثالث (یا حتی سرورهای منفرد) را از بین ببرند. در نتیجه، بهتر میتوان به اطلاعات آنها اعتماد کرد. در این حالت، قراردادهای هوشمند اکثراً از چندین اوراکل جداگانه استفاده میکنند تا از صحت اطلاعات مطمئن شوند. به همین دلیل، این اوراکلها به “اوراکلهای اجماع” هم معروفند.
برخی پروژههای بلاکچینی دقیقاً به منظور ارائه خدمات اوراکل غیر متمرکز ایجاد شدهاند. از این اوراکلها میتوان برای سنجش نرخهای دقیق بازار یا پیشبینی آینده بازار (از طریق سنجش اطلاعات مختلف) هم استفاده کرد.
اوراکلهایی متناسب با یک قرارداد خاص
این اوراکلها صرفاً برای پیشبرد یک قرارداد هوشمند خاص طراحی شدهاند. طبعاً این نوع اوراکل نیاز به صرف زمان و هزینه بالا دارد. اما گاهی اوقات میتوان از قابلیت ویرایش این اوراکلها استفاده کرد و آنها را تنها برای پیشبرد عملکردی خاص توسعه داد.
اوراکلهای انسانی
بعضی اوقات میتوان از افراد خبره و آگاه در یک زمینه خاص برای تأمین اطلاعات استفاده کرد. آنها مستقیماً اطلاعات را از منابع مختلف گرفته و در اختیار قرارداد هوشمند میگذارند. از آنجا که هویت این افراد با فناوری رمزنگاری قابل تشخیص میشود، پس نمیتوان هویت آنها را جعل کرد و از سوی دیگر به آنها اعتماد کرد.
مشکل یا ضعف اوراکل
قراردادهای هوشمند برای اجرا نیاز به اطلاعات حاصل از اوراکل دارند. مشکل اینجاست که اگر بتوان این اوراکلها را دستکاری کرد به سادگی قراردادهای هوشمند نیز دستکاری شدهاند. این مشکل به “ضعف اوراکل” (The Oracle Problem) نیز مشهور است. در این حالت، هکر از “حمله مرد میانی” (Man-in-the-middle attack) استفاده میکند تا کنترل اوراکل را به دست بیاورد.
ساختار بلاکچین با استفاده از مکانیزمهای اجماع دارای امنیت بسیار بالایی است. نکته این است که اوراکل بخشی از بلاکچین نیست و از لایههای امنیتی بلاکچین استفاده نمیکند.
نتیجه گیری
پیوند میان قراردادهای هوشمند و جهان بیرونی از الزامات اصلی برای پذیرش گسترده و ایجاد کاربردهای بیشتر در حوزه بلاکچین است. در غیر این صورت، بلاکچینها تنها باید به اطلاعات درون شبکه خود بسنده کنند که کاربرد آنها را به شدت پایین میآورد.
اوراکلهای غیر متمرکز قادر هستند تا بسیاری از خطرات سیستمی را با حذف مشکل اعتمادپذیری از بین ببرند. اما هنوز هم راه زیادی باقی است تا اوراکل به عنوان یک عنصر حیاتی به امنیت و پذیرش بیشتری نزد اکوسیستم بلاکچین برسد.