آدرس P2SH در بیت کوین
3

 آدرس P2SH در بیت کوین

بازدید : 685

آدرس P2SH یا  Pay-to-Script-Hash نوع خاصی از آدرس در بیت کوین است .این آدرس به شما امکان می دهد آدرس هایی ایجاد کنید که می توانند تراکنش هایی را دریافت یا ارسال کنند . به شرطی که یک سری دستورالعمل ها باید دنبال شوند تا قفل موجودی حاوی آن آدرس ها باز شود.

آدرس P2SH چیست؟

آدرس بیت کوین یک رشته از حروف و عدد است که کاربر می تواند برای هر کسی که مایل به ارسال پول برای او است ارسال کند. آدرس های بیت کوین می توانند در قالب های مختلف قرار بگیرند که فرم های متداول آن عبارتند از: P2PKH و P2SH.

آدرس P2SH چگونه کار می کند؟

اگرچه هرکسی می تواند به هر آدرس مشخص، بیت کوین بفرستد . اما این وجوه فقط در صورت تأمین نیازهای خاص تعیین شده توسط سیستم اسکریپت بیت کوین قابل استفاده است. اسکریپت در واقع لیستی از دستورالعمل های ثبت شده است که همراه هر تراکنش اجرا شده است. اسکریپت مسئول است که فرد بعدی که می خواهد بیت کوین های ارسالی را خرج کند چگونه می تواند به آنها دسترسی پیدا کند. اسکریپت های همراه خروجی در تراکنش ها را اسکریپت های PubKey می نامند (اسکریپت قفل) که در کد به عنوان scriptPubKey شناخته می شوند.

p2sh
p2sh

گیرندگان بیت کوین ارسال شده یک اسکریپت امضا (اسکریپت باز کردن قفل) تولید می کنند ، که مجموعه ای از پارامترهای داده است که برای اجرای یک اسکریپت PubKey استفاده می شود. به اسکریپت های امضا ، scriptSig in codeگفته می شود.

مثالی برای درک آدرس ها در بیت کوین

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

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

فرمت آدرس های سنتی بیت کوین

آدرس های سنتی بیت کوین (قالب آدرس P2PKH) با شماره 1 شروع می شوند و می توانند به موارد زیر شباهت داشته باشند:

1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2

در یک خروجی P2PKH ، دستورالعمل های موجود در اسکریپت PubKey شامل موارد زیر است:

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

صاحب آدرس P2PKH فقط می تواند قفل PubKey Script را باز کند و وجوه ارسالی را با تهیه یک هش کلید عمومی و امضای کلید خصوصی خرج کند.

Pay-to-ScriptHash (P2SH)

قالب های آدرس بیت کوین P2SH با شماره 3 شروع می شود و می تواند به شکل زیر شباهت داشته باشد:

3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy

P2SH در پروپوزال بهبود 16 بیت کوین (BIP 16) توسط گاوین آندرسن معرفی شد و منجر به نوع تراکنش جدید “استاندارد” برای سیستم اسکریپت بیت کوین شد. به گفته آندرسن ، هدف P2SH: “انتقال مسئولیت تأمین شرایط بازخرید تراکنش از فرستنده وجوه به بازخرید”.

از سال 2012 ، بیت کوین و سایر ارزهای رمزپایه از قالب P2SH در بسیاری از آدرس های خود استفاده کرده اند. از طریق آن می توان تراکنش ها را به جای هش کلید عمومی به یک هش اسکریپت ارسال کرد. یعنی تراکنش ها به آدرسی ارسال می شوند که با 3 شروع می شود به جای اینکه با 1 (ECDSA) شروع شود. بنابراین آدرس های رمزگذاری شده در این قالب نشان دهنده هش رمزگذاری شده یک اسکریپت است و نه کلید عمومی ECDSA.

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

پیاده سازی قالب P2SH در آدرسهای بیت کوین

BIP-0013

قالب آدرس Pay-to-ScriptHash در ابتدا در 13 BIP طراحی شده و توسط Gavin Andresen معرفی شد.  که فرم جدیدی را برای آدرسهای بیت کوین توصیف می کند .این فرمت می تواند از تراکنش های پیچیده دلخواه پشتیبانی کند.

در این BIP اندرسون توصیف می کند که این قالب جدید برای آدرس های بیت کوین از طول 20 بایت استفاده خواهد کرد. از طریق آن می توانید ارزهای رمزپایه را مبادله کنید. و اینکه می توان آن را به راحتی از طریق کد QR استفاده و اسکن کرد یا به سرعت کپی و جایگذاری کرد تا معامله مورد نظر انجام شود.

[irp posts=”7276″ name=”BIP:پیشنهاداتی برای بهبود پروتکل بیت کوین”]

BIP-0016

به همین ترتیب ، در 16 BIP که چند ماه پس از BIP 13 توسط گاوین آندرسن اعلام شد . P2SH به عنوان یک فورک نرم برای پروتکل بیت کوین طراحی شده است .به گونه ای که اجازه می دهد آدرس های P2SH به عنوان نوع جدیدی از تراکنش های استاندارد ایجاد شود. این امر به دنبال ساده سازی در استفاده از اسکریپت ها در هر نوع تراکنشی است ، هرچند پیچیده باشد.

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

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

مزایای اجرای P2SH

آدرسهای چند امضایی

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

علاوه بر این ، آدرسهای بیت کوین که از قالب P2SH استفاده می کنند به راحتی مشخص می شوند. چون با شماره 3 شروع می شوند. آدرسی که با شماره 3 شروع می شود همیشه یک آدرس P2SH خواهد بود . اما همیشه یک آدرس چند امضایی نخواهد بود.

امنیت و حریم خصوصی

از طریق قالب P2SH ، کاربر می تواند هر اسکریپتی را ایجاد کند .بدون اینکه بداند شرایط هزینه مرتبط با آن اسکریپت چیست. به عبارت دیگر ، کاربر می تواند اسکریپت های مرتبط با یک تراکنش را بدون اطلاع جزئی یا کلی از پیکربندی این شرایط یا دستورالعمل های امنیتی ارسال یا به اشتراک بگذارد.

بنابراین ، در صورت فرستنده بودن ، کاربر فقط باید تراکنش هایی را که می خواهد انجام دهد به آدرس P2SH ارسال کند. نیازی به دانستن چگونگی هزینه وجهی که ارسال کرده اید نیست. در حالی که در مورد گیرنده  ، کاربر باید شرایط هزینه های مربوط به آن تراکنش را بداند.

به همین ترتیب ، اگر اسکریپت مسدود کننده P2SH فقط حاوی یک هش از اسکریپت باشد . نمی توان دانست که چه نوع اسکریپتی از آن هش گرفته شده است.

خروجی های کوچک مصرف نشده UTXO

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

نرخ کارمزد پایین تر

از آنجا که نرخ کارمزدی که در بیت کوین دریافت می شود مربوط به مبالغ منتقل شده نیست. بلکه مربوط به اندازه تراکنش ها است . یک هش اسکریپت با طول کوتاهتر به فرستنده یک تراکنش اجازه می دهد تا بتواند وجوه خود را بدون نیاز به آدرس P2SH ارسال کند.

معایب اجرای P2SH

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

اندازه داده

P2SH فضای بیشتری در زنجیره بلوک اشغال می کند. این می تواند منجر به ازدحام شود و بر ظرفیت عملیاتی شبکه تأثیر بگذارد. علتاین است که در هنگام مسدود کردن بیت کوین در P2SH ،25 بایت دیگر به اسکریپت اصلی اضافه می شود.

 

0
3
برای اینکه به فکت این مقاله کمک کنید روی دکمه زیر کلیک کنید و تا افراد بیشتری آن را دنبال کنند
اشتراک در
اطلاع از

3 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه نظرات
H&B
1 سال ago

میشه از ادرس بیت کوین با فرمت ۱ به ادرس بیت کوین با فرمت ۳ انتقال داد یا نمیشه؟

سارا آقایی
ادمین
پاسخ به  H&B
1 سال ago

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

H&B
پاسخ به  سارا آقایی
1 سال ago

ممنون از شما که جواب دادید

محل تبلیغ
محاسبه‌گر ارزهای دیجیتال
ارز معادل
تومان

محاسبه با مبلغ تتر : تومان

3
0
نظر خود را بنویسید !x