در این مقاله قصد داریم شما را با روش اثبات مالکیت کیف پول دیجیتالی آشنا کنیم. به واسطه ارزهای دیجیتالی، شما می توانید تراکنش های مالی داشته باشید ولی آیا راهی وجود دارد که ثابت کنید، تراکنش ثبت شده در بلاکچین توسط شما انجام شده است؟ در این مقاله با راهی برای اثبات مالکیت آدرس بیت کوین خود آشنا خواهید شد. با میهن بلاکچین همراه باشید.
فرآیند اثبات پرداخت در سیستم بانکی سنتی
در دنیای امروز، بانکها نقش پررنگی ایفا میکنند، این بانکها هستند که بستری امن و قابل اعتماد برای انجام تراکنشهای مالی فراهم میکنند. فرض کنید علی میخواهد ۲ میلیون تومان به سارا پول ارسال کند و هر دو در یک بانک (مثلا بانک ملت) حساب دارند. علی ۲ میلیون تومان را به حساب سارا واریز میکند و به سارا میگوید که ۲ میلیون تومان به حساب بانکی شما واریز کردم. ولی سارا از چند نفر دیگر نیز ۲ میلیون تومان دریافت کرده است و مطمئن نیست که علی ۲ میلیون تومان واریز کرده است. به همین علت از علی میخواهد که ثابت کند ۲ میلیون تومان به حساب سارا واریز کرده است. علی از بانک رسید تراکنش را دریافت میکند، رسیدی که در آن ذکر شده است دارنده حساب به شماره *** علی است و مبلغ ۲ میلیون تومان به حساب با شماره *** که متعلق به سارا است، واریز شده و علی این رسید را به سارا ارائه میدهد و سارا مطمئن میشود که طلب خود را از علی دریافت کرده است.
در واقع بانک در نقش یک واسط بستری قابل اعتماد فراهم میکند و به هر دو طرف تراکنش کمک میکند که به واسطه بستر فراهم شده، تراکنش مالی داشته باشند.
فرآیند اثبات مالکیت کیف پول در دنیای دیجیتالی
قطعا راهی وجود دارد که ثابت کنیم مالک یک کیف پول دیجیتالی هستیم. باید در نظر داشته باشیم که انجام تراکنش های مالی همواره نیازمند این قضیه بوده است، پس حتما در شبکه بیت کوین راه حلی برای آن در نظر گرفته شده است. برای اثبات مالکیت کیف پول شما باید از کلید خصوصی خود کمک بگیرید. وقتی شما تراکنشی در شبکه ای مثل بیت کوین ثبت می کنید، در خواست شما به شبکه ارسال میشود و اگر در اکسپلورر شبکه بیت کوین تراکنش خود را دنبال کنید، وضعیت تراکنش شما را نشان میدهد. اگر تراکنش شما در حالت تایید شده باشد، نشان می دهد که یک ماینر تراکنش ثبت شده از طرف شما را تایید کرده است.
ماینر چه چیزی را تایید می کند؟
در واقع ماینر تایید میکند که آدرس بیت کوین A به آدرس بیت کوین B پولی ارسال کرده است، این تایید بدان معنی است که دارنده کلید خصوصی آدرس بیت کوین A تراکنش را به ثبت رسانده است. شاید پیش خودتان فکر کنید که ماینر چگونه می تواند متوجه این امر بشود؟
دارنده کلید خصوصی آدرس بیت کوین A تراکنش خود را با امضای دیجیتالی خود به شبکه ارسال میکند. کاری که ماینر انجام میدهد، بررسی صحت این امضای دیجیتالی است. امضای دیجیتالی و آدرس عمومی فاکتورهایی است که به ماینر کمک میکند و ماینر از طریق آنها می تواند متوجه شود که تراکنش ثبت شده از طریق کلید خصوصی A امضا شده است. دقت کنید ماینر به دنبال کلید خصوصی نیست و فقط به دنبال این است که تایید کند تراکنش از طریق کلید خصوصی آدرس A ثبت شده است.
کیف پول دیجیتالی شما درخواست های شما را به شبکه ارسال میکند و این درخواست ها از طریق امضای دیجیتالی شما رمزنگاری میشود. امضای دیجیتالی شما از طریق کلید خصوصی شما ساخته میشود و از هش و الگوریتم امضای دیجیتال منحنی بیضوی (ECDSA) برای ساخت آن استفاده میشود. هش یک تابع یک طرفه است. بدین معنی است که از هش نمیتوان به پیغام اصلی (کلید خصوصی) دست یافت.
نقش امضای دیجیتال در اثبات مالکیت کیف پول دیجیتال
اگر شما به دنبال اثبات مالکیت آدرس بیت کوین هستید، می توانید به راحتی پیعام مورد نظر خود را با کلید خصوصی خود امضا کنید. فرض کنید علی ۱ بیت کوین به سارا ارسال کرده است و سارا از وی می خواهد که ثابت کند ۱ بیت کوین را علی فرستاده است. علی عبارت «این کیف پول متعلق به علی است» را با کلید خصوصی خود امضا میکند و برای سارا میفرستد. علی چگونه میتوان این کار را انجام دهد؟ برای این کار ابزارهای مختلفی وجود دارد. توجه داشته باشید که تمامی این ابزارها برای رمز کردن از کلید خصوصی شما استفاده میکنند و افشا و لو رفتن کلید خصوصی شما، به منزله دستیابی به محتویات حساب بیت کوین شماست. بنابراین از ابزارهای امن و ترجیحا آفلاین استفاده کنید.
میتوانید با مراجعه به سایت Rein Project و دانلود فایل زیپ حاوی این ابزار از پایین صفحه، به شکل آفلاین از آن استفاده کنید.
با اجرا کردن فایل index.html از طریق مرورگر با صفحه زیر مواجه می شوید. همانطور که مشاهده می کنید این فایل در داخل کامپیوتر به صورت Local اجرا شده است.
با کلیک بر روی قسمت امضا (Sign) که با عدد یک مشخص شده است، صفحه بالا برای شما به نمایش در میآید. در قسمت Private Key، کلید خصوصی خود و در قسمت Address، کلید عمومی یا آدرس بیت کوینی خود را وارد کنید. در بخش Message، پیغام دلخواه خود را بنویسید و سپس با فشردن دکمه Sign Message، عملیات رمزنگاری انجام شده و پیغام امضا شده شما در باکس خاکستری رنگ به نمایش در میآید.
حال میتوانید پیغام امضا شده خود را به همراه آدرس بیت کوینی خود به سارا ارسال نمایید. سارا میتواند با تایید پیغام شما، اطمینان حاصل کند که شما صاحب همان آدرسی هستید که برای او بیت کوین ارسال کردهاید.
برای این کار، او میتواند از ابزارهای مختلفی استفاده کند. برای اینکه از صحت این امضا مطلع شود می تواند در بالای همین صفحه از تب verify استفاده کند. با وارد شدن به این صفحه، فقط کافی است متن امضا را به صورت کامل در آن جا وارد کنید و به شما اعلام می شود که این امضا معتبر است یا خیر. سایتهایی همچون verifybitcoinmessage و Bitcoin.com نیز میتوانند برای اثبات صحت امضای دیجیتال و مالکیت حساب بیت کوین به کار روند.
اگر اطلاعات وارد شده، اشتباه باشد به شما اعلام خواهد شد که این امضای دیجیتالی معتبر نیست.
اطلاعاتی که از این روش به دست آوردید را می توانید در سایت هایی که امضای دیجیتالی را تایید میکنند، وارد کنید و صحت این اطلاعات را چک کنید. دقت کنید که این اطلاعات در تمامی سایتها و ابزارها خروجی یکسان دارد و این امکان وجود ندارد که خروجی یکی از آن ها عدم اعتبار امضای دیجیتالی باشد و خروجی دیگری اعتبار امضای دیجیتالی باشد.
جمعبندی
در این مطلب راهی برای اثبات مالکیت آدرس بیت کوین بدون افشای اطلاعات حساس به کمک امضای دیجیتال ارائه کردیم. به کمک علم رمزنگاری و الگوریتم امضای دیجیتال منحنی بیضوی (ECDSA)، میتوانید از صحت این عمل خاطر جمع باشید. توجه به نکات امنیتی در هنگام امضای پیغام با کلید خصوصی را فراموش نکنید.
تاکنون از ابزارهای امضا و صحتسنجی دیجیتال استفاده کردهاید؟ اگر از این روش استفاده نمیکردید چه روشی برای اثبات مالکیت به کار میبردید؟