انواع تراکنش های بیت کوین

پرداخت به پردازه – هش

در پایان سال ۲۰۱۰ فشارهایی بود تا تراکنش های چند امضایی را استاندارد کرده، امن تر کردن کیف پول مقدور شود. در این مرحله تراکنش های چند امضایی، بخشی از پروتکل بود. به منظور استفاده از یک تراکنش چند امضایی، فرستنده وجوه باید پردازه کلید عمومی ای با تمامی اطلاعات مورد نیازش را به وجود آورد. این اطلاعات شامل تمام آدرس ها و تعداد امضاهای معتبر مورد نیاز برای خرج کردن خروجی است.

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

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

پیشنهادهای بهبود بیت کوین

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

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

شکل 1 تراکنشی چند امضایی را نشان می دهد که از هر دو راه اصلی (در سمت چپ) و نیز تراکنش پرداخت به پردازه – هش (در سمت راست) کدگذاری شده است. پردازه امضا در تراکنش پرداخت به پردازه- هش، شامل اطلاعاتی از هر دو پردازه امضا و پردازه کلید عمومی از تراکنش چند امضایی اصلی است. پردازه کلید عمومی در تراکنش پرداخت به پردازه- هش، بسیار کوتاه است. آن شامل دو اپراتور و یک رشته هش 20 بایتی از پردازه ای است که در پردازه امضا گنجانده شده است.

شکل 1. تراکنش پرداخت به پردازه- هش

یک نوع جدید از آدرس به نام آدرس پردازه نیز ایجاد شده است. اطلاعاتی که در یک آدرس پردازه کد گذاری شده است، فقط ۲۰ بایت از هش پردازه را تشکیل می دهند. این باعث می شود آدرس های بسیار جمع و جوری داشته باشیم. با این حال، به جای شش کلید عمومی منحنی بیضوی، به عنوان آدرسی رایج، در آدرسی پردازهای خود پردازه، هش شده است. این رشته هش با مقدار ۵ (ده دهی) قبل از کدگذاری بر پایه ۵۸ پیشوند شده است. این باعث می شود آدرس پردازه با ۳ شروع شود. هنگام استفاده از تراکنش های پرداخت به پردازه- هش، مر اقبت بسیاری باید انجام شود زیرا هر گونه خطا می تواند تراکنش را غیرقابل خرج کند. همچنین، توجه داشته باشید جزئیات تراکنش پردازه ای در ابتدا در زنجیره بلوکی ذخیره نمی شود. تنها هش پردازه ذخیره می شود. بنابراین خالق تراکنش باید نسخه ای از پردازه را نگه داری کند که هش مزبور را تولید می کند. از دست دادن یک نسخة از پردازه ممکن است باعث غیرقابل خرج شدن تراکنش شود، اما می تواند سبب انجام فرایند مهندسی معکوس جهت بازسازی آن، از هش موجود در خروجی تراکنش شود.

تراکنش های استاندارد

در پیاده سازی بیت کوین، شش نوع تراکنش تعریف شده است:

  • پرداخت به آدرس عمومی
  • پرداخت به آدرس
  • پرداخت به پردازه- هش
  • تراکنش چند امضایی
  • تراکنش های OP_ RETURN
  • تراکنش هایTX _ NONSTANDARD

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

شکل 2. انواع تراکنش های بیت کوین

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

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