کیفپول سرد¹ به کیفپولی گفته میشه که به اینترنت و دنیای بیرون دسترسی نداره. پس هک و ویروسی نمیشه و از امنیت بالایی برخوردار هست.
اما استفاده از این راهکار برای نگهداری مقادیر کم، مصداق حمل یک گاوصندوق بجای کیفپول توی جیبتونه! درنتیجه بهتره از این راهکار برای نگهداری مقادیر زیادی از بیتکوینهایی استفاده بشه که زیاد مورد استفاده قرار نمیگیره(مثلا این یک روش خوب برای نگهداری پسانداز بیتکوینی هست)
هدف این مقاله توضیح کارکرد کیفپول سرد و نمایش چند نمونه از پیادهسازی اون به زبان ساده هست؛ اما بهاندازهٔ توانم سعی کردم چیزی رو جا نندازم.
BIP چیه؟
این موضوع ارتباط زیادی به بحث اصلی نداره، اما این مقاله براساس BIP ها نوشته شده و در ادامه به چند BIP اشاره میشه.
از اونجایی که بیتکوین یک شبکهٔ غیرمتمرکز هست² تصمیمگیریهاش به دست یک شخص یا گروه خاص نیست؛ بلکه هر فردی میتونه در پیشرفتش مشارکت داشته باشه،مشارکتی که مورد تأیید بقیه افراد هم باشه
باتوجه به گستردگی شبکه، برای جلوگیری از آشفتگی، این پیشنهادات یا ایده ها در قالب یک متن مرتب و قالببندیشده به نام Bitcoin Improvement Proposal یا به اختصار BIP در میاد و در جایعمومی بهنام مخزن گیتهاب BIP ها³ در معرض دید قرار میگیره تا درنهایت، اگر مورد تأیید عموم بود، پیادهسازی بشه و مورد استفاده قرار بگیره.
باتوجه به گستردگی شبکه، برای جلوگیری از آشفتگی،این پیشنهادات یا ایده ها در قالب یک متن مرتب و قالببندیشده به نام Bitcoin Improvement Proposal یا به اختصار BIP در میاد و در جایعمومی بهنام مخزن گیتهاب BIP ها³ در معرض دید قرار میگیره تا درنهایت، اگر مورد تأیید عموم بود، پیادهسازی بشه و مورد استفاده قرار بگیره.قالببندیشده به نام Bitcoin Improvement Proposal یا به اختصار BIP در میاد و در جایعمومی بهنام مخزن گیتهاب BIP ها³ در معرض دید قرار میگیره تا درنهایت، اگر مورد تأیید عموم بود، پیادهسازی بشه و مورد استفاده قرار بگیره.
این BIP ها از شماره ۱ شروع شدن و در حال حاضر شمارهٔ آخرین BIP، ۳۸۶ هست.
کیفپولها چطور کار میکنن؟
کیفپول های بیتکوینی متشکل از دو قسمت اصلی بهنام کلیدخصوصی⁴ و کلیدعمومی⁵ هستن...
کلیدخصوصی
در اولینقدم برای ساخت کیفپول، باید یک کلیدخصوصی که عددی بین ۱ تا ۲ بهتوان ۲۵۶ هست انتخاب کنیم. شاید باورش سخت باشه، اما در اینجا این عدد تنها چیز مورد نیاز برای دسترسی به بیتکوینهای درون کیفپول هست⁶.
اما بد به دلتون راه ندید!
این عدد تقریبا برابر با ۱۰ بهتوان ۷۷ هست و تعداد اتمهای موجود در جهان قابل روئیت برابر با ۱۰ به توان ۸۰ هست!
کتاب Mastering Bitcoin⁷
اگر هنوز به امنیت کلیدخصوصی ایمان نیاوردین:
اگر به تعداد اتمهای موجود در یک گرم از هیدروژن مایع، در سطح کل ایران دونههای برف بباره، تا ارتفاع ۴۵۰۰ متری از سطح زمین از برف پوشیده میشه!
شیمی ۱
فرایند تولید کلید خصوصی در پشتپرده، هنگام ساخت کیفپول، توسط نرمافزار انجام میشه اما حتی میتونید با انداختن یک سکه یا تاس، به دفعات زیاد، یک کلیدخصوصی منحصربهفرد بسازید!
کلیدعمومی
بعد از انتخاب کلیدخصوصی عملاً صاحب یک کیفپول میشیم، اما برای دریافت بیتکوین روی کیفپول باید از کلیدخصوصیمون یک کلیدعمومی یا آدرس بسازیم⁸.
کلیدهای عمومی، امروزه به روش سلسله مراتبی⁹-¹⁰ ساخته میشن.
همونطور که در شکل نمایش داده شده؛ از کلیدخصوصی یک کلیدعمومی رئیس ساخته میشه و سپس به صورت سلسله مراتبی کلیدهای عمومیِ جدید ساخته میشه و نکته جالبتوجه، این هست که در هر مرحله برای ساخت کلیدهای عمومی جدید، فقط و فقط به کلیدعمومیِ والد نیازه.
درضمن، فرایند ساخت کلیدعمومی، فرایندی یکطرفه هست؛ یعنی از کلیدخصوصی، کلیدعمومی بدست میاد اما نمیشه از کلیدعمومی، کلیدخصوصی رو بدست آورد. پس با خیال راحت میتونیم کلیدهای عمومیمون رو برای دریافت بیتکوین به اشتراک بگذاریم.
انواع آدرسها در شبکه بیتکوین
درحال حاضر شبکهٔ بیتکوین از سه نوع آدرس پشتیبانی میکنه که هرکدوم از این آدرسها کلیدعمومی رئیس مختص خودشون رو دارن. این کلیدهای عمومی رئیس به ترتیب XPUB و YPUB و ZPUB نام دارند¹⁰.
¹⁰XPUB: آدرسهای P2PKH¹²
ایننوع آدرسها در شبکه بیتکوین قدیمیترین هستن و همیشه با 1 شروع میشن
نمونه: 15e15hWo6CShMgbAfo8c2Ykj4C6BLq6Not
¹⁰YPUB: آدرسهای P2SH¹³
این نوع آدرسها قابلیت شرطگذاری¹⁴ دارن و نسبت به آدرسهای قبلی، تقریبا ۲۶٪ هزینهی کمتری برای دریافت بیتکوین نیاز دارن و همیشه با 3 شروع میشن.
نمونه: 35PBEaofpUeH8VnnNSorM1QZsadrZoQp4N
¹⁰ZPUB: آدرسهای P2WPKH¹⁵
این نوع آدرسها در آپدیت سگویت سال ۲۰۱۷ اضافه شدن.
این آدرسها نسبت به نوع قبلی ۱۶٪ هزینهٔ کمتری دارن و این باعث شده کمهزینهترین آدرس حال حاضر باشن و نسبت به بقیه بیشتر به کار برده بشن.
این آدرسها همیشه با bc1q شروع میشن.
نمونه: bc1q42lja79elem0anu8q8s3h2n687re9jax556pcc
آدرسهای تپروتی هم زیر مجموعه این نوع آدرسها هستن و با bc1p شروع میشن.
نمونه: bc1pmzfrwwndsqmk5yh69yjr5lfgfg4ev8c0tsc06e
پیادهسازی کیفپول سرد
در حالحاضر دستگاههای زیادی مانند کلدکارت، لجر و ... مثل آبخوردن برامون کیفپول سرد میسازن اما در شرایط فعلی، جدا از دسترسی محدود به این ابزار در ایران؛ در خیلی از موارد برای رسیدن به دستمون از دست چندتا واسط عبور میکنن. درنتیجه ممکنه در وسطای راه دستکاری بشن، کلید خصوصیشون لو بره یا حتی کپی برابر اصل باشن!
پس با این شرایط برای اکثر ماها خرید و استفاده از اینها کار عاقلانه ای نیست و بهتره کیفپول سردمون رو، خودمون بسازیم.
برای ساختن کیفپول سرد دو راه داریم:
سخت افزار مختص به کیفپول سرد رو خودمون سرهم کنیم: طبیعتا این روش دانش فنی بیشتری میطلبه و ممکنه ارزونتر باشه؛ اما در عوض قرار نیست امنیت بیشتری رو در مقایسه با مورد دومِ صحیح پیادهسازی شده بهمون بده.
با استفاده از موبایل، لپتاپ یا ... و نصب نرمافزارهای کیفپول بسازیماش: این روش هم آسونتره و هم اگه درست پیادهسازی بشه، امنیتی مشابه مورد اول داره؛ اما در مقابل ممکنه گرونتر باشه. ما روش دوم رو در پیش میگیریم اما اگر درمورد روش اول کنجکاوید، این لینکها خدمتتون: راهنمای آموزشی پروژه seed signer¹⁶ و ویدئوی یوتیوب ضیا صدر در اینباره¹⁷
برای ساخت و استفاده از کیفپول سرد باید ابتدا کلید خصوصیمون رو در یک دستگاه امن و آفلاین مثل موبایل یا لپتاپ بسازیم و نگهداریم. سپس از کلیدخصوصی، کلیدهای عمومی رئیس رو بدست بیاریم و به دستگاه آنلاینمون(معمولا موبایل شخصی) انتقال بدیم.
دستگاه آنلاین کارش ساخت آدرسهای جدید، ساخت تراکنش خام(در ادامه میبینیم)، ارسال تراکنش به شبکهٔ بیتکوین و از همه مهمتر نمایش موجودی و وضعیت کیفپول سردمون هست. به همین دلیل اسمش رو کیفپول ناظر¹⁸ میگذاریم.
نحوه ارسال یا دریافت تراکنش با کیفپول سرد
یک تراکنش، به زبان ساده، از سه بخش تشکیل شده: ۱- ورودی¹⁹: شامل آدرسهای مبدا هست. ۲- خروجی²⁰: شامل آدرسهای مقصد و مقدار دریافتی هرکدام هست. ۳- امضاء²¹: شامل یک امضای دیجیتال بهمنظور اثبات مالکیت بیتکوین های ارسالی هست.
فرضاً شما میخواید ۳ تا بیتکوین به کیفپول سرد من ارسال کنید.
پس من از طریق کیفپول ناظرم، یک آدرس میسازم و در اختیار شما میگذارم.
شما ابتدا در قسمت ورودی تراکنش، آدرس خودتون که حاوی ۳.۵ بیتکوین هست رو وارد میکنید.
سپس در قسمت خروجی تراکنش، آدرس من رو وارد میکنید و ۳ بیتکوین بهش اختصاص میدید و تراکنش رو امضا میکنید.
پس ۰/۵ بیتکوین چی شد؟ خب چون واسهٔ این مقدار، آدرس دریافت کننده ای مشخص نکردید؛ به عنوان کارمزد ارسال تراکنش²⁴ پرداخت شد!
حالا من میخوام از این ۳ تا بیتکوینم، ۲تاش رو به دوستم بدم.
برای این منظور، آدرسی که باهاش از شما ۳ بیتکوین دریافت کردم رو در قسمت ورودی وارد میکنم.
در قسمت خروجی، هم آدرس دوستم رو وارد میکنم و بهش ۲ بیتکوین اختصاص میدم و هم آدرس خودم²² رو وارد میکنم و ۰/۵ بیتکوین بهش اختصاص میدم.
نصف باقیمانده بیتکوین هم به عنوان کارمزد پرداخت میشه.
اما از اونجایی که کیفپول من به اینترنت دسترسی نداره؛ دوتا مشکل اساسی سر راهمون هست:
کیفپولم نمیدونه روی چه آدرسی ۳ تا بیتکوین دریافت کرده. در حقیقت اصلاً روحشم از دریافت ۳ تا بیتکوین خبر نداره!
کیفپولم نمیتونه تراکنشی که ساخته رو ارسال کنه؛ چون به اینترنت دسترسی نداره.
درعوض کیفپول ناظرم به اینترنت متصله؛ اما اون هم چون به کلیدخصوصی دسترسی نداره نمیتونه تراکنش رو امضا کنه.
حالا راهکار چیه؟
طبق روال، برای دریافت بیتکوین با استفاده از کیفپول ناظر یک آدرس جدید میسازم و بیتکوین دریافت میکنم. چون کیفپول ناظر به اینترنت دسترسی داره سریعاً ۳ بیتکوین دریافت شده رو نمایش میده.
با استفاده از کیفپول ناظر، تراکنش خام(بدون امضاء²¹) میسازم. این تراکنش خام اسمش Partially Signed Bitcoin Transaction یا به اختصار PSBT هست²³.
تراکنش خام رو به کیفپول سرد که به کلیدخصوصی دسترسی داره ارسال میکنم و با استفاده از کلیدخصوصی امضاش میکنم.
تراکنش امضاء شده رو از کیفپول سرد به کیفپول ناظر ارسال میکنم و سپس با استفاده از اینترنت به شبکه بیتکوین میفرستم!
توصیه های امنیتیِ راهاندازی کیفپول سرد
از دستگاه مدنظر، فقط و فقط بعنوان کیفپول سرد استفاده کنید.
قبل از شروع کار، از ویروسی نبودن دستگاه اطمینان حاصل کنید ویا اگر مقدوره یک دستگاه نو برای این منظور تهیه کنید(مشخصات حداقلی کار رو راه میاندازه)
تاجای ممکن دسترسی به اینترنت رو برای دستگاه سخت یا غیرممکن کنید.
قبل از نصب نرمافزار کیفپول امضاء²¹ اونو بررسی کنید.
دستگاه رو در جای امنی مانند گاوصندوق نگهدارید.
توجه داشته باشید در خیلی از مواقع، برای سرعت بالاتر، سیستم عامل یک فایل رو کاملا پاک نمیکنه؛ بلکه فقط مخفیش میکنه.
بدلیل نبود اینترنت، بهترین راه برای انتقال فایلها استفاده از فلش USB هست. قبل از اتصال فلش، از ویروسی نبودنش اطمینان حاصل کنید.
برای حفظ ناشناسی در دستگاه آنلاینتون از Tor یا Node شخصی استفاده کنید.
(نظرات شما در کامنت)
خب قبل از شروع مثالهای عملی، به چند نکته زیر توجه کنید:
دستگاههایی که برای کیفپول ناظر و سرد انتخاب میکنید باید(نه اینکه اجباراً ولی اکیداً تأکیداً!) مجهز به دوربین باشن تا با اسکن کیوآر کد(QR-Code) بتونید تراکنشهارو بینشون جابجا کنید.
اگه میتونید، یک دستگاه نو برای این منظور تهیه کنید وگرنه حتما ویروس کشی و فرمتش کنید.
در ادامه با استفاده از نرمافزارهای Blue Wallet و Electrum Wallet، روی موبایل و لپتاپ کیفپول سرد رو پیادهسازی میکنیم؛ اما با توجه به توضیحات بالا، خودتون هم میتونید نرمافزارهایی که این قابلیت رو دارن شناسایی و استفاده کنید. نرمافزاری که برای کیفپول سرد استفاده میشه باید قابلیت تولید کلیدهای عمومی رئیس و قابلیت امضای تراکنشهای خام PSBT رو داشته باشه. درضمن سعی کنید از نرمافزارهای تستشده و معروف که ترجیحاً متنباز²⁵ هستن استفاده کنید.
نرمافزارهایی که در ادامه برای ساختن کیفپول سرد به کار میبریم، هم قابلیت تولید کیفپول سرد دارن و هم کیفپول ناظر؛ اما اجباری نیست این دو کیفپول، یک نرمافزار باشن. مثلا میشه برای ساخت کیفپول سرد از Electrum Wallet روی لپتاپ و برای ساخت کیفپول ناظر از Blue Wallet روی موبایل استفاده کرد!
تصاویر گرفته شده از کیفپول سرد با آبی کمرنگ و تصاویر گرفته شده از کیفپول ناظر با قرمز کمرنگ شمارهگذاری شدن.
نرمافزار Blue Wallet رو از سایت اصلی دانلود کردیم و امضاش²¹ رو هم بررسی کردیم و موبایل هم کاملاً آفلاین هست. برای ساخت کیفپول سرد و ناظر طبق تصاویر، به ترتیب، از راست به چپ پیش میریم.
در ابتدا هنوز درون نرمافزار کیفپولی ایجاد نکردیم. برای ایجادش، توی صفحهٔ اصلی روی گزینهٔ Add now کلیک میکنیم
در این قسمت ابتدا یک اسم برای کیفپولمون انتخاب میکنیم.
گزینهٔ اول Bitcoin رو انتخاب میکنیم.
برای ساخت کیفپول جدید روی گزینهٔ Create کلیک میکنیم. اگر از قبل کیفپولی داریم هم میتونیم از گزینهٔ زیرش یعنی Import Wallet استفاده کنیم.
در صفحهٔ جدید ۱۲ کلمهی بازیابی کیفپول نمایش داده میشه. این کلمات رو به ترتیب یادداشت کرده و در جایی امن نگه میداریم.
و در تصویر ۴ کیفپول سردمون رو میبینید که ساخته شده.
حالا باید با کلیدعمومی رئیس، یک کیفپول ناظر بسازیم:
برای ساخت کیفپول ناظر، در موبایل آنلاین مجددا در صفحهٔ اول روی Add now کلیک میکنیم.
در این قسمت ابتدا یک اسم برای کیفپولمون انتخاب میکنیم.
گزینهٔ اول Bitcoin رو انتخاب میکنیم.
روی گزینهٔ Import wallet کلیک میکنیم.
در این قسمت میتونیم ۱۲ تا کلمه یا کلیدعمومی رئیس رو وارد کنیم تا نرمافزار خودش شناسایی و بازیابیش کنه.
همچنین میتونیم از این گزینه برای اسکن کیوآر کد استفاده کنیم.
حالا بریم تا از کیفپول سردمون کلیدعمومی رئیس رو بگیریم و برگردیم تا اسکنش کنیم
داخل کیفپول سرد روی سهنقطه بالای صفحه کلیک میکنیم.
از این گزینه برای دریافت XPUB(در حقیقت ZPUB هست و این کیفپول فقط همین رو در اختیارمون میگذاره) استفاده میکنیم.
در این قسمت کلیدعمومی رئیسمون رو به صورت کیوآر کد نمایش میده تا اسکنش کنیم.
با کلیک روی متن کلیدعمومی رئیس هم میتونیم کپیاش کنیم اما در اینجا بخاطر عدم اتصال دو دستگاه؛ این گزینه کاربرد زیادی نداره.
در تصویر ۱۱ به کیفپول ناظرمون بر میگردیم و کیوآر کد رو اسکن میکنیم و همونطور که میبینید در تصویر ۱۲ کیفپول ناظرمون ساخته شده و موجودیش رو هم بهدرستی نمایش دادهشده!
برای ساخت آدرس در کیفپول ناظر، بهراحتی روی گزینهٔ Receive کلیک میکنیم! اما حالا بیاین ببینیم چطور باید یک تراکنش بسازیم... در اولین مرحله، در کیفپول ناظر روی گزینهٔ Send کلیک میکنیم.
فقط برای اولین بار برای ارسال تراکنش این پیغام نمایش داده میشه که میپرسه: «آیا میخوای قابلیت ساخت تراکنش به صورت آفلاین رو فعال سازی کنی؟». در جوابش گزینهٔ بله(OK) رو انتخاب میکنیم.
در صفحهٔ ۱۵ باید جزئیات تراکنش رو مشخص کنیم. در اولین مرحله میتونیم از این گزینه واحد بیتکوین رو تغییر بدیم. در حالت پیشفرض این روی یک واحد کامل بیتکوین هست ولی ما میخوایم مقدار کمی بیتکوین ارسال کنیم، پس واحد ساتوشی(SAT) رو انتخاب میکنیم که یک صد میلیونیوم بیتکوین هست!
در این قسمت مقدار ۱۰۰۰ ساتوشی رو انتخاب میکنیم.
در اینجا آدرس مقصد رو به صورت دستی جایگذاری یا با استفاده از گزینهٔ Scan میتونیم آدرس رو اسکن بکنیم.
این قسمت صرفاً یک یادداشت اختیاری هست که در بخش تاریخچه نشون داده خواهد شد.
از اینجا میتونیم مقدار کارمزد ارسال تراکنش رو مشخص کنیم. در این نمونه، کمترین مقدار که یک ساتوشی به اضای هر بایت هست انتخاب شده. هرچه این مقدار بیشتر باشه، تراکنش سریعتر تأیید میشه.
در پایان روی گزینهٔ ارسال کلیک میکنیم.
در این قسمت کیوآر کد تراکنش امضا نشده(PSBT) نمایش داده میشه که در ادامه با استفاده از کیفپول سردمون امضاش میکنیم
همچنین میتونیم با استفاده از این گزینه، تراکنش PSBT رو به صورت فایل ذخیره کنیم تا هرزمانی که خواستیم امضاء و ارسالش بکنیم(تا زمانی که آدرس ذکر شده در بخش ورودی تراکنش حاوی مقدار بیتکوین قید شده در تراکنش باشه؛ این تراکنش PSBT قابل استفاده هست)
با این گزینه هم میتونیم متن تراکنش PSBT رو کپی کنیم؛ اما در اینجا بخاطر عدم اتصال دو دستگاهمون این گزینه کاربرد زیادی نداره.
حالا به کیفپول سردمون میآییم تا تراکنش PSBT رو با کلید خصوصیمون امضاء کنیم:
روی گزینهٔ Send کلیک میکنیم.
روی سهنقطه بالای صفحهٔ بازشدهٔ ۱۸ کلیک میکنیم.
گزینهٔ Sign a transaction رو انتخاب میکنیم و کیوآر کد تراکنش PSBT رو از داخل کیفپول ناظر اسکن میکنیم.
در صفحهٔ جدید ۲۰، تراکنش امضاء شده به صورت کیوآر کد و متن، داخل کادر سبزرنگ، نمایش داده میشه. همچنین اگه صفحه رو پایینتر بکشیم گزینهٔ ذخیره تراکنش به صورت فایل هم موجوده.
حالا فقط مونده تراکنش رو با استفاده از کیفپول ناظر و اینترنت، به شبکه بیتکوین ارسال کنیم:
در کیفپول ناظر روی گزینهٔ Send کلیک میکنیم.
این دفعه برای گرفتن تراکنش امضاء شده روی سه نقطه بالای صفحه کلیک میکنیم.
در منوی باز شده از این گزینه بهمنظور وارد کردن فایل تراکنش امضاء شده میتونیم استفاده کنیم.
از این گزینه هم میتونیم برای اسکن کردن کیوآر کد تراکنش استفاده کنیم.
تصاویر گرفته شده از کیفپول سرد با آبی کمرنگ و تصاویر گرفته شده از کیفپول ناظر با قرمز کمرنگ شمارهگذاری شدن.
ابتدا کیفپول Electrum رو از سایت اصلیاش دانلود میکنیم و طبق راهنمای داخل خود سایت امضاءش رو بررسی و در نهایت روی دستگاه آفلاین(کیفپول سرد) و آنلاین(کیفپول ناظر) نصبش میکنیم.
هنگام اجرای نرمافزار، فقط برای اولینبار این پیغام رو میبینید که میپرسه: «میخواید از چه سروری استفاده کنید؟» این صفحه رو به صورت پیشفرض باقی میگذاریم و روی دکمه Next کلیک میکنیم.
اینجا باید یک اسم برای کیفپولمون انتخاب کنیم یا اگر از پیش یک کیفپول ساختیم فایلش رو با زدن دکمه ی Choose... انتخاب کنیم.
بعد از انتخاب نام برای کیفپول، دکمه Next رو میزنیم.
در این پنجره جدید گزینهٔ اول رو برای ساختن کیفپول ساده انتخاب میکنیم.
دکمه ی Next رو میزنیم.
در پنجره جدید، این گزینه رو برای ساختن یک کیفپول جدید انتخاب میکنیم.
از این گزینه هم میتونیم برای بازگردانی یک کیفپول از قبل ساخته شده استفاده کنیم.
دکمه ی Next رو میزنیم.
در این بخش، ۱۲ کلمه ی بازیابی(کلید خصوصی) کیفپول رو بهمون نمایش میده که باید به ترتیب یادداشت و در جای امنی ذخیره اش کنیم.
دکمه ی Next رو میزنیم.
اینجا در پنجره ۶، باید ۱۲ کلمه رو به ترتیب وارد کنیم تا از درستی چیزی که نوشتیم مطمئن بشیم.
دکمه ی Next رو میزنیم.
در این قسمت باید یک رمزعبور امن برای دسترسی به کیفپول وارد و برای اطمینان از درستی رمز وارد شده یکبار دیگه تکرارش کنیم.
دکمه ی Next رو میزنیم.
کیفپول سردمون ساخته شد.
در اینجا میگه: «برای حفظ امنیتتون بهتره همیشه آخرین نسخه نرمافزار رو نصب داشته باشید. آیا میخواید در صورت وجود نسخه جدیدی از نرمافزار بهتون اطلاع بدیم؟» ماهم گزینهٔ بله رو انتخاب میکنیم اما از اونجایی که این کیفپول به اینترنت دسترسی نخواهد داشت عملا این کار بیفایده هست. اما اگر میخواید به این توصیه عمل کنید، باید هر از چندگاهی وبسایت کیفپول رو چک کنید تا اگر نسخه جدیدی موجود بود؛ دانلود و امضاش رو بررسی کنید، با فلش انتقالش بدید و نصبش کنید.
این دایره قرمز پایین صفحه هم یعنی این کیفپول به اینترنت دسترسی نداره.
حالا میخوایم روی دستگاه آنلاین دیگه ای با استفاده از نرمافزار Electrum، کیفپول ناظر رو هم راهاندازی کنیم.
مجددا نرمافزار رو با در نظر گرفتن توصیههای امنیتی نصب و اجرا میکنیم. در این قسمت اسمی برای کیفپول ناظر انتخاب میکنیم یا اگر از قبل ساختیم، با گزینهٔ Choose... فایلش رو انتخاب میکنیم.
گزینهٔ اول رو برای ساختن کیفپول عادی انتخاب میکنیم.
دکمه ی Next رو میزنیم.
گزینهٔ سوم رو برای وارد کردن یک کلیدعمومی رئیس انتخاب میکنیم.
دکمه ی Next رو میزنیم.
حالا میخوایم کلیدعمومی رئیس رو از کیفپول سردی که در مرحلهٔ اول ساختیم بگیریم و وارد کنیم:
در کیفپول سرد، وارد سربرگ Wallet میشیم و گزینهٔ اول Information رو انتخاب میکنیم.
در این قسمتِ پنجرهٔ جدید، کلیدعمومی رئیس نشون داده شده که میتونیم با دو گزینهٔ پایین صفحه، کپیاش کنیم یا پنجره کیوآر کد اش رو باز کنیم.
به کیفپول ناظرمون بر میگردیم تا کلیدعمومی رئیس رو وارد کنیم:
از این دو گزینه برای اسکن کیوآر کد یا انتخاب فایل متنی حاوی کلیدعمومی رئیس استفاده میکنیم.
دکمه ی Next رو میزنیم.
کیفپول ناظر با موفقیت ساخته شد و پیغامی که نمایش داده شده میگه: «کیفپولی که ساختید، فقط یک کیفپول ناظر هست و نمیتونید باهاش بیتکوین خرج کنید. لطفا از داشتن ۱۲ کلمه بازیابیتون اطمینان حاصل کنید» و ماهم روی دکمه OK کلیک میکنیم.
در ابتداءِ ساختن کیفپول ناظر، میبینید که در این قسمت، کیفپول درحال گرفتن اطلاعات تراکنشها و موجودی از اینترنت هست.
در نهایت در صفحهٔ ۱۶ اطلاعات تراکنشها و موجودی نمایش داده میشه.
برای دریافت بیتکوین فقط کافیه وارد قسمت Receive بشیم. اما حالا میخوایم مرحله به مرحله نحوهٔ ساختن و ارسال تراکنش با استفاده از نرمافزار Electrum رو ببینیم:
وارد بخش Send میشیم.
در این قسمت آدرس مقصد تراکنش رو وارد میکنیم.
در این بخشِ اختیاری، میتونیم یک یادداشت برای تراکنش بنویسیم.
در این قسمت مقدار بیتکوینی که قرار هست ارسال کنیم رو وارد میکنیم(واحد بیتکوین در این کیفپول به صورت پیشفرض mBTC یا یکهزارم بیتکوین هست. اگه بخواین میتونید واسه تغییرش به مسیر Tools > Preferences > Base unit مراجعه کنید)
روی دکمه ی Pay... کلیک میکنیم.
در این قسمت مقدار کارمزدی که می خوایم برای ارسال تراکنش پرداخت کنیم رو انتخاب میکنیم.
در نهایت روی گزینهٔ Send کلیک میکنیم.
در پنجرهٔ باز شده، ریز اطلاعات تراکنش خام PSBT مثل ورودیها و خروجیها بهمون نشون داده میشه. حالا باید این تراکنش رو به کیفپول سرد که حاوی کلید خصوصیمون هست ارسال و در اونجا امضاء کنیم.
برای ارسال تراکنش PSBT روی گزینهٔ Export کلیک میکنیم. همونطور که میبینید سه راهِ کپی در بریده دان، نمایش کیوآر کد و ذخیره در فایل، در اختیارمون گذاشته میشه.
برای گرفتن تراکنش PSBT از کیفپول ناظر، وارد کیفپول سرد میشیم:
وارد سربرگ Tools میشیم.
وارد قسمت Load transaction میشیم و از طریق فایل یا جایگذاری و یا اسکن کیوآر کد، تراکنش رو دریافت میکنیم.
در پنجرهٔ جدید مجددا اطلاعات تراکنش نمایش داده میشه و بعد از بررسی کامل، برای امضای تراکنش روی دکمه ی Sign کلیک میکنیم.
الان تراکنش در حالت امضاء شده قرار گرفته و مجدداً با کلیک روی دکمه ی Export باید اون رو به کیفپول ناظر بفرستیم تا از طریق اینترنت به شبکهٔ بیتکوین ارسالش کنیم.
در کیفپول ناظر مجددا وارد سربرگ Tools میشیم.
از طریق گزینهٔ Load transaction یکی از راههای دریافت تراکنش رو انتخاب و تراکنش امضاء شده رو از کیفپول سرد دریافت میکنیم
در پنجره باز شده مجددا ریز اطلاعات تراکنش رو میبینیم. اگر مورد تأیید بود، برای ارسال، روی دکمهٔ broadcast کلیک میکنیم.
خب دوستان خسته نباشید! الان دیگه کاملا با یکی از امنترین روشهای ذخیرهٔ بیتکوین آشنا شدید!
نه فقط بیتکوین بلکه هر رمزارزی²⁷ که از امکانات ذکر شده پشتیبانی کنه رو میتونید به این روش ذخیره کنید.
حالا میبینید که ارسال بیتکوین به کیفپول سرد تا چهاندازه آسونتر از ارسال بیتکوین از کیفپول سرد هست! پس فهمیدیم که بهکاربردن این روش نه برای استفاده روزمره، بلکه ذخیره سازی مناسبه!
اگر به این فضا علاقهمندید توصیه میکنم از همون BIP ها و لینکهایی که ذکر شده استارت مطالعه رو بزنید. باشد که رستگار شوید!
دونیشن:
bc1qsnfs9alfadfqv0hgc7j6duga8jqqryn4apl8w2
Cold Wallet
در حقیقت بیتکوین متشکل از شبکهای از node ها هست که به صورت P2P(نقطه به نقطه یا Point To Point) به هم متصل هستند.
در حقیقت نمیشه از کلیدعمومی مستقیماً بهعنوان یک آدرس استفاده کرد. مثلا برای ساخت آدرسهای P2PKH باید ابتدا کلیدعمومی رو یکبار با SHA-256 و RIPEMD-160 هش و سپس بصورت BASE-58 رمزنگاری کنیم.
در قدیم از هر کلیدخصوصی تنها یک کلیدعمومی ساخته میشد. اما در BIP-32 روش HD Wallet مطرح شد که بهمون امکان ساخت کلیدهای عمومی بسیار زیادی با استفاده از یک کلیدخصوصی رو میده.
Pay To Public Key Hash
Pay To Script Hash
همونطور که از اسم این آدرسها معلومه؛ این آدرسها از هش Script ساخته میشن و این امکان رو بهمون میدن تا با استفاده از Script های بیتکوین شرطهایی مثل "صاحب کلید عمومی بعد از فلان مقدار زمان، اگر یک رمز از پیش تأیین شده رو، روکنه میتونه این مقدار بیتکوین رو خرج کنه"
Signature یا به اختصار Sig، یک روش امن برای تایید اصالت یا مالکیت یک محتوای دیجیتال هست. در این مقاله و این مقاله، امسی سعید این موضوع رو بهخوبی توضیح میده.
اسم این آدرس Change Address هست و میتونه یکی از همون آدرسهای وارد شده در قسمت ورودی تراکنش باشه؛ اما برای ارتقاع حریمخصوصی بهتره از آدرس جدیدی استفاده بشه. برای مطالعه بیشتر درمورد حریم خصوصی مقالههای شماره ۱، شماره ۲، شماره ۳ و شماره ۴ سامورایی والت رو بخونید.