آزمایشی

کیف پول و اختیار نگهداری

کیف پول را از روی دکمه‌ها و ظاهرش قضاوت نکنیم. سؤال اصلی این است که چه کسی امضا می‌کند، چه کسی وضعیت را گزارش می‌دهد و کدام کارها بدون دیگری ممکن‌اند.

مطالب مرتبط: دستهٔ ۳

مفاهیم این بخش: نرم‌افزار کیف پول، نگهداری امانی، خودامانی، کیف پول گرم و سرد، امضاکنندهٔ سخت‌افزاری، کیف پول فقط‌ناظر، چندامضایی، تراکنش نیمه‌امضاشده، شبکهٔ دارایی

هدف توضیح: تشخیص اینکه چه کسی اختیار خرج‌کردن دارد و هر جزء کیف پول چه کاری انجام می‌دهد.

کیف پول دقیقاً چه چیزی را نگه می‌دارد؟

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

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

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

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

پرسش عملی این است: «اگر خدمت‌دهنده در دسترس نباشد، با ابزار دیگری می‌توانم خرج کنم؟» پاسخ را باید از سازوکار واقعی محصول فهمید، نه واژه‌های تبلیغاتی آن. خودامانی معادل مصونیت نیست و امانی‌بودن نیز از شکل ظاهری برنامه معلوم نمی‌شود. ممکن است دو برنامه هر دو دکمهٔ «ارسال» داشته باشند، اما یکی تراکنش شما را امضا کند و دیگری صرفاً درخواست برداشت ثبت کند.

گرم و سرد بودن به چه معناست؟

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

در نتیجه «برای دیدن موجودی باید کلید سرد را آنلاین کرد» تصور نادرستی است. همچنین خاموش‌کردن موقت تلفنی که کلیدش قبلاً در محیط آلوده بوده، سابقهٔ مواجهه را پاک نمی‌کند. در ارزیابی این دسته‌بندی، مسیر ورود و خروج داده، محل نسخهٔ پشتیبان و روشی که با آن جزئیات تراکنش را می‌بینید نیز اهمیت دارد؛ واژهٔ «سرد» به‌تنهایی شرح کامل امنیت نیست.

کیف پول سخت‌افزاری چه کمکی می‌کند و چه چیزی را تضمین نمی‌کند؟

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

پیش از تأیید، کل آدرس و مبلغ را با مقصد موردنظر مقایسه کنید. تأیید خودکار پیام‌ها، این لایه را بی‌اثر می‌کند. دستگاه نیز جای پشتیبان را نمی‌گیرد: خرابی آن نباید تنها راه دسترسی را از بین ببرد. این توضیح سازوکار است، نه تأیید امنیت مطلق همهٔ مدل‌ها یا توصیهٔ خرید یک برند.

کیف پول فقط‌ناظر چگونه بدون کلید خصوصی موجودی را نشان می‌دهد؟

کیف پول فقط‌ناظر اطلاعات عمومی لازم برای شناسایی پرداخت‌ها را دارد، اما اسرار لازم برای امضا را ندارد. در کیف پول سلسله‌مراتبی، کلید عمومی توسعه‌یافته یا xpub می‌تواند کلیدهای عمومی فرزندِ غیرسخت‌شدهٔ زیرشاخهٔ خود را بازسازی کند. در مقابل، کلید خصوصی توسعه‌یافته یا xprv امکان بازسازی کلیدهای خصوصی زیرشاخه را می‌دهد؛ فرستادن آن برای ساخت ابزار نظارتی، افشای اختیار امضاست. ساختار کلیدهای توسعه‌یافته

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

چندامضایی چگونه اختیار خرج‌کردن را تقسیم می‌کند؟

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

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

تراکنش نیمه‌امضاشده چه نقشی بین کیف پول‌ها دارد؟

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

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

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

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

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

مثال توضیحی: دکمهٔ «ارسال» در سه ابزار می‌تواند سه نقش متفاوت داشته باشد: حساب امانی درخواست را به متولی می‌دهد؛ برنامهٔ فقط‌ناظر به‌تنهایی امضا نمی‌کند؛ دستگاه امضاکننده در محدودهٔ کلیدها و شرایط پشتیبانی‌شده امضا می‌سازد. ظاهر مشابه برنامه‌ها، اختیار یکسانی برای خرج‌کردن ایجاد نمی‌کند.

بخش پیشین · نقشهٔ موضوع‌ها · واژه‌نامه · بخش بعدی

همهٔ موضوع‌های یادگیری