

زیلیکا (Zilliqa) اولین بلاک چین عمومی است که برای اجرا و پیاده سازی شاردینگ (sharding) طراحی شده است و با رشد اندازه بلاک چین، مقیاس پذیری خطی را امکان پذیر میسازد.
ویژگی ارز دیجیتال زیلیکا (Zilliqa)
تاکنون مقیاس پذیری برای فناوری های بلاک چین موجود، مشکل بوده است. در حال حاضر بیت کوین نمیتواند تمام تقاضاهای شبکه خود را پردازش کند و کارمزد تراکنش ها نیز بر این اساس افزایش یافته است. همین شرایط برای اتریوم نیز صادق است. به طوری که محدودسازی بازده آن به ازای مصرف گس زیاد برای قراردادهای هوشمند خواهد بود. برای مثال، محبوبیت کریپتوکیتیز به طور چشمگیری سرعت اتریوم را کاهش داد و این موضوع بیانگر محدودیت این شبکه بود.
زیلیکا (Zilliqa) اساسا نحوه دستیابی بلاک چین به اجماع را تغییر میدهد. راهکار شاردینگ زیلیکا با توجه به اندازه شبکه، مقیاس پذیر میشود. از نظر تئوری، در تعداد تراکنشی که زیلیکا میتواند در هر ثانیه پردازش کند محدودیتی وجود ندارد. از نظر عملی، بر اساس تعداد نودهای شبکه، زیلیکا میتواند ده ها یا صدها هزار تراکنش در ثانیه پردازش کند.
زیلیکا هم چنین نوید پشتیبانی از قراردادهای هوشمند را میدهد. اجرای قرارداد هوشمند بر بستر شبکه شارد شده، چالش فنی مهم برای زیلیکا میباشد. در این مقاله به رویکرد زیلیکا در خصوص مقیاس پذیری تراکنش ها و قراردادهای هوشمند پرداخته شده است. هم چنین تیم زیلیکا و خط مشی آن ها بررسی خواهد شد.
حل مشکل مقیاس پذیری
بلاک چین مشکل مقیاس پذیری دارد. هرچه نود بیشتری در شبکه وجود داشته باشد، رسیدن به اجماع سخت تر خواهد شد. برای نشان دادن این موضوع بهتر است مقیاس پذیری اجماع را همانند مردم در نظر بگیریم:
- با حضور گروه کوچکی از دوستان نزدیک خود، تصمیم گیری ساده تر میباشد. ممکن است همواره با یکدیگر موافق نباشید اما از نظرات یکدیگر جویا میشوید.
- برای گروه بزرگتری از مردم مانند سالنی پر از افراد، میتوانید از حضار بخواهید برای سریعتر بیان کردن رای، دست های خود را بالا ببرند. اما شمارش آرا سخت تر میشود و نمیتوان از صادقانه بودن آرا اطمینان حاصل کرد.
- با حضور گروه هزار یا میلیون نفری، به سیستم رای گیری پیچیده تری نیاز خواهید داشت که انرژی بیشتری لازم دارد. هم چنین نمیتوانید مطمئن باشید که افراد، صادقانه عمل میکنند و دستیابی به جواب نهایی نیز سخت است.
هرچند این تشبیه کاملا درست نمیباشد، با این حال میتوانید پیچیده تر شدن اجماع بر اساس بزرگتر شدن شبکه را متوجه شوید. سرعت و کیفیت اجماع و اندازه شبکه رابطه معکوس با یکدیگر دارند. با افزایش یکی از این دو مورد، دیگری کاهش مییابد.
سایر راهکارها برای حل مقیاس پذیری بلاک چین بر انتقال بعضی از اطلاعات به خارج از زنجیره معطوف اند و یا به دنبال افزایش اندازه و حجم بلاک میباشند که بر تراکنش های بیشتری اجماع ایجاد میکند. این راهکارها ممکن است به طور موقت عمل کنند اما مشکل مقیاس پذیری را به صورت اساسی حل نمیکنند.
برای حل این مشکل باید معماری کل سیستم را تغییر دهید زیرا سرعت اجماع و اندازه شبکه به طور مستقیم با یکدیگر در ارتباط اند.
پاسخ زیلیکا به مشکل مقیاس پذیری
زیلیکا راهی برای پردازش تراکنش های بیشتر با پیوستن نودهای بیشتر به شبکه یافته است. این راهکار شامل طراحی مجدد بلاک چین از ابتدا میباشد. مدل جدید زیلیکا پروتکل اجماع هیبرید یا ترکیبی را پیاده سازی میکند تا با پیوستن هر ۶۰۰ نود جدید به شبکه، بازده شبکه نیز افزایش یابد.
از نظر تئوری با پیوستن هر ۶۰۰ نود، بازده زیلیکا با تقسیم کارها افزایش مییابد. از نظر عملی، در صورتی که شبکه بسیار بزرگ شود (بیش از یک میلیون نود) مشکلاتی در انتشار به وجود میآید. هر چند یک میلیون نود مقدار بسیار زیادی است که رسیدن به آن تقریبا غیر ممکن است. تا زمان تهیه این مقاله، بیت کوین حدود ۱۱ هزار نود عملیاتی دارد. اتریوم که بزرگترین شبکه نودهای کامل است حدود ۲۵ هزار نود دارد.
شبکه های بیت کوین و اتریوم با ده ها هزار نود هم چنان میتوانند فقط ۳ الی ۱۵ تراکنش در ثانیه پردازش کنند. در مقابل، آزمایش های اخیر بر بستر شبکه آزمایش خصوصی یا همان تست نت (آزمایش مجازی AWS) نشان داده است که بازده شبکه زیلیکا با حضور ۱,۸۰۰ نود، ۱,۲۱۸ تراکنش در ثانیه میباشد. با افزایش تعداد نودها به ۳,۶۰۰ نود، مقیاس پذیری شبکه زیلیکا تا ۲,۴۸۸ تراکنش در ثانیه افزایش مییابد.
شاردینگ: تقسیم کار در سراسر شبکه
زیلیکا چطور به این مقیاس پذیری دست مییابد؟
زیلیکا از راهکاری به اسم شاردینگ استفاده میکند. پروتکل زیلیکا (Zilliqa) تعداد نودهای استخراج کننده در شبکه را به گروه های ۶۰۰ تایی تقسیم میکند. به هر گروه یک شارد گفته میشود. برای مثال، در شبکه آزمایشی فوق الذکر، با حضور ۱,۸۰۰ نود، شبکه آزمایشی خود را به ۳ شارد تقسیم کرد. با حضور ۳,۶۰۰ نود، ۶ شارد وجود داشت. با افزایش نودهای شبکه، زیلیکا میتواند شاردهای بیشتری ایجاد کند.
هر شارد بخشی از تراکنش های شبکه را پردازش میکنند. به صورت ساده تر میتوان گفت اگر ۶ شارد وجود داشته باشد، هر شارد تقریبا یک ششم تراکنش های شبکه را پردازش میکند. هرچه شارد بیشتری وجود داشته باشد، شبکه بار اجماع را به شاردهای بیشتری تقسیم میکند و تقاضای محاسباتی را تقریبا پایدار و با ثبات نگه میدارد.
هر شارد، تراکنش مربوط به خود را در میکروبلاک و در موازات شاردهای دیگر پردازش میکند. در پایان دوره پردازش موازی که به آن DS epoch میگویند، این میکروبلاک ها ترکیب شده و به بلاک کامل تبدیل میشوند و سپس به بلاک چین اضافه میشوند.
کمیته DS: مدیریت شاردها
برای هر DS epoch چندین نود به صورت تصادفی انتخاب میشوند تا شاردهای مختلف را مدیریت کنند. این کمیته مدیریت که به آن کمیته DS میگویند، شبکه را کنترل و هدایت میکند. این کمیته تصمیم میگیرد که کدام نودها به کدام شارد اختصاص یابند. هنگامی که درخواست تراکنش جدید ارائه میشود، کمیته DS پردازش آن ها را به عهده شاردها میگذارد. کمیته DS در پایان DS epoch، بلاک کامل را از میکروبلاک های ایجاد شده توسط شاردها جمع آوری میکند.
اجماع نهایی: PoW + BFT
زیلیکا از مکانیزم اجماع هیبرید و ترکیبی استفاده میکند. هنگامی که برای بار اول ماینینگ را شروع میکنید، باید هش گواه اثبات کار (PoW) را کامل کنید. گواه اثبات کار به توان رایانشی و محاسباتی نیاز دارد که تضمین کند یک دستگاه فقط میتواند یک نود را کنترل کند. به این ترتیب PoW به زیلیکا در ایجاد هویت کمک میکند. ایجاد چندین هویت به منظور تسلط به شبکه یا همان حمله سیبل را برای عاملان سودجو و نامناسب سخت میکند. هرچند این شبکه از گواه اثبات کار برای اجماع استفاده نمیکند.
پس از آنکه نود هویت خود را تایید کرد، به یک شارد اختصاص مییابد. در شاردها، زیلیکا (Zilliqa) از اجماع تحمل خطای بیزانس استفاده میکند. این اجماع بازدهی بیشتر و نتیجه نهایی دارد. نتیجه نهایی بدان معناست که اکثر نودهای شارد باید در مینی بلاک موافق باشند. پس از تایید بلاک توسط شاردها و کمیته DS، بلاک تایید شده تنها بلاکی است که میتواند به بلاک قبل از خود ارجاع داده شود. در مکانیزم اجماع با نتیجه نهایی، هیچگونه فورکی وجود ندارد.
زیلیکا اولین دفتر کل توزیع شده ای نیست که از BFT استفاده میکند. هایپر لجر (Hyperledger)، تندرمینت (Tendermint) و نئو (NEO) نیز از نسخه های مختلف مکانیزم اجماع BFT استفاده میکنند.