اوراکل چیست و چه کاربردی در ارزهای دیجیتال دارد؟
دسترسی سریع به محتوای این مقاله
اوراکل (oracle) بسته به حوزه ای که در آن استفاده می شود، دارای مفاهیم مختلفی می باشد و به روش های گوناگونی می توان آن را بیان کرد. اگر در حوزه بلاکچین از اوراکل استفاده کنیم، یک منبع داده می باشد که در حکم واسط یا اینترفیسی میان قراردادهای هوشمند و دیگر منابع خارجی در نظر گرفته می شود.
یک “اوراکل” اطلاعاتی را از دنیای خارج مانند دمای روزانه یا تعداد آرا یک کاندیدای سیاسی به یک بلاک چین مانند Ethereum ارسال می کند. یک قرارداد هوشمند در بلاکچین می تواند از داده ها استفاده کند. به طور معمول این قراردادها در مورد نحوه توزیع پول و اینکه پول به چه کسی داده شود، تصمیم می گیرند.
اوراکل هم با منابع داده خارجی ارتباط دارد و هم تایید و چک کردن داده های تولید شده را انجام می دهد. اوراکل اطلاعات با اهمیت و قابل اعتمادی جهت قراردادهای هوشمند به وجود می آورد که هرکدام از قراردادها کار خاصی را انجام می دهد. استفاده از اوراکل در حوزه بلاکچین با تکنولوژی های دیگر فرق دارد.
اوراکل از این نظر در حوزه بلاکچین ها اهمیت دارند که قراردادهای هوشمند که تحت بلاکچین کار می کنند فقط به دادههایی که در داخل شبکه دیجیتال واقع شده اند، دستیابی دارد. بنابراین اوراکل مانند اینترفیسی بین رویدادهای جهان واقعی و دادههای دیجیتالی کار می کند.
اطلاعات بلاکچین ها به طور معمول از پلتفرم های صرافی های مشهور کریپتو مانند Binance و Coinbase تهیه می شوند. این پلتفرم ها دارای اینترفیس های اپلیکیشن ها هستند و امکان تولید Query ها را برای اوراکل ها فراهم می سازند و در این مقاله ارز دیجیتال به بررسی کامل آنها خواهیم پرداخت.
نقش اوراکل در بلاکچین چیست؟
اوراکل در بلاکچین وظیفه آماده سازی داده های ورودی برای قراردادهای هوشمند را دارد، از این نظر یک منبع اطلاعاتی third-party یا شخص ثالث به حساب می آید. اوراکل همچنین امکان تولید قراردادهای هوشمند را فراهم می سازد. یک قرارداد هوشمند مجموعه ای از کدهای برنامه نویسی قابل اجرا است که به صورت اتوماتیک اجرا شده و نیاز به اعمال نیروی انسانی ندارد. قراردادهای هوشمند اطلاعاتی که از اوراکل دریافت می کند را ارزیابی کرده و بسته به نوع داده هایی که دریافت کرده اند، بندهای قرارداد را اجرا می کنند.
به عنوان نمونه در نظر بگیرید که شخص A و شخص B در مورد نتیجه یک مسابقه فوتبال شرط بندی می کنند. شخص A پیش بینی می کند که تیم سفید پوش ها برنده می شوند و شخص B پیش بینی می کند که تیم سرخ پوش ها برنده خواهند شد.
این دو نفر یک قرارداد هوشمند طراحی می کنند که بسته به نتیجه مسابقه که در وب سایت ورزشی اعلام می شود، وجه شرط بندی را برای شخص برنده واریز نماید. پیش از مسابقه هر کدام مبلغی را برای آن قرارداد می فرستند. حال برای آنکه قرارداد هوشمند نتیجه مسابقه را در روز مشخص شده معین کند و وجه قرارداد را برای برنده شرط بندی واریز کند، باید از یک منبع مطمئن یا یک اوراکل، داده ها را گرفته و از آن داده ها برای نتیجه گیری خود استفاده نموده و سپس بند قرارداد را اجرا نماید.
در این مثال می بینید که اهمیت اوراکل ها از این لحاظ است که قراردادهای هوشمند در فضای بلاکچین، فقط به اطلاعات داخل شبکه دیجیتال دستیابی دارند. پس اوراکل به عنوان یک اینترفیس، رویداد های فیزیکی جهان واقعی را به داده های دیجیتال تغییر هویت می دهد.
طبقه بندی های اوراکل ها بر چه اساسی صورت می گیرد؟
اوراکل ها بر پایه منابع داده، گردش اطلاعات، و سطح اعتماد دسته بندی می شوند. اوراکل های بلاکچینی انواع مختلفی دارد که شامل منابع داده های نرم افزاری و سخت افزاری، اطلاعات ورودی یا خروجی، کاربردهای متمرکز یا غیر متمرکز می باشند. هر اوراکل می تواند ویژگی های یک یا چند طبقه را با همدیگر داشته باشد. به طور نمونه اوراكلی كه داده هایی را از وب سایت یک شركت فراهم می نماید، یك برنامه نرم افزار ورودی از نوع متمرکز است. در ادامه هر کدام از ویژگی ها به طور جداگانه تشریح می شود:
- اوراکل های نرمافزاری از منابع اطلاعاتی آنلاین، داده هایی را گرفته و آنها را به بلاکچین انتقال می دهند. این داده ها میتواند از دیتابیس های آنلاین، پردازنده های مرکزی، وب سایت ها و یا هر منبع داده ای در اینترنت گرفته شود. از آنجا که اوراکل های نرم افزاری تحت اینترنت کار می کنند، می توانند اطلاعات را به صورت آنلاین انتقال داده و به قراردادهای هوشمند بدهند. این نوع از اوراکل ها یکی از معمول ترین اوراکل های بلاکچینی می باشند.
نرخ ارز، قیمت ارزهای رمزنگاری و یا اطلاعات پرواز از داده هایی هستند که اوراکلهای نرم افزاری ارائه می کنند.
- اوراکلهای سخت افزاری جهت دستیابی به اطلاعات فیزیکی از دنیای اطراف توسط سنسورهای الکترونیکی، اسکن کردن بارکدها و دیگر سخت افزارهایی که خواندن اطلاعات را انجام می دهند، داده هایی را گرفته و در اختیار قراردادهای هوشمند قرار می دهد.
اوراکل سخت افزاری اطلاعات دنیای واقعی را به داده های دیجیتالی که قابل استفاده توسط قراردادهای هوشمند باشد تبدیل می نماید. به طور نمونه، توسط سنسوری تخلیه بار از کامیون حمل کالا که به مقصد رسیده را به به یک قرارداد هوشمند اطلاع می دهد و قرارداد دستمزد راننده را به حساب بانکی او انتقال میدهد. - اوراکل هایی که در طبقه گردش اطلاعات قرار می گیرند، اوراکل های ورودی و خروجی هستند که همگام با هم کار می کنند. اوراکل ورودی، داده ها را از منابع خارجی دریافت کرده و به قراردادهای هوشمند انتقال می دهد، پس از پردازش اطلاعات وارد شده، اوراکل خروجی داده های تولید شده توسط قراردادهای هوشمند را به منابع خارجی دیگری ارسال می نماید.
به عنوان نمونه اوراکل ورودی میزان فشار تانکری را توسط سنسور دریافت کرده و به قرارداد هوشمند ارسال می کند که پس از تایید آن را برای اوراکل خروجی می فرستد. اوراکل خروجی آن را به مکانیزمی ارسال می کند تا درب های حفاظتی را باز کرده و فشار اضافی خارج گردد.
به عنوان نمونه اوراکل ورودی میزان فشار تانکری را توسط سنسور دریافت کرده و به قرارداد هوشمند ارسال می کند که پس از تایید آن را برای اوراکل خروجی می فرستد. اوراکل خروجی آن را به مکانیزمی ارسال می کند تا درب های حفاظتی را باز کرده و فشار اضافی خارج گردد.
- اوراکل متمرکز از طریق یک مرجع واحد مدیریت می شود. این مرجع تنها منبع عرضه کننده داده ها به قرارداد هوشمند است. اگر تنها از یک منبع داده استفاده شود، امکان ریسک وجود دارد زیرا نتیجه قرارداد فقط به آن مرجع واحد بستگی پیدا می کند.
اوراکل متمرکز دارای یک اشکال اساسی است و آن اینکه به یک منبع واحد وابسته است که در نتیجه قراردادها در مقابل حملات وارده، مقاومت کمتری خواهند داشت. - اوراکلهای غیر متمرکز تنها به یک منبع داده تکیه نمی کنند و به این ترتیب امنیت داده های عرضه شده به قراردادهای هوشمند را زیاد می کنند. قراردادهای هوشمند در این شرایط، جهت تعیین تایید داده ها و اعتبار بخشی به درستی اطلاعات، چندین اوراکل را به کار می برند. توسعه دهندگان، اوراکل غیر متمرکز را جایگزین اوراکل اجماع می دانند.
اوراکل غیر متمرکز برای پیش بینی بازار نیز کاربرد دارد و هر جا که نیاز به اعتبارسنجی یک نتیجه خاص وجود دارد از تایید اوراکل غیر متمرکز استفاده می کنند. البته اوراکل غیر متمرکز کار اعتبارسنجی را میان بسیاری از شرکت کنندگان پخش می نماید.
- برخی از اوراکل ها برای یک قرارداد خاص طراحی شده و جهت کاربرد در یک قرارداد هوشمند خاص برنامه نویسی شده اند. به این معنی که برای چند قرارداد هوشمند باید از چند اوراکل با قرارداد خاص استفاده نمود.
این مدل از اوراكل بسیار زمانبر است و نگهداری آن گران تمام می شود. اگر شرکت هایی بخواهند داده ها را از منابع گوناگون استخراج نمایند، کاربرد این متد از اوراکل ها در این مورد، بسیار غیر عملی است. البته از آنجا که اوراکل خاص را میتوان برای قرارداد خاص استفاده نمود، برنامه نویسان انعطاف پذیری زیادی دارند و می توانند آنها را متناسب با نیازهای خاصی وفق داده و تنظیم کنند. - اوراکل انسانی، افرادی هستند که با دانش تخصصی که در یک فیلد خاص دارند، میتوانند در حکم یک اوراکل عمل نمایند. این افراد قادرند درستی داده ها را از منابع گوناگون تحقیق کرده و پس از تایید آنها، این اطلاعات را جهت قراردادهای هوشمند آماده سازی کنند. هر اوراکل انسانی میتواند احراز هویت خود را با استفاده از رمزنگاری تعیین کند، به همین دلیل امکان جعل هویت به وسیله یک کلاهبردار بسیار کم است و داده های نادرست عرضه نمی شوند.
مشکلات اوراکل چیست؟
قراردادهای هوشمند بر مبنای داده هایی که از طریق اوراکل ها عرضه می شوند، تصمیم گیری خود را اجرایی میکنند. بنابراین، قراردادهای هوشمند جهت سالم ماندن اکوسیستم بلاکچین عامل بسیار مهمی می باشند.
با وجود مزایای قابل توجه، اوراکل ها در حال حاضر با مشکلاتی روبرو هستند که در ادامه آورده شده است:
- مشکل اساسی در طراحی اوراکل آن است که اگر اوراکل دارای ریسک باشد، قرارداد هوشمند وابسته به آن نیز دچار خطر می شود.
- به طور معمول اوراکل ها در اجماع اصلی بلاکچین ها نقش مهمی ندارند، حتی در مکانیزم های امنیتی بلاکچین های عمومی نیز تاثیری ندارند. پس اشکال برقراری اعتماد میان اوراکل های اشخاص واسطه و اجرا شدن آنها بدون نیاز به اعتبارسنجی، در قراردادهای هوشمند همچنان وجود دارد.
- حملات هکرهای انسانی در بین مبادلات داده ای نیز به عنوان یک تهدید وجود دارد. به طوری که یک فرد نامطلوب بتواند به جریان نقل و انتقال داده بین اوراکل و قرارداد هوشمند دستیابی پیدا کرده و اطلاعات را ویرایش کرده یا جعل نماید.
- اغلب اوراکل های غیر متمرکز، مکانیزمی تحت عنوان ShellingCoin را به کار می برند. در این مکانیزم، منابع مستقل بدون آنکه با دیگر منابع هماهنگی کنند، به گزارش داده ها می پردازند. این منابع داده های حقیقی را در بهترین کارایی خود گزارش می کنند و انتظار دارند که منابع دیگر همین کار را انجام دهند. ولی این مکانیزم می تواند مورد حملات مختلفی از قبیل ساخت و پاخت بین اشخاص، درزهای اطلاعاتی و حتی رشوه قرار گیرد. در صورت تهاجم هکرها به منابع داده ها که به حمله مرد میانی یا MITM مشهور است، هیچگونه مکانیزم مقابله وجود ندارد، حتی اگر مقدار نادرستی بتواند وارد سیستم شود، امکان دارد که عواقب ریسک پذیری برای برنامه های وابسته به اوراکل تولید نماید.
مشکل اوراکل چگونه قابل حل است؟
چنانکه گفته شد، یکی از مشکلات اساسی اوراکل، نیاز به اعتماد است. هرگونه اطلاعاتی که اوراکل به قراردادهای هوشمند انتقال می دهد، باید اعتبار داشته باشد. فرض کنید در مثال فوق، شخص A به طریقی بتواند وب سایت ورزشی را متقاعد کند که تیم سرخ پوش ها را بازنده اعلام کند، بنابراین او در این شرط بندی به طور قطع برنده خواهد شد. در اینصورت شخص A نسبت به شخص B کلاهبرداری انجام داده است.
همانطور که دیدید اگر اطلاعاتی که از طریق اوراکل برای قراردادهای هوشمند فرستاده می شود، غلط باشند، در مورد اجرای صحیح قراردادهای هوشمند شکاف های امنیتی به وجود می آید.
یکی از راه حل های مقابله با این مشکل آن است که از اوراکل های متعددی درخواست ارسال داده انجام گیرد. به طور نمونه در مثال فوق اگر یک اوراکل برنده را سفید پوش ها نشان دهد، اما چهار سایت اوراکل، سفید پوش ها را بازنده اعلام کنند، برنده واقعی شرط بندی مشخص می گردد.
جهت حل این مشکل لازم است شرایط چندگانه ای را در قرارداد هوشمند برنامه ریزی نمود. به همین دلیل قرارداد هوشمند به خاطر برنامه ریزی هایی که از پیش انجام شده، میزان عملکردش را بر اساس بیشترین داده های ورودی مشابه برنامه ریزی می کند. در مثال فوق، قرارداد هوشمند برنده بودن سرخ پوش ها که از چند وب سایت مختلف اعلام شده را قبول خواهد کرد و این کار سبب میشود که شرط صحیح تر و دقیق تری برای برنده شدن در شرط بندی گذاشته شود.
حتی می توان اجرای قرارداد هوشمند را به گونه ای برنامه ریزی کرد که اگر در داده های ورودی از اوراکل های گوناگون، اختلاف وجود داشته باشد، قرارداد اجرا نگردد و دو طرف قرارداد با هم نتیجه درست را پیدا کرده و بند قرارداد را اجرا نمایند.
اوراکل ها در چه برنامه هایی قابل استفاده می باشد؟
اغلب برنامه هایی که برای نصب روی شبکه اتریوم طراحی شده اند اوراکل ها را به کار می برند. اوراکل ها در اکوسیستم بلاکچین بسیار حیاتی هستند زیرا می توانند دامنه فعالیت قراردادهای هوشمند را توسعه دهند. بدون اوراکل بلاکچین، از قراردادهای هوشمند استفاده بسیار محدودی بعمل خواهد آمد زیرا آنها فقط از داخل شبکه های خود به داده ها دسترسی دارند. بسیاری از پروژه های بلاکچین از جمله Chainlink،Band Protocol ، Augur، DeFi، و MakerDAO در حال توسعه اوراکل های غیر متمرکز می باشند. نمونه هایی از آنها در ادامه آمده است:
-
- پلتفرم آگور Augur یک وب سایت شرط بندی غیر متمرکز جهت پیش بینی بازار می باشد. کسانی که در این وب سایت مشترک می شوند می توانند در مورد پیش بینی جهت موضوعی در آینده شرط بندی کنند. به طور مثال شرکت کنندگان در مورد انتخاب یا عدم انتخاب جو بایدن در سال 2024 شرط بندی می کنند. آگور از داده هایی که اوراکل ها جمع آوری کرده اند، استفاده می کند تا تعیین کند آیا جو بایدن در انتخابات 4 سال دیگر پیروز خواهد شد یا خیر و به این صورت شرط بندی را انجام خواهد داد.
- پلتفرم چین لینک Chainlink، نیز اوراکل را در قسمت اصلی پردازش های خود قرار داده است. این پلتفرم متد های مختلفی را جهت مقاوم کردن اوراکل ها در برابر داده های نادرست به کار می برند.
- شرکت هایی که در محدوده امور مالی غیر متمرکز که به اختصار DeFi نامیده می شود، مشغول فعالیت هستند، جهت دریافت اطلاعاتی که در داخل شبکه پردازش می شوند، به اوراکل ها نیاز دارند. تاکنون هفت برنامه از 10 طرح برتر DeFi توسط اوراکل های متمرکز یا نیمه متمرکز حمایت می شوند.
چرا اکوسیستم امور مالی غیر متمرکز به اوراکل های غیر متمرکز نیاز دارد؟
در اکوسیستم امور مالی غیر متمرکز یا DeFi اوراکل ها در نقش اینترفیس هایی کار می کنند که اعتماد به دیفای را به وجود می آورند.
در جامعه دیفای، اولویت با استفاده از اوراکل های غیر متمرکز می باشد. مشخصه محصولات یا برنامه های DeFi، غیر متمرکز بودن آنها می باشد بنابراین استفاده از اوراکل های متمرکز خلاف ویژگی های دیفای خواهد بود. برنامه های DeFi از انواع ابزارهای مالی می باشند که بر روی بلاکچین های شبکه اتریوم استوار است.
ارزش کل DeFi بستگی به موجودی اتریوم، بیت کوین و توکن هایی که تحت استاندارد ERC-20 تولید می شوند، دارد. این موجودی طبق قراردادهای هوشمند اپلیکیشن های DeFi نگهداری می گردند. دارایی های قفل شده یا TVL در اکوسیستم DeFi رشد زیادی داشته است. این دارایی ها در آغاز سال 2020 حدود 675 میلیون دلار بوده که در تابستان همان سال به 7 میلیارد دلار رسید. این افزایش نشان دهنده تاثیر اوراکل ها بر روی بلاکچین دیفای می باشد. تاثیر اوراکل غیر متمرکز در رشد توکن های ارائه شده در چین لینک (با توکن LINK) و پروتکل باند (با توکن BAND) نیز قابل مشاهده است که در مقایسه با بیت کوین بسیار بیشتر می باشد.
پروتکل های دوگانه DeFi که استفاده از آنها در حال گسترش است، نه تنها شبکه های غیر متمرکزی را ارائه می دهند، بلکه اثر نوسانات را نیز از بین می برند. پروتکل های DeFi دارایی های ارزهای رمزنگاری را به ابزارهای مالی، به خصوص آنهایی که با دلار آمریکا در ارتباط هستند، ارتباط می دهند.آینده اوراکل ها در قراردادهای هوشمند به کجا می رسد؟
برای آنکه بلاکچین ها مورد پذیرش جهانی واقع گردند، لازم است مکانیزم قابل اعتمادی در ارتباط بین قراردادهای هوشمند و دنیای فیزیکی خارجی به وجود آید. اگر اوراکل بلاکچین وجود نداشته باشد، قراردادهای هوشمند می توانند تنها به اطلاعات موجود در شبکه های خود اعتماد داشته باشند، که در نتیجه قابلیت های آنها را محدود می سازد.
از اوراکل غیر متمرکز جهت معرفی مکانیزم های امنیتی استفاده می شود که قادر است بسیاری از ریسک های سیستمی را از جامعه بلاکچین دور کند. اوراکل های بلاکچین به عنوان یکی از با اهمیت ترین عناصر تشکیل دهنده اکوسیستم بلاکچین استفاده می گردد که به فرمی ایمن، قابل اعتماد و بدون نیاز به اعتبارسنجی دیگران اجرا می گردد.
اوراکل های بلاک چین مانند یک منبع اطلاعاتی third party یا شخص ثالث عمل می کنند که اطلاعات مورد نیاز قراردادهای هوشمند را آماده سازی میکنند. اوراکل ها گذشته از آنکه امکان ایجاد ارتباط با منابع اطلاعاتی خارجی را فراهم می کنند، باید بررسی و تایید درستی اطلاعات فراهم شده را نیز انجام دهند. پس اوراکل ها مسئولیت آماده سازی اطلاعات با اهمیت و قابل اعتماد را برای قرارداد های هوشمند را بر عهده دارند و قراردادهای هوشمند نیز وظایف معینی را که برای آنها برنامه ریزی شده است بر عهده دارند.
اوراکل ها برای آنکه بتوانند در سیستم های بلاکچین فعالیت نمایند لازم است داده های قابل اعتمادی را تهیه کنند تا با ماهیت پروتکل های بلاکچین که قابل اعتماد و غیر متمرکز هستند سازگاری داشته باشند.
همچنین قراردادهای هوشمند باید دارای آن میزان از پیچیدگی باشند که قادر باشند جهت افزایش میزان درستی اطلاعات و کاستن میزان اشتباهات و تقلب ها، پردازش اطلاعات را از طریق اوراکل های مختلف انجام دهند.
عالی