اوراکل چیست؟ کاربرد اوراکل در بلاک چین
قراردادهای هوشمند برای اجرایی شدن نیاز به اطلاعاتی دارند که در برخی از مواقع این اطلاعات از خارج فضای بلاکچین تامین میشوند. از آنجایی که قراردادهای هوشمند و بلاکچینها به دادههای خارج از اکوسیستم خود دسترسی ندارند، برای بدست آوردن این اطلاعات نیازمند راهکار یا واسطهای هستند. اوراکل راهی است که اطلاعات خارج بلاکچین را به داخل و اطلاعات داخل را به خارج آن انتقال میدهد. بهزبانی دیگر، گاها برای اجرای قراردادهای هوشمند بلاکچین لازم است اطلاعاتی از خارج فضای آن به واسطه اوراکلها تامین میشود.
به همین دلیل در این مقاله از صرافی ارز دیجیتال او ام پی فینکس، به بیان اینکه اوراکل چیست و چه کاربردهایی دارد پرداختهایم. پس تا پایان این مطلب همراه ما باشید.
اوراکل چیست؟
بلاکچینهایی که از قراردادهای هوشمند برای اجرای فعالیتهایی خاص استفاده میکنند، به مجموعهای از اطلاعات برای به ثمر نشاندن این قراردادها نیاز دارند. این اطلاعات به دو دسته درون زنجیرهای (On-Chain) و برون زنجیرهای (Off-Chain) تقسیم میشوند.
برخی از این قراردادهای هوشمند که بر اساس اطلاعات درون زنجیرهای برنامهریزی شدهاند، به راحتی و با استفاده از این دادهها اجرایی میشوند. اما بعضا قراردادهای هوشمندی وجود دارند که برای اجرایی شدن به اطلاعاتی در خارج بلاکچین، نیاز دارند. اما از آنجایی که بلاکچین و قراردادهای هوشمند امکان دستیابی به دادههای خارج زنجیره را ندارند، برای اجرایی شدن نیازمند راه ارتباطی خاصی هستند تا بتوانند این اطلاعات را بدست آورده و در نهایت عملی شوند.
این ارتباط بین دنیای خارج بلاکچین و داخل آن، توسط اوراکلها تامین میشود. Oracle در واقع به عنوان پلی برای برقراری ارتباط بین دنیای داخل و خارج بلاکچین عمل کرده و اطلاعات مورد نیاز قراردادهای هوشمند را تامین میکنند. برای مثال یک قرارداد هوشمند برای تکمیل تراکنشی خاص، نیاز به قیمت بیت کوین در لحظه دارد و این داده توسط اوراکل تامین میشود.
برای مثال تصور کنید که دو برادر قصد برگزاری مسابقه “آقای گل” را میان خود دارند. آنها توافق میکنند که هرکدام از آنها که توانست ۵ گل بهثمر برساند، برنده جایزه ۳ اتریومی مسابقه میشود. آنها این توافقنامه را در قالب قرارداد هوشمند درآورده و مسابقه را آغاز میکنند. پس از پایان مسابقه، از آنجایی که بلاکچین و قرارداد هوشمند به اطلاعات خارج شبکه دسترسی ندارند، برادران برای اجرایی کردن آن، به Oracle نیاز دارند تا داده «برنده بازی» را به داخل بلاکچین برده و جایزه را در اختیار برنده قرار دهد.
کاربرد اوراکل چیست؟
اوراکلها نقشی اساسی در اکوسیستم بلاکچینها دارند؛ زیرا سبب وسیعتر شدن کاربرد قراردادهای هوشمند میشوند. بدون Oracle، قراردادهای هوشمند کاربرد بسیار محدودی داشتند؛ زیرا تنها میتوانستند برای اجرایی شدن از دادههای داخل بلاکچین استفاده کنند.
البته به یاد داشته باشید که اوراکل در بلاکچین، یک منبع داده نیست، بلکه دادهها را منظم، اعتبارسنجی و تایید میکند و در انتها در اختیار قراردادهای هوشمند برای اجرایی شدن قرار میدهد.
دادههایی که توسط Oracle تامین میشوند، انواعی دارند؛ از اطلاعات قیمتی یک محصول گرفته تا دمای محاسبه شده توسط یک سنسور سنجش دما، متغیر هستند. همانطور که از Oracle برای دریافت اطلاعات برون زنجیرهای استفاده میشود، برخی از آنها هم امکان ارسال مجدد دادهها به بیرون شبکه را فراهم کردهاند.
اوراکلهای گوناگونی با کاربردهای مختلف وجود دارند که عملکرد آنها بر اساس نوع بلاکچینی که در آن فعالیت میکنند، متفاوت است. در ادامه به بررسی انواع Oracle خواهیم پرداخت.
انواع اوراکل در بلاک چین
اوراکلها بر اساس نوع عملکرد و دادهای که ارائه میدهند دستهبندی میشوند. البته به خاطر داشته باشید عناصری چون نوع منبع داده، خارجی یا داخلی بودن آن و متمرکز یا غیرمتمرکز بودن اطلاعات، در نوع Oracle تاثیرگذار هستند. بیان این نکته هم حائز اهمیت است که Oracleها میتوانند در چند دستهبندی قرار داشته باشند که در ادامه به این مسئله خواهیم پرداخت.
اوراکل نرمافزاری
اوراکلهای نرمافزاری (Software Oracle) اطلاعات را از منابع آنلاین دریافت و به داخل بلاکچین انتقال میدهند. این دادهها میتوانند از پایگاههای داده آنلاین، سرورها، سایتها یا هر منبع دیگری در سطح وب تامین شوند.
نه تنها اتصال Oracleهای نرمافزاری به اینترنت موجب انتقال سریع داده به داخل بلاکچین میشود، بلکه این دادهها به صورت همزمان و بیدرنگ (Real-Time) در اختیار قراردادهای هوشمند قرار میگیرند. همین امر، موجب کاربردیتر بودن این Oracleها شده است.
اطلاعاتی که توسط اوراکلهای نرمافزاری تامین میشود عمدتا نرخ صرافیها، قیمت داراییهای دیجیتال مانند قیمت اتریوم یا اطلاعات برخط پروازها هستند.
اوراکل سختافزاری
برخی قراردادهای هوشمند نیاز به تعامل با دنیای واقعی دارند. این نوع از Oracleها برای دریافت اطلاعات از دنیای فیزیکی طراحی شده تا این دادهها را در اختیار قراردادهای هوشمند قرار دهند. دادههایی از این دست میتوانند از سنسورهای الکترونیکی، اسکنکننده بارکدها و دستگاههایی شبیه به آن، تامین شوند.
یک Oracle سختافزاری دادههای دنیای خارجی را به اطلاعاتی دیجیتال برای درک قراردادهای هوشمند تبدیل میکند. برای مثال میتوان به سنسوری اشاره کرد که موظف به بررسی سلامت اجناس وارداتی است. در صورت سلامت اجناس، این اطلاعات توسط Oracle به قرارداد هوشمند ارسال شده و سپس درب ورودی گمرک باز میشود.
اوراکل ورودی و خروجی
در این دسته از Oracleها، نوع خروجی، اطلاعات را از داخل بلاکچین به دنیای خارجی انتقال میدهد در حالی که اوراکل ورودی وظیفه تامین اطلاعات از منابع خارجی را به داخل بلاکچین برعهده دارد.
برای مثال، دریافت اطلاعات از یک سنسور دما برای نمایش آن، نوعی Oracle ورودی است. از طرفی، اگر از داخل بلاکچین اطلاعاتی به سنسوری دیگر برای قفل کردن دربهای ورودی ارسال شود، این نوع Oracle، خروجی خواهد بود.
اوراکل متمرکز و غیرمتمرکز
Oracle متمرکز توسط یک نهاد واحد کنترل شده و تامینکننده اطلاعات آن، همان نهاد واحد است. نکته حائز اهمیت آن است که استفاده از یک منبع اطلاعات برای دریافت دادهها، میتواند خطرناک باشد؛ زیرا کیفیت و اعتبار دادهها با معتبر بودن منبع آن ارتباطی مستقیم دارند. از طرفی دیگر، استفاده از این نوع Oracleها، به دلیل متمرکز بودن نهاد کنترلکننده آن، میتواند فضای مناسبی را برای دستکاری اطلاعات توسط اخلالگران فراهم کند.
از طرفی، بزرگترین ضعف Oracle متمرکز، وجود تک نقطه شکست (Single Point Of Failure) است؛ SPOF نقطهای است که در صورت خرابی، موجب از کار افتادن تمام سیستم میشود. همین امر قراردادهای هوشمند را در برابر حملات احتمالی به شدت آسیبپذیر میکند.
Oracleهای غیرمتمرکز عملکردی مشابه بلاکچینهای عمومی دارند و فاقد یک نهاد واحد یا منبع تامین اطلاعات هستند. در این نوع از Oracleها، صحت اطلاعات تنها از یک منبع نیست و چندین Oracle همزمان در حال فعالیت و گردآوری اطلاعات هستند و پس از تایید نهایی، دادهها مورد استفاده قرار میگیرند. از همین جهت، این اوراکلها مشهور به اوراکل اجماعی نیز هستند.
اوراکل مختص به یک قرارداد هوشمند
این نوع از Oracle به طور عمده برای یک قرارداد هوشمند به طور یکتا طراحی شده است. این بدان معنا است که اگر شخصی بخواهد از آن برای چند قرارداد هوشمند استفاده کند، به همان تعداد اوراکل باید ساخته و توسعه داده شود.
این نوع از اوراکلها بسیار زمانبر و هزینهبر تلقی میشوند؛ زیرا شرکتهایی که نیازمند کسب اطلاعات از چندین منبع داده دارند، مجبور خواهند بود که چند Oracle طراحی و پیادهسازی کنند که این امر برای آنها اصلا مقرون به صرفه نیست.
اوراکلهای انسانی
افرادی هستند که در حوزهای به خصوص، اطلاعات کامل و جامعی دارند و میتوان از این افراد به عنوان Oracle استفاده کرد. این اشخاص دادههای مورد نظر قرارداد هوشمند را پس از انجام فرایندهای لازم، در اختیار آن قرار میدهند. در این روش، به دلیل احراز هویت رمزنگاری این افراد، امکان جعل هویت و دستکاری اطلاعات به شدت کم خواهد بود.
مزایای اوراکل چیست؟
همانطور که از ابتدای مقاله نیز به آن اشاره شده است، Oracleها به عنوان رابطی میان بلاک چین و منابع داده خارج از آن فعالیت میکنند. از آنجایی که Oracle موجب توسعه موارد استفاده قراردادهای هوشمند میشود، در اکوسیستم بلاکچین بسیار حائز اهمیت هستند.
معایب اوراکل چیست؟
از آنجایی که اجرای قراردادهای هوشمند براساس دادههایی است که توسط Oracleها تامین میشوند، برای یک اکوسیستم بلاکچین سالم، بسیار حیاتی هستند. به طور کلی، چالش اصلی استفاده از Oracleها، در خرابی آنها است؛ در صورتی که اوراکلها دچار مشکل شوند، به طور کلی قراردادهای هوشمند مبتنی بر آنها، بلااستفاده خواهند بود!
با توجه به اینکه اوراکلها بخشی اصلی از مکانیسم اجماع بلاکچین نیستند، متاسفانه نمیتوانند بخشی از مکانیسم امنیتی بلاکچین عمومی باشند. به همین دلیل، ایجاد توافقی بدون دردسر میان مکانیسم اجماع و اوراکلها، همچنان غیرقابل حل باقی مانده است.
اوراکل چیست؟
به زبان ساده، اوراکل پل ارتباطی میان بلاکچین و دادههای خارج آن است.
مزایای Oracle چیست؟
اوراکلها سبب توسعه کاربرد قراردادهای هوشمند شدهاند.
عالی مثل همیشه
تشکر از مقاله عالی شما
ببخشید معروفترین ارز دیجیتال در حوزه اوراکل معرفی میکنید
سلام. ممنون که با ما هستید. در حال حاضر بهترین ارز دیجیتال ارائه دهنده اوراکل چین لینک (LINK) هست.