مقایسه انواع آدرس بیت کوین: P2PKH، P2SH، P2WPKH و موارد دیگر
در ابتدا در Unchained.com منتشر شد.
Unchained شریک رسمی نگهبانی مشترک ایالات متحده مجله بیت کوین و حامی یکپارچه محتوای مرتبط منتشر شده از طریق مجله بیت کوین است. برای اطلاعات بیشتر در مورد خدمات ارائه شده، محصولات حضانت، و رابطه بین Unchained و مجله بیت کوین، لطفا از وب سایت ما دیدن کنید.
اگر مدتی است که از بیت کوین استفاده می کنید، احتمالاً متوجه شده اید که برخی از آدرس های بیت کوین کاملاً متفاوت از بقیه هستند. همچنین ممکن است بحث در مورد چند نام اختصاری که با “P2” شروع می شود، مانند P2PKH یا P2WSH دیده باشید. اگر با معنای این کلمات اختصاری آشنا نیستید، در اینجا تمام روشهای استاندارد شده روی زنجیره برای دریافت بیتکوین را در طول تاریخچه آن بررسی میکنیم و برخی از تفاوتهای اساسی را توضیح میدهیم که هر روش را منحصر به فرد میکند.
P2PK
پرداخت به کلید عمومی (P2PK) روش اصلی دریافت بیت کوین است و شامل آدرس نیست. در عوض، همانطور که از نام آن پیداست، بیت کوین مستقیماً به یک کلید عمومی در معرض پرداخت می شود. اولین تراکنش بیت کوین از فردی به فرد دیگر از P2PK استفاده کرد، زمانی که ساتوشی ناکاموتو سکه هایی را برای هال فینی در بلوک 170 ارسال کرد.
P2PK دیگر مورد استفاده قرار نمی گیرد زیرا روشی گران تر، خصوصی کمتر و امن تر از روش های بعدی برای دریافت بیت کوین است.
حقایق فوری
P2PKH
Pay-to-Public-Key-Hash (P2PKH) در ابتدای بیت کوین برای استفاده در دسترس بود و کمتر از دو هفته پس از بلوک پیدایش برای اولین بار در بلاک چین ظاهر شد. P2PKH چندین پیشرفت را روی P2PK ایجاد می کند، مانند استفاده از یک آدرس. همانطور که در مقاله قبلی ما مورد بحث قرار گرفت، آدرس ها حاوی یک جمع بندی هستند که به جلوگیری از اشتباهات تایپی و بیت کوین از دست رفته کمک می کند.
آدرسهای P2PKH معمولاً 34 یا 33 کاراکتر طول دارند (اما از نظر تئوری میتوانند به اندازه 26 کاراکتر کوتاه باشند) و در قالب Base58 کدگذاری میشوند. آنها با پیشوند شروع می شوند 1 و در حال حاضر مسئول دریافت و تامین امنیت 43 درصد از عرضه بیت کوین استخراج شده، بیش از هر نوع آدرس دیگری هستند.
ایجاد یک آدرس P2PKH شامل قرار دادن یک کلید عمومی از طریق توابع هش SHA-256 و RIPEMD-160 است. این مقدار داده را کوتاه می کند، که به نوبه خود به صرفه جویی در فضای بلوک و هزینه تراکنش برای کاربر کمک می کند. همچنین مقاومت بیشتری در برابر مهندسی معکوس کلید خصوصی فراتر از منحنی بیضوی secp256k1 که قبلاً نشکنناپذیر است، ایجاد میکند.
حقایق فوری
P2MS
Pay-to-Multisig (P2MS) یک نوع تراکنش بی اهمیت است که فقط مختصراً مرتبط بود و هرگز مسئول نگهداری بیش از 100 بیت کوین در یک زمان در همه شرکت کنندگان شبکه نبوده است. با این وجود، P2MS بخشی از تاریخ بیت کوین است.
P2MS به عنوان یک اسکریپت استاندارد در اوایل سال 2012، همانطور که توسط BIP 11 مشخص شده است، معرفی شد. با این حال، این نوع تراکنش از مشکلات مشابه P2PK رنج می برد زیرا شامل کلیدهای عمومی در معرض دید بود و از هیچ قالب آدرسی استفاده نمی کرد. همچنین تعداد کلیدهای عمومی در حد نصاب چند علامتی را به سه محدود کرد. ظرف چند ماه، P2MS با روشی جایگزین برای دریافت بیت کوین در یک آرایش چند علامتی به نام P2SH جایگزین خواهد شد که در ادامه به آن خواهیم پرداخت.
حقایق فوری
P2SH
Pay-to-Script-Hash (P2SH) مطابق با BIP 16 در 1 آوریل 2012 به عنوان یک سافت فورک به بیت کوین معرفی شد. مانند بسیاری از فورک ها، داستان پشت آن نیز جذاب است. P2SH اشتراکات زیادی با P2PKH دارد. تفاوت اصلی این است که آدرس با هش کردن یک اسکریپت بازخرید به جای هش کردن یک کلید عمومی ایجاد می شود.
یک اسکریپت بازخرید را می توان به عنوان دستورالعمل های کدگذاری شده در نظر گرفت که مشخص می کند بیت کوین دریافتی به آدرس P2SH چگونه می تواند در آینده خرج شود. ممکن است طیف وسیعی از امکانات، از جمله کلیدهای عمومی مختلف متعدد وجود داشته باشد. گیرنده، نه فرستنده، جزئیات اسکریپت را تعیین می کند، و دستورالعمل های هزینه تا زمانی که بیت کوین خارج از آدرس خرج نشود، در معرض دید عموم قرار نمی گیرد.
در حالی که کاربران پیشرفته میتوانند اسکریپتهای پیچیده بسازند، رایجترین استفاده از P2SH ایجاد آدرسهای SegWit تودرتو (که در زیر پوشش داده میشود) و کیف پولهای multisig بوده است. به عنوان مثال، یک اسکریپت می تواند شامل سه کلید عمومی باشد و مشخص کند که امضاهای هر دو کلید خصوصی مربوطه می توانند بیت کوین را خرج کنند. این یک آدرس 2 از 3 چند علامتی ایجاد می کند.
آدرسهای P2SH دقیقاً 34 کاراکتر طول دارند و با پیشوند 3 شروع میشوند، همانطور که توسط BIP 13 مشخص شده است. 170,052.
حقایق فوری
P2WPKH
Pay-to-Witness-Public-Key-Hash (P2WPKH) اولین مورد از دو نوع آدرسی است که در آگوست 2017 در سافت فورک SegWit به بیت کوین معرفی شد. داستان پشت این سافت فورک بسیار مهم و به خصوص بحث برانگیز در کتابی به نام مستند شده است. جنگ بلوک، نوشته جاناتان بیر.
P2WPKH نوع SegWit P2PKH است که در سطح پایه به این معنی است که انتخاب این نوع آدرس به جای آدرسهای قدیمیتر P2PKH به شما کمک میکند هنگام انتقال بیتکوین خود در هزینههای تراکنش صرفهجویی کنید.
آدرسهای SegWit کاملاً متفاوت از انواع آدرسهای قدیمیتر به نظر میرسند، زیرا در هر BIP 173، به جای Base58 از رمزگذاری Bech32 استفاده میکنند. مهمتر از همه، هیچ حروف بزرگ در Bech32 وجود ندارد. آدرس های P2WPKH را می توان با پیشوند bc1q و طول کاراکتر دقیقاً 42 شناسایی کرد.
حقایق فوری
P2WSH
Pay-to-Witness-Script-Hash (P2WSH) نوع SegWit P2SH است. مزیت اصلی استفاده از P2WSH نسبت به P2SH این است که میتواند به کاهش هزینههای تراکنش کمک کند و دلیل اصلی استفاده از هش اسکریپت به جای هش کلید عمومی، تطبیق ترتیبات چند علامتی است.
مانند P2WPKH، یک آدرس P2WSH با پیشوند bc1q شروع می شود. با این حال، طول کاراکتر آن دقیقاً 62 است. برخلاف انواع آدرسهایی که تاکنون پوشش داده شدهاند، آدرسهای P2WSH با استفاده از تابع هش SHA-256 به تنهایی و بدون در نظر گرفتن RIPEMD-160 ایجاد میشوند و در نتیجه طول کاراکتر افزایش مییابد. این با احتیاط اجرا شد و محافظت بیشتری در برابر یک بردار حمله چند علامتی نسبتاً ظریف و بسیار بعید اضافه کرد.
حقایق فوری
SegWit تودرتو (P2SH-P2WPKH و P2SH-P2WSH)
SegWit تودرتو (همچنین به عنوان Wrapped SegWit شناخته می شود) از نظر فنی نوع آدرس متفاوتی با آنچه در بالا توضیح دادیم نیست. با این حال، این یک روش منحصربهفرد برای استفاده از انواع آدرسهایی است که قبلاً مورد بحث قرار گرفتهاند، به شیوهای که به طور موقت برای جامعه بیتکوین مفید بود.
وقتی سافت فورک SegWit رخ داد، همه گرهها، نرمافزارها و سرویسهای بیتکوین بلافاصله برای پشتیبانی از انواع آدرسهای بومی SegWit، P2WPKH و P2WSH، ارتقاء پیدا نکردند. فقط نهادهایی که ارتقاء داده اند می توانند به این آدرس های جدید ارسال کنند. این بدان معناست که افرادی که توانایی دریافت بیت کوین را از هر کسی (از جمله کسانی که ارتقاء نداده بودند) می خواستند هنوز نمی توانستند از کیف پول بومی SegWit استفاده کنند. با این حال، از آنجایی که SegWit کارمزد تراکنشهای ارزانتری را ارائه میکرد، اکثر مردم مشتاق بودند از آن استفاده کنند.
راه حل حیله گر برای این معضل استفاده از نوع تراکنش P2SH بود. نهادهایی که هنوز SegWit را پیادهسازی نکردهاند، همچنان میتوانند بیتکوین را به آدرسهای P2SH ارسال کنند – که همانطور که در بالا توضیح داده شد، با یک اسکریپت بازخرید ساخته شدهاند که دستورالعملهایی را در مورد نحوه مصرف بیتکوین بعداً مشخص میکند. همانطور که مشخص است، این دستورالعملها میتوانند مدل جدید هزینههای SegWit را در خود جای دهند و به کاربران پلی برای کاهش هزینهها ارائه دهند. بنابراین آدرسهای P2SH با استفاده از این ترفند به Nested SegWit معروف شدند و نقش مهمی در فرآیند پذیرش SegWit داشتند.
در ظاهر، آدرسهای SegWit تودرتو از سایر آدرسهای P2SH قابل تشخیص نیستند، بنابراین عرضه بیتکوین در این ترتیب غیرقابل تشخیص است. علاوه بر این، از آنجایی که همه ابزارهای مدرن بیت کوین اکنون می توانند مستقیماً به آدرس های Native SegWit ارسال شوند، دیگر دلیل خوبی برای استفاده از Nested SegWit وجود ندارد.
حقایق فوری
P2TR
Pay-to-Taproot (P2TR) جدیدترین نوع آدرس است که در نوامبر 2021 توسط Soft-Fork Taproot در دسترس قرار گرفت. پذیرش P2TR در زمان نگارش مقاله بسیار کم است و بسیاری از نرم افزارها و خدمات بیت کوین هنوز روی یکپارچه سازی کار می کنند.
در حالی که P2WPKH و P2WSH به عنوان SegWit V0 شناخته می شوند، P2TR SegWit V1 در نظر گرفته می شود. قابل توجه است که P2TR از یک الگوریتم امضای دیجیتال به نام Schnorr استفاده می کند که با فرمت ECDSA مورد استفاده در انواع تراکنش های بیت کوین قبلی متفاوت است. امضاهای Schnorr چندین مزیت از جمله کاهش هزینه تراکنش اضافی و افزایش حریم خصوصی دارند.
با توجه به حریم خصوصی، تجمیع کلید و امضا که توسط Schnorr ممکن شده است، اجازه میدهد که آدرسهای multisig از singlesig غیرقابل تشخیص باشند، و شرایط هزینه کامل برای یک آدرس P2TR لزوماً به صورت عمومی آشکار نمیشود. خالق آدرس حتی میتواند شامل چندین اسکریپت بازخرید سفارشی شده باشد تا بعداً بیت کوین را خرج کند.
آدرسهای P2TR دارای 62 کاراکتر هستند و از رمزگذاری Bech32m استفاده میکنند، یک نسخه کمی تغییر یافته از Bech32، همانطور که در BIP 350 توضیح داده شده است. آدرسهای P2TR را میتوان با پیشوند bc1p منحصربهفردشان شناسایی کرد.
حقایق فوری
نمودار مرجع
اکنون که همه روشهای استاندارد شده برای دریافت بیتکوین را به صورت زنجیرهای پوشش دادهایم، برخی از حقایق سریع و ویژگیهای آدرس را میتوان در یک نمودار مناسب برای مرجع ترکیب کرد.
در ابتدا در Unchained.com منتشر شد.
Unchained شریک رسمی نگهبانی مشترک ایالات متحده مجله بیت کوین و حامی یکپارچه محتوای مرتبط منتشر شده از طریق مجله بیت کوین است. برای اطلاعات بیشتر در مورد خدمات ارائه شده، محصولات حضانت، و رابطه بین Unchained و مجله بیت کوین، لطفا از وب سایت ما دیدن کنید.