به زبان ساده، بلاک چین یک نوع سیستم ثبت اطلاعات و گزارش است. تفاوت آن با سیستمهای دیگر این است که اطلاعات ذخیرهشده روی این نوع سیستم، میان همه اعضای یک شبکه به اشتراک گذاشته میشود. با استفاده از رمزنگاری و توزیع دادهها، امکان هک، حذف و دستکاری اطلاعات ثبتشده، تقریباً از بین میرود.
همهی ما میدانیم که بیت کوین بر بستر بلاک چین قرار دارد است اما بلاک چین چیست؟ چگونه میتوانیم اجزای بلاک چین را تصور کنیم؟ بلاک چین زنجیرهای از ساختارهای اطلاعاتی به نام بلاک است. هر بلاک را میتوان صفحهای از یک دفتر کل در نظر گرفت. ساختار بلاک در بلاک چین بیت کوین اجزای مختلفی دارد که این اجزا را میتوان در دو بخش(Block Header) و(Block Body) قرار داد. در این مقاله پس از توضیح کامل بلاک چین، به بررسی ساختار بلاک در بلاک چین بیت کوین میپردازیم.
بلاک چین چیست؟
فرض کنید من در یک جمع ۱۰۰ نفری، برگهای حاوی اطلاعات را بالا میگیرم و همه با تلفن همراهشان از آن برگه عکس میگیرند. حالا اگر من آن اطلاعات را نابود کنم، یا تغییری در آن بدهم، دیگر برای آن جمع قابل پذیرش نیست، چون آنها یک کپی از نسخه اصلی را دارند، مگر اینکه موبایل همه را بگیرم و آن را حذف کنم. این جمعی که از آن صحبت کردیم میتواند چندین میلیون نفر باشد که در بیت کوین و اتریوم و سایر ارزهای دیجیتال بلاک چینی شاهد آن هستیم و یا به صورت خصوصی برای یک گروه خاص استفاده شود.بلاک چینها میتوانند به صورت خصوصی و برای اهداف خاص در یک نهاد یا سازمان مورد استفاده قرار بگیرند که به آن بلاک چین سازمانی (Enterprise blockchain) هم میگویند. البته به عقیده بسیاری از کارشناسان، بلاک چینهای سازمانی نمیتوانند هدف اصلی این فناوری یعنی تمرکززدایی را به ارمغان بیاورند.
بلاک چین چگونه کار میکند؟
واژه بلاک چین (Blockchain) ترکیبی از دو کلمه ی block (بلوک) و chain (زنجیره) است. این فناوری در حقیقت زنجیرهای از بلوکهاست. در هر بلاک، هر اطلاعاتی میتواند ثبت شود؛ از جرم و جنایتهای یک فرد تا جزئیات تراکنشهای یک شبکه پولی مانند بیت کوین.اطلاعات در بلاکها ثبت میشوند و بلاکها با هم به صورت زنجیرهای مرتبط میشوند. این زنجیره، بلاک چین را تشکیل میدهد.
هش چیست؟
یک چیز دیگر هم وجود دارد. هر کدام از این بلاکها چیزی به نام هش (Hash) دارند. یک هش رشتهای متنی است که از یک تابع ریاضی خاص تولید شده و کاربرد آن جلوگیری از تقلب در سیستم است. هش یک داده یا ورودی، همیشه ثابت است. استفاده از راهکار هش باعث میشود تا از تقلب و تغییر اطلاعات ثبتشده روی بلاک چین جلوگیری به عمل آید. در بلاک چین، بلاکها علاوه بر اینکه خودشان یک هش دارند، حاوی هش بلاک قبلی هم هستند.کوچکترین تغییر در اطلاعات یک بلاک، هش آن را به طور کلی تغییر میدهد و بلاک چین را غیرمعتبر میسازد.اگر کسی محتوای یک بلاک را تغییر دهد و هش بلاکهای بعدی را به روزرسانی کند، چه میشود؟ این امکان وجود دارد اما راهکار توزیع در بلاک چین، این مشکل را حل میکند.
نود چیست؟
دادههای بلاک چین در یک کامپیوتر یا سرور خاص ذخیره نمیشوند. هر کامپیوتر یا سیستمی که به شبکه وصل شود، یک نسخه از اطلاعات را دریافت میکند. به هر کامپیوتری که به شبکه متصل میشود و یک کپی از بلاک چین را دریافت میکند، نود (Node) میگویند.وقتی به عنوان نود به یک بلاک چین متصل میشوید، یک نسخه از کل دادههای آن را دریافت میکنید. هیچ تغییری در اطلاعت امکان پذیر نیست، مگر اینکه اکثریت با آن موافق باشند.
فناوری بلاک چین
فناوری بلاک چین به خودی خود یک فناوری بنیادی نیست، بلکه مجموعهای از فرایندهای هشگذاری، رمزنگاری، توزیع جمعی و … است که باعث ایجاد این ایده شدهاند. قبل از بلاک چین دفاترکل توزیع شده وجود داشتند اما بلاک چین با ساختار بلاکی خود، فناوری دفتر کل توزیعشده را بهبود داده است.
بلاک هدر چیست؟
بلاک هدر به شش جز تقسیم میشود:
شمارهی نسخهی برنامه
شمارهی نسخهی برنامه در بسیاری از موارد اهمیتی ندارد. بههرحال یک ماینر با یک شمارهی نسخه، میتواند مشخص کند که از تصمیمات کدام پروتکل پشتیبانی میکند.
هشِ بلاک قبلی
هشِ بلاک قبلی در اصطلاح زنجیرهی بلاک چین نامیده میشود. از آنجایی که بلاک قبلی، هش بلاک جدید را دربردارد، بلاکهای بلاک چین براساس یکدیگر بنا میشوند. بدون این مولفه، هیچ ارتباط و گاهشماری بین بلاکها شکل نمیگیرد.
ریشهی درخت درهمسازی
همهی تراکنشهای موجود در بلاک میتواند در یک هش خلاصه شود. این هش، ریشهی هشِ درخت درهمسازی است.
هدف سختی فعلی
هدفِ سختی نشان میدهد که هشِ فعلی، چهاندازه باید کوچک باشد تا اعتبار آن توسط ماینرها تائید شود. بهعبارت دیگر یک هش، سایزی را به بیت دارد که باید مساوی یا کوچکتر از هشِ هدف باشد. یک هش با تعداد زیادی صفر در ابتدا، کوچکتر از هشِ بدون صفر در ابتدا میباشد.نانس
نانس، متغیر افزوده شده توسط الگوریتم اثبات کار است. بدین طریق ماینر هشِ معتبری را که کمتر از هدف سختی میباشد، حدس میزند.شش جزء ذکر شده بلاک هدر را تشکیل میدهند. بلاک هدر نقش بنیادی را برای بیت کوین دارد؛ بدلیل اینکه تمام بلاکها را بهیکدیگر مرتبط میسازد. شما میتوانید آن را مانند اتاق فرمان تصور کنید؛ در این اتاق اسنادی موجود است که از طریق کنترل شبکه مشخص میکند کدام کامیون به کدام سمت برود.
بدنه بلاک
بدنهی بلاک، همانند فضای بارگیری کامیون است که شامل تمام تراکنشهای تایید شده میشوند.وقتی که ماینر یک بلاک را میسازد، در واقع تراکنشها را تایید میکند. به این ترتیب، یک ماینر بررسی میکند که فرستنده بیت کوین بهاندازهی کافی بیت کوین برای خرج کردن دارد. ماینر، این اطلاعات را از طریق بلاک چین بررسی میکند. ماینر با بررسی اطلاعات گذشته آگاه میشود که آیا فرستندهی ۱۰ بیت کوین قبلاً ۱۰ بیت کوین دریافت کرده است؟
درخت درهمسازی چیست؟
درخت درهمسازی یا درخت مرکل اسمش را از رالف مرکل ریاضیدان معروف گرفته است. کشف این ریاضیدان این بود که اطلاعات زیادی را میتوان توسط یک هش ارائه داد. برای این امر، در وهلهی اول، اطلاعات (در اینجا تراکنشها) بهصورت منفرد هش میشوند؛ سپس همهی هشها دوباره هش میشوند و باهم ادغام میشوند. سرانجام درخت مرکل در یک هش جمع میشود. آخرین هش را ریشهی درخت درهمسازی هم مینامند. ریشهی هش، اطلاعات بالاتر همچون «برگها» (تراکنشها) و «شاخهها» (هشِ تراکنشها) را در یک سلسله متغییر نسبتاً کوتاه بهصورت خلاصه ارائه میدهد.تا وقتی که اطلاعات شاخهها و برگها در دسترس باشند، ساخت یک ریشهی هش کار بسیار سادهای است. عملکرد تابعِ هش را بیاد بیاوریم؛ عملکردی سریع و واضح در یک مسیر دارد و شکست مسیر آن غیرممکن است. اگر ریشهی هش معلوم و تراکنشها نامعلوم باشد، حدس تراکنشها غیرممکن است.
تایید ریشه هش
بنابراین ریشهی هش بهتنهایی کافی نیست و باقی بلاک هم باید ذخیره شود. بنابراین ماینرها هر زمان میتوانند از طریق هشِ محتوای داخل بلاک، ریشهی هش را تائید کنند. تا زمانی که تابع هش یکسان باشد ماینرها در ازای اطلاعات وارد شده، به هش یکسان میرسند. این امر بسیار مفید است زیرا آنها فقط در صورت همسطح بودن هش [ یا از یک تابع هش استفاده کنند] میتوانند اطلاعات را بررسی کنند.
ماینینگ: فرآیندی برای جستجوی هش منحصر به فرد
در این زمینه، درک استخراج مبتنی بر اثبات کار راحتتر است؛ در هنگام ماینینگ، بلاک هدر به تدریج تغییر میکند تا به هشِ منحصربهفرد برسد. بلاک هدر شامل ۵ ثابت و ۱ متغیر است. ثابتها شامل شمارهی نسخهی برنامه، هشِ بلاک قبلی، ریشهی هش بلاک، تایم استمپ و سختی هدف بهمنظور جستجوی ماینر میباشد.متغیر، نانس است که افزایش پیدا میکند. سپس ماینر اطلاعات را هش میکند تا از هدف سختی پایینتر باشد. اگر مقدار هش از سختی هدف بزرگتر باشد، ماینر نانس را تغییر میدهد و هش جدید را میسازد و دوباره بررسی میکند. این فرایند تا جایی ادامه پیدا میکند که هش، پایینتر از سختی هدف باشد یا بلاکی را که قبلاً توسط شبکه (توسط ماینر دیگر) هش شده را دریافت کند. سپس بلاک جدید را میسازد و از این هش برای بلاک بعدی استفاده میکند.
یافتن هش
ماینینگ یک فرایند بسیار تکراری بهمنظور یافتن هش منحصربهفرد است. زمانی که هش پیدا شود، بازی تازه شروع میشود. بهطور میانگین هر ۱۰ دقیقه یک بلاک ساخته میشود. بهدلیل اینکه سختی تطابق پیدا میکند، بهطور میانگین این مقدار یکسان است.
ویژگی خاص این فرایند آن است که هشِ منحصر به فرد، فقط با حدس زدن پیدا میشود. این روش محاسبات کامپیوتری هزینه زیادی در بردارد و در نتیجه انرژی زیادی را میطلبد.
هش و ماتروشکا
ساختار یک بلاک را میتوان به عروسکهای ماتروشکا تشبیه کرد. کوچکترین عروسک، تراکنش هش نشده است، عروسک بعدی، هش تراکنش است. پس از آن دو تراکنش با هم ترکیب میشوند و دوباره هش میشوند و این فرایند بیشتر و بیشتر ادامه میابد؛ در آخر فقط یک هش باقی میماند؛ ریشهی هش درخت درهمسازی، که میتوان آن را همانند بزرگترین عروسک تشبیه کرد.
منبع : آی ماینر
ارز مجازی خیلی ها را از خاک بلند کرد