اوراکل بلاک چین یک نرم افزار منبع اطلاعاتی است که وظیفه تهیه داده برای بلاک چین به منظور ایجاد قرارداد های هوشمند را دارد. یک قرارداد هوشمند صرفاً یک قطعه کد اتوماتیک اجرا شونده است. قراردادهای هوشمند داده های گرفته شده از اوراکل بررسی می کنند و بسته به اطلاعات دریافت شده، جریان اجرای آن را آغاز می کنند. اگر از طرفداران دنیای ارز دیجیتال هستید و میخواهید بدانید اوراکل در بلاک چین و قراردادهای هوشمند چیست، با ما تا انتهای این مقاله همراه باشید.
مثالی جهت شفاف سازی
با یک مثال این موضوع را توضیح می دهیم: فرض کنید که رضا و سعید در رابطه با درجه حرارت هوا در روز جمعه شرط بندی می کنند. رضا معتقد است که روز جمعه دمای هوا ۲۰ درجه و یا بیشتر از آن خواهد بود اما سعید معتقد است که دمای هوای روز جمعه ۱۹ درجه و یا کمتر است. آن ها به این منظور یک قرارداد هوشمند طراحی کرده و هر کدام سهم شرط بندی خود را ( مثلا هر کدام ۱ اتریوم ) را برای سیستم ارسال می کنند تا در نهایت بعد از پایان قرارداد سیستم کل آن ارزها را برای برنده ارسال کند. برای آن که قرارداد های هوشمند بتوانند تعیین کنند که دمای هوا در روز جمعه چند درجه است، نیاز به یک منبع قابل اعتماد دارند تا دمای هوا در آن روز را استخراج کرده و به سیستم اطلاع رسانی کنند. آن منبع هم چیزی نیست جز اوراکل بلاک چین. اوراکل از یک وبسایت هواشناسی معتبر دمای هوای آن روز را استعلام کرده و نتیجه را به سیستم اعلام می کند و سیستم هم بعد از برسی صحت اطلاعات، متوجه می شود که دما در روز جمعه ۲۴ درجه سانتیگراد بوده است، پس طبق قرارداد تمام سرمایه را به رضا انتقال می دهد.
اوراکلها
ایده اوراکلها و همچنین اوراکلهای غیرمتمرکز، چندین سال است که مطرح شده و بحثهایی پیرامون چگونگی پیادهسازی و اعتماد به آنها مطرح شده است. اوراکلها دادههای منابع خارجی را از طریق APIهای وب و بخش دادههای بازار برای بلاک چینها و قراردادهای هوشمند،بازیابی و تایید میکنند. دادههایی که قراردادهای هوشمند به آنها نیاز دارند شامل اطلاعاتی همچون قیمتها، آب و هوا و یا حتی ایجاد شماره تصادفی برای شرط بندی است. اوراکلها بین بلاک چین و منابع داده قرار گرفته و اطلاعات مورد نیاز آن را با اجرای پرس و جو در اختیار آن قرار میدهد. در نتیجه قراردادهای هوشمند میتوانند بر اساس اطلاعاتی که اوراکلها در اختیارشان قرار میدهند اجرا شوند. منابع داده در مارکتهای دنیای واقعی و API های وب، مانند بلاک چینها و قراردادهای هوشمند قطعی نیستند. اوراکلها مانند پل عمل میکنند و این اطلاعات خارجی را به فرمتی قابل درک و قابل اجرا برای بلاک چین تبدیل میکنند.
اوراکلها و قراردادهای هوشمند
مفهوم قراردادهای هوشمند اولین بار توسط نیک سابو در اوایل دهه ۱۹۹۰ بیان شد و پیشبینی او در رابطه با پیادهسازی و استفاده از آنها درست بود! در سطوح بالا، قرارداد هوشمند یک برنامهی کامپیوتری است که از کدهایی تشکیل شده که عملکرد و وضعیت آن را تعریف میکنند. قراردادهای هوشمند معمولا بر روی یک بلاک چین به صورت اتوماتیک، شفاف، تحت شرایط خاص و در یک شبکه غیرمتمرکز اجرا میشوند. از آنجایی که قراردادهای هوشمند بر روی بلاک چینها اجرا میشوند، تغییر ناپذیر هستند. با استفاده از قراردادهای هوشمند، واسطهها حذف میشوند و هزینهی تراکنشها کاهش مییابد. کاربرد این قراردادها، بر اساس پارامترهای کدنویسی شده و از قراردادهای قانونی تا سیستمهای پرداخت متغیر است. قراردادهای هوشمند علیرغم فواید آشکاری که دارند،به علت محدود بودن به دادههای درون زنجیرهای یک بلاک چین، ظرفیت زیادی نداشته و تعاملشان را با دنیای واقعی و همچنین برای اجرا شدن تحت شرایطی خارج از شبکه بلاک چینی که در آن قرار دارند محدودیت ایجاد میکنند.
اوراکل اساس پلت فرم های مختلف
در واقع این اوراکلها هستند که اساس پلت فرمهایی مانند آگر را شکل میدهد. آگر یک بازار پیشبینی غیرمتمرکز است که یک اوراکل پیچیده دارد که رفتار کاربران را به عنوان دادهی ورودی در نظر میگیرد. آگر همچنین از اوراکلها برای گزارش نتایج پیشبینیهای درست بازار هم استفاده میکند. توانایی اوراکلها برای متصل کردن دادههای خارج از زنجیره (off chain) و داخل زنجیره (on chain) بهعنوان واسطه بین شبکههای سنتی و بلاک چین، اثرات طولانی مدت مهمی دارد. با این حال مشکل اصلی این است که این اوراکلها از منابع متمرکز سرچشمه میگیرند که اصولا به مجوزهای بیرونی نیاز دارند و این نقطهای است که بلاک چین با آن مشکل دارد.
مشکلات اوراکل
Jimmy Song آنالیز خوبی از مشکلات پایهای اوراکلها و قراردادهای هوشمند ارائه داده است. مشکلات اوراکلها بیشتر در زمینه امنیت، اعتبار و اطمینان است که میان اوراکلهای دیگر و اجرای غیرمطمئن قراردادهای هوشمند اتفاق میفتد. دنیای دیجیتال باید از دنیای فیزیکی مطلع باشد. اوراکلها نقش مهمی در قراردادهای هوشمند دارند زیرا دادههایی که آنها ایجاد میکنند نحوه اجرای قراردادهای هوشمند را تعیین میکند
انواع اوراکل
وظیفه اوراکل (Oracle) ایجاد ارتباط قرارداد های هوشمند با دنیای خارج از شبکه غیرمتمرکز بلاک چین به منظور کسب اطلاعات برای قرارداد هاست. اوراکل های بلاک چین می توانند اشکال مختلفی را به خود بگیرند، برخی از این ها را به اختصار توضیح می دهیم :
– اوراکل های نرم افزاری
– اوراکل های سخت افزاری
– اوراکل های ورودی
– اوراکل های خروجی
– اوراکل های مبتنی بر اجماع
اوراکل های نرم افزاری
این نوع اوراکل ها معمولا شامل منابع آنلاین اطلاعاتی هستند که به راحتی قابل دسترسی است، به عنوان مثال، وب سایت ها و پایگاه داده های عمومی. آنها معمولاً اطلاعاتی از قبیل دمای هوا، اطلاعات حمل و نقل عمومی و قیمت فعلی دارایی های مختلف مالی را ارائه می دهند. اوراکل های نرم افزاری به دلیل اتصال ذاتی آنها به اینترنت، شاید قدرتمندترین نوع اوراکل (Oracle) باشد. این اتصال به اوراکل های نرم افزاری اجازه می دهد تا به روزترین اطلاعات را به قراردادهای هوشمند ارائه دهد.
اوراکل های سخت افزاری
این نوع اوراکل ها معمولا وظیفه ارسال اطلاعات به قرارداد هوشمند را در نتیجه وقوع یک تغییر در دنیای فیزیکی بر عهده دارد. به عنوان مثال، در مدیریت زنجیره تأمین، اگر شیئی با یک برچسب خاص وارد یک انبار خاص شود، این اوراکل ها می توانند این موضوع را به قرارداد های هوشمند اطلاع دهند. در نتیجه، اوراکل های سخت افزاری می توانند ردیابی کالاها را در طول زنجیره تأمین تسهیل کنند.
اوراکل های ورودی
این شکل از اوراکل ها وظیفه تهیه اطلاعات برای قراردادهای هوشمند را دارند. داده های تهیه شده مربوط به قرارداد هوشمند نیستند و فقط وظیفه ی دریافت را دارند. سایت خبری که در مثال بالا برای تعیین دمای هوا ذکر کردیم، به عنوان یک اوراکل ورودی قرار می گیرد.
اوراکل های خروجی
این اوراکل ها اتصال داده های قرارداد های هوشمند را با یک منبع خارجی ایجاد می کنند. در مثال قبلی ما، هنگامی که رضا به عنوان برنده شرط بندی شناخته شد، قرارداد های هوشمند می تواند این اطلاعات را به محل ذخیره ارزهای دیجیتالی منتقل کنند تا دارایی شرط بسته شده به حساب رضا انتقال یابد.
اوراکل های مبتنی بر اجماع
کارکرد این نوع اوراکل ها، جستجوی منابع متعددی برای قرارداد های هوشمند، و نتیجه گیری بر طبق اجماع آن ها می باشد. در مثال بالا، به جای استفاده از یک وب سایت برای تعیین دمای روز جمعه، می توان از ۴ سایت هواشناسی استفاده کرد. بدین ترتیب اگر همه سایت ها یک دما را برای روز جمعه نشان دهند، قرارداد هوشمند می تواند با موفقیت و دقت بسیار بیشتری اجرا شوند.
اعتماد سازی برای اوراکل ها
حتی با وجود مزایای بسیاری که در رابطه با اوراکل ها (Oracle) گفته شد، هنوز یک نقطه ضعف برای آن ها وجود دارد، اوراکل ها به اطمینان نیاز دارند :
منابع داده ای که اوراکل ها برای به دست آوردن اطلاعات و تحویل به قرارداد های هوشمند استفاده می کنند، باید دارای اعتبار باشند. به عنوان مثال، اگر در شرط بندی بین رضا و سعید که در بالا ذکر شد، رضا به طریقی میتوانست به وبسایت هواشناسی دسترسی پیدا کرده و دما را ۲۴ درجه نمایش دهد، شرط را برده و حق سعید ضایع می شد و بدین ترتیب قرارداد های هوشمند نمی توانستند رسالت خود را به درستی انجام دهند. به طور خلاصه اگر داده هایی که توسط اوراکل ها به قرارداد های هوشمند ارائه می شود، نادرست باشند و یا دستکاری شده باشند، امنیت و صحت اجرای صحیح قرارداد های هوشمند به کلی زیر سوال می رود.
راه حل
برای این مشکل می توان از اوراکل (Oracle) های متعدد درخواست اطلاعات در یک مورد خاص را داشت به طوری که اگر در مثال بالا، یکی از سایت ها دستکاری شده و دمای ۲۴ را نمایش داد، اما سه اوراکل دیگر از سه سایت متفاوت دیگر دمای ۱۸ درجه را نشان دادند، مبنای محاسبه ی سیستم عدد ۱۸ قرار می گیرد و سعید برنده می شود. حتی می توان طوری برنامه ریزی کرد که اگر نتایج دو به دو با هم دیگر برابر شدند چه تصمیمی اتخاذ شود و غیره. تمامی این موارد در قرارداد های هوشمند قابل برنامه ریزی است. اوراکل های بلاک چین یک سری نرم افزار های جدا از سیستم هستند که منابع اطلاعاتی قابل اعتمادی را برای قرارداد های هوشمند فراهم می کنند .