اوراکل های بلاکچین (Blockchain Oracles) چیست؟

اوراکل های بلاکچین خدمات شخص ثالثی هستند که قراردادهای هوشمند با اطلاعات خارجی را ارائه می دهند. آنها به عنوان پلی بین بلاکچین و دنیای خارج عمل می کنند.

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

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

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

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

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

مثالی برای درک اوراکل بلاکچین

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

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

بدون انتشار مجدد داده ها به هیچ وجه امکان این وجود نداشت که تسویه این شرط را به طریقی حل کرد که توسط یکی از شرکت کنندگان قابل تقلب نباشد.

انواع مختلف اوراکل های بلاکچین کدامند؟

اوراکل های بلاکچین را می توان بسته به تعدادی از کیفیت های مختلف طبقه بندی کرد:

یک اوراکل منفرد می تواند به چندین دسته تقسیم شود. به عنوان مثال اوراكلی كه اطلاعات را از یك وب سایت شركت تهیه می كند یك نرم افزار متمرکز ورودی است.

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

اوراکل های نرم افزاری با منابع اطلاعاتی آنلاین ارتباط برقرار می کنند و آن را به بلاکچین منتقل می کنند. این اطلاعات می تواند از پایگاه های داده آنلاین، سرورها، وب سایت ها (اساساً هر منبع داده در وب) بدست آید.

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

اطلاعاتی که معمولاً توسط اوراکل های نرم افزاری ارائه می شوند می توانند شامل نرخ ارز، قیمت دارایی های دیجیتال یا اطلاعات پرواز در زمان واقعی باشند.

اوراکل های سخت افزاری

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

یک اوراکل سخت افزاری اساساً وقایع دنیای واقعی را به مقادیر دیجیتالی تبدیل می کند که با قراردادهای هوشمند قابل درک است.

به عنوان مثال می توان سنسوری را بررسی کرد که آیا کامیونی که یک کالا را حمل می کند به محل بارگیری رسیده است یا خیر. اگر انجام شود اطلاعات را به یک قرارداد هوشمند انتقال می دهد که می تواند تصمیمات مبتنی بر آن را اجرا کند.

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

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

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

یک اوراکل متمرکز توسط یک نهاد واحد کنترل می شود و تنها ارائه دهنده اطلاعات قرارداد هوشمند است. استفاده از تنها یک منبع اطلاعاتی می تواند مخاطره آمیز باشد چرا که اثربخشی قرارداد کاملاً به نهادی بستگی دارد که این اوراکل را کنترل کند. همچنین هرگونه تداخل مخرب توسط یک بازگر بد تأثیر مستقیم در قرارداد هوشمند خواهد داشت. مشکل اصلی اوراکل متمرکز وجود یک نقطه شکست است که باعث می شود قراردادها در برابر آسیب پذیری ها و حملات مقاومت کمتری داشته باشند.

اوراکل های غیر متمرکز برخی از اهداف مشابه بلاکچین های عمومی را دارند یعنی جلوگیری از خطر طرف مقابل. آنها با اطمینان از اعتماد نکردن به یک منبع صادق، قابلیت اطمینان به اطلاعات ارائه شده به قراردادهای هوشمند را افزایش می دهند. قرارداد هوشمند برای تعیین اعتبار و صحت داده ها از چندین اوراکل استفاده می کند. به همین دلیل است که از اوراکل غیرمتمرکز می توان به عنوان اوراکل اجماع نیز نام برد.

اوراکل های مخصوص قرارداد

اوراکل مخصوص قراردادی است که برای استفاده در یک قرارداد هوشمند طراحی شده است. این بدان معناست که اگر کسی بخواهد چندین قرارداد هوشمند را به کار بگیرد باید متناسب با مبلغ خاص قرارداد تهیه شود.

این نوع اوراكل بسیار وقت گیر و نگهداری آن گران قیمت در نظر گرفته می شود. شرکتهایی که می خواهند از منابع مختلف داده استخراج کنند ممکن است این روش را بسیار غیر عملی تشخیص دهند. از طرف دیگر از آنجا که می توان اوراکل های خاص قرارداد را از ابتدا برای استفاده در یک مورد خاص استفاده کرد، توسعه دهندگان انعطاف پذیری بالایی دارند تا آنها را متناسب با نیازهای خاص تنظیم کنند.

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

بعضی اوقات افراد با دانش تخصصی در یک زمینه خاص می توانند به عنوان اوراکل عمل کنند. آنها می توانند صحت اطلاعات را از منابع مختلف تحقیق و بررسی کنند و این اطلاعات را به قراردادهای هوشمند ترجمه کنند. از آنجا که اوراکل های انسانی می توانند هویت خود را با استفاده از رمزنگاری تأیید کنند احتمال جعل هویت توسط یک کلاهبردار و ارائه داده های خراب نسبتاً کم است.

مشکل اوراکل

از آنجا که قراردادهای هوشمند تصمیمات را بر اساس داده های ارائه شده توسط اوراکل ها اجرا می کنند این کلیدها برای اکوسیستم بلاکچین سالم است. چالش اصلی در طراحی اوراکل این است که اگر اوراکل به خطر بیفتد قرارداد هوشمند متکی به آن نیز به خطر می افتد. این امر اغلب به عنوان مشکل اوراکل نامیده می شود.

از آنجا که اوراکل ها بخشی از اجماع اصلی بلاکچین نیستند متأسفانه بخشی از ساز و کارهای امنیتی که بلاکچین های عمومی می توانند ارائه دهند نیستند. نزاع اعتماد بین اوراکل های شخص ثالث و اجرای بی اعتماد و ناچیز قراردادهای هوشمند همچنان مسئله ای حل نشده باقی مانده است.

حملات انسانی در این میان نیز می تواند تهدید باشد. جایی که یک بازیگر بدخواه به جریان داده بین اوراکل و قرارداد دسترسی پیدا کند و داده ها را اصلاح یا جعل کند.

سخن پایانی

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

اوراکل های غیرمتمرکز توانایی معرفی مکانیزم های محافظتی را دارند که می تواند بسیاری از خطرهای سیستمیک را از اکوسیستم بلاکچین برطرف کند. اوراکل های بلاکچین یکی از مهمترین عناصر سازنده برای رشد اکوسیستم بلاکچین به صورت ایمن، قابل اعتماد و بی اعتماد باقی مانده است.