به ترم و جلسۀ جدیدی از دوره آموزش ارزهای دیجیتالی خوش آمدید. در این ترم، بر آن شدیم تا ببینیم، «کیف پول بیتکوین چیست؟» و بهطور تخصصی، به توضیح آن بپردازیم. با آکادمی کالج پیپس، بزرگترین مرجع تخصصی آموزش بازارهای مالی، همراه باشید.
[ez-toc]
برای ارسال یا دریافت بیتکوین، شما نیاز به استفاده از یک «کیف پول بیتکوین» دارید. اما برخلاف کیف پول در دنیای واقعی، که در واقع پول نقد (و کارتهای بانکی و اعتباری) شما را نگه میدارد، یک کیف پول بیتکوین، در واقع بیتکوینهای شما را «نگه نمیدارد».
در عوض، یک کیف پول بیتکوین یک دستگاه سختافزاری یا برنامۀ نرمافزاری است که با بلاکچین بیتکوین تعامل دارد و اطلاعات لازم برای ایجاد تراکنشهای بیتکوین را فراهم میکند. یکی از این اطلاعات بهعنوان «آدرس کیف پول» یا بهسادگی «آدرس» شناخته میشود.
تراکنشهای بیتکوین میتوانند بهعنوان انتقال بیتکوینها از یک آدرس به آدرسی دیگر توصیف شوند.
برای مثال، فرض کنید، محمد میخواهد مقداری بیتکوین برای رضا بفرستد. هر کدام از آنها یک کیف پول بیتکوین خواهند داشت که یک «آدرس» برای آنها ایجاد میکند. محمد، آدرس بیتکوین رضا را ارائه میدهد و سپس کیف پولش درخواست مجوز برای تراکنش را خواهد کرد. آنگاه بیتکوینها از آدرس محمد به آدرس رضا «منتقل» خواهند شد و این «انتقال» در بلاک چین بیت کوین ثبت خواهد شد.
ظاهراً ساده بهنظر میرسد، اما در پشت صحنه، اتفاقات زیادی در حال رخ دادن است.
در این درس، قرار است دقیقاً یاد بگیریم که یک کیف پول رمزنگاری شده چیست. ما فقط دربارۀ یک کیف پول، (کیف پول بیتکوین) صحبت خواهیم کرد، اما همۀ کیف پولهای رمزنگاری شده نیز، بهروشی مشابه کار میکنند.
کیف پول بیتکوین چیست؟
کیف پولهای بیتکوین، کاملاً با کیف پولهای فیزیکی متفاوت هستند. به جای نگهداری پول، کیف پولهای بیت کوین چیزی به نام کلیدها را نگهداری میکنند و یکی از این کلیدها که به «کلید خصوصی (Private Key)» معروف است، چیزی است که به شما اجازه میدهد بیت کوینهای خود را به آدرس دیگری «منتقل» کنید.
با شروع استفاده از بیت کوین و سایر ارزهای رمزنگاریشده، یادگیری نحوۀ کار کیف پولها اهمیت دارد. وقتی با کیف پولهای رمزنگاری شده سروکار دارید، با اصطلاحاتی مانند «کلید خصوصی»، «کلید عمومی»، «آدرس» و «عبارت بازیابی» روبهرو خواهید شد.
نرمافزار کیف پول اغلب سعی میکند شما را از نیاز به درک این اصطلاحات و نحوۀ کارکرد آنها بینیاز کند؛ اما درک پایهای از مفاهیم کلیدی که زیرساخت کیف پولهای رمزنگاری شده را تشکیل میدهند، میتواند به شما کمک کند تا از اشتباهاتی که ممکن است باعث از دست دادن پولتان شود، جلوگیری کنید.
بیایید یاد بگیریم که این اصطلاحات کیف پول به چه معنا هستند و چگونه با هم کار میکنند.

کلید خصوصی، کلید عمومی، و آدرس چه هستند؟
برای ارسال و دریافت پول دیجیتالی، معمولاً به «شماره حساب» و «رمز عبور» نیاز دارید. در دنیای بیتکوین، این به «کلید عمومی» و «کلید خصوصی» معروف است. بیتکوین از یک «سیستم دو کلیدی» استفاده میکند که در آن کلید عمومی به شما امکان دریافت بیتکوین را میدهد، در حالی که کلید خصوصی برای ارسال بیتکوین لازم است. این دو کلید به شکل ریاضی به یکدیگر متصل هستند. «کلید خصوصی» یک شمارۀ مخصوص و منحصربهفرد است که فقط شما آن را میدانید. برای «امضا» تراکنشها استفاده میشود. این «امضاهای دیجیتال» برای ارسال بیت کوین لازم هستند. در مورد امضاهای دیجیتال در درس بعدی بهطور مفصل صحبت خواهیم کرد.
«کلید عمومی» یک شمارۀ بسیار طویل است؛ بنابراین نیاز به نسخۀ کوتاه شده از کلید عمومی حس میشود تا خواندن آن آسانتر شود. این «فرمت فشرده» یا نسخۀ کوتاه شده از کلید عمومی به آدرس معروف است. یک «آدرس بیتکوین»، یا به اختصار «آدرس»، یک رشته از 26-35 کاراکتر عددی یا حروف الفبا است که با عدد 1 یا 3 یا «bc» شروع میشود.
اکنون مثالی از آدرس برایتان میزنیم:
1AYJ2fXPABrS7RXqH2dfcAMwHAXk5Nrtoc
وقتی میخواهید بیت کوینها را برای دوستتان ارسال کنید، از او دربارۀ «آدرس بیت کوین» خودشان میپرسید. این آدرس میتواند با عموم به اشتراک گذاشته شود و هر کسی میتواند بیت کوینها را به آنها ارسال کند.
اما از سوی دیگر، کلید خصوصی همانطور که از نامش پیداست، باید خصوصی نگه داشته شود.
فرم کلید خصوصی میتواند به شکل زیر باشد:
L5eb3xFcPHSoSytWm77UVgC6vRk4pNrhjQMQNwfootvYnzZQLXJh
این یک مثال از یک رمز عبور است که به شما امکان اثبات مالکیت و هزینهکردن بیت کوینهای مرتبط با آدرس شما را میدهد؛ مشابه اینکه چگونه از یک رمز عبور برای دسترسی به حساب بانکی خود استفاده میکنید. شما نباید هیچگاه، تحت هیچ شرایطی، کلید(های) خصوصی خود را با فرد دیگری به اشتراک بگذارید. هیچکس، هرگز نباید کلید خصوصی شما را ببیند؛ زیرا شخصی که کلید خصوصی را میشناسد، کنترل موجودیها در یک آدرس کیف پول را در دست دارد. اگر کسی کلید خصوصی شما را دزدید، هیچ راهی برای اثبات اینکه بیت کوینها متعلق به شما هستند وجود ندارد.
اینها کلید خصوصی، کلید عمومی، و آدرس بودند؛ پس:
- کلید عمومی شما مانند «شماره حساب» شماست.
- آدرس شما نسخۀ کوتاهتری از شماره حساب شما است. این آدرس را به مردم میدهید تا بیت کوین به شما ارسال کنند.
- کلید خصوصی شما مانند «رمز عبور» شماست که مالکیت بیت کوینهای مرتبط با یک آدرس خاص را اثبات میکند.
فرستنده باید آدرس گیرنده را داشته باشد تا بتواند بیتکوین را به گیرنده ارسال کند. هرگاه یک بار بیتکوینها در آدرس گیرنده قرار گرفتند، او میتواند آنها را با استفاده از کلید خصوصی خود هزینه کند یا بردارد.
کلیدها و آدرسها از کجا میآیند؟
کلید خصوصی
عدد بلندیست که بهصورت تصادفی تولید میشود.
این عدد بلند با تبدیل آن به فرمت شانزدهگانه کوتاه شده است. در سیستم عددنگاری شانزدهگانه (Hexadecimal)، ۱۶ رقم ممکن برای نمایش اعداد استفاده میشود. ده رقم اول، ۰، ۱، ۲، ۳، ۴، ۵، ۶، ۷، ۸ و ۹ میباشند. شش رقم باقیمانده با A، B، C، D، E و F نمایش داده میشوند که به ترتیب، همان ۱۰، ۱۱، ۱۲، ۱۳، ۱۴ و ۱۵ هستند.
هر رقم شانزدهگانه، به جای ۱۰ مقدار معمول، میتواند ۱۶ مقدار مختلف را نشان دهد و این همان کلید خصوصی است. فقط یک عدد بزرگ تصادفی در فرمت شانزدهگانه، همین.
کلید خصوصی میتواند از هر عددی که بین ۱ و ۱۱۵۷۹۲۰۸۹۲۳۷۳۱۶۱۹۵۴۲۳۵۷۰۹۸۵۰۰۸۶۸۷۹۰۷۸۵۲۸۳۷۵۶۴۲۷۹۰۷۴۹۰۴۳۸۲۶۰۵۱۶۳۱۴۱۵۱۸۱۶۱۴۹۴۳۳۷ است، انتخاب شود. این دامنه بسیار بزرگی است و امکان ایجاد میلیونها کلید خصوصی مختلف را فراهم میکند.
کلید عمومی
کلید عمومی از کلید خصوصی شما مشتق میشود.
اما یک سؤال، آیا میتواند توسط دیگران دیده شود؟ آیا به این معنی نیست که افراد قادر خواهند بود کلید خصوصی من را ببینند؟!
خیر؛ هر چند کلید عمومی از کلید خصوصی به دست میآید، اما شما نمیتوانید بهصورت معکوس عمل کنید و سعی کنید کلید خصوصی را بفهمید. اما این موضوع پیچیده است. بگذارید بگوییم که یک الگوریتم، بر اساس چیزی به نام رمزنگاری منحنی کشیده (ECC)، مانع شما از فهمیدن کلید خصوصی میشود؛ حتی اگر کلید عمومی را بدانید.
بهطور معمول، کلید خصوصی شما توسط برخی از قوانین ریاضیاتی محافظت میشود.
یک کلید خصوصی و یک کلید عمومی بهطور ریاضی به یکدیگر مرتبط هستند. بنابراین در حالی که بسیار آسان میتوان کلید عمومی را از یک کلید خصوصی تولید کرد، عملاً تولید کلید خصوصی از یک کلید عمومی تقریباً غیرممکن است. به عبارتی دیگر، یک کلید خصوصی میتواند به یک کلید عمومی تبدیل شود، اما یک کلید عمومی نمیتواند به یک کلید خصوصی تبدیل شود.
آدرس
سپس کلید عمومی «فشرده» میشود تا برای استفاده، کوتاهتر و آسانتر شود. پس آدرس را بهعنوان یک نمایش کوتاهتر و (کمی) آسانتر برای خواندن کلید عمومی تصور کنید. رابطۀ بین کلید خصوصی، کلید عمومی و آدرس بیتکوین بهصورت زیر نشان داده میشود:

اما هر مرحله غیرقابل بازگشت است.

هر مرحله بهعنوان یک «تابع یکطرفه» در نظر گرفته میشود، که به این معنی است که برای یک رایانه بسیار دشوار است که هر عملیات را معکوس کرده و دادهها را از مرحلۀ قبلی پیدا کند.
کلیدها و آدرسها چگونه تولید میشوند؟
اگر دقت نکردهاید، همه چیز با کلید خصوصی شروع میشود. در حالی که ممکن است بخواهید این کار را خودتان انجام دهید، معمولاً کلیدهای خصوصی توسط کیف پول بیتکوین شما تولید میشوند. این کار در پسزمینه انجام میشود و شما آن را نمیبینید. اما همچنان خوب است که درکی کلی از این فرآیند داشته باشید. تصویر پایین به شما کمک میکند تا فرآیند تولید کلید خصوصی، عمومی و آدرس مربوطه را تجسم کنید.

- نرمافزار کیف پول یک عدد تصادفی تولید میکند.
- این عدد تصادفی به کلید خصوصی تبدیل میشود.
- نرمافزار کیف پول از این کلید خصوصی برای تولید خودکار کلید عمومی استفاده میکند.
- با استفاده از این کلید عمومی، یک آدرس تولید میشود.
اگر کلید خصوصیتان را گم کنید چه اتفاقی خواهد افتاد؟
گم کردن کلید خصوصی شما شبیه گم کردن پول نقد است. به هیچ وجه نمیتوان کلید خصوصی خود را از کلید یا آدرس عمومی فهمید. برای ارسال یا خرج کردن بیتکوینهای خود به کلید خصوصی نیاز دارید! بنابراین، اگر کلید خصوصی خود را گم کنید، تمام بیتکوینهای ذخیره شده در آدرسی که با این کلید خصوصی مرتبط است، برای همیشه در آنجا قفل خواهند بود.
برای خرج کردن بیتکوینها، برای تأیید تراکنش، به یک «امضای دیجیتال» نیاز دارید و برای ایجاد یک امضای دیجیتال، به کلید خصوصی خود نیاز دارید. بنابراین بدون کلید خصوصی، بدون امضای دیجیتال، هیچ تراکنشی انجام نمیشود. از ریاضیات پیچیده برای اطمینان از این که کلید خصوصی از کلید عمومی قابل تشخیص نیست، استفده میشود؛ بهویژه به این دلیل که کلید عمومی (که با فرمت «آدرس» نمایش داده می شود) توسط همۀ افراد در شبکۀ بیتکوین قابل مشاهده است.
در حالی که این رویکرد بسیار حساس و غیرقابل جبران است، اما در عین حال، حداقل این را میدانید که هیچ کس یا هیچ نهادی، مانند دولت، نمیتواند بیتکوینهای شما را توقیف کند. تنها یک کلید خصوصی برای دسترسی به بیتکوین های شما وجود دارد و فقط شما، مسئول آن هستید. اگر آن را گم یا فراموش کنید، کسی جز خودتان را نباید سرزنش کنید.
- کلیدهای عمومی و خصوصی همیشه به صورت جفتی تولید میشوند (تولید کلید خصوصی، بلافاصله به تولید کلید عمومی میانجامد).
- کلید عمومی برای دریافت بیت کوینها استفاده میشود.
- بهدلیل طولانی بودن، کلید عمومی به فرمتی فشرده به نام آدرس تبدیل میشود.
- آدرس شبیه به شماره حساب بانکی است.
- کلید خصوصی همان چیزی است که به شما اجازه میدهد تا وجوه مرتبط با یک آدرس را کنترل کرده و تراکنشها را از آن آدرس انجام دهید.
همانطور که میبینید، «نگهداری» بیت کوینها، به نگهداری امن کلیدهای خصوصی مربوط میشود.