برای توضیح مفهوم بلاک چین یا زنجیرهی بلوکی، بهتر است ابتدا مفاهیم پایهای و مورد نیاز این حوزه را توضیح دهیم. برای ساده شدن مطلب و نشان دادن کاربرد بلاک چین در عمل، از بیت کوین کمک میگیریم. (اگر با مفهوم بیت کوین آشنایی ندارید میتوانید به بیت کوین به زبان ساده مراجعه کنید.)
برای ورود به سیستم بلاک چین، باید در این سیستم ثبت نام کنید (مثلا اگر میخواهید بیت کوین خریداری کنید، باید در سایت بیت کوین ثبت نام کنید) که در نتیجه یک “کد عمومی (Public Key)” و یک “کد خصوصی (Private Key)” دریافت میکنید که حکم کلید دسترسی شما را دارند. این کدها که ترکیبی از اعداد و حروف انگلیسی هستند، توسط الگوریتمهای تصادفی ایجاد میشوند و برای هر شخص منحصر به فرد هستند. (نکتهی مهم این است که این کدها در سیستم ذخیره نمیشوند و در صورت گم کردن آنها هیچ راهی برای بازیابی وجود ندارد، اما برای نگهداری از بیت کوینها و کدهای خود میتوانید از نرمافزارهای “کیف پول (Wallet)” استفاده کنید.)
کد عمومی برای دریافت بیت کوین بهکار گرفته میشود و کاربران میتوانند برای دریافت بیت کوین هر تعداد که بخواهند کد عمومی بسازند.
نمونهی یک کد عمومی:
۱EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm
کد خصوصی برای خرج کردن یا فرستادن بیت کوین بهکار گرفته میشود و میتوان گفت تنها راه دسترسی به بیت کوین شماست. این کد تنها یکبار برای هر حساب صادر میشود و امکان ویرایش یا صدور مجدد ندارد. اگر به هردلیلی این کد را از دست بدهید، پول شما از بین میرود. در واقع
گم شدن کد خصوصی = از دست رفتن بیت کوین
نمونهی یک کد خصوصی:
۵Kb8kLf9zgWQnogidDA76MzPL6TsZZY36hWXMssSzNydYXYB9KF
کدهای خصوصی برای انجام مبادلات برگشتناپذیر استفاده میشوند. آنها کلید خرج کردن یا فرستادن بیت کوین به هرشخص، در هرزمان هستند. تضمین برگشتناپذیری مبادلات، امضاهای دیجیتال و ریاضیاتی هستند که هربار مبادلهای انجام میشود، این امضا پای معامله میخورد. این امضاها برای هر مبادله منحصر به فرد هستند. (حتی اگر چند مبادله با کد خصوصی یکسانی انجام شده باشد.)
این ویژگی منجر میشود امضاها غیر قابل کپی و جعل باشند، در نتیجه کاربر میتواند کد خصوصی خود را هر تعداد دفعه که بخواهد با خیال راحت استفاده کند. علاوه بر این، امضاها با روابط ریاضیاتی به آدرس بیت کوین مرتبط هستند. این رابطهی ریاضی کمک میکند تا مطمئن شویم امضای دیجیتال متعلق به دارندهی حساب بیت کوین است. (کدنویسان حرفهای با دیدن امضا و کد عمومی میتوانند تایید کنند که امضا متعلق به آن حساب است.)
تعریف بلاکچین
بلاک چین یا زنجیرهی بلوکی، یک بانک اطلاعاتی (Database) غیر متمرکز است، به این معنا که تجهیزات ذخیرهی اطلاعات به یک سیستم واحد متصل نشدهاند و در نتیجه گزارشات ثبت شده در آن قابل حذف یا هک نیستند. این زنجیره مانند یک دفترکل عمل کرده و لیستی از سوابق مبادلات را نگهداری میکند که هر لحظه در حال بزرگتر شدن است. هر لیست “بلاک/بلوک” نام دارد و حاوی اطلاعات ثبتی مبادلاتی است که در یک زمان انجام شدهاند. در حقیقت هر بلاک یک برچسب زمانی دارد و به بلاک قبل از خود متصل است. مثل شکل زیر:
بلاک چین چگونه کار میکند؟
انجام یک تراکنش در سیستم بلاکچین را میتوان در ۶ گام خلاصه کرد:
۱- فرد الف و ب میخواهند مقداری پول بین خود جابه جا کنند.
۲- کدهای خصوصی و عمومی فرد الف و ب به نام این مبادله ثبت میشوند.
۳- مبادله برای تایید به اعضای شبکه فرستاده میشود. (برای دادن اطمینان خاطر از اینکه کدها یکتا هستند و هیچگونه جعل و کپیبرداری صورت نمیگیرد.)
۴- پس از تایید مجاز بودن مبادله، یک بلاک ساخته میشود.
۵- بلاک به زنجیرهی بلاکی اضافه میشود. این زنجیره در واقع لیستی شفاف و غیرقابل حذف، از تمام مبادلات انجام شده است.
۶- پول بین فرد الف و ب جابه جا شده و مبادله تکمیل است.
مثالی از بلاکچین در دنیای غیرپولی
یک سیستم دیجیتال شرح حالگیری از بیمار را در نظر بگیرید. این سیستم شامل اطلاعات سلامت هر فرد است و در آن سابقهی پزشکی او، از جمله واکسنهای تزریق شده، حساسیتهای دارویی، نتایج آزمایشات و… ذخیره میشود. هر دادهای که وارد این سیستم شود یک بلاک است که دارای تاریخ و زمان ورود اطلاعات است. این سیستم طوری طراحی شده که امکان تغییر اطلاعات گذشته وجود ندارد، چراکه میخواهیم سابقهی بیمار، تشخیصهای قبلی پزشک، درمان و معالجات صورت گرفته شفاف و بدون اصلاح باقی بمانند. تنها پزشک معالج و بیمار دارای کد خصوصی این اطلاعات هستند و میتوانند به آنها دسترسی داشته باشند و در نتیجه اطلاعات فقط زمانی به اشتراک گذاشته میشود که یکی از ایندو، کد خصوصی خود را به شخص سومی بدهد. این یک سیستم بلاکچین برای اطلاعات پزشکی است.
اهمیت بلاکچین
در حال حاضر همهی ما به عمل بهاشتراک گذاشتن اطلاعات در یک سیستم غیرمتمرکز آنلاین به نام اینترنت عادت کردهایم. اما وقتی حرف از انتقال پول به میان میآید، به ناچار به سازمانهای قدیمی و سنتی متمرکز، مثل بانکها رجوع میکنیم. حتی روشهای جدید پرداخت آنلاین هم که پس از تولد اینترنت رایج شدند، نیازمند برقراری ارتباط با حساب بانکی شما هستند. در واقع شما همواره نیازمند یک نهاد واسطهی مالی به نام بانک هستید.
بلاکچین این امکان جذاب را فراهم میکند که واسطهها را حذف کنیم. این کار را با سه نقش مهمی که بر عهده دارد انجام میدهد. این نقشها عبارتاند از: ۱) ثبت و ضبط مبادلات ۲) ساختن هویت ۳) تنظیم قرارداد
این سیستم بهطور معمول در بخش خدمات مالی به کار گرفته میشود. اما سومین نقش بلاکچین، یعنی تنظیم قرارداد، دامنهی کاربرد آن را به بخشهای دیگر گسترش میدهد. بهجز واحدهای ارزش، مثل بیت کوین، بلاکچین میتواند هر دادهی دیجیتال دیگری را ذخیره کند (مثلا کدهای کامپیوتری). این قابلیت به ما این امکان را میدهد قراردادهایی بنویسیم که هروقت شرایط مورد نیازشان تامین شد، بهطور خودکار اجرا شوند. این قراردادها “قراردادهای هوشمند (Smart Contracts)” نام دارند که در مقالات آتی به آنها خواهیم پرداخت.