زاما چه مسئلهای را حل میکند؟
در بسیاری از بلاکچینهای عمومی، اجرای قرارداد قابل بررسی است، اما دادههای تراکنش نیز در معرض دید قرار میگیرد. این ویژگی برای کاربردهایی مانند پرداخت، مدیریت دارایی یا ثبت اطلاعات حساس محدودیت ایجاد میکند. پروتکل زاما میخواهد امکان کار با دادههای رمزگذاریشده را در قراردادهای هوشمند فراهم کند تا برنامه بتواند عملیاتی را انجام دهد، بیآنکه لازم باشد مقدار ورودی را برای همه آشکار کند.
زاما یک لایه محرمانگی برای بلاکچینهای موجود است. برنامهها روی زنجیرههای پشتیبانیشده اجرا میشوند و برای پردازش داده رمزگذاریشده از اجزای پروتکل کمک میگیرند. بنابراین نباید خود پروتکل را با یک بلاکچین عمومی تازه، یا توکن ZAMA را با دارایی محرمانهای که یک برنامه روی این پروتکل میسازد، یکی دانست.
محاسبه روی داده رمزگذاریشده چگونه انجام میشود؟
پایه فنی زاما رمزنگاری کاملاً همریخت یا FHE است. این روش اجازه میدهد برخی محاسبات روی دادهای انجام شود که همچنان رمزگذاریشده است. توسعهدهنده با کتابخانه FHEVM قرارداد مینویسد و نوع داده و عملیات رمزگذاریشده را در منطق برنامه به کار میبرد. نتیجه محاسبه نیز تا زمانی که فرایند مجاز رمزگشایی انجام نشود، به صورت رمزگذاریشده باقی میماند.
زنجیره میزبان محاسبات سنگین FHE را به تنهایی اجرا نمیکند. قرارداد، رویداد مربوط به عملیات را ثبت میکند و پردازشگرهای کمکی محاسبه را بیرون از زنجیره انجام میدهند. گیتوی درخواستها و پاسخها را میان بخشهای پروتکل هماهنگ میکند. این تقسیم کار فشار محاسباتی را از زنجیره میزبان برمیدارد، ولی اجرای برنامه را به دسترسپذیری و عملکرد چند جزء وابسته میکند.
چه کسی میتواند داده را ببیند؟
محرمانگی در زاما به قواعد دسترسی همان برنامه بستگی دارد. قرارداد هوشمند تعیین میکند چه حساب یا قراردادی اجازه استفاده از یک داده رمزگذاریشده را داشته باشد و چه کسی بتواند درخواست رمزگشایی کند. برای نمونه، در یک برنامه پرداخت محرمانه میتوان مقدار انتقال را رمزگذاری کرد و دسترسی به اطلاعات لازم را طبق قواعد قرارداد به طرفهای مجاز داد. این مثال، توصیف یک کاربرد ممکن است؛ همه برنامهها الزاماً چنین قواعدی ندارند.
خدمت مدیریت کلید یا KMS با استفاده از محاسبات چندطرفه، کلید خصوصی رمزگشایی را میان چند گره تقسیم میکند. گیتوی درخواست مجاز را به این گرهها میرساند و نتیجه طبق فرایند تعیینشده به کاربر یا قرارداد بازمیگردد. این سازوکار قرار است از دسترسی یک گره منفرد به کلید کامل جلوگیری کند. با این حال، مجاز بودن درخواست به تنظیم درست قواعد دسترسی در قرارداد وابسته است.
کاربرد توکن ZAMA در پروتکل
ZAMA توکن بومی پروتکل زاما است و دو کاربرد اصلی آن پرداخت کارمزد پروتکل و مشارکت در سهامگذاری است. طبق لایتپیپر، برای بررسی ورودی رمزگذاریشده، رمزگشایی و انتقال داده رمزگذاریشده میان زنجیرهها کارمزد دریافت میشود. خود محاسبه FHE در مدل کارمزدی توضیحدادهشده، هزینه جداگانهای ندارد. کارمزدها با ZAMA پرداخت میشوند، هرچند مقدار خدمت بر مبنای دلار قیمتگذاری میشود و تعداد توکن لازم با داده اوراکل تعیین میگردد.
پرداختکننده کارمزد همیشه کاربر نهایی نیست. یک برنامه یا ریلیر هم میتواند آن را بپردازد؛ در نتیجه استفاده از برنامهای مبتنی بر زاما لزوماً به نگهداری مستقیم ZAMA در کیف پول کاربر نیاز ندارد. از سوی دیگر، داشتن ZAMA به خودی خود یک تراکنش را محرمانه نمیکند. مستندات سهامگذاری نیز تصریح میکند که در این بخش، توکن ZAMA به شکل غیرمحرمانه استفاده میشود.
سهامگذاری و پاداشها
دارندگان ZAMA میتوانند توکنهای خود را به استخر یک اپراتور واگذار کنند. اپراتورها گرههای مدیریت کلید یا پردازشگرهای کمکی را اداره میکنند و مشارکت آنان برای اجرای خدمات پروتکل لازم است. مستندات زاما توضیح میدهد که پاداش سهامگذاری به استخرهای اپراتوری واجد شرایط تعلق میگیرد. اپراتور بخشی از پاداش را به عنوان کارمزد برمیدارد و باقیمانده میان واگذارکنندگان تقسیم میشود؛ بنابراین صرف سپردهگذاری در هر استخر به معنای دریافت پاداش نیست.
مدل توکن شامل سوزاندن کارمزدهای پروتکل و ایجاد توکن برای پرداخت پاداش است. میزان انتشار پاداش و شرایط سهامگذاری میتواند با تصمیم حاکمیتی تغییر کند. همچنین برداشت از سهامگذاری فرایند جداگانه و دوره انتظار دارد. کسی که این سازوکار را بررسی میکند، باید وضعیت واجد شرایط بودن اپراتور، کارمزد او، قواعد برداشت و قرارداد مربوط را از منابع رسمی بخواند؛ نرخ پاداش به تنهایی تصویر کاملی از شرایط نمیدهد.
یک کاربرد عملی: انتقال مبلغ محرمانه
فرض کنید برنامهای روی یک زنجیره پشتیبانیشده، انتقال دارایی با مبلغ رمزگذاریشده را پیادهسازی کرده است. کاربر مبلغ را به شکل رمزگذاریشده به قرارداد میفرستد. پروتکل معتبر بودن ورودی را بررسی میکند و پردازشگرهای کمکی عملیات لازم را روی داده رمزگذاریشده انجام میدهند. قرارداد نیز مشخص میکند کدام طرفها حق استفاده از داده یا درخواست رمزگشایی را دارند. جزئیات دقیق انتقال، از جمله اینکه چه اطلاعاتی در زنجیره عمومی دیده میشود، به طراحی همان برنامه بستگی دارد.
این کاربرد برای موقعیتی معنا دارد که آشکار شدن مبلغ برای همه مطلوب نیست، اما برنامه همچنان باید قواعد انتقال را اجرا کند. محرمانگی مبلغ به معنی پنهان شدن خودکار همه اطلاعات تراکنش نیست. آدرسها، زمان تعامل، نوع قرارداد یا رویدادهای ثبتشده میتوانند اطلاعاتی درباره فعالیت کاربر نشان دهند. پیش از استفاده از هر برنامه باید دید دقیقاً چه دادههایی را رمزگذاری میکند و مجوزهای مشاهده را به چه کسانی میدهد.
محدودیتهای فنی و فرضهای امنیتی
اجرای عملیات رمزگذاریشده به پردازش بیشتر و هماهنگی میان زنجیره میزبان، گیتوی، پردازشگرهای کمکی و KMS نیاز دارد. در برخی مراحل، بهویژه هنگام رمزگشایی، برنامه باید منتظر تکمیل محاسبه و پاسخ اجزای بیرون از زنجیره بماند. بنابراین تجربه کاربری و زمان پاسخ میتواند با یک قرارداد معمولی تفاوت داشته باشد. ظرفیت و هزینه عملی نیز به حجم استفاده و زیرساخت وابسته است؛ برنامهنویس باید این موارد را برای کاربرد خود ارزیابی کند.
امنیت داده تنها به قدرت رمزنگاری وابسته نیست. خطا در قرارداد، اعطای مجوز بیش از حد، اشکال در پیادهسازی برنامه یا اختلال در گرهها میتواند به کاربر آسیب بزند. زاما برای پردازشگرهای کمکی از توافق میان چند اپراتور و برای رمزگشایی از تقسیم کلید استفاده میکند. این تدابیر ریسک را کاهش میدهند، اما جای بررسی کد، مجوزها و فرضهای اعتماد هر برنامه را نمیگیرند.
ریسکهای مرتبط با توکن زاما
کاربرد توکن به میزان استفاده واقعی از خدمات پروتکل و تصمیمهای مربوط به کارمزد و پاداش وابسته است. سوزاندن کارمزدها را نباید به معنای کاهش قطعی عرضه دانست، زیرا همزمان برای پاداشها توکن ایجاد میشود. تغییر نرخ انتشار، هزینه خدمات یا ترکیب اپراتورها میتواند بر اقتصاد توکن اثر بگذارد. هیچیک از این سازوکارها به تنهایی درباره ارزش آینده ZAMA نتیجه قطعی نمیدهد.
سهامگذاری نیز خطرهای عملی دارد: انتخاب اپراتور نامناسب، تغییر کارمزد استخر، دوره انتظار برای برداشت و احتمال جریمه اپراتور از مواردی است که باید بررسی شود. مشارکت در حاکمیت پروتکل در اختیار سازوکار رأیگیری اپراتورهاست؛ نگهداری توکن را نباید با حق رأی مستقیم و برابر درباره همه تغییرات پروتکل یکسان فرض کرد. برای انتقال توکن میان شبکهها نیز لازم است شبکه، نشانی قرارداد و روش انتقال با اطلاعات رسمی تطبیق داده شود.
برای شناخت بهتر زاما چه چیزهایی را بررسی کنیم؟
برای ارزیابی یک برنامه ساختهشده با زاما، از خود برنامه شروع کنید: کدام دادهها رمزگذاری میشوند، چه کسانی اجازه رمزگشایی دارند و هنگام خروج از برنامه چه اطلاعاتی آشکار میشود؟ سپس وابستگی آن به زنجیره میزبان و اجزای پروتکل را بررسی کنید. پاسخ این پرسشها برای هر برنامه متفاوت است و نام زاما به تنهایی سطح محرمانگی یا امنیت آن را مشخص نمیکند.
برای شناخت خود ZAMA، لایتپیپر و مستندات رسمی سهامگذاری مبنای مناسبی برای فهم کارمزد، پاداش و نقش اپراتورها هستند. میان توکن قابل نگهداری در کیف پول، خدمات محرمانگی پروتکل و داراییهای محرمانهای که برنامههای دیگر میسازند تفاوت بگذارید. این تفکیک کمک میکند کاربرد واقعی توکن روشن بماند و ویژگیهای یک برنامه به اشتباه به همه انتقالهای ZAMA نسبت داده نشود.