اوراکلها انواع مختلفی دارند و از چند نظر میتوان آنها طبقهبندی کرد. همچنین یک اوراکل ممکن است در چند دسته قرار بگیرد و حتماً لازم نیست آن را جزو یکی از این گروهها طبقهبندی کنیم. بیایید در ادامه با جزئیات بیشتری در این مورد صحبت کنیم و برای هر دسته چند مثال بزنیم.
«اوراکل نرمافزاری» (Software Oracle) اطلاعات خود را از منابع آنلاین دریافت کرده و آن را به بلاک چین میفرستد. این اطلاعات ممکن است از پایگاههای داده، سایتها، سرورها و در حالت کلی هر منبع دادهی اینترنتی گرفته شده باشد.
از آنجایی که این نوع اوراکلها همواره به اینترنت متصل هستند و میتوانند خیلی سریع و راحت دادههای خود را به روز کنند، برای همین جزو یکی از پراستفادهترین اوراکلها به حساب میآیند.
از جملهی دادههایی که اوراکلهای نرمافزاری ارائه میدهند میتوان به نرخ لحظهای قیمت صرافیها یا اطلاعات به روز شرکتهای هواپیمایی اشاره کرد.
در طرف دیگر «اوراکل سختافزاری» (Hardware Oracle) را داریم که دادهها و اطلاعات خود را از وسایل فیزیکی در دنیای واقعی میگیرد.
دستگاههای دارای حسگر، اسکنرهای بارکد و دیگر دستگاههای مشابه از جملهی اوراکلهای سختافزاری هستند و میتوانند اطلاعات را در لحظه از دنیای واقعی بگیرند و آن را به دادههای دیجیتالی تبدیل کنند. برای مثال در گمرک میتوان جلوی درب ورودی حسگر نصب کرده و ورود و خروج کامیونهای حمل بار را زیر نظر گرفت.
در صورتی که کامیونی وارد گمرک شود حسگر آن را تشخیص میدهد و میتواند آن را به قرارداد هوشمند مربوط اطلاع دهد تا بر اساس آن تصمیمات بعدی گرفته شود.
«اوراکل ورودی» (Inbound Oracle یا Input Oracle) به اوراکلی گفته میشود که اطلاعات را از منابع خارجی به قراردادهای هوشمند منتقل میکند، در حالی که «اوراکل خروجی» (Outbound Oracle یا Output Oracle) اطلاعات را از قرارداد هوشمند به دنیای بیرونی میفرستد.
به عنوان یک مثال برای اوراکل ورودی میتوان به میزان دمای هوا اشاره کرد که حسگر آن را اندازه گرفته و به قرارداد هوشمند ارسال میکند. همچنین مثالی از اوراکل خروجی میتواند در استفاده از قفل دیجیتال نمود پیدا کند.
مثلاً میتوان قرارداد هوشمندی نوشت که در صورت ریخته شدن پول در آدرس مخصوص آن، با استفاده از اوراکل خروجی به یک قفل دیجیتال پیامی مبنی بر تایید پرداخت پول ارسال کرده و باعث باز شدن آن قفل میشود.
«اوراکل متمرکز» (Centralized Oracle) توسط یک موجودیت واحد کنترل میشود و تنها عامل ارائهدهندهی اطلاعات به قرارداد هوشمند است.
همانطور که گفتیم استفاده از این نوع اوراکلها چندان توصیه نمیشود زیرا کارکرد برنامهی غیرمتمرکز و قراردادهای هوشمند تشکیلدهندهی آن به طور کلی به همین اوراکل واحد وابسته میشود و اگر اشتباهی در درستی اطلاعات آن وجود داشته باشد نتایج ناگواری در پی خواهد داشت.
در عوض میتوان از «اوراکل غیرمتمرکز» (Decentralized Oracle) استفاده کرد که از چند منبع اطلاعاتی استفاده میکند. برای مثال «چین لینک» (Chainlink) یکی از پروژههای مشهور ارز دیجیتال است که در زمینهی ارائهی اوراکل فعالیت میکند.
اگر سری به صفحهی قیمت اتریوم در این سایت بزنید مشاهده میکنید که اوراکل چین لینک قیمت این رمز ارز را از منابع مختلفی دریافت کرده و براساس آنها یک قیمت واحد به عنوان قیمت قابلاعتماد ارائه میکند.
«اوراکل سفارشی» (Contract-specific Oracle) به اوراکلی گفته میشود که تنها برای استفاده در یک قرارداد هوشمند خاص طراحی و ساخته شده است. برای همین اگر کسی چندین قرارداد هوشمند داشته باشد مجبور است برای هرکدام یک اوراکل سفارشی ایجاد کند.
طراحی این نوع اوراکل بسیار هزینهبر و زمانگیر است. به همین علت شرکتهای تجاری معمولاً از آنها استفاده نمیکنند و ترجیح میدهند به سراغ اوراکلهای ساخته شده توسط شرکتهای دیگر بروند.
البته ناگفته نماند که اوراکل سفارشی به خاطر اینکه صرفاً برای استفاده در یک قرارداد هوشمند خاص ساخته میشود، میتواند نسبت به اوراکلهای دیگر انعطافپذیری بیشتری داشته باشد.
برخی اوقات اشخاص حقیقی که در یک موضوع خاص تخصص دارند هم میتوانند به عنوان یک اوراکل ایفای نقش کنند. این افراد که به آنها «اوراکل انسانی» (Human Oracle) میگوییم از منابع مختلف، درستی و صحت یک سری اطلاعات را بررسی میکنند و سپس آنها را به قراردادهای هوشمند میفرستند.
از آنجایی که هویت این افراد با استفاده از امضای دیجیتالی مشخص است، احتمال تقلب و ارائهی اطلاعات غلط نیز پایین خواهد بود.
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |