اوراکل های بلاک چین – Blockchain Oracles سومین بخش قراردادهای هوشمند – Smart Contracts هستند که اطلاعات خارجی را برای اسمارت کانترکت ها فراهم می‌کنند.

 

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

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

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

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

Smart Contract

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

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

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

اوراکل ها با توجه به آیتم‌­های مختلفی طبقه‌­بندی می‌شوند:

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

اوراکل های نرم افزاری – Software Oracle

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

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

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

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

اوراکل سخت افزاری – Hardware Oracle

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

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

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

اوراکل‌های ورودی – Inbound Oracle، اطلاعات را از منابع خارجی به قراردادهای هوشمند انتقال می‌­دهند، در حالی که اوراکل‌های خروجی – Outbound Oracle، اطلاعات را از اسمارت کانترکت‌ها به دنیای خارجی می­‌فرستند.

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

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

یک اوراکل متمرکز – Centralized Oracle توسط یک نهاد واحد کنترل می­‌شود و تنها ارائه‌دهنده اطلاعات برای قرارداد هوشمند است. استفاده از تنها یک منبع اطلاعات می‌تواند خطرناک باشد، چراکه اثربخشی قرارداد کاملاً به نهاد کنترل­‌کننده آن Oracle بستگی دارد.

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

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

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

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

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

اوراکل های خاص قرارداد – Contract-specific Oracles

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

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

 اوراکل‌های انسانی – Human Oracles

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

چالش اوراکل ها

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

از آنجایی که اوراکل بخشی از اجماع اصلی بلاک چین نیست، در نتیجه متأسفانه بخشی از سازوکارهای امنیتی که Blockchain های عمومی ‌می‌توانند ارائه دهند، از Oracle ها پشتیبانی نمی‌کند. تضاد اعتماد بین اوراکل ها، به عنوان سومین بخش یک قرارداد و اجرای بدون اعتماد قراردادهای هوشمند، یک چالش عمدتاً حل نشده است.

جمع بندی

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

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

منبع: academy.binance.com

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *