اوراکلها، دادههای خارجی را برای شبکه بلاکچین و قراردادهای هوشمند فراهم میکنند؛ درواقع، اوراکلها رابط بین دنیای بیرون و دنیای بلاکچین هستند. از آنجا که شبکه بلاکچین و قراردادهای هوشمند، سیستمهای بستهای هستند و فرآیندهای سفت و سختی برای اتصال آنها به منابع داده خارجی وجود دارد، اوراکلها (Oracle) در بلاکچین راهی برای ارائه امن دادههای خارج از زنجیره به محیط درون زنجیرهای شبکه بلاکچین فراهم میکنند. در این مقاله قرار است در مورد انواع مختلف اوراکلها و چالشهایی که با آن مواجه هستند، صحبت کنیم؛ بنابراین اگر به این مبحث علاقهمند هستید تا انتهای مقاله همراه ما باشید.
اوراکل (oracle) چیست؟
در ابتدا بهتر است با مفهوم اوراکل در ارزهای دیجیتال آشنا شوید. اوراکلها نوعی رابط انتقال داده هستند که یک بلاکچین را به اطلاعات خارج از زنجیره و دنیای واقعی متصل میکنند تا کاربران بتوانند دادهها را در قراردادهای هوشمند خود جستوجو کنند؛ بهعنوان مثال، اپلیکیشنهای غیرمتمرکز پیشبینی بازار، از اوراکلها برای تسویه پرداختها بعد از رویدادها استفاده میکنند.
به نمونه زیر توجه کنید:
یک بازار پیشبینی ممکن است از شما بخواهد که ETH خود را روی اینکه چه کسی رئیسجمهور بعدی ایالاتمتحده خواهد شد، شرطبندی کنید؛ در این بازار، از اوراکل برای تأیید نتیجه و پرداخت ETH به برندگان استفاده خواهد شد.
از آنجا که بلاکچینها و قراردادهای هوشمند نمیتوانند به دادههای خارج از زنجیره یا خارج از شبکه دسترسی داشته باشند، اوراکلها بهعنوان پلی بین بلاکچین و دنیای خارج آن عمل میکنند. حضور اوراکلها (Oracle) در بلاکچین ضروری است، زیرا آنها دامنه عملکرد قراردادهای هوشمند را گسترش میدهند و بهعنوان رابط بین دادههای خارج از زنجیره و درون زنجیره عمل میکنند.
درواقع بدون حضوراوراکلها، قراردادهای هوشمند عملکرد و کاربرد بسیار محدودی خواهند داشت؛ زیرا تنها میتوانند با اطلاعات داخل شبکه بلاکچین ارتباط داشته باشند. نکته حائز اهمیت این است که اوراکلها منبع اطلاعات و داده نیستند، بلکه بهعنوان یک لایه مجزا از بلاکچین، منابع داده خارجی را بررسی، تأیید و احراز هویت میکنند و سپس اطلاعات آنها را به داخل شبکه انتقال میدهند.
دادههای مختلفی مانند اطلاعات قیمت، تکمیل موفقیتآمیز پرداخت یا دمای اندازهگیری شده توسط یک سنسور میتواند توسط یک اوراکل به داخل شبکه بلاکچین منتقل شود. نکته جالب توجه دیگر این است که برخی از اوراکلها علاوهبر انتقال اطلاعات به قراردادهای هوشمند میتوانند اطلاعات را به منابع خارجی نیز برگردانند. بعد از آشنایی با مفهوم اوراکل (oracle) در ادامه تلاش میکنیم تا شما را با انواع اوراکلها و ویژگیهای آنها آشنا کنیم.
انواع اوراکل بلاکچین
انواع مختلفی از اوراکلهای بلاکچین وجود دارد که آنها را میتوان با توجه به موارد زیر طبقهبندی کرد:
- منبع: آیا دادهها از نرمافزار یا سختافزار منشاء میگیرند؟
- جهت اطلاعات: ورودی یا خروجی است؟
- اعتماد : متمرکز است یا غیرمتمرکز؟
نحوه عملکرد یک اوراکل بلاکچین کاملاً به آنچه برای آن طراحی شده است بستگی دارد. اوراکلها را بر اساس منبع، جهت جابهجایی اطلاعات و متمرکز یا غیرمتمرکز بودن، بهصورت زیر طبقهبندی میکنند.
✅ ۱- اوراکلهای نرمافزاری (Software Oracle)
اوراکلهای نرمافزاری، با منابع آنلاینی مانند سرورها، وبسایتها و یا منابع داده در ارتباط هستند و اطلاعات دریافتی را به شبکه بلاکچین منتقل میکنند. اتصال اوراکلهای نرمافزاری به اینترنت نه تنها به آنها اجازه میدهد تا اطلاعات قراردادهای هوشمند را تأمین کنند، بلکه میتوانند اطلاعات دریافتی را در زمان واقعی انتقال دهند که این ویژگی آنها را به یکی از رایجترین انواع اوراکلهای بلاکچین تبدیل میکند. اطلاعات مختلفی مانند نرخ ارز، قیمت دارایی دیجیتال یا اطلاعات پرواز در زمان واقعی میتواند توسط اوراکلهای نرمافزاری منتقل شود.
✅ ۲- اوراکلهای سختافزاری (اHardware Oracle)
برخی از قراردادهای هوشمند باید با دنیای واقعی ارتباط برقرار کنند. اوراکلهای سختافزاری اطلاعات را از دنیای فیزیکی دریافت و در اختیار قراردادهای هوشمند قرار میدهند. اوراکلهای سختافزاری میتوانند اطلاعات را از حسگرهای حرکتی دوربین، حسگرهای شناسایی فرکانس رادیویی (RFID)، دماسنجها یا اسکنرهای بارکد دریافت و ارسال کنند. بهطور کلی میتوان گفت که یک اوراکل سختافزاری رویدادهای دنیای واقعی را به ارزشهای دیجیتالی که با قراردادهای هوشمند قابل درک هستند، تبدیل میکند.
✅ ۳- اوراکلهای ورودی و خروجی (Inbound and outbound oracles)
اوراکلها یک خط ارتباطی دوطرفه با بلاکچین ایجاد میکنند؛ به این معنی که آنها دادهها را به داخل یا خارج شبکه بلاکچین انتقال میدهند. اوراکلهای ورودی، دادههای خارج از شبکه یا دادههای دنیای واقعی را به بلاکچین منتقل میکنند. اطلاعات ورودی به شبکه میتواند هر چیزی را از نوسانات قیمت دارایی گرفته تا شرایط آب و هوایی و یا تأیید پرداختهای موفق نشان دهد. بهطور مثال تصور کنید که شخص A با شخص B شرط میبندد که دریک هفته آینده، هر روز هوا بارانی است و مبلغ شرطبندی آنها در یک قرارداد هوشمند قفل میشود. اوراکل به شکل مرتب، گزارش آب و هوا را چک کرده و بعد از یک هفته، وجه قفلشده در قرارداد هوشمند را برای شخص برنده واریز میکند.
بر خلاف اوراکلهای ورودی، اوراکلهای خروجی میتوانند دادههای بلاکچین را به دنیای بیرون منتقل کنند. در واقع، اوراکلهای خروجی اطلاعات و رویدادهای درون شبکه را به دنیای واقعی اطلاع میدهند. برای مثال، ممکن است یک قرارداد هوشمند به دنبال واریز ارز دیجیتال به یک آدرس کیفپول رمزنگاری مشخص، دستور باز کردن قفل هوشمند در یک واحد اجارهای در دنیای واقعی را صادر کند.
✅ ۴- اوراکلهای متمرکز و غیرمتمرکز (Centralized and decentralized oracles)
اوراکلهای متمرکز توسط یک نهاد واحد کنترل میشوند. بنابراین شرکتکنندگان در یک قرارداد هوشمند باید به میزان قابل توجهی به این نهاد واسط اعتماد کنند که این موضوع با ماهیت و دلیل به وجود آمدن این حوزه در تضاد است و در نتیجه میتواند امنیت یک قرارداد هوشمند را تهدید کند. بهطور کلی میتوان گفت که دقت و اثربخشی قراردادهای هوشمند به شدت به کیفیت دادههایی که دریافت میکنند متکی است؛ بنابراین اوراکلها قدرت قابل توجهی در حفظ قراردادهای هوشمند دارند. از مهمترین چالشهای کلیدی این اوراکلها، میتوان به حفظ حریم خصوصی، امنیت و اجتناب از تمرکز بیش از حد اشاره کرد.
اوراکلهای غیرمتمرکز اطلاعات را بهصورت غیرمتمرکز به دست میآورند؛ بنابراین با ماهیت به وجود آمدن صنعت بلاکچین تطابق دارند. این اوراکلها با استفاده از منابع داده مختلف، سطح بالاتری از امنیت و انصاف را برای قراردادهای هوشمند فراهم میکنند. اوراکلهای متمرکز میتوانند مستعد دستکاری و در معرض خطر باشند؛ به همین دلیل، بسیاری از پروژههای بلاکچینی مانند Chainlink (LINK)، Band Protocol (BAND)، Augur (REP) و MakerDAO در حال توسعه اوراکلهای غیرمتمرکز هستند.
✅ ۵- اوراکلهای خاص قرارداد (Contract-specific Oracles)
اوراکل مخصوص قرارداد، اوراکلی است که به منظور استفاده در یک قرارداد هوشمند طراحی شده است؛ این بدان معناست که اگر کسی بخواهد چند قرارداد هوشمند را راهاندازی کند، باید تعداد متناسبی از اوراکلهای خاص قرارداد را نیز ایجاد کند. نگهداری از این نوع اوراکل بسیار وقتگیر و پرهزینه است. شرکتهایی که قصد دارند دادههای مورد نیاز خود را از منابع مختلف دریافت کنند ممکن است استفاده از این اوراکلها را مناسب ندانند. از سوی دیگر، چون میتوان این اوراکلها را متناسب با نیاز طراحی کرد، توسعهدهندگان به آنها علاقهمند شدهاند.
✅ ۶- اوراکلهای انسانی (Human oracles)
گاهی اوقات برخی از افراد که دانش تخصصی دارند، میتوانند بهعنوان اوراکل عمل کنند. آنها میتوانند صحت اطلاعات را از منابع مختلف تحقیق و تأیید کنند و سپس اطلاعات را برای قراردادهای هوشمند ترجمه کنند. از آنجایی که اوراکلهای انسانی میتوانند هویت خود را با استفاده از علم کریپتوگرافی تأیید کنند، امکان جعل هویت و ارائه دادههای اشتباه توسط کلاهبرداران نسبتاً کم است.
نقش اوراکل در بلاکچین چیست؟
اوراکلها، سیستمهای کامپیوتری پیچیدهای هستند که دادههای دنیای بیرون (خارج از زنجیره) را به دنیای بلاکچین (داخل زنجیره) متصل میکنند. دلیل اهمیت اوراکلهای بلاکچین این است که این اوراکلها موجب اتصال بلاکچین و قراردادهای هوشمند به دنیای واقعی شدهاند. بهعنوان مثال، اگر شخص A، خانه شخص B را با ارز دیجیتال و در قالب یک قرارداد هوشمند خریداری کند هنگامی که شخص A مبلغ خرید خانه را برای شخص B ارسال کند، سند خانه به صورت غیر قابل برگشت از شخص B به شخص A منتقل میشود. در این مثال اوراکل نقش مهمی در تأیید پرداخت و یا بررسی و تأیید دریافت سند برعهده دارد.
بیشتر بدانید:
امروزه بازار ارزهای دیجیتال و چگونگی رسیدن به درآمد در این بازار از داغ ترین موضوعات مورد توجه علاقمندان به سرمایه گذاری محسوب می شود و معامله گران بسیاری را به خود جذب نموده است. اما سرمایه گذاران بدون داشتن تجربه علمی و عملی، خود را در ریسک های عملیاتی انجام معاملات قرار خواهند داد.
آکادمی سیتکس با انجام مطالعه سیستماتیک و شناسایی شکاف دانشی در این حوزه، تصمیم به پر کردن این شکاف دانشی و عملی برای دانشپذیران خود نموده است. به این منظور کارگاه تئوری و عملی آموزش ورود به بازارهای معاملاتی ارز دیجیتال تدوین و طراحی شده است تا دانشپذیران گرامی بتوانند در کنار اساتید با تجربه و متخصص، ورود به بازارهای معاملاتی را تجربه نمایند.
بهترین پروژههای اوراکل
در سالهای اخیر با مشکل عدم تعامل شبکههای بلاکچینی با دادههای دنیای واقعی روبهرو بودیم و این موضوع بهعنوان یکی از چالشهای مهم در این حوزه مطرح میشد. به منظور حل این مشکل، کمپانیهای فعال در این حوزه، مفهوم اوراکل را به این صنعت معرفی کردند. در این مدت اوراکلهای مختلفی توسعه و راهاندازی شده است که از جمله آنها میتوان به Chainlink، Witnet، Provable، Band Protocol، Decentralized Information Asset (DIA) و API3 بهعنوان پروژههای موفق اوراکل اشاره کرد.
نقش و اهمیت اوراکل بلاکچین در امور مالی غیرمتمرکز (DeFi)
اوراکل، اصطلاح جدیدی در حوزه ارزهای دیجیتال نیست. همزمان با رشد سریع دیفای یا امور مالی غیرمتمرکز (DeFi)، اوراکلها به این اکوسیستم مرتبط شدند. در حوزه ارزهای دیجیتال، اوراکل نقش یک پیامرسان را بین دادههای دنیای واقعی و بلاکچین ایفا میکند؛ بنابراین، اوراکل اطلاعات را به یک شبکه بلاکچین ارسال میکند تا توسط قراردادهای هوشمند مورد استفاده قرار گیرد.
بهطور مثال، قراردادهای هوشمندی که بر بستر شبکه اتریوم فعالیت میکنند، کاملاً مستقل هستند و برای هرگونه دسترسی به دادههای خارج از زنجیره شبکه محدودیت دارند. به منظور حل این مشکل، تعدادی از قراردادهای هوشمند به یک ارائهدهنده اطلاعات خارجی یا همان اوراکل متصل هستند؛ بنابراین میتوان گفت که اوراکلها نقش مهمی در حفظ امنیت و سطح تمرکززدایی پروتکلهای DeFi دارند.
مزایای Oracle
اوراکلها، موجب تحول گستردهای در صنعت بلاکچین شدند. مهمترین مزیت اوراکلها، ایجاد ارتباط بین شبکه بلاکچین و محیط بیرون و دنیای واقعی است. این اوراکلها اطلاعات و دادههای دنیای واقعی را به قراردادهای هوشمند منتقل میکنند و اطلاعات دیگری را از شبکه و قراردادهای هوشمند به محیط بیرون انتقال میدهند. امکان ذخیرهسازی و پردازش حجم زیادی از اطلاعات یکی دیگر از مزیتهای اوراکل است.
معایب Oracle
اوراکلها در حفظ سلامت یک شبکه بلاکچینی مؤثر هستند؛ زیرا قراردادهای هوشمند، تصمیمات را بر اساس دادههای ارائهشده توسط اوراکلها اجرا میکنند. چالش اصلی طراحی اوراکل این است که اگر اوراکل به خطر بیفتد، قرارداد هوشمند متکی بر آن نیز به خطر میافتد. این مورد اغلب بهعنوان یکی از مشکلات اوراکلها مطرح میشود.
یکی دیگر از مهمترین مشکلات اوراکلها، امنیت است؛ درواقع، اوراکلها تنها به اندازه منبع دادههای خود ایمن هستند. بهطور مثال، اگر یک Dapp از Uniswap بهعنوان اوراکل برای قیمت ETH/DAI خود استفاده کند، مهاجم میتواند قیمت را در Uniswap تغییر دهد تا درک Dapp از قیمت فعلی را دستکاری کند. حملات Man-in-the-Middle نیز میتواند یکی دیگر از معایب و تهدیدات اوراکلها باشد؛ جایی که یک عامل مخرب به جریان داده بین اوراکلها و قرارداد هوشمند دسترسی پیدا کرده و دادهها را اصلاح یا جعل میکند.
چرا از اوراکل استفاده میکنیم؟
اوراکلها بهعنوان یکی از بهترین پایگاههای انتقال داده در حوزه بلاکچین عمل میکنند. اوراکلها، دادهها را از منابع خود دریافت و سپس آنها را بررسی کرده و در صورت تأیید، آنها را به شبکه بلاکچین و یا قراردادهای هوشمند منتقل میکنند. بهطور کلی میتوان گفت که Oracleیک نرمافزار مدیریت سرور پایگاه داده قدرتمند است که میتواند نیازهای سطح Enterprise و برنامههای کوچک را نیز برآورده کند.
آکادمی سیتکس مرجع تخصصی دوره های آموزش ارز دیجیتال، سعی بر آن دارد که با شناسایی نیازهای آموزشی سازمانها، شرکتها و افراد فعال در بازار ارزهایدیجیتال و با بهرهگیری از توان علمی و کاربردی اساتید مجرب داخل و خارج از سازمان، دورههای متنوع آموزشی و عملی در عرصه ارزهای دیجیتال طراحی و اجرا نماید.
منبع:
https://academy.binance.com/en/articles/blockchain-oracles-explained