حامد ثقفی
ارز دیجیتال

کلید خصوصی و عمومی چیست؟ به‌همراه نکات طلایی امنیت کیف پول

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

در همین حین, دوست پیام به او می‌گوید: «مواظب کلید خصوصی‌ات باش! هرگز آن را در اختیار کسی نگذار، وگرنه ممکن است دارایی‌ات را از دست بدهی.» این هشدار پیام را بیشتر کنجکاو می‌کند. مگر یک “کلید” چه کار می‌کند که تا این حد مهم است؟ آیا واقعاً شبیه کلید صندوقچه گنج است که اگر دست دزد بیفتد، گنج را می‌برد؟ پس این کلید خصوصی و در کنارش کلید عمومی دقیقاً چه هستند و چه نقشی در دنیای رمزارزها دارند؟ در ادامه، داستان پیام و پاسخ به این پرسش‌ها را به زبانی ساده و خودمانی دنبال می‌کنیم.

کلید خصوصی و کلید عمومی چیست؟

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

  • کلید عمومی (Public Key) یک رشته متن بلند (متشکل از ترکیبی از حروف و اعداد) است که می‌توانید آن را با خیال راحت در اختیار همه قرار دهید. این رشته در واقع مانند شماره حساب بانکی یا آدرس کیف پول شماست. دیگران با داشتن این کلید می‌توانند برای شما رمزارز ارسال کنند. کلید عمومی حاصل انجام محاسبات رمزنگاری روی کلید خصوصی است و برای دریافت ارز یا رمزگذاری اطلاعات استفاده می‌شود.
  • کلید خصوصی (Private Key) یک رشته متن محرمانه و بسیار مهم است که فقط باید در اختیار خودتان باشد. کلید خصوصی در حقیقت حکم “رمز عبور” کیف پول دیجیتال شما را دارد. هر کسی این رشته را در اختیار داشته باشد، انگار کل کیف پول شما و دارایی داخل آن را در اختیار دارد. از کلید خصوصی برای امضای دیجیتال تراکنش‌ها و تایید ارسال ارز استفاده می‌شود؛ یعنی هر بار که می‌خواهید از کیف پول خود ارز انتقال دهید، نرم‌افزار کیف پول با استفاده از کلید خصوصی شما یک امضای دیجیتال می‌سازد تا شبکه‌ی بلاک‌چین بفهمد این تراکنش توسط مالک واقعی آن آدرس تایید شده است.

کلید خصوصی و کلید عمومی چیست؟

تفاوت کلید خصوصی و عمومی

هر کیف پول ارز دیجیتال یک جفت کلید عمومی و خصوصی دارد که به هم مرتبط‌اند اما وظایف متفاوتی دارند. در جدول زیر به مقایسه خلاصه‌ای بین این دو کلید می‌پردازیم:

وجه تمایز

کلید خصوصی

کلید عمومی

محرمانگی

محرمانه است و فقط مالک کیف پول باید آن را بداند.

عمومی است و می‌تواند بدون مشکل در اختیار همه قرار گیرد.

کاربرد

برای امضای تراکنش‌ها و ارسال ارز از کیف پول (اثبات مالکیت و اجازه‌ی برداشت از آدرس) استفاده می‌شود.

برای دریافت ارز به کیف پول (دریافت وجه) و اشتراک‌گذاری به عنوان آدرس کیف پول استفاده می‌شود.

ارتباط با یکدیگر

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

از روی کلید خصوصی تولید می‌شود و بدون کلید خصوصی نمی‌توان آن را ایجاد کرد. (یک‌طرفه بودن)

خطر افشا

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

افشای آن خطری برای دارایی ندارد و برای اطلاع‌رسانی آدرس کیف پول به دیگران ضروری است.

مثال (تشبیه)

مانند رمز کارت بانکی یا کلید گاوصندوق؛ نباید آن را در اختیار دیگران گذاشت.

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

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

کاربرد کلیدهای عمومی و خصوصی در دنیای رمزارزها

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

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

کاربرد کلیدهای عمومی و خصوصی در دنیای رمزارزها

در اغلب کیف پول‌های امروزی، کاربران به جای مواجهه مستقیم با رشته طولانی کلید خصوصی، یک عبارت بازیابی کیف پول متشکل از ۱۲ یا ۲۴ کلمه دریافت می‌کنند. این عبارت همان نسخه‌ی پشتیبان از کلیدهای خصوصی شماست. به زبان ساده، آن ۱۲ یا ۲۴ کلمه در کنار هم معادل کلید خصوصی شما هستند و هر کس آنها را داشته باشد، به تمام دارایی‌های شما دسترسی خواهد داشت. پس اهمیت حفاظت از عبارت بازیابی کمتر از کلید خصوصی نیست؛ در حقیقت عبارت بازیابی همان کلید خصوصی به زبان انسان است!

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

چگونه از کلید خصوصی محافظت کنیم؟

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

  1. هرگز کلید خصوصی خود را با دیگران به اشتراک نگذارید: تحت هیچ شرایطی و به هیچ دلیلی نباید کسی غیر از شما به کلید خصوصی‌تان دسترسی داشته باشد. حتی اگر فردی با وعده‌ی کمک یا هدیه از شما خواست آن را برایش بفرستید، شک نکنید که قصد سرقت دارایی شما را دارد. (بسیاری از کلاهبرداران با ترفندهای مختلف سعی می‌کنند کاربران تازه‌کار را فریب دهند تا کلید خصوصی یا عبارت بازیابی‌شان را در اختیارشان بگذارند.)
  2. از کلید خصوصی خود نسخه‌ی پشتیبان (بک‌آپ) تهیه کنید: اگر کیف پول شما عبارت بازیابی ۱۲ یا ۲۴ کلمه‌ای به شما داده، حتماً آن را روی کاغذ یادداشت کرده و در جای بسیار امن نگهداری کنید. می‌توانید آن را در گاوصندوق شخصی خود قرار دهید یا حتی در صورت امکان چند نسخه در مکان‌های مطمئن مختلف نگهداری کنید. به هیچ عنوان تنها به عکس گرفتن از آن یا نگهداری در کامپیوتر و موبایل اکتفا نکنید؛ چرا که فایل‌های دیجیتال ممکن است خراب شوند یا به‌دست هکرها بیفتند.
  3. کلیدهای خصوصی را به صورت آفلاین ذخیره کنید:بهترین روش نگهداری طولانی‌مدت رمزارزها، استفاده از کیف پول سخت‌افزاری یا کیف پول کاغذی است. کیف پول سخت‌افزاری شبیه یک فلش USB است که کلیدهای خصوصی شما را به صورت رمزنگاری‌شده در خود نگه می‌دارد و هنگام استفاده با وارد کردن یک پین‌کد یا رمز، امکان انجام تراکنش را می‌دهد. چون این دستگاه‌ها آفلاین هستند و فقط زمان استفاده به اینترنت متصل می‌شوند، احتمال هک شدنشان بسیار کمتر است. کیف پول کاغذی هم به معنی نوشتن یا چاپ کلید خصوصی روی کاغذ و حذف هرگونه نسخه‌ی دیجیتال آن است.
  4. از گذرواژه‌های قوی و ابزارهای امنیتی بهره ببرید: اکثر کیف پول‌های نرم‌افزاری (روی موبایل یا کامپیوتر) به شما امکان می‌دهند برای ورود به برنامه یا دسترسی به کلیدها یک رمز عبور تعیین کنید. حتماً یک رمز قوی برای برنامه خود انتخاب کنید تا اگر دستگاهتان دست افراد غلط افتاد، نتوانند به راحتی به کلیدهای خصوصی‌تان دست یابند. همچنین از قابلیت‌های امنیتی مثل اثر انگشت، تشخیص چهره یا احراز هویت دوعاملی (2FA) – در صورت وجود – استفاده کنید.
  5. مراقب فیشینگ و بدافزارها باشید: روی لینک‌های ناشناس که ممکن است برای سرقت اطلاعات کیف پول شما طراحی شده باشند کلیک نکنید. برنامه کیف پول خود را همیشه از منابع رسمی و معتبر دانلود کنید تا مبادا نسخه‌ی جعلی به شما بدافزار بدهد. یک بدافزار می‌تواند کلید خصوصی ذخیره‌شده در کامپیوتر یا موبایل شما را سرقت کرده و برای هکر ارسال کند. بنابراین داشتن آنتی‌ویروس به‌روز، استفاده از رمزعبورهای پیچیده و هوشیاری در برابر ایمیل‌ها و سایت‌های مشکوک، از ارکان اصلی حفظ امنیت کلید خصوصی هستند.
  6. در صورت شک، سریعاً دارایی را منتقل کنید: اگر حتی کوچک‌ترین احتمالی می‌دهید که کلید خصوصی یا عبارت بازیابی شما لو رفته است (مثلاً احساس می‌کنید شخصی آن را دیده یا بدافزاری ممکن است آن را دزدیده باشد), در اسرع وقت دارایی‌های داخل آن کیف پول را به یک کیف پول جدید (با کلیدهای تازه) منتقل کنید. متاسفانه اگر کلید خصوصی شما به دست افراد سودجو بیفتد، ممکن است در چند ثانیه کل موجودی شما را خالی کنند، پس سرعت عمل مهم است.

چگونه از کلید خصوصی محافظت کنیم؟

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

صرافی ارز دیجیتال یا کیف پول شخصی؟ تکلیف کلیدها چه می‌شود؟

ممکن است پیام با خود فکر کند که نگهداری از این کلیدها چقدر پرمسئولیت و دشوار به نظر می‌رسد. آیا راه ساده‌تری وجود ندارد؟ مثلاً اگر پیام به جای کیف پول شخصی، دارایی‌اش را در حساب صرافی نگهداری کند، تکلیف کلید خصوصی چه می‌شود؟

در پلتفرم‌های صرافی ارز دیجیتال (نظیر بایننس یا نوبیتکس), کاربران برای خرید و فروش رمزارزها یک حساب کاربری ایجاد می‌کنند و دارایی‌هایشان در کیف پول‌های صرافی نگهداری می‌شود. در این حالت، صرافی عملاً به نیابت از شما دارایی را نگه می‌دارد و طبیعتاً کلیدهای خصوصی آن کیف پول‌ها نیز در اختیار صرافی است، نه شما. به عبارت دیگر، شما به صورت غیرمستقیم صاحب رمزارز هستید؛ چون برای خرج کردن یا انتقال آن‌ها باید از صرافی درخواست کنید (مثل برداشت از حساب). شعار معروفی در این باره وجود دارد: «اگر کلیدها دست تو نباشه، کوین‌هات هم مال تو نیست!» (Not your keys, not your coins). یعنی اگر کنترل کلید خصوصی را شخصاً در اختیار نداری، در واقع کنترل واقعی دارایی‌ات را هم نداری.

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

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

کلید خصوصی و عمومی در بازار بورس

شاید برای پیام این سوال پیش بیاید که “در بازار بورس و سهام هم چیزی شبیه این کلیدها داریم؟” پاسخ کوتاه این است: نه برای کاربران عادی. بازار بورس سنتی (مثلاً خرید و فروش سهام شرکت‌ها) سازوکار متفاوتی دارد و به جای کیف پول و کلید رمزنگاری، از سیستم‌های متمرکز با واسطه‌ی کارگزاری‌ها استفاده می‌کند. شما برای معامله سهام به یک حساب کاربری در یک کارگزاری بورس نیاز دارید و یک شناسه‌ی منحصر‌به‌فرد به نام کد بورسی دریافت می‌کنید. این کد بورسی در واقع نقش شناسه‌ی شما را در بازار بورس بازی می‌کند و ارتباطی با مفاهیم کلید خصوصی/عمومی ندارد.

زمانی که در بورس معامله می‌کنید، تمام تسویه حساب‌ها و نگهداری سوابق سهام شما توسط شرکت سپرده‌گذاری مرکزی و کارگزاری‌ها انجام می‌شود. امنیت سرمایه‌ی شما در بورس بیشتر به مسائل دیگری مثل حفاظت از نام کاربری و رمز عبور سامانه معاملاتی، یا عدم افشای اطلاعات هویتی و کارتی برمی‌گردد. بنابراین دانش “کلید خصوصی و عمومی” مستقیماً در تجربه‌ی یک سهامدار بورس کاربردی ندارد.

البته تکنولوژی بلاک‌چین راهش را به دنیای بورس نیز باز کرده و در آینده شاید مفاهیم کلیدهای رمزنگاری در معاملات انواع دارایی‌ها رایج شود (برای نمونه، در حوزه‌ی اوراق بهادار دیجیتال یا توکنایز کردن سهام شرکت‌ها این بحث وجود دارد). اما در حال حاضر اگر قصد سرمایه‌گذاری در بورس را دارید، دغدغه‌ی شما گرفتن یک کد بورسی و یادگیری روش معامله از طریق کارگزاری است.

خلاصه اینکه در بورس سنتی، شما لازم نیست نگران مدیریت کلیدهای خصوصی باشید؛ همان نام کاربری و رمز ورود به پنل کارگزاری حکم کلید شما را دارد که البته آن را هم باید از دست دیگران محفوظ نگه دارید!

جمع‌بندی و دعوت به آموزش بیشتر

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

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

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

سوالات متداول