اوراکل (oracle) با توجه به اینکه کجا مورد استفاده قرار گیرد، معنای مختلفی دارد. اما معنی اوراکل در شبکه بلاک چین (Blockchain) کمی متفاوت می باشد. اوراکل ها مجموعه ای از پایگاه داده ها و اطلاعات هستند که ارتباط بین قراردادهای هوشمند با پایگاه های بیرون از شبکه را میسر می سازند. در ادامه همراه ما باشید تا به طور تخصصی به بررسی اوراکل بلاک چین و انواع آن بپردازیم.
مفهوم اوراکل در ارزهای دیجیتال
قراردادهای هوشمند به یک سری اطلاعات نیاز دارند، اوراکل بلاک چین علاوه بر فراهم سازی این اطلاعات، به بررسی صحت و درستی این اطلاعات نیز می پردازد. قراردادهای هوشمند شبکه بلاک چین می توانند به اطلاعات درون شبکه ارزهای دیجیتال دسترسی داشته باشند، اما اطلاعات بیرون از شبکه و مربوط به دنیای واقعی چه؟ این جاست که اوراکل بلاک چین نقش اساسی پیدا میکند و این گونه داده ها را در اختیار قراردادهای هوشمند قرار می دهد.
چرا قراردادهای هوشمند به اوراکل نیاز دارند؟
اکثر توسعهدهندگان قراردادهای هوشمند را بهعنوان تکههایی از کد میبینند که در آدرسهای خاصی در بلاک چین اجرا میشوند. با این حال، دیدگاه کلیتر از قراردادهای هوشمند این است که آنها برنامههای نرمافزاری خوداجرا هستند که میتوانند پس از برآورده شدن شرایط خاص، توافقنامهها را بین طرفین اجرا کنند، که اصطلاح «قراردادهای هوشمند» را توضیح میدهد.
اما استفاده از قراردادهای هوشمند برای اجرای توافقات بین افراد، با توجه به اینکه اتریوم قطعی با نتایج یکسان است، ساده نیست. یک سیستم قطعی سیستمی است که همیشه نتایج یکسانی را با توجه به یک حالت اولیه و یک ورودی خاص تولید میکند (هیچ تصادفی یا تغییری در فرآیند محاسبه خروجیها از ورودیها وجود ندارد).
برای دستیابی به اجرای قطعی، بلاکچینها گرهها را به اجماع در مورد سؤالات باینری ساده (درست/نادرست) با استفاده از تنها دادههای ذخیره شده در خود زنجیره بلوکی محدود میکنند. نمونه هایی از این گونه سوالات عبارتند از:
"آیا مالک حساب (که با یک کلید عمومی مشخص می شود) این تراکنش را با کلید خصوصی جفت شده امضا کرده است؟"
"آیا این حساب دارای وجوه کافی برای پوشش تراکنش است؟"
«آیا این معامله در چارچوب این قرارداد هوشمند معتبر است؟» و غیره.
اگر بلاکچینها اطلاعاتی را از منابع خارجی (یعنی از دنیای واقعی) دریافت میکردند، دستیابی به جبر غیرممکن خواهد بود و از توافق گرهها در مورد اعتبار تغییرات در وضعیت بلاک چین جلوگیری میکند. به عنوان مثال یک قرارداد هوشمند را در نظر بگیرید که یک تراکنش را بر اساس نرخ ارز فعلی ETH-USD به دست آمده از یک API قیمت سنتی انجام می دهد. این رقم احتمالاً اغلب تغییر میکند (غیر از ذکر اینکه API ممکن است منسوخ یا هک شود)، به این معنی که گرههایی که کد قرارداد یکسانی را اجرا میکنند به نتایج متفاوتی میرسند.
برای یک بلاک چین عمومی، مانند اتریوم، با هزاران گره در سراسر جهان که تراکنشها را پردازش میکنند، جبرگرایی بسیار مهم است. با توجه به اینکه هیچ مرجع مرکزی به عنوان منبع حقیقت عمل نمی کند، انتظار می رود که گره ها باید پس از اعمال همان تراکنش ها به همان حالت برسند. موردی که به موجب آن گره A کد قرارداد هوشمند را اجرا می کند و در نتیجه "3" دریافت می کند، در حالی که گره B پس از اجرای همان تراکنش، "7" را دریافت می کند، باعث می شود اجماع از بین برود و ارزش اتریوم به عنوان یک پلت فرم محاسباتی غیرمتمرکز را حذف کند.
سناریویی که قبلا توضیح داده شد همچنین مشکل طراحی بلاک چین برای استخراج اطلاعات از منابع خارجی را برجسته می کند. با این حال، اوراکل بلاک چین این مشکل را با گرفتن اطلاعات از منابع off chain و ذخیره آن در بلاک چین برای مصرف قراردادهای هوشمند حل می کند. از آنجایی که اطلاعات ذخیره شده در زنجیره غیرقابل تغییر و در دسترس عموم است، گرههای اتریوم میتوانند با خیال راحت از دادههای خارج از زنجیره برای محاسبه تغییرات حالت بدون اجماع استفاده کنند.
برای انجام این کار، اوراکل بلاک چین معمولاً از یک قرارداد هوشمند در حال اجرا بر روی زنجیره و برخی از اجزای خارج از زنجیره تشکیل شده است. قرارداد آنچین (on-chain) درخواستهایی برای دادهها از سایر قراردادهای هوشمند دریافت میکند، که آنها را به جزء خارج از زنجیره (به نام گره اوراکل) ارسال میکند. این گره اوراکل میتواند منابع داده را جستجو کند، برای مثال با استفاده از رابطهای برنامهنویسی کاربردی (API) و تراکنشهایی را برای ذخیره دادههای درخواستی در فضای ذخیرهسازی قرارداد هوشمند ارسال کند.
اساساً یک اوراکل بلاک چین، شکاف اطلاعاتی بین بلاک چین و محیط خارجی را پر می کند و "قراردادهای هوشمند ترکیبی" ایجاد می کند. قرارداد هوشمند ترکیبی قراردادی است که بر اساس ترکیبی از کد قرارداد درون زنجیره ای (آنچین) و زیرساخت خارج از زنجیره عمل می کند. بازارهای پیشبینی غیرمتمرکز، نمونهای عالی از قراردادهای هوشمند ترکیبی هستند. نمونههای دیگر ممکن است شامل قراردادهای هوشمند بیمه محصولات کشاورزی باشد که زمانی پرداخت میشوند که مجموعهای از اوراکلها تشخیص دهند که پدیدههای آب و هوایی خاصی رخ داده است.
انواع اوراکل ها
اوراکل بلاک چین انواع مختلفی دارند و هر کدام از آن ها کار خاصی را انجام می دهند. انواع اوراکل بلاک چین عبارتند از:
- اوراکل های سخت افزاری
- اوراکل های نرم افزاری
- اوراکل های ورودی و خروجی
- اوراکل های متمرکز و غیر متمرکز
اوراکل های سخت افزاری (hardware oracle)
اوراکل بلاک چین سخت افزاری مسئول ثبت اطلاعات از محیط فیزیکی هستند. در واقع این نوع از اوراکل ها از طریق سنسورها، اسکنرها و دیگر دستگاه های ثبت اطلاعات، داده ها را از محیط فیزیکی، کالاها و... دریافت و در اختیار قراردادهای هوشمندی قرار می دهند که احتیاج دارند با دنیای فیزیکی ارتباط برقرار کنند.
اوراکل های نرم افزاری (software oracle)
اوراکل های نرم افزاری جزو متداول ترین نوع اوراکل ها هستند. این نوع از اوراکل ها هر داده و اطلاعاتی که در دنیای وب وجود دارد را دریافت و به بلاک چین ارسال می کنند. منظور از اطلاعات داخل وب، هر گونه داده در سایت ها و ... می باشد. همچنین می توانند اطلاعاتی از جمله وضعیت آب و هوا و وضعیت پروازها را دریافت کنند و در اختیار قراردادهای هوشمند قرار دهند.
اوراکل های ورودی و خروجی (Inbound Oracle and Outbound Oracle)
اوراکل بلاک چین ورودی اطلاعات را از منابع خارجی به شبکه بلاکچین و قراردادهای هوشمند انتقال می دهند. مانند: اندازه گیری دما با حسگر.
اوراکل های خروجی نیز اطلاعات را از شبکه بلاک چین و قراردادهای هوشمند به خارج ارسال می کنند. مانند: قفل هوشمند.
اوراکل های متمرکز و غیر متمرکز (Centralized oracle and Decentralized oracle)
اوراکل بلاک چین متمرکز تنها توسط یک پایگاه کنترل می شوند و اطلاعات قراردادهای هوشمند را ارائه می دهند. اما با توجه به اینکه این نوع از اوراکل ها تنها توسط یک پایگاه کنترل می شوند، خطر آسیب پذیری بالایی دارند و تمام کیفیت اطلاعات قراردادهای هوشمند وابسته به آن، به سطح کیفی آن پایگاه بستگی دارد.
اوراکل بلاک چین غیر متمرکز با توجه به اینکه مبنی بر یک پایگاه نیستند، اطلاعات قابل استنادتری را به قراردادهای هوشمند ارائه می دهند.
اوراکل های انسانی (human oracle)
در برخی موارد انسان های متخصص در حوزه خاصی، می توانند در قالب اوراکل فعالیت کنند. نحوه کار آن ها به این صورت است که درستی اطلاعات را از طریق تحقیق از منابع معتبر تایید می کنند. تایید هویت این افراد از طریق رمز گذاری می باشد، لذا احتمال هک هویت این افراد نسبتا کم است.
پروژه های موفق اوراکل
چین لینک(chainlink)
ارز دیجیتال چین لینک (chainlink) در سال ۲۰۱۷ توسط سرگئی نظروف معرفی شد. چین لینک در حوزه ارزهای دیجیتال نسبتا تازه وارد است اما هدف اصلی ارائه بلاک آن، ارائه ارز دیجیتال نیست! در واقع هدف اصلی چین لینک، تشویق اپراتورهای نود (node) می باشد. اگر بخواهیم یک راه حل منطقی برای تایید صحت اطلاعات و داده های جمع آوری شده توسط اوراکل ها و اطلاعات خروجی از قراردادهای هوشمند، پیدا کنیم، بهترین راه حل ارز دیجیتال چین لینک می باشد.
آگر (Augur)
پروژه ارز دیجیتال آگر یکی دیگر از پروژه های موفق اوراکل بلاک چین می باشد. در واقع ارز دیجیتال آگر، یک پلتفرم غیر متمرکز پیش بینی بازار می باشد. شما می توانید درباره آینده پیش روی هر رویدادی پیش بینی کنید و جایزه بگیرید.
به طبع هر چه احتمال پیش آمد رویدادی کم تر باشد، جایزه آن بیشتر خواهد بود. ارز دیجیتال آگر از شبکه اتریوم استفاده می کند، بدین معنا که برای پیاده سازی بازار پیش بینی ارز دیجیتال آگر می بایست کمی اتریوم خرج کنید.
با استفاده از این پلتفرم شما می توانید هر چیزی را پیش بینی کنید. اگر شما برنده باشید، می بایست کارمزد تسویه را پرداخت کنید، پس از پرداخت این کارمزد، گزارش پرداخت در سیستم اوراکل بلاک چین مورد استفاده قرار میگیرد.
مشکلات اوراکل ها
قراردادهای هوشمند بر اساس داده هایی که اوراکل ها سازماندهی کرده اند، انجام می شوند. پس اگر اوراکل بلاک چین دچار مشکل شود، به دنبال آن قراردادهای هوشمند وابسته به داده های آن نیز دچار مشکل می شوند. از طرفی اوراکل ها جز ارکان اصلی بلاک چین نیستند پس سیستم امنیتی بلاک چین یعنی دفتر کل توزیع شده (Distributed Ledger)، شامل حال آن ها نمی شود.
به این ترتیب اگر کسی به اطلاعات مورد تبادل بین اوراکل ها و قراردادهای هوشمند دسترسی پیدا کند، در واقع می تواند تمام اطلاعات را تغییر دهد یا جعل کند و این یک باگ و مشکل امنیتی محسوب می شود.
به عبارت دیگر دسترسی قراردادهای هوشمند به دادههای خارج از زنجیره با تکیه بر یک موجودیت (یا نهادهای متعدد) برای معرفی اطلاعات بیرونی به زنجیره بلوکی با ذخیره آن در بار دادههای یک تراکنش آسان است. اما این موضوع مشکلات جدیدی را به همراه دارد:
چگونه بررسی کنیم که اطلاعات تزریق شده از منبع صحیح استخراج شده یا دستکاری نشده است؟
چگونه اطمینان حاصل کنیم که این داده ها همیشه در دسترس هستند و به طور منظم به روز می شوند؟
به اصطلاح "مشکل اوراکل بلاک چین" مشکلاتی را که با استفاده از اوراکل های بلاک چین برای ارسال ورودی به قراردادهای هوشمند به وجود می آید را نشان می دهد. بسیار مهم است که مطمئن شوید داده های اوراکل صحیح هستند یا اجرای قرارداد هوشمند نتایج اشتباهی را به همراه خواهد داشت. همچنین نیاز به بی اعتمادی مهم است: «اعتماد» به اپراتورهای اوراکل برای ارائه مطمئن اطلاعات دقیق، تعیین کننده ترین ویژگی های قراردادهای هوشمند را از بین می برد.
اوراکلهای مختلف در رویکردشان برای حل مشکل اوراکل متفاوت هستند. در حالی که هیچ اوراکلی کامل نیست، شایستگی های اوراکل بلاک چین باید بر اساس نحوه رسیدگی به چالش های زیر سنجیده شود:
صحت (Correctness): اوراکل نباید باعث شود که قراردادهای هوشمند تغییرات حالت را بر اساس داده های خارج از زنجیره نامعتبر ایجاد کنند. به همین دلیل، اوراکل باید صحت و یکپارچگی داده ها را تضمین کند، اصالت به این معنی است که داده ها از منبع صحیح دریافت شده اند، در حالی که یکپارچگی به این معنی است که داده ها قبل از ارسال روی زنجیره دست نخورده باقی مانده اند (یعنی تغییر نکرده اند).
در دسترس بودن (Availability): اوراکل بلاک چین نباید قراردادهای هوشمند را از اجرای اقدامات و ایجاد تغییرات حالت به تاخیر بیاندازد یا از آن جلوگیری کند. این کیفیت مستلزم آن است که داده های اوراکل در صورت درخواست بدون وقفه در دسترس باشد.
سازگاری انگیزه (Incentive compatibility): اوراکل بلک چین باید ارائه دهندگان داده خارج از زنجیره را تشویق کند تا اطلاعات صحیح را به قراردادهای هوشمند ارسال کنند. سازگاری انگیزه مستلزم انتساب و پاسخگویی است. قابلیت انتساب امکان ارتباط بخشی از اطلاعات خارجی را با ارائهدهنده آن فراهم میکند، در حالی که مسئولیتپذیری ارائهدهندگان داده را به اطلاعاتی که ارائه میدهند پیوند میدهد، به طوری که میتوانند بر اساس کیفیت اطلاعات ارائهشده پاداش یا جریمه شوند.
جمع بندی: اوراکل ها به طور کلی اطلاعات مورد نیاز قراردادهای هوشمند را از محیط فیزیکی و دنیای وب دریافت کرده و در اختیار شبکه بلاک چین ارزهای دیجیتال و قراردادهای هوشمند قرار می دهند. از آن جایی که اوراکل ها جز شبکه اصلی بلاک چین نمی باشند، در نتیجه سیستم امنیتی بلاک چین شامل حال آن ها نمی شود و این یک مشکل امنیتی برای اوراکل ها می باشد.
اوراکل ها انواع متفاوتی دارند اما متداول ترین آن ها اوراکل های نرم افزاری هستند. از جمله پروژه های موفق اوراکل ها می توان به چین لینک و آگر اشاره کرد.
چین لینک صحت اطلاعات جمع آوری شده توسط اوراکل ها و اطلاعات خروجی قراردادهای هوشمند را تایید میکند. آگر نیز یک پلتفرم پیش بینی می باشد که شما با پیش بینی یک رویداد می توانید جایزه ببرید.
نظر بدهید