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