همانطور که در یکی از پستهای آیو درباره مسئله اجماع صحبت شد، در این پست میخواهیم کمی این مسئله را بازتر و البته ویژوال کنیم. مسئله اجماع در شبکه بیتکوین به عنوان یکی از چالشهای اصلی در سیستمهای توزیعشده مطرح است.
برای درک این مسئله، باید متوجه شویم که در شبکههایی مانند بیتکوین، صدها یا هزاران نود (گره) توزیع شده وجود دارند که باید در مورد وضعیت زنجیره (بلاکچین) به یک اجماع برسند. این اجماع به معنای توافق جمعی درباره تراکنشها و بلاکهای جدید است.
این فرآیند اجماع از طریق الگوریتمهای اجماع مانند اثبات کار (Proof of Work) انجام میشود. مسئلهی اجماع به دلیل نامتمرکز بودن و وجود گرههای بالقوه مخرب و ارتباطات ناپایدار سخت است و دارای چالشهای زیادی است.
همچنین، این مسئله در نظریهی سیستمهای توزیعشده به عنوان مشکلی مشابه مسئلهی ژنرالهای بیزانسی مطرح شده است. برای اینکه این مسئله کمی برای ما ملموس شود، ابتدا، تراکنشها و بلاکهای سادهای را شبیهسازی میکنیم که نشان دهد هر گره در شبکه چه کاری انجام میدهد.
تصویر 1، گراف شبکه بیتکوین را با گرهها و بلاکهای ماین شده نشان میدهد. برای این نمایش، یک گراف شبکه با 10 گره ایجاد کردهایم که از مدل تصادفی Erdos-Renyi استفاده میکند. این مدل احتمال اتصال بین هر دو گره را به صورت تصادفی با احتمال 0.4 تعیین میکند. هر گره به صورت تصادفی ماینر یک بلاک است و تراکنشها در بلاکها ثبت شدهاند.
تصویر 2 با عنوان Faulty Nodes گرههای مخرب را نشان میدهد که ممکن است با اعلام بلاکهای اشتباه باعث اختلال در فرآیند اجماع شوند. این چالش یکی از مشکلات مهم در شبکههای توزیع شده مانند بیتکوین است.
تصویر 3 نمایشدهنده گرهای است که زودتر از سایرین موفق به حل مسئله اثبات کار شده و اجماع را به دست میآورد. این گره با رنگ سبز نمایش داده میشود.
بنابراین، کد و توضیحات هر دو به خوبی بیانگر این هستند که چرا مسئله اجماع در بیتکوین خصوصاً به دلیل وجود گرههای مخرب و شبکههای نامتمرکز پیچیده است.
@aioooir | #breakthoughs_issues #research