من در وبلاگ های قبلی خود درباره بلاک چین بحث زیادی کرده ام. اجازه دهید آن را پیش ببریم و با جزئیات بیشتر در مورد آن بحث کنیم. برای شروع، اجازه دهید یک بلوک واحد از بلاک چین را در نظر بگیریم. همانطور که می بینید، این بلوک دارای ابعاد متعددی است.
یک بلوک در بلاک چین
یکی از ابعاد بلوک داده است که بخش داده بلاک چین را نگه می دارد. این میتواند هر نوع دادهای باشد، مانند - فهرستی از تراکنشها، سندی که میتوانید امضا کنید، یا هر داده مرتبط با تجارت دیگر. قسمت دوم بلوک قسمت هش است که هش داده های بلوک را نگه می دارد. هش داده ها به همراه بازه زمانی محاسبه می شود و هش حاصل در قسمت هش بلوک ذخیره می شود. قسمت سوم بلوک هش بلوک قبلی است. با اضافه کردن آن، اطمینان حاصل می کنیم که یک بلوک به بلوک همتای خود متصل است و همچنین از صحت بلوک قبلی اطلاع دارد. بنابراین، اگر کسی بلوک قبلی را دستکاری کند، هش بلوک قبلی تغییر میکند و هشهای بلاک ناسازگار خواهیم داشت.
در فرآیند تشکیل یک بلاک چین، اولین بلوک بلاک چین، بلاک جنسیس نامیده می شود. بلوک جنسیس اولین بلوک هر بلاک چین است. در ساختار بلوک پیدایش، میدان بلوک قبلی خالی است زیرا بلوک قبلی وجود ندارد.
بلوک پیدایش
رسمیسازی بلاکچین نه تنها به بلوک پیدایش نیاز دارد، بلکه برای افزودن یک بلوک به زنجیره، نیازمند رعایت برخی قوانین است. این پروتکل اجماع نامیده می شود. پروتکل اجماع بلاک چین نحوه پردازش یک بلوک را دیکته می کند که به این معنی است که چگونه هش بلاک را محاسبه می کنیم. اگر هر بلوکی تعدیل شود، بقیه بلوکها در بلاک چین نامعتبر خواهند بود. تنها راه برای باطل کردن یک زنجیره کامل این است که با یک بلوک تطبیق داده شود و تمام بلوک های بعدی دوباره محاسبه شود. در حالی که ما در مورد بلاک جنسیس صحبت می کنیم، در اینجا بلاک جنسیس بیت کوین است. همانطور که می بینید، این اولین بلوک بیت کوین است. هیچ بلوک قبلی بدون تراکنش برای محاسبه وجود ندارد. همچنین یک پاداش برای محاسبه هش در این بلوک وجود دارد که 50 BTC است.
اکنون که ما در مورد بلاک چین می دانیم، اگر کسی بلاک چین را دستکاری کند، چه؟ خب، یک بلاک چین نامعتبر برای همه گره ها وجود خواهد داشت. برای مقابله با این مشکل، مفهوم بلاک چین توزیع شده معرفی شده است. در یک بلاک چین توزیع شده، هر گره در شبکه دارای کپی مخصوص به خود از بلاک چین است و هر تغییری در یکی از بلاک چین ها احراز هویت می شود و با تمام بلاک چین های داخل شبکه همگام سازی می شود. بلاک چین توزیع شده هنوز در برابر یک مشکل امنیتی معروف آسیب پذیر است. بنابراین، اگر بیش از 50 درصد از گره های بلاک چین را باطل کنید، کنترل شبکه را با موفقیت به دست آورده اید. می توانید پروتکل اجماع را بازنویسی کنید. می توانید تاریخچه تراکنش ها را دستکاری کنید. اما انجام آن به این راحتی نیست. انجام چنین حمله ای در بیش از نیمی از شبکه به طور همزمان تقریبا غیرممکن است. بنابراین،
51 درصد حمله
حالا بیایید در مورد حمله 51 درصدی با جزئیات بیشتر صحبت کنیم. اجازه دهید در نظر بگیریم که شما یک شبکه با چندین گره دارید. اجازه دهید گره ها را به دو رنگ - قرمز و آبی تقسیم کنیم. گره های آبی گره های خوب هستند و هر یک از گره های خوب کپی مخصوص به خود از بلاک چین دارند. گرههای قرمز گرههای بد یا گرههای مخرب هستند و همچنین یک کپی معتبر از بلاک چین نیز دارند. سپس گره بد یک بلوک مخرب را در شبکه منتشر می کند و به طور همزمان این کار را با تمام محلی های گره های بد انجام می دهد. این در عوض، همان بلوک را برای تمام گرههای شبکه منتشر میکند.
حال، گره های خوب نیز همان بلوک مخرب را دریافت خواهند کرد و این احتمال وجود دارد که با برچسب گذاری آن به عنوان یک بلوک مخرب، بلوک را باطل کنند. اما، اگر تعداد گرههای بد بیشتری نسبت به گرههای خوب در شبکه داشته باشیم، اکثر گرههای شبکه، بلوک مخرب را به عنوان بخشی از بلاک چین معتبر میپذیرند. گرههای خوب بلاک چین خود را نامعتبر میدانند زیرا تعدادشان کم است و با بلاک چین بد همگام میشوند. بنابراین در حال حاضر، کل شبکه آلوده شده است و در نتیجه یک حمله موفقیت آمیز 51٪ است.
اثبات کار
انجام حمله 51 درصدی بسیار ساده به نظر می رسد، زیرا تنها کاری که باید انجام دهید این است که هش های بلاک چین را دوباره محاسبه کنید و سپس، می توانید کل زنجیره را با قدرت CPU کافی باطل کنید. برای رفع این مشکل، چیزی به نام اثبات کار وجود دارد. اثبات کار حکم میکند که میتوانید هش را محاسبه کنید، اما قوانین خاصی برای هش اعمال میشود. هش باید تعداد خاصی از صفر داشته باشد یا حداقل با تعداد کاراکترها یا اعداد "x" شروع شود. با معرفی چنین قوانینی، فرآیند تولید هش سختتر میشود و به زمان CPU بیشتری نیاز دارد، زیرا باید ترکیبهای مختلف کلید را امتحان کنید تا به یک بلوک قابل قبول برسید و سپس آن کلید را با بلوک منتشر کنید تا سایر گرهها در یک بلوک شبکه می تواند کار شما را تایید کند.
قوانین PoW در ارزها یا دامنه های مختلف متفاوت است. به عنوان مثال، بیت کوین در هر 10 دقیقه یک بلاک می پذیرد، سکه Intense پس از هر 30 ثانیه یک بلاک می پذیرد. قسمت دیگری به نام سختی وجود دارد که در قوانین اثبات کار گنجانده شده است. هر چه سختی بیشتر باشد، انجام یک حمله 51 درصد سخت تر است.
معدن
بیایید بگوییم اگر من یکی از گره هایی هستم که قدرت پردازش من را برای محاسبه هش ها مشارکت می کند. در ازای قدرت پردازشی که دارم چه چیزی دریافت خواهم کرد؟ گره های خاصی وجود دارند که به پردازش بلاک چین کمک می کنند. این گره ها را گره های ماینینگ می نامند. کل مفهوم به عنوان استخراج در بلاک چین نامیده می شود که در آن گره ها یک بلوک منتشر شده را دریافت می کنند، یک هش روی آن بلوک را با استفاده از یک کلید تصادفی محاسبه می کنند تا زمانی که به سختی برسد، و هنگامی که هش را با موفقیت محاسبه کرد، می توانیم بگوییم که ما با موفقیت استخراج کرده ایم. بلوک سپس، آن را در سایر گرههای شبکه منتشر میکند. گره در ازای آن پاداشی به شکل ارز دریافت می کند. این به ساخت بلاک چین کمک می کند و همچنین به ارز کمک می کند.
ماینینگ فرآیند اجرای قوانین بلاک چین است که با پردازش بلوک های معتبر و نامعتبر، شبکه را پایدار، ایمن و ایمن نگه می دارد. اما مشکل این است که آینده روشنی ندارد. در بسیاری از ارزها، به دلیل مصرف بیش از حد الکتریسیته، برای محاسبه هش قدرت زیادی لازم است، بنابراین شاید استخراج آینده نباشد. راه حل های جایگزین مختلفی وجود دارد که بعداً در مورد آنها صحبت خواهیم کرد.
خلاصه
بنابراین در این وبلاگ مفاهیم بلوک، اثبات کار، ماینینگ و حمله 51% را لمس کرده ام.