اولین شبکه بلاک چینی که ادعای دسترسی به سیستمهای پرداخت بدون نیاز به مجوز، مقابله با سانسور پول، پیادهسازی پروتکل درون زنجیرهای برای رایگیری غیر متمرکز، اجرای کار آمدتر Dappها، حفظ هویت کاربران و رعایت حریم خصوصی آنها را دارد، پروتکل مینا (MINA) می باشد که قصد داریم در این مقاله به معرفی و بررسی نحوه کارکرد آن بپردازیم.
پروتکل مینا (MINA) چیست؟
شرکت O(1) Labs در سال 2017 توسط Evan Shapiro برای طراحی یک پروتکل لایه اول، اقدام به راه اندازی یک پروژه جاه طلبانه تحت عنوان پروتکل مینا (MINA) کرد که قادر به ارائه یک بلاک چین با تمامی اجزای اصلی (امنیت، مقیاس پذیری و عدم تمرکز) بود. پروتکل مینا از راه حلی با رمزنگاری پیشرفته تحت عنوان ZK-Snarks، به جای استفاده از قدرت محاسباتی سنگین استفاده میکند.
توسعهدهندگان شبکه مینا از عبارت Succinct Blockchain برای تعریف این پروتکل استفاده می کنند که به معنای بلاک چین فشرده است یعنی زنجیره بلاک چینی، مختصر، کوچک و فشرده ای که با کاهش حجم محاسبات ضروری شبکه، پیادهسازی برنامه های غیرمتمرکز را به حداقل میرساند. طبق ادعای این توسعه دهندگان، شبکه مینا سبک ترین زنجیره بلوکی در جهان است که در عین فشرده سازی، به صورت امن و متمرکز نیز عمل می کند. بلاک چین بیت کوین 350 گیگا بایت است در حالی که حجم این شبکه فقط 22 کیلو بایت می باشد.
نحوه عملکرد پروتکل مینا
استفاده از فناوری Zero knowledge Proof باعث شده که حجم زنجیره بلاک چین مینا ۲۲ کیلوبایت باشد. بررسی همه تراکنش های کل زنجیره کاری وقت گیر و پر هزینه برای هر کدام از ولیدیتورها یا تاییدکنندگان شبکه می باشد، بنابراین شبکه مینا این امکان را به Full Node (نودهای کامل) شبکه میدهد که بعد از تایید زنجیره، آن را با الگوریتم zk-SNARK جایگزین کنند که مانند یک عکس فوری از هر بلاک عمل میکند. به این صورت که در یک تصویر فوری، هر بلاک ظاهر میشود و هر عکس جزئی از یک تصویر فراکتال و بزرگتر است.
با این روش پروتکل مینا یک زنجیره بلوکی صدها گیگابایتی را تبدیل به یک zk-SNARK 20 کیلوبایتی میکند. الگوریتم zk-SNARK امکان تایید اطلاعات بدون نیاز به افشای هویت افراد را به کاربران میدهد. بررسی کل بلاکهای زنجیره بلاک چین در شبکههای بزرگ، امری بسیار وقتگیر، پرهزینه و تقریباً ناممکن است، در حالی که با استفاده از الگوریتم SNARKS پلتفرم فقط بر روی چند بلاک آخر متمرکز می شود. یعنی کاربران فقط سند اثبات شده zk-SNARK را به جای بررسی کل تاریخچه تراکنشها، ارزیابی میکنند. الگوریتم zk-SNARK، این امکان این را به افراد میدهد که صحت گفتههای خود را بدون دادن اطلاعات به دیگران، ثابت کنند.
اهداف پلتفرم مینا چیست؟
توسعهدهندگان پروتکل مینا قصد دارند شبکهای بسازند که کاربران مستقیما از طریق مرورگرهای کامپیوترهای معمولی و تلفن های همراه خود و بدون نیاز به مجوز بتوانند به سیستمهای پرداخت دسترسی داشته باشند. هدف توسعه دهندگان این پلفترم، رعایت حریم خصوصی و محافظت از هویت کاربران توسط صرافی های غیر متمرکز، پروتکلهای دیفای و بازارهای مالی آزاد و با حداکثر پتانسیل و کمترین هزینه می باشد.
1- مقاومت در برابر سانسور
اولین وسیله مبادله کاملا ضد سانسور، پروتکل مینا می باشد. هدف از راه اندازی این پروتکل کارآمدتر کردن سیستمهای پرداخت سنتی می باشد. این شبکه دارای حجم ثابت و بسیار کمی می باشد، بنابراین هر کاربری قادر به تایید اعتبار دفتر کل می باشد. تراکنشهای MINA پس از اسنارک شدن در بلاک قرار میگیرند. برای مقاوم شدن Mina در برابر سانسور باید یک تراکنش بدون اسنارک شدن در بلوک قرار گیرد. در ادامه مقاله به طور مفصل با مفهوم اسنارک آشنا خواهیم شد.
2- ارائه نسل جدید اپلیکیشنهای بدون نیاز به مجوز
Permissionless Applications یا همان برنامههای بدون نیاز به مجوز، برنامههایی هستند برای تعیین این که چه کسی و چطور میتواند از آن استفاده کند، هیچ ناظری در آنها وجود ندارد و همه افراد می توانند بدون محدودیت به آن دسترسی داشته باشند. در شبکه اتریوم پردازش اطلاعات به صورت On-Chain (درون زنجیرهای) صورت میگیرد که دارای مشکلاتی و چالش هایی از جمله ازدحام شبکه، افشای اطلاعات کاربران، کارمزد تراکنش بسیار بالا و هزینه فزاینده پردازش کل زنجیره می باشد. پروتکل مینا، به دنبال رفع این مشکلات از طریق توسعه اپلیکیشنهای غیرمتمرکزی تحت عنوان Snapps (اسنپس) می باشد. Snapps اپلیکیشنهای غیر متمرکزی هستند که ضمن پشتیبانی از الگوریتم SNARK، از سایر سیستم های غیر متمرکز، 2 قابلیت مقیاس پذیری و حریم خصوصی را جدا میکند:
مقیاس پذیری: در خارج از زنجیره، پهنای باند و پردازشهای پرهزینه و سنگینی انجام میشوند و Snapps فقط به بررسی و تایید صحت دادهها می پردازد.
حریم خصوصی: Snapps بدون افشای هویت کاربران، صحت و اعتبار دادهها را تایید میکند.
الگوریتم zk-SNARK امکان طراحی، ایجاد و توسعه برنامههای بدون نیاز به مجوز را به پلتفرم مینا میدهد که پردازش دادهها را خارج از زنجیره انجام دهد و سپس برای تایید، آنها را به درون زنجیره ارسال کند.
3- دسترسی همگانی به دلار دیجیتال
ساختار پروتکل مینا
در بیشتر پلتفرمهایی که از فناوری بلاک چین کنونی استفاده میکنند، نودهای سبک و تاییدکنندگان (یعنی سپردهگذاران در الگوریتم های گواه اثبات سهام و ماینرها در الگوریتم های گواه اثبات کار) مانند یک شخص ثالث در هنگام تایید تراکنشها عمل میکنند. در حالی که پروتکل مینا با به کارگیری مشارکتکنندگان بیشتری که هر کدام کار خاصی را روی شبکه غیر متمرکز انجام میدهند، رویکرد متفاوتی را در پیش گرفته است. در پروتکل مینا کاربران میتوانند ۳ نقش را بر عهده بگیرند که شامل تاییدکنندگان (Verifiers)، سازندگان بلاک (Block Producers) و اسنارکرها (Snarkers) می باشد. در ادامه به بررسی هر کدام از این نقش ها می پردازیم.
تاییدکنندگان (Verifiers)
وظیفه تاییدکنندگان، اعتبارسنجی اطلاعات اجماع و درخت مرکل با استفاده از فناوری zk-SNARKS می باشد. همه افراد قادرند از طریق تلفن همراه یا هر دستگاه دیگری که دارای ظرفیت و قدرت پردازشی چند میلی ثانیهای بهاندازه یک زنجیره بلاک چینی ۲۲ کیلوبایتی می باشد، تحت عنوان یک تایید کننده عمل کنند. به این صورت که تاییدکنندگان اقدام به دانلود یک نسخه zk-SNARKS کم حجم می کنند و در کمتر از یک ثانیه آن را تایید می نمایند.
سازندگان بلاک (Block Producers)
عملکرد سازندگان بلاک شبیه به عملکرد ماینرها و سپردهگذاران می باشد و کارمزد تراکنشها و جایزه ساخت بلاک جدید را دریافت میکنند. تولیدکنندگان بلاک علاوه بر افزودن تراکنشها به بلاک، باید معادل تعداد معاملات ناموفقی که قبلا انجام شده، SNARK بسازند. برای ساخت اسنارک ها سازندگان بلاک میتوانند خودشان این کار را انجام دهند و یا با استفاده از الگوریتمی که توسط اسنارکرها تولید میشود، اقدام کنند.
اسنارکرها (Snarkers)
اسنارکرها یا اثبات کنندگان، باید zk-SNARK به کار رفته در تایید تراکنش ها را تولید کنند. سازندگان بلاک باید مقداری از کارمزد دریافتی بابت افزودن بلاکهای جدید به زنجیره را به اسنارکرها بپردازند؛ بنابراین اسنارکرها باید پیشنهادات خود را ارسال کنند تا برای دریافت کارمزد واجد شرایط باشند. zk-SNARK ساخته شده در بلاکی به کار گرفته می شود که تولیدکننده آن مسئول پرداخت کارمزد اسنارکر می باشد. در نتیجه یک چرخه اقتصادی ایجاد میشود؛ زیرا چندین اسنارکر قادرند برای یک تراکنش واحد، پیشنهاد خود را ارسال کنند. Snarkers چالش نوشتن الگوریتمهای ارزان قیمت را دارند و سازندگان بلاک نیز zk-SNARK با کمترین پیشنهاد کارمزد می خواهند.
نحوه انجام تراکنش در شبکه مینا
وقتی کاربری یک تراکنش را ارسال میکند، تراکنش ثبت نشده به یک استخر از تراکنشهای تایید نشده یا همان ممپول وارد میشود. سپس اسنارکرها فرآیند ساخت SNARKS را برای اثبات اعتبار تراکنش آغاز میکنند. ادامه ی فرآیند با تعداد منتخبی از سازندگان بلاک که برای ایجاد بلاک، تراکنشها را بررسی میکنند، صورت می گیرد. سازنده بلاک از داخل ممپول، تراکنشهای سودآوری که دارای کارمزد بیشتر هستند را انتخاب میکند. سپس سازنده بلاک یک اسنارک را با توجه به قوانین مکانیزم اجماع، انتخاب میکند. (در اینجا سازنده بلاک، بر خلاف تراکنشها، کم هزینهترین اسنارک را انتخاب میکند. همچنین تراکنش هایی که اخیرا اضافه شده اند، دارای اسنارک به روزتری هستند.) سپس اسنارک توسط سازندگان به بلاک افزوده می شود و بلاک را نیز به زنجیره اضافه می نمایند. تراکنشهای اعتبارسنجی شده، برای ثابت ماندن حجم پروتکل به صورت پیوسته، از زنجیره حذف میشوند. سپس سازندگان بلاک، اقدام به ارتقا zk-SNARKS پروتکل می کنند و در اخر نیز بلاک جدید به صورت غیر قابل تغییر و دائمی بخشی از زنجیره بلاک چین میشود.
ارز MINA چیست؟
ارز MINA با هدف ایجاد انگیزه اقتصادی برای کاربران راه اندازی شده است. سازندگان بلاک و اسنارکرها، رمز ارزهای مینا را در ازای کارمزد خود دریافت می کنند. پروتکل مینا از همان الگوریتم اجماعی شبکه کاردانو یعنی Ouroboros PoS (گواه اثبات سهام اوربوروس) استفاده می کند.