قراردادهای هوشمندی که بر بستر بلاک چین اجرا میشوند، پتانسیل بالایی برای افزایش کارایی و همچنین کاهش هزینههای تراکنش در بسیاری از صنایع دارند. قرارداد هوشمند ریسک نقض پیمان را بین طرفین معامله کاهش داده و شفافیت ایجاد میکند، اما هنوز محدودیتهایی دارد. یکی از این محدودیتها نیاز به دیتای خارجی است و فناوری اوراکل (Oracle) برای رفع همین محدودیت ایجاد شده است.
در این مقاله بررسی میکنیم که اوراکل چیست و چه انواعی دارد و چگونه اطلاعات را از دنیای خارجی به دنیای بلاک چین انتقال میدهد. همچنین نگاهی به مشکلات فعلی اوراکلها و روشهای بهبود آنها خواهیم داشت. با ما همراه باشید.
اوراکل چیست؟
اوراکل (Oracle) یک فناوری کاربردی در دنیای بلاک چین است که اطلاعات را از خارج از قراردادهای هوشمند به داخل و اطلاعات داخل را به خارج انتقال میدهد. گاهی قراردادهای هوشمند به اطلاعات دنیای واقعی خارج از بلاک چین نیاز دارند. اوراکلها این اطلاعات را تأمین میکنند. برای مثال یک اوراکل میتواند اطلاعات مربوط به قیمت را در اختیار قرارداد هوشمندی که برای فروش یا اجاره مسکن ایجاد شده قرار دهد.
اوراکلها و قراردادهای هوشمند
مفهوم قراردادهای هوشمند نخستین بار توسط نیک سابو (Nick Szabo) در اوایل دهه ۱۹۹۰ مطرح شد و پیشبینی او در رابطه با پیادهسازی و بهکارگیری آنها به طرز جالبی درست از آب درآمد!
در سطح بالا، قرارداد هوشمند یک برنامهی کامپیوتری است که از کدهایی تشکیل شده است که عملکرد و وضعیت آن را تعریف میکنند. قراردادهای هوشمند معمولاً روی یک بلاک چین به صورت خودکار، کاملاً شفاف، تحت شرایط خاص و در یک شبکهی غیرمتمرکز اجرا میشوند. از آنجایی که قراردادهای هوشمند روی بلاک چینها اجرا میشوند، تغییرناپذیرند.
بیشتر بخوانید: قرارداد هوشمند چیست؟ Smart Contract چگونه کار میکند؟
با استفاده از قراردادهای هوشمند، واسطهها حذف شده و هزینهی تراکنشها کاهش مییابد. کاربرد این قراردادها براساس پارامترهای کدنویسی شده است و از قراردادهای قانونی تا سیستمهای پرداخت متغیر است.
قراردادهای هوشمند علیرغم فواید آشکاری که دارند، به علت محدودبودن به دادههای درونزنجیرهای (on-chain) یک بلاک چین، ظرفیت زیادی ندارند. تعامل با دنیای واقعی و همچنین اجراشدن تحت شرایطی خارج از شبکه بلاک چینی که در آن قرار دارند از محدودیتهای این قراردادهاست.
اوراکل ها چه کاربردهایی دارند؟
ایده اوراکلها و نیز اوراکلهای غیرمتمرکز چندین سال است که مطرح شده و بحثهایی پیرامون چگونگی پیادهسازی و اعتماد به آنها مطرح شده است.
اوراکلها دادههای منابع خارجی را از طریق APIهای وب و بخش دادههای بازار برای بلاک چینها و قراردادهای هوشمند بازیابی و تأیید میکنند. دادههایی که قراردادهای هوشمند به آنها نیاز دارند شامل اطلاعاتی مثل قیمتها، آب و هوا و یا حتی ایجاد شماره تصادفی برای قماربازی است.
اوراکلها بین بلاک چین و منابع داده قرار گرفته و اطلاعات موردنیاز بلاک چین را با اجرای پرسوجو (Query) در اختیار آن قرار میدهد. بنابراین قراردادهای هوشمند میتوانند بر اساس اطلاعاتی که اوراکلها در اختیارشان قرار میدهند اجرا شوند.
منابع داده در مارکتهای دنیای واقعی و API های وب، مانند بلاک چینها و قراردادهای هوشمند قطعی (deterministic) نیستند. اوراکلها مانند پل عمل میکنند و این اطلاعات خارجی و غیرقطعی را به فرمتی قابلدرک و قابلاجرا برای بلاک چین تبدیل میکنند.
در واقع این اوراکلها هستند که اساس پلتفرمهایی مانند آگر (Augur) را تشکیل میدهد. آگر یک بازار پیشبینی غیرمتمرکز بوده که یک اوراکل پیچیده دارد که رفتار کاربران را بهعنوان دادهی ورودی در نظر میگیرد. آگر (Augur) همچنین از اوراکلها برای گزارش نتایج پیشبینیهای درست بازار نیز استفاده میکند.
انواع اوراکل در بلاک چین
اصلیترین انواع اوراکل که امروزه با آنها سروکار داریم این موارد هستند:
- اوراکهای سختافزاری
- اوراکلهای نرمافزاری
- اوراکلهای مبتنی بر اجماع
- اوراکلهای ورودی
- اوراکلهای خروجی
اوراکلهای سختافزاری
سنسورهایی هستند که با اشیای محسوس فیزیکی یکپارچه میشوند. ردیابی زنجیره تأمین با استفاده از تگهای سامانه بازشناسی امواج رادیویی (RFID) برای ثبت اطلاعاتی مانند شرایط محیطی محصولات و کالاها در داخل بلاک چین مثالی از این نوع است.
اوراکلهای نرمافزاری
رایجترین نوع از اوراکلها هستند که میتوانند دادهها را از منابع دیگر مانند APIهای وب بگیرند و همچنین میتوانند اطلاعات دنیای واقعی مانند وضعیت پرواز و آب و هوا را نیز شامل شوند.
اوراکلهای مبتنی بر اجماع
این انواع یک قدم به سمت اوراکلهای غیرمتمرکز پیش رفتهاند و بر پایه جمعآوری اطلاعات از چندین اوراکل با روشهای تخصصی و تعیین اعتبار و دقت آنها متکی هستند.
اوراکلهای ورودی
با سناریوهایی نظیر «اگر چنین شود آنگاه انجام بده» و با اوراکلهای نرمافزاری که میگویند «اگر این قیمت با دارایی فعلی همخوانی دارد پس خرید را انجام بده» در ارتباط هستند.
اوراکلهای خروجی
به قراردادهای هوشمند اجازه میدهند که دادهها را به منابعی بیرون از شبکه بلاک چینی که در آن قرار دارند ارسال کنند.
مشکلات اوراکلها
توانایی خارقالعاده اوراکلها برای متصلکردن دادههای خارج از زنجیره (off-chain) و داخل زنجیره (on-chain) بهعنوان یک واسطه میان شبکههای سنتی و شبکههای بلاک چین، تأثیرات بلندمدت مهمی دارد. بااینحال، مشکل اصلی این است که این اوراکلها از منابع متمرکز سرچشمه میگیرند که معمولاً به مجوزهای بیرونی نیاز دارند و این نقطهای است که بلاک چین با آن مشکل دارد.
جیمی سانگ (Jimmy Song) تجزیه و تحلیل خوبی از مشکلات پایهای اوراکلها و قراردادهای هوشمند ارائه داده است. مشکلات اوراکلها بیشتر در زمینه امنیت، اعتبار و اعتماد است که میان اوراکلهای دیگر و اجرای غیرمطمئن قراردادهای هوشمند رخ میدهد.
اوراکلها در زمینه اتصال دارایی فیزیکی به بلاک چین، توانایی تأیید مالکیت یک دارایی مثلاً زمانی که یک خانه به شخص دیگری واگذار میشود را بدون شخص ثالث ندارند، حتی اگر مالک جدید توکنی که نشاندهنده مالکیت است را بر روی بلاک چین نگه دارد.
مالکیت در قراردادهای هوشمند همیشه به مالکیت دنیای واقعی منتقل نمیشود. در نتیجه قرارداد هوشمند در قالب یک اوراکل، نیازمند فرایند تأیید رویدادها از سوی بخشهای دیگر است.
بهترین پروژههای اوراکل در بلاک چین
بهترین پروژههای اوراکل آنهایی هستند که با ایجاد راه حلهای غیرمتمرکز، بهکارگیری اوراکلهای مبتنی بر اجماع، بازارهای غیرمتمرکز و شیوههای جدید اعتباربخشی، بخش زیادی از مشکلات اوراکلها را حل میکنند.
بهترین پروژههای اوراکل که در این قسمت قصد داریم آنها را معرفی و بررسی کنیم عبارتاند از:
- چین لینک (ChainLink)
- بند پروتکل (Band Protocol)
- API۳
- پایت نتورک (Pyth Network)
- فلیر نتورک (Flare Network)
چین لینک (ChainLink)
چین لینک یک راهحل غیرمتمرکز جذاب را برای تأیید اعتبار دادههای فراهم شده از طریق اوراکل و همچنین دادههای خروجی قراردادهای هوشمند ارائه میدهد. چین لینک این مشکل را متوجه شد که اوراکل متمرکز، مشکل نقطه شکست واحد (Single Point Of Failure) دارد و راهحلی مبنیبر ایجاد یک میانافزار شامل شبکهی غیرمتمرکز اوراکل ارائه داد. از همه مهمتر، چین لینک داده را قبل از استفاده در قراردادهای هوشمند، شناسایی و اعتباربخشی میکند.
رابط درونزنجیرهای چین لینک شامل نودهای اوراکلی است که به پرسشهایی که توسط قراردادهای هوشمند ایجاد شدهاند پاسخ میدهد. رابط درون زنجیرهای از سه مؤلفه تشکیل شده است:
- قرارداد قانونی
- قرارداد مطابق با سفارش
- قرارداد جمعآوری
قرارداد قانونی: از یک روش اختصاصی برای جمعآوری و رهگیری دادههای ارائهدهندگان خدمات اوراکل استفاده میکند.
قرارداد مطابق با سفارش: یک قرارداد در سطح سرویس (SLA) را دریافت کرده و مؤلفه های داده را همزمان با دریافت پیشنهادات از سوی فراهمآورندگان اوراکل، ثبت میکند.
قرارداد جمعآوری: پاسخهای فراهمکنندگان اوراکل را جمعآوری کرده و نتیجه نهایی پرسوجوی اولیه چین لینک را محاسبه میکند.
جمعآوری دادهها از چندین اوراکل، وابستگی به یک سیستم را از بین برده و به اطمینان از صحت دادهها کمک میکند. دادههای فراهمکنندگان اوراکل همچنین برای مدیریت میزان دقت اوراکل از طریق یک سیستم اعتبارسنجی، دوباره به قرارداد اعتبار ارسال میشوند.
استفاده از قرارداد سطح سرویس (SLA) برای روند انتخاب اوراکل حیاتی است. کاربرانی که برای دادههای اوراکل درخواست میدهند بهصراحت میتوانند پارامترها و ورودیهایی که به دنبالشان هستند و همچنین تعداد اوراکلهایی که مایل به استفاده از آنها میباشند را شناسایی کنند.
منبع توزیع شدهی پلتفرم اوراکل چین لینک و جمعآوری دادهی آن نسبت به متدهایی که مستقیماً از یک منبع داده خارجی استفاده میکنند کارآمدتر است.
بند پروتکل (Band Protocol)
بند پروتکل یک اوراکل غیرمتمرکز با تمرکز بر مقیاسپذیری و انعطافپذیری است. این پروژه برای شبکه نودهای اوراکل خود از مکانیسم اجماع اثبات سهام نمایندگیشده استفاده میکند.
بند پروتکل یک توکن بومی به نام BAND دارد که ابزار حاکمیت و حفظ امنیت شبکه است. اعتبارسنجها توکنهای BAND خود را استیک میکنند و از این طریق در حفظ امنیت شبکه مشارکت میکنند. البته که در ازای این کار پاداش دریافت میکنند.
بیشتر بخوانید: استیکینگ چیست؟ آموزش کامل Staking یا سهامگذاری در ارزهای دیجیتال
از دیگر ویژگیهای مثبت بند پروتکل میتوان به تعاملپذیری آن با بلاک چینهای مختلف اشاره کرد. امکان انتقال اطلاعات بین زنجیرههای مختلف امکان کاربردی و مهمی است که بند پروتکل از آن پشتیبانی میکند.
API۳
API۳ پروژهای است که APIهای سنتی را به بلاک چین متصل میکند. این پروژه در حقیقت به فراهمکنندگان API اجازه میدهد نودهای خودشان را اجرا کنند و از این طریق بدون نیاز به واسطهها، دیتا را مستقیماً در اختیار بلاک چینها قرار دهند.
این رابط منحصربهفرد API به قرارداد هوشمند، در کنار حاکمیت غیرمتمرکز و تلاش برای حذف واسطهها، API3 را به پروژهای موفق در فضای اوراکل تبدیل کرده است. رویکرد خلاقانه این پروژه در وصلکردن منابع داده سنتی به دنیای بلاک چین منجر به موفقیت و محبوبیت آن شده است.
پایت نتورک (Pyth Network)
تمرکز پایت نتورک روی بازارهای مالی و ارائه قیمت به اپلیکیشنهای بلاک چینی است. این پروژه دیتای خود را از چندین منبع موثق دریافت میکند و سپس آنها را به حالت آنچین تبدیل میکند. آپدیتهای مکرر، تمرکز روی بازارهای مالی، و همکاری با تأمینکنندگان دیتای حرفهای از جمله نقاط قوت پایت نتورک هستند.
فلیر نتورک (Flare Network)
فلیر نتورک قصد دارد انتقال دیتا بین بلاک چینها و اینترنت را تسهیل کند. این پروژه قراردادهای هوشمند اتریوم را با پروتکل اجماع اولنچ ادغام میکند. به این ترتیب، سرعت را در کنار امنیت تضمین میکند. ادغام با قراردادهای هوشمند اتریوم در کنار پشتیبانی از توکنهای غیرتورینگ مانند ریپل را میتوان نقطه قوت فلیر نتورک دانست.
بیشتر بخوانید: ریپل چیست؟ همهچیز درباره Ripple و ارز دیجیتال XRP
سؤالات متداول
قرارداد هوشمند یک نوع قرارداد برپایه بلاک چین است که بهصورت خودکار اجرا میشود و نیاز به واسطه ندارد. اوراکل نوآوری متفاوتی است که دیتا را از دنیای واقعی خارج از بلاک چین به قرارداد هوشمند انتقال میدهد.
خیر. همه اپلیکیشنهای بلاک چینی لزوماً به اوراکل نیاز ندارند.
اعتبار و عملکرد اوراکلی که انتخاب میکنید در این مسئله نقش مهمی دارد. بهتر است به منابع دیتای اوراکلها و روش جمعآوری و انتقالی که به کار میبرند توجه شود و ترجیحاً از اوراکلهای غیرمتمرکز که دیتا را از چندین منبع مختلف گردآوری میکنند استفاده شود.
سخن پایانی
بلاک چین برای اینکه بتواند در برنامههای کاربردی و صنایع تاثیری پایدار بگذارد، باید قادر باشد با دادههای دنیای واقعی ارتباط برقرار کند. این قضیه با اوراکلها سخت و چالش برانگیز است. تاکنون پیشرفت قابلتوجهی در این مورد صورت گرفته و برقراری ارتباط بین بلاک چینها و دادههای واقعی گامی بزرگ برای توسعه این فناوری است.