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