ایران اکسچنج

تراکنش محرمانه در بلاکچین چیست؟ آموزش CT و کاربردها

تراکنش محرمانه در بلاکچین چیست؟ آموزش CT و کاربردها

زهرا حقی
زمان تقریبی مطالعه: 5 دقیقه
فهرست عناوین

تراکنش محرمانه در بلاکچین (Confidential Transaction یا CT) روشی رمزنگاری است که اجازه می‌دهد شبکه، درستی یک انتقال را بررسی کند، بی‌آنکه لازم باشد مبلغ دقیق آن برای همه کاربران آشکار باشد. در بعضی پیاده‌سازی‌ها، مانند شبکه Liquid، نوع دارایی منتقل‌شده نیز مخفی می‌شود. این قابلیت برای کسب‌وکارهایی که نمی‌خواهند حجم پرداخت یا جزئیات دارایی‌شان در دفترکل عمومی افشا شود، و برای افرادی که به محرمانگی مالی اهمیت می‌دهند، کاربرد دارد.

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

تراکنش محرمانه چیست و دقیقاً چه چیزی را مخفی می‌کند؟

در تراکنش معمول بیت‌کوین، مقدار هر خروجی بخشی از داده‌های عمومی تراکنش است. هر کسی که به یک کاوشگر بلاکچین دسترسی داشته باشد می‌تواند مبلغ، ورودی‌ها، خروجی‌ها و مسیر حرکت دارایی را مشاهده کند؛ هرچند نام واقعی صاحبان آدرس‌ها الزاماً در زنجیره نوشته نشده است. CT با جایگزین‌کردن مقدار آشکار با یک تعهد رمزنگاری این وضعیت را تغییر می‌دهد. تعهد شبیه جعبه‌ای مهروموم‌شده است: همه می‌توانند اعتبار برخی ویژگی‌های آن را بسنجند، ولی محتوا را بدون اطلاعات لازم نمی‌بینند.

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

تفاوت محرمانگی، ناشناس‌بودن و امنیت

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

چرا داده‌های تراکنش در بلاکچین عمومی هستند؟

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

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

تراکنش محرمانه از نظر فنی چگونه کار می‌کند؟

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

۱. تعهد پدرسن؛ پنهان‌کردن مبلغ با حفظ امکان حسابرسی ریاضی

در یک صورت‌بندی رایج، تعهد پدرسن را می‌توان به شکل C = vH + rG نوشت؛ در آن v مقدار دارایی، r عامل تصادفی کورکننده و G و H نقاط مبنا روی منحنی بیضوی‌اند. مشاهده‌کننده از روی C نمی‌تواند مبلغ را به‌سادگی به دست آورد، ولی خاصیت جمع‌پذیری تعهدها امکان می‌دهد شبکه برابری ارزش ورودی‌ها و خروجی‌ها را با لحاظ کارمزد بررسی کند.

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

۲. اثبات بازه؛ جلوگیری از پنهان‌شدن عدد منفی

اگر شبکه فقط برابری تعهدها را بسنجد، یک تراکنش دست‌کاری‌شده می‌تواند از ویژگی‌های محاسبات پیمانه‌ای سوءاستفاده کند و مبلغ نامعتبر یا منفی را درون تعهد پنهان نگه دارد. اثبات بازه یا Range Proof اجازه می‌دهد شبکه مطمئن شود مقدار خروجی در محدوده مجاز قرار دارد، بی‌آنکه عدد دقیق را بفهمد. مستندات Liquid از Bulletproofs برای ارائه این نوع اثبات فشرده یاد می‌کنند.

اثبات بازه مقدار را لو نمی‌دهد؛ فقط گزاره‌ای درباره معتبر بودن آن را تأیید می‌کند. به همین دلیل، مشاهده‌کننده برای اعتبارسنجی به دانستن اینکه مبلغ «مثلاً ۰٫۷۵ واحد» بوده نیاز ندارد. نباید Bulletproofs را مترادف تمام انواع اثبات دانش صفر دانست؛ اینجا از آن برای مسئله خاص بازه مبلغ استفاده می‌شود.

۳. اثبات نوع دارایی؛ جلوگیری از تبدیل ساختگی یک توکن به توکن دیگر

وقتی یک شبکه فقط یک نوع دارایی دارد، بررسی برابری مبلغ ساده‌تر است. در محیط چنددارایی Liquid، نوع توکن هم ممکن است مخفی شود. بنابراین علاوه بر تعهد مبلغ، از تعهد نوع دارایی و Asset Surjection Proof استفاده می‌شود تا خروجی نتواند بدون مجوز نوعی دارایی بسازد که در ورودی وجود نداشته است. نتیجه: راستی‌آزمایی هم‌زمان مقدار معتبر و هویت مجاز دارایی بدون نیاز به افشای آن‌ها.

کلید کورکننده چیست و چه تفاوتی با کلید خصوصی کیف پول دارد؟

کلید خرج‌کردن به مالک اجازه می‌دهد تراکنش را امضا کند؛ کلید کورکننده یا اطلاعات مرتبط با آن، برای مشاهده و بازیابی مبلغ و نوع دارایی پنهان‌شده استفاده می‌شود. این دو وظیفه یکسان ندارند. ممکن است حسابرس با دریافت اطلاعات مجازِ رفع کورسازی بتواند جزئیات یک تراکنش را ببیند، بدون آنکه لزوماً اختیار خرج‌کردن آن خروجی را داشته باشد.

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

حسابرسی انتخابی؛ چگونه بدون عمومی‌کردن مبلغ آن را افشا کنیم؟

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

مثال ساده از یک پرداخت محرمانه

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

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

تفاوت تراکنش عادی بیت‌کوین و تراکنش محرمانه Liquid

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

ویژگیانتقال عادی روی بیت‌کوینانتقال محرمانه در Liquid
مبلغ خروجیعموماً آشکاربرای ناظر بیرونی پنهان
نوع داراییBTC بومی شبکهبرای خروجی محرمانه قابل پوشاندن
آدرس‌ها و ساختار تراکنشداده عمومیهمچنان قابل مشاهده
کارمزدقابل بررسیقابل بررسی؛ در Liquid با LBTC
اثبات درستی مقدارکنترل مقادیر آشکارتعهد و اثبات رمزنگاری
شبکه و داراییBTC روی شبکه بیت‌کوینLBTC و دارایی‌های صادرشده روی Liquid
ناشناس‌بودن کاملخیرخیر؛ CT کافی نیست

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

آیا USDT روی Liquid همان تتر شبکه‌های دیگر است؟

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

بررسی فناوری RingCT در بلاک‌چین و تفاوت آن با تراکنش‌های محرمانه (CT)

RingCT چیست و با CT چه فرقی دارد؟

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

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

مهم‌ترین مزایای تراکنش محرمانه

حریم خصوصی مالی اشخاص و کسب‌وکارها

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

اعتبارسنجی بدون انتشار عدد واقعی

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

حسابرسی محدود و هدفمند

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

محدودیت‌ها و ریسک‌های CT در عمل

پنهان‌نشدن همه فراداده‌ها

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

هزینه محاسبات و اندازه داده

تعهدها و اثبات‌ها به داده و پردازش بیشتری نسبت به نگارش ساده یک عدد نیاز دارند. فناوری‌هایی مانند Bulletproofs برای کاهش سربار توسعه یافته‌اند، ولی هزینه نهایی تابع شبکه و نوع پیاده‌سازی است. نمی‌توان بدون اندازه‌گیری واقعی گفت هر تراکنش CT همیشه چند برابر یک انتقال استاندارد فضا اشغال می‌کند.

سازگاری کیف پول و شبکه

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

امنیت کلید، افشای اطلاعات و محدودیت مقرراتی

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

چگونه یک ادعای «تراکنش کاملاً محرمانه» را ارزیابی کنیم؟

وقتی یک پروژه یا اپلیکیشن مدعی انتقال خصوصی است، پیش از اتکا به آن شش سؤال بپرسید: کدام داده‌ها پنهان می‌شوند؟ آیا آدرس و فراداده باقی می‌مانند؟ نودها چگونه عدم ایجاد دارایی نامعتبر را بررسی می‌کنند؟ دریافت‌کننده چطور مبلغ را بازیابی می‌کند؟ چه شخص یا سرویسی توان افشای جزئیات را دارد؟ و آیا کیف پول و شبکه مقصد واقعاً از آن استاندارد پشتیبانی می‌کنند؟

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

جمع‌بندی؛ حریم خصوصی بیشتر با اعتبارسنجی عمومی چگونه جمع می‌شود؟

تراکنش محرمانه نشان می‌دهد «قابل بررسی بودن» لزوماً به معنای «افشای همه جزئیات» نیست. با تعهدهای رمزنگاری و اثبات‌های مناسب، شبکه می‌تواند اعتبار مبلغ را کنترل کند در حالی که عدد واقعی برای عموم قابل مشاهده نباشد. مثال عملی Liquid همچنین روشن می‌کند که CT به‌تنهایی همه ردپاهای تراکنش را مخفی نمی‌کند و در انتخاب شبکه یا کیف پول، باید ساختار امنیت، کارمزد، سازگاری و قواعد حقوقی را همزمان دید.

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

منابع فنی اصلی

سوالات متداول

آیا تراکنش محرمانه همان تراکنش ناشناس است؟

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

آیا CT روی شبکه اصلی بیت‌کوین فعال است؟

خیر، تراکنش‌های استاندارد شبکه اصلی بیت‌کوین به‌صورت پیش‌فرض از CT استفاده نمی‌کنند. فناوری آن در پروژه‌هایی مانند Elements و شبکه جداگانه Liquid پیاده‌سازی شده است.

اگر مبلغ مخفی است، شبکه چطور جلوی ساخت پول اضافی را می‌گیرد؟

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

آیا کارمزد انتقال محرمانه هم مخفی می‌شود؟

در Liquid کارمزد آشکار است و با LBTC پرداخت می‌شود. نباید ویژگی یک پیاده‌سازی خاص را بدون بررسی به تمام پروتکل‌های محرمانگی تعمیم داد.

آیا برای دریافت مبلغ باید کلید خرج‌کردن را به فرستنده بدهیم؟

خیر. گیرنده آدرس و اطلاعات عمومی لازم برای ساخت خروجی محرمانه را ارائه می‌کند؛ کلید خرج‌کردن و داده‌های محرمانه بازیابی را نباید به دیگری داد.

آیا تراکنش محرمانه برای تتر هم ممکن است؟

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

آیا RingCT و CT معمولی یک فناوری واحدند؟

خیر. RingCT در زمینه طراحی حریم خصوصی مونرو به کار می‌رود و با اجزای مکملی مانند امضای حلقه‌ای و آدرس مخفی همراه است؛ CT در Liquid عمدتاً مقدار و نوع دارایی را پنهان می‌کند.

آیا استفاده از CT سود سرمایه‌گذاری را افزایش می‌دهد؟

خیر. محرمانگی یک ویژگی فنی است و تضمینی برای رشد قیمت، کاهش نوسان یا حفظ سرمایه ایجاد نمی‌کند. برای فهم بازار باید داده‌های روز قیمت ارز دیجیتال، نقدشوندگی و ریسک دارایی را جداگانه سنجید.