آشنایی با تراکنش های پرداخت و انواع آن

رایج ترین نوع تراکنش، پرداخت به آدرس بیت کوین است. شکل 1 خروجی و ورودی چنین تراکنشی را نشان می دهد. شکل 2 پشته ها را بعد از اجرای هر کدام از دستورات در پردازه امضا نشان می دهد.

شکل 1. تراکنش پرداخت به آدرس بیت کوین

شکل 2. پشته در پردازه پرداخت به آدرس

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

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

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

  • کلید عمومی منحنی بیضوی زمانی که هش می شود، با آدرس بیت کوین متناظر و مرتبط باشد.
  • یک امضا از کل تراکنش، به همراه کلید خصوصی درست ارایه دهد. این امضا مالکیت آدرس بیت کوین را ثابت می کند. توجه داشته باشید تراکنش قبل امضا، با کلید خصوصی هش می شود.

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

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

منبع: کتاب راهنمای بیت کوین نوشته پدرو فرانکو