نقش اوراکل (Oracle) در بلاک چین چیست؟
بلاک چین و قراردادهای هوشمند را میشناسید؟ همان شبکههای غیرمتمرکزی که هیچکس و هیچ سازمانی روی آنها کنترل و نظارت ندارند و از طریق مشارکت و فعالیت کاربران حاضر در شبکه، تمام عملیات و اقدامات در آنها مدیریت شده و پیش میرود. قراردادهای هوشمند در بستر شبکههای غیرمتمرکز بلاک چین صورت میگیرند و در واقع تراکنشها و ارتباطاتی میان کاربران مختلف حاضر در شبکههای نامتمرکز هستند که نیاز به واسطهها ندارند.
بلاک چین و قراردادهای هوشمند نمیتوانند به دادههایی بیرون از شبکه خود دسترسی داشته باشند. اما برای پیشبرد این قراردادها و امور مختلف در سطح بلاک چین نیاز به دستیابی و دسترسی به اطلاعاتی در بیرون آن هم وجود دارد. پس چاره چیست؟ چه باید کرد؟ اینجاست که پای اوراکل به میان میآید.
دادههای بیرونی مورد نیاز بلاک چین و قراردادهای هوشمند به شکل دادههای الکترونیکی که به آنها اوراکل گفته میشود، پا به میدان میگذارند. اوراکلها سرویسهایی هستند که دادههای بیرون از شبکه بلاک چین را به آن ارسال و تایید میکنند.
اوراکلها دادهها و اطلاعات را به قراردادهای هوشمند میفرستند و امکان پیشبرد عملیات مختلف را در بلاک چین ممکن میکنند. در ادامه این مقاله بیشتر درباره اینکه اوراکل چیست و چه میکند، برایتان خواهیم گفت.
اوراکل چیست و در بلاک چین چه میکند؟
دادههای بیرونی که شبکه بلاک چین و قراردادهای هوشمند به آن دسترسی ندارند توسط «اوراکل» (Oracle) در دسترس آنها قرار میگیرد. اوراکل پلی است، میان دنیای بلاک چین و دنیای بیرون از آن. بسیاری از معاملاتی که به شکل قراردادهای هوشمند در سطح بلاک چین و شبکههای غیرمتمرکز مختلف صورت میگیرند، نیاز به اطلاعاتی در بیرون از این شبکه دارند که در این حال اوراکل وارد میشود.
دادههای خارجی اوراکل به شکل سختافزاری، نرمافزاری و بهکمک اینترنت اشیا یا برنامههای کار با دادههای بزرگ به قراردادهای هوشمند ارسال میشوند. دادههایی که از سوی اوراکل بهسمت بلاک چین فرستاده میشوند، از انواع مختلفی هستند. مثلا میتوانند دادههایی درباره نوسانات قیمت یا اطلاعاتی درباره تراکنشهای موفق باشند تا طرفین یک معامله بتوانند درباره تراکنشها و قراردادهایشان تصمیمگیری کنند.
البته این نکته را همینجا روشن میکنیم که قراردادهای هوشمند منتظر دریافت دادههای اوراکل نیستند. روند ارتباط اوراکل با این قراردادها به این شکل است که اوراکل در نقش واسطه اطلاعاتی میان بلاک چین و قراردادهای هوشمند آن و منابع اطلاعاتی قرار میگیرد. بنا به این اطلاعات است که قراردادهای هوشمند اجرایی میشوند. برای اینکه موضوع شفافتر شود و دقیقتر درک کنید که اوراکل چیست و چه میکند، به این مثال دقت داشته باشید:
آقای ایکس و خانم ایگرگ با هم سر این موضوع که هوا در روز یکشنبه چطور خواهد بود، شرطبندی میکنند. آقای ایکس فکر میکند که دما ۲۰ سانتیگراد یا بالاتر خواهد بود و خانم ایگرگ هم معتقد است که دما ۱۹ سانتیگراد یا زیر آن خواهد بود. این دو قراردادی هوشمند ترتیب میدهند و هر دو مبالغی را وسط میگذارند.
بنا به نتیجه شرطبندی، پول به برنده میرسد. حال چنین قراردادی برای مشخصکردن نتیجه شرطبندی به اطلاعات درباره هوا نیاز دارد. قبول دارید؟ اینجاست که اوراکل میآید و دادههایی از خارج شبکه بلاک چین در اختیار دو فرد مذکور میگذارد. بنا به دادههای ارسالی اوراکل به این قرارداد، روز یکشنبه برنده مشخص میشود و پول برایش ارسال میگردد. البته بدیهی است که از آنجایی که تراکنشها در سطح بلاک چین انجام میشود این شرطبندی با رمز ارز انجام میشود.
انواع اوراکل چیست و چه شکلهایی دارد؟
حالا که مشخص شد اوراکل اهمیت زیادی در پیشبرد شبکههای بلاک چین و قراردادهای هوشمند دارد، پس بگذارید در ادامه به معرفی انواع اوراکل بپردازیم. به طور کلی اوراکل به چند دستهی زیر تقسیم میشود که در ادامه بیشتر به آنها میپردازیم.
- اوراکل نرمافزاری؛
- اوراکل سختافزاری؛
- اوراکل ورودی؛
- اوراکل خروجی؛
- اوراکل مبتنی بر اجماع؛
- اوراکلهای متمرکز و غیرمتمرکز؛
- اوراکل انسانی؛
- اوراکل قراردادهای خاص
اوراکل نرمافزاری
«اوراکل نرمافزاری» (Software Oracle) نوعی از سرویسهای آنلاین است که به منابع آنلاین دادههای موردنیاز بلاک چین و قراردادهای هوشمند دسترسی دارد. این منابع میتوانند پایگاههای دادهی آنلاین، سرورها، وبسایتهای آنلاین و پایگاههای داده عمومی باشند.
این سرویسها اطلاعاتی مانند دمای هوا، دادههای مربوط به حملونقل و تردد، قیمت و نوسانات ارزش داراییهای مختلف و مواردی از این دست را تهیه میکنند. ارتباط اوراکلهای نرمافزاری با دادههای تازه و دستاول اینترنت باعث میشود که حسابی کاربرد داشته باشند. در واقع، اطلاعات و دادههایی که اوراکلهای نرمافزاری در دست دارند، بسیار بهروز است.
علاوه بر ورود دادهها به بلاک چین و قراردادهای هوشمند، برخی از اوراکلها میتوانند از شبکهی بلاک چین و قراردادهای هوشمند اطلاعات خارج کنند. اوراکل نرمافزاری میتواند به همه منابع اطلاعاتی خارج از بلاک چین که در سطح فضای آنلاین است، دسترسی پیدا کند و دادهها و اطلاعات را به بلاک چین ببرد.
اوراکل سختافزاری
برخی از قراردادهای هوشمند به دریافت اطلاعاتی نیاز دارند که مستقیما از دنیای بیرون از بلاک چین و از منابع فیزیکی و سختافزاری به دستشان میرسد. برای مثال، پیشبرد امور مرتبط با زنجیره تأمین وابسته به دادههایی است که «اوراکلهای سختافزاری» (Hardware Oracle) از کالاهای موجود در زنجیره دریافت میکنند و آنها را به بلاک چین انتقال میدهند.
اوراکل سخت افزاری مثل سنسوری است که با کالاهای فیزیکی در ارتباط است، مانند اسکنرهای خواندن بارکدهای محصولات و کدهای RFID (همان سریالهای شناسایی هر کالا) که اطلاعات را دریافت میکنند، آن را به شکل کدهایی قابلدرک برای بلاک چین درمیآورند و سپس به قراردادهای هوشمند ارسال میکنند تا کار خود را پیش ببرند.
اوراکل ورودی
«اوراکلهای ورودی» (Inbound Oracles) اطلاعات را از دنیای بیرون به داخل شبکه بلاک چین میآورند. مثلا نمونهای از اوراکل ورودی، اوراکلی است که اطلاعات مربوط به دما را از طریق سنسوری که دما را اندازه میگیرد به شبکهی بلاک چین میفرستد. بعد از ارسال این دادهها از بیرون شبکه قراردادهای هوشمند به فعالیت خود ادامه میدهند.
اگر بخواهیم مثالهای دیگری از اوراکل ورودی بزنیم، مثلا باید به وبسایتی اشاره کنیم که آخرین اخبار هواشناسی را به بلاک چین منتقل میکند. این اطلاعات میتواند در قراردادهای هوشمند متنوعی کاربرد داشته باشد. مثلا در بازی معروف پوکیمانگو (Pokemon Go) از اوراکل ورودی استفاده میشود.
براساس موقعیت مکانی کاربر که از طریق جیپیاس تعیین میگردد، بازی مشخص میکند که فاصله جوجههایی که از تخم بیرون میآیند، چقدر است (اگر با این بازی آشنا باشید، میدانید که در آن تخمها و جوجههایی در کار است). البته محدودیتهایی برای سرعت حرکت کاربران وجود دارد و نباید سرعت از میزان مشخصی تجاوز کند. اگر سرعت از حدی بیشتر شود، مسافت طیشده برای دریافت مجوز بیرونآمدن جوجهها از تخم در بازی صادر نخواهد شد.
در چنین بازی و موردی، تیم طراحی برای دریافت اطلاعات و سازماندهی روند بازی به دادههایی استناد میکند که از طریق جیپیاس کاربران دریافت میشود. این روند مشابه عملکرد اوراکل ورودی است و در آن دادههایی از بیرون، تکلیف سلسلهای از اقدامات را در داخل قرارداد هوشمند تعیین میکنند. شناخت اینکه اوراکل چیست میتواند به درک بهتر سازوکار بسیاری از شبکههای موجود در فناوریهای مختلف کمک کند.
اوراکل خروجی
«اوراکلهای خروجی» (Outbound Oracles) به قراردادهای هوشمند کمک میکنند که اطلاعات موجود در خود را به دنیای بیرون از شبکه بلاک چین بفرستند. برای مثال، قفلی هوشمند را در نظر بگیرید که بعد از دریافت اطلاعات پرداخت از سوی بلاک چین طی یک قرارداد هوشمند و به طور خودکار در یک برنامه رایانهای باز میشود.
این نمونهای از ارتباط میان بلاک چین و اوراکلهای خارجی است. در مثالی که درباره آقای ایکس و خانم ایگرگ و شرطبندی بر سر آبوهوا زده شد، میتوانیم به استفاده از اوراکل خروجی اشاره کنیم. فرض کنید که خانم ایگرگ برنده شرطبندی شده بود، در این صورت، قرارداد هوشمند میتواند اطلاعات نهایی درباره برنده را به کیف پول دیجیتالی او گزارش بدهد و مبلغی را به شکل خودکار برایش واریز کند. در واقع، با اطلاعاتی که از سوی بلاک چین به نشانی کیف پول دیجیتالی این فرد ارسال میشود، تراز مالیاش افزایش پیدا میکند و مبلغی به کیف پولش واریز میشود.
در اینجا، قرارداد هوشمند نقش یک اوراکل خارجی را بازی خواهد کرد. پس اطلاعات میتوانند در قالبی دوسویه از بلاک چین به فضای بیرونی آن و از بیرون به فضای داخلی بلاک چین در تبادل باشند. بلاک چین و قراردادهای هوشمند آن، برای شکوفایی و امکان بهکارگیری در عرصههای مختلف نیاز به تبادل اطلاعات دارند.
اوراکل مبتنی بر اجماع
یکی دیگر از انواع اوراکل، «اوراکل مبتنی بر اجماع» (Consensus-based Oracle) است. این اوراکلها از منابع متنوعی برای جمعآوری اطلاعات و دادهها استفاده میکنند. مثلا به جای اینکه فقط از یک وبسایت برای جمعآوری اطلاعات بهره ببرند، دادههای خود را از ۴ وبسایت دریافت میکنند.
البته این تمام ماجرا نیست. دلیل اینکه به این اوراکلها، اوراکل مبتنی بر اجماع میگویند این است که تنها زمانی اطلاعات جمعآوریشده از منابع مختلف را به بلاک چین منتقل میکنند که این اطلاعات از منابع مختلفشان با هم همخوانی و شباهت داشته باشد؛ به عبارت دیگر، زمانی که نوعی اجماع بر سر شباهت و یکسانی دادهها و اطلاعات وجود داشته باشد، این اطلاعات به بلاک چین ارسال میشوند.
مثلا اگر قرار باشد که اوراکل درباره دمای هوای روز یکشنبه اطلاعات جمعآوری کند و به بلاک چین برای پیشبرد یک قرارداد هوشمند وارد نماید، چندین سایت هواشناسی را جستوجو میکند و تا رسیدن به نتیجه یکسان در تمام منابع، کار جستوجو را ادامه میدهد. حال اگر ۵ سایت هواشناسی را جستوجو کرد و همگی دمای فرضا، ۲۰ سانتیگراد را نشان دادند، عدد را به بلاک چین اعلام میکند. واضحا این مسئله باعث میشود که سرعت اوراکلهای مبتنی بر اجماع از نمونههای دیگر کمتر باشد و البته درصد اطمینان از اطلاعات اوراکلهای مبتنی بر اجماع بیش از سایر اوراکلهاست.
اوراکلهای متمرکز و غیرمتمرکز
«اوراکلهای متمرکز» (Centralized Oracles) فقط از یک منبع اطلاعاتی استفاده میکنند. به همین خاطر است که نمیتوان زیاد به آنها اعتماد کرد و زمانی که پای دادههای مهم به میان باشد باید منابع دیگر را هم بررسی کرد و به سراغ انواع دیگری از اوراکل رفت. ضمن اینکه از طریق این اوراکلها امکان دارد که دخالت مشکوک کاربران و تهاجمهای هکرها هم به میان بیاید که روی نتیجه قراردادهای هوشمند اثرگذار هستند. اوراکلهای متمرکز همواره در خطر حملات هکرها هستند و آسیبپذیریشان زیاد است.
نوع دیگر اوراکلها هم مدل «غیرمتمرکز» (Decentralized Oracles) است. این اوراکلها برخی از ویژگیهای بلاک چینهای عمومی را دارند. اوراکلهای غیرمتمرکز فقط به یک منبع استناد نمیکنند و به نوعی شبیه اوراکلهای مبتنی بر اجماع هستند.
با اینکه اوراکلهای غیرمتمرکز تلاش میکنند بحث اعتماد به طرفین را از بین ببرند ولی باید توجه داشت که این موضوع بهصورت کامل محقق نمیشود. در واقع در این نوع اوراکل، درست مانند شبکههای بلاک چین، مشکل اعتماد کاملا حل نمیشود، بلکه بین چندین طرف توزیع شده و از این راه ضریب اطمینان را افزایش میدهد.
اوارکلهای انسانی
گاهی برخی از افراد با دانشی تخصصی در زمینهای خاص هم میتوانند در نقش اوراکل ظاهر شوند که به آنها «اوراکلهای انسانی» (Human Oracles) میگوییم. این دسته از افراد با جستوجو درباره اطلاعات موردنیاز برای قراردادهای هوشمند، اطلاعاتی دقیق و درست را از منابع گوناگون تهیه میکنند و آنها را در اختیار قراردادهای هوشمند در بلاک چین قرار میدهند.
از آنجایی که اوراکلهای انسانی میتوانند به کمک رمزنگاری هویت خود را ثابت کنند، احتمال اینکه تقلب و ورود اطلاعات اشتباه به بلاک چین رخ دهد، کم میشود. روشهای مختلفی برای جمعآوری اطلاعات اوراکلهای انسانی و انتقالشان به بلاک چین وجود دارد. در هر حال، این اوراکلها میتوانند اطلاعات لازم برای پاسخگویی به پرسشهای برخی از قراردادهای هوشمند را پیدا کنند.
برخی از اوراکلهای انسانی حالتی جمعی دارند و گروهی از افراد متخصص درباره موضوعی خاص با هم دست به جمعآوری اطلاعات میزنند و بعد از اینکه به اجماع و اتفاق نظر درباره یک موضوع رسیدند، پاسخ قرارداد هوشمند را آماده میکنند و آن را به بلاک چین منتقل مینمایند.
برای رسیدن به پاسخ پرسشهای کیفی که بیشتر نیاز به تحلیل دارند، استفاده از اوراکلهای انسانی به اوراکلهای دیگر ترجیح داده میشود. مثلا زمانی که قرار است یک قرارداد هوشمند براساس پاسخ به این پرسش پیش برود که یک مقام سیاسی به کشورش خیانت خواهد کرد یا نه، نظر افراد بسیار مهمتر از دادههایی است که به شکل دیجیتالی جمعآوری میشوند.
اوراکل قراردادهای خاص
«اوراکل قراردادهای خاص» (Contract-specific oracle) هم گونه دیگری است که برای استفاده فقط و فقط یک قرارداد هوشمند طراحی میشود. این یعنی اگر میخواهید از قراردادهای هوشمند مختلف استفاده کنید، برای هر یک باید اوراکلی مخصوص به خود طراحی نمایید. این دسته از اوراکلها بسیار گرانقیمت هستند و در زمان پیشبرد قراردادهای هوشمند صرفهجویی میکنند.
شرکتهایی که به دنبال استخراج اطلاعات از منابع متنوع هستند، از این اوراکلها استقبال نخواهند کرد. اما دقت و حساسیت این دسته از اوراکلها بسیار مطلوب است. زمانی که قرار است، اطلاعاتی بسیار مهم و حیاتی تکلیف یک قرارداد هوشمند را مشخص کند، استفاده از اوراکلی خاص که برای همان هدف معین تعریف میشود کاربردی خواهد بود.
مشکلات اوراکلها
مشکل اصلی اوراکل چیست و چه چالشهایی ایجاد میکند؟ یکی از مشکلات اساسی اوراکل این است که کاربران باید به منابع خارجی اطلاعاتی که آنها فراهم میکنند، اعتماد داشته باشند. فرقی نمیکند که اطلاعات اوراکل از یک سنسور تولید شده یا از یک وبسایت جمعآوری شده باشد. در هر حال، کاربر چارهای جز اعتمادکردن به آنها ندارد.
از آنجایی که اوراکلها در نقش طرف ثالث یا واسطه در ارتباط با شبکههای بلاک چین فعالیت میکنند و در واقع، عضوی از این شبکهها نیستند، نمیتوان زیرساختهای امنیتی و اعتمادی که در تأیید دادههای درونی بلاک چین وجود دارد، را برای آنها هم به کار برد. در میان پُل ارتباطی که بین اوراکل و بلاک چین قرار دارد، ممکن است یک واسطه خطرناک مثل مهاجم یا هکر قرار داشته باشد. البته روشهای مختلفی برای بالابردن امنیت اوراکلها وجود دارد. در هر حال، شکافهای امنیتی و چالشهایی هم در این میان وجود دارد که نمیتوان آنها را نادیده گرفت.
مثلا در نمونهای که در مقاله گفته شد، زمانی که آقای ایکس و خانم ایگرگ شرطبندی کردند، امکان دارد که یکی از این دو نفر، به وبسایتی دسترسی پیدا کند که قرار است، اطلاعات دمای هوا در روز موعود را به اطلاع او برساند. دستکاری اطلاعات از سوی یکی از این دو نفر برای پیشبردن شرطبندی به سمتوسوی دلخواهشان محتمل است.
یکی از روشهای افزایش امنیت اوراکلها استفاده از انواعی است که از چندین منبع برای جمعآوری اطلاعاتشان استفاده میکنند. اگر قرار باشد که در صنایع مختلف، بازارهای گوناگون و زمینههای سیاسی، اقتصادی و اجتماعی متنوع از بلاک چین استفاده شود و پای ارزهای دیجیتال به دنیا بازتر شود، نیاز به رشد و توسعه اوراکلها هم وجود دارد. استفاده از دادهها و اطلاعات جهان بیرون از بلاک چین و شبکههای غیرمتمرکزِ مختلف است که میتواند به توسعه استفاده از انواع کریپتوکارنسی هم منجر شود یا غیرمتمرکزبودن را در ارتباطات و تعاملات مختلف جا بیندازد.
سخن پایانی
در این مقاله به بررسی اینکه یک اوراکل چیست و در دنیای دیجیتال چگونه کار میکند پرداختیم. بهشکل خیلی خلاصه گفتیم که اوراکلها اطلاعات مورد نیاز قراردادهای هوشمند را که در شبکه بلاک چین قرار ندارد در اختیار آنها میگذارد. در ادامه نیز به بررسی انواع این اوراکلها و نحوه کارشان پرداختیم که کاربرد بسیار جالبی نیز دارند. امُیدواریم که اطلاعات این مقاله مورد استفاده شما قرار بگیرد و شما را یک قدم با دنیای دیجیتال و قراردادهای هوشمند بیشتر آشنا کند.
برای دریافت مشاوره تخصصی رایگان از کارشناسان ما، اطلاعات خواسته شده رو تکمیل فرمایید.