state channel راهکاری برای حل مشکل مقیاس پذیری
کانال اظهارنامه یا state channel به مشارکت کنندگان خود اجازه می دهد تا بی نهایت تراکنش …
خانه »
کانال اظهارنامه یا state channel به مشارکت کنندگان خود اجازه می دهد تا بی نهایت تراکنش مختلف را در خارج از زنجیره انجام دهند و تنها دو تراکنش درون زنجیره ای را ثبت کنند و فقط برای همین دو تراکنش کارمزد بدهند. این کانال ما را قادر می سازد تا به توان عملیاتی بسیار بالا دست پیدا کنیم.
در این روش مقیاس پذیری، مشارکت کنندگان باید بخشی از یک اظهارنامه ی اتریوم مانند یک سپرده ی اتریومی را در یک قرارداد چند امضایی قفل کنند. قرارداد چند امضایی نوعی قرارداد است که برای اجرا به چند امضا و توافق چندین کلید خصوصی نیاز دارند.
قفل کردن استیت یا اظهارنامه به این روش اولین تراکنش است و باعث باز شدن کانال می شود. سپس مشارکت کنندگان می توانند به سرعت و آزادانه خارج از زنجیره ی اصلی معامله کنند. هنگامی که تعاملات به پایان رسید، یک تراکنش نهایی به داخل زنجیره ارسال می شود که استیت را آزاد می کند. بدین ترتیب بجای ثبت تعداد زیادی تراکنش در شبکه ی اصلی، فقط دو تراکنش در زنجیره ی اصلی و هزاران تراکنش در خارج از زنجیره و تحت قراردادهای هوشمند ثبت می شود.
کانال استیت برای چه کسانی مفید است؟
این روش افزایش مقیاسپذیری برای کسانی که تعداد بالایی مبادله برای انجام دارند مفید است. ضمن اینکه تعداد شرکت کنندگان در این کانال باید ازقبل مشخص و معلوم باشد. از سوی دیگر مشارکت کنندگان در مدت زمان ایجاد و پایان کانال حاضر و در دسترس باشند.
در حال حاضر دو نوع کانال وجود دارد:کانال های استیت و کانال پرداخت.
کانال های استیت
کانال استیت را شاید بتوان با مثالی مانند یک بازی XOX به بهترین شکل توضیح داد:
یک قرارداد هوشمند چندامضایی در زنجیره ی اتریوم ایجاد کنید که قوانین بازی را درک کند و به عنوان داور بازی باشد و بتواند دو بازیکن را در بازی ما شناسایی کند. جایزه ی این بازی یا قرارداد 1 اتریوم است.
سپس دو بازیکن ما بازی را شروع می کنند و کانال اظهارنامه یا همان استیت را باز می کنند. هر حرکت در بازی یک تراکنش خارج از زنجیره حاوی یک نانس (nonce) ایجاد می کند. این یعنی ما هر حرکت بازی (تراکنش) را ثبت کرده ایم و در آینده می توانیم به آن مراجعه کنیم.
وقتی برنده ی بازی مشخص شد ( معاملات پایان یافت) بازیکنان کانال اظهارنامه نهایی (مثلا فهرستی از تراکنشها) را به داور درون زنجیره اصلی ارسال می کنند و تنها کارمزد یک تراکنش را می دهند. داور اطمینان حاصل می کند که این اظهارنامه نهایی توسط هر دو طرف امضا شده باشد و مدتی منتظر می شود تا مطمئن شود که هیچ کدام از طرفها از نظر قانونی چالشی را به آن وارد نمی کند و سپس جایزه ی یک اتریوم را به برنده پرداخت می کند.
کانال های پرداخت
این کانال ها شکل ساده ی کانال اظهارنامه هستند و فقط تعدادی پرداخت مثل انتقال اتریوم را در خود دارند. آنها اجازه می دهند تا پرداخت های خارج از زنجیره ی اصلی تا زمانی که مجموع آن از توکن های سپرده گذاری و قفل شده تجاوز نکرده، بین دو طرف رد و بدل شود.
مزایا و معایب state channel
مزایا: اگر دو طرف بدون هیچ چالشی با هم توافق داشته باشند می توانند برداشتها و تسویه حسابها را به صورت فوری انجام دهند. این راه حل به معنای واقعی کلمه توان عملیاتی بالا ایجاد می کند. پایین ترین هزینه به ازای هر تراکنش را دارد و برای پرداخت های خرد بسیار مناسب است.
معایب: زمان و هزینه ها در این روش باید ثبت شوند و یک کانال باید ایجاد شود و این برای تراکنش های یک باره و اتفاقی بین کاربران دلخواه مناسب نیست. همچنین باید به صورت دوره ای مواظب شبکه بود و از نظر پایایی آن را بررسی کرد یا این کار را به شخص ثالثی محول نمود. از طرفی میبایست مقداری نقدینگی را در کانال های پرداخت باز، قفل کرد. از سوی دیگر این روش از تعداد مشارکت کنندگان باز و نامحدود پشتیبانی نمی کند.
چه پروژه هایی از این راهکار استفاده می کنند؟
چندین پروژه وجود دارند که پیاده سازی کانالهای پرداخت و اظهارنامه را ارائه می کنند و می توانید آنها را در برنامه های غیرمتمرکز خود ادغام کنید.
Connext: کانکست یک پروتکل با قابلیت همکاری لایه دوم اتریوم است. از کانکست می توانید برای ارسال تراکنش های ارزش یا داده های دیگر درون زنجیره یا رولآپها استفاده کنید. برخلاف اکثر سیستمهای با قابلیت همکاری، کانکست این کار را بدون بکارگیری هر گونه فرضیات اعتمادساز یا تاییدگرهای خارجی جدید انجام می دهد.
توجه داشته باشید که نسخه ی فعلی کانکست را نمی توان برای انتقال داده های رویدادهای دلخواه بین زنجیره ها استفاده کرد. مثلا نمی توان به زنجیره ی الف ثابت کرد که در زنجیره ی ب چیزی رخ داده. زیرا کانکست پروتکلی است روندهای اعتماد در آن حداقلی است و برای انتقال داده بین دو زنجیره نمی توان از آن استفاده کرد مگر با تحمل یک هفته زمان برای استفاده از پنجره های خروج پلهای رولآپ های موجود. یعنی مواردی مانند انتقال توکن از زنجیره ی الف به ب پشتیبانی نمی شود. در عوض فقط می توانید با نقدینگی موجود در زنجیره مبادله یا تراکنش انجام دهید.
Kchannels: کی چنلز یک پلتفرم کانال پرداخت جدید برای بلاکچین اتریوم است. این پلتفرم مبتنی بر اعتماد حداقلی و اولویت اصلی آن بر یک UX عالی و نهایی شدن آنی تراکنشها در خارج از زنجیره است. در میان موارد مشابه، به ادعای سایت آن برای استفاده های تجاری (تجار و مشتریان شان) مناسب ترین مورد است. کی چنلز روی شبکه های اصلی و آزمایشی با پشتیبانی از اتر و توکن های ERC-20 در دسترس است.
Perun: یک چارچوب خارج از زنجیره که پرداخت های آنی ساده و همچنین قواعد تجاری پیچیده را پشتیبانی می کند و بلاکچین های موجود را ارتقا می دهد.
Raiden: شبکه ی رایدن یک راهکار مقیاسپذیر خارج از زنجیره که پرداخت ها را به صورت تقریبا آنی، کم کارمزد و مقیاس پذیرانجام می دهد. این شبکه مکملی است برای بلاکچین اتریوم و با توکنهای ERC20 کار می کند. هدف آن پژوهش در فناوری کانال استیت، تعریف پروتکل ها و توسعه ی چارچوبهای مرجع در نظر گرفته شده است.