عددهای یکتای استفاده شده برای ارسال و دریافت دستههای بیتکوین.
برای فرستادن و دریافت کردن پول به شکل بیتکوین نیاز به یه «شماره حساب» و «رمز عبور» داری.
در بیتکوین به این دو «کلید عمومی» و «کلید خصوصی» میگیم.
این اطلاعات حساب توست. به بیتکوین خوش اومدی.
با این حال باید در نظر داشت که این شماره حساب، عدد زیادی بزرگیه، پس برای راحتی بیشتر نسخهی فشردهای از اون رو استفاده میکنیم، و بهش میگیم آدرس.
کمی جلوتر میبینی کلید عمومی چقدر بیریخته.
این شد نقش کلید خصوصی، کلید عمومی و آدرس.
خب تا اینجا یه جمع بندی کنیم به طور خلاصه داریم:
- کلید عمومی، شماره حسابته.
- آدرس، هم همون شماره حسابته، اما نسخهی کوتاه شدهایه که مردم بتونن موقع ارسال بیتکوین بهت ازش استفاده کنند.
- کلید خصوصی، رمز عبورته که مانع از این میشه که شخص دیگهای بتونه از حسابت بیتکوین ارسال کنه.
همه چیز از کلید خصوصی، که فقط یه عدد بطور تصادفی ایجاد شدست، شروع میشه:
اما چون این عدد بسیار بزرگه، کامپیوترها (و همینطور بیتکوین) علاقه به این دارن که از شکل کوتاهتر شانزدهشانزدهی استفاده کنند:
اعداد شانزدهشانزدهی طول کمتری از اعداد دهدهی دارن چون شامل حرفهای a,b,c,d,e و f هم میشن.
و این شد کلید خصوصیمون... فقط یه عدد تصادفی بزرگ (منتها به شکل شانزدهشانزدهی).
کلید خصوصی | ef235aacf90d9f4aadd8c92e4b2562e1d9eb97f0df9ba3b508258739cb013db2 |
- یه کلید خصوصی میتونه هر عددی بین 1 و 115792089237316195423570985008687907852837564279074904382605163141518161494336 باشه
با استفاده از کلید خصوصیت میتونی کلید عمومی رو بدست بیاری!
پیش از هرچیز، این رو بدونیم که منظور از عموم در «کلید عمومی» همهی مردمه. پس زمانی که از کلید خصوصیمون برای ایجاد کلید عمومی استفاده میکنیم، نمیخواهیم امکان این وجود داشته باشه که کسی بفهمه کلید خصوصیمون چیه.
چون کلید خصوصی از بیتکوینهامون محافظت میکنه.
با وجود اینکه کلید عمومی از کلید خصوصی ساخته میشه، نمیخواهیم کسی بتونه در جهت برعکس از کلید عمومی کلید خصوصی رو در بیاره.
خوشبختانه میتونیم از یه نوع تابع خاص ریاضی برای رسیدن به این هدف دست پیدا کنیم.
ما فقط کلید خصوصی (که نهایت، یه عدده) رو میدیم به اون تابع ریاضی، و در آخر تابع به ما یه کلید عمومی (که اونم یه عدد دیگهست) میده.
باید بدونیم که این تابع خاص ریاضی برای ما دو مزیت داره:
- این تابع ریاضی به ما یه کلید عمومی برمیگردونه بطور ریاضی به کلید خصوصی گره خورده. این برای زمانی که میخواهیم بیتکوین رو در تراکنش برای کسی بفرستیم بدرد خواهد خورد.
- با وجود اینکه کلید عمومی از نظر ریاضی به کلید خصوصی خورده، ممکن نیست که از روی کلید عمومی به کلید خصوصی دست پیدا کرد، به همین دلیله که از این تابع خاص ریاضی استفاده میکنیم... چون یک طرفه است.
مثل اینه که قفل رو از روی کلید بسازی.
به لطف شمارههای تصادفی ایجاد شده و این تابع خاصمون حالا یه جفت کلید داریم و میتونیم ازش برای فرستادن و دریافت بیتکوین استفاده کنیم.
کلید خصوصی | ef235aacf90d9f4aadd8c92e4b2562e1d9eb97f0df9ba3b508258739cb013db2 |
کلید عمومی | 02b4632d08485ff1df2db55b9dafd23347d1c47a457072a1e87be26896549a8737 |
دیدید چقدر کلید عمومی بدریخته؟ هیچکس با تایپ کردنش حال نمیکنه، بیایید عملیترش کنیم و اسمشو بذاریم آدرس.
آخیش!
فقط کلید عمومی رو فشرده کردیم و به شکلی در آوردیم که از کاراکترهای از نظر نوشتاری مشابه (مثل “O”, “0”, “I” یا “l” ) استفاده نشده.
هنوز تو دهن نمیچرخه ولی بهبود خوبیه.
این آدرس بود... یه نسخه کوتاهتر/سادهتر کلید عمومی.
کلید خصوصی | ef235aacf90d9f4aadd8c92e4b2562e1d9eb97f0df9ba3b508258739cb013db2 |
کلید عمومی | 02b4632d08485ff1df2db55b9dafd23347d1c47a457072a1e87be26896549a8737 |
آدرس | 1EUXSxuUVy2PC5enGXR1a3yxbEjNWMHuem |
خب یه نکته رو هم در اینجا بگم که با توجه به روش فشردهسازی کلید عمومی، در اینجا هم نمیتونیم از روی آدرس به کلید عمومی دست پیدا کنیم.
از اونجایی که کلید عمومی و همینطور آدرس بر گرفته از کلید خصوصیته، فقط کافیه کلید خصوصی رو ذخیره کنی.
یادت باشه, کلید عمومیت (و آدرس) از کلید خصوصیت در میان.
بنابراین اگه اتفاقی هم افتاد، اگه بخوای آدرس برای کسی بفرستی فقط کافیه آدرس رو از کلید خصوصی در بیاری.
در حالت عادی بهتره که کلید خصوصی و آدرس رو در یه جایی نگهداری کنی، آدرس زمانی که میخواهی کسی برات بیتکوین ارسال کنه بکار میاد.
خب این میتونه بدترین اتفاق ممکن برات باشه !
غیرممکنه که از روی کلید عمومی و یا آدرس خودت به کلید خصوصیت دست پیدا کنی، در نتیجه اگه کلید خصوصیت رو گم کنی، دیگه از دست رفته!
و اگه کلید خصوصی مربوط به آدرس رو از دست بدی، بیتکوینهایی که در اون آدرس داشتی تا ابد قفل میشه!
شاید بگید که این که خیلی سازوکار بیرحمیه، آره همینطوره.
اما از طرف دیگه، خیالت راحته که برای دسترسی به پولت در پشتیای درکار نیست. فقط یه کلید برای بیتکوینهات هست و اونم در دست توست.
Fortunately, "You can take your
country out of Bitcoin, but you
can't take #Bitcoin out of your
country!" - @aantonop
شاد زی..