اگر از ۱۰ نفر بپرسید که فناوری بلاک چین چیست ۱۰ پاسخ متفاوت دریافت میکنید. بهترین رویکرد برای درک واقعی از مفهوم بلاک چین، یادگیری این فناوری به صورت قدم به قدم میباشد.
بنابراین در این مقاله به سه جزء اصلی فناوری بلاک چین میپردازیم که عبارتند از: خود بلاک چین، شبکه های همتا به همتا و مکانیزم های اجماع. اگر هر کدام از این اجزا وجود نداشته باشد، بیت کوین نیز وجود نخواهد داشت. مقاله را با توضیحاتی در خصوص بلاک چین ادامه می دهیم.
“اگر نتوانید مطلبی را به سادگی توضیح دهید، آن را به خوبی متوجه نشده اید” آلبرت اینشتین
۱- بلاک چین
به طور خلاصه، بلاک چین روشی است برای ساختارمند کردن داده ها. تمام اجزای بلاک چین نیز به دنبال تحقق این هدف میباشند. بلاک چین یک دفتر کل است، فایلی که سوابق حسابداری را نگهداری و پیگیری میکند. این فایل را میتوان با کتابی مقایسه کرد که هرگز به پایان نمیرسد. هر صفحه از این کتاب دارای اطلاعات و شماره صفحه میباشد. به دلیل وجود این شماره صفحات، بلافاصله متوجه میشوید که صفحات مورد نظر در کجای کتاب جای میگیرند. مشخصا صفحه ۴۹ بین صفحات ۴۸ و ۵۰ میباشد.
همانند صفحات، بلاک ها نیز دارای اطلاعات میباشند. اگرچه بلاک ها به طور دقیق دارای شماره گذاری نمیباشند اما ثبت زمانی دیجیتال دارند که دقیقا همان کارکرد شماره صفحه را دارند. بلاک جدید همواره پس از بلاک با جدیدترین ثبت زمانی دیجیتال افزوده میشوند. بدین ترتیب یک زنجیره شکل میگیرد.
نکته جالب درباره بلاک چین این است که از رمزنگاری استفاده میکند تا متوجه انجام هرگونه تغییر در اطلاعات هرکدام از صفحات این کتاب بشویم. این ویژگی باعث وجود ساختار خوب اطلاعات برای سوابق ثبت شده میشود.
کاربردهای بلاکچین
در بلاک چین بیت کوین، بلاک های حاوی اطلاعاتی درباره تراکنش های بیت کوین میباشند. بلاک ها بیان میکنند که چه کسی چه مقدار بیت کوین برای چه فرد دیگری ارسال کرده است.
از آنجایی که بلاک چین برای پیگیری انتقال های بیت کوین از زمان پیدایش آن مورد استفاده قرار گرفته است، میتوان دفتر کل را بررسی کنیم تا متوجه شویم که دقیقا در زمان مشخص هر فرد چه مقدار بیت کوین در اختیار داشته است. به این شرایط، وضعیت فعلی بلاک چین میگوییم.
تراکنش فقط هنگامی انجام میشود که وارد بلاک شده و به زنجیره افزوده شود. بنابراین، هنگامی که بلاک به زنجیره افزوده میشود، بلاک چین به روز رسانی میشود. در آخر بیت کوین انتقال مییابد.
شرایط فوق بدان معنا است که اگر بخواهیم بدانیم که تراکنشی برای ما انجام شده است یا خیر، باید وضعیت بلاک چین را بررسی کنیم. برای انجام این کار، دفترکل باید در دسترس عموم باشد. در این مرحله است که شبکه های همتا به همتا وارد میشوند.
۲- نقش شبکه های همتا به همتا
به منظور استفاده از بلاک چین به عنوان دفترکل برای اطلاعات تراکنش ها، باید بلاک چین را بررسی کنیم که آیا تراکنشی برای آدرس کیف پول ما انجام شده است یا خیر.
اگر بلاک چین فقط در یک رایانه ذخیره شده بود و آن رایانه خاموش میشد، این شرایط واقعا غیرقابل تحمل میشد. بنابراین، وضعیت فعلی بلاک چین توسط تعداد بسیار زیادی رایانه در سراسر جهان دانلود و همگام سازی شده است و در دسترس عموم قرار گرفته است.
به این رایانه ها نود میگویند. این نودها در شبکه همتا به همتا با یکدیگر همکاری میکنند تا از امنیت و به روز بودن بلاک چین اطمینان حاصل شود. هرکدام از این نودها، نسخه کامل و به روز رسانی شده بلاک چین را ذخیره میکنند. هربار که بلاک جدیدی اضافه شود، تمام نودها بلاک چین خود را به روز رسانی میکنند. استفاده از شبکه همتا به همتا مزایای خاصی دارد که عبارتند از:
- همیشه میتوانیم وضعیت بلاک چین را با استفاده از مرورگر بلاک چین بررسی کنیم.
- دیگر برای دانستن وضعیت واقعی بلاک چین به یک فرد یا گروه وابسته نیستیم.
- دیگر به امنیت یک سرور برای اطمینان از امنیت بلاک چین وابسته نیستیم.
- کاربران مخرب یا هکرها باید به جای یک سرور، هزاران رایانه را به طور همزمان هک کنند.
- میتوانیم اطمینان حاصل کنیم که بلاک چین هرگز حذف نمیشود زیرا باید توسط تمام نودها حذف شود.
مقایسه مدل مبتنی بر سرور و شبکه همتا به همتا
تمام موارد فوق بسیار مهم هستند اما بدان معنا نمیباشند که بلاکچین برای ذخیره دارایی های قابل تراکنش به اندازه کافی ایمن باشد.
برای مثال از کجا بدانیم که اطلاعات تراکنش در بلاک چین صحیح میباشند؟ از کجا بدانیم که تراکنش نامعتبر در بلاک ها وجود ندارند؟ و اگر نسخه های مختلفی از بلاک چین وجود داشته باشد از کجا بدانیم که کدام بلاک چین، وضعیت واقعی را نشان میدهد؟
تمامی این موارد به شیوه هوشمندانه ای توسط مکانیزم اجماع پاسخ داده میشود و استفاده از این مکانیزم توسط شبکه همتا به همتا امکان پذیر است.
۳- مکانیزم اجماع
مکانیزم همتا به همتا اولین بار توسط نپستر در سال ۱۹۹۹ استفاده شد. بلاک چین نیز قبل از بیت کوین وجود داشت.
بخش هوشمندانه وایت پیپر ساتوشی ناکاموتو موسس ناشناس و مرموز بیت کوین در ترکیب دو مکانیزم اجماع بر اساس رمزنگاری بود. مکانیزم های اجماع همان چیزی هستند که جادوی بیت کوین را به وجود میآورد. این مکانیزم، نودهای شبکه همتا به همتا را امکان پذیر میسازد تا بدون شناخت یا اعتماد به یکدیگر به همکاری بپردازند.
ویتالیک بوترین در این خصوص گفته است:
هدف الگوریتم اجماع، امکان پذیر ساختن به روزرسانی ایمن وضعیت بلاک چین بر اساس بعضی از قوانین خاص انتقال است که به موجب آن، حق انجام انتقال وضعیت بین کاربران توزیع شده است و این حق توسط الگوریتم خاصی مشخص میشود.
اگر کاملا متوجه این موضوع نشده اید، به طور ساده تر میتوانیم بگوییم که مکانیزم اجماع مجموعه ای از قوانین است که توسط نودهای شبکه و اجرای نرم افزار شبکه مورد تایید و موافقت واقع میشود. این قوانین اطمینان حاصل میکنند که شبکه همانطور که برنامه ریزی شده است کار میکند.
پروتکل اجماع در خصوص موارد زیر قوانین خود را وضع میکند:
- نحوه اضافه شدن بلاک ها به زنجیره
- چه زمانی بلاک های مورد تایید واقع میشوند.
- تضادها و اختلافات چگونه برطرف میشود.
افزودن بلاک ها به زنجیره
بلاکچین های مختلف، روش های متفاوتی برای افزودن بلاک ها به زنجیره خود دارند. شناخته شده ترین مکانیزم اجماع، گواه اثبات کار (PoW) بیت کوین است. اولین قانون گواه اثبات کار این است که به طور متوسط هر دقیقه باید یک بلاک به بلاک چین افزوده شود.
به فرآیند تسهیل این موضوع ماینینگ میگویند. نودهایی که در صدد افزودن بلاک به زنجیره میباشند (ماینرها) از توان محاسباتی رایانه های خود برای حل کردن پازل های رمزنگاری شده استفاده میکنند. قوانین بیان میکنند که فقط هنگامی که این پازل حل شود، بلاک میتواند به زنجیره اضافه شود.
به ماینرهایی که پازل ها را حل میکنند و هم چنین ماینرهایی که بلاک جدید به زنجیره اضافه میکنند توسط شبکه پاداش داده میشود. مقدار از قبل مشخص شده ای از کوین های جدید و هم چنین کارمزد تراکنش های انجام شده به ماینر داده میشود. در نتیجه، تمام ماینرها شروع به استخراج بلاک بعدی خواهند کرد.
شکل ۴: سیستم استخراج بیت کوین. برای داشتن توان پردازشی کافی برای استخراج به تعداد بسیار زیادی کارت گرافیک نیاز است.
گواه اثبات کار بیت کوین تنها مکانیزم اجماع موجود نمیباشد. گواه اثبات سهام (PoS) نیز در دفترکل های توزیع شده استفاده میشود. در مکانیزم مبتنی بر گواه اثبات سهام، کاربران میتوانند برای افزایش احتمال افزودن بلاک بعدی، کوین های خود را در اختیار بگذارند. میتوان اینطور گفت که کاربر میگوید: من این مقدار کوین خود را شرط میبندم تا بلاک مورد نظر را به طور صحیح اضافه کنم. در غیر این صورت این کاربر کوین های خود را از دست میدهد.
بحث های زیادی وجود دارد که کدام مکانیزم اجماع بهتر است. علیرغم اینکه بلاک چگونه ایجاد میشود، سایر نودهای شبکه باید هم چنان بتوانند در خصوص معتبر یا نامعتبر بودن بلاک تصمیم گیری کنند.
اعتبار بلاک ها
هنگامی که ماینر پازل را حل و بلاک را استخراج میکند، نودهای شبکه بررسی میکنند که آیا بلاک معتبر است یا خیر و سپس آن را به نسخه بلاک چین خود اضافه میکنند. ابتدا نودها باید در خصوص اعتبار بلاک به اجماع برسند. فقط پس از این موضوع است که شبکه همگام سازی میشود و وضعیت بلاک چین به روز رسانی میشود.
نودها فقط در صورتی بلاک های استخراج شده را به زنجیره اضافه خواهند کرد که از قوانین مکانیزم اجماع پیروی کنند. نرم افزار نودها بررسی میکند که آیا بلاک جدید معتبر است یا خیر. بلاک نامعتبر تایید نخواهد شد.
طبیعتاً اگر بلاک تایید شود، تراکنش داخل آن نیز مورد تایید قرار میگیرد. برای مثال قوانین پروتکل بیت کوین بیان میکند که هیچکس نمیتواند بیت کوین هایی که هنوز دریافت یا استخراج نکرده است را ارسال کند.
به عبارت دیگر، نرم افزار نودها تمام تراکنش های موجود در بلاک را بررسی میکند که آیا ارسال کننده، بیت کوین کافی برای انجام تراکنش دریافت کرده است یا خیر. به منظور انجام این کار، وضعیت شبکه بررسی میشود.
اکنون فرض کنید که یک بیت کوین دریافت کرده ام و آن را به آلیس ارسال خواهم کرد. سپس سعی میکنم همین بیت کوین را به باب هم ارسال کنم. به محض آنکه بلاک حاوی تراکنش اول من به زنجیره افزوده شود، تمام نودها بلاک چین را به روز رسانی خواهند کرد تا بیان کنند که دیگر این بیت کوین را در اختیار ندارم. تر بلاک تازه استخراج شده ای که حاوی تراکنش من به باب باشد توسط نودها رد خواهد شد. نرم افزار نودها متوجه میشود که بلاک مورد نظر از قوانین پیروی نمیکند بنابراین این بلاک را به بلاک چین اضافه نمیکنند.
تضادها و اختلافات چگونه برطرف میشود؟
ممکن است دو ماینر همزمان یک بلاک معتبر را به زنجیره اضافه کنند. فرض کنید که بخشی از نودها یکی از بلاک های معتبر و بخش دیگری از نودها، بلاک معتبر دیگر را تایید کنند. گروه اول شامل بلاک حاوی تراکنش من با آلیس و گروه دوم شامل بلاک حاوی تراکنش من با باب است. اکنون دو وضعیت مختلف از بلاکچین داریم.
به این وضعیت، فورک میگوییم و بیان میکنیم که بلاک چین به دو زنجیره متفاوت فورک زده است. آیا آلیس و باب بیت کوین من را دریافت میکنند؟ کدام یک از این دو زنجیره، بلاکچین واقعی میباشند؟
معمولا تمام پروتکلهای اجماع این مشکل را با یک قانون ساده برطرف میکنند: طولانی ترین زنجیره برنده است.
تصویری از فورک بلاک چین
هنگامی که فورک صورت میگیرد، بعضی از ماینرها در یک زنجیره شروع به ماینینگ خواهند کرد و سایر ماینرها در زنجیره دیگر به ماینینگ خواهند پرداخت. مشخصا یک زنجیره نسبت به زنجیره دیگر ماینر بیشتری خواهد داشت و بدین ترتیب بلاک های جدید را سریعتر به زنجیره خود اضافه خواهد کرد. بقیه ماینرها نیز به سمت زنجیره طولانی تر خواهند رفت و زنجیره فورک زده شده همیشه از بین خواهد رفت و آسیبی به زنجیره اصلی وارد نمیشود.
از کجا میدانیم که این اتفاق همیشه رخ خواهد داد؟
زیرا ماینرها عوامل اقتصادی هستند که بر اساس منافع خود عمل میکنند. ماینرها هیچ علاقه ای به ماینینگ در زنجیره فورک زده شده ندارند و میدانند که این زنجیره از بین خواهد رفت. تمام تراکنش ها در زنجیره فورک زده شده هرگز در زنجیره اصلی رخ نداده است. این موضوع بدان معنا است که ماینرهایی که در زنجیره فورک زده شده استخراج کرده اند پاداشی دریافت نکرده اند. هزینه ماینینگ بلاک هایی که در زنجیره اصلی حضور ندارند بسیار زیاد است.
در موارد نادر، زنجیره فورک زده شده دارای مقدار قابل توجهی توان ماینینگ میباشد. در این موارد، ممکن است مدتی طول بکشد تا مشخص شود که کدام زنجیره، زنجیره اصلی است. منطق بیان میکند که بهتر است ۶ بلاک یک تراکنش را تایید کند.
تصویر فورک بلاک چین. این شرایط تقریبا برای بیش از ۵ بلاک رخ نمیدهد.
این قانون که بیان میکند که زنجیره بلندتر برنده است در ترکیب با این نکته که برای افزودن بلاک ها به زنجیره به توان پردازشی بسیار زیادی نیاز است، بلاک چین را بسیار ایمن میسازد. تقریبا میتوان گفت که تنها روش برای حمله به شبکه این است که به بعضی از بلاک های قبلی بلاک چین برگردیم، در زنجیره فورک ایجاد کنیم و از آنجا شروع به استخراج بلاک های جدید کنیم. هرچند برای انجام این کار، هکر باید تمام کارهای انجام شده توسط ماینرها را از نقطه مورد نظر مجددا انجام دهد تا به زنجیره اصلی برسد. بدون داشتن توان محاسباتی بیشتر از کل شبکه ماینرها، این امر غیر ممکن است. به طور ساده تر میتوان گفت، میزان برق و تعداد کارت های گرافیک مورد نیاز برای چنین عملیاتی بسیار هزینه بر خواهد بود.
نتیجه گیری
این مقاله را میتوان به عنوان معرفی کوتاهی از نحوه کار دفترکل توزیع شده دانست. اکنون میدانید چرا بلاک چین اسم مناسبی برای دفترکل توزیع شده نمیباشد.
هرچند دفعه بعد که فردی برای شما از بلاک چین صحبت کرد میتوانید به او بگویید بلاک چین فقط روشی برای ساماندهی داده ها و اطلاعات میباشد. فکر کنم منظورت دفترکل توزیع شده است که برای نگهداری سوابق مورد استفاده قرار میگیرد و بر بستر شبکه همتا به همتایی از نودها و ماینرها میباشد که توسط پروتکل اجماع مدیریت میشود.