به ترم جدیدی از دوره آموزش ارزهای دیجیتال خوش آمدید. در اولین جلسه از این ترم، میخواهیم بدانیم که «امضای دیجیتال چیست؟» و به برخی از سؤالات دیگری که مطرح میشوند، پاسخ دهیم. با آکادمی کالج پیپس، بزرگترین مرجع تخصصی آموزش بازارهای مالی، همراه باشید تا دانش خود در زمینۀ رمزارزها را ارتقا دهید.
[ez-toc]
وقتی میخواهید بیتکوین بفرستید، کیف پول شما یک «تراکنش» ایجاد کرده و آن را به یک نود در شبکۀ بیتکوین میفرستد که سپس آن را به نودهای دیگر پخش میکند. وقتی یک تراکنش بیتکوین را شروع میکنید، باید به هر نود در شبکۀ بیتکوین ثابت کنید که مجاز به خرج کردن این وجوه هستید.
تراکنش بیتکوین چیست؟
یک تراکنش فقط یک پیام است که شامل اطلاعاتی دربارۀ فرستنده و گیرنده و مقدار بیتکوین (BTC) است که باید منتقل شود. قبل از ارسال پیام (تراکنش)، لازم است آن را «امضا» کنید. همۀ تراکنشها باید قبل از ارسال به شبکه امضا شوند.
برای این کار، نرمافزار کیف پول شما تعدادی عملیات ریاضی پیچیده را روی پیام تراکنش انجام میدهد و سپس با استفاده از چیزی به نام «کلید خصوصی» عملیات پیچیده دیگری را انجام میدهد.
نتیجۀ تمام این عملیات ریاضی پیچیده، اطلاعات خاصی به نام امضای دیجیتال است. این امضای دیجیتال ثابت میکند که شما صاحب واقعی بیتکوینهایی هستید که میخواهید ارسال کنید.
اما این همه عملیات ریاضی پیچیده به چه معنا است؟
امضای دیجیتال چیست؟
بیتکوین از رمزنگاری کلید عمومی، برای ایجاد یک جفت کلید استفاده میکند که دسترسی به بیتکوینها را کنترل میکند. جفت کلید شامل یک کلید خصوصی و یک کلید عمومی است.
- کلید خصوصی کلید عمومی را تولید میکند.
- این دو کلید بهصورت ریاضی به هم مرتبط هستند و اعداد بسیار بزرگی هستند.
- کلید عمومی یک آدرس تولید میکند که با دیگران به اشتراک گذاشته میشود تا بتوانید بیتکوین دریافت کنید (و بهصورت یک رشته از حروف و اعداد نشان داده میشود).
اگر با مفاهیم کلید خصوصی و کلید عمومی آشنا نیستید، این بدان معناست که بیش از حد جلو رفتهاید و باید ابتدا درسهای قبلی را بخوانید!
بنابراین وقتی میگویید: «من بیتکوین دارم»، بهطور تخصصی منظورتان این است که:
- بیت کوینها به یک آدرس خاص مرتبط هستند.
- این آدرس و مقدار بیت کوینهایی که دارد در دفترکل بیت کوین (که به نام بلاکچین شناخته میشود) ثبت شدهاند.
- شما یک کلید خصوصی دارید که بهصورت ریاضی ثابت میکند که شما صاحب این آدرس هستید.
- این بدان معناست که هر بیتکوینی که در این آدرس نگهداری میشود تحت کنترل شماست.
- و فقط شما میتوانید این بیت کوینها را به یک آدرس دیگر انتقال دهید.
اگر کلید خصوصی آدرس جدید را ندارید، دیگر بیت کوینها را کنترل نمیکنید. شما آنها را به یک صاحب جدید (کسی که کلید خصوصی مرتبط با آدرس جدید را دارد) ارسال کردهاید. همانطور که میبینید، مالکیت بیت کوینها به یک آدرس مرتبط است و تعداد بیتکوینهای مرتبط با همۀ آدرسها، در بلاکچین بیت کوین ثبت شده است.
بنابراین اگر میخواهید بیتکوینها را به یک آدرس دیگر ارسال کنید، ابتدا باید ثابت کنید که صاحب فعلی آدرسی هستید که بیت کوینها در آن قرار دارند.

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