بلاکچین به زبان ساده؛ فناوری پشت پرده رمزارزها چگونه کار میکند؟
بلاکچین (Blockchain) یکی از مهمترین فناوریهای عصر دیجیتال است که زیرساخت بسیاری از رمزارزها مانند بیتکوین و اتریوم را تشکیل میدهد. اگر بخواهیم خیلی ساده توضیح دهیم، بلاکچین یک دفتر ثبت اطلاعات دیجیتال و توزیعشده است که اطلاعات در آن بهصورت زنجیرهای از بلوکها ذخیره میشوند و تغییر دادن سوابق ثبتشده در آن، بدون جلب موافقت شبکه، بسیار دشوار است.
اما بلاکچین دقیقاً چگونه کار میکند و چه تفاوتی با یک پایگاه داده معمولی دارد؟
بلاکچین چیست؟
کلمه Blockchain از دو بخش تشکیل شده است:
- Block: بلوک
- Chain: زنجیره
اطلاعات در بلاکچین در قالب «بلوک» ذخیره میشوند و این بلوکها بهصورت رمزنگاریشده به یکدیگر متصل هستند.
برای مثال، در یک شبکه رمزارزی ممکن است اطلاعات مربوط به تعداد زیادی تراکنش در یک بلوک قرار بگیرد:
بلوک ۱ → بلوک ۲ → بلوک ۳ → بلوک ۴ → ...
هر بلوک علاوه بر اطلاعات خود، اطلاعاتی دارد که آن را به بلوک قبلی مرتبط میکند. همین ساختار زنجیرهای یکی از دلایل مقاومت بلاکچین در برابر دستکاری است.
بلاکچین چگونه کار میکند؟
فرض کنیم علی میخواهد مقداری بیتکوین برای رضا ارسال کند.
فرآیند بهصورت ساده چنین است:
۱. ایجاد تراکنش
علی درخواست انتقال بیتکوین را ارسال میکند.
۲. انتشار تراکنش در شبکه
تراکنش برای کامپیوترهای عضو شبکه ارسال میشود.
۳. بررسی تراکنش
شبکه بررسی میکند که آیا تراکنش معتبر است یا خیر؛ برای مثال آیا علی واقعاً امکان خرج کردن آن مقدار بیتکوین را دارد؟
۴. قرار گرفتن تراکنشها در یک بلوک
تراکنشهای معتبر در کنار تراکنشهای دیگر قرار میگیرند و یک بلوک جدید ایجاد میشود.
۵. تأیید بلوک
بسته به نوع بلاکچین، مکانیزم اجماع شبکه تعیین میکند که بلوک چگونه تأیید شود.
۶. اضافه شدن بلوک به زنجیره
پس از تأیید، بلوک به زنجیره بلاکها اضافه میشود.
۷. ثبت در نسخههای شبکه
کامپیوترهای مختلف شبکه اطلاعات جدید را دریافت و ثبت میکنند.
در نتیجه، تراکنش در دفترکل شبکه ثبت شده است.
چرا به آن «غیرمتمرکز» میگویند؟
در یک بانک سنتی، اطلاعات حسابها عمدتاً در زیرساختهای تحت کنترل بانک نگهداری میشود.
برای مثال:
کاربر
↓
بانک
↓
پایگاه داده بانک
اما در بسیاری از بلاکچینهای عمومی، اطلاعات دفترکل میان تعداد زیادی از کامپیوترهای شبکه توزیع میشود:
┌── Node
├── Node
کاربر → شبکه ├── Node
├── Node
└── Node
بنابراین یک نهاد واحد لزوماً کنترل کامل شبکه را در اختیار ندارد.
البته غیرمتمرکز بودن یک ویژگی صفر و یکی نیست؛ میزان تمرکززدایی شبکهها با یکدیگر متفاوت است.
نقش رمزنگاری در بلاکچین چیست؟
رمزنگاری بخش مهمی از امنیت بلاکچین است.
یکی از مفاهیم مهم، Hash یا تابع هش است.
تابع هش یک ورودی را دریافت و یک خروجی با طول مشخص تولید میکند.
بهصورت ساده:
اطلاعات تراکنش
↓
Hash Function
↓
8f3a...92bd
اگر اطلاعات ورودی حتی کمی تغییر کند، خروجی هش نیز تغییر میکند.
به همین دلیل هشها میتوانند برای تشخیص تغییرات در دادهها مورد استفاده قرار گیرند.
چرا تغییر یک بلوک آسان نیست؟
فرض کنیم زنجیرهای داریم:
Block 1 → Block 2 → Block 3 → Block 4
هر بلوک به اطلاعاتی از بلوک قبلی وابسته است.
اگر شخصی اطلاعات Block 2 را دستکاری کند، هش آن تغییر میکند و ارتباط آن با Block 3 دیگر معتبر نخواهد بود.
بهصورت ساده:
تغییر Block 2
↓
Hash جدید Block 2
↓
ارتباط با Block 3 مشکل پیدا میکند
↓
زنجیره نیاز به بازسازی دارد
در شبکههای بزرگ، سازوکار اجماع و ساختار توزیعشده نیز کار مهاجم را بسیار دشوارتر میکند.
بنابراین بهتر است بهجای اینکه بگوییم «بلاکچین غیرقابل تغییر است»، بگوییم تغییر سوابق تأییدشده در بسیاری از بلاکچینها بسیار دشوار و پرهزینه است.
ماینینگ چیست؟
در بلاکچینهایی مانند بیتکوین، ماینرها (Miners) در فرآیند تأیید و ثبت بلوکها نقش دارند.
بیتکوین از الگوریتم اجماع Proof of Work استفاده میکند.
ماینرها با استفاده از توان پردازشی کامپیوترهای خود تلاش میکنند مسئله محاسباتی مربوط به ایجاد بلوک را حل کنند.
ماینری که شرایط لازم را به دست آورد، میتواند بلوک را به شبکه پیشنهاد کند و در صورت پذیرش شبکه، پاداش دریافت کند.
البته این فرآیند به مصرف انرژی و سختافزار تخصصی نیاز دارد.
Proof of Stake چیست؟
همه بلاکچینها از استخراج به روش بیتکوین استفاده نمیکنند.
در Proof of Stake یا اثبات سهام، اعتبارسنجها معمولاً با قرار دادن مقدار مشخصی از دارایی شبکه بهعنوان Stake در فرآیند تأیید تراکنشها و تولید بلوک مشارکت میکنند.
اتریوم یکی از معروفترین شبکههایی است که از Proof of Stake استفاده میکند.
به همین دلیل:
Bitcoin → Proof of Work
Ethereum → Proof of Stake
البته جزئیات فنی هر شبکه میتواند بسیار متفاوت باشد.
بلاکچین چه ارتباطی با رمزارزها دارد؟
رمزارزها یکی از مهمترین کاربردهای بلاکچین هستند.
برای مثال، بلاکچین بیتکوین دفترکل تراکنشهای شبکه بیتکوین را نگهداری میکند.
یعنی بهجای اینکه یک بانک مرکزی یا شرکت مشخص، دفتر حسابها را کنترل کند، شبکهای از کامپیوترها و قوانین پروتکل در ثبت و تأیید تراکنشها نقش دارند.
اما نکته مهم این است که:
بلاکچین فقط برای رمزارزها ساخته نشده است.
از این فناوری میتوان در حوزههایی مانند:
- قراردادهای هوشمند
- امور مالی غیرمتمرکز (DeFi)
- توکنهای دیجیتال
- زنجیره تأمین
- ثبت مالکیت دیجیتال
- بازیهای مبتنی بر بلاکچین
- احراز اصالت برخی داراییهای دیجیتال
نیز استفاده کرد.
قرارداد هوشمند چیست؟
Smart Contract برنامهای است که روی یک شبکه بلاکچینی اجرا میشود و در صورت تحقق شرایط مشخص، عملیات تعریفشده را انجام میدهد.
مثلاً تصور کنید قراردادی تعریف شده است:
اگر A مقدار مشخصی ارز ارسال کرد
↓
دارایی B به A منتقل شود
در یک شبکه مناسب، این منطق میتواند توسط کد اجرا شود.
اتریوم یکی از مهمترین پلتفرمهای قرارداد هوشمند است.
تفاوت بلاکچین با دیتابیس معمولی چیست؟
این دو فناوری کاملاً یکسان نیستند.
| ویژگی | دیتابیس معمولی | بلاکچین |
|---|---|---|
| مدیریت | معمولاً یک سازمان | شبکهای از مشارکتکنندگان |
| تغییر داده | نسبتاً ساده | معمولاً بسیار دشوارتر |
| اجماع شبکه | معمولاً لازم نیست | بخش مهم بسیاری از بلاکچینها |
| سرعت | معمولاً بسیار بالا | بسته به شبکه |
| کاربرد | تقریباً همه سیستمهای نرمافزاری | کاربردهای خاص |
| تمرکززدایی | معمولاً کم | در برخی شبکهها زیاد |
به همین دلیل بلاکچین لزوماً جایگزین بهتر دیتابیس نیست.
اگر یک شرکت بخواهد اطلاعات کاربران خود را ذخیره کند، در بسیاری از موارد یک دیتابیس معمولی سریعتر، ارزانتر و سادهتر است.
ارزش بلاکچین بیشتر زمانی مشخص میشود که ویژگیهایی مانند دفترکل مشترک، عدم نیاز به یک کنترلکننده مرکزی، قابلیت راستیآزمایی و اجماع میان مشارکتکنندگان اهمیت داشته باشند.
آیا بلاکچین کاملاً امن است؟
خیر.
بلاکچین میتواند امنیت بسیار بالایی داشته باشد، اما «امن بودن بلاکچین» به معنی امن بودن تمام پروژهها و برنامههای ساختهشده روی آن نیست.
برای مثال ممکن است:
- قرارداد هوشمند یک پروژه دارای آسیبپذیری باشد.
- کلید خصوصی کاربر سرقت شود.
- یک صرافی هک شود.
- کاربر به یک پروژه کلاهبرداری اعتماد کند.
- یک شبکه کوچک در برابر حملات خاص آسیبپذیر باشد.
بنابراین باید بین امنیت خود پروتکل بلاکچین و امنیت برنامهها و سرویسهای ساختهشده روی آن تفاوت قائل شد.
جمعبندی
اگر بخواهیم بلاکچین را در یک جمله تعریف کنیم:
بلاکچین یک دفترکل دیجیتال توزیعشده است که اطلاعات را در بلوکهایی به هم پیوسته ثبت میکند و با استفاده از رمزنگاری، شبکه توزیعشده و سازوکارهای اجماع، امکان ثبت و بررسی سوابق را بدون تکیه کامل بر یک مرکز واحد فراهم میکند.
رمزارزها فقط یکی از کاربردهای مهم این فناوری هستند. بیتکوین نشان داد که میتوان یک سیستم انتقال ارزش دیجیتال ایجاد کرد که برای ثبت تراکنشهای آن به یک بانک یا واسطه مرکزی نیاز نداشته باشد؛ بعدها شبکههایی مانند اتریوم نیز مفهوم قرارداد هوشمند و برنامههای غیرمتمرکز را گسترش دادند.