بلاك چين، جايگزيني مترقي براي ديتابيسهاي متمركز
براساس نتايج يك پروژهي تحقيقاتي در مؤسسهي Boston Computing، بيش از ۶۰ درصد كسبوكارهايي كه در سازوكار نگهداري دادههايشان با حوادث جدي مواجه ميشوند، ۶ ماه پس از آن رخدادها عملا به كار خود پايان ميدهند. اين رخدادهاي نامطلوب همان از دست رفتن دادهها و زيرساختهاي نگهداري آنها است كه در مواجهه به خطراتي نظير نفوذ مخرب، نقايص سختافزاري، آسيبهاي فيزيكي و... رخ ميدهند.
تصور كنيد يك كسبوكار نوپا و كوچك فروش اينترنتي كه تمام زيرساختهاي ميزباني آن (حتي نسخههاي همراه) در يك ديتاسنتر متمركز است، در پي يك حادثه دچار نقص شود يا از بين برود. كمينهي مضرات اين رخداد، از دسترس خارج شدن سايت براي مدت قابل توجهي است كه اثر نامطلوبي بر رفتار مصرفكننده و مشتريان خواهد داشت. متخصصاني كه در آن زمان براي دريافت خدمت يا خريد محصول به سايت مراجعه كردهاند، با نااميدي بازميگردند. اما در پشت پردهي ماجرا عدهاي در ديتاسنتر مشغول رسيدگي به اوضاع هستند. اقداماتي نظير خريد تجهيزات جديد، تنظيم دامنهها و مسيرهاي جايگزين و بهويژه بازسازي دادهها درحال انجام است تا همه چيز به روال عادي بازگردد. با وجود اين، بازهم ممكن است امكان رسيدن به نقطهي پايدار قبل از حادثه ميسر نشود.
البته اين مسئله با معرفي سرويسهاي ميزباني ابري تا حد زيادي مرتفع شد. سرورهاي ابري به تدريج به سازوكارهاي ميزباني اضافه شدند. راهكاري كه هم ضريب اطمينان بالايي داشت و هم اينكه غالبا ارزانتر بود.
اما باز هم سايهي ترس از دست رفتن پايگاه دادهها و بهطور كلي رخداد نامطلوب براي ديتاسنتر همواره بهدنبال مديران كسبوكارهاي حوزهي فناوري است. اينجا است كه بلاكچين اين سايه را برميچيند.
بلاك چين همهي آنچه براي زيرساخت دادهاي امن، با ضريب دسترسي بالا، خودادارهشونده و بهويژه خودترميم و بازگشتپذير لازم است را در بر دارد. معماري غيرمتمركز و بدون سرور بلاكچين، راهكاري پايدار براي نگهداري دادهها در سطوح تشكيلاتي است، بدون آنكه هزينهي گزافي به سازمان يك كسبوكار تحميل كند.
وقتي صحبت از بلاكچين ميشود، مشخص است كه هر بلاك يا نود بهطور مداوم ساير بلاكها يا نودها را از تغييرات خود آگاه ميكند و مدام درحال جورسازي و همگامسازي (Replication) است. اين موضوع در پايگاههاي دادهي سنتي هم برقرار است، ليكن در اين فناوري در نقاط بيشتر و با هزينهي معقول، در مجموع انتخاب بهتري نسبت به پايگاهدادههاي متمركز است و خيال صاحب كسبوكار را از پايداري سازوكارهاي دادهاي خود راحت ميكند.
اكنون ممكن است اين پرسش مطرح باشد كه چه راهحلي براي مسئلهي تداخل و پايايي دادهها وجود دارد؟ يك فناوري تكميلي در كنار بلاكچين، قراردادهاي هوشمند است. قراردادهاي هوشمند علاوهبر اجراي فرآيندهاي كسبوكاري، وظيفهي ساماندهي تغييرات دادهها را نيز بهعهده دارند.
اگر بخواهيم آنچه تاكنون گفته شد را بهطور خلاصه و با تشبيه بيان كنيم، بايد بگوييم: از مانديشه متخصصين كاركردي، بلاكچين مانند سروري است كه فعاليتش هرگز متوقف نميشود و پايگاه دادهاي است كه هرگز دادههايش آسيب نميبيند.
اما بايد اين نكته را هم مدانديشه متخصصين داشت كه بلاكچين نسخهي جامع و راهحل قطعي براي هر نياز پردازش دادهاي نيست. براي درك بهتر اين موضوع ميتوان كاركرد نرمافزارهاي پيامرسان را در مقايسه با سرويس رايانامه مثال زد. بديهي است كه هر يك كاركرد خود را دارند و رايانامه نميتواند جايگزين يك سرويس پيامرسان مانند واتساپ باشد.
بهطور دقيقتر در پروژههاي مهداده (Big Data) كه سرويسهاي تحليلي از يك ساختمان چندبعدي داده ارائه ميشود (Data Warehouse)، بهكارگيري اين فناوري غيرمتمركز چندان مقرونبهصرفه نيست. تصور كنيد حجم سرسامآوري از داده بايد در يك زمان كم در تمام بلاكها همگامسازي و بهروزرساني شود؛ اين مسئله عملا هزينهي بالايي در پي دارد و هدايت لود سنگين دادهها در شبكه، به هيچ وجه راهكاري مناسبي براي جايي نيست كه كسبوكار اصلي مبتني بر نتايج تحليل داده بوده و جريان درآمدي از آن حاصل ميشود (مانند سرويسهاي تبليغات اينترنتي). درحقيقت ميتوان گفت بلاكچينها راهكار بهينه براي تراكنش داده در هستهي يك كسبوكار هستند. يك مصداق روشن در اينجا همان بهكارگيري بلاكچين در فناوريهاي مالي است؛ جايي كه يك حساب بانكي نگهداري و پردازش ميشود و انتقال وجوه روي آن صورت ميگيرد. اين كار نياز به جابجايي حجم بالاي داده ندارد و صرفا صحت و دقت آن مهم است. در چنين فضايي است كه اصالت و صحت داده و همچنين ايمني و حفظ مالكيت داده و حريم اختصاصي آن در فرآيندهاي يك سامانهي نرمافزاري اهميت دارد و لطمه به هر يك از اين اركان، كل كسبوكار را تهديد خواهد كرد. بلاكچين راهكاري مناسب براي اين حوزه است. بهعنوان مثالي ديگر درانديشه متخصصين بگيريد اگر ديجيكالا دادههاي مربوط به ميزان ترافيك وبسايت خود را از دست بدهد، تاب خواهد آورد، اما اگر دادههاي مربوط به موجودي انبار آسيب ببيند، ممكن است تلفات جبرانناپذير باشد.
از آنجا كه يك نياز اساسي و حساس مشتري اين است كه هروقت مراجعه كرد، بتواند خدمات دريافت كند، پيوستگي و آمادگي زيرساختها هم يك دغدغهي جدي براي مديران كسبوكارها است. از سوي ديگر، طرحهاي ارتقاء و توسعه هميشه آبستن بهروزرسانيها و مهاجرت به پلتفرمهاي جديد است كه بهناچار مستلزم توقف خدمت براي يك زمان مشخص است و اين توقف هم نارضايتي و عصبانيت بهدنبال دارد.
بعضا در راهاندازي و كوچ به پلتفرمهاي جديد آنقدر مراحل چك و بازبيني وجود دارد كه ممكن است كل سرويس را ساعتها مختل كند. همانطور كه پيشتر اشاره شد، نتايج برخي پروژههاي تحقيقاتي حاكي از شكست و تعطيلي كسبوكارهايي است كه در روند نگهداري پايگاههاي دادهشان به اشكال ميخورند. لذا در چنين شرايطي بلاكچين موهبتي است كه اين مراحل گذار و ارتقاء را بدون نگراني از شكست يا عدم سرويسدهي و بهسرعت و مطمئن ميسر ميكند. اكنون ديگر تنها دغدغه، سرعت رخداد تراكنش در پايگاه داده نيست؛ بلكه مسئلهي ايمنسازي و صحتسنجي هر تراكنش نيز وجود دارد كه اين مهم تا مدتها در ممباحثه مديريت سيستم مغفول مانده بود.
فناوري بلاكچين را ميتوان همان تحول پايگاههاي داده ناميد. در سامانههاي مبتني بر بلاكچين در يك لايهي بالاتر قراردادهاي هوشمند مشغول پردازش ضوابط كسبوكاري سيستم هستند و در لايهي زيرين دادهها مدام در حال بهروزرساني و همگامسازي و صحتسنجي هستند. هر تغييري در سيستم پيش از اعمال شدن بهطور كامل، در يك يا چند بلاك (كه عينا محيط واقعي هستند) از مانديشه متخصصين پيشنيازهاي زيرساختي و محاسباتي ارزيابي و تست ميشود و از همان گام اول، ارتقاء سيستم با انطباق كامل و پايداري بالا پيش خواهد رفت.
در يك تشبيه متخصصتر همه چيز مشابه عملكرد فراخواني يك تابع API از يك جزوه رايگانخانه است. يك لايه يا اينستنس (instance) از كلاس اصلي مشتمل بر تمام توابع و ويژگيها سمت سرور ساخته خواهد شد. پارامترها به آن پاس ميشود و پاسخي كه در قالب يك مقدار يا شيء بايد بازگردد. در وضيت عادي لايهي منطق كسبوكار در سمت سرور مستقر است و كل فرايندي كه به آن اشاره شد، در همان سمت اما تمايز در بلاكچين آنجا است كه كل بستهي عملياتي ميتواند مستقلاً در سمت ايستگاه فراخواننده اجرا شود، بدون اينكه تغييري در نحوهي عملكرد آن مشاهده شود. اين يعني هر نقطه، همهي ظرفيتهاي لازم را براي اجراي تابع بهتنهايي و بدون آمد و شد دادهاي بر بستر شبكه دارا است.
حال تصور كنيد پايگاه دادهاي روي يك شبكهي بلاكچين و روي هر يك از نودها مستقر است. پروسيجرها و كدهاي محاسباتي هم بالتبع درون آنها و روي تكتك بلاكها وجود دارد. سازوكار رپليكيشن يا همگامسازي نيز برقرار است. در اين شرايط هيچگاه نبايد نگران از دست رفتن يك نود يا بلاك باشيم چراكه پردازشها و محاسبات و همگامسازي با ساير نقاط شبكه در تكتك بلاكها برقرار است و بلاك ازدسترفته بهمحض بازگشت به شبكه بهروز خواهد شد.
در بلاكچينهاي عمومي هم تمامي داراييهاي نرمافزاري با الگوريتمهاي كريپتوگرافي رمز شدهاند. اين رمزنگاري و نگهداري نيز به عهدهي ماينرهاي شبكه در سطح جهان است. اگر هم پاي يك شبكه بلاكچين خصوصي درميان باشد، مالك سامانه و پلتفرم ميتواند تمام نودها را در اختيار خود داشته باشد و قيد سازوكارهاي رمزنگاري را بزند و از مكانيزم امنيتي ديگري استفاده كند. يك راهكار جالب ديگر، پيادهسازي شبكه روي پلتفرمهاي ابري مانند مايكروسافت آژور و وبسرويسهاي آمازون است كه عملا ديگر زيرساخت دادهاي كاملا بدون سختافزار خواهد بود.
نكتهي اصلي در مفهوم بلاكچين اين است كه هر بلاك در شبكه مدام با بلاكهاي ديگر مشغول همگامسازي است و اين موضوع ريسك آسيب و ازدسترفتن دادهها را تا حد زيادي كاهش ميدهد؛ درحالي كه مراقبت از ساختارهاي متمركز پايگاههاي داده در برابر خطراتي كه گفته شد، مستلزم صرف هزينههاي بالا و مكانيزمهاي پيچيده است.
در نتيجه زمانيكه ما از بلاكچين استفاده ميكنيم كه ويژگيهاي اساسي امنيت، همگامسازي و لايهي منطق كسبوكار را در بطن خود دارد، بههمراه قراردادهاي هوشمند كه سازوكار توزيعشده و امني براي اجراي فرآيندهاي كسبوكار هستند، عملاً يك ساختمان دادهي مترقي و ايمنتر و پايدارتر دراختيار داريم.
اينگونه است كه بلاكچين بهمرور و در بسياري از سامانههاي نرمافزاري جايگزين پايگاه دادههاي نسل قبل ميشود.
هم انديشي ها