oracle چیست؟
می توان تعریفهای متفاوتی از اوراکل (oracle) در فضای مورد بحث، به روشهای گوناگونی بیان نمود. در محیط بلاکچین (Blockchain)، دراصل اوراکل یک منبع داده به حساب میآید که به منظور یک پل ارتباطی میان قراردادهای هوشمند و سایر منابع خارجی به کار گرفته میشود.
مفهوم تخصصی تر آن میتواند این باشد که یک اوراکل عاملی تلقی میشود که علاوه بر اینکه با منابع داده خارجی ارتباط دارد، بلکه دادههای فراهم شده را مورد تأیید و بررسی قرار میدهد. پس میتوان گفت آنها مسئولیت فراهم نمودن اطلاعات مهم و قابل اعتماد برای قراردادهای هوشمند را بر عهده دارند که این قراردادها نیز هرکدام دارای وظایف مشخصی هستند؛ بنابراین اوراکل در فضای بلاک چین دارای مفهوممتفاوتی نسبت به فناوریهای دیگر است.
در حقیقت اوراکلها به این دلیل اهمیت دارند که قراردادهای هوشمند بلاکچینی فقط به دادههایی دسترسی دارند که در درون شبکه دیجیتالآنها واقع شدهاست؛ بنابراین آنها به عنوان یک ابزار ارتباطی نقش خود را انجام میدهند که رویدادهای دنیای حقیقی را تبدیل به داده هایدیجیتال میکنند.
اوراکلهای بلاکچینی بر مبنای کاربردی که دارند دستهبندی میشوند که موارد زیر از رایجترین نوع آنها میباشند:
اوراکلهای سختافزاری: با سیستمهای فیزیکی و فناوریها تلفیق میگردند و اقدام به فراهم نمودن دادههای دنیای حقیقی برایقراردادهای هوشمند مینمایند. بهطور مثال، اوراکلهای سختافزاری قابلیت برقراری ارتباط با سنسورهای RFID را دارند که اینسنسورها (sensors) در صنایع گوناگونی مورد استفاده قرار میگیرند.
اوراکلهای نرمافزاری: این نوع رایجترین آنها هستند که کارشان بازیابی دادههای آنلاین از برنامههای خارجی و ای پی آی های(APIs) شبکه میباشد.
اوراکلهای اجماع: نوعی اوراکل غیرمتمرکز محسوب میشوند که میزان بزرگی داده را از مجموعه ای از سایر اوراکلها گرد آوری مینمایند. اوراکلهای اجماع در پلتفرمهای بازارهای پیشبینی همچون آگور(Augur) مورد استفاده قرار میگیرند.
اوراکلهای ورودی : انتقال دادههای خارجی به قراردادهای هوشمند یا اوراکلهای نرمافزاری را بر عهده دارند. این اوراکلها قابلیتپیکربندی به صورت مجموعه ای از رهنمودهای شرطی را دارد.
اوراکلهای خروجی : انتقال دادههای قراردادهای هوشمند به سیستمهای خارجی را انجام میدهند و موجب میگردند که قراردادهایهوشمند توانایی برقراری ارتباط با منابع غیر بلاکچینی را داشته باشند.
در مجموع میتوان بیان نمود که یک اوراکل بلاکچینی تشکیل شده از منبع داده شخص ثالث است که این منبع هم به منظور صحیح عملنمودن، به اجازه خارجی بستگی دارد؛ یعنی اینکه آنها وسیلهای میباشند که از طریق موجودیتهای متمرکز ایجاد شدهاند؛ بنابراین بیشترآنها، در این بین ویژگیهای غیر متمرکز قراردادهای هوشمند را فدا میکنند.
مشکل اوراکل
با در نظر گرفتن دادههای به دست آمده از طریق اوراکلهای متمرکز، قراردادهای هوشمند اقدام به اجرای عملکردهای گوناگونی میکنند و اینبدان معناست که اوراکلها دارای قدرت بسیاری بر روی قراردادهای هوشمند هستند. این موضوع به عنوان مشکل اوراکل مطرح است که موجبایجاد نوعی مشکل اعتماد برای سیستمهای بلاکچینی میگردد.
با اینکه اوراکلهای غیرمتمرکزی همچون اوراکلهای اجماع امکان دارد یک راهکار احتمالی را بدهند ولی همچنان مشکلات بسیاری در این فضاموجود است. اجرا کردن شبکههای اوراکلی غیرمتمرکز به روشهای ایمن، عملکردی و بدون اینکه نیازمند اعتماد باشد، کار خیلی سختی است.