اگر قصد سرمایهگذاری روی ارزهای دیجیتال را داشته باشیم، یکی از مهمترین کارهایی که باید انجام دهیم، یادگیری موارد امنیتی مربوط به آن است، تا بتوانیم سرمایه خود را در امنترین حالت ممکن نگه داریم. در بحث امنیت هم کلید خصوصی به نوعی شاهرگ اصلی است. تا انتهای این مقاله با ما همراه باشید تا با هم به زبان ساده، مفهوم کلید خصوصی و تمام مسائل امنیتی که برای نگهداری ارزهای دیجیتال باید رعایت کنیم را مورد بررسی قرار دهیم.
هر کیف پول در بیت کوین و ارزهای دیجیتال دیگر شامل دو کلید عمومی و خصوصی میشود. برای درک بهتر کلیدهای عمومی و خصوصی بیاید مثالی را بررسی کنیم:
اگر کسی بخواهد به حساب شما پولی واریز کند، باید شماره کارت عابر بانک شما را بداند و شما برای اینکه بتوانید به داراییهای حساب خود دسترسی داشته باشید، باید رمز کارت بانکی خود را داشته باشید.
آیا در دنیای واقعی حاضرید کارت عابر بانک و رمز کارت خود را به هر کسی بدهید؟
البته که نه.
مشابه دنیای واقعی، در دنیای ارزهای دیجیتال نیز، هرکسی بخواهد برای شما بیت کوین ارسال کند، باید شماره حساب شما که به آن کلید یا آدرس عمومی میگویند، داشته باشد.
پس کلید یا آدرس عمومی به نوعی (نه کاملا) مانند شماره کارت عابر بانک شماست که میتوانید آن را برای هر کسی که قرار است برای شما بیت کوین ارسال کند، بفرستید، و برای دسترسی به داراییهای کیفپولتان، باید آدرس یا کلید خصوصی خود را بدانید.
همانطور که در مثال کارت عابر بانک، دسترسی به پول موجود در حساب بانکی، بدون داشتن رمز کارت امکانپذیر نبود، درمورد ارزهای دیجیتال هم، دسترسی به داراییهای موجود در کیفپول، بدون دانستن کلید خصوصی امکانپذیر نخواهد بود.
کلید خصوصی (Private Key) چیست؟
کلید خصوصی یک رشته متنی محرمانه و به صورت ترکیبی از حروف و اعداد است، که برای ارسال بیت کوین به کیف پول دیگر و یا خرج کردن بیت کوین ها و بطور کلی دسترسی به داراییهای موجود در کیف پول بکار میرود. همانطور که میدانید در بلاک چین، اطلاعات هویتی ثبت نمیشود بنابراین شبکه بیت کوین و دیگر ارزهای دیجیتال، با استفاده از کلید خصوصی تشخیص میدهد که شما مالک داراییهای داخل یک کیف پول هستید.
کلید خصوصی یک عدد ۲۵۶ بیتی است که به محض اینکه شما یک کیف پول میسازید، به صورت تصادفی ایجاد می شود.
در واقع، کلید خصوصی با استفاده از توابع رمزنگاری (توابع هش)، از روی پسوردی که ما برای کیف پول خود انتخاب میکنیم، بدست میآید.
این توابع رمزنگاری که به آنها توابع هش نیز میگویند، ورودیهای مختلف (با تعداد کاراکترهای مختلف) را گرفته و خروجیهایی با طول ثابت (۲۵۶ بیتی) تولید میکنند.
از این رو اگر پسوردی که برای کیف پول خود انتخاب میکنیم، ساده و قابل حدس باشد، احتمال حدس زدن آن توسط هکرها افزایش مییابد.
نمونه ای از یک کلید خصوصی بیت کوین را میتوان در زیر دید.
KxhgeYuESuJKAsot۲ovQLjuxcTJMF۹Hbs۲cxdmmx۱jy۲cqTk۳۱on
باتوجه به اینکه کیف پول های مختلف از توابع رمزنگاری متفاوتی استفاده میکنند، فرمت کلید خصوصی ایجاد شده در کیف پول های مختلف میتواند باهم فرق داشته باشد.
اگر کلید خصوصی خود را نداشته باشید، میتوان گفت که شما صاحب بیتکوینهای خود نیستید.
کلید خصوصی شما فقط و فقط باید پیش خودتان بماند، زیرا اطلاع یک نفر دیگر از آن برابر با دادن بیت کوین هایتان به اوست.
علاوه بر این، لازم است از کلید خصوصی خود نسخه پشتیبانی تهیه کنیم و آن را در جای امنی نگهداری کنیم، زیرا اگر موبایل یا لپتاپ خود را گم کنیم و یا به هر نحوی نتوانیم به کیفپولمان دسترسی داشته باشیم، بدون داشتن کلید خصوصی یا عبارت بازیابی (که مرتبط با کلید خصوصی هستند) داراییهایمان قابل بازیابی نیست و برای همیشه از دستمان خواهند رفت.
کلید عمومی (Public Key) چیست؟
کلید عمومی نیز یک رشته ترکیبی از حروف و اعداد است که با استفاده از توابع ریاضی رمزنگاری از کلید خصوصی بدست میآید.
با وجود اینکه کلید عمومی با استفاده از یک سری توابع رمزنگاری از روی کلید خصوصی بدست میآید، اما پیدا کردن کلید خصوصی از روی کلید عمومی، با استفاده از مهندسی معکوس، غیرممکن است.
نمونه ای از کلید عمومی بیت کوین را میتوان در زیر دید:
۱JrPhXTtLTmSywD۲۸znDpPdxJ۵dqWr۳GMp
باتوجه به اینکه کیف پول های مختلف از توابع رمزنگاری متفاوتی استفاده میکنند، فرمت کلید عمومی ایجاد شده در کیف پول های مختلف میتواند باهم فرق داشته باشد.
نحوه دسترسی به کلید عمومی هر توکن در کیف پول Atomic که یکی از کیفپولهای محبوبی ست که نسخه اندروید، iOS، ویندور و لینوکس آن موجود است، را باهم بررسی میکنیم:
هنگامی که کیف پول را بر روی لپتاپ یا گوشی موبایل خود باز میکنید، اولین صفحهای که با آن مواجه میشوید به صورت زیر است، که در آن کلید عمومی مربوط به هر توکن روبروی آن نوشته شده است:
هر گاه کسی بخواهد برای ما یکی از ارزهای دیجیتال را ارسال کند، باید کلید یا آدرس عمومی که در اینجا نشان داده شده را برایش ارسال کنیم.
دقیقا مانند زمانی که کسی میخواهد پولی برای ما ارسال کند و ما شماره کارت بانکی خود را برای او میفرستیم.
تفاوت کلید عمومی و آدرس
اگرچه در کیف پول های زیادی مانند Atomic، آدرس عمومی و کلید عمومی یکسان نشان داده شدهاند، اما در واقعیت این دو باهم فرق دارند و روند آن به این صورت است که در ابتدا یک کلید خصوصی به صورت تصادفی ایجاد میشود.
کلید عمومی با استفاده از توابع رمزنگاری از روی کلید خصوصی ایجاد میشود و آدرس نیز از روی کلید عمومی و با استفاده از توابع رمزنگاری بدست میآید.
مهمترین ویژگی این توابع رمزنگاری که به آنها توابع هش (Hash) نیز میگویند این است که یک طرفه هستند، یعنی با داشتن خروجی تابع نمیتوان ورودی آن را پیدا کرد.
یعنی به هیچ عنوان نمیتوان با داشتن کلید عمومی به کلید خصوصی رسید و همچنین با داشتن آدرس به کلید عمومی دست یافت.
بر اساس اینکه برای ایجاد آدرس بیت کوین از کدامیک از توابع رمزنگاری استفاده شده، بیت کوین میتوان سه نوع آدرس داشته باشد:
آدرسی که با ۱ شروع میشود که آدرسهای قدیمی بیت کوین هستند:
۱BvBMSEYstWetqTFn۵Au۴m۴GFg۷xJaNVN۲
آدرسی که با ۳ شروع میشود که آدرسهای جدید بیت کوین هستند:
۳J۹۸t۱WpEZ۷۳CNmQviecrnyiWrnqRhWNLy
و آدرسی که با bc1 شروع میشود که مربوط به راهحلهایی مانند سگویت هستند. در استفاده از این نوع آدرس دقت کنید زیرا بسیاری از کسب و کارها و صرافیها آن را پشتیبانی نمیکنند:
bc۱qar۰srrr۷xfkvy۵l۶۴۳lydnw۹re۵۹gtzzwf۵mdq
کلید خصوصی بیت کوین چه کاربردی دارد؟
کلیدهای خصوصی بیت کوین برای انجام تراکنشهای غیرقابل برگشت استفاده می شود.
هنگامی که از کلیدهای خصوصی برای ارسال بیت کوین استفاده میکنیم، این غیرقابل بازگشت بودن، توسط امضاهای دیجیتالی که به هر تراکنش مرتبط می شود، تضمین میشود.
این امضاهای دیجیتالی، هرچند که توسط کلیدهای خصوصی یکسانی ایجاد میشوند، اما برای هر تراکنش منحصر به فرد هستند.
این ویژگی باعث می شود امکان کپی کردن و تقلب در آنها غیرممکن باشد. کاربران میتوانند با اطمینان خاطر، بارها و بارها از یک کلید خصوصی استفاده کنند.
علاوه بر این، این امضاهای دیجیتال، توسط توابع ریاضی به آدرسهای بیت کوین (کلیدهای عمومی) مرتبط میشوند. این ارتباط ریاضی، به تایید اینکه فقط دارندگان حسابی که میخواهند بیت کوین انتقال دهند، صاحبان امضا هستند، کمک میکند.
بازیابی کیف پول با استفاده از Seed
اگر موبایل یا کامپیوتر ما گم و یا خراب شود و یا به هر دلیلی نتوانیم به آنها دسترسی پیدا کنیم، با داشتن سید (Seed) یا همان عبارات بازیابی مربوط به کیف پول خود، که معمولا یک ترکیب ۱۲ تایی از کلمات مختلف است، با نصب برنامه کیف پول بر روی هر موبایل یا کامپیوتر دیگر و وارد کردن Seed مربوط به آن، میتوانیم به کیف پول خود، با تمام داراییهایی که در آن داشتیم، دسترسی پیدا کنیم.
برای روشنتر شدن موضوع به عنوان نمونه میتوانیم مراحل بازیابی کیف پول با استفاده از Seed را در کیف پول اتمیک (Atomic) با هم بررسی کنیم:
ابتدا به Setting کیف پول رفته سپس در قسمت بالای صفحه Private keys را انتخاب کرده و با وارد کردن پسوردی که در ابتدای ساخت کیف پول خودمان انتخاب کردیم، بر روی Show Private Keys کلیک میکنیم.
با کلیک بر روی این گزینه صفحهای به صورت زیر نشان داده میشود:
همانطور که در شکل بالا معلوم است، اولین گزینه نمایش داده شده در این صفحه با نام Atomic، همان Seed کیف پول شماست که فقط با استفاده از آن میتوانید کیف پول خود را در هر دستگاه دیگری بازیابی کنید. seed کیف پول اتمیک ترکیبی از ۱۲ کلمه است که برای کیف پول نشان داده شده در بالا به صورت زیر است:
tray position bicycle solar divorce start tattoo blouse coral refuse help lab
حال میخواهیم کیف پول را در یک دستگاه دیگر و با داشتن seed آن بازیابی کنیم:
پس از نصب برنامه کیف پول اتمیک بر روی دستگاهی دیگر و باز کردن آن با صفحه زیر مواجه میشویم.
برای اینکه بتوانیم کیف پولی را که قبلا داشتیم بازیابی کنیم، باید بر روی گزینه Restore From Backup کلیک کنیم.
سپس در صفحه باز شده به صورت زیر ۱۲ کلمه seed کیف پول خود را که قبلا آن را در یک جای امن یادداشت کرده بودیم، وارد کنیم:
با کلیک بر روی دکمه Restore با صفحه زیر روبرو میشویم که در آن از ما خواسته میشود پسوردی را برای کیف پولمان انتخاب کرده و آن را، دو بار وارد کنیم:
با زدن دکمه Set Password میبینیم که کیف پولمان با تمام داراییهایش بر روی دستگاه دیگری بازیابی شده و در دسترس قرار گرفت.
پس فقط با داشتن Seed کیف پول و با نصب برنامه کیف پول میتوان از هر دستگاهی به کیف پول و داراییهایمان دسترسی پیدا کنیم.
بازیابی دارایی ها با استفاده از کلید خصوصی
بیت کوین و یا هر ارز دیجیتالی که آن را در یکی از کیف پولهای ارز دیجیتال نگه داشتهایم، فقط بر روی گوشی یا لپ تاپ ما ذخیره نشدهاند. آنها در یک بلاک چین ذخیره شدهاند و دسترسی به آنها از طریق هر پلتفرمی که بتواند به این بلاک چین متصل شود، امکان پذیر است.
این به این معناست که اگر موبایل یا لپ تاپ ما خراب شود، گم شود و یا به هر دلیل دیگری قابل استفاده نباشد، میتوانیم با استفاده از هر کیف پول دیگری به بلاک چین متصل شده و با وارد کردن کلیدهای خصوصی خود در آن کیف پول، به داراییهای خود دسترسی پیدا کنیم.
برای درک بهتر این موضوع، یک ارز دیجیتال را با استفاده از کلید خصوصی آن در کیف پول دیگری بازیابی میکنیم. در این مثال از کیف پول اتمیک برای دریافت کلید خصوصی استفاده کردهایم:
نکته: کیف پولهای معتبر ارز دیجیتال (مخصوصا نسخههای دسکتاپ و تحت وب) معمولا اجازه دریافت کلید خصوصی را به شما میدهند. بعضی از کیف پولها هم فقط عبارات یا فایل بازیابی را ارائه میکنند.
برای دسترسی به کلید خصوصی مربوط به هر ارز در کیف پول اتمیک، مانند تصویر زیر، ابتدا به قسمت Setting رفته و سپس در بالای صفحه بر روی قسمت Private Keys کلیک میکنیم و با وارد کردن پسوردی که در ابتدا برای کیف پول خود انتخاب کردیم، بر روی گزینه Show Private Keys کلیک میکنیم:
سپس با صفحهای به شکل زیر روبرو میشویم که در آن کلیدهای عمومی و خصوصی تمام ارزهایی که توسط کیف پول Atomic پشتیبانی میشوند، قابل دیدن هستند.
یادمان باشد این کلیدهای خصوصی تنها مدرکی هستند که میتوانند ثابت کنند ما صاحب آن دارایی هستیم، پس باید آنها را در یک جای خیلی امن ذخیره کرده و نگهداری کنیم.
سادهترین روش، یادداشت کردن کلیدهای خصوصی بر روی یک کاغذ و نگهداری آن در گاوصندوق و یا هرجای امن دیگری که به نظرتان میرسد، است.
اما در این روش، امکان گم شدن و از بین رفتن کاغذ وجود دارد.
روش بهتری که میتوان برای نگهداری امن کلیدهای خصوصی از آن به جای یادداشت کردن استفاده کرد، این است که میتوان آن را در یک فایل ذخیره کرد و سپس با فشردهسازی فایل و قرار دادن پسورد بر روی فایل، آن را در یکی از فضاهای ابری مانند گوگل کلود (Google Cloud) ذخیره کنیم.
ذخیرهسازی یک فایل با پسورد در فضای ابری هم امنیت خوبی دارد و هم در هر شرایطی بدون نگرانی میتوانیم به آن دسترسی داشته باشیم.
حالا اگر به هر دلیلی کیفپول Atomic دچار مشکل شود و قادر به ارائه سرویس نباشد و ما بخواهیم از طریق پلتفرم دیگری به داراییهای خود دسترسی پیدا کنیم، با داشتن کلید خصوصی مربوط به داراییهایمان این کار امکانپذیر است.
انواع کیفپولهای معروفی که قابلیت بازیابی داراییها در آنها با استفاده از کلید خصوصی امکانپذیر است، به شرح زیر هستند:
[mks_button size=”large” title=”دانلود کیف پول الکتروم” style=”squared” url=”https://electrum.org/#download” target=”_blank” bg_color=”#113344″ txt_color=”#FFFFFF” icon=”” icon_type=”” nofollow=”0″]
کیفپول بلاک چین (Blockchain.info)
[mks_button size=”large” title=”ساخت کیف پول بلاک چین” style=”squared” url=”https://blockchain.info/wallet/#/signup” target=”_blank” bg_color=”#113344″ txt_color=”#FFFFFF” icon=”” icon_type=”” nofollow=”0″]
[mks_button size=”large” title=”دانلود کیف پول Mycelium نسخه اندروید” style=”squared” url=”https://wallet.mycelium.com/contact.html” target=”_blank” bg_color=”#113344″ txt_color=”#FFFFFF” icon=”” icon_type=”” nofollow=”0″]
حالا نحوه بازیابی بیت کوین ها را از طریق کیف پول الکتروم با هم بررسی میکنیم:
پس از نصب برنامه کیف پول الکتروم، با اجرای برنامه با صفحه زیر مواجه میشویم.
از آنجایی که ما میخواهیم با وارد کردن کلید کیف پول خود، بیت کوین هایی را که در کیف پول داشتیم، در اینجا به آنها دسترسی پیدا کنیم، گزینه چهارم، یعنی Import Bitcoin Addresses or Private keys را انتخاب میکنیم.
با انتخاب این گزینه با صفحه زیر روبرو میشویم:
در کادر سفید بالا میتوانیم کلید خصوصی مربوط به بیت کوین خود را وارد کنیم و سپس بر روی دکمه Next کلیک کنیم.
به این ترتیب تمام بیت کوین هایی که در کیف پول خود داشتیم، در اینجا نمایش داده خواهد شد.
اگر به هر دو کیف پول دسترسی داشته باشیم، بیت کوین های ما در هر دو کیف پول نمایش داده شده و امکان خرج کردن آنها از هر دو کیف پول امکانپذیر است.
این کیف پولها در واقع به عنوان واسطی که ما را به بلاک چین متصل میکنند، عمل میکنند.
بهترین راه برای نگهداری کلید خصوصی چیست؟
این کلیدهای دیجیتالی، تنها مدرکی هستند که میتوانند ثابت کنند شما صاحب بیت کوین یا هر ارز دیجیتال دیگری هستید، در نتیجه نگهداری آنها به یک روش کاملا امن بسیار مهم است.
در ادامه میزان امنیت انواع کیف پول ها را با توجه به اینکه آیا کلیدهای خصوصی در جایی خارج از دسترس صاحبان کیف پول ذخیره میشود یا خیر، بررسی میکنیم:
ذخیره کلید خصوصی در کیف پول های کاغذی
در کیف پولهای کاغذی، کلید خصوصی به صورت تصادفی انتخاب شده و صاحب آن، کلید خصوصی خود را بر روی یک کاغذ یادداشت میکند.
از آنجایی که در این روش کلید خصوصی در هیچ جایی از فضای آنلاین ذخیره نمیشود و فقط بر روی یک کاغذ و دست صاحب آن قرار دارد، امکان هک شدن آن وجود ندارد.
فقط در صورتی که صاحب کیف پول، کلید خصوصی خود را به هر دلیلی گم کند، دیگر به هیچ وجه به داراییهای خود دسترسی نخواهد داشت.
بنابراین هنگام استفاده از این کیف پول ها، باید کلید خصوصی را بر روی یک کاغذ نوشته و آن را در یک مکان بسیار امن نگهداری کنیم.
اما از آنجایی که این کلیدهای خصوصی تصادفی توسط وبسایتهای آنلاین ایجاد میشود، این سایتهای گاهی با آسیبپذیریهایی روبرو میشوند. از جمله اینکه چندی پیش معلوم شد یکی از سایتهای تولید کننده کلید خصوصی برای کیف پول های کاغذی، کلیدهای خصوصی یکسانی را در برخی موراد تولید میکرده است.
نرم افزارهای ساخت کیف پول کاغذی بعد از لود شدن کامل توسط مرورگر، نیازی به اینترنت نخواهند داشت بنابراین بعد از بارگزاری کامل صفحه ساخت کیف پول کاغذی، اینترنت خود را قطع کنید تا از عدم دسترسی فرد دیگری به کلید خصوصی شما کاملا اطمینان حاصل کنید.
ذخیره کلید خصوصی در کیف پول های سخت افزاری
در کیف پولهای سخت افزاری مثل کیف پول لجرنانو، پس از راهاندازی کیف پول توسط شما و انتخاب و ایجاد پسورد، کلیدهای عمومی و خصوصی ایجاد میشوند.
کلیدهای خصوصی در کیف پول های سخت افزاری در حافظه میکروکنترلر کیف پول ذخیره شده و برای همیشه در آنجا میمانند و تحت تاثیر هیچ ویروس و یا بدافزاری قرار نمیگیرند.
ذخیره کلید خصوصی در کیف پول های موبایلی و دسکتاپ
بعضی از کیفپولهای موبایلی، تحت وب و حتی دسکتاپ، کلیدهای خصوصی شما را در سرورهای خودشان ذخیره میکنند.
آنها این کلیدهای خصوصی را به صورتی رمزنگاری میکنند که فقط صاحب آن قادر به رمزگشایی آن باشد.
با وجود رمزنگاری کلیدهای خصوصی که توسط این سرویسها انجام میشود، از آنجایی که کلیدهای خصوصی شما توسط فرد دیگری نگهداری میشود، اگر هک یا دزدی در این سرویسها اتفاق بیفتد، داراییهای شما از بین میروند.
نگهداری ارزهای دیجیتال در هر یک از کیف پول های گرم (کیف پول های موبایلی، دسکتاپ) و کیف پول های سرد (کاغذی و سخت افزاری) هرچند با چالش ها و خطراتی همراه است، اما در تمام این کیف پول ها صاحب دارایی به کلید خصوصی خود دسترسی دارد.
اما هنگامی که دارایی های خود را در صرافیهای ارز دیجیتال نگهداری میکنیم، علاوه بر اینکه خطر هک شدن آن به دلیل آنلاین بودن پلتفرم وجود دارد، بابت دارایی های ذخیره شده هیچ کلید خصوصیای برای شما ایجاد نمیشود.
زیرا اتفاقی که در واقعیت میافتد این است که شما داراییهایتان را به کیف پول صرافی واریز کردهاید، و از آنجایی که دارایی هزاران کاربر ممکن است در یک کیف پول باشد، صرافی نمیتواند کلید خصوصی آن را در اختیار هیچ یک از کاربران قرار دهد.
بنابراین نگهداری داراییهای دیجیتال در صرافیها، تنها روشی ست که در آن شما به کلید خصوصیای که بتوانید مالکیت خود را ثابت کنید و یا داراییهای خود را در کیف پول دیگری بازیابی کنید، وجود ندارد.
جمعبندی
همیشه یادتان باشد که کلید خصوصی تنها مدرکی ست که میتواند ثابت کند شما صاحب یک ارز دیجیتال هستید. کلید خصوصی مساوی است با تمام داراییهای شما.
اگر قصد خرید و فروش ارزهای دیجیتال ندارید و فقط می خواهید بیت کوین یا هر ارز دیجیتال دیگر را با هدف بلند مدت نگه دارید، از کیف پول های سرد مانند کیف پول کاغذی و سخت افزاری که قابلیت نگهداری آفلاین کلید خصوصی در آنها وجود دارد، استفاده کنید.
اما اگر به هر دلیلی ترجیح دادید از کیف پول های گرم، مانند کیف پول های موبایلی و دسکتاپ استفاده کنید، حتما در ابتدای راهاندازی seed آن را در جایی امن یادداشت کنید، تا اگر به هر دلیلی به موبایل یا رایانه خود دسترسی نداشتید، قابلیت بازیابی داراییهایتان وجود داشته باشد.
علاوه بر seed یا همان عبارات بازیابی، کلید خصوصی مربوط به هر ارز دیجیتالی را که دارید در جایی امن نزد خود نگه دارید، که در صورت بروز مشکل بتوانید با استفاده از آن، داراییهای خود را بازیابی کرده و آن را برداشت کنید.
برای نگهداری کلیدهای خصوصی میتوانید هم آن را در یک کاغذ یادداشت کرده و در یک جای امن مانند گاوصندوق نگهداری کنید و هم اینکه آن را در یک فایل ذخیره کرده و پس از فشردهسازی فایل و قراردادن پسورد بر روی فایل، آن را در یکی از فضاهای ابری مانند گوگل کلود ذخیره کنید.