کیف‌پول سرد چیه؟

کیف‌پول سرد¹ به کیف‌پولی گفته می‌شه که به اینترنت و دنیای بیرون دسترسی نداره. پس هک و ویروسی نمی‌شه و از امنیت بالایی برخوردار هست.اما استفاده از این راهکار برای نگه‌داری مقادیر کم، مصداق حمل یک گاوصندوق بجای کیف‌پول توی جیبتونه! درنتیجه بهتره از این راهکار برای نگه‌داری مقادیر زیادی از بیت‌‌کوین‌هایی استفاده بشه که زیاد مورد استفاده قرار نمی‌گیره(مثلا این یک روش خوب برای نگهداری پس‌انداز بیت‌کوینی هست)هدف این مقاله توضیح کارکرد کیف‌پول سرد و نمایش چند نمونه از پیاده‌سازی اون به زبان ساده هست؛ اما به‌اندازهٔ توانم سعی کردم چیزی رو جا نندازم.‏BIP چیه؟این موضوع ارتباط زیادی به بحث اصلی نداره، اما این مقاله براساس BIP ها نوشته شده و در ادامه به چند ‌BIP اشاره می‌شه.از اونجایی که بیت‌کوین یک شبکهٔ غیرمتمرکز هست² تصمیم‌گیری‌هاش به دست یک شخص یا گروه خاص نیست؛ بلکه هر فردی می‌تونه در پیش‌رفتش مشارکت داشته باشه،مشارکتی که مورد تأیید بقیه افراد هم باشهباتوجه به گستردگی شبکه، برای جلوگیری از آشفتگی، این پیشنهادات یا ایده ها در قالب یک متن مرتب و قالب‌بندی‌شده به نام Bitcoin Improvement Proposal یا به اختصار BIP در میاد و در جای‌عمومی به‌نام مخزن گیت‌هاب BIP ها³ در معرض دید قرار می‌گیره تا درنهایت، اگر مورد تأیید عموم بود، پیاده‌سازی بشه و مورد استفاده قرار بگیره.باتوجه به گستردگی شبکه، برای جلوگیری از آشفتگی،این پیشنهادات یا ایده ها در قالب یک متن مرتب و قالب‌بندی‌شده به نام Bitcoin Improvement Proposal یا به اختصار BIP در میاد و در جای‌عمومی به‌نام مخزن گیت‌هاب BIP ها³ در معرض دید قرار می‌گیره تا درنهایت، اگر مورد تأیید عموم بود، پیاده‌سازی بشه و مورد استفاده قرار بگیره.قالب‌بندی‌شده به نام Bitcoin Improvement Proposal یا به اختصار BIP در میاد و در جای‌عمومی به‌نام مخزن گیت‌هاب BIP ها³ در معرض دید قرار می‌گیره تا درنهایت، اگر مورد تأیید عموم بود، پیاده‌سازی بشه و مورد استفاده قرار بگیره.این BIP ها از شماره ۱ شروع شدن و در حال حاضر شمارهٔ آخرین BIP‏، ۳۸۶ هست.کیف‌پول‌ها چطور کار می‌کنن؟کیف‌پول های بیت‌کوینی متشکل از دو قسمت اصلی به‌نام کلیدخصوصی⁴ و کلیدعمومی⁵ هستن...کلیدخصوصیدر اولین‌قدم برای ساخت کیف‌پول، باید یک کلید‌خصوصی که عددی بین ۱ تا ۲ به‌توان ۲۵۶ هست انتخاب کنیم. شاید باورش سخت باشه، اما در اینجا این عدد تنها چیز مورد نیاز برای دسترسی به بیت‌کوین‌های درون کیف‌پول هست⁶.اما بد به دلتون راه ندید!این عدد تقریبا برابر با ۱۰ به‌توان ۷۷ هست و تعداد اتم‌های موجود در جهان قابل روئیت برابر با ۱۰ به توان ۸۰ هست!کتاب Mastering Bitcoin⁷اگر هنوز به امنیت کلیدخصوصی ایمان نیاوردین:اگر به تعداد اتم‌های موجود در یک گرم از هیدروژن مایع، در سطح کل ایران دونه‌های برف بباره، تا ارتفاع ۴۵۰۰ متری از سطح زمین از برف پوشیده می‌شه!شیمی ۱فرایند تولید کلید خصوصی در پشت‌پرده، هنگام ساخت کیف‌پول، توسط نرم‌افزار انجام می‌شه اما حتی می‌تونید با انداختن یک سکه یا تاس، به دفعات زیاد، یک کلیدخصوصی منحصربه‌فرد بسازید!نمونه ساختن کلیدخصوصی با انداختن تاس یا سکه در کیف‌پول Blue Wallet. به این صورت که تاس یا سکه‌تون رو می‌اندازید و نتیجه رو اینجا انتخاب می‌کنیدکلید‌عمومیبعد از انتخاب کلید‌خصوصی عملاً صاحب یک کیف‌پول می‌شیم، اما برای دریافت بیت‌کوین روی کیف‌پول باید از کلیدخصوصی‌مون یک کلیدعمومی یا آدرس بسازیم⁸.کلیدهای عمومی، امروزه به روش سلسله مراتبی⁹-¹⁰ ساخته می‌شن.نمایی از نحوه کارکرد والت‌های سلسله مراتبیهمونطور که در شکل نمایش داده شده؛ از کلیدخصوصی یک کلیدعمومی رئیس ساخته می‌شه و سپس به صورت سلسله مراتبی کلیدهای عمومیِ جدید ساخته می‌شه و نکته جالب‌توجه، این هست که در هر مرحله برای ساخت کلیدهای عمومی جدید، فقط و فقط به کلیدعمومیِ والد نیازه.درضمن، فرایند ساخت کلیدعمومی، فرایندی یک‌طرفه هست؛ یعنی از کلیدخصوصی، کلیدعمومی بدست میاد اما نمی‌شه از کلیدعمومی، کلیدخصوصی رو بدست آورد. پس با خیال راحت می‌تونیم کلیدهای عمومی‌مون رو برای دریافت بیت‌کوین به اشتراک بگذاریم.انواع آدرس‌ها در شبکه بیت‌‌کویندرحال حاضر شبکهٔ بیت‌کوین از سه نوع آدرس پشتیبانی می‌کنه که هرکدوم از این آدرس‌ها کلیدعمومی رئیس مختص خودشون رو دارن. این کلیدهای عمومی رئیس به ترتیب XPUB و YPUB و ZPUB نام دارند¹⁰.‏¹⁰XPUB: آدرس‌های P2PKH¹²‏این‌نوع آدرس‌ها در شبکه بیت‌کوین قدیمی‌ترین هستن و همیشه با 1 شروع می‌شننمونه: 15e15hWo6CShMgbAfo8c2Ykj4C6BLq6Not‏¹⁰YPUB: آدرس‌های P2SH¹³این نوع آدرس‌ها قابلیت شرط‌گذاری¹⁴ دارن و نسبت به آدرس‌های قبلی، تقریبا ۲۶٪ هزینه‌ی کمتری برای دریافت بیت‌کوین نیاز دارن و همیشه با 3 شروع می‌شن.نمونه: 35PBEaofpUeH8VnnNSorM1QZsadrZoQp4N‏¹⁰ZPUB: آدرس‌های P2WPKH¹⁵این نوع آدرس‌ها در آپدیت سگویت سال ۲۰۱۷ اضافه شدن.این آدرس‌ها نسبت به نوع قبلی ۱۶٪ هزینهٔ کمتری دارن و این باعث شده کم‌هزینه‌ترین آدرس حال حاضر باشن و نسبت به بقیه بیش‌تر به کار برده بشن.این آدرس‌ها همیشه با bc1q شروع می‌شن.نمونه: bc1q42lja79elem0anu8q8s3h2n687re9jax556pccآدرس‌های تپروتی هم زیر مجموعه این نوع آدرس‌ها هستن و با bc1p شروع می‌شن.نمونه: bc1pmzfrwwndsqmk5yh69yjr5lfgfg4ev8c0tsc06eپیاده‌سازی کیف‌پول سرددر حال‌حاضر دستگاه‌های زیادی مانند کلدکارت، لجر و ... مثل آب‌خوردن برامون کیف‌پول سرد می‌سازن اما در شرایط فعلی، جدا از دسترسی محدود به این ابزار در ایران؛ در خیلی از موارد برای رسیدن به دستمون از دست چندتا واسط عبور می‌کنن. درنتیجه ممکنه در وسطای راه دستکاری بشن، کلید خصوصی‌شون لو بره یا حتی کپی برابر اصل باشن!پس با این شرایط برای اکثر ماها خرید و استفاده از این‌ها کار عاقلانه ای نیست و بهتره کیف‌پول سردمون رو، خودمون بسازیم.برای ساختن کیف‌پول سرد دو راه داریم: سخت افزار مختص به کیف‌پول سرد رو خودمون سرهم کنیم: طبیعتا این روش دانش فنی بیش‌تری می‌طلبه و ممکنه ارزون‌تر باشه؛ اما در عوض قرار نیست امنیت بیش‌تری رو در مقایسه با مورد دومِ صحیح پیاده‌سازی شده بهمون بده.با استفاده از موبایل، لپتاپ یا ... و نصب نرم‌افزارهای کیف‌پول بسازیم‌اش: این روش هم آسون‌تره و هم اگه درست پیاده‌سازی بشه، امنیتی مشابه مورد اول داره؛ اما در مقابل ممکنه گرون‌تر باشه. ما روش دوم رو در پیش می‌گیریم اما اگر درمورد روش اول کنجکاوید، این لینک‌ها خدمتتون: راهنمای آموزشی پروژه seed signer‏¹⁶ و ویدئوی یوتیوب ضیا صدر در این‌باره¹⁷برای ساخت و استفاده از کیف‌پول سرد باید ابتدا کلید خصوصی‌مون رو در یک دستگاه امن و آفلاین مثل موبایل یا لپتاپ بسازیم و نگه‌داریم. سپس از کلیدخصوصی، کلیدهای عمومی رئیس رو بدست بیاریم و به دستگاه آنلاینمون(معمولا موبایل شخصی) انتقال بدیم.دستگاه آنلاین کارش ساخت آدرس‌های جدید، ساخت تراکنش خام(در ادامه می‌بینیم)، ارسال تراکنش به شبکهٔ بیت‌کوین و از همه مهم‌تر نمایش موجودی و وضعیت کیف‌پول سردمون هست. به همین دلیل اسمش رو کیف‌پول ناظر¹⁸ می‌گذاریم.نحوه ارسال یا دریافت تراکنش با کیف‌پول سردیک تراکنش، به زبان ساده، از سه بخش تشکیل شده: ۱- ورودی¹⁹: شامل آدرس‌های مبدا هست. ۲- خروجی²⁰: شامل آدرس‌های مقصد و مقدار دریافتی هرکدام هست. ۳- امضاء²¹: شامل یک امضای دیجیتال به‌منظور اثبات مالکیت بیت‌کوین های ارسالی هست.نمونه یک تراکنش واقعی در کتاب Bitcoin And Cryptocurrency Technologies‏²⁶فرضاً شما می‌خواید ۳ تا بیت‌کوین به کیف‌پول سرد من ارسال کنید.پس من از طریق کیف‌پول ناظرم، یک آدرس می‌سازم و در اختیار شما می‌گذارم.شما ابتدا در قسمت ورودی تراکنش، آدرس خودتون که حاوی ۳.۵ بیت‌کوین هست رو وارد می‌کنید.سپس در قسمت خروجی تراکنش، آدرس من رو وارد می‌کنید و ۳ بیت‌کوین بهش اختصاص می‌دید و تراکنش رو امضا می‌کنید. پس ۰/۵ بیت‌کوین چی شد؟ خب چون واسهٔ این مقدار، آدرس دریافت کننده ای مشخص نکردید؛ به عنوان کارمزد ارسال تراکنش²⁴ پرداخت شد!حالا من می‌خوام از این ۳ تا بیت‌کوینم، ۲تاش رو به دوستم بدم.برای این منظور، آدرسی که باهاش از شما ۳ بیت‌کوین دریافت کردم رو در قسمت ورودی وارد می‌کنم.در قسمت خروجی، هم آدرس دوستم رو وارد می‌کنم و بهش ۲ بیت‌کوین اختصاص میدم و هم آدرس خودم²² رو وارد می‌کنم و ۰/۵ بیت‌کوین بهش اختصاص می‌دم.نصف باقی‌مانده بیت‌کوین هم به عنوان کارمزد پرداخت می‌شه.اما از اونجایی که کیف‌پول من به اینترنت دسترسی نداره؛ دوتا مشکل اساسی سر راهمون هست:کیف‌پولم نمی‌دونه روی چه آدرسی ۳ تا بیت‌کوین دریافت کرده. در حقیقت اصلاً روحشم از دریافت ۳ تا بیت‌کوین خبر نداره!کیف‌پولم نمی‌تونه تراکنشی که ساخته رو ارسال کنه؛ چون به اینترنت دسترسی نداره.درعوض کیف‌پول ناظرم به اینترنت متصله؛ اما اون هم چون به کلیدخصوصی دسترسی نداره نمی‌تونه تراکنش رو امضا کنه.حالا راهکار چیه؟طبق روال، برای دریافت بیت‌کوین با استفاده از کیف‌پول ناظر یک آدرس جدید می‌سازم و بیت‌کوین دریافت می‌کنم. چون کیف‌پول ناظر به اینترنت دسترسی داره سریعاً ۳ بیت‌کوین دریافت شده رو نمایش می‌ده.با استفاده از کیف‌پول ناظر، تراکنش خام(بدون امضاء²¹) می‌سازم. این تراکنش خام اسمش Partially Signed Bitcoin Transaction یا به اختصار PSBT هست²³.تراکنش خام رو به کیف‌پول سرد که به کلید‌خصوصی دسترسی داره ارسال می‌کنم و با استفاده از کلید‌خصوصی امضاش می‌کنم.تراکنش امضاء شده رو از کیف‌پول سرد به کیف‌پول ناظر ارسال می‌کنم و سپس با استفاده از اینترنت به شبکه بیت‌کوین می‌فرستم!۴ مرحلهٔ ارسال تراکنش با کیف‌پول سرد توصیه های امنیتیِ راه‌اندازی کیف‌پول سرداز دستگاه مدنظر، فقط و فقط بعنوان کیف‌پول سرد استفاده کنید.قبل از شروع کار، از ویروسی نبودن دستگاه اطمینان حاصل کنید ویا اگر مقدوره یک دستگاه نو برای این منظور تهیه کنید(مشخصات حداقلی کار رو راه می‌اندازه)تاجای ممکن دسترسی به اینترنت رو برای دستگاه سخت یا غیرممکن کنید.قبل از نصب نرم‌افزار کیف‌پول امضاء²¹ اونو بررسی کنید.دستگاه رو در جای امنی مانند گاوصندوق نگه‌‌دارید.توجه داشته باشید در خیلی از مواقع، برای سرعت بالاتر، سیستم عامل یک فایل رو کاملا پاک نمی‌کنه؛ بلکه فقط مخفیش می‌کنه.بدلیل نبود اینترنت، بهترین راه برای انتقال فایل‌ها استفاده از فلش USB هست. قبل از اتصال فلش، از ویروسی نبودنش اطمینان حاصل کنید.برای حفظ ناشناسی در دستگاه آنلاینتون از Tor یا ‌Node شخصی استفاده کنید.(نظرات شما در کامنت)خب قبل از شروع مثال‌های عملی، به چند نکته زیر توجه کنید:دستگاه‌هایی که برای کیف‌پول ناظر و سرد انتخاب می‌کنید باید(نه اینکه اجباراً ولی اکیداً تأکیداً!) مجهز به دوربین باشن تا با اسکن کیوآر کد(QR-Code) بتونید تراکنش‌هارو بینشون جابجا کنید.اگه می‌تونید، یک دستگاه نو برای این منظور تهیه کنید وگرنه حتما ویروس کشی و فرمتش کنید.در ادامه با استفاده از نرم‌افزارهای Blue Wallet و Electrum Wallet، روی موبایل و لپتاپ کیف‌پول سرد رو پیاده‌سازی می‌کنیم؛ اما با توجه به توضیحات بالا، خودتون هم می‌تونید نرم‌افزارهایی که این قابلیت رو دارن شناسایی و استفاده کنید. نرم‌افزاری که برای کیف‌پول سرد استفاده می‌شه باید قابلیت تولید کلیدهای عمومی رئیس و قابلیت امضای تراکنش‌های خام PSBT رو داشته باشه. درضمن سعی کنید از نرم‌افزارهای تست‌شده و معروف که ترجیحاً متن‌باز²⁵ هستن استفاده کنید.نرم‌افزارهایی که در ادامه برای ساختن کیف‌پول سرد به کار می‌بریم، هم قابلیت تولید کیف‌پول سرد دارن و هم کیف‌پول ناظر؛ اما اجباری نیست این دو کیف‌پول، یک نرم‌افزار باشن. مثلا می‌شه برای ساخت کیف‌پول سرد از Electrum Wallet روی لپتاپ و برای ساخت کیف‌پول ناظر از Blue Wallet روی موبایل استفاده کرد!پیاده‌سازی روی ‌‌موبایل با Blue Walletلینک تصاویر این بخش با کیفیت بالا: imgur.com/a/3Gvswjpتصاویر گرفته شده از کیف‌پول سرد با آبی کم‌رنگ و تصاویر گرفته شده از کیف‌پول ناظر با قرمز کم‌رنگ شماره‌گذاری شدن.کیفیت بالا: i.imgur.com/Zbe0nMa.pngنرم‌افزار ‌‌Blue Wallet رو از سایت اصلی دانلود کردیم و امضاش²¹ رو هم بررسی کردیم و موبایل هم کاملاً آفلاین هست. برای ساخت کیف‌پول سرد و ناظر طبق تصاویر، به ترتیب، از راست به چپ پیش می‌ریم. در ابتدا هنوز درون نرم‌افزار کیف‌پولی ایجاد نکردیم. برای ایجادش، توی صفحهٔ اصلی روی گزینهٔ Add now کلیک می‌کنیمدر این قسمت ابتدا یک اسم برای کیف‌پولمون انتخاب می‌کنیم.گزینهٔ اول ‌‌Bitcoin رو انتخاب می‌کنیم.برای ساخت کیف‌پول جدید روی گزینهٔ ‌Create کلیک می‌کنیم. اگر از قبل کیف‌پولی داریم هم می‌تونیم از گزینهٔ زیرش یعنی Import Wallet استفاده کنیم.در صفحهٔ جدید ۱۲ کلمه‌ی بازیابی کیف‌پول نمایش داده می‌شه. این کلمات رو به ترتیب یادداشت کرده و در جایی امن نگه می‌داریم.و در تصویر ۴ کیف‌پول سردمون رو می‌بینید که ساخته شده.کیفیت بالا: i.imgur.com/OiAFaqv.pngحالا باید با کلید‌عمومی رئیس، یک کیف‌پول ناظر بسازیم:برای ساخت کیف‌پول ناظر، در موبایل آنلاین مجددا در صفحهٔ اول روی Add now کلیک می‌کنیم.در این قسمت ابتدا یک اسم برای کیف‌پولمون انتخاب می‌کنیم.گزینهٔ اول ‌‌Bitcoin رو انتخاب می‌کنیم.روی گزینهٔ Import wallet کلیک می‌کنیم.در این قسمت می‌تونیم ۱۲ تا کلمه یا کلید‌عمومی رئیس رو وارد کنیم تا نرم‌افزار خودش شناسایی و بازیابیش کنه.همچنین می‌تونیم از این گزینه برای اسکن کیوآر کد استفاده کنیم.حالا بریم تا از کیف‌پول سردمون کلید‌عمومی رئیس رو بگیریم و برگردیم تا اسکنش کنیمکیفیت بالا: i.imgur.com/OMHjqKN.pngداخل کیف‌پول سرد روی سه‌نقطه بالای صفحه کلیک می‌کنیم.از این گزینه برای دریافت XPUB(در حقیقت ZPUB هست و این کیف‌پول فقط همین رو در اختیارمون می‌گذاره) استفاده می‌کنیم.در این قسمت کلیدعمومی رئیسمون رو به صورت کیوآر کد نمایش میده تا اسکنش کنیم.با کلیک روی متن کلیدعمومی رئیس هم می‌تونیم کپی‌اش کنیم اما در اینجا بخاطر عدم اتصال دو دستگاه؛ این گزینه کاربرد زیادی نداره.کیفیت بالا: i.imgur.com/VEd1ULe.pngدر تصویر ۱۱ به کیف‌پول ناظرمون بر می‌گردیم و کیوآر کد رو اسکن می‌کنیم و همونطور که می‌بینید در تصویر ۱۲ کیف‌پول ناظرمون ساخته شده و موجودیش رو هم به‌درستی نمایش داده‌شده!کیفیت بالا: i.imgur.com/ubb15lo.pngبرای ساخت آدرس در کیف‌پول ناظر، به‌راحتی روی گزینهٔ Receive کلیک می‌کنیم! اما حالا بیاین ببینیم چطور باید یک تراکنش بسازیم... در اولین مرحله، در کیف‌پول ناظر روی گزینهٔ Send کلیک ‌می‌کنیم.فقط برای اولین بار برای ارسال تراکنش این پیغام نمایش داده می‌شه که می‌پرسه: «آیا می‌خوای قابلیت ساخت تراکنش به صورت آفلاین رو فعال سازی کنی؟». در جوابش گزینهٔ بله(OK) رو انتخاب می‌کنیم.در صفحهٔ ۱۵ باید جزئیات تراکنش رو مشخص کنیم. در اولین مرحله می‌تونیم از این گزینه واحد بیت‌کوین رو تغییر بدیم. در حالت پیش‌فرض این روی یک واحد کامل بیت‌کوین هست ولی ما می‌خوایم مقدار کمی بیت‌‌کوین ارسال کنیم، پس واحد ساتوشی(SAT) رو انتخاب می‌کنیم که یک صد میلیونیوم بیت‌کوین هست!در این قسمت مقدار ۱۰۰۰ ساتوشی رو انتخاب می‌کنیم.در این‌جا آدرس مقصد رو به صورت دستی جای‌‌گذاری یا با استفاده از گزینهٔ ‌Scan می‌تونیم آدرس رو اسکن بکنیم.این قسمت صرفاً یک یادداشت اختیاری هست که در بخش تاریخچه نشون داده خواهد شد.از اینجا می‌تونیم مقدار کارمزد‌ ارسال تراکنش رو مشخص کنیم. در این نمونه، کمترین مقدار که یک ساتوشی به اضای هر بایت هست انتخاب شده. هرچه این مقدار بیشتر باشه، تراکنش سریع‌تر تأیید میشه.در پایان روی گزینهٔ ارسال کلیک می‌کنیم.در این قسمت کیوآر کد تراکنش امضا نشده(PSBT) نمایش داده می‌شه که در ادامه با استفاده از کیف‌پول سردمون امضاش می‌کنیمهمچنین می‌تونیم با استفاده از این گزینه، تراکنش PSBT رو به صورت فایل ذخیره کنیم تا هرزمانی که خواستیم امضاء و ارسالش بکنیم(تا زمانی که آدرس ذکر شده در بخش ورودی تراکنش حاوی مقدار بیت‌کوین قید شده در تراکنش باشه؛ این ‌‌تراکنش PSBT قابل استفاده هست)با این گزینه هم می‌تونیم متن تراکنش PSBT رو کپی کنیم؛ اما در اینجا بخاطر عدم اتصال دو دستگاهمون این گزینه کاربرد زیادی نداره.کیفیت بالا: i.imgur.com/PhsPZ44.pngحالا به کیف‌پول سردمون می‌آییم تا تراکنش PSBT رو با کلید خصوصی‌مون امضاء کنیم:روی گزینهٔ Send کلیک می‌کنیم.روی سه‌نقطه بالای صفحهٔ بازشدهٔ ۱۸ کلیک می‌کنیم.گزینهٔ ‌Sign a transaction رو انتخاب می‌کنیم و کیوآر کد تراکنش PSBT رو از داخل کیف‌پول ناظر اسکن ‌می‌کنیم.در صفحهٔ جدید ۲۰، تراکنش امضاء شده به صورت کیوآر کد و متن، داخل کادر سبزرنگ، نمایش داده می‌شه. همچنین اگه صفحه رو پایین‌تر بکشیم گزینهٔ ذخیره تراکنش به صورت فایل هم موجوده.کیفیت بالا: i.imgur.com/0VcDHwW.pngحالا فقط مونده تراکنش رو با استفاده از کیف‌پول ناظر و اینترنت، به شبکه بیت‌کوین ارسال کنیم:در کیف‌پول ناظر روی گزینهٔ Send کلیک می‌کنیم.این دفعه برای گرفتن تراکنش امضاء شده روی سه نقطه بالای صفحه کلیک می‌کنیم.در منوی باز شده از این گزینه به‌منظور وارد کردن فایل تراکنش امضاء شده می‌تونیم استفاده کنیم.از این گزینه هم می‌تونیم برای اسکن کردن کیوآر کد تراکنش استفاده کنیم.پیاده‌سازی روی ‌‌لپتاپ با Electrum Walletلینک تصاویر این بخش با کیفیت بالا: imgur.com/a/3Gvswjpتصاویر گرفته شده از کیف‌پول سرد با آبی کم‌رنگ و تصاویر گرفته شده از کیف‌پول ناظر با قرمز کم‌رنگ شماره‌گذاری شدن.کیفیت بالا: imgur.com/6MsppGM.pngابتدا کیف‌پول Electrum رو از سایت اصلی‌اش دانلود می‌کنیم و طبق راهنمای داخل خود سایت امضاءش رو بررسی و در نهایت روی دستگاه آفلاین(کیف‌پول سرد) و آنلاین(کیف‌پول ناظر) نصبش می‌کنیم.هنگام اجرای نرم‌افزار، فقط برای اولین‌بار این پیغام رو می‌بینید که می‌پرسه: «می‌خواید از چه سروری استفاده کنید؟» این صفحه رو به صورت پیش‌فرض باقی می‌گذاریم و روی دکمه Next کلیک می‌کنیم.اینجا باید یک اسم برای کیف‌پولمون انتخاب کنیم یا اگر از پیش یک کیف‌پول ساختیم فایلش رو با زدن دکمه ی Choose... انتخاب کنیم.بعد از انتخاب نام برای کیف‌پول، دکمه Next رو می‌زنیم.در این پنجره جدید گزینهٔ اول رو برای ساختن کیف‌پول ساده انتخاب ‌می‌کنیم.دکمه ی Next رو می‌زنیم.لینک باکیفت: imgur.com/jaLB9nD.pngدر پنجره جدید، این گزینه رو برای ساختن یک کیف‌پول جدید انتخاب ‌می‌کنیم.از این گزینه هم می‌تونیم برای بازگردانی یک کیف‌پول از قبل ساخته شده استفاده کنیم.دکمه ی Next رو می‌زنیم.در این بخش، ۱۲ کلمه ی بازیابی(کلید خصوصی) کیف‌پول رو بهمون نمایش میده که باید به ترتیب یادداشت و در جای امنی ذخیره اش کنیم.دکمه ی Next رو می‌زنیم.اینجا در پنجره ۶، باید ۱۲ کلمه رو به ترتیب وارد کنیم تا از درستی چیزی که نوشتیم مطمئن بشیم.دکمه ی Next رو می‌زنیم.در این قسمت باید یک رمزعبور امن برای دسترسی به کیف‌پول وارد و برای اطمینان از درستی رمز وارد شده یکبار دیگه تکرارش کنیم.دکمه ی Next رو می‌زنیم.لینک باکیفت: imgur.com/1svw6tO.pngکیف‌پول سردمون ساخته شد.در اینجا می‌گه: «برای حفظ امنیتتون بهتره همیشه آخرین نسخه نرم‌افزار رو نصب داشته باشید. آیا می‌خواید در صورت وجود نسخه جدیدی از نرم‌افزار بهتون اطلاع بدیم؟» ماهم گزینهٔ بله رو انتخاب می‌کنیم اما از اونجایی که این کیف‌پول به اینترنت دسترسی نخواهد داشت عملا این کار بی‌فایده هست. اما اگر می‌خواید به این توصیه عمل کنید، باید هر از چندگاهی وبسایت کیف‌پول رو چک کنید تا اگر نسخه جدیدی موجود بود؛ دانلود و امضاش رو بررسی کنید، با فلش انتقالش بدید و نصبش کنید.این دایره قرمز پایین صفحه هم یعنی این کیف‌پول به اینترنت دسترسی نداره.لینک باکیفت: imgur.com/oAQZNNV.pngحالا می‌خوایم روی دستگاه آنلاین دیگه ای با استفاده از نرم‌افزار ‌Electrum، کیف‌پول ناظر رو هم راه‌اندازی کنیم.مجددا نرم‌افزار رو با در نظر گرفتن توصیه‌های امنیتی نصب و اجرا می‌کنیم. در این قسمت اسمی برای کیف‌پول ناظر انتخاب می‌کنیم یا اگر از قبل ساختیم، با گزینهٔ Choose... فایلش رو انتخاب می‌کنیم.گزینهٔ اول رو برای ساختن کیف‌پول عادی انتخاب می‌کنیم.دکمه ی Next رو می‌زنیم.گزینهٔ سوم رو برای وارد کردن یک کلیدعمومی رئیس انتخاب می‌کنیم.دکمه ی Next رو می‌زنیم.لینک باکیفت: imgur.com/wZdIKam.pngحالا می‌خوایم کلید‌عمومی رئیس رو از کیف‌پول سردی که در مرحلهٔ اول ساختیم بگیریم و وارد کنیم:در کیف‌پول سرد، وارد سربرگ Wallet می‌شیم و گزینهٔ اول Information رو انتخاب می‌کنیم.در این قسمتِ پنجرهٔ جدید، کلیدعمومی رئیس نشون داده شده که می‌تونیم با دو گزینهٔ پایین صفحه، کپی‌اش کنیم یا پنجره کیوآر کد اش رو باز کنیم.لینک باکیفت: imgur.com/BWhQwse.pngبه کیف‌پول ناظرمون بر می‌گردیم تا کلیدعمومی رئیس رو وارد کنیم:از این دو گزینه برای اسکن کیوآر کد یا انتخاب فایل متنی حاوی کلیدعمومی رئیس استفاده می‌کنیم.دکمه ی Next رو می‌زنیم.کیف‌پول ناظر با موفقیت ساخته شد و پیغامی که نمایش داده شده می‌گه: «کیف‌پولی که ساختید، فقط یک کیف‌پول ناظر هست و نمی‌تونید باهاش بیت‌کوین خرج کنید. لطفا از داشتن ۱۲ کلمه بازیابی‌تون اطمینان حاصل کنید» و ماهم روی دکمه OK کلیک می‌کنیم.در ابتداءِ ساختن کیف‌پول ناظر، می‌بینید که در این قسمت، کیف‌پول درحال گرفتن اطلاعات تراکنش‌ها و موجودی از اینترنت هست.در نهایت در صفحهٔ ۱۶ اطلاعات تراکنش‌ها و موجودی نمایش داده می‌شه.لینک باکیفت: imgur.com/OilX2S1.pngبرای دریافت بیت‌کوین فقط کافیه وارد قسمت Receive بشیم. اما حالا می‌خوایم مرحله به مرحله نحوهٔ ساختن و ارسال تراکنش با استفاده از نرم‌افزار Electrum رو ببینیم:وارد بخش Send می‌شیم.در این قسمت آدرس مقصد تراکنش رو وارد ‌می‌کنیم.در این بخشِ اختیاری، می‌تونیم یک یادداشت برای تراکنش بنویسیم.در این قسمت مقدار بیت‌کوینی که قرار هست ارسال کنیم رو وارد می‌کنیم(واحد بیت‌کوین در این کیف‌پول به صورت پیش‌فرض mBTC یا یک‌هزارم بیت‌کوین هست. اگه بخواین می‌تونید واسه تغییرش به مسیرTools > Preferences > Base unit مراجعه کنید)روی دکمه ی Pay... کلیک می‌کنیم.در این قسمت مقدار کارمزدی که می خوایم برای ارسال تراکنش پرداخت کنیم رو انتخاب می‌کنیم.در نهایت روی گزینهٔ ‌‌Send کلیک می‌کنیم.لینک باکیفت: imgur.com/eUvwjb1.pngدر پنجرهٔ باز شده، ریز اطلاعات تراکنش خام ‌PSBT مثل ورودی‌ها و خروجی‌ها بهمون نشون داده می‌شه. حالا باید این تراکنش رو به کیف‌پول سرد که حاوی کلید‌ خصوصی‌مون هست ارسال و در اونجا امضاء کنیم.برای ارسال تراکنش PSBT روی گزینهٔ Export کلیک می‌کنیم. همونطور که می‌بینید سه راهِ کپی در بریده دان، نمایش کیوآر کد و ذخیره در فایل، در اختیارمون گذاشته می‌شه.لینک باکیفت: imgur.com/hM1MPON.pngبرای گرفتن تراکنش PSBT از کیف‌پول ناظر، وارد کیف‌پول سرد می‌شیم:وارد سربرگ Tools می‌شیم.وارد قسمت Load transaction می‌شیم و از طریق فایل یا جای‌گذاری و یا اسکن کیوآر کد، تراکنش رو دریافت می‌کنیم.در پنجرهٔ جدید مجددا اطلاعات تراکنش نمایش داده می‌شه و بعد از بررسی کامل، برای امضای تراکنش روی دکمه ی ‌Sign کلیک می‌کنیم.الان تراکنش در حالت امضاء شده قرار گرفته و مجدداً با کلیک روی دکمه ی Export باید اون رو به کیف‌پول ناظر بفرستیم تا از طریق اینترنت به شبکهٔ بیت‌کوین ارسالش کنیم.لینک باکیفت: imgur.com/L7Kb9WG.pngدر کیف‌پول ناظر مجددا وارد سربرگ ‌Tools می‌شیم.از طریق گزینهٔ Load transaction یکی از راه‌های دریافت تراکنش رو انتخاب و تراکنش امضاء شده رو از کیف‌پول سرد دریافت می‌کنیمدر پنجره باز شده مجددا ریز اطلاعات تراکنش رو می‌بینیم. اگر مورد تأیید بود، برای ارسال، روی دکمهٔbroadcast کلیک می‌کنیم.لینک باکیفت: imgur.com/vvDvgTp.pngخب دوستان خسته نباشید! الان دیگه کاملا با یکی از امن‌ترین روش‌های ذخیرهٔ بیت‌کوین آشنا شدید!نه فقط بیت‌کوین بلکه هر رمزارزی²⁷ رو که از امکانات ذکر شده پشتیبانی کنه رو می‌تونید به این روش ذخیره کنید.حالا می‌بینید که ارسال بیت‌کوین به کیف‌پول سرد تا چه‌اندازه آسون‌تر از ارسال بیت‌کوین از کیف‌پول سرد هست! پس منطقاً به‌کاربردن این روش نه برای استفاده روزمره، بلکه ذخیره سازی بسی مناسب هست! اگر به این فضا علاقه‌مندید توصیه می‌کنم از همون BIP ها و لینک‌هایی که ذکر شده استارت مطالعه رو بزنید. باشد که رستگار شوید!‏Masahiro Hara سازنده‌ی کیوآر کدجهت شادی روح اموات سازندهٔ کیوآر کد یک صلوات دسته جمعی عنایت بفرمائید و اگر فرمایشی بود در کامنت‌ها عنوان کنید!‏Cold Walletدر حقیقت بیت‌کوین متشکل از شبکه‌ای از node ها هست که به صورت P2P(نقطه به نقطه یا Point To Point) به هم متصل هستند.آدرس مخزن گیت‌هاب BIP ها‏Private Key‏Public Keyبرای امنیت مافوق زیاد می‌تونیم کیف‌پول های چندامضایی بسازیم که برای دسترسی بهشون به چندتا کلید خصوصی نیازه.کتاب Mastering Bitcoinدر حقیقت نمی‌شه از کلید‌عمومی مستقیماً به‌عنوان یک آدرس استفاده کرد. مثلا برای ساخت آدرس‌های ‌P2PKH باید ابتدا کلیدعمومی رو یکبار با SHA-256 و RIPEMD-160 هش و سپس بصورت BASE-58 رمزنگاری کنیم.‏Hierarchical Deterministic Wallet(HD Wallet)کلیدهای عمومی رئیس تحت‌عنوان مدیریت حساب‌کاربری در کیف‌پول‌ها به صورت مفصل در BIP-43 و BIP-44(XPUB) و BIP-49(YPUB) و BIP-89(YPUB) توضیح داده‌شدن.در قدیم از هر کلیدخصوصی تنها یک کلیدعمومی ساخته می‌شد. اما در BIP-32 روش HD Wallet مطرح شد که بهمون امکان ساخت کلیدهای عمومی بسیار زیادی با استفاده از یک کلیدخصوصی رو میده.‏Pay To Public Key Hash‏Pay To Script Hashهمونطور که از اسم این آدرس‌ها معلومه؛ این آدرس‌ها از هش Script ساخته میشن و این امکان رو بهمون میدن تا با استفاده از Script های بیت‌کوین شرط‌هایی مثل "صاحب کلید عمومی بعد از فلان مقدار زمان، اگر یک رمز از پیش تأیین شده رو، روکنه می‌تونه این مقدار بیت‌کوین رو خرج کنه"‏Pay To Witness Public Key Hashپی دی اف راهنمای آموزشی پروژه seed signerویدئوی ضیا صدر درباره معرفی seed signer‏Watch Only Wallet‏Input‏Output‏Signature یا به اختصار Sig، یک روش امن برای تایید اصالت یا مالکیت یک محتوای دیجیتال هست. در این مقاله و این مقاله، ام‌سی سعید این موضوع رو به‌خوبی توضیح میده.اسم این آدرس‌ Change Address هست و می‌تونه یکی از همون آدرس‌های وارد شده در قسمت ورودی تراکنش باشه؛ اما برای ارتقاع حریم‌خصوصی بهتره از آدرس جدیدی استفاده بشه. برای مطالعه بیشتر درمورد حریم خصوصی مقاله‌های شماره ۱، شماره ۲، شماره ۳ و شماره ۴ سامورایی والت رو بخونید.‏PSBT ها در BIP-174 مطرح شدن.‏Transaction Fee (در بازنگری نهایی، این موارد اضافه شدن. درنتیجه در انتهای لیست قرار گرفتن. از این بابت عذر می‌خوام)‏Open Sourceدوره یوتیوبی جادی از روی کتاب دانشگاه استنفورد Bitcoin and cryptocurrency technologies‏Shit Coin