کارشناس ارشد عملیات پایگاه داده داتین
جداول بلاکچین در پایگاه داده 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 جایگزینی برای امنیت نیست، بلکه اضافه شدن چیزی جدید بر قله آن است».
مطلبی دیگر از این انتشارات
امنیت در میکروسرویسها - قسمت دوم
مطلبی دیگر از این انتشارات
روزی که آمدم، روزی که هستیم
مطلبی دیگر از این انتشارات
آشنایی با Impact Mapping