بلاکچین چیست؟ بلاکچین را به زبان ساده در فرهاد اکسچنج بیاموزید!
بیایید تصور کنیم که شما در شهری زندگی می کنید که دارای یک پارکینگ بزرگ برای پارک همزمان 200 اتومبیل است. فرض کنید که فضای پارکینگ فقط یک طبقه همکف دارد. فضای پارکینگ دارای یک دروازه اصلی است که قفل شده است و فقط هنگام ورود یا خارج شدن اتومبیل باز می شود.
از آنجا که برخی از شرکت های خصوصی این پارکینگ را به طور انحصاری با هدف پارک اتومبیل های شهر ساخته اند، کلیه هزینه های تعمیر و نگهداری را این شرکت ها پرداخت می کنند. بنابراین اجاره یک پارکینگ برای شما هزینه بالایی دارد.
اگر سارقان به درب اصلی دسترسی پیدا کنند، می توانند به راحتی اتومبیل شما را بدزدند و یا به آن آسیب برسانند. اگر تعداد اتومبیل های شهر شما از 200 اتومبیل به 300 اتومبیل برسد، پارکینگ فضای کافی برای همه ی اتومبیل ها را نخواهد داشت. حال شرکت های خصوصی دیگر باید پارکینگ های جدیدی بسازند.
شما فقط به شرکت سازنده پارکینگ دسترسی دارید و آن ها مسئول مراقبت از امنیت ماشین شما هستند. بنابراین چاره ای جز اعتماد به این شرکت نیست.
از آنجا که همه اتومبیل ها در یک ساختمان هستند، می توانیم آن را به عنوان یک پارکینگ متمرکز در نظر بگیریم.
حال اجازه دهید سناریوی فعلی را اصلاح کنیم. تصور کنید که 200 خانه در شهر شما وجود دارد و هر کدام از 200 خانه دو پارکینگ دارد. فرض کنید هر خانه فقط یک ماشین دارد. بنابراین، هر خانه از دو پارکینگ موجود یک پارکینگ خالی دارد. حالا تصور کنید که مردم شهر تصمیم می گیرند پارکینگ اضافی را به هر کسی که به پارکینگ احتیاج دارد اجاره دهند. این مدل از تأمین فضای پارک، مشکل پارک 200 اتومبیل یا بیشتر (در صورت جابجایی افراد در داخل و خارج از شهر) را بدون نیاز به ایجاد هرگونه پارکینگ مرکزی بزرگتر برای کل شهر حل خواهد کرد.
از آنجا که مردم، پارکینگ دوم هر خانه را فقط با هدف اجاره دادن نساخته اند، هزینه نگهداری آن نیز اندک خواهد بود. بنابراین هزینه اجاره فضای اضافی نسبت به پارکینگ مرکزی بزرگ پایین تر خواهد بود.
هر اتومبیل در یک پارکینگ متفاوت پارک شده است. بنابراین سارقان برای دسترسی به تمام اتومبیل ها باید قفل همه پارکینگ ها را به صورت جداگانه باز کنند. در نتیجه در این حالت امنیت بیشتری ایجاد شده است. (امنیت در بلاکچین کمی متفاوت است اما برای درک بهتر بیایید اکنون آن را به این ترتیب در نظر بگیریم!)
با رشد تعداد خانه ها، با فرض اینکه هر خانه جدید پارکینگ اضافی نیز داشته باشد، فضای نگهداری برای اتومبیل های بیشتر افزایش می یابد. بنابراین، شبکه مستأجر و اجاره دهنده گسترش می باید.
در این حالت هیچ مرجع مرکزی برای کنترل فضاهای پارکینگ توزیع شده وجود ندارد. فرض می کنیم که قوانین خاصی برای اجاره پارکینگ ها توسط همه افراد در نظر گرفته شده است.
این پارکینگ ها در سطح شهر توزیع شده اند. بنابراین می توانیم آن ها را پارکینگ غیرمتمرکز بدانیم.
مدل پارکینگ یک نمای کلی از بلاکچین را به زبان دنیای واقعی ارائه می دهد.
پارکینگ مرکزی بزرگ یک سیستم متمرکز مانند AWS ،Google Cloud و غیره است. (این سیستم عامل های ابری نیز در برخی از سطوح توزیع می شوند اما به منظور سادگی، ما آن ها را یک سیستم عامل واحد فرض می کنیم).
اتومبیل ها، داده ها و برنامه ها هستند.
پارکینگ توزیع شده نیز یک سیستم غیرمتمرکز است. این یعنی بلاکچین.
همه ی سیستم های غیرمتمرکز بلاکچین نیستند !! بله، بلاکچین نوع خاصی از سیستم غیرمتمرکز است که خاصیت منحصر به فردی دارد.
بیایید مثال پارکینگ توزیع شده را مرور کنیم و یک تغییر کوچک در آن ایجاد کنیم. فرض کنیم قفل هر پارکینگ هنگامی ایجاد می شود که اتومبیلی درون آن پارک شود. (فرض می کنیم که همان ماشین روزانه به همان پارکینگ می رود). همچنین، فرض کنید که ما همه ی پارکینگ های توزیع شده را به ترتیب شماره گذاری کرده ایم. قفل پارکینگ شماره 50 بر اساس قفل پارکینگ شماره 49 و همچنین بر اساس ویژگی های ماشین پارک شده در داخل پارکینگ شماره 50 تشکیل شده است. ویژگی هایی مانند رنگ، وزن، شماره موتور و اطلاعات دیگر ماشین. این روند قفل گذاری از پارکینگ شماره 1 به سمت پارکینگ شماره 200 و پارکینگ های آینده پیش می رود.
بنابراین، اگر یک سارق قصد ورود به پارکینگ شماره 49 را داشته باشد و تمام ویژگی های اتومبیل پارک شده در آن را اصلاح کند، یک قفل جدید برای پارکینگ شماره 49 تولید می شود و از آنجا که قفل پارکینگ شماره 50 به قفل پارکینگ شماره 49 مرتبط است، قفل پارکینگ شماره 50 نیز تغییر می کند و این روند تغییر برای پارکینگ های آینده نیز ادامه پیدا می کند.
اصلاح یک قفل به تغییر منابع محاسباتی زیادی احتیاج دارد. منابعی از جمله ویژگی های اتومبیل پارک شده و قفل پارکینگ قبلی و بعدی. بنابراین اصلاح قفل عملا غیرممکن است.
این وابستگی یک قفل به قفل قبلی، زنجیره ای از پارکینگ ها را ایجاد می کند. در دنیای فنی، این پارکینگ ها "بلاک" هستند، بنابراین نام آن ها بلاکچین می شود، یک زنجیره بلاکی.
بلاک های بلاکچین با هش به بلاک بعدی گره خورده اند. مشابه مثال پارکینگ، اگر داده ها در یک بلاک اصلاح شوند، هش ها باید برای تمام بلاک های زنجیره محاسبه شوند و از آنجا که محاسبه هش یک عملیات بسیار فشرده است، انجام این کار عملاً غیرممکن می شود. از این رو زنجیره، بلاک نامعتبر را رد می کند. محاسبه هش، استخراج (ماینینگ) نامیده می شود.
تمام رایانه های موجود در شبکه بلاکچین، کپی ای از بلاکچین کامل را نگهداری می کنند. بنابراین اگر یک بلاک یا یک زنجیره کامل در یک رایانه خاص یا چندین رایانه اصلاح شود، کل شبکه سعی می کند آن را با نسخه های زنجیره کامل خود مقایسه کند.
اگر اکثر رایانه های موجود در شبکه نامعتبر بودن زنجیره اصلاح شده را تایید کنند، زنجیره اصلاح شده با زنجیره معتبر سایر رایانه ها جایگزین می شود.