من میدانم که هیچ نمیدانم.
اوراکل (Oracle) چیست؟ و کاربرد آن در بلاک چین و قراردادهای هوشمند
اوراکل (Oracle)ها خدمات و سرویسهای شخص ثالثی هستند که به قراردادهای هوشمند داخل بلاک چینها امکان میدهند تا اطلاعات را از خارج از اکوسیستم دریافت کنند.
اوراکلها همانند منبع اطلاعاتی عمل میکنند که میتوان آنها را داخل قراردادهای هوشمند وارد کرد. این موضوع به قراردادهای هوشمند امکان میدهد تا به اطلاعات همزمانی دسترسی یابند که در بلاک چین وجود ندارند. این اطلاعات اغلب اوقات، قیمت رمز ارزهاست. اگر چه خود اوراکلها یک منبع اطلاعات نیستند، اما لایههایی هستند که اطلاعات درون زنجیرهای On-chain مربوط به رویدادهای واقعی را بررسی کرده و اطلاعات جمعآوری شده را در قراردادهای هوشمند ثبت میکنند.
قراردادهای هوشمندی که بر بستر بلاک چین اجرا میشوند، پتانسیل بالایی برای افزایش کارایی و همچنین کاهش هزینههای تراکنش در بسیاری از صنایع دارند. قراردادهای هوشمند ریسک نقض پیمان را بین طرفین معامله کاهش داده و شفافیت ایجاد میکنند، اما با این حال هنوز محدودیتهایی دارند.
با نیاز فزاینده برای ورود جریانهای داده به بلاک چین و به دنبال آن، قراردادهای هوشمند، بحث و نوآوریهایی پیرامون اوراکل شکل گرفته است. اوراکلها، منابع دادههای سیستمهای خارجی هستند که اطلاعات حیاتی را وارد بلاک چینها میکنند. قراردادهای هوشمند به این دادهها برای اجرا نیاز دارند.
نیاز روز افزون به اوراکلها، پیشرفت بلاک چین به سمت موردهای کاربرد در دنیای واقعی در مواقعی که وجود اطلاعات دقیق حیاتی است را نشان میدهد.
اوراکل دادههای مربوط به شخص ثالثی را ارائه میدهد که ممکن است نیازمند مجوزهایی از سوی نهادهای خارجی باشند. پیادهسازی یک شبکهی غیرمتمرکز اوراکل چالشهای زیادی دارد. بنابراین چگونه میتوان به اوراکلها به عنوان شبکههای غیرمتمرکز اطلاعات که بلاک چینها برای تعامل بین تراکنشهای درون زنجیرهای (on-chain) و خارج زنجیرهای (Off-chain) به آنها نیاز دارند؟
اوراکلها و قراردادهای هوشمند
مفهوم قراردادهای هوشمند نخستین بار توسط نیک سابو (Nick Szabo) در اوایل دهه ۱۹۹۰ مطرح شد و پیشبینی او در رابطه با پیادهسازی و بهکارگیری آنها به طرز جالبی درست از آب درآمد!
در سطح بالا، قرارداد هوشمند یک برنامهی کامپیوتری است که از کدهایی تشکیل شده است که عملکرد و وضعیت آن را تعریف میکنند. قراردادهای هوشمند معمولا بر روی یک بلاک چین به صورت خودکار، کاملا شفاف، تحت شرایط خاص و در یک شبکهی غیرمتمرکز اجرا میشوند. از آنجایی که قراردادهای هوشمند بر روی بلاک چینها اجرا میشوند، تغییرناپذیرند.
با استفاده از قراردادهای هوشمند، واسطهها حذف شده و هزینهی تراکنشها کاهش مییابد. کاربرد این قراردادها، بر اساس پارامترهای کدنویسی شده داشته و از قراردادهای قانونی تا سیستمهای پرداخت متغیر است.
قراردادهای هوشمند علیرغم فواید آشکاری که دارند،به علت محدود بودن به دادههای درون زنجیرهای (on chain) یک بلاک چین، ظرفیت زیادی نداشته و تعاملشان را با دنیای واقعی و همچنین اجرا شدن تحت شرایطی خارج از شبکه بلاک چینی که در آن قرار دارند را محدود میکند.
اوراکلها
ایده اوراکلها و نیز اوراکلهای غیرمتمرکز، چندین سال است که مطرح شده و بحثهایی پیرامون چگونگی پیادهسازی و اعتماد به آنها مطرح شده است.
اوراکلها دادههای منابع خارجی را از طریق APIهای وب و بخش دادههای بازار برای بلاک چینها و قراردادهای هوشمند،بازیابی و تأیید میکنند. دادههایی که قراردادهای هوشمند به آنها نیاز دارند شامل اطلاعاتی مثل قیمتها، آب و هوا و یا حتی ایجاد شماره تصادفی برای قماربازی است.
اوراکلها بین بلاک چین و منابع داده قرار گرفته و اطلاعات مورد نیاز بلاک چین را با اجرای پرس و جو (Query) در اختیار آن قرار میدهد. بنابراین قراردادهای هوشمند میتوانند بر اساس اطلاعاتی که اوراکلها در اختیارشان قرار میدهند اجرا شوند.
منابع داده در مارکتهای دنیای واقعی و API های وب، مانند بلاک چینها و قراردادهای هوشمند قطعی (deterministic) نیستند. اوراکلها مانند پل عمل میکنند و این اطلاعات خارجی و غیرقطعی را به فرمتی قابل درک و قابل اجرا برای بلاک چین تبدیل میکنند.
در واقع این اوراکلها هستند که اساس پلتفرمهایی مانند آگر (Augur) را تشکیل میدهد. آگر یک بازار پیشبینی غیرمتمرکز بوده که یک اوراکل پیچیده دارد که رفتار کاربران را به عنوان دادهی ورودی در نظر میگیرد. آگر (Augur) همچنین از اوراکلها برای گزارش نتایج پیشبینیهای درست بازار نیز استفاده میکند.
چندین نوع اوراکل وجود دارد:
- اوراکهای سختافزاری
- اوراکلهای نرمافزاری
- اوراکلهای مبتنی بر اجماع
- اوراکلهای ورودی
- اوراکلهای خروجی
اوراکلهای سختافزاری: سنسورهایی هستند که با اشیاء محسوس فیزیکی یکپارچه میشوند. ردیابی زنجیرهی تأمین با استفاده از تگهای سامانه بازشناسی امواج رادیویی (RFID) برای ثبت اطلاعاتی مانند شرایط محیطی محصولات و کالاها در داخل بلاک چین مثالی از این نوع است.
اوراکلهای نرمافزاری: رایجترین نوع از اوراکلها هستند که میتوانند دادهها را از منابع دیگر مانند API های وب بگیرند و همچنین میتوانند اطلاعات دنیای واقعی مانند وضعیت پرواز و آب و هوا را نیز شامل شوند.
اوراکلهای مبتنی بر اجماع: یک قدم به سمت اوراکلهای غیرمتمرکز پیش رفتهاند و بر پایه جمعآوری اطلاعات از چندین اوراکل با روشهای تخصصی و تعیین اعتبار و دقت آنها متکی هستند.
اوراکلهای ورودی: با سناریوهایی «نظیر اگر چنین شود آنگاه انجام بده» و با اوراکلهای نرمافزاری که میگویند «اگر این قیمت با دارایی فعلی همخوانی دارد پس خرید را انجام بده» در ارتباط هستند.
اوراکلهای خروجی به قراردادهای هوشمند اجازه میدهند که دادهها را به منابعی بیرون از شبکه بلاک چینی که در آن قرار دارند ارسال کنند.
توانایی خارقالعاده اوراکلها برای متصل کردن دادههای خارج از زنجیره (off-chain) و داخل زنجیره (on-chain) بهعنوان یک واسطه میان شبکههای سنتی و شبکههای بلاک چین، تأثیرات بلندمدت مهمی دارد. با این حال مشکل اصلی این است که این اوراکلها از منابع متمرکز سرچشمه میگیرند که معمولاً به مجوزهای بیرونی نیاز دارند و این نقطهای است که بلاک چین با آن مشکل دارد.
جیمی سانگ (Jimmy Song) تجزیهو تحلیل خوبی از مشکلات پایهای اوراکلها و قراردادهای هوشمند ارائه داده است. مشکلات اوراکلها بیشتر در زمینه امنیت، اعتبار و اعتماد است که میان اوراکلهای دیگر و اجرای غیرمطمئن قراردادهای هوشمند رخ میدهد. دنیای دیجیتال باید از دنیای فیزیکی آگاه باشد. اوراکلها نقش مهمی در قراردادهای هوشمند دارند زیرا دادههایی که آنها فراهم میکنند نحوه اجرای قراردادهای هوشمند را تعیین میکند.
اوراکلها در زمینه اتصال دارایی فیزیکی به بلاک چین، توانایی تأیید مالکیت یک دارایی مثلا زمانی که یک خانه به شخص دیگری واگذار میشود را بدون شخص ثالث حتی اگر مالک جدید توکنی که نشاندهنده مالکیت است را بر روی بلاک چین نگه دارد را ندارند. مالکیت در قراردادهای هوشمند همیشه به مالکیت دنیای واقعی منتقل نمیشود. در نتیجه قرارداد هوشمند در قالب یک اوراکل، نیازمند فرایند تأیید رویدادها از سوی بخشهای دیگر است.
محدودیتهای اوراکل در رابطه با بلاک چین و قراردادهای هوشمند به خوبی مستندسازی شده است.
پلتفرمهایی که مشکل اوراکل را حل میکنند شامل دلفی (Delphi)، اوراکلایز (Oraclize) و چین لینک (ChainLink) میباشند. این پلتفرمها بر اساس ایجاد راه حلهای غیرمتمرکز برای اوراکل، با بهکارگیری اوراکلهای مبتنی بر اجماع، بازارهای غیرمتمرکز و شیوههای جدید اعتباربخشی دادههای اوراکل میباشند.
انواع اوراکل ها
اوراکل ها بر اساس منبع اطلاعات، سمت و سوی اطلاعات و سطح اعتماد دستهبندی میشوند.
منبع اطلاعات میتواند سختافزاری یا نرمافزاری باشد. اوراکلهای سختافزاری، اطلاعات را مستقیما از دنیای فیزیکی جمعآوری میکنند و سپس آنها را به مقادیر دیجیتالی تبدیل میکنند که قابل ورود به قراردادهای هوشمند هستند. این موارد شامل اسکنرهای بارکد و سنسورهایی است که اطلاعات را به صورت فعال یا منفعل جمعآوری میکنند و آن را به قرارداد هوشمند انتقال میدهند. اوراکل های نرمافزاری اطلاعات را از منابع آنلاین و بررسی وبسایتها دریافت میکنند و در نتیجه، بهروزترین اطلاعات را به قراردادهای هوشمند ارائه میدهند. برای بلاک چینها، این اطلاعات معمولا از صرافیهای رمز ارزها به دست میآید.
سمت و سوی اطلاعات میتواند به سمت درون یا بیرون باشد. در حالی که اوراکلهای درونی به شبکه امکان میدهند تا اطلاعات را از منابع خارجی به قراردادهای هوشمند ارسال کنند، اوراکل های بیرونی به قراردادهای هوشمند اجازه میدهند تا اطلاعات را به منابع خارجی ارسال کنند.
اوراکلهای متمرکز به عنوان نهاد مجزایی عمل میکنند که اطلاعات را از منبع خارجی به قرارداد هوشمند دارای ویژگیهای امنیتی ارسال میکنند. هر چند، از آنجایی که همانند سیستم مالی سنتی که فقط یک نقطه شکست وجود دارد، در این مورد نیز فقط یک نود مسئول حاضر است، ورود اطلاعات به قراردادهای هوشمند در مقابل حملات و دستکاری، آسیبپذیرتر میشود.
از طرف دیگر، اوراکلهای غیرمتمرکز برای افزایش اعتبار اطلاعات ارائه داده شده به قراردادهای هوشمند با چندین منبع خارجی متکی هستند. اوراکل های غیرمتمرکز بر اساس نکات نظریه بازی شلینگ (Schelling) کار میکنند که طی آن، تمام شرکتکنندگان بدون تبانی با یکدیگر به ارائه اطلاعات میپردازند. نظریه بازی شلینگ تعیین میکند که آیا اطلاعات اجماع یا الحاقیههای پیشنهاد شده، معتبر و قابل قبول هستند یا خیر.
چین لینک (ChainLink) اوراکلی در بلاک چین
چین لینک یک راهحل غیرمتمرکز جذاب را برای تأیید اعتبار دادههای فراهم شده از طریق اوراکل و همچنین دادههای خروجی قراردادهای هوشمند ارائه میدهد. چین لینک این مشکل را متوجه شد که اوراکل متمرکز، مشکل نقطه شکست واحد (Single Point Of Failure) دارد و راه حلی مبنی بر ایجاد یک میانافزار شامل شبکهی غیرمتمرکز اوراکل ارائه داد. از همه مهمتر، چین لینک داده را قبل از استفاده در قراردادهای هوشمند، شناسایی و اعتباربخشی میکند.
رابط درون زنجیرهای چین لینک، شامل گرههای اوراکلی است که به پرسشهایی که توسط قراردادهای هوشمند ایجاد شدهاند پاسخ میدهد. رابط درون زنجیرهای از ۳ مؤلفه تشکیل شده است:
- قرارداد قانونی
- قرارداد مطابق با سفارش
- قرارداد جمعآوری
قرارداد قانونی: از یک روش اختصاصی برای جمعآوری و رهگیری دادههای ارائهدهندگان خدمات اوراکل استفاده میکند.
قرارداد مطابق با سفارش: یک قرارداد در سطح سرویس (SLA) را دریافت کرده و مؤلفه های داده را همزمان با دریافت پیشنهادات از سوی فراهم آورندگان اوراکل، ثبت میکند.
قرارداد جمعآوری: پاسخهای فراهمکنندگان اوراکل را جمعآوری کرده و نتیجه نهایی پرس و جوی اولیه چین لینک را محاسبه میکند.
جمعآوری دادهها از چندین اوراکل، وابستگی به یک سیستم را از بین برده و به اطمینان از صحت دادهها کمک میکند. دادههای فراهمکنندگان اوراکل همچنین برای مدیریت میزان دقت اوراکل از طریق یک سیستم اعتبارسنجی، دوباره به قرارداد اعتبار ارسال میشوند.
استفاده از قرارداد سطح سرویس (SLA) برای روند انتخاب اوراکل حیاتی است. کاربرانی که برای دادههای اوراکل درخواست میدهند بهصراحت میتوانند پارامترها و ورودیهایی که به دنبالشان هستند و همچنین تعداد اوراکلهایی که مایل به استفاده از آنها میباشند را شناسایی کنند.
چین لینک یک توکن بومی دارد که برای پاداش دادن به سرویسدهندگان اوراکلی که اطلاعات صحیح را ارائه میدهند استفاده میشود. معماری این پلتفرم اجزاء برون زنجیرهای مانند آداپتورهای خارجی، طرحهای زیروظیفه و یک نرمافزار مرکزی برای ارتباط با بلاک چین است.
منبع توزیع شدهی پلتفرم اوراکل چین لینک و جمعآوری دادهی آن نسبت به متدهایی که مستقیما از یک منبع دادهی خارجی استفاده میکنند دکارآمدتر است.
نتیجه گیری
بلاک چین برای اینکه بتواند در برنامههای کاربردی و صنایع تاثیری پایدار بگذارد، باید قادر باشد با دادههای دنیای واقعی ارتباط برقرار کند. این قضیه با اوراکلها سخت و چالش برانگیز است. تاکنون پیشرفت قابل توجهی در این مورد صورت گرفته و برقراری ارتباط بین بلاک چینها و دادههای واقعی گامی بزرگ برای توسعهی این فناوری است.
منبع: blockonomi
مطلبی دیگر از این انتشارات
چرا پروژه های برنامه نویسی رو نمیتونیم، کامل کنیم؟
مطلبی دیگر از این انتشارات
هارد فورک (Hard fork) چیست؟
مطلبی دیگر از این انتشارات
۵ ارز دیجیتال برتر برای استیکینگ در ۲۰۲۲