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

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

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

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

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

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

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

اهمیت اوراکل بلاک چین در قرارداد هوشمند

اوراکل بلاک چین (Blockchain Oracle)

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

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

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

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

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

اوراکل‌های بلاک چین را می‌توان بسته به چند کیفیت مختلف دسته بندی کرد:

  • منبع: آیا داده‌ها از یک منبع نرم‌افزاری سرچشمه می‌گیرند یا یک منبع سخت‌افزاری؟
  • مسیر اطلاعات: آیا اطلاعات خروجی هستند یا ورودی؟
  • اعتماد: آیا یک شبکه متمرکز است یا غیر متمرکز؟

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

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

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

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

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

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

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

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

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

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

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

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

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

یک اوراکل متمرکز توسط یک مرکز کنترل می‌شود و فقط یک تامین کننده اطلاعات منفرد برای قرارداد هوشمند وجود دارد. داشتن فقط یک منبع می‌تواند ریسک باشد . به همین دلیل قرارداد هوشمند کاملا وابسته به کنترل و اطلاعاتی است که توسط یک مرکز یا یک شخص تامین می‌شود. همچنین، هر نفوذی مخربی می‌تواند باعث تاثیر مستقیم در قرارداد هوشمند شود. مشکل اصلی اوراکل‌های متمرکز این است که با مسئله نقطه تکی شکست (Single Point of Failure) رو به رو هستند و زمانی که بخشی از آن شکسته شود، خراب شود یا مورد نفوذ یک عامل مخرب قرار بگیرد، کل سیستم را تخریب یا متوقف می‌کند. این نقطه ضعف باعث می‌شود تا قراردادها در برابر حملات آسیب پذیر باشند.

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

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

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

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

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

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

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

استفاده از اوراکل بلاک چین در قرار داد هوشمند

مشکل اوراکل بلاک چین

مشکل اوراکل بلاک چین

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

این مطلب راهم مطالعه کنید: تفاوت بلاک چین غیرمتمرکز و توزیع شده با سایر شبکه‌های متمرکز چیست؟

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

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

نتیجه گیری

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

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