دانشجوی فعلی کامپیوتر و علاقه مند به اقتصاد.
مثلث ناممکن بلاکچین
الان که بازار دوباره بالا رفته و بیتکوین با دیدن اعداد بالای ۱۰۰ هزار دلار دوباره سنگین سر زبون ها افتاده، کم کم آدم ها میان که با دنیای ارزهای دیجیتال و کاربرد هاش بیشتر آشنا بشن. این آشنایی های اولیه باعث میشه که خیلی از آدم ها گول بخورن که اصلا چرا بیتکوین و اتریوم؟ اینا که اصلا چیزی برای ارایه کردن ندارن و معمولا با یه سری عدد از بقیه پروژه ها، آدمها راضی میشن که واووو، این پروژه قطعا بهتره و باید من رو پولدار کنه!
ولی خب قضیه به این سادگی ها هم نیست.
تو دنیای بلاکچین و ارزهای دیجیتال، یه مفهومی داریم به اسم “مثلث ناممکن” یا “سهگانه بلاکچین”. این سه گوشهی مثلث عبارتند از:
1.غیرمتمرکز بودن (Decentralization)
2. امنیت (Security)
3. سرعت (یا مقیاسپذیری و نهاییشدن سریع تراکنشها) (Speed/Scalability/Finality)
ایده کلی اینه که یک شبکه بلاکچینی به سختی میتونه هر سه این ویژگیها رو در سطحی عالی با هم داشته باشه. معمولاً تقویت یکی، باعث میشه که توی یکی از دو مورد دیگه محدودیت ایجاد بشه( یا حتی به طور کامل از بره توی بعضی از موارد).
1. غیرمتمرکز بودن (Decentralization) یعنی چی؟
غیرمتمرکز بودن یعنی تصمیمگیری، کنترل و تایید تراکنشها در یک شبکه به عهدهی مجموعهای گسترده از شرکتکنندگان (نودها) است، نه اینکه فقط یک نهاد یا گروه کوچک همهی اختیارات رو در دست داشته باشه. این ساختار باعث میشه اعتماد در سیستم نه از طریق اعتماد به یک قدرت مرکزی، بلکه از طریق شفافیت و حضور تعداد زیادی از افراد مستقل ایجاد بشه. هر نودی توی شبکه کپی خودش از اطلاعات(یا همون بلاکچین) رو داره و تراکنشها رو بررسی و تایید میکنه. اینطور نیست که یک بانک مرکزی بگه کدوم تراکنش درسته یا غلط؛ کل شبکه به اجماع میرسن.
مزیت این کار اینه که سانسور یا مسدود کردن تراکنشها سخت میشه(توی بیتکوین غیر ممکن!)، چون هیچ مرجع واحدی قدرت مسدودسازی نداره. همینطور، خطر شکست مرکزی (Single Point of Failure) هم کمتر به وجود میاد؛ چون حتی اگر تعدادی از نودها از کار بیفتن یا رفتار بد داشته باشن، بقیهی نودها درست عمل میکنن و شبکه پایدار میمونه.
2. امنیت (Security):
امنیت یعنی اینکه شبکه در برابر دستکاری، جعل و حملات مقاوم باشه. بلاکچینها با استفاده از تکنیکهای رمزنگاری قوی و مکانیزمهای اجماع (مثل اثبات کار یا اثبات سهام) تلاش میکنن تضمین کنن که سوابق پرداخت ها قابل تغییر نباشن یا تغییرشون به شدت پرهزینه و سخت باشه.
وقتی امنیت بالاست، حمله به شبکه بسیار پرهزینه و دشوار میشه. این امنیت در بلاکچین از عدم امکان دوبار خرج کردن یک مقدار پول (Double Spending)، و اطمینان از اینکه دادهها پس از تایید به سختی قابل تغییر یا حذف هستن، نشأت میگیره( وقتی شما پرداخت رو انجام دادید، انجام شده و کسی بهتون نگه که پولتون حداکثر تا ۷۲ ساعت آینده به حساب شما واریز میشه). پروتکلهای رمزنگاری، ساختار زنجیرهای بلاکها (هر بلاک متصل به قبلی با یک هش رمزنگاریشده)، و توزیع گسترده اطلاعات بین تعداد زیادی نود مستقل، همگی در افزایش امنیت نقش دارن.
نکته مهم اینه که بالا بردن امنیت معمولاً به این معنیه که شما باید یک سری قواعد سختگیرانه تعریف کنی. برای مثال، در اثبات کار (مثل بیتکوین)، امنیت بالاست اما باید انرژی زیادی صرف استخراج بشه، که روی سرعت تایید تراکنشها هم اثر داره.
3. سرعت و مقیاسپذیری (Speed/Scalability):
سرعت و مقیاسپذیری به این معناست که شبکه بتونه حجم زیادی از تراکنشها رو در زمان کم و با هزینهی مناسب پردازش کنه. نهاییشدن (Finality) هم یعنی زمانی که طول میکشه تا ما از انجام تراکنش خودمون مطمین باشیم.
یک شبکه سریع باید بتونه تعداد زیادی تراکنش رو در واحد زمان پردازش کنه، مثل ویزا یا شاپرک که هزاران تراکنش در ثانیه رو انجام میدن. اما بالا بردن این سرعت در بلاکچین کار سادهای نیست. چون برای حفظ امنیت و غیرمتمرکز بودن، باید مکانیزم اجماعی داشته باشی که همه نودها بتونن با هم هماهنگ بشن. معمولاً این هماهنگی زمانبره و باعث میشه سرعت کم بشه.
پروژههای مختلف سعی میکنن با شاردینگ (Sharding)، لایههای دوم (مثل شبکه لایتنینگ برای بیتکوین و لایه دو های اتریوم مثل آربیتروم و اپتیمیزم)، و تکنیکهای دیگر مشکل سرعت رو حل کنن. اما اغلب این روشها یا کمی از غیرمتمرکز بودن کم میکنن یا باید به سازوکاری تن بدن که امنیت رو اندکی کاهش بده. پیدا کردن تعادل بین سرعت، امنیت و غیرمتمرکز بودن مثل یافتن نقطهای میانه در یه طیف پیچیدهست.
چرا نمیشه هر سه رو با هم داشت؟
مثلث ناممکن کریپتو میگه اگه امنیت و غیرمتمرکز بودن رو بخوای به شدت حفظ کنی، معمولاً سرعت تراکنشها پایین میاد.این دقیقا اتفاقیه که در بیتکوین و اتریوم رخ داده. بیتکوین فقط میتونه ۴ تراکنش در هر ثانیه و اتریوم هم ۱۵ تراکنش بر ثانیه میتونن پردازش کنن. اگر تمرکز کنی روی افزایش سرعت و مقیاسپذیری، ممکنه مجبور شی برخی مکانیزمهای امنیتی رو سبکتر یا تعداد نودهای غیرمتمرکز رو کمتر کنی. خلاصه، برای رسیدن به تعادلی بین این سه، باید بعضی جاها کوتاه بیای.
این که انتظار داشته باشیم یک بلاکچین هم فوقالعاده غیرمتمرکز باشه، هم خیلی امن باشه، و هم سرعت و مقیاسپذیری فوقالعادهای داشته باشه، ممکنه بیش از حد ایدهآل باشه. پروژههای مختلف سعی میکنن با راهکارهای فنی مختلف، تعادل بهتری بین این سه عامل برقرار کنن، ولی تا رسیدن به یک حالت “بینقص”، راه زیادی مونده.
درک این مثلث ناممکن به ما کمک میکنه بهتر بفهمیم چرا هیچ وقت “یک جواب قطعی” که همه رو راضی کنه، وجود نداره!
مطلبی دیگر از این انتشارات
کامپیوتر کوانتومی گوگل، قاتل کریپتو؟
مطلبی دیگر از این انتشارات
اولین بلوک بیتکوین حاوی یک جمله بود!
مطلبی دیگر از این انتشارات
بیتکوین برای حل مشکل میآید.