سایدچین یکی از روش های پرکاربرد و مورد توجه برای بهبود مقیاس پذیری و توسعه پذیری (Scalability) بیشتر شبکه های بلاکچین است. در این مقاله به انواع روش های مقیاس پذیری و سپس جایگاه، چیستی، تاریخچه، کاربردها، ویژگی ها و پروژه های سایدچین ها میپردازم.
راه حل های لایه دوم چه مشکلی را حل میکنند؟
در شبکه های بلاکچین چون بیتکوین و اتریوم به طور معمول بین 7 تا 15 تراکنش در ثانیه انجام میشود، در حالی که شبکه ویزا (Visa) حدود 100,000 تراکنش در ثانیه انجام میدهد. بلاکچین برای رقابت با روش های متمرکز مثل ویزا و جهان روا شدن نیاز به انجام تراکنش های بیشتری در هر ثانیه دارد. به طور کلی دو روش برای مقیاس پذیری وجود دارد:
- تغییر در لایه اصلی (Base layer)
- انتقال بخشی از کار به یک لایه جدید
با افزایش هر کدام از رئوس مثلثِ مشخصه های یک بلاکچین شامل 1. غیرمتمرکز بودن 2. امنیت 3. مقیاس پذیری عملکرد رئوس دیگر تضیف میشود، به همین دلیل توسعه دهندگان برای افزایش کارایی و مقیاس پذیری باید بسیار خلاق باشند! بدین منظور به دنبال راه حل های لایه دوم مختلفی برای افزایش مقیاس پذیری شبکه های بلاکچین رفته اند و هر روش هدف به خصوصی را دنبال میکند. دلیل نام گذاری این روش ها به لایه دوم (Second Layer) این است که معمولا تاثیر مستقیمی بر کد بلاکچین اصلی ندارند اما باعث مقیاس پذیری بصورت بیرونی میشوند. در ادامه به اختصار به هریک اشاره میکنم:
- Rollups : به دو مدل zkrollups که قابلیت استفاده از قراردادهای هوشمند را ندارند اما سریع وکارا تر هستند و optimistic rollups که قابلیت اجرای قراردادهوشمند دارند اما کند تر ناموثر تر هستند تقسیم میشوند. به صورت خیلی خلاصه در این روش چند تراکنش در یک تراکنش جمع میشود و به شبکه اصلی ارسال میشود.
- Sidechain: سایدچین ها بصورت موازی در کنار زنجیره اصلی کارمیکنند و از منابع خود و اطلاعات زنجیره اصلی برای هندل کار استفاده میکنند و در نهایت دیتا را به زنجیره اصلی ارسال میکنند. چین اصلی یا والد نیازی به سایدچین ندارد اما سایدچین نیاز به چین والد (Parent Chain) دارد. از معروف ترین سایدچین¬های اتریوم میتوان Polygan را نام برد.
- Channels: چنل ها راهی برای قفل کردن دارایی اصلی و استفاده از نسخه مجازی دارایی اصلی در شبکه ای با سرعت بسیار بیشتر میباشند. در کارت های بانکی نیز دلار واقعی در لحظه جابجا نمیشود، بلکه صرفا عدد و کدی که به معنای داشتن داریی است جا به جا میشود و از آنجایی که همه قبول دارند که یک دلار مجازی برابر یک دلار واقعی است، مشکلی پیش نمی آید. Lightning Network بیتکوین مثال مطرح این روش است. این روش متخص انجام تراکنش است نه قرارداد هوشمند.
سایدچین ها:
تعریف سایت هکرمون:
ساید چین یک بخش جدا از بلاکچین است که با یک ارتباط دوطرفه به یکدیگر متصل میشوند. در این ارتباط دوطرفه قابلیت تعویض دارایی با نرخ از پیش تعیین شده وجود دارد که بین ساید چین و بلاک چین انجام میشود. همچنین این احتمال نیز وجود دارد که این مبادلات به صورت برعکس انجام شود.
تاریخچه
این ایده اولین بار در سال ۲۰۱۴ شکل گرفت یعنی زمانی که چندین چهره برجسته در دنیای بلاکچین و اولین ایده پردازان آن یک مقاله منتشر کردند و در آن سایدچین های تثبیت شده (Pegged Sidechains) را معرفی کردند. چندی از این نویسندگان از افراد اصلی بلاک استریم هستند که در زمینه ایده های خلاقانه در سایدچین و سایر توسعه های بیت کوین پیش قدم بوده اند.
ساختار و کارکرد
زنجیره جانبی بلاکچینی با استفاده از یک پل 2 طرفه به نام “peg” به بلاکچین اصلی آن متصل می شود. دلیل نام گذاری “دوطرفه” این است که peg ای از چین اصلی به ساید چین وجود دارد که عملیات آن Locking up و از سایدچین به برون وجوددارد که عملیات آن Releasing نام دارد.
- Locking up : بعد از انتقال کوین از مِین چین به سایدچین باید کوین ها قفل شوند، در غیر این صورت توکن های ازادی در هر دو چین وجود دارد. عملیات Lock up شدن در واقع به معنای انتقال کوین ها به ولت یا قرارداد هوشمندی مشخص است و توسط کد کنترل میشوند نه یک انسان و بازپس گیری آنها نیاز به عملیات خاصی دارد.
- Releasing : بعد از قفل کردن کوین در مِین چین، پروتکل آنها را قبول میکند و کوین هایی در سایدچین میدهد که بیانگر آن دارایی که در مین چین قفل شده اند میباشند. برای بازپس گیری کوین لاک شده در مین چین، کوین هایی که بیانگر کوین های لاک شده اند را باید از بین ببریم تا کوین های اصلی آزاد شوند.
- Federation: به گروهی گفته می شود که به عنوان یک نقطه میانی بین یک زنجیره اصلی و سایدچین آن عمل می کند. البته همه سایدچین ها به فدریشن نیاز ندارند ولی اکثرا به دلیل کاربرد خوب استفاده میکنند. فدریشن میتواند بصورت کد باشد و سازندگان سایدچین اعضای این گروه را انتخاب کنند. آنها تعیین می کند چه زمانی کوین هایی که کاربر استفاده کرده قفل شده و یا آزاد شوند و دقت میکنند تا در روند لاک و ریلیز اشتباهی رخ ندهد. وجود فدریشن یکی از دلایلی است که باعت متمرکز شدن شبکه میشود.
درواقع پلی که ارتباط میان بلاکچین اصلی و زنجیره های جانبی را برقرار می کند قابلیت تعویض سرمایه ها را با نرخ از پیش تعیین شده میان بلاکچین اصلی و زنجیره جانبی فراهم می نماید. کاربر در زنجیره اصلی اول باید کوین های خود را به یک آدرس ارسال کند، جایی که کوین ها قفل می شوند تا کاربر قادر به صرف آنها در جای دیگر نباشد. بعد از انجام تراکنش، تایید از طریق فدریشن و بعد از یک دوره انتظار که Confirmation Period نام دارد، معادل تعداد کوین ها در ساید چین آزاد می شود و به کاربران این امکان را می دهد به آنها دسترسی داشته باشد. البته برای جلوگیری از Double-spending یک بازه زمانی دیگر بنام Contest Period کاربر اجازه استفاده از توکن ریلیز شده را ندارد.
امنیت
به طور کلی سایدچین ها مسئول امنیت خودشان هستند. اگر قدرت پردازشی کافی برای تامین امنیت یک زنجیره جانبی وجود نداشته باشد، می توان آن را هک کرد، اما از آنجا که هر زنجیره مستقل می باشد، به خطر بیافتد بر زنجیره اصلی تاثیر نمی گذارد. سایدچین ها میتوانند تایید کننده/ماینر و حتی الگوریتم اثبات اختصاصی خود نظر اثبات کار (Poof of Work)، اثبات سهام (Proof of Stake )، اثبات زمان و فضای ذخیرسازی (Proof of Space and Time) و اثبات اعتبار (Proof of Authority) را میتوانند داشته باشند. اکثر سایدچین ها مقداری متمرکز تر (Centrlized) نسبت به زنجیره اصلی میباشند اما در عوض از سرعت بیشتری برخوردارند.
برخی ویژگی های سایدچین ها
- بهبود مقیاس پذیری
- انعطاف پذیری
- مرج ماینینگ: مسئله جالب دیگری که بوسیله سایدچین ها ایجاد میشود Merge Mining است. بدین صورت که ماینر میتواند همزمان چند رمزارز چند بلاکچین را باهم استخراج کند.
برخی پلتفرم ها و پروژه های مبتنی بر سایدچین:
- روتاستاک (Rootstock) RSK : یک سایدچین ایجاد شده برای بیتکوین است که برای ایجاد توانایی تولید و اجرای قراردادهای هوشمند پیچیده بیت کوین طراحی شده است. فدریشن این ساید چین 25 صرافی بزرگ هستند که پل نقل و انتقال بیتکوین و بیتکوین روت استاک را نظارت میکنند.
- POA : شبکه POA یک سایدچین باز اتریوم همراه با توافق اثبات اعتبار است که توسط تاییدکنندگان اعتبار مستقل محقق میشود. ما یک شبکه عمومی برای قراردادهای هوشمندی میسازیم که سرعت، امنیت و کارایی هزینه را ترکیب میکند. توکن چیلیز (Chiliz) از پروژه های معروف استفاده کننده از PoA میباشد.
- Lisk: یک پلتفرم سایدچین است که به توسعه دهندگان امکان پیاده سازی DApp ها در javascript را می دهد.
- Matic: پالیگان سایدچینی روی بلاکچین اتریوم است که تعداد تراکنش برابر با آن دارد اما فی بسیار پایین تری دارد. و هر بلاک آن بجای 10 ثانیه در 2 ثانیه ایجاد میشود.
جمع بندی:
سایدچین مفهومی مهم و بسیار کاربردی در دنیای بلاکچین است و پروژه های بسیاری با استفاده از این روش پدید آمده اند و به بهبود کارایی زنجیره های اصلی پرداخته اند. تفاوت عمده آن با روش های دیگر لایه 2 مثل چنل ها و رُل آپ ها این است که راه حلی دائمی و غیرقابل تغییر است اما روش های دیگر با سرعت و راحتی بیشتری میتوانند تغییرکنند. در این مقاله سعی داشتم در ابتدا به موضوع روش های مقیاس پذیری بپردازم و سپس نگاه دقیق تر به سایدچین ها با طبقه بندی، خلاصه کردن و ساده سازی توضیحات منابع مختلف داشته باشم. امیدوارم براتون مفید بوده باشه.
منابع:
https://hackernoon.com/what-are-sidechains-1c45ea2daf3
docs.ethhub .io/ethereum-roadmap/layer-2-scaling/sidechains
youtube .com/watch?v=cFRj2-jzm8E
youtube .com/watch?v=9pJjtEeq-N4
hackernoon .com/13-sidechain-projects-every-blockchain-developer-should-know-about-804b65364107
چون بیش از دو لینک نمیشد گذاشت قبل پسوند ها فاصله گذاشتم