امضا دیجیتال

امضا دیجیتال در بیت کوین

در این مقاله و در ادامه مقاله های اموزش بیت کوین به بررسی مبحث مهم امضا دیجیتال در بیت کوین می پردازیم

یک امضا دیجیتال حاوی ۲ بخش هست:

    1. یک بخش تصادفی
    2. یک بخش امضاء (کلید خصوصی + داده های تراکنش که امضاء دیجیتال رو برای اون ایجاد کردیم).
    1. بخش تصادفی

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

می کنیم برای تولید نقطه روی منحنی بیضوی (شبیه همون کاری که برای ایجاد کلید عمومی انجام می گرفت):

امضا دیحیتال

قسمت شماره تصادفی که ما داریم همان نقطه ای هست که روی منحنی بیضوی ما وجود دارد. اما ما فقط مختصات x رو از اون می گیریم:
منحنی بیضوی بیت کوین
ما اینو “r” می نامیم موقتا.

منحنی بیضوی

این اساسا شبیه ایجاد کلید خصوصی و کلید عمومی هست، اما در اینجا ما برای اضافه کردن یک المان تصادفی برای امضاء دیجیتال خودمون انجام می دیم.

خب حالا ما نصف امضاء دیجیتال خودمون رو آماده کردیم، اما ما هنوز از کلید خصوصی خودمون استفاده نکردیم، اینجاست که نصف دیگه ساخت امضاء دیجیتال رو شامل می شه…
۲٫بخش امضا دیجیتال

اول ما کلید خصوصی خودمون رو با r (همون مختصات x که نقطه تصادفی روی منحنی پیدا کرده بودیم) ضرب می کنیم.

ایجاد کلید خصوصی

مرحله بعد شامل مواردی می شه که ما می خواهیم امضاء کنیم. این قسمت رو پیام می نامیم در بیت کوین. پیام هش کل داخل داده های یک تراکنش هست که شامل خروجی ای می باشد که ما می خواهیم قفل اون رو باز کنیم.
هش تراکنش بیت کوین

این مقاله را هم مطالعه کنید
استخراج ارز دیجیتال از ایده تا عمل

 

سرانجام برای حالت مناسبی رو ایجاد کنیم، همه اینها رو تقسیم بر عدد تصادفی می کنیم که اول با اون شروع کرده بودیم:

هش تراکنش

و خب در این قسمت ما به قسمت مهم و حیاتی “امضاء” از بخش امضاء دیجیتال خود رسیده ایم، که این رو موقتا s می نامیم.

امضا دیحیتالی بیت کوین

 

خب اینجاش کمی سرگرم کننده هستش…

اگه کسی از ما بپرسه که مدرکی که ثابت کنه کلید خصوصی که دارید مربوط به کلید عمومی که نشون میدید، یا بعبارتی ثابت کنید که شما کلید خصوصی مرتبط با کلید عمومی که ادعا می کنید رو دارید، می تونیم به عنوان مدرک این موضوع امضاء دیجیتالی خودمون (R & S) رو به اونها بدیم.

اما چطوری یکی دیگه می تونه این موضوع رو اثبات کنه ؟

 

تایید کردن بیت کوین

در بیت کوین، کل این امضاء می ره برای “باز کردن اسکریپت” که بخشی از تراکنش ها است. کلید خصوصی ما برای ایجاد امضاء استفاده می شود که ارتباط برقرار می کنه با آدرس که به آن قفل خروجی وصل شده است.

برای تایید امضاء دیجیتالی که از روی یک کلید خصوصی درست ساخته شده، شخصی که این امضاء دیجیتالی رو داده نیاز هست که از هر دو بخش آن استفاده کنه برای ایجاد ۲ نقطه جدید بر روی منحنی بیضوی:

 

نقطه ۱

S  رو با پیام ضرب کنید. اولین نقطه که تنها توسط منحنی بیضوی ایجاد شده، ضرب نقطه توسط این مقدار می باشد:

این مقاله را هم مطالعه کنید
بیت کوین چیست قسمت 6

منحنی بیضوی بیت کوینی

نقطه ۲

S  رو با r  ضرب کنید. نقطه دوم تنها کلید عمومی ضرب شده توسط این مقدار هست:

منحنی بیضوی بیتکوین

نکته اخر امضا دیجیتال بیت کوین

حالا اگه بیایم این ۲ نقطه رو با هم دیگه جمع کنیم، یک نقطه سوم رو روی منحنی می تونیم بدست بیاریم:

تشکیل کلید عمومی

 

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

کلید خصوصی بیتکوین

یک ویدیو عالی به عنوان منابع که معرفی ای از قسمت های محاسباتی و تایید کردن امضاء دیجیتال رو آورده در اینجا قرار داده می شه.

Bitcoin 101 – The Magic of Signing & Verifying

 

 

مطلب مفیدی برای شما بود ؟؟ پس به اشتراک بگذارید برای دوستانتان

admin

دیدگاه کاربران ...

    لطفا قبل از ارسال سئوال یا دیدگاه سئوالات متداول را بخونید.
    جهت رفع سوالات و مشکلات خود از سیستم پشتیبانی سایت استفاده نمایید .
    دیدگاه ارسال شده توسط شما ، پس از تایید توسط مدیران سایت منتشر خواهد شد.
    دیدگاهی که به غیر از زبان فارسی یا غیر مرتبط با مطلب باشد منتشر نخواهد شد.

    دیدگاه خود را بیان کنید

    [bws_google_captcha]

جدیدترین محصولات