تایید پرداخت ساده چیست؟ معرفی کیف پول های SPV
در پلتفرمهایی که وابسته به اینترنت هستند، امنیت حرف اول را میزند. بیت کوین نیز به عنوان یک بلاکچین عظیم و پرکاربرد به امنیت نیاز دارد. در بلاکچین بیت کوین در کنار امنیت مواردی چون سرعت و تمرکز زدایی نیز از جمله مواردی است که باید به آن دست یافت. در این شبکه به خاطر بهرهمندی از الگوریتم اجماع اثبات کار، این موارد به دست ماینرها محقق میشود. ماینرها نیز در قبال این خدمات بخشی از کارمزد تراکنش را دریافت میکنند.
ماینرها تا زمانی که طبق قوانینی که شبکه بیت کوین تعیین کرده است فعالیت کنند، میتوانند تراکنشها را تایید و بلوکهای جدیدی به زنجیره اضافه کنند. در شرایط معمول همهی فعالیتهای شبکه بر عهده نودهای کامل (Full Nodes) است که برای اطمینان از اینکه در فرایند اجماع باقی میمانند، به تأیید کامل متکی هستند. با این حال، این تنها راهی نیست که میتوان تراکنشها را تأیید کرد.
راه دوم که برای تایید و ساخت بلوکهای جدید استفاده میشود، تایید پرداخت ساده است که به اختصار به آن SPV میگویند. در این مطلب به معرفی این فرایند و مزایا و معایب آن میپردازیم.
تایید پرداخت ساده SPV چیست؟
یکی از مهمترین مفاهیمی که فهم آن برای تعریف تایید پرداخت ساده مورد نیاز است، شرح مفهوم کلاینت سبُک (lightweight client) است. کلاینتهای سبک به کیف پولهایی اطلاق میشود که روی سیستمهای پایین رده اجرا میشوند. در واقع کیف پول SPV همان کیف پول گرم یا سرد است، تنها تفاوت آن در روشی است که دادههای وارده شده به شبکه تایید میشوند.
تایید پرداخت ساده روشی است که به کلاینتهای سبک این امکان را میدهد تا بدون دانلود کل بلاک چین به جستجو و کشف تراکنشهای درون شبکه بپردازند. در کیف پول SPV، داده از سربرگهای بلوک گرفته میشود که به طور قابل توجهی کوچکتر از بلوکهای کامل هستند و تمام آن چیزی است که کیف پول SPV برای انجام تراکنش نیاز دارد.
اگر علاقه به مطالعه بیشتر در مورد کیف پولهای کریپتویی دارید، میتوانید مقاله بهترین کیف پول را مطالعه کنید.
در تایید پرداخت ساده، یک تکه از شاخههای درخت مرکل برای ارائه شواهد لازم به منظور درج درخواست تراکنش و گنجاندن آن در بلوک کافی است. کیف پول SPV مفهوم جدیدی نیست و در بخش هشتم وایت پیپر بیت کوین توسط ساتوشی ناکاموتو به آن پرداخته شده است. به طور خلاصه، تایید پرداخت ساده به کاربر این امکان را میدهد که معاملات یا تراکنشهای خود را بدون نگرانی در مورد کامل شدن بلوک انجام دهد.
ویژگیهای تایید پرداخت ساده
هر قابلیتی در شبکه بلاک چین نقاط قوت و ضعفی خواهد داشت. تایید پرداخت ساده نیز از این قاعده مستثنی نیست. در ادامه نقاط قوت و ضعف این فرایند را شرح میدهیم:
- به کاربران این امکان را میدهد که بدون اینکه به ماینر شبکه تبدیل شوند، از طولانیترین بلوک آگاهی پیدا کنند.
- کاربر برای اجرای تراکنش فقط کافی است یک سربرگ از طولانیترین بلوک زنجیره را در اختیار بگیرد.
- کاربر نمیتواند تراکنش را خود تایید کند، اما میتواند فرایند تایید توسط یک نود را ببیند و برای توقف آن اقدام کند.
- تا زمانی که شبکه توسط نودهای درستکار کنترل شود، تأیید قابل اعتماد است، اما اگر مهاجم کنترل شبکه را به دست آورد میتواند باعث اختلال شبکه شود.
- در حالی که نودهای شبکه ممکن است به طور مستقل تراکنشها را تایید کنند، رویکرد تایید پرداخت ساده میتواند توسط تراکنشهای جعلی مهاجم فریب داده شود.
با وجود مزایایی که تایید پرداخت ساده دارد، اما دارای محدویتهایی نیز است. در شبکه کاربرانی که از SPV برای تایید تراکنشها استفاده میکنند، ممکن است بخاطر عدم دسترسی به تاریخچه بلاکها، تراکنشهای نامعتبر را تایید کنند و به مهاجمان حمله ۵۱ درصدی ناخواسته کمک کنند.
حتی با وجود اینکه بیت کوین امنترین شبکه محاسباتی در جهان است، ممکن است یک نود متخاصم بتواند منابع لازم برای حمله ۵۱ درصدی را فراهم کند. در چنین مواقعی، نودهای کامل میتوانند به سرعت واکنش نشان دهند و زنجیره سالم را پیدا کنند. اما کلاینتهای SPV به راحتی گمراه شده و فریب نود خرابکار را میخورند.
در حالی که وقوع حمله ۵۱ درصدی در بلاک چین بیت کوین بسیار بعید است، اما هنوز باید به عنوان یک تهدید بالقوه در نظر گرفته شود.
تفاوتهای نود کامل با تایید پرداخت ساده
کیف پولهای SPV با وجود سادگی اجرا، تفاوتهای بسیاری با فول نودها دارند که این تفاوت باعث ایجاد محدودیتهایی برای این کیف پولها میشود. در جدول زیر تفاوتهای فول نود و تایید پرداخت ساده ذکر شده است.
تایید پرداخت ساده | تایید کامل پرداخت |
---|---|
بررسی بلوک بدون نیاز به دانلود کل شبکه | کیف پولهای تأیید کامل پرداخت به یک کپی کامل از بلاکچین نیاز دارند. |
این کیف پولها بر روی سیستمهای پایین رده اجرا میشوند. | این کیف پولها بر روی سیستمهای پیشرفته اجرا میشوند. |
یک کلاینت SPV برای اطمینان از اینکه تراکنش در یک بلوک گنجانده شده است، یک شاخه از درخت مرکل را به عنوان مدرکی برای درج درخواست ارائه میدهد. | نودهای کامل میتوانند از طریق برگشت به گذشته بلوک، به تاریخچه تراکنشها دسترسی پیدا کنند. |
اجرای فرایند تایید پرداخت ساده برای لپ تاپها و کامپیوترهای خانگی مناسب است. | برای تبدیل شدن به یک نود کامل نیاز به دستگاههای پیشرفته ماینینگ است. |
چرا تایید پرداخت ساده انقدر مهم است؟
ممکن است فکر کنید در حال حاضر برای استفاده از SPV ضرورتی وجود ندارد. اما با بالا رفتن سختی شبکه بیت کوین و دشوار شدن استخراج، بطور حتم هزینه تهیه دستگاههای ماینر نیز افزایش پیدا میکند. بنابراین توان مشارکت خیلی از کاربران شبکه بیت کوین کاهش خواهد یافت. همچنین اگر بیت کوین قصد دارد به کل جهان گسترش یابد، باید در سختترین شرایط و با منابع محدود اجرا شود.
در واقع با اضافه شدن تایید پرداخت ساده، کاربر فقط باید شاخهای از درخت مرکل را برای تایید تراکنشها در اختیار بگیرد. بنابراین کاربر فقط باید ۸۰ بایت در هر بلوک را به جای کل حجم بلوک ذخیره کند. این کاهش بیش از ۹۹.۹۹ ٪ باعث میشود تا تأیید را در یک دستگاه معمولی یا یک قرارداد هوشمند ممکن سازد.
مطمئنا محققان و فعالان شبکه بیت کوین راهی برای افزایش امنیت این روش خواهند یافت، زیرا در آینده با سختتر شده شبکه استفاده از این روش افزایش پیدا خواهد کرد. در واقع ساتوشی ناکاموتو در سال ۲۰۰۸ زمانی که در حال نگارش وایت پیپر بیت کوین بود، به این موضوع واقف بود که زمانی شبکه به این راه نیاز
پیدا خواهد کرد.