آدرس و کلید در بیت کوین ؛ قسمت 10 آموزش صفر تا صد Bitcoin


در این قسمت از آموزش صفر تا صد بیت کوین سه مفهوم مهم کلید خصوصی – Private Key، کلید عمومی – Public Key و آدرس – Address ارز دیجیتال Bitcoin ارائه شده است.

رمزنگاری کلید عمومی – Public Key Cryptography یک روش ریاضی است که در دهه 1970 و به منظور افزایش امنیت کامپیوتر و داده‌ها ابداع شد. پس از ابداع این روش، روش دیگری به نام رمزنگاری منحنی بیضوی – Elliptic-Curve Cryptography معرفی شد که رمزنگاری در بیت کوین بر آن استوار است. در واقع در بیت کوین، از رمزنگاری کلید عمومی به منظور ساخت یک جفت کلید استفاده می‌شود که با استفاده از این کلید‌ها دسترسی به دارایی امکان پذیر است. این دو کلید، کلید عمومی – Public Key و کلید خصوصی -Private Key نام دارند.

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

میان کلید عمومی و کلید خصوصی یک رابطه ریاضی برقرار است. اگر به یاد داشته باشید، در قسمت قبلی گفته شد که کلید خصوصی یک عبارت 256 بیتی است. به عبارتی، هر کلید خصوصی از 256 عدد صفر و یک تشکیل شده و شما می‌توانید با نوشتن 256 صفر و یک به صورت دلخواه، یک کلید خصوصی تولید کنید. حال باید بدانید که کلید عمومی از کلید خصوصی مشتق می‌شود.

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

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

رابطه کلید خصوصی، کلید عمومی و آدرس بیت کوین

همانطور که گفته شد، کلید خصوصی یک عدد 256 بیتی تصادفی است. با وارد کردن این کلید به تابع رمزنگاری منحنی بیضوی، کلید عمومی مرتبط با آن تولید می‌شود. این رمزنگاری چند ویژگی دارد:

  • کلیدهای تولید شده با استفاده از این روش منحصر به فرد هستند. به عبارتی، هر کلید عمومی مختص یک کلید خصوصی است و با استفاده از کلید خصوصی دیگری نمی‌توان به آن رسید.
  • در این رمزنگاری اثر بهمنی – Avalanche Effect وجود دارد، یعنی با تغییر یک بیت از 256 بیت کلید خصوصی، کلید عمومی تولید شده به کلی عوض می‌شود.
  • این رمزنگاری یک طرفه و بازگشت ناپذیر است. به عبارتی نمی‌توان با داشتن یک کلید عمومی، به کلید خصوصی پی برد.

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

کلید و آدرس بیت کوین
رابطه میان کلید خصوصی، کلید عمومی و آدرس بیت کوین

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


برچسب ها:

ثبت نظر
نظرات کاربران (3 نظر)
ارش

سلام من مقداری بیت کوین در کیف پول تراست والت دارم یه بار مقداری از اون رو می خواستم به صرافی ایکس نوین انتقال بدم ولی دستمزد شبکه رو خیلی کم زدم حالا پول توی کیف پولم هست ولی نمی تونم از اون استفاده بکنم انتقال هم تایید نشده و معلقه الان 4 روز از زمان انتقال گذشته و مهلت انتقال هم 24 ساعت بود حالا باید چطور انتقال رو کنسل کنم لطفا راهنماییم کنید

0 پاسخ دهید
19:59:32 1399/08/10
مجتبی انصاری

سلام. این صفحه رو مطالعه کنید: https://community.trustwallet.com/t/pending-stuck-transactions/126

0 پاسخ دهید
19:59:32 1399/08/10
بتى بتيلا

رفت درت

0 پاسخ دهید
19:59:32 1399/08/10