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