بلاکچین در مقابل پایگاههای داده سنتی؛ هر آنچه باید بدانید
برای درک تفاوت بین بلاکچین و پایگاه داده سنتی، قبل از هر چیزی بهتر است که بدانیم هر یک از آنها چگونه طراحی و نگهداری میشوند.
پایگاههای داده سنتی
پایگاههای داده سنتی از معماری شبکه کلاینت-سرور استفاده میکنند. در اینجا، یک کاربر (کلاینت) میتواند دادههایی را که در یک سرور متمرکز ذخیره میشود، در صورت کسب مجوز اصلاح کرده یا تغییر دهد. کنترل پایگاه داده با یک مرجع تعیین شده است که قبل از دسترسی به پایگاه داده، اعتبار کلاینت را راستی آزمایی میکند. از آنجایی که این مرجع مسئول مدیریت پایگاه داده است، در صورت به خطر افتادن امنیت مرجع، دادهها را می توان تغییر داد یا حتی حذف کرد.
پایگاههای داده بلاکچین
پایگاههای داده بلاکچین از چندین گره غیرمتمرکز تشکیل شدهاند. هر گره در مدیریت دادهها شرکت میکند، گرهها دادههای جدیدی که به بلاکچین اضافه خواهند شد را بررسی و تأیید میکنند و میتوانند دادههای جدید را به پایگاه داده وارد کنند. برای اضافه شدن داده جدید به بلاکچین، اکثر گرهها باید به اجماع برسند. این مکانیسم اجماع امنیت شبکه را تضمین میکند و دستکاری آن را دشوار خواهد کرد.
در بیتکوین، اجماع با استفاده از روش اثبات کار یا همان استخراج (حل پازلهای هشینگ پیچیده) به دست میآید، که در ضمن این فرآیند، دادهها بهصورت رمزنگاریشده به یکدیگر متصل شده و تغییر یا حذف آنها عملاً غیرممکن میشود در حالی که اتریوم از اثبات سهام به عنوان مکانیزم اجماع خود استفاده میکند.
یکپارچگی و شفافیت
یکی از ویژگیهای کلیدی فناوری بلاکچین که آن را از فناوری پایگاه داده سنتی متمایز میکند، تأییدپذیری عمومی است که با یکپارچگی و شفافیت امکانپذیر میشود.
یکپارچگی: هر کاربر میتواند مطمئن باشد دادههایی که بازیابی میکند، از لحظه ثبت تغییری در آنها ایجاد نشده است.
شفافیت: شفافیت بلاکچین نیز باعث میشود تمام کاربران بتوانند بر نحوهی پیوستن بلاکها به بلاکچین در طول زمان نظارت داشته باشند.
CRUD در مقابل عملیات خواندن و نوشتن
در یک پایگاه داده سنتی، یک کلاینت میتواند چهار عملکرد را روی دادهها انجام دهد: ایجاد (Create)، خواندن (Read)، بهروزرسانی (Update) و حذف (Delete) که در مجموع به عنوان دستورات CRUD شناخته میشوند.
بلاکچین به گونهای طراحی شده است که یک کاربر فقط میتواند دادههای جدید را در قالب بلوک به آن اضافه کند. تمام دادههای قبلی بهطور دائمی ذخیره شدهاند و قابلتغییر نیستند. بنابراین، تنها عملیات مرتبط با بلاکچین عبارتند از:
عملیات خواندن: عملیات خواندن بهمعنی درخواست و بازیابی دادهها از بلاکچین است.
عملیات نوشتن: عملیات نوشتن بهمعنی اضافهکردن دادههای بیشتر به بلاکچین است.
اعتبارسنجی و نوشتن
بلاک چین دو عملکرد را امکانپذیر میکند: اعتبارسنجی تراکنش و نوشتن تراکنش جدید. تراکنش عملیاتی است که وضعیت دادههای موجود در بلاکچین را تغییر میدهد. در حالی که ورودیهای گذشته در بلاک چین باید همیشه ثابت باقی بمانند، یک ورودی جدید میتواند وضعیت دادهها را در ورودیهای گذشته تغییر دهد. برای مثال، اگر بلاکچین ثبت کرده باشد که کیف پول بیتکوین من ۱ میلیون بیتکوین دارد، این رقم به طور دائم در بلاکچین ذخیره میشود.
وقتی ۲۰۰۰۰۰ بیتکوین خرج میکنم، آن تراکنش در بلاکچین ثبت میشود و موجودی من را به ۸۰۰۰۰۰ بیتکوین میرساند. با این حال، از آنجایی که بلاکچین فقط میتواند اضافه شود، موجودی من قبل از تراکنش ۱ میلیون بیتکوین نیز به طور دائم روی بلاکچین باقی میماند، و هر فردی که بخواهد بر دادههای قدیمی نظارت داشته باشد، به این سوابق دسترسی خواهد داشت. به همین دلیل است که بلاکچین اغلب به عنوان یک دفتر کل غیرقابل تغییر و توزیع شده شناخته میشود.
به طور خلاصه، تفاوت در کنترل غیر متمرکز است
کنترل غیر متمرکز خطرات کنترل متمرکز را از بین میبرد. هر کسی با دسترسی کافی به یک پایگاه داده متمرکز میتواند دادههای موجود در آن را از بین ببرد یا خراب کند. بنابراین کاربران به زیرساخت امنیتی مدیر پایگاه داده متکی هستند.
فناوری بلاکچین از ذخیرهسازی دادهها به صورت غیرمتمرکز برای رفع این مشکل استفاده کرده و در نتیجه امنیت را در ساختار خود ایجاد میکند.
اگرچه فناوری بلاکچین برای ثبت انواع خاصی از اطلاعات مناسب است، پایگاههای داده سنتی برای انواع دیگر اطلاعات مناسبتر هستند. برای هر سازمان نکته بسیار مهم آن است که بداند از یک پایگاه داده چه میخواهد، و قبل از انتخاب یک پایگاه داده، آن را در برابر نقاط قوت و آسیبپذیری هر نوع پایگاه داده دیگری ارزیابی کند.
منبع: Towards Data Science
عالی مفید👏👏👏