پلاسما در اتریوم

زنجیره پلاسما (Ethereum Plasma) یک بلاک چین مجزا اما متصل به شبکه اصلی یا همان مین‌نِت (Mainnet) اتریوم و از جمله راه‌حل‌های مقیاس پذیری برون زنجیره‌ای (Off-chain) است که تراکنش‌ها را با استفاده از مکانیزم اعتبارسنجی بلاک اختصاصی خود پردازش و اجرا می‌کند. از آنجایی که زنجیره‌های پلاسما در اتریوم منحصرا کپی‌های کوچک‌تری از مین‌نت اتریوم هستند، گاهی اوقات به آن‌ها زنجیره «فرزند» یا “Child” نیز گفته می‌شود. پلاسما برای داوری و قضاوت نسبت به تناقضات و اختلاف‌ها، همانند رول آپ‌های آپتیمیستیک (Optimistic Roll Up) از اثبات یا گواه‌های تقلب (Fraud Proof) استفاده می‌کند.

درخت‌های مرکل (Merkle Tree) نیز قابلیت ساخت مجموعه نامحدودی از این زنجیره‌ها را فراهم می‌کنند که قادر به کاهش بار پنهای باند از زنجیره‌های والد یا “Parent Chain” (از جمله شبکه اصلی اتریوم) هستند. با این حال، با اینکه این زنجیره‌ها امنیتشان را (به‌وسیله گواه‌های تقلب) از اتریوم می‌گیرند، اما امنیت و کارایی‌شان تحت تاثیر محدودیت‌های مختلف طراحی قرار دارد.

مشکل مقیاس پذیری اتریوم

همانطور که می‌دانید، با افزایش محبوبیت شبکه و تقاضا برای خرید اتریوم، فعالیت روی این بلاک چین به‌قدری شدت گرفت که رشد نمایی کارمزد و زمان پردازش تراکنش‌ها را به‌دنبال داشت. به همین خاطر، توسعه‌دهندگان به فکر ساخت راه‌حل‌هایی برای بهبود مقیاس پذیری این شبکه افتادند. زنجیره‌های پلاسما در اتریوم جزو این راهکارها بوده‌اند.

اصطلاحی به‌نام “Blockchain Trilemma” یا «سه‌گانه بلاک چین» شامل مقیاس پذیری، امنیت و تمرکززدایی همیشه از موانع اصلی توسعه یک بلاک چین بوده است و توسعه راه‌حلی که بدون فدا کردن دو عامل دیگر بتواند مقیاس پذیری اتریوم را نیز بهبود دهد، یکی از چالش‌های اصلی توسعه‌دهندگان محسوب می‌شود.

سه گانه بلاک چین

امروزه راه‌حل‌های مختلفی برای افزایش مقیاس پذیری اتریوم ظهور کرده‌اند از جمله:

  • درون زنجیره‌ای (On-chain): این روش‌ها امنیتشان را از خود شبکه اتریوم گرفته و نیازی به تغییر پروتکل اصلی ندارند.
    • شاردینگ: با تقسیم زنجیره اصلی اتریوم به زنجیره‌های کوچکتر، بار شبکه را کاهش می‌دهد.
  • برون زنجیره‌ای (Off-chain): نیازمند تغییر پروتکل اصلی هستند.
    • لایه 2 اتریوم: امنیتشان را از خود مین‌نت گرفته ولی خارج از آن اجرا می‌شوند.
      • رول آپ‌ها: شامل راه‌حل‌های رول آپ آپتیمیستیک و دانش صفر که تراکنش‌ها را خارج از لایه اصلی اجرا کرده و داده‌های فشرده‌شده را به آن باز می‌گردانند.
      • کانال وضعیت (State Channel): از قراردادهای چند امضایی استفاده می‌کنند.
    • ساید چین (Sidechain): موازی شبکه اجرا شده و با ماشین مجازی اتریوم سازگار هستند.
    • پلاسما (Plasma): بلاک چین‌هایی مجزا از شبکه اصلی و استفاده‌کننده از گواه تقلب (Fraud Proof) برای حل اختلاف‌ها هستند.
    • والیدیوم (Validium): زنجیره‌های موازی اتریوم که از گواه تصدیق (Validity Proof) برای اعتبارسنجی‌ها استفاده می‌کند.

ویتالیک بوترین، هم‌بنیان‌گذار اتریوم، علت نیاز به توسعه راه‌حلی مانند Ethereum Plasma را اینگونه توصیف کرده است:

ساخت ویژگی‌های پیشرفته در لایه پایه‌ای بلاک چین «ایده بدی» است و از آنجایی که این پلتفرم ملزم به تبادل نظر، پیاده‌سازی و هماهنگی بهودهای فنی تازه کشف‌شده است، حاکمیت شدید سرباری را ایجاد می‌کند. بنابراین، وظیفه زمان‌بر افزودن یک ویژگی جدید در پروتکل پایه‌ای ممکن است باعث رکود اتریوم شود. ما نباید برای ادامه پیشرفت اتریوم صرفا به تغییرات پروتکل پایه‌ای متکی باشیم. البته به‌نظر من با بلوغ هرچه بیشتر بلاک چین‌ها، لایه 1 الزاما پایا می‌شود و لایه 2 بار بیشتر و بیشتری از نوآوری‌ها و تغییرات مداوم را به دوش خواهد کشید.

پلاسمای اتریوم (Ethereum Plasma) چیست؟

پلاسما در اتریوم و در کل بلاک چین‌های عمومی، چارچوبی برای بهبود است. به استناد وایت پیپر پلاسما، زنجیره‌های این پروتکل روی یک بلاک چین دیگر به نام «روت چین (Root Chain)» یا «زنجیره ریشه» ساخته می‌شوند. حالا هر «چایلد چین (Child Chain)» یا «زنجیره فرزند» از این ریشه گرفته شده و عموما توسط یک قرارداد هوشمند مستقر روی «پَرِنت چین (Parent Chain)» یا «زنجیره والد» مدیریت می‌شود.

قراداد هوشمند پلاسما عملکردی شبیه به یک پل و واصل را دارد که امکان انتقال دارایی‌ها بین شبکه اصلی اتریوم و پلاسماچین را برای کاربران فراهم می‌کند. با اینکه این امر زنجیره‌های پلاسما را به سایدچین‌ها بسیار شبیه می‌سازد، اما تا حدودی به این زنجیره‌ها اجازه می‌دهد تا از امنیت مین‌نت اتریوم بهره ببرند. این قابلیت برخلاف نحوه عملکرد ساید چین‌هاست که خودشان به‌تنهایی مسئول تامین امنیت هستند.

با اینکه بسیاری Plasma را یک راه‌حل لایه 2 می‌دانند، اما از نظر فنی این اصطلاح به‌اشتباه در میان کاربران رایج شده و پلاسما همانند سایدچین‌ها و زنجیره والیدیوم، یک راه‌حل برون زنجیره‌ای مجزا از اتریوم است و مشابه رول آپ‌های آپتیمستیک و زی کی و همچنین کانال‌های وضعیت، یک راه‌حل لایه دو محسوب نمی‌شود.

پلاسما چگونه کار می‌کند؟

ساختار Ethereum Plasma که در ادامه به‌صورت جزئی‌تر به آن می‌پردازیم، از ترکیب قراردادهای هوشمند و درخت‌های مرکل (Merkle Trees) تشکیل شده است که قابلیت خلق تعداد نامحدودی از زنجیره‌های فرزند را که در واقع کپی‌های کوچکتری از بلاک چین اتریوم والد هستند، فراهم می‌کند. هر زنجیره نیز به‌گونه‌ای طراحی شده است تا به‌صورتی یک‌طرفه کار کرده و بتواند با هم‌زیستی و عملکرد مستقلانه خود، نیازهای مختلفی را برآورده سازد. حال روی هر زنجیره فرزند، قابلیت ساخت زنجیره‌های بیشتری وجود دارد که یک ساختار درخت‌مانند را می‌سازد.

در این حالت، واریزی‌ها و برداشت‌های وجوه روی زنجیره پلاسما توسط تولید اثبات یا گواه‌های تقلب (Fraud Proof) حاصل می‌شود. این امر همچنین امکان پردازش تعداد تراکنش‌های بیشتر دارای بار داده‌ای کمتر روی پلتفرم پایه‌ای را فراهم می‌کند.

درخت مرکل (Merkle Tree) چیست؟

برای درک بهتر درخت مرکل اجازه دهید مثالی بزنیم. یکی از ویژگی‌های مقیاس پذیری بیت کوین این است که بلاک‌ها در یک ساختار داده چند سطحی ذخیره می‌شوند. «هش» هر بلاک نیز در واقع متشکل از هش عنوان بلاک (Block Header)، تقریبا 200 بایت داده شامل مهر زمان (تایم استمپ)، نانس، هش بلاک قبلی و هش ریشه یک ساختار داده به‌نام درخت مرکل است که همه تراکنش‌ها را در بلاک ذخیره می‌کند.

مرکل تری نوعی درخت باینری یا همان دودویی است که از مجموعه‌ای از نودهای دارای تعداد بالایی نود برگ (Leafe Node) در پایین درخت حاوی داده‌های مربوطه، مجموعه‌ای از نودهای واسط (هر کدام هش دو فرزند خود) و نهایتا یک نود ریشه (حاصل از هش دو فرزند خود در بالای درخت) تشکیل شده است. بنابراین، درخت مرکل از پایین و توسط نودهای برگ شکل می‌گیرد و به نود ریشه ختم می‌شود.

درخت مرکل

ساختار پلاسما در اتریوم

اجزاء پایه‌ای چارچوب Ethereum Plasma شامل موارد زیر است:

محاسبات برون زنجیره‌ای (Off-chain Computation)

سرعت پردازش فعلی اتریوم تقریبا 15 تا 20 تراکنش در ثانیه (TPS) است که امکان مقیاس پذیری برای مدیریت کاربران بیشتر در کوتاه مدت را کاهش می‌دهد. این مشکل عمدتا به‌خاطر نیاز مکانیزم اجماع اتریوم به نودهای همتابه‌همتای بیشتر برای اعتبارسنجی هر به‌روزرسانی در وضعیت این بلاک چین ایجاد شده است.

با اینکه برای تامین امنیت به مکانیزم اجماع اتریوم نیاز است، اما شاید وجود آن برای همه کاربران ضروری نباشد. مثلا، شاید آلیس به اعتبارسنجی پرداخت‌های روزانه خرید یک لیوان قهوه خود از باب توسط کل شبکه اتریوم به‌خاطر اعتماد شکل گرفته بینشان نیازی نداشته باشد.

در این حالت، پلاسما فرض می‌کند که شبکه اصلی اتریوم به اعتبارسنجی تمام تراکنش‌ها نیازی ندارد و در عوض، ما می‌توانیم آن‌ها را خارج از مین‌نت پردازش کرده و نودها را از شر اعتبارسنجی تمام تراکنش‌ها خلاص کنیم.

حال از آنجایی که زنجیره‌های پلاسما قادر به بهینه‌سازی سرعت و هزینه هستند، به محاسبات برون زنجیره‌ای نیاز است. مثلا، یک زنجیره Plasma می‌تواند از یک «اپراتور» واحد برای مدیریت ترتیب‌گذاری و اجرای تراکنش‌ها استفاده کند. بنابراین با حضور تنها یک واحد اعتبارسنج، زمان پردازش در یک پلاسما چین بسیار بیشتر از شبکه اصلی اتریوم خواهد شد.

تعهدات وضعیت (State Commitments)

با اینکه Ethereum Plasma تراکنش‌ها را خارج از زنجیره اجرا می‌کند، اما تسویه روی خود لایه اجرای اصلی اتریوم انجام می‌شود؛ در غیر این صورت، زنجیره‌های پلاسما قادر به استفاده از تضمین‌های امنیتی خود اتریوم نیستند. با این حال، نهایی‌سازی تراکنش‌ها بدون اطلاع از وضعیت زنجیره پلاسما به شکست مدل امنیتی و فراهم‌آوری فرصت ازدیاد تراکنش‌های نامعتبر منجر خواهد شد. به همین خاطر است که اپراتور مربوطه یعنی موجودیت مسئول تولید بلاک‌های پلاسماچین، ملزم به انتشار دوره‌ای «تعهدات وضعیت» روی اتریوم است.

یک طرح تعهدی (Commitment Scheme) نوعی تکنیک رمزنگاری برای تعهد به یک ارزش (Value) یا بیانیه (Statement) بدون افشای آن برای یک طرف دیگر است. بنابراین، از آنجایی که پس از تعهد به یک ارزش یا بیانیه امکان تغییر آن وجود ندارد، تعهدات «الزام‌آور» هستند. تعهدات وضعیت در پلاسما نیز به صورت «ریشه‌های مرکل» حاصل از درخت مرکل هستند که اپراتور در فواصل زمانی مشخص آن‌ها را به قرارداد Plasma روی زنجیره اتریوم ارسال می‌کند.

ریشه‌های مرکل از اصول اولیه رمزنگاری هستند که فشرده‌سازی مقادیر بالای اطلاعات را ممکن می‌سازند. یک ریشه مرکل که در اینجا به آن «ریشه بلاک (Block Root)» نیز می‌گویند، می‌تواند نماینده تمام تراکنش‌های داخل یک بلاک باشد. ریشه‌های مرکل همچنین کار تایید اینکه یک تکه داده کوچک بخشی از یک پایگاه داده بزرگ است را آسان می‌کنند. مثلا، یک کاربر برای اثبات شمول یک تراکنش در یک بلاک خاص، قادر به تولید اثبات مرکل (Merkle Proof) است.

ریشه‌های مرکل برای تولید اطلاعات درباره وضعیت برون زنجیره‌ای اتریوم از اهمیت بالایی برخوردار هستند. برای درک بهتر می‌توانید ریشه‌های مرکل را به‌عنوان «نقاط ذخیره» در نظر بگیرید: مثلا اپراتور می‌گوید «این وضعیت پلاسما چین در نقطه x در زمان و این هم ریشه مرکل به‌عنوان مدرکش است». این یعنی اپراتور به وضیعت فعلی زنجیره پلاسما با یک ریشه مرکل متعهد است؛ به همین خاطر هم هست که به آن «تعهد وضعیت» می‌گویند.

ورود و خروج‌ها

برای اینکه کاربران اتریوم قادر به استفاده از Plasma باشند، باید مکانیزمی برای انتقال وجوه بین شبکه اصلی و زنجیره پلاسما وجود داشته باشد. از نظر فنی، ما قادر به ارسال رمز ارز اتر به یک آدرس روی زنجیره پلاسما نیستیم. علت آن است که این زنجیره‌ها با مین‌نت ناسازگاری دارند، بنابراین تراکنش‌ها یا لغو شده یا به گم شدن ارزها منجر خواهند شد.

زنجیره Ethereum Plasma برای پردازش ورودی و خروجی کاربران، از یک قرارداد ارشد (Master Contract) روی اتریوم استفاده می‌کند. این قرارداد ارشد همچنین مسئول ردیابی و پیگیری تعهدات وضعیت و تنبیه رفتارهای نادرست از طریق گواه‌های تقلب است که در ادامه بیشتر به آن خواهیم پرداخت.

ورود به زنجیره پلاسما (Plasma) اتریوم

برای ورود به پلاسما چین، آلیس (کاربر ما) باید رمز ارز ETH یا یک توکن با استاندارد ERC20 را به قرارداد Plasma واریز کند. حال اپراتور پلاسما که شاهد واریزی‌های قرارداد است، مقداری معادل واریزی اولیه آلیس را مجددا ساخته و آن را در آدرس وی روی زنجیره پلاسما آزاد می‌کند. اکنون آلیس باید دریافت وجوه روی زنجیره فرزند را تایید کند که پس از آن قادر به استفاده از آن‌ها برای تراکنش‌هاست.

خروج از زنجیره پلاسما اتریوم

خروج از پلاسماچین نسبت به ورود به آن پیچیده‌تر است. یکی از بزرگترین علل این امر این است که با وجود خبر داشتن اتریوم از وضعیت زنجیره Plasma، این شبکه قادر به تایید درست یا غلط بودن اطلاعات نیست. بنابراین، یک کاربر خرابکار می‌تواند با ادعای کذب (مثلا مالکیت 1000 واحد اتر) و ارائه گواه‌های جعلی برای پشتیبانی از ادعای خود، از بازی خارج شود.

برای جلوگیری از برداشت‌های نادرست، در مکانیزم گواه تقلب یک بازه زمانی به‌نام «دوره چالش (Challenge Period)» وجود دارد. طی این بازه زمانی (که عموما یک هفته است)، هر کسی می‌تواند یک درخواست برداشت را به چالش بکشد. حالا در صورت موفقیت‌آمیز بودن چالش، درخواست برداشت رد می‌شود.

با این وجود، کاربران عموما ادعاهای درست و صادقانه‌ای درباره وجوه تحت مالکیت خود مطرح می‌کنند. در این سناریو، آلیس در زنجیره ریشه (یعنی اتریوم) با ثبت یک تراکنش در قرارداد پلاسما، یک درخواست برداشت را آغاز می‌کند.

آلیس همچنین باید یک گواه مرکل برای تایید اینکه تراکنش سازنده وجوه وی روی زنجیره پلاسما در یک بلاک قرار داده شده است را نیز تهیه کند. این مرحله برای نسخه‌هایی از پلاسما نظیر Plasma MVP که از مدل خروجی تراکنش خرج‌نشده (UTXO) استفاده می‌کنند، ضروری است. دیگر نسخه‌ها مانند Plasma Cash برای نمایش وجوه، از توکن‌های غیرمثلی (NFT) به‌جای UTXOها استفاده می‌کنند. این مرحله با ثبت دو تراکنش آخر شامل خود توکن و تهیه یک گواه مرکل برای تایید شمول آن تراکنش‌ها در یک بلاک انجام می‌شود. در ادامه این مطلب، بیشتر به این مدل‌ها خواهیم پرداخت.

آلیس همچنین باید یک ضمانت به درخواست برداشت خود اضافه کند که تضمینی از رفتار صادقانه وی است. اگر فردی در نامعتبرسازی درخواست برداشت آلیس موفق باشد، ضمانت وی ضبط شده و قسمتی آن به‌عنوان پاداش به فرد مذکور تعلق خواهد گرفت. اما اگر دوره چالش Plasma بدون ارائه گواه‌های تقلب بگذرد، درخواست برداشت آلیس معتبر تلقی شده و اجازه بازیابی واریزی‌ها از قرارداد پلاسمای اتریوم را به وی می‌دهد.

داوری اختلاف ها با مکانیزم گواه تقلب (Fraud Proof)

همانند هر بلاک چین دیگری، زنجیره‌های Ethereum Plasma نیز برای تقویت یکپارچگی تراکنش‌ها در صورت رفتار خرابکارانه کاربران (مثلا دابل اسپندینگ)، به یک مکانیزم نیاز دارند. برای این کار، زنجیره‌های پلاسما از گواه‌های تقلب برای داوری اختلافات مربوط به اعتبار انتقال‌های وضعیت و جریمه رفتار بد استفاده می‌کنند.

اثبات یا گواه تقلب صرفا ادعایی درباره نامعتبر بودن یک انتقال وضعیت خاص است. یکی از نمونه کاربردهای این گواه، برای موقعیتی است که مثلا کاربری (آلیس) در تلاش برای خرج دوباره یک ارز باشد. در این مثال، آلیس یک UTXO را در یک تراکنش با باب خرج کرده و خواهان خرج دوباره همان UTXO (که اکنون متلعق به باب است) در یک تراکنش دیگر است. برای جلوگیری از برداشت، باب با ارائه مدرک خرج کردن UTXOهای مذکور در تراکنش قبلی و گواه مرکل شمول تراکنش در یک بلاک، یک گواه تقلب تهیه می‌کند.

همین فرآیند در مدل Plasma Cash نیز کار می‌کند: باب نیازمند تهیه اثباتی از تلاش آلیس برای برداشت توکن‌هایی است که پیشتر آن‌ها را به وی انتقال داده است. در صورت موفقیت چالش باب، درخواست برداشت آلیس لغو خواهد شد. با این وجود، این رویکرد بر توانایی باب در بررسی زنجیره برای درخواست‌های برداشت متکی است. به همین خاطر، در صورت آفلاین بودن باب، آلیس قادر به پردازش برداشت‌های نادرست پس از اتمام دوره چالش است.

نمونه ای از زنجیره ethereum plasma

مشکلات و محدودیت‌های Ethereum Plasma در مقایسه با راه‌حل‌های لایه 2

با اینکه پلاسما در اتریوم یکی از مفیدترین راه‌حل‌ها بهبود مقیاس پذیری این بلاک چین محسوب می‌شود، اما از زمان عرضه آن تا کنون، به‌دلیل افزایش محبوبیت روش‌های لایه 2 کاربرد خود را از دست داده است. راه‌حل‌های لایه دو، بهبوددهنده چندین مشکل Plasma هستند:

کارایی پایین

راه‌حل‌های لایه 2 به تولید گواه‌های تصدیق رمزنگاری برای هر دسته از تراکنش‌های برون زنجیره‌ای می‌پردازند که این امر، از ادامه انتقال‌های وضعیت نامعتبر (توسط اپراتورهای رول آپ دانش صفر) جلوگیری کرده و نیاز به گذراندن دوران چالش را حذف می‌کند. این ویژگی همچنین به این معناست که کاربران برای تامین امنیت وجوه خود نیازی به بررسی دوره‌ای زنجیره ندارند.

عدم پشتیبانی از قراردادهای هوشمند

مشکل دیگر چارچوب پلاسما، عدم توانایی پشتیبانی از اجرای قراردادهای هوشمند اتریوم است. در نتیجه، اکثر پیاده‌سازی‌های پلاسما برای پرداخت‌های ساده یا تبادل توکن‌های ERC20 ساخته شده است.

اما در حالت مقابل، رول آپ‌های آپتیمیستیک با ماشین مجازی اتریوم سازگار بوده و قادر به اجرای اسمارت کانترکت‌ها محلی این شبکه هستند که آن‌ها را به راه‌حلی امن برای مقیاس پذیری برنامه‌های غیر متمرکز تبدیل می‌کند. در حالت مشابه، برنامه‌هایی برای ساخت یک رول آپ زی کی سازگار با ماشین مجازی اتریوم (zkEVM) وجود دارد که اجازه پردازش منطق شخصی و اجرای قراردادهای هوشمند را به این رولاپ‌ها می‌دهد.

عدم دسترسی به داده

همانطور که پیشتر گفتیم، Ethereum Plasma با مشکل عدم دسترسی به داده مواجه است. در این حالت، اگر اپراتوری به انتقال‌های وضعیت نامعتبر در پلاسما چین ادامه دهد، به‌خاطر توانایی وی در عدم ارائه داده‌های مورد نیاز جهت ساخت گواه‌های تقلب، کاربران نیز در به چالش کشیدن آن ناکام خواهند بود.

اما رول آپ‌ها با وادارسازی اپراتورها به انتشار داده تراکنش‌ها روی اتریوم این مشکل را مرتفع کرده و اجازه اعتبارسنجی وضعیت زنجیره و ساخت اثبات‌های تقلب در صورت نیاز را به همه افراد می‌دهند.

مشکل خروج جمعی

هر دوی رول آپ‌های زی کی و آپتیمیستیک به طرق مختلف مشکل خروج جمعی را رفع کرده‌اند. مثلا، رولاپ‌های دانش صفر برای این کار به مکانیزم‌های رمزنگاری متکی هستند که عدم توانایی اپراتورها در سرقت ارزهای دیجیتال کاربران تحت هر سناریویی را تضمین می‌کند.

در حالت مشابه، رول آپ‌های آپتیمیستیک نیز با ایجاد دوره تاخیر در برداشت‌ها که طی آن هر کسی قادر به جلوگیری از اجرای درخواست‌های برداشت نامعتبر و به‌چالش کشیدن آن‌هاست، این کار را انجام می‌دهند. با اینکه این روش هم در پلاسما وجود دارد، اما تفاوت این است که تاییدکنندگان در رولاپ آپتیمیستیک به داده‌های مورد نیاز برای ساخت گواه‌های تقلب دسترسی دارند.

امنیت پلاسما در اتریوم

همانطور که گفتیم، ساختار Ethereum Plasma از قراردادهای هوشمند و درخت مرکل تشکیل شده است که به این بلاک چین اجازه می‌دهد تا حدودی از امنیت شبکه اصلی بهره‌مند شود. با این حال، گفتیم که نهایی‌سازی تراکنش‌ها خارج از زنجیره بدون اطلاع از وضعیت پلاسما چین، باعث شکست مدل امنیتی می‌شود که نتیجه آن، الزام اپراتورها به انتشار «تعهدات وضعیت» است.

علاوه بر این، در داخل خود Plasma، امنیت ارتباطات بین زنجیره‌های فرزند و زنجیره ریشه پلاسما، از طریق گواه‌های تقلب تامین می‌شود. هر زنجیره فرزند نیز مکانیزم اعتبارسنجی بلاک مختص به خود و یک مدل گواه تقلب خاص را دارد که می‌توان آن‌ها را روی الگوریتم‌های اجماع مختلف پیاده‌سازی کرد. از جمله محبوب‌ترین این مکانیزم‌ها، اثبات کار (PoW)، اثبات سهام (PoS) و اثبات اعتبار (PoA) هستند.

بنابراین برای تامین امنیت، گواه‌های تقلب از امکان گزارش‌دهی رفتار مخرب نودها توسط کاربران، حفاظت از وجوه آن‌ها و خروج از تراکنش (که شامل تعامل با زنجیره اصلی است)، اطمینان حاصل می‌کنند. به عبارت دیگر، از گواه تقلب به‌عنوان مکانیزمی جهت شکایت یک زنجیره فرزند به زنجیره والد یا زنجیره ریشه استفاده می‌شود.

با این حال، در اوت 2019 (مرداد 98)، در رشته توییتی توسط TrustNode که بعدا حذف شد، گفته شد که ویتالیک بوترین نظرات منفی خود نسبت به این راه‌حل را ابراز کرده است. وی گفته بود که مشکل خروج از ساید چین، کاربرد عمومی آن را عملا ناممکن کرده است:

زمانی که شما بدون موافقت دریافت‌کننده قادر به تغییر حساب‌تان باشید، بازی‌های خروج پلاسما سخت‌تر می‌شوند. علت آن است که دیگر قابلیت دانستن آخرین وضعیت دارایی توسط کاربران صادق وجود ندارد و کانال‌ها نیز هرگز قادر به پشتیبانی و حمایت از «اهداف منافع جمعی» (مانند یونی سواپ) نیستند.

مزایا و معایب پلاسمای اتریوم

مزایامعایب
ارائه توان عملیاتی بالا و هزینه پایین در هر تراکنشنیاز به بررسی دوره‌ای شبکه یا اعطای نمایندگی این وظیفه به فرد دیگر جهت حصول اطمینان از امنیت رمز ارزها
مناسب برای تراکنش‌های میان کاربران (عدم نیاز به یک موجودیت بالاسری برای هر جفت کاربر در صورت حضور آن‌ها روی پلاسماچین)تکیه بر یک یا چند اپراتور برای ذخیره‌سازی داده و ارائه آن برای درخواست‌ها
زنجیره‌های پلاسما را می‌توان برای کاربردهای خاصی که مربوط به زنجیره اصلی نیستند، به‌کار گرفت. هر کسی، از جمله کسب‌وکارها، برای ارائه زیرساختی مقیاس پذیر که در هر شرایطی قابل استفاده باشد، قادر به شخصی‌سازی قراردادهای هوشمند Ethereum Plasma هستند.تاخیر در برداشت‌ها به مدت چند روز برای گذر از بازه چالش. برای دارایی‌های مثلی، این مدت را می‌توان به‌وسیله تامین‌کنندگان نقدینگی کاهش دارد، اما این امر نیز با هزینه همراه است.
کاهش بار مین‌نت اتریوم از طریق انتقال محاسبات و ذخیره‌سازی به خارج از زنجیرهدر صورت خروج تعداد بالای کاربر به‌صورت همزمان، احتمال شلوغی شبکه اصلی اتریوم نیز وجود دارد.

نسخه‌های مختلف پلاسمای اتریوم

همانطور که احتمالا تا اینجای مقاله متوجه شده‌اید، یک پروژه واحد به‌نام Plasma وجود ندارد، بلکه چندین پروتکل مختلف از ابزارهای خود برای ساخت چارچوب پلاسما استفاده می‌کنند. در حال حاضر، 4 نسخه متمایز از این پروتکل وجود دارد:

  • Plasma Cash: پلاسما کش یک طراحی از Ethereum Plasma است که برای ذخیره‌سازی و انتقال توکن‌های غیرمثلی در سال 2018 ساخته شد. از آنجایی که کاربران تنها نیازمند پیگیری توکن‌های شخصی خود هستند، این پروتکل مقیاس پذیری بسیار بالایی دارد. پلاسما کش از ساختار اسپارس مرکل تری (SMT) برای گنجاندن گواه‌ها استفاده می‌کند و به همین خاطر، از آن می‌توان تنها برای NFTها استفاده کرد. هر بلاک نیز دارای یک «اسلات» برای هر کوین (واریزی منحصربه‌فرد) است. هنگام خرج شدن یک کوین، یک گواه تراکنشی روی اسلات کوین مربوطه در بلاک آن ثبت می‌شود.
  • Plasma Debit: پلاسما دبیت مشابه پلاسما کش است، با این تفاوت که هر توکن در واقع یک کانال پرداخت بین کاربر و اپراتور زنجیره است. این پروتکل به یک شبکه لایتنینگ بزرگ شباهت دارد، اما کانال‌های آن را می‌توان دقیقا مشابه یک توکن در پلاسما کش انتقال داد. تراکنش‌ها نیز بسیار سریع بوده و تنها نیازمند پیگیری کانال‌های شخصی خود هستید.
  • Plasma Prime: پلاسما پرایم یک طراحی بسیار نو است که برای حل مشکلات اثبات‌های تاریخی بزرگ در پلاسما کش، از تجمیع‌گرهای RSA (نوعی تابع هش عضویت یک‌طرفه) استفاده می‌کند.
  • MVM یا Minimum Viable Plasma: پلاسما MVP طراحی دیگری از این چارچوب در سال 2018 است که برای ساخت پلاسماچین‌های مبتنی بر مدل UTXO بسیار ساده کاربرد دارد. ساختار پایه‌ای MVM تراکنش‌های پرداخت دارای توان عملیاتی بالا را به ارمغان می‌آورد، اما از ساختارهای پیچیده‌تر نظیر اسکریپت‌ها یا قراردادهای هوشمند پشتیبانی نمی‌کند. این طراحی همچنین به‌خاطر پردازش ترتیبی تراکنش‌ها بر اساس مکان قرارگیری خروجی برداشت‌شده، بر امضاهای تایید متکی است. کاربران نیز پیش از انجام تراکنش به امضای تراکنش، انتظار برای شمول آن در یک بلاک معتبر و سپس امضای دوم نیاز دارند. این امضاهای ثانویه همچنین باید در یک بلاک پلاسما گنجانده شوند که فضای بلاک برای جای‌گیری تراکنش‌های بیشتر را کاهش می‌دهد.
    از آنجایی که امضاهای تایید تجربه کاربری بدی ایجاد می‌کنند، نسخه دیگری به‌نام More Viable Plasma یا MoreVP طراحی شده که نیاز به این امضاها را حذف کرده است. مدل MoreVP این فرآیند را به‌گونه‌ای بهبود می‌بخشد که کاربران قادر به برداشت ارزهای خود خواهند بود. ترتیبی که برداشت‌ها طبق آن انجام می‌شود نیز بر اساس مکان قرارگیری جوان‌ترین ورودی در تراکنش تعیین می‌شود که باعث ساخت یک خروجی شده است.

مقایسه ویژگی‌های مدل‌های مختلف پلاسمای اتریوم

ویژگی‌های ساختاری، اجماع، واریزی‌ها، کارمزدها، امضاها و خروج و برداشت‌های پروتکل‌های Plasma به صورت زیر است:

محتویات طراحی پلاسماPlasma MVPPlasma CashPlasma Debit
ساختار داده درخت مرکل باینری (دودویی)درخت مرکل اسپارس (Sparse)درخت مرکل اسپارس (Sparse)
اجماعهر الگوریتمی (اثبات سهام، کار، اعتبار)هر الگوریتمی (اثبات سهام، کار، اعتبار)یک یا تعداد انگشت‌شماری اپراتور به‌خاطر ساختار کانال پرداخت
واریزی‌هانمونه‌های UTXO، پشتیبانی از اتر و توکن‌های ERC20شناسه کوین منحصربه‌فرد برای هر واریزی، فقط NFTحساب‌های دارای شناسه کوین منحصربه‌فرد برای هر واریزی، فقط FT و NFT
کارمزدهاپرداخت کارمزد تراکنش‌های پلاسما به اعتبارسنج‌ها و هزینه گس هنگام خروج/برداشت به‌سوی زنجیره ریشه یا دیگر زنجیره‌هامشابه MVPپرداخت کارمزدها از طریق کانال پرداخت تحت هدایت اپراتور به‌جای پرداخت مستقیم به دیگر کاربران
امضاهاامضای تراکنش پیش از شمول آن در بلاک و امضای ثانویه تایید پس از شمول آن در بلاکامضاهای تایید جهت جلوگیری از تقلبعدم نیاز به امضای تایید
خروج‌ها/برداشت‌هانیاز به اثبات UTXO خرج‌نشده برای خروج، مبتنی بر اولویت میزان قدیمی بودن UTXOهانیاز به اثبات دو تراکنش آخر کوین، اثبات شمول آن در بلاک، عدم اولویت‌بندینیاز به اثبات دو تراکنش آخر کوین، اثبات عدم خرج شدن کوین، اثبات شمول در بلاک، عدم اولویت‌بندی برای خروج

کاربردها، مزایا و معایب مدل‌های پلاسما نیز به صورت زیر است:

Plasma MPVPlasma CashPlasma Debit
مزایامقیاس پذیر، ارسال تمام امضاها بر اساس مکانیزم PoA به اپراتور مربوطه، تعویض‌پذیری بالابسیار مقیاس پذیر، نیاز به پیگیری کوین‌های شخصی نه تمام کوین‌های روی زنجیره توسط خود کاربرانبسیار مقیاس پذیر، نیاز به پیگیری کوین‌های شخصی توسط خود کاربران، فعال‌سازی تراکنش‌های FT و NFT، عدم نیاز به شمول آپدیت‌های موجودی در بلاک‌ها به‌خاطر قابلیت رسیدن به توافق بین اپراتور و کاربر (مشابه کانال‌ها)
معایبنیاز به پیگیری و به‌چالش کشیدن خروج‌های نامعتبر توسط خود کاربر، پتانسیل جریمه اشتباه در صورت تاخیر در انتشار بلاک توسط اپراتور و تلاش کاربر برای ثبت مجدد تراکنشبزرگ بودن اثبات‌های کوین، نزول ارزش ثابت کوین‌ها، نیاز به پیگیری و به‌چالش کشیدن تراکنش‌های نامعتبر توسط کوین‌های خود کاربرتکیه شدید بر اپراتور، بزرگ بودن اثبات‌های کوین، نیاز به قفل کردن مقدار مشخصی ارز پیش از استفاده از کانال‌های پرداخت توسط اپراتور، محدودیت اندازه تراکنش به‌خاطر اندازه واریزی اولیه، قابل توجه بودن تبادلات غیر متمرکز
کاربردهاکاربردهای نیازمند به اعتماد پایین (PoA)، صرافی‌ها، اوراق بهادار، پرداخت‌های همتابه‌همتا، پرداخت‌های مکرر/قبض، بازیکالکتیبل‌ها، مدیریت دارایی (مانند ملک و موارد دیگر)کاربردهای نیازمند به اپراتورهای فوق معتبر، ارائه‌دهندگان خدمات یا کیف پول‌های الکترونیک، بازی، مدیریت دارایی، پرداخت‌های P2P

جمع‌بندی

پلاسما چین یک بلاک چین مجزا از شبکه اصلی اما متصل به آن است که تراکنش‌ها را با استفاده از مکانیزم اعتبارسنجی بلاک خود به صورت برون زنجیره‌ای اجرا می‌کند. زنجیره‌های Ethereum Plasma که «فرزند» نام داشته و صرفا کپی‌های کوچکتری از مین‌نت اتریوم هستند، بر اساس یک ساختار درخت‌گونه معروف به «درخت مرکل» و مبتنی بر عملکرد قراردادهای هوشمند کار می‌کنند.

تهیه شده در بیت 24