SReza S
SReza S
خواندن ۲۰ دقیقه·۳ سال پیش

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



کیف‌پول سرد¹ به کیف‌پولی گفته می‌شه که به اینترنت و دنیای بیرون دسترسی نداره. پس هک و ویروسی نمی‌شه و از امنیت بالایی برخوردار هست.

اما استفاده از این راهکار برای نگه‌داری مقادیر کم، مصداق حمل یک گاوصندوق بجای کیف‌پول توی جیبتونه! درنتیجه بهتره از این راهکار برای نگه‌داری مقادیر زیادی از بیت‌‌کوین‌هایی استفاده بشه که زیاد مورد استفاده قرار نمی‌گیره(مثلا این یک روش خوب برای نگهداری پس‌انداز بیت‌کوینی هست)

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



‏BIP چیه؟

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

از اونجایی که بیت‌کوین یک شبکهٔ غیرمتمرکز هست² تصمیم‌گیری‌هاش به دست یک شخص یا گروه خاص نیست؛ بلکه هر فردی می‌تونه در پیش‌رفتش مشارکت داشته باشه،مشارکتی که مورد تأیید بقیه افراد هم باشه

باتوجه به گستردگی شبکه، برای جلوگیری از آشفتگی، این پیشنهادات یا ایده ها در قالب یک متن مرتب و قالب‌بندی‌شده به نام Bitcoin Improvement Proposal یا به اختصار BIP در میاد و در جای‌عمومی به‌نام مخزن گیت‌هاب BIP ها³ در معرض دید قرار می‌گیره تا درنهایت، اگر مورد تأیید عموم بود، پیاده‌سازی بشه و مورد استفاده قرار بگیره.

باتوجه به گستردگی شبکه، برای جلوگیری از آشفتگی،این پیشنهادات یا ایده ها در قالب یک متن مرتب و قالب‌بندی‌شده به نام Bitcoin Improvement Proposal یا به اختصار BIP در میاد و در جای‌عمومی به‌نام مخزن گیت‌هاب BIP ها³ در معرض دید قرار می‌گیره تا درنهایت، اگر مورد تأیید عموم بود، پیاده‌سازی بشه و مورد استفاده قرار بگیره.قالب‌بندی‌شده به نام Bitcoin Improvement Proposal یا به اختصار BIP در میاد و در جای‌عمومی به‌نام مخزن گیت‌هاب BIP ها³ در معرض دید قرار می‌گیره تا درنهایت، اگر مورد تأیید عموم بود، پیاده‌سازی بشه و مورد استفاده قرار بگیره.

این BIP ها از شماره ۱ شروع شدن و در حال حاضر شمارهٔ آخرین BIP‏، ۳۸۶ هست.




کیف‌پول‌ها چطور کار می‌کنن؟

کیف‌پول های بیت‌کوینی متشکل از دو قسمت اصلی به‌نام کلیدخصوصی⁴ و کلیدعمومی⁵ هستن...

کلیدخصوصی

در اولین‌قدم برای ساخت کیف‌پول، باید یک کلید‌خصوصی که عددی بین ۱ تا ۲ به‌توان ۲۵۶ هست انتخاب کنیم. شاید باورش سخت باشه، اما در اینجا این عدد تنها چیز مورد نیاز برای دسترسی به بیت‌کوین‌های درون کیف‌پول هست⁶.

اما بد به دلتون راه ندید!

این عدد تقریبا برابر با ۱۰ به‌توان ۷۷ هست و تعداد اتم‌های موجود در جهان قابل روئیت برابر با ۱۰ به توان ۸۰ هست!

کتاب Mastering Bitcoin⁷

اگر هنوز به امنیت کلیدخصوصی ایمان نیاوردین:

اگر به تعداد اتم‌های موجود در یک گرم از هیدروژن مایع، در سطح کل ایران دونه‌های برف بباره، تا ارتفاع ۴۵۰۰ متری از سطح زمین از برف پوشیده می‌شه!

شیمی ۱


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

نمونه ساختن کلیدخصوصی با انداختن تاس یا سکه در کیف‌پول Blue Wallet. به این صورت که تاس یا سکه‌تون رو می‌اندازید و نتیجه رو اینجا انتخاب می‌کنید
نمونه ساختن کلیدخصوصی با انداختن تاس یا سکه در کیف‌پول Blue Wallet. به این صورت که تاس یا سکه‌تون رو می‌اندازید و نتیجه رو اینجا انتخاب می‌کنید


کلید‌عمومی

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

کلیدهای عمومی، امروزه به روش سلسله مراتبی⁹-¹⁰ ساخته می‌شن.

نمایی از نحوه کارکرد والت‌های سلسله مراتبی
نمایی از نحوه کارکرد والت‌های سلسله مراتبی


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

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



انواع آدرس‌ها در شبکه بیت‌‌کوین

درحال حاضر شبکهٔ بیت‌کوین از سه نوع آدرس پشتیبانی می‌کنه که هرکدوم از این آدرس‌ها کلیدعمومی رئیس مختص خودشون رو دارن. این کلیدهای عمومی رئیس به ترتیب XPUB و YPUB و ZPUB نام دارند¹⁰.

‏¹⁰XPUB: آدرس‌های P2PKH¹²‏

این‌نوع آدرس‌ها در شبکه بیت‌کوین قدیمی‌ترین هستن و همیشه با 1 شروع می‌شن

نمونه: 15e15hWo6CShMgbAfo8c2Ykj4C6BLq6Not


‏¹⁰YPUB: آدرس‌های P2SH¹³

این نوع آدرس‌ها قابلیت شرط‌گذاری¹⁴ دارن و نسبت به آدرس‌های قبلی، تقریبا ۲۶٪ هزینه‌ی کمتری برای دریافت بیت‌کوین نیاز دارن و همیشه با 3 شروع می‌شن.

نمونه: 35PBEaofpUeH8VnnNSorM1QZsadrZoQp4N

‏¹⁰ZPUB: آدرس‌های P2WPKH¹⁵

این نوع آدرس‌ها در آپدیت سگویت سال ۲۰۱۷ اضافه شدن.

این آدرس‌ها نسبت به نوع قبلی ۱۶٪ هزینهٔ کمتری دارن و این باعث شده کم‌هزینه‌ترین آدرس حال حاضر باشن و نسبت به بقیه بیش‌تر به کار برده بشن.

این آدرس‌ها همیشه با bc1q شروع می‌شن.

نمونه: bc1q42lja79elem0anu8q8s3h2n687re9jax556pcc


آدرس‌های تپروتی هم زیر مجموعه این نوع آدرس‌ها هستن و با bc1p شروع می‌شن.

نمونه: bc1pmzfrwwndsqmk5yh69yjr5lfgfg4ev8c0tsc06e



پیاده‌سازی کیف‌پول سرد

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

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

برای ساختن کیف‌پول سرد دو راه داریم:

  1. سخت افزار مختص به کیف‌پول سرد رو خودمون سرهم کنیم: طبیعتا این روش دانش فنی بیش‌تری می‌طلبه و ممکنه ارزون‌تر باشه؛ اما در عوض قرار نیست امنیت بیش‌تری رو در مقایسه با مورد دومِ صحیح پیاده‌سازی شده بهمون بده.
  2. با استفاده از موبایل، لپتاپ یا ... و نصب نرم‌افزارهای کیف‌پول بسازیم‌اش: این روش هم آسون‌تره و هم اگه درست پیاده‌سازی بشه، امنیتی مشابه مورد اول داره؛ اما در مقابل ممکنه گرون‌تر باشه. ما روش دوم رو در پیش می‌گیریم اما اگر درمورد روش اول کنجکاوید، این لینک‌ها خدمتتون: راهنمای آموزشی پروژه seed signer‏¹⁶ و ویدئوی یوتیوب ضیا صدر در این‌باره¹⁷


برای ساخت و استفاده از کیف‌پول سرد باید ابتدا کلید خصوصی‌مون رو در یک دستگاه امن و آفلاین مثل موبایل یا لپتاپ بسازیم و نگه‌داریم. سپس از کلیدخصوصی، کلیدهای عمومی رئیس رو بدست بیاریم و به دستگاه آنلاینمون(معمولا موبایل شخصی) انتقال بدیم.

دستگاه آنلاین کارش ساخت آدرس‌های جدید، ساخت تراکنش خام(در ادامه می‌بینیم)، ارسال تراکنش به شبکهٔ بیت‌کوین و از همه مهم‌تر نمایش موجودی و وضعیت کیف‌پول سردمون هست. به همین دلیل اسمش رو کیف‌پول ناظر¹⁸ می‌گذاریم.

نحوه ارسال یا دریافت تراکنش با کیف‌پول سرد

یک تراکنش، به زبان ساده، از سه بخش تشکیل شده: ۱- ورودی¹⁹: شامل آدرس‌های مبدا هست. ۲- خروجی²⁰: شامل آدرس‌های مقصد و مقدار دریافتی هرکدام هست. ۳- امضاء²¹: شامل یک امضای دیجیتال به‌منظور اثبات مالکیت بیت‌کوین های ارسالی هست.


نمونه یک تراکنش واقعی در کتاب Bitcoin And Cryptocurrency Technologies‏²⁶
نمونه یک تراکنش واقعی در کتاب Bitcoin And Cryptocurrency Technologies‏²⁶


فرضاً شما می‌خواید ۳ تا بیت‌کوین به کیف‌پول سرد من ارسال کنید.

پس من از طریق کیف‌پول ناظرم، یک آدرس می‌سازم و در اختیار شما می‌گذارم.

شما ابتدا در قسمت ورودی تراکنش، آدرس خودتون که حاوی ۳.۵ بیت‌کوین هست رو وارد می‌کنید.

سپس در قسمت خروجی تراکنش، آدرس من رو وارد می‌کنید و ۳ بیت‌کوین بهش اختصاص می‌دید و تراکنش رو امضا می‌کنید.

پس ۰/۵ بیت‌کوین چی شد؟ خب چون واسهٔ این مقدار، آدرس دریافت کننده ای مشخص نکردید؛ به عنوان کارمزد ارسال تراکنش²⁴ پرداخت شد!


حالا من می‌خوام از این ۳ تا بیت‌کوینم، ۲تاش رو به دوستم بدم.

برای این منظور، آدرسی که باهاش از شما ۳ بیت‌کوین دریافت کردم رو در قسمت ورودی وارد می‌کنم.

در قسمت خروجی، هم آدرس دوستم رو وارد می‌کنم و بهش ۲ بیت‌کوین اختصاص میدم و هم آدرس خودم²² رو وارد می‌کنم و ۰/۵ بیت‌کوین بهش اختصاص می‌دم.

نصف باقی‌مانده بیت‌کوین هم به عنوان کارمزد پرداخت می‌شه.

اما از اونجایی که کیف‌پول من به اینترنت دسترسی نداره؛ دوتا مشکل اساسی سر راهمون هست:

  1. کیف‌پولم نمی‌دونه روی چه آدرسی ۳ تا بیت‌کوین دریافت کرده. در حقیقت اصلاً روحشم از دریافت ۳ تا بیت‌کوین خبر نداره!
  2. کیف‌پولم نمی‌تونه تراکنشی که ساخته رو ارسال کنه؛ چون به اینترنت دسترسی نداره.

درعوض کیف‌پول ناظرم به اینترنت متصله؛ اما اون هم چون به کلیدخصوصی دسترسی نداره نمی‌تونه تراکنش رو امضا کنه.

حالا راهکار چیه؟

  1. طبق روال، برای دریافت بیت‌کوین با استفاده از کیف‌پول ناظر یک آدرس جدید می‌سازم و بیت‌کوین دریافت می‌کنم. چون کیف‌پول ناظر به اینترنت دسترسی داره سریعاً ۳ بیت‌کوین دریافت شده رو نمایش می‌ده.
  2. با استفاده از کیف‌پول ناظر، تراکنش خام(بدون امضاء²¹) می‌سازم. این تراکنش خام اسمش Partially Signed Bitcoin Transaction یا به اختصار PSBT هست²³.
  3. تراکنش خام رو به کیف‌پول سرد که به کلید‌خصوصی دسترسی داره ارسال می‌کنم و با استفاده از کلید‌خصوصی امضاش می‌کنم.
  4. تراکنش امضاء شده رو از کیف‌پول سرد به کیف‌پول ناظر ارسال می‌کنم و سپس با استفاده از اینترنت به شبکه بیت‌کوین می‌فرستم!
۴ مرحلهٔ ارسال تراکنش با کیف‌پول سرد
۴ مرحلهٔ ارسال تراکنش با کیف‌پول سرد


توصیه های امنیتیِ راه‌اندازی کیف‌پول سرد

  1. از دستگاه مدنظر، فقط و فقط بعنوان کیف‌پول سرد استفاده کنید.
  2. قبل از شروع کار، از ویروسی نبودن دستگاه اطمینان حاصل کنید ویا اگر مقدوره یک دستگاه نو برای این منظور تهیه کنید(مشخصات حداقلی کار رو راه می‌اندازه)
  3. تاجای ممکن دسترسی به اینترنت رو برای دستگاه سخت یا غیرممکن کنید.
  4. قبل از نصب نرم‌افزار کیف‌پول امضاء²¹ اونو بررسی کنید.
  5. دستگاه رو در جای امنی مانند گاوصندوق نگه‌‌دارید.
  6. توجه داشته باشید در خیلی از مواقع، برای سرعت بالاتر، سیستم عامل یک فایل رو کاملا پاک نمی‌کنه؛ بلکه فقط مخفیش می‌کنه.
  7. بدلیل نبود اینترنت، بهترین راه برای انتقال فایل‌ها استفاده از فلش USB هست. قبل از اتصال فلش، از ویروسی نبودنش اطمینان حاصل کنید.
  8. برای حفظ ناشناسی در دستگاه آنلاینتون از Tor یا ‌Node شخصی استفاده کنید.
  9. (نظرات شما در کامنت)




خب قبل از شروع مثال‌های عملی، به چند نکته زیر توجه کنید:

  1. دستگاه‌هایی که برای کیف‌پول ناظر و سرد انتخاب می‌کنید باید(نه اینکه اجباراً ولی اکیداً تأکیداً!) مجهز به دوربین باشن تا با اسکن کیوآر کد(QR-Code) بتونید تراکنش‌هارو بینشون جابجا کنید.
  2. اگه می‌تونید، یک دستگاه نو برای این منظور تهیه کنید وگرنه حتما ویروس کشی و فرمتش کنید.
  3. در ادامه با استفاده از نرم‌افزارهای Blue Wallet و Electrum Wallet، روی موبایل و لپتاپ کیف‌پول سرد رو پیاده‌سازی می‌کنیم؛ اما با توجه به توضیحات بالا، خودتون هم می‌تونید نرم‌افزارهایی که این قابلیت رو دارن شناسایی و استفاده کنید. نرم‌افزاری که برای کیف‌پول سرد استفاده می‌شه باید قابلیت تولید کلیدهای عمومی رئیس و قابلیت امضای تراکنش‌های خام PSBT رو داشته باشه. درضمن سعی کنید از نرم‌افزارهای تست‌شده و معروف که ترجیحاً متن‌باز²⁵ هستن استفاده کنید.
  4. نرم‌افزارهایی که در ادامه برای ساختن کیف‌پول سرد به کار می‌بریم، هم قابلیت تولید کیف‌پول سرد دارن و هم کیف‌پول ناظر؛ اما اجباری نیست این دو کیف‌پول، یک نرم‌افزار باشن. مثلا می‌شه برای ساخت کیف‌پول سرد از Electrum Wallet روی لپتاپ و برای ساخت کیف‌پول ناظر از Blue Wallet روی موبایل استفاده کرد!


پیاده‌سازی روی ‌‌موبایل با Blue Wallet

لینک تصاویر این بخش با کیفیت بالا: imgur.com/a/3Gvswjp

تصاویر گرفته شده از کیف‌پول سرد با آبی کم‌رنگ و تصاویر گرفته شده از کیف‌پول ناظر با قرمز کم‌رنگ شماره‌گذاری شدن.


کیفیت بالا: i.imgur.com/Zbe0nMa.png
کیفیت بالا: i.imgur.com/Zbe0nMa.png


نرم‌افزار ‌‌Blue Wallet رو از سایت اصلی دانلود کردیم و امضاش²¹ رو هم بررسی کردیم و موبایل هم کاملاً آفلاین هست. برای ساخت کیف‌پول سرد و ناظر طبق تصاویر، به ترتیب، از راست به چپ پیش می‌ریم.

  1. در ابتدا هنوز درون نرم‌افزار کیف‌پولی ایجاد نکردیم. برای ایجادش، توی صفحهٔ اصلی روی گزینهٔ Add now کلیک می‌کنیم
  2. در این قسمت ابتدا یک اسم برای کیف‌پولمون انتخاب می‌کنیم.
  3. گزینهٔ اول ‌‌Bitcoin رو انتخاب می‌کنیم.
  4. برای ساخت کیف‌پول جدید روی گزینهٔ ‌Create کلیک می‌کنیم. اگر از قبل کیف‌پولی داریم هم می‌تونیم از گزینهٔ زیرش یعنی Import Wallet استفاده کنیم.
  5. در صفحهٔ جدید ۱۲ کلمه‌ی بازیابی کیف‌پول نمایش داده می‌شه. این کلمات رو به ترتیب یادداشت کرده و در جایی امن نگه می‌داریم.

و در تصویر ۴ کیف‌پول سردمون رو می‌بینید که ساخته شده.

کیفیت بالا: i.imgur.com/OiAFaqv.png
کیفیت بالا: i.imgur.com/OiAFaqv.png


حالا باید با کلید‌عمومی رئیس، یک کیف‌پول ناظر بسازیم:

  1. برای ساخت کیف‌پول ناظر، در موبایل آنلاین مجددا در صفحهٔ اول روی Add now کلیک می‌کنیم.
  2. در این قسمت ابتدا یک اسم برای کیف‌پولمون انتخاب می‌کنیم.
  3. گزینهٔ اول ‌‌Bitcoin رو انتخاب می‌کنیم.
  4. روی گزینهٔ Import wallet کلیک می‌کنیم.
  5. در این قسمت می‌تونیم ۱۲ تا کلمه یا کلید‌عمومی رئیس رو وارد کنیم تا نرم‌افزار خودش شناسایی و بازیابیش کنه.
  6. همچنین می‌تونیم از این گزینه برای اسکن کیوآر کد استفاده کنیم.

حالا بریم تا از کیف‌پول سردمون کلید‌عمومی رئیس رو بگیریم و برگردیم تا اسکنش کنیم

کیفیت بالا: i.imgur.com/OMHjqKN.png
کیفیت بالا: i.imgur.com/OMHjqKN.png


  1. داخل کیف‌پول سرد روی سه‌نقطه بالای صفحه کلیک می‌کنیم.
  2. از این گزینه برای دریافت XPUB(در حقیقت ZPUB هست و این کیف‌پول فقط همین رو در اختیارمون می‌گذاره) استفاده می‌کنیم.
  3. در این قسمت کلیدعمومی رئیسمون رو به صورت کیوآر کد نمایش میده تا اسکنش کنیم.
  4. با کلیک روی متن کلیدعمومی رئیس هم می‌تونیم کپی‌اش کنیم اما در اینجا بخاطر عدم اتصال دو دستگاه؛ این گزینه کاربرد زیادی نداره.


کیفیت بالا: i.imgur.com/VEd1ULe.png
کیفیت بالا: i.imgur.com/VEd1ULe.png


  1. در تصویر ۱۱ به کیف‌پول ناظرمون بر می‌گردیم و کیوآر کد رو اسکن می‌کنیم و همونطور که می‌بینید در تصویر ۱۲ کیف‌پول ناظرمون ساخته شده و موجودیش رو هم به‌درستی نمایش داده‌شده!


کیفیت بالا: i.imgur.com/ubb15lo.png
کیفیت بالا: i.imgur.com/ubb15lo.png


  1. برای ساخت آدرس در کیف‌پول ناظر، به‌راحتی روی گزینهٔ Receive کلیک می‌کنیم! اما حالا بیاین ببینیم چطور باید یک تراکنش بسازیم... در اولین مرحله، در کیف‌پول ناظر روی گزینهٔ Send کلیک ‌می‌کنیم.
  2. فقط برای اولین بار برای ارسال تراکنش این پیغام نمایش داده می‌شه که می‌پرسه: «آیا می‌خوای قابلیت ساخت تراکنش به صورت آفلاین رو فعال سازی کنی؟». در جوابش گزینهٔ بله(OK) رو انتخاب می‌کنیم.
  3. در صفحهٔ ۱۵ باید جزئیات تراکنش رو مشخص کنیم. در اولین مرحله می‌تونیم از این گزینه واحد بیت‌کوین رو تغییر بدیم. در حالت پیش‌فرض این روی یک واحد کامل بیت‌کوین هست ولی ما می‌خوایم مقدار کمی بیت‌‌کوین ارسال کنیم، پس واحد ساتوشی(SAT) رو انتخاب می‌کنیم که یک صد میلیونیوم بیت‌کوین هست!
  4. در این قسمت مقدار ۱۰۰۰ ساتوشی رو انتخاب می‌کنیم.
  5. در این‌جا آدرس مقصد رو به صورت دستی جای‌‌گذاری یا با استفاده از گزینهٔ ‌Scan می‌تونیم آدرس رو اسکن بکنیم.
  6. این قسمت صرفاً یک یادداشت اختیاری هست که در بخش تاریخچه نشون داده خواهد شد.
  7. از اینجا می‌تونیم مقدار کارمزد‌ ارسال تراکنش رو مشخص کنیم. در این نمونه، کمترین مقدار که یک ساتوشی به اضای هر بایت هست انتخاب شده. هرچه این مقدار بیشتر باشه، تراکنش سریع‌تر تأیید میشه.
  8. در پایان روی گزینهٔ ارسال کلیک می‌کنیم.
  9. در این قسمت کیوآر کد تراکنش امضا نشده(PSBT) نمایش داده می‌شه که در ادامه با استفاده از کیف‌پول سردمون امضاش می‌کنیم
  10. همچنین می‌تونیم با استفاده از این گزینه، تراکنش PSBT رو به صورت فایل ذخیره کنیم تا هرزمانی که خواستیم امضاء و ارسالش بکنیم(تا زمانی که آدرس ذکر شده در بخش ورودی تراکنش حاوی مقدار بیت‌کوین قید شده در تراکنش باشه؛ این ‌‌تراکنش PSBT قابل استفاده هست)
  11. با این گزینه هم می‌تونیم متن تراکنش PSBT رو کپی کنیم؛ اما در اینجا بخاطر عدم اتصال دو دستگاهمون این گزینه کاربرد زیادی نداره.
کیفیت بالا: i.imgur.com/PhsPZ44.png
کیفیت بالا: i.imgur.com/PhsPZ44.png


حالا به کیف‌پول سردمون می‌آییم تا تراکنش PSBT رو با کلید خصوصی‌مون امضاء کنیم:

  1. روی گزینهٔ Send کلیک می‌کنیم.
  2. روی سه‌نقطه بالای صفحهٔ بازشدهٔ ۱۸ کلیک می‌کنیم.
  3. گزینهٔ ‌Sign a transaction رو انتخاب می‌کنیم و کیوآر کد تراکنش PSBT رو از داخل کیف‌پول ناظر اسکن ‌می‌کنیم.
  4. در صفحهٔ جدید ۲۰، تراکنش امضاء شده به صورت کیوآر کد و متن، داخل کادر سبزرنگ، نمایش داده می‌شه. همچنین اگه صفحه رو پایین‌تر بکشیم گزینهٔ ذخیره تراکنش به صورت فایل هم موجوده.


کیفیت بالا: i.imgur.com/0VcDHwW.png
کیفیت بالا: i.imgur.com/0VcDHwW.png


حالا فقط مونده تراکنش رو با استفاده از کیف‌پول ناظر و اینترنت، به شبکه بیت‌کوین ارسال کنیم:

  1. در کیف‌پول ناظر روی گزینهٔ Send کلیک می‌کنیم.
  2. این دفعه برای گرفتن تراکنش امضاء شده روی سه نقطه بالای صفحه کلیک می‌کنیم.
  3. در منوی باز شده از این گزینه به‌منظور وارد کردن فایل تراکنش امضاء شده می‌تونیم استفاده کنیم.
  4. از این گزینه هم می‌تونیم برای اسکن کردن کیوآر کد تراکنش استفاده کنیم.



پیاده‌سازی روی ‌‌لپتاپ با Electrum Wallet

لینک تصاویر این بخش با کیفیت بالا: imgur.com/a/3Gvswjp

تصاویر گرفته شده از کیف‌پول سرد با آبی کم‌رنگ و تصاویر گرفته شده از کیف‌پول ناظر با قرمز کم‌رنگ شماره‌گذاری شدن.

کیفیت بالا: imgur.com/6MsppGM.png
کیفیت بالا: imgur.com/6MsppGM.png


ابتدا کیف‌پول Electrum رو از سایت اصلی‌اش دانلود می‌کنیم و طبق راهنمای داخل خود سایت امضاءش رو بررسی و در نهایت روی دستگاه آفلاین(کیف‌پول سرد) و آنلاین(کیف‌پول ناظر) نصبش می‌کنیم.

  1. هنگام اجرای نرم‌افزار، فقط برای اولین‌بار این پیغام رو می‌بینید که می‌پرسه: «می‌خواید از چه سروری استفاده کنید؟» این صفحه رو به صورت پیش‌فرض باقی می‌گذاریم و روی دکمه Next کلیک می‌کنیم.
  2. اینجا باید یک اسم برای کیف‌پولمون انتخاب کنیم یا اگر از پیش یک کیف‌پول ساختیم فایلش رو با زدن دکمه ی Choose... انتخاب کنیم.
  3. بعد از انتخاب نام برای کیف‌پول، دکمه Next رو می‌زنیم.
  4. در این پنجره جدید گزینهٔ اول رو برای ساختن کیف‌پول ساده انتخاب ‌می‌کنیم.
  5. دکمه ی Next رو می‌زنیم.


لینک باکیفت: imgur.com/jaLB9nD.png
لینک باکیفت: imgur.com/jaLB9nD.png


  1. در پنجره جدید، این گزینه رو برای ساختن یک کیف‌پول جدید انتخاب ‌می‌کنیم.
  2. از این گزینه هم می‌تونیم برای بازگردانی یک کیف‌پول از قبل ساخته شده استفاده کنیم.
  3. دکمه ی Next رو می‌زنیم.
  4. در این بخش، ۱۲ کلمه ی بازیابی(کلید خصوصی) کیف‌پول رو بهمون نمایش میده که باید به ترتیب یادداشت و در جای امنی ذخیره اش کنیم.
  5. دکمه ی Next رو می‌زنیم.
  6. اینجا در پنجره ۶، باید ۱۲ کلمه رو به ترتیب وارد کنیم تا از درستی چیزی که نوشتیم مطمئن بشیم.
  7. دکمه ی Next رو می‌زنیم.
  8. در این قسمت باید یک رمزعبور امن برای دسترسی به کیف‌پول وارد و برای اطمینان از درستی رمز وارد شده یکبار دیگه تکرارش کنیم.
  9. دکمه ی Next رو می‌زنیم.


لینک باکیفت: imgur.com/1svw6tO.png
لینک باکیفت: imgur.com/1svw6tO.png


کیف‌پول سردمون ساخته شد.

  1. در اینجا می‌گه: «برای حفظ امنیتتون بهتره همیشه آخرین نسخه نرم‌افزار رو نصب داشته باشید. آیا می‌خواید در صورت وجود نسخه جدیدی از نرم‌افزار بهتون اطلاع بدیم؟» ماهم گزینهٔ بله رو انتخاب می‌کنیم اما از اونجایی که این کیف‌پول به اینترنت دسترسی نخواهد داشت عملا این کار بی‌فایده هست. اما اگر می‌خواید به این توصیه عمل کنید، باید هر از چندگاهی وبسایت کیف‌پول رو چک کنید تا اگر نسخه جدیدی موجود بود؛ دانلود و امضاش رو بررسی کنید، با فلش انتقالش بدید و نصبش کنید.
  2. این دایره قرمز پایین صفحه هم یعنی این کیف‌پول به اینترنت دسترسی نداره.
لینک باکیفت: imgur.com/oAQZNNV.png
لینک باکیفت: imgur.com/oAQZNNV.png


حالا می‌خوایم روی دستگاه آنلاین دیگه ای با استفاده از نرم‌افزار ‌Electrum، کیف‌پول ناظر رو هم راه‌اندازی کنیم.

  1. مجددا نرم‌افزار رو با در نظر گرفتن توصیه‌های امنیتی نصب و اجرا می‌کنیم. در این قسمت اسمی برای کیف‌پول ناظر انتخاب می‌کنیم یا اگر از قبل ساختیم، با گزینهٔ Choose... فایلش رو انتخاب می‌کنیم.
  2. گزینهٔ اول رو برای ساختن کیف‌پول عادی انتخاب می‌کنیم.
  3. دکمه ی Next رو می‌زنیم.
  4. گزینهٔ سوم رو برای وارد کردن یک کلیدعمومی رئیس انتخاب می‌کنیم.
  5. دکمه ی Next رو می‌زنیم.
لینک باکیفت: imgur.com/wZdIKam.png
لینک باکیفت: imgur.com/wZdIKam.png


حالا می‌خوایم کلید‌عمومی رئیس رو از کیف‌پول سردی که در مرحلهٔ اول ساختیم بگیریم و وارد کنیم:

  1. در کیف‌پول سرد، وارد سربرگ Wallet می‌شیم و گزینهٔ اول Information رو انتخاب می‌کنیم.
  2. در این قسمتِ پنجرهٔ جدید، کلیدعمومی رئیس نشون داده شده که می‌تونیم با دو گزینهٔ پایین صفحه، کپی‌اش کنیم یا پنجره کیوآر کد اش رو باز کنیم.


لینک باکیفت: imgur.com/BWhQwse.png
لینک باکیفت: imgur.com/BWhQwse.png


به کیف‌پول ناظرمون بر می‌گردیم تا کلیدعمومی رئیس رو وارد کنیم:

  1. از این دو گزینه برای اسکن کیوآر کد یا انتخاب فایل متنی حاوی کلیدعمومی رئیس استفاده می‌کنیم.
  2. دکمه ی Next رو می‌زنیم.
  3. کیف‌پول ناظر با موفقیت ساخته شد و پیغامی که نمایش داده شده می‌گه: «کیف‌پولی که ساختید، فقط یک کیف‌پول ناظر هست و نمی‌تونید باهاش بیت‌کوین خرج کنید. لطفا از داشتن ۱۲ کلمه بازیابی‌تون اطمینان حاصل کنید» و ماهم روی دکمه OK کلیک می‌کنیم.
  4. در ابتداءِ ساختن کیف‌پول ناظر، می‌بینید که در این قسمت، کیف‌پول درحال گرفتن اطلاعات تراکنش‌ها و موجودی از اینترنت هست.

در نهایت در صفحهٔ ۱۶ اطلاعات تراکنش‌ها و موجودی نمایش داده می‌شه.

لینک باکیفت: imgur.com/OilX2S1.png
لینک باکیفت: imgur.com/OilX2S1.png


برای دریافت بیت‌کوین فقط کافیه وارد قسمت Receive بشیم. اما حالا می‌خوایم مرحله به مرحله نحوهٔ ساختن و ارسال تراکنش با استفاده از نرم‌افزار Electrum رو ببینیم:

  1. وارد بخش Send می‌شیم.
  2. در این قسمت آدرس مقصد تراکنش رو وارد ‌می‌کنیم.
  3. در این بخشِ اختیاری، می‌تونیم یک یادداشت برای تراکنش بنویسیم.
  4. در این قسمت مقدار بیت‌کوینی که قرار هست ارسال کنیم رو وارد می‌کنیم(واحد بیت‌کوین در این کیف‌پول به صورت پیش‌فرض mBTC یا یک‌هزارم بیت‌کوین هست. اگه بخواین می‌تونید واسه تغییرش به مسیر
    Tools > Preferences > Base unit مراجعه کنید)
  5. روی دکمه ی Pay... کلیک می‌کنیم.
  6. در این قسمت مقدار کارمزدی که می خوایم برای ارسال تراکنش پرداخت کنیم رو انتخاب می‌کنیم.
  7. در نهایت روی گزینهٔ ‌‌Send کلیک می‌کنیم.


لینک باکیفت: imgur.com/eUvwjb1.png
لینک باکیفت: imgur.com/eUvwjb1.png

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

  1. برای ارسال تراکنش PSBT روی گزینهٔ Export کلیک می‌کنیم. همونطور که می‌بینید سه راهِ کپی در بریده دان، نمایش کیوآر کد و ذخیره در فایل، در اختیارمون گذاشته می‌شه.


لینک باکیفت: imgur.com/hM1MPON.png
لینک باکیفت: imgur.com/hM1MPON.png


برای گرفتن تراکنش PSBT از کیف‌پول ناظر، وارد کیف‌پول سرد می‌شیم:

  1. وارد سربرگ Tools می‌شیم.
  2. وارد قسمت Load transaction می‌شیم و از طریق فایل یا جای‌گذاری و یا اسکن کیوآر کد، تراکنش رو دریافت می‌کنیم.
  3. در پنجرهٔ جدید مجددا اطلاعات تراکنش نمایش داده می‌شه و بعد از بررسی کامل، برای امضای تراکنش روی دکمه ی ‌Sign کلیک می‌کنیم.
  4. الان تراکنش در حالت امضاء شده قرار گرفته و مجدداً با کلیک روی دکمه ی Export باید اون رو به کیف‌پول ناظر بفرستیم تا از طریق اینترنت به شبکهٔ بیت‌کوین ارسالش کنیم.
لینک باکیفت: imgur.com/L7Kb9WG.png
لینک باکیفت: imgur.com/L7Kb9WG.png


  1. در کیف‌پول ناظر مجددا وارد سربرگ ‌Tools می‌شیم.
  2. از طریق گزینهٔ Load transaction یکی از راه‌های دریافت تراکنش رو انتخاب و تراکنش امضاء شده رو از کیف‌پول سرد دریافت می‌کنیم
  3. در پنجره باز شده مجددا ریز اطلاعات تراکنش رو می‌بینیم. اگر مورد تأیید بود، برای ارسال، روی دکمهٔ
    broadcast کلیک می‌کنیم.
لینک باکیفت: imgur.com/vvDvgTp.png
لینک باکیفت: imgur.com/vvDvgTp.png




خب دوستان خسته نباشید! الان دیگه کاملا با یکی از امن‌ترین روش‌های ذخیرهٔ بیت‌کوین آشنا شدید!

نه فقط بیت‌کوین بلکه هر رمزارزی²⁷ که از امکانات ذکر شده پشتیبانی کنه رو می‌تونید به این روش ذخیره کنید.

حالا می‌بینید که ارسال بیت‌کوین به کیف‌پول سرد تا چه‌اندازه آسون‌تر از ارسال بیت‌کوین از کیف‌پول سرد هست! پس فهمیدیم که به‌کاربردن این روش نه برای استفاده روزمره، بلکه ذخیره سازی مناسبه!

اگر به این فضا علاقه‌مندید توصیه می‌کنم از همون BIP ها و لینک‌هایی که ذکر شده استارت مطالعه رو بزنید. باشد که رستگار شوید!


‏Masahiro Hara سازنده‌ی  کیوآر کد
‏Masahiro Hara سازنده‌ی کیوآر کد


دونیشن:

bc1qsnfs9alfadfqv0hgc7j6duga8jqqryn4apl8w2


  1. ‏Cold Wallet
  2. در حقیقت بیت‌کوین متشکل از شبکه‌ای از node ها هست که به صورت P2P(نقطه به نقطه یا Point To Point) به هم متصل هستند.
  3. آدرس مخزن گیت‌هاب BIP ها
  4. ‏Private Key
  5. ‏Public Key
  6. برای امنیت مافوق زیاد می‌تونیم کیف‌پول های چندامضایی بسازیم که برای دسترسی بهشون به چندتا کلید خصوصی نیازه.
  7. کتاب Mastering Bitcoin
  8. در حقیقت نمی‌شه از کلید‌عمومی مستقیماً به‌عنوان یک آدرس استفاده کرد. مثلا برای ساخت آدرس‌های ‌P2PKH باید ابتدا کلیدعمومی رو یکبار با SHA-256 و RIPEMD-160 هش و سپس بصورت BASE-58 رمزنگاری کنیم.
  9. ‏Hierarchical Deterministic Wallet(HD Wallet)
  10. کلیدهای عمومی رئیس تحت‌عنوان مدیریت حساب‌کاربری در کیف‌پول‌ها به صورت مفصل در BIP-43 و BIP-44(XPUB) و BIP-49(YPUB) و BIP-89(YPUB) توضیح داده‌شدن.
  11. در قدیم از هر کلیدخصوصی تنها یک کلیدعمومی ساخته می‌شد. اما در BIP-32 روش HD Wallet مطرح شد که بهمون امکان ساخت کلیدهای عمومی بسیار زیادی با استفاده از یک کلیدخصوصی رو میده.
  12. ‏Pay To Public Key Hash
  13. ‏Pay To Script Hash
  14. همونطور که از اسم این آدرس‌ها معلومه؛ این آدرس‌ها از هش Script ساخته میشن و این امکان رو بهمون میدن تا با استفاده از Script های بیت‌کوین شرط‌هایی مثل "صاحب کلید عمومی بعد از فلان مقدار زمان، اگر یک رمز از پیش تأیین شده رو، روکنه می‌تونه این مقدار بیت‌کوین رو خرج کنه"
  15. ‏Pay To Witness Public Key Hash
  16. پی دی اف راهنمای آموزشی پروژه seed signer
  17. ویدئوی ضیا صدر درباره معرفی seed signer
  18. ‏Watch Only Wallet
  19. ‏Input
  20. ‏Output
  21. ‏Signature یا به اختصار Sig، یک روش امن برای تایید اصالت یا مالکیت یک محتوای دیجیتال هست. در این مقاله و این مقاله، ام‌سی سعید این موضوع رو به‌خوبی توضیح میده.
  22. اسم این آدرس‌ Change Address هست و می‌تونه یکی از همون آدرس‌های وارد شده در قسمت ورودی تراکنش باشه؛ اما برای ارتقاع حریم‌خصوصی بهتره از آدرس جدیدی استفاده بشه. برای مطالعه بیشتر درمورد حریم خصوصی مقاله‌های شماره ۱، شماره ۲، شماره ۳ و شماره ۴ سامورایی والت رو بخونید.
  23. PSBT ها در BIP-174 مطرح شدن.
  24. ‏Transaction Fee (در بازنگری نهایی، این موارد اضافه شدن. درنتیجه در انتهای لیست قرار گرفتن. از این بابت عذر می‌خوام)
  25. ‏Open Source
  26. دوره یوتیوبی جادی از روی کتاب دانشگاه استنفورد Bitcoin and cryptocurrency technologies
  27. ‏Shit Coin
رمزنویسبیت کویننگهداری بیت کوینکیف پول بیت کوین
داشجوی علوم کامپیوترم و به فضای اوپن‌سورس، ماشین‌لرنینگ و بیت‌کوین علاقه‌مندم.
شاید از این پست‌ها خوشتان بیاید