شنبه 27 دی 1399

بلاکچین چیست؟

اکثر ما زمان شنیدن نام بلاکچین (Blockchain) به یاد ارزهای دیجیتال به خصوص بیت کوین می‌افتیم. اما آیا بلاک چین تکنولوژی یا سیستمی است که تنها در ارزهای دیجیتال کاربرد دارد؟ اصلا بلاکچین چیست؟ چه مفهوم و کاربردی دارد؟ امنیت در بحث بلاکچین چگونه تعریف می‌شود؟ در ادامه قصد داریم به بررسی کامل این مباحث و سوالات بپردازیم.

در این مطلب عناوین زیر را مطالعه خواهید کرد:

O منظور از بلاکچین چیست؟

O ساختار بلاکچین چگونه است؟

O امنیت در بلاکچین چگونه تامین می‌شود؟

O بلاکچین در ارزهای دیجیتال

تعریف بلاکچین

بلاک (Block) در لغت به معنای «بلوک» و چین (chain) به معنای «زنجیر» است. بنابراین عبارت بلاکچین (Blockchain) یعنی زنجیره‌ای از بلوک‌ها؛ این بلوک‌ها با سیستم خاصی که در ادامه توضیح داده خواهد شد رمزگذاری می‌شوند و داده‌های داخل آن‌ها قابل تغییر نیست. به عبارتی، هر به روز رسانی در اطلاعات ذخیره‌شده با استفاده از تکنولوژی بلاکچین، موجب تولید یک بلوک جدید خواهد شد و اطلاعات بلوک قبلی قابل ویرایش نخواهند بود.

احتمالا تا همین لحظه متوجه شده‌اید که «غیر قابل ویرایش بودن» به نوعی حکم امنیت را برای هرگونه اطلاعاتی دارد. فرض کنید عملیات بانکی، انتخابات و… در بستر بلاکچین انجام شوند و قابلیت اعمال هیچ‌گونه تغییری در آن‌ها وجود نداشته باشد و البته هکرها هم نتوانند اطلاعات شما را دست‌کاری کنند!

اما این موضوع چطور ممکن است؟ برای توضیح آن لازم است ابتدا به ساختار بلاک چین بپردازیم.

ساختار بلاکچین

در ساختار بلاکچین چندین مورد باعث می‌شود که امکان تغییر و دستکاری در آن به صفر برسد. ابتدا با تصویر زیر به توضیح محتویات هر بلوک خواهیم پرداخت:

در این تصویر شما زنجیره‌ای از بلوک‌ها را مشاهده می‌کنید که البته رنگ همگی آنها سبز است؛ سبز بودن رنگ نشان از صحیح بودن عملیات دارد. هر بلوک به صورت مجزا از ۵ بخش تشکیل می‌شود:

 Block: شماره بلوک است که حالت ترتیبی دارد.

 Data: در این بخش داده‌ها و اطلاعات (به طور مثال تراکنش‌هایی که در ۱۰ دقیقه اخیر در سیستم رخ داده‌اند) درج می‌‌شود.

 Hash: هش نوعی تابع است که می‌تواند ورودی‌های مختلفی داشته باشد و سپس این ورودی‌ها را به کدی متناظر تبدیل می‌کند؛ بنابراین خروجی آن کدی (با طول ثابت) است که در تصویرهای بعد نمونه آن را خواهید دید. دقت کنید که خروجی تابع hash یک طرفه است. به عبارتی hash هر آن چه در بلوک وجود دارد را در قالب یک کد ارائه می‌دهد اما از آن نمی‌توان به عقب برگشت و داده‌ها را بازیابی کرد. همچنین وقتی کاراکتری ثبت می‌شود، قابلیت ویرایش و برگشت به عقب را ندارد. این را می‌توان اولین دلیل جلوگیری از دستکاری اطلاعات دانست. چرا که هرگونه دستکاری اطلاعاتی نیازمند بازگشت به مراحل قبل و تغییر یا پاک کردن آنها است اما ویژگی یک طرفه بودن hash باعث می‌شود که نتوان آن را تغییر داد یا حذف کرد.

 Prev: در این بخش هشِ بلوک قبلی نشان داده می‌شود و این خود دومین دلیل عدم دستکاری است. تصور کنید من در بلوک جاری تغییری ایجاد می‌کنم، در این صورت تمام بلوک‌های بعدی که در بخش Prev آن‌ها، هش تولید‌شده نوشته شده بود، خطا می‌دهند. در تصویر زیر می‌توانید نمونه آن را مشاهده کنید.

در تصویر اول، data برابر (انتقال ۵۰ دلار از حساب الف به حساب ب) است و هشی برای آن تولید شده که این هش در قسمت prve بلاک بعدی هم قابل مشاهده است:

حال عدد ۵۰ دلار را تبدیل به ۵۰۰ دلار می‌کنیم؛ ببینید چه اتفاقی برای بلوک‌های جاری و بعدی می‌افتد:

طبق تصویر تمامی زنجیره تا انتها خطا می‌دهد و این موضوع امکان اعمال تغییر در داده‌های یک بلوک خاص را غیر ممکن می‌کند.

 Nonce: این عدد نیز طبق فرمولی از داده‌های داخل هش تولید می‌شود و غیر قابل تغییر است. در حقیقت پس از این که هش داده‌های داخل بلوک به کد تبدیل شد، این کد باید با عددی جمع و حاصل آن با ۰۰ شروع شود. این عدد در بخش nonce درج خواهد شد.

فرض کنید هش ما ۱۹ است و کامپیوتر باید آن را با عددی جمع کند که حاصل ۲۰ (۰۰۱۱۰۰۱۰۰۰۱۱۰۰۰۰۰۰۰۰۱۰۱۰) شود. بدیهی است که کامپیوتر ۱۹ را با ۱ جمع می‌کند و در بخش nonce عدد ۱ را می‌نویسد. حال اگر ما داده‌ها را تغییر دهیم و هش ۱۸ به دست آید، مجموع ۱۸+۱ عدد ۲۰ نخواهد شد و لازم است که nonce هم تغییر کند.

امنیت در بلاکچین

امنیت در بلاکچین از طریق چند مورد مختلف تامین می‌شود:بلاکچین در ارزهای دیجیتال

 نکته اول ساختار بلاکچین است. همان طور که تا این جا آموختیم بلاک چین ساختاری یک طرفه دارد که تنها به سمت جلو حرکت می‌کند و برگشت به عقب در آن غیر ممکن است. اگر بخواهیم اطلاعات را به روز رسانی کنیم، اطلاعات قبلی پاک و اطلاعات جدید جایگزین آن نخواهد شد؛ بلکه اطلاعات قبلی به قوت خود باقی خواهند ماند و موارد جدید در بلوک‌های بعدی درج می‌شوند که هر کدام hash و nonce و شماره بلوک خود را دارند.

 دومین موضوع مربوط به ماینرها است. وقتی عملیاتی در یک زنجیره بلاکچین اتفاق می‌افتد سند آن برای تمامی ماینرهای آن زنجیر ارسال می‌شود. تصور کنید شما یک عملیات بانکی انجام می‌دهید و سند آن در دسترسی ده‌ها نفر قرار می‌گیرد. بدیهی است که شما به تمامی آن افراد دسترسی ندارید و همه آن‌ها را نمی‌شناسید که بخواهید تغییری در سند ایجاد کنید. در این جا دو موضوع دیگر مطرح می‌شود: چگونه اطلاعات شما بدون مشکل امنیتی در دسترس عده‌ای از افراد قرار می‌گیرد؟ ماینرها چه افرادی هستند؟

اطلاعات شما بدون ذکر هویت، حساب بانکی، کیف پول و… برای minerها ارسال می‌شود. به عبارتی یک کپی از بلوک برای ماینرها ارسال می‌شود و آن‌ها بلوک مذکور را به صورت کد می‌بینند که از محتویات آن آگاه نیستند. تنها موضوع مهم، برابر بودن اطلاعات کپی بلوک‌ها با هم است و مغایرت در یکی از آنه‌ا به معنای دستکاری است که به خاطر عدم تطبیق با کپی‌های دیگر پذیرفته نخواهد شد.

اما ماینر (miner) کیست؟ زمانی که از تکنولوژی بلاکچین برای موضوعی مثلا تولید بیت کوین استفاده ‌شود، عده‌ای از افراد با استفاده از کامپیوترهای پیشرفته، صرف زمان و برق بسیار بالا، اقدام به استخراج بیت کوین می‌کنند. اصطلاحا به این افراد ماینر می‌گویند. مجددا تاکید می‌شود که miner مخصوص بیت کوین نیست و در واقع به استخراج‌کنندگان در حوزه بلاکچین ماینر می‌گویند.

 سومین موضوع در رابطه با غیر متمرکز بودن سیستم بلاکچین است که تاثیر بسزایی در تامین امنیت دارد. در طی این مقاله بارها متذکر شدیم که اگر بخواهید تغییری در بخشی از بلوک ایجاد کنید، پیغام‌های خطای ساختار بلوک و کپی‌های آن که در اختیار ماینرها است، مانع‌تان می‌شود. حال حتما با خود می‌گویید اگر تغییر را در سرور اصلی ایجاد کنیم چطور؟

مثلا به جای دستکاری اطلاعات حساب در شعبه بانک X به سرور اصلی بانک دسترسی پیدا کنیم و اطلاعات آن را تغییر دهیم تا اطلاعات حساب برای تمامی شعب تغییر کند! این موضوع در تکنولوژی بلاکچین ممکن نیست؛ چرا که ذخیره‌سازی آن به صورت غیر متمرکز انجام می‌شود. در سیستم ذخیره‌سازی متمرکز همه اطلاعات در یک سرور اصلی ذخیره می‌شوند که این سرور می‌تواند مثلا در اختیار شعبه اصلی بانک، دولت یا …. باشد اما در تکنولوژی بلاک چین اصلا سرور اصلی وجود ندارد که هکری بخواهد به آن دسترسی داشته باشد و تغییری ایجاد کند.

چنان که گفتیم در سیستم بلاکچین اطلاعات به صورت یک طرفه، بدون ذکر هویت فرد ذخیره می‌شوند و کپی آن‌ها برای ماینرها ارسال می‌شود. ماینرها مثل شعب بانک یا دولت قابل شناسایی نیستند. آن‌ها افرادی عادی هستند که به صورت غیر متمرکز ممکن است در هر جایی حضور داشته باشند. حتی دسترسی به آن‌ها هم کمکی به هکر نخواهد کرد، چرا که دیگر ماینرها کپی اطلاعات اصلی را دارند.

بلاکچین در ارزهای دیجیتال

ساختار ارزهای دیجیتال مبتنی بر بلاکچین است و در واقع این ارزها تنها به خاطر استفاده از تکنولوژی بلاکچین ارزشمند هستند. بهتر است برای توضیح این موضوع کمی به عقب بازگردیم.

در گذشته‌های دور از سکه‌های طلا، نقره و… به جای پول کاغذی استفاده می‌شد و مردم می‌دانستند که این فلزات به خودی‌ خود ارزشمند هستند؛ بنابراین پذیرفتن آن‌ها به عنوان پول امری ساده بود. پس از مدتی پول کاغذی به مردم معرفی شد. آن‌ها حاضر نبودند که سکه طلای با ارزش خود را بدهند و در ازای آن یک تکه کاغذ که روی آن عددی نوشته شده است را بگیرند.

زمان زیادی صرف شد تا دولت‌ها مردم را قانع کردند که طلای آن‌ها در خزانه کشور ذخیره می‌شود و معادل آن پول کاغذی چاپ و در اختیارشان قرار می‌گیرد. بنابراین طلا یا نقره ثابت ماند، حفظ آن به دولت واگذار شد و معادل ارزش پول کاغذی به چاپ رسید.

حال همین اتفاق در فضای مجازی می‌افتد. ما در عصر تکنولوژی هستیم، همه چیز در بستر اینترنت و با ابزار تلفن همراه، تبلت، لپتاپ و… پیش می‌رود. آموزش‌ها مجازی شده، پرداخت‌ها، سیستم آمارگیری، نوبت‌دهی و… به صورت آنلاین کار می‌کنند و در این بین دو موضوع حائز اهمیت است: نخست «امنیت» که حکم طلا را در فضای مجازی دارد و دوم «حریم شخصی». ارزهای دیجیتال با ارائه کیف پول مجازی و سیستم ذخیره‌سازی بلاکچین، امنیتی را برای کاربران تامین می‌کنند که در هیچ یک از تراکنش‌های مالی دیگر به چشم نمی‌خورد.

حریم شخصی موضوع مهمی است که دغدغه افراد در جوامع مختلف به حساب می‌آید. از طرفی دولت‌ها در ریزبه‌ریز زندگی مردم دخالت و نفوذ دارد و از طرف دیگر انجام هر عملیات مجازی نیاز به احراز هویت دارد. این روزها برای هر ثبت نام یا تراکنشی باید اطلاعات کامل هویتی، ارتباطی و… را وارد کنید که این موضوع برای بسیاری از افراد خوشایند نیست. ارز دیجیتال با استفاده از تکنولوژی بلاکچین این امکان را برای شما فراهم می‌کند که بدون فاش کردن اطلاعات هویتی، تراکنش مالی داشته باشید، خرید کنید، آموزش ببینید، از بازی‌های آنلاین استفاده کنید و … برای هیچ یک از این کارها نیازی نیست اطلاعات خود را ارائه دهید.

سخن آخر

بحث بلاکچین و ارزهای دیجیتال بسیار گسترده است؛ به طوری که نمی‌توان آن را در یک مقاله گنجاند. هر کدام از ارزهای دیجیتال با استراتژی خاصی عرضه می‌شوند و ارزش‌های متفاوتی دارند. از طرفی کاربردهای تکنولوژی بلاکچین آن چنان گسترده است که در هر پلتفرمی می‌توان از آن بهره برد. بسیاری از بزرگان دنیای تکنولوژی به سمت استفاده از سیستم بلاکچین در حوزه کاری خود پیش می‌روند و از طرفی سرمایه‌گذاران حرفه‌ای در سال‌های اخیر تمرکز ویژه‌ای بر ارزهای دیجیتال داشته‌اند. توجه این دو حوزه قدرتمند بر بلاکچین، اهمیت موضوع را افزایش می‌دهد و شاید باعث شود که بار دیگر دولت‌ها مسئله قانونی اعلام کردن بیت کوین و سایر ارزهای دیجیتال را بازنگری کنند.