با توجه به هایپ اخیر شبکه تون و ایردراپهای فراوان، تون با شلوغیهای زیادی مواجه میشود و این امر احتمالا ادامهدار باشد. در زمان ایردراپ کاربران معمولا یک تراکنش برای ارسال تون به ولتشان برای پرداخت فی، یک تراکنش برای مینت توکن مدنظر و یک تراکنش برای ارسال توکن به صرافیها و نقد کردن آن انجام میدهند. این موضوع بار زیادی به شبکه تحمیل میکند. در ادامه بهعنوان راهحلی برای کاهش این بار، پروتکل Mintless Jetton معرفی میشود که تراکنش مینت را حذف کرده و با این کار بار به حد قابل توجهی کاهش مییابد.
ابتدا خوب است توضیحی درباره مرکلتری (Merkle Tree) ارائه کنیم. مرکلتری به زبان ساده یک ساختار داده درختی است که دو ویژگی آن برای ما اهمیت دارد:
- هش ریشه درخت نمایانگر کل درخت و به نوعی خلاصهی آن است.
- با داشتن یکی از برگهای درخت میشود ولیدیت کرد که آن برگ جزو درخت است یا نه.
یک Mintless Jetton در هنگام ایردراپ، یک مرکلتری از اطلاعات ایردراپش میسازد که در آن هر برگ حاوی دیتای هر کاربر است. این اطلاعات به صورت کامل در یک سرور وجود دارد و کاربران تحت یک استاندارد مشخص میتوانند دیتای مورد نیاز برای دریافت ایردراپشان را دریافت کنند. همچنین هش ریشهی مرکلتری در کانترکت توکن مدنظر موجود است.
کاربران با دریافت دیتای ایردراپ تابع ترنسفر توکن را صدا میزنند. دقت کنید که هنوز توکنی مینت نشده و کاربر موجودیای ندارد. شرطهایی که در کانترکت توکن چک میشوند به شرح زیر است:
- آیا دیتای ارسالی متعلق به ارسالکنندهی تراکنش است؟
- آیا دیتای ارسالی عضو مرکلتری است؟
- آیا در بازه ایردراپ تراکنش ارسال شده است؟
- آیا کاربر قبلا توکنهایش را Claim نکرده است؟
اگر جواب تمامی سوالهای بالا مثبت باشد ارسال انجام میشود. با این تغییر فرایند، هم تعداد تراکنشها در زمان ایردراپ کم میشود و هم هر زمان که نیاز به جابجایی توکن داشته باشیم توکنمان مینت میشود.
نکتهی جالب این است که بسیاری از dAppها و ولتها این موضوع را هندل میکنند و حتی زمانی که کاربر هنوز توکن خود را مینت نکرده، میتواند موجودی خود را مشاهده کند.
برای آشنایی بیشتر با پروتکل Mintless Jetton میتوانید این پست را در گیتهاب بخوانید.
Source link