- توسط: modir
- 3 شهریور, 1399
- 0 نظرات
اوراکل بلاک چین (Blockchain Oracle) سرویسهایی جانبی هستند که قراردادهای هوشمند را با اطلاعات خارجی مرتبط میکنند. این سرویسها، به عنوان پلی مابین شبکههای بلاک چین و دنیای خارجی عمل میکنند.
همانگونه که میدانید، بلاک چین و قراردادهای هوشمند نمیتوانند به دادههایی خارج از زنجیر (اطلاعاتی که خارج از شبکه بلاک چین قرار دارند) دسترسی داشته باشند. هر چند که برای بسیاری از توافقات قرار دادی، بسیار حیاتی است تا اطلاعات مرتبط و درستی از دنیای خارجی به منظور اجرای توافق داشته باشیم.
بنا بر همین دلیل وجود نیاز، اوراکلهای بلاک چین وارد بازی میشوند و به عنوان یک لینک، مسیر ویا پل میان دنیای خارج از زنجیر و دنیای داخل زنجیر انجام وظیفه میکنند. اوراکلها به این دلیل در اکوسیستم بلاک چین واجب میباشند که باعث گستردگی فضای عملکرد قراردادهای هوشمند شدهاند و مرزهای بیشتری را برای این ویژگی بلاک چین فراهم میکنند. در زمان های نه چندان دور بدون اوراکل بلاک چین، قراردادهای هوشمند استفاده بسیار محدودی داشتند، آن هم به این دلیل که فقط مجبور به استفاده از آنها توسط دادههای داخل شبکه بودیم.
البته شایان ذکر است که اوراکل بلاک چین تنها به خودی خود یک منبع اطلاعات نیست، بلکه ترجیحاً با عنوان یک لایه برای تحقیق، تایید و احراز هویت منابع دادههای خارجی استفاده میشود و پس از آن اطلاعات را تقویت میکند. اطلاعاتی که از اوراکلها خارج میشوند، در زمینههای مختلفی هستند و محدود به یک موضوع خاص نمیشوند. مانند اطلاعات قیمت، یک پرداخت تکمیل شده موفق یا حتی درجه حرارت اندازه گیری شده توسط سنسور حرارتی یا حتی نتیجه انتخابات و…
به جهت تماس با دادهها از دنیای خارج از شبکه، باید به قراردادهای هوشمند استناد کرد و از منابع شبکه بهره برد. برخی از اوراکلها نه تنها توانایی بازپخش اطلاعات به قراردادهای هوشمند را دارند، بلکه قادر نیز هستند تا آنها را به منابع خارج از شبکه نیز ارسال کنند.
اوراکلها انواع مختلفی دارند و چگونگی عملکرد هر یک از آنها بستگی به دلایل طراحی و انتظارات آنها دارد. در ادامه این مطلب با ماینر سلر همراه باشید تا تعریفی از اوراکل بلاک چین و نگاهی به طراحی برخی از آنها داشته باشیم.
مثالی برای درک بهتر اوراکل بلاک چین
تصور کنید دونفر با نام های میلاد و فائزه بر روی این که چه کسی برنده انتخابات ریاست جمهوری آمریکا خواهد شد، شرطبندی میکنند. فائزه برروی برنده شدن جمهوری خواهان شرط میبندد و میلاد نیز بر این باور است که دموکراتها برنده این انتخابات خواهند شد. آنها روی شرایط شرط توافق میکنند و هزینه شرط را نیز درون یک قرارداد هوشمند قفل میکنند. زمانی که برنده مشخص شد، تمامی این مبلغ بر اساس نتیجه انتخابات برای دسترسی فرد برنده آزاد خواهد شد.
از آنجایی که قراردادهای هوشمند به تنهایی این قدرت را ندارند که با اطلاعات خارج از شبکه تعامل داشته باشند، پس با استفاده از یک اوراکل، اخبار و اطلاعات ضروری به قراردادهای هوشمند میرسد. در مثال بالا، این اخبار و اطلاعات، نتیجه انتخابات است که میلاد و فائزه برروی آن شرط بسته بودند. پس از این که انتخابات تمام شود، اوراکل از یک منبع قابل اعتماد پرس و جو میکند تا بفهمد که چه کسی برنده انتخابات شده و سپس اطلاعاتی که به دست آورده است را به دست قرارداد هوشمند میرساند. پس از آن با توجه به این نتیجه، قرارداد هوشمند مبلغ قفل شده را به دست برنده میرساند.
قبل از آن و بدون وجود اوراکل بلاک چین و پخش اطلاعات توسط آن، هیچ راهی وجود نداشت که بتوان به شکلی درست و منصفانه این شرط را انجام داد و قرار داد هوشمند منبع درستی از نتیجه انتخابات نداشت.
انواع اوراکلهای بلاک چین
اوراکلهای بلاک چین را میتوان بنا به چند کیفیت مختلف دسته بندی کرد:
- منبع: آیا دادهها از یک منبع نرمافزاری سرچشمه میگیرند یا یک منبع سختافزاری؟
- مسیر اطلاعات: آیا اطلاعات خروجی هستند یا ورودی؟
- اعتماد: آیا یک شبکه متمرکز است یا غیر متمرکز؟
البته یک اوراکل بلاک چین به تنهایی قادر است چند دسته را شامل شود. به عنوان مثال، یک اوراکل که منبع اطلاعات آن از وبسایت یک شرکت است، یک اوراکل نرم افزاری ورودی متمرکز محسوب میشود.
اوراکلهای نرمافزاری
اوراکلهای نرمافزاری با منابع آنلاین اطلاعاتی در تعامل هستند و با استفاده از آنهاست که دادهها را به شبکه بلاک چین ارسال میکنند. این منابع آنلاین میتوانند پایگاه های داده، سرورها ویا حتی وبسایتها باشند. به طور اساسی، هر منبعی که در دنیای وب به صورت آنلاین در دسترس است، میتواند یک منبع اوراکل نرمافزاری باشد.
ارتباط اوراکل نرمافزاری با دنیای اینترنت نه تنها این اجازه را میدهد که اطلاعات مورد نیاز خود را برای قراردادهای هوشمند عرضه کند، بلکه میتواند به صورت همزمان و زنده اطلاعات را منتقل کند. همین ویژگی است که باعث شده تا اوراکل نرمافزاری یکی از متداولترین انواع اوراکلهای بلاک چین مورد استفاده قرار بگیرد.
اطلاعاتی که معمولاً توسط اوراکلهای نرمافزاری مورد استفاده قرار میگیرند، شامل نرخ صرافیها، قیمت داراییهای دیجیتال ویا حتی اطلاعات پروازها به صورت همزمان است.
اوراکلهای سختافزاری
برخی از قراردادهای هوشمند نیازمند این هستند که با دنیای واقعی در تعامل باشند. اوراکلهای سختافزاری طراحی شدهاند تا اطلاعات مورد نیاز را از دنیای فیزیکی به دست بیاورند و آن اطلاعات را برای قراردادهای هوشمند آماده کنند. این اطلاعات میتوانند شامل موارد زیادی نظیر اطلاعات سنسورهای الکترونیکی، اسکنر بارکدها، دستگاههای امنیتی و خیلی چیزهای دیگر باشد.
اساساً یک اوراکل سخت افزاری وقایع و اطلاعات دنیای واقعی را به طریقی ترجمه میکند تا برای قراردادهای هوشمند قابل خواندن باشد.
اوراکلهای ورودی و خروجی
روش کاری اوراکلهای ورودیبدین گونه است که اطلاعات را از منابع خارجی به قراردادهای هوشمند ارسال میکنند. امّا در نقطه مقابل، اوراکلهای خروجی اطلاعات را از منابع هوشمند به دنیای خارجی ارسال میکنند.
به عنوان مثال، یک اوراکل ورودی، درجه حرارتی که توسط یک سنسور ثبت شده را برای یک قرارداد هوشمند ارسال میکند. در طرف مقابل نیز، مثلاً یک قرارداد هوشمند قفل شده داریم. اگر مبلغ موجود در یک قرار داد هوشمند برای آدرس تعیین شده ارسال شود، پس از آن قرارداد هوشمند اطلاعات را از طریق یک اوراکل خارجی ارسال میکند تا بتواند مبلغ قفل شده را آزاد کند.
اوراکلهای متمرکز و غیر متمرکز
یک اوراکل متمرکز توسط یک مرکز کنترل میشود و تنها یک تامین کننده اطلاعات منفرد برای قرارداد هوشمند وجود دارد. داشتن تنها یک منبع میتواند ریسک باشد. به این دلیل است که قرارداد هوشمند کاملا وابسته به کنترل و اطلاعاتی است که توسط یک مرکز یا یک شخص تامین میشود. همینطور، هر نفوذی مخربی میتواند باعث تاثیر مستقیمی در قرارداد هوشمند شود. مشکل اصلی اوراکلهای متمرکز نیز این است که با مسئله نقطه تکی شکست (Single Point of Failure) رو به رو هستند و زمانی که بخشی از آن شکسته یا خراب شود یا مورد نفوذ یک عامل مخرب قرار بگیرد، کل سیستم تخریب یا متوقف میشود. این نقطه ضعف است که باعث میشود تا قراردادها در برابر حملات آسیب پذیر باشند.
اوراکلهای غیر متمرکز، یک سری ویژگیهای مشترک نیز با بلاک چینهای عمومی دارند و همینطور از یک سری نقاط ضعف و ریسکهای احتمالی که در بلاک چین خصوصی وجود دارد خبری نیست. از آن جایی که اوراکلهای غیر متمرکز تنها به یک منبع وابسته نیستند، اطاعات تامین شده برای قراردادهای هوشمند، قابل اتکا بوده و مورد اعتمادتر نیز هستند. قراردادهای هوشمند از چندین اوراکل برای تایید و دقت دادهها استفاده میکند.
این در حالی است که اوراکلهای غیرمتمرکز سعی بر این موضوع دارند که نیاز به اعتمادسازی را از بین ببرند، لازم به ذکر است که همانند شبکههای بلاک چین بینیاز به اعتماد، اوراکلهای غیرمتمرکز به صورت کامل نیاز به اعتماد را از بین نمیبرند، بلکه آن را بین اعضای مشارکت کننده توزیع میکنند.
اوراکلهای قرارداد خاص
این نوع اوراکل بلاک چین به صورتی طراحی شده است که توسط یک قرارداد هوشمند منفرد مورد استفاده قرار بگیرد. به این معنی که اگر یکی بخواهد چندین قرارداد هوشمند را مستقر کند، باید متناسب با همان تعداد نیز اوراکلهای قرارداد خاص توسعه داده شود.
این دسته از اوراکلها نیازمند به وقت فراوان و هزینه بالایی هستند. شرکتهایی که میخواهند اطلاعات را از منابع مختلفی استخراج کنند، این دسته از اوراکلها را بسیار غیرعملی میدانند. در دسته ای دیگر، اوراکلهای قرارداد خاص را میتوان از ابتدا ساخت تا برای موارد خاصی مورد استفاده قرار بگیرد و توسعه دهندگان نیز انعطاف بالایی در استفاده از آن دارند.
اوراکلهای انسانی
گاهی اوقات اشخاصی با دانشهایی تخصصی در زمینهای خاص میتوانند به عنوان یک اوراکل عمل کنند. این افراد علاوه بر دانش شخصی، میتوانند اطلاعات مختلف را نیز از منابع قابل اعتماد جمع آوری کنند و سپس آن را برای قراردادهای هوشمند بفرستند. از آن جایی که اوراکلهای انسانی میتوانند هویت خود را با استفاده از شیوههای رمزنگاری (Cryptography) تایید کنند، بنابراین احتمال کلاهبرداری و دزدی هویت و سوء استفاده از اطاعات بسیار کم است.
مشکل اوراکل بلاک چین
از آن جایی که قراردادهای هوشمند تصمیمات خود را بر اساس اطلاعات ارائه شده توسط اوراکلها اجرا میکنند، بنابراین اوراکلها کلیدی مهم برای سلامت اکوسیستم بلاک چین به شمار میروند. چالش اصلی که برای طراحی اوراکلها پیش روست این است که اگر اوراکل مورد استفاده شده در معرض خطر قرار بگیرد، قرارداد هوشمند نیز در ادامه در معرض خطر قرار خواهد گرفت. این مسئله به عنوان مشکل اوراکل یا The Oracle Problem شناخته میشود.
به این دلیل که اوراکلها بخشی از اجماع بلاک چین اصلی نیستند، متاسفانه آنها شامل بخشی از مکانیزم امنیتی که بلاکچینهای عمومی ایجاد میکنند، نمیشوند. بنابراین ناسازگاری اعتماد بین مشترکین اوراکل و اجرای بینیاز به اعتماد قراردادهای هوشمند، همچنان به عنوان یکی از مشکلات حل نشده باقی مانده است.
همچنین یکی دیگر از مشکلات عدیده اوراکل این است که یک شخص مخرب قادر است به اطلاعات رد و بدل شده میان اوراکلها و قراردادها دسترسی پیدا کند و باعث تخریب یا ارسال اطلاعات اشتباه شود.
نتیجه گیری
وجود یک مکانیزم قابل تکیه برای برقراری ارتباط مابین قراردادهای هوشمند و دنیای خارجی، به جهت مورد استفاده قرار گرفتن بلاک چین به صورت جهانی بسیار حیاتی است. بدون اوراکل بلاک چین قراردادهای هوشمند تنها میتوانند به اطلاعات درون شبکه متکی باشند و این امر باعث محدود شدن عملکرد توانایی آنها میشود.
اوراکلهای غیر متمرکز پتانسیل این را دارند تا مکانیزمی حفاظت شده را در اختیار قرار دهند که بتواند بسیاری از ریسکهای سیستمی از طرف اکوسیستم بلاک چین را از بین ببرد. بنابر همین دلایل اوراکل بلاک چین یکی از ساختارهای حیاتی بلوکها هستند که باید امن شوند، مورد اعتماد قرار بگیرند و ویژگی بینیازی به اعتماد را در بر بگیرند تا باعث شوند که اکوسیستم بلاک چین بزرگتر شود.