تفاوت بلاک چین و پایگاه داده (دیتابیس) سنتی چیست؟
فناوری بلاک چین که در سال ۲۰۰۸ همزمان با ظهور بیت کوین به جمع فناوریهای پرسرعت دیجیتالی پیوست، خیلی زود بهعنوان ابزاری برای ذخیره و مدیریت داده، جای خود را در فضای اینترنت و ارتباطات باز کرد. اما ذخیره دادهها در شبکه بلاک چین چه تفاوتی با ذخیره دادهها روی پایگاه داده سنتی دارد؟ شان رِی (Shaan Ray)، مشاور و متخصص در زمینه بلاک چین، طی مقالهای که در وبسایت مدیوم منتشر کرده است، تفاوتهای بنیادین بلاک چین و پایگاه داده سنتی را بررسی کرده و نحوه طراحی و عملکرد هرکدام از این پایگاههای داده را توضیح میدهد.
پایگاه داده سنتی
پایگاههای داده سنتی از معماری شبکه کلاینت-سِرور (Client-server) استفاده میکنند. در این معماری، کاربر (که تحت عنوان کلاینت یا همان مشتری شناخته میشود) در صورت کسب مجوز میتواند دادههایی را که در یک سرور (کامپیوتر) متمرکز ذخیره شدهاند تغییر داده و اصلاح کند. در این بین، کنترل پایگاه داده در دست مرجعی تعیینشده باقی میماند که هویت و اعتبار مشتری را نیز پیش از دسترسی به پایگاه داده راستیآزمایی میکند. این مرجعِ تعیینشده، وظیفه مدیریت پایگاه داده را بر عهده دارد. بنابراین، درصورتیکه امنیت مرجع به خطر بیفتد، احتمال تغییر یا حتی حذف دادهها وجود خواهد داشت.
پایگاه داده سنتی
برای درک بهتر این مفهوم میتوان وبسایت ویکیپدیا را مثال زد. در ویکیپدیا که یک دانشنامه جامع است، هر فرد با داشتن حساب کاربری میتواند مقالات جدید اضافه کند یا مقالهای را برای بهبود ویرایش کند. با این حال، کنترل نهایی دادههای ویکیپدیا در دست یک نهاد متمرکز است.
پایگاههای داده بلاک چینی
پایگاههای داده بلاک چینی از چندین نود (node) یا کامپیوتر تشکیل شدهاند. نودهای شبکه کامپیوترهایی هستند که در مدیریت پایگاه داده بلاک چین مشارکت میکنند: تمام نودها، دادههای جدید را بررسی کرده و میتوانند این دادهها را وارد پایگاه داده مبتنی بر بلاک چین کنند. برای اینکه داده جدیدی به بلاک چین اضافه شود، اکثریت نودها باید به اتفاقنظر برسند. این سازوکار اجماع، تضمینکننده امنیت شبکه است و دستکاری دادهها را دشوار میکند.
در بلاک چین بیت کوین، اجماع و توافق آرا با استفاده از روش اثبات کار (Proof of Work) یا همان استخراج به دست میآید. این روش شامل حلکردن معماهای پیچیده هشینگ (hashing) میشود که در ضمن این فرایند، دادهها بهصورت رمزنگاریشده به یکدیگر متصل شده و تغییر یا حذف آنها عملاً غیرممکن میشود. همچنین برخی دیگر از بلاک چینها، همچون اتریوم از روش اثبات سهام (Proof of stake) بهعنوان مکانیسم اجماع خود استفاده میکنند.
بیشتر بخوانید: تفاوت بیت کوین و بلاک چین چیست؟
پایگاه داده بلاک چینی
یکپارچگی و شفافیت
اصلیترین چیزی که فناوری بلاک چین را از فناوری پایگاه داده سنتی متمایز میکند، قابلیت اعتبارسنجی عمومی دادهها است که از طریق یکپارچگی و شفافیت شبکه امکانپذیر شده است.
یکپارچگی به این معناست که هر کاربر میتواند مطمئن باشد دادههایی که بازیابی میکند، از زمان ثبت تاکنون، دستنخورده و بدون تغییر باقی ماندهاند. شفافیت بلاک چین نیز باعث میشود تمام کاربران بتوانند بر نحوه پیوستن بلاکها به بلاک چین در طول زمان نظارت داشته باشند.
کراد در مقابل خواندن و نوشتن
در یک پایگاه داده سنتی، کلاینت میتواند چهار عملکرد مختلف را روی دادهها اجرا کند: ایجاد، خواندن، بهروزرسانی و حذف. این چهار عملکرد اساسی کراد (CRUD) نامیده میشوند؛ واژهای که از حروف ابتدایی چهار واژه انگلیسی ایجاد (Create)، خواندن (Read)، بهروزرسانی (Update) و حذف (Delete) تشکیل شده است.
با این حال، ساختار بلاک چین بهگونهای طراحی شده است که فقط قابلیت اضافهکردن داده را به کاربر میدهد. درواقع، کاربر بلاک چین فقط میتواند دادههای بیشتری را در قالب بلاکها به بلاک چین اضافه کند. تمام دادههای قبلی بهطور دائمی ذخیره شدهاند و قابلتغییر نیستند. بنابراین، تنها عملیات قابلاجرا در مورد دادههای بلاک چین، «خواندن» و «نوشتن» است. عملیات خواندن بهمعنی درخواست و بازیابی دادهها از بلاک چین و عملیات نوشتن بهمعنی اضافهکردن دادههای بیشتر به بلاک چین است.
اعتبارسنجی و نوشتن
بلاک چین امکان انجام دو عملیات اساسی را در ارتباط با تراکنشها فراهم میکند: اعتبارسنجی یک تراکنش و نوشتن یک تراکنش جدید. تراکنش، عملیاتی است که وضعیت دادههای موجود در بلاک چین را به وضعیتی جدید تغییر میدهد. بهبیان دیگر تراکنشها موجب حذف یا تغییر دادههای قبلی نمیشوند؛ بلکه وضعیت آنها را تغییر میدهند. مثلاً یک تراکنش جدید میتواند وضعیت یک تراکنش ورودی در گذشته را از وضعیت «خرجنشده» به «خرجشده» تغییر دهد.
برای درک بهتر این موضوع، یک تراکنش عملی را تصور کنید. بهعنوان مثال اگر در بلاک چین ثبت شده باشد که کیف پول بیت کوین علی حاوی ۱ میلیون بیت کوین است، این رقم برای همیشه در بلاک چین ذخیره میشود. وقتی علی ۲۰۰,۰۰۰ بیت کوین خرج کند، این تراکنش روی بلاک چین ثبت شده و موجودی او را به ۸۰۰,۰۰۰ بیت کوین میرساند. با این حال، از آنجا که دادهها فقط به بلاک چین اضافه میشوند و تغییری در دادههای قدیمی ایجاد نمیشود، رقم موجودی علی که پیش از این تراکنش ۱ میلیون بیت کوین بود، بهصورت دائمی در بلاک چین باقی میماند و هر فردی که بخواهد بر دادههای قدیمی نظارت داشته باشد، به این سوابق دسترسی خواهد داشت. به همین دلیل، بلاک چین یک دفترکل تغییرناپذیر و توزیعشده است.
سیستم همتابههمتا (سمت راست) در مقابل سیستم متمرکز (سمت چپ)
کنترل غیرمتمرکز، اصلیترین تفاوت بلاک چین و پایگاه داده سنتی
کنترل غیرمتمرکز، خطرها و آسیبهای مربوط به کنترل متمرکز را برطرف میکند. هر فردی که به یک پایگاه داده متمرکز دسترسی کافی داشته باشد، میتواند دادههای موجود در آن را خدشهدار کند یا بهطور کامل آنها را از بین ببرد. بنابراین، کاربران پایگاه داده متمرکز باید به زیرساختهای امنیتی مدیریت و حاکمیت پایگاه داده کاملاً اعتماد داشته باشند.
فناوری بلاک چین بهمنظور رفع این مشکل، با استفاده از ذخیرهسازی غیرمتمرکز داده، امنیت را در ساختار خود نهادینه کرده است.
با این همه، فناوری بلاک چین برای ثبت انواع خاصی از داده و پایگاه داده سنتی برای انواع دیگری از دادهها مناسب هستند. هر سازمانی، پیش از انتخاب پایگاه داده موردنظر خود، باید کاملاً از نیازها و انتظارات خود آگاه باشد و هدف مطلوب خود را با توجه به نقاط ضعف و قوت هر کدام از انواع پایگاه داده ارزیابی کند