جداول بلاکچین در پایگاه داده Oracle

ظهور فناوری‌های نوین در چند سال گذشته، افقی تازه را برابر کسب‌وکارها نمایان ساخته است. شرکت‌­های استارت‌آپی و برخی شرکت­‌های بزرگ نیز با شناسایی این بازارهای نوظهور و به‌کارگیری مفاهیمی چون رایانش ابری، یادگیری عمیق و یادگیری ماشین، فن­آوری بلاکچین و اینترنت اشیا، پاسخگوی نیازهای کاربران در حوزه‌های مختلف هستند. از سوی دیگر، همزمان با افزایش نیاز بازار، ارائه‌دهندگان زیرساخت‌­های محاسباتی، پشتیبانی از این فناوری‌ها را در دستور کار خود قرار داده‌­اند.

شرکت Oracle نیز با این دیدگاه، پیاده‌سازی قابلیت­‌های متعددی همچون Multitenant، Sharding، Native JSON، Auto ML، Blockchain Tables و ... را درون پایگاه داده خود، در دستور کار قرار داد. در این مقاله، نگاهی کوتاه داریم به Blockchain Tables در پایگاه داده Oracle.

ظهور بلاکچین

یکی از سوالات بی‌­پاسخ دنیای محاسبات، یافتن راهکاریی برای جلوگیری از تغییر مستندات در طول زمان بود. بدین منظور، مستندات نباید پس از تولید به هیچ عنوان قابلیت تغییر داشته باشند تا بتوان به آن‌­ها در طول زمان استناد کرد.

در سال ۱۹۹۱، هابر و استورنتا به دنبال یافتن راهکاری محاسباتی برای این مشکل، روشی بر پایه رمزنگاری ارائه دادند که از دید محاسباتی نیز قابل پیاده‌سازی باشد. در این مدل، هر مقدار داده‌­ای به همراه مقدار Hash آن در یک بلاک ذخیره شده و برای اضافه کردن یک داده جدید در یک بلاک، آدرس بلاک قبلی و Hash آن نیز در بلاک جدید اضافه می‌­شود. در این صورت، تغییر در یک بلاک باعث می‌­شود Hash آن نیز تغییر کرده و در نتیجه بلاک‌­های بعدی نیز بی‌اعتبار شوند. به این زنجیره (Chain) تشکیل شده از بلاک‌­ها، نام بلاکچین اطلاق شد. به فایلی (مجموعه‌­ای) که داده‌ها در آن ذخیره می‌­شود و همواره در حال رشد است نیز Ledger گفته می‌­شود. یک بلاکچین، مانا، امن، غیرقابل تغییر و دارای ترتیب زمانی است.

در ۲۰۰۸، ساتوشی ناکاموتو با تبیین بلاکچین توزیع شده و استفاده از آن برای نگهداری رکورد تراکنش‌­ها، مفهوم پولی جدیدی که وابسته به یک نهاد مرکزی (همچون بانک‌های مرکزی) نباشد را معرفی و نام آن را Bitcoin گذاشت. با معرفی Bitcoin، موج جدیدی برای استفاده از فن‌آوری بلاکچین شکل گرفت.

Oracle Blockchain Tables

همگرایی در فناوری، امری اجتناب‌ناپذیر است. از این رو، معرفی Oracle Blockchain Tables در پایگاه داده این شرکت، چندان تعجب برانگیز نیست. Blockchain Table به کاربر اجازه می‌دهد که جدولی داشته باشد تا داده‌­ها تنها قابلیت اضافه شدن داشته باشند، داده‌­ها نه قابل تغییر هستند و نه پاک شدن. همچنین انجام عملیاتی چون تغییر ستون­‌ها، حذف پارتیشن‌­ها و ... غیر‌ممکن است (مفهوم Ledger).

از سوی دیگر، با نگهداری مقدار Hash سطرهای جدید، در کنار مقدار Hash سطر قبلی، تشکیل زنجیره (Chain) پشتیبانی می‌­شود. امکان دیگر اضافه شده، امضای دیجیتال محتویات سطر به کمک کلید خصوصی کاربر است که به صورت اختیاری در دسترس می‌باشد.

جمع‌بندی امکانات فوق نشان می‌­دهد که سازمان‌­های نیازمند به یک Ledger متمرکز (و نه توزیع شده) می‌­توانند با بهره‌­گیری از این امکان جدید، بدون آنکه برای تایید صحت داده­‌ها نیازمند یکLedger توزیع شده (و فرا‌ سازمانی) باشند، کسب‌و‌کار خود را بهبود بخشند.

هدف اصلی Oracle از معرفی این امکان، مقابله با خطر تقلب کاربران و راهبران سامانه است. شناسایی حملات داخلی سازمان، در در زمره سخت‌ترین مسائل امنیتی قرار دارد. Blockchain Tables با جلوگیری از بازنویسی History، پاک کردن برخی اطلاعات یا رمزنگاری توسط باج افزارها، مکانیزم‌­های مقاوم­تری را برای مقابله با تقلب به دست می‌­دهد. همچنین استفاده از امضای دیجیتال کاربر یا راهبر، از جعل هویت نیز جلوگیری خواهد کرد. نقطه اوج این راهکار، تلفیق Oracle Database Vault و Blockchain Tables جهت مقابله با تقلب راهبران است.

با اضافه شدن تمامی این امکانات، Oracle Database از سهولت کاربرد این خصوصیت نیز غافل نبوده و Blockchain Table کاملا با ابزارهای توسعه و زبان‌­های مرسوم همچون SQL، PL/SQL، JDBC و ... سازگار است. به گفته Juan Loaiza، مدیر اجرایی فناوری‌های حیاتی Oracle، هدف از ارائه این قابلیت، ورود بلاکچین به جریان اصلی کسب‌و‌کارها در اینترپرایز با حداقل تغییرات است. بنا به گفته وی، «ما به دنبال حفاظت از داده‌­ها در برابر تغییرات غیرقانونی هستیم. Oracle Blockchain Tables جایگزینی برای امنیت نیست، بلکه اضافه شدن چیزی جدید بر قله آن است».