انواع اوراکل ها (Oracles) واسطه های درون و بیرون زنجیره ای
قرارداد هوشمند اگرچه که وکلای قابلی بوده و توانستهاند بسیاری از مشکلات بشر را حل کنند اما در عین حال دارای محدودیتهایی هم هستند. یکی از آن محدودیتها این است که قراردادهای مذکور نمیتوانند به دادههای خارج از بلاکچین دسترسی پیدا کنند، در نتیجه به منظور انتقال اطلاعات از خارج به داخل شبکه بلاکچین و بالعکس میتوان از ابزاری به نام اوراکل استفاده کرد.
اوراکل (Oracle) چیست؟
اوراکل واسطه قابل اعتمادی است که میتواند دیتاها را از خارج بلاکچین به یک قرارداد هوشمند منتقل کند، همچنین اوراکل ها با توجه به صنعت و نیازهای ما میتوانند مدلهای مختلفی از انواع دادهها را ارائه دهند. در ادامه قصد داریم تا انواع اوراکل های پرکاربرد بلاکچین را مطالعه و توصیف کنیم تا در نهایت به یک شناخت جامع از آنها برسیم.
اوراکل های بلاکچین درواقع خدمات واسطی (Third Party) هستند که اطلاعات خارج بلاکچین را به قراردادهای هوشمند ارائه میدهند. به بیان دیگر آنها به عنوان پلی میان بلاکچین و دنیای خارج از آن عمل میکنند. زنجیرههای بلاکی و قراردادهای هوشمند نمیتوانند به دادههای خارج از زنجیره دسترسی پیدا کنند، با این وجود برای بسیاری از توافقات قراردادی، داشتن اطلاعات مربوطه از جهان خارج از بلاکچین برای اجرای توافقنامهها بسیار حیاتی است. در اینجاست که اوراکل های بلاکچین بدلیل تواناییهای واسطهگری منحصر بفردشان وارد عمل میشوند.
کاربرد اوراکل در اکوسیستم بلاکچین بسیار حیاتی هستند، زیرا توانایی گسترش دامنه فعالیت قراردادهای هوشمند را دارا بوده و بدون آنها از قراردادهای هوشمند استفادههای بسیار محدودی به عمل خواهد آمد، چرا که دسترسی آنها تنها محدود به داخل شبکه بلاکچینی است که بر روی آن قرار دارند.
لازم به ذکر است که اوراکل بلاکچین به خودی خود منبع هیچ دادهای نیست، بلکه لایهای است که منابع داده خارجی را جستجو، تایید و احراز هویت کرده و سپس اطلاعات مذکور را به داخل بلاکچین ارسال میکند. دادههای منتقل شده توسط اوراکل ها به شکل های مختلفی وجود دارند، به عنوان مثال، اطلاعات پرداختهای موفق یا دمای اندازهگیری شده توسط یک سنسور و موارد بسیار دیگری که مورد نیاز قرارداد هوشمند مربوطه است. برای فراخوانی دادهها از دنیای خارج بلاکچینی اول باید قرارداد هوشمند را فراخوانی و سپس با توجه به آن منابع شبکه را تامین کرد.
انواع مختلفی از اوراکل ها با عملکردها و ویژگیهای مختلفی وجود دارند که نحوه عملکردشان کاملا به آنچه برای آن طراحی شدهاند، بستگی دارد. در این مقاله قصد داریم تا انواع اوراکل ها را به تفکیک و به طور اختصار شرح داده و با ویژگیهای آنها بیشتر آشنا شویم.
اوراکل ها را میتوان با توجه به کیفیتهای مختلف آنها دستهبندی کرد:
- منابع: منبع دادههای آن انسان، نرمافزار یا سختافزار است
- مسیر اطلاعات: دادهها ورودی یا خروجی هستند
- اعتماد: بسته به میزان تمرکز اطلاعات (متمرکز/غیرمتمرکز)
یک اوراکل به تنهایی میتواند به چندین دسته تقسیم شود.
به عنوان مثال، اوراكلی كه اطلاعات را از یك وبسایت شركتی دریافت میكند، یك نرمافزار متمرکز ورودی به داخل زنجیره بلوکی است، در نتیجه در دسته نرمافزاری، ورودی و متمرکز قرار میگیرد. در ادامه با دستههای مختلف اوراکل ها و ویژگیهای آنها بیشتر آشنا خواهیم شد.
بررسی انواع اوراکل ها
اوراکل های انسانی
یکی از انواع اوراکل ها ، اوراکل های انسانی است. بعضی اوقات افراد با دانش و مهارتهای تخصصی در یک زمینه خاص میتوانند به عنوان اوراکل ها عمل کنند. آنها میتوانند صحت اطلاعات را از منابع مختلف تحقیق و تایید کرده و این اطلاعات را به قراردادهای هوشمند منتقل کنند. از آنجا که اوراکل های انسانی توانایی تایید هویت خود را با استفاده از رمزنگاری دارند، احتمال جعل هویت، کلاهبرداری و ارائه دادههای خراب یا اشتباه توسط آنها تقریبا کم است.
اوراکل های انسانی نه تنها قادر به انتقال دادههای اجباری هستند، بلکه میتوانند به صورت دلخواه هم به سؤالات پاسخ دهند که امکان این مهم توسط ماشینها کمی دشوار است. پاسخ به سؤالات مربوط به دادههای بدون ساختار، مانند آیا نامزد X در انتخابات کانادا برنده شد؟ یا آیا تیم ورزشی A تیم ورزشی B را شکست داد؟ تا حدی پیچیده است که به طور خودکار توسط یک برنامه کامپیوتری حذف میشود. از این رو، وجود اوراکل انسانی که توسط ورود اطلاعات به صورت دستی به اینگونه سؤالات پاسخ میدهد، برای برخی از قراردادهای هوشمند و برنامههای غیرمتمرکز ضروری است.
اوراکل های نرمافزاری
اوراکل های نرمافزاری (که به عنوان اوراکل های جبری نیز شناخته میشوند) با منابع اطلاعاتی آنلاین ارتباط برقرار کرده و آن را به بلاکچین منتقل میکنند. این اطلاعات میتواند از پایگاه دادههای آنلاین، سرورها، وبسایتها و اساسا از هر منبع دادهای در سرتاسر وب باشند. در واقع اوراکل های نرمافزاری متصل به اینترنت نه تنها این امکان را دارند که اطلاعات را برای قراردادهای هوشمند فراهم کنند بلکه میتوانند اطلاعات مذکور را با سرعت بالا و به صورت آنی انتقال دهند. همین امر آنها را به یکی از متداولترین اوراکل های مبتنی بر بلاکچین تبدیل کرده است.
اطلاعاتی که توسط اوراکل های نرمافزاری ارائه میشوند معمولا شامل نرخ ارز، قیمت داراییهای دیجیتال، اطلاعات پرواز در زمان واقعی و اطلاعات مورد نیاز دیگری از همین قبیل است.
اوراکل های سختافزاری
برخی از قراردادهای هوشمند باید با دنیای واقعی ارتباط برقرار کنند. سختافزارها برای بدست آوردن اطلاعات از دنیای فیزیکی و در دسترس قرار دادن آنها برای قراردادهای هوشمند طراحی شدهاند. چنین اطلاعاتی را میتوان از سنسورهای الکترونیکی، اینترنت اشیا، اسکنر بارکد QR، برچسبهای RFID، رباتها و سایر ماشینهایی که قابلیت خواندن اطلاعات دنیای فیزیکی را دارند، دریافت و ارسال کرد. یک اوراکل سختافزاری اساسا وقایع دنیای واقعی را به مقادیر دیجیتال قابل درک برای وکلای حقوقی بلاکچین تبدیل کرده و آنها را با قرارداد هوشمند مربوطه به اشتراک میگذارد.
یک نمونه پرکاربرد و مشخص از اینگونه اوراکل ها در کاربری زنجیره تامین بلاکچین است. به عنوان مثال میتوان یک کامیون را به وسیله یک سنسور در نقش اوراکل سختافزاری از زمان بارگیری تا زمان تحویل مرسوله ردیابی کرد. در صورتی که این فرایند به درستی انجام پذیرد، اوراکل مذکور اطلاعات را به قرارداد هوشمند مربوطه منتقل میکند تا تصمیمات بعدی با توجه به توافقنامه مندرج در قرارداد هوشمند به مرحله اجرا در آید.
اوراکل های محاسباتی
تاکنون فقط در مورد درخواستها و تحویل دادهها که با نامهای Data Carrier Oracles یاAutomated Oracles شناخته میشوند، صحبت کردهایم. در حالی که میتوان از اوراکل ها برای انجام راه حل دلخواه محاسباتی “خارج از زنجیره” نیز بهره برد. این عملکرد با توجه به محدودیت ذاتی بلاکها در اتریوم و هزینه محاسباتی در آنها که نسبتا گران است، بسیار کارآمد و مفید واقع میگردد.
در واقع این امکان برای اوراکل های محاسباتی وجود دارد تا به جای آنکه تنها دادههای دریافتی و پاسخ به سوالات را برای قرارداد ارسال کنند، ضمن اعمال دستورالعملهای محاسباتی در مجموعهای از ورودیها، نتایج محاسباتشان در خارج از زنجیره بلوکی را به داخل بلاکچین ارسال کنند. این نوع از کاربری اوراکل در مواقعی که شبکه بلاکچین به هر دلیلی امکان انجام محاسبات درون زنجیرهای را ندارد، بسیار کارآمد خواهد بود.
اوراکل های ورودی/خروجی
اوراکل های ورودی، اطلاعات را از منابع خارجی به قراردادهای هوشمند منتقل میکنند، در حالی که اوراکل های خروجی اطلاعات قراردادهای هوشمند را به دنیای خارج از بلاکچین میفرستند.
اگر بخواهیم هر کدام را با یک مثال توضیح دهیم:
ورودی: قرارداد هوشمندی که دمای اندازهگیری شده با یک حسگر را ثبت میکند، در اینجا حسگر نقش اوراکل را دارد.
خروجی: یک قفلِ هوشمندِ وجوه در سیستمهای وامدهی را میتوان نمونهای از اوراکل خروجی در نظر گرفت. بدین شکل که اگر وجوه دریافتی توسط وامگیرنده طبق مفاد قرارداد هوشمند به آدرس قرارداد بازگردانده شوند، وکیل حقوقی مربوطه این اطلاعات را از طریق یک اوراکل خروجی به آدرس وثیقه قفلگذاریشده ارسال کرده و طی مکانیزمی، آزادسازی وجوه را امکانپذیر میکند.
اوراکل های خاص قرارداد
اینگونه از اوراکل ها به طور اختصاصی برای قرارداد هوشمندی که قرار است روی آن به فعالیت بپردازند، طراحی میشوند. به بیان دیگر در دنیای بلاکچین به اینگونه از اوراکل ها ، واسطههای دستیار وکیل نیز گفته میشود. این بدان معناست که اگر کسی بخواهد چندین قرارداد هوشمند را به کار گیرد، به تناسب با تعداد آنها مجبور به استفاده از اوراکل های متعدد است.
استفاده از این نوع اوراكلها بدلیل ماهیتشان بسیار زمانبر بوده و نگهداری از آنها مقرون به صرفه نیست، و نهادهایی که قصد استخراج داده از منابع مختلفی را دارند، ممکن است این روش را بسیار غیر عملی تشخیص دهند. همچنین از سوی دیگر از آنجا که میتوان اینگونه از اوراکل را از ابتدا برای بهرهوری در یک مورد خاص استفاده کرد، توسعهدهندگانی که انعطافپذیری بالا و شرایط نگهداری از این اوراکل ها را دارند به تناسب با نیازهایشان، از آنها استقبال میکنند.
اوراکل های مبتنی بر اجماع
برخلاف اوراکل های نرمافزاری، واسطههای مبتنی بر اجماع از یک منبع واحد استفاده نمیکنند. همچنین روشهای مختلفی برای ایجاد و استفاده از اوراکل های غیرمتمرکز وجود دارد. به عنوان مثال اینگونه از اوراکل ها میتوانند به شکل یک سیستم رتبهبندی در بازار، دادههای خود را در دید عموم آشکار کنند.
کاربری اوراکل های مبتنی بر اجماع در جایی حائز اهمیت خواهد شد که برای کاهش خطر و تامین امنیت بیشتر نیاز به استفاده از ترکیبی از اوراکل ها داریم. بدین شکل که اگر به عنوان مثال در ثبت یک داده، به طور همزمان از هفت اوارکل استفاده شود، پاسخ صحیح برابر با پاسخی خواهد بود که تعداد بیشتری از اوارکلها آن را ارائه کرده باشند. در مثال مذکور چهار پاسخ یکسان به سه پاسخ دیگر مقدم است.
اوراکل های مبتنی بر اجماع بدلیل زمان مورد نیاز برای رسیدن به یک رأی واحد، کندتر از بقیه انواع واسطههای نامبرده هستند.
اگر زمانی نتوانیم برای کسب اطلاعات به یک اوراکل اعتماد کنیم، ممکن است استفاده از اینگونه واسطهها مسیر را برایمان کمی ایمنتر کرده و اطمینانمان را به صحت اطلاعات افزایش دهند. به خصوص در زمانهایی که پای مقدار زیادی از دارایی یا موارد و بازخوردهای قانونی در میان باشد.
بیشتر بخوانید: اوراکل های اول شخص یا بدون واسطه – استعفا از شغل واسطه گری
دیدگاهتان را بنویسید