این صفحه به‌طور خودکار از انگلیسی ترجمه شده است.ترجمهٔ خودکار.

Switch to EnglishView in Englishگزارش مشکل در ترجمهپیشنهاد اصلاح

بازگشت به درس‌ها

فصل ⁨5⁩ - ⁨0⁩ آزمون از ⁨10⁩ آزمون گذرانده شده است

آدرس‌ها و شرایط خرج کردن

آدرس یک شرط خرج کردن است، نه یک حساب.

  • توضیح دهید که آدرس برای P2PKH، P2WPKH و P2TR چگونه مشتق می‌شود
  • شرح دهید که مجموع کنترلی از چه چیزی محافظت می‌کند و چرا استفادهٔ مجدد از آدرس به حریم خصوصی آسیب می‌زند

پاسخ‌های کوتاه

آدرس Bitcoin چیست؟

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

آیا مجموع کنترلی آدرس Bitcoin جلوی کلاهبرداری‌ها را می‌گیرد؟

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

چرا نباید از یک آدرس Bitcoin دوباره استفاده کنید؟

استفادهٔ مجدد، پرداخت‌های شما را در یک دفتر کل عمومی به هم مرتبط می‌کند؛ استفاده از یک آدرس جدید برای هر پرداخت از حریم خصوصی شما محافظت می‌کند.

تبدیل کلید به آدرس به نوع آن بستگی دارد

فرمول واحدی برای تبدیل کلید عمومی به آدرس وجود ندارد. برای P2PKH، کلید عمومی با HASH160 به hash تبدیل شده و با Base58Check کدگذاری می‌شود. برای P2WPKH، همان hash با Bech32 و پیشوند bc1 کدگذاری می‌شود. برای P2TR (Taproot)، کلید تغییر جزئی یافته و به‌عنوان یک کلید عمومی x-only با Bech32m کدگذاری می‌شود؛ در اینجا هیچ hash از کلید گرفته نمی‌شود. هر نوع، یک شرط خرج کردن متفاوت است.

مجموع‌های کنترلی اشتباهات را تشخیص می‌دهند

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

آدرس‌ها قفل هستند

یک تراکنش خروجی‌ای می‌سازد که روی یک شرط خرج کردن قفل شده است. آدرس روشی قابل خواندن برای انسان جهت توصیف آن شرط است. کلید متناظر بعداً امضای لازم برای باز کردن قفل و خرج کردن آن را فراهم می‌کند. به همین دلیل «ارسال سکه به یک آدرس» در واقع یعنی «ایجاد خروجی‌ای که این اسکریپت می‌تواند آن را خرج کند».

استفادهٔ مجدد و حریم خصوصی

استفادهٔ مجدد از یک آدرس، تمام پرداخت‌ها را به یک مالک واحد مرتبط می‌کند و تحلیل زنجیره را آسان‌تر می‌سازد. یک کیف پول (wallet) خوب برای هر پرداخت یک آدرس تازه می‌سازد و ممکن است از خروجی‌های باقی‌مانده استفاده کند که به مدیریت دقیق نیاز دارند. یک کیف پول فقط برای مشاهده می‌تواند یک کلید عمومی توسعه‌یافته (xpub) را بدون نگه‌داشتن کلیدهای خرج‌کردن دنبال کند که این کار برای حسابداری و سیستم‌های ایزوله (air-gapped) مفید است.

امتحان کنید

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

کلید عمومی فشرده‌شده0338d94fa4235329f32c493a01b09f1c177c97c1e269a46bbb36dbbc88591d639a
آدرس regtest — هرگز به آن وجه ارسال نکنیدbcrt1qmaqcl8t3pfuh8k32gp3mcs4lskwwe3llfxa0j4

نکات کلیدی که باید به خاطر بسپارید

یک آدرس، شرط خرج‌کردن را کدگذاری می‌کند و نحوهٔ اشتقاق آن بر اساس نوع آدرس متفاوت است: hash کلیدها برای P2PKH/P2WPKH و کلید تغییریافته‌ای که فقط از مختصات x آن استفاده می‌شود برای Taproot. کدهای کنترلی خطاهای تایپی را تشخیص می‌دهند، نه نیت بدخواهانه را؛ آدرس‌های تازه از حریم خصوصی محافظت می‌کنند.

یادآوری کنید، سپس به کار ببرید

چرا باید از یک آدرس دریافت تازه استفاده کنید و چرا معتبر بودن کد کنترلی (checksum) کافی نیست؟

توضیح خود را بررسی کنید

استفادهٔ مجدد، پرداخت‌ها را به هم مرتبط می‌کند. کد کنترلی بسیاری از خطاهای رونویسی را تشخیص می‌دهد اما هویت گیرنده را تأیید نمی‌کند. یک کیف پول فقط برای مشاهده می‌تواند آدرس‌ها را مشتق کند اما نمی‌تواند امضا کند.

ارزیابی

سؤال ⁨1⁩ از ⁨3⁩

یک مهاجم آدرس کپی‌شده را با یک آدرس معتبر دیگر جایگزین می‌کند. آیا کد کنترلی آن از شما محافظت می‌کند؟

سؤال ⁨2⁩ از ⁨3⁩

کدام نوع آدرس به جای hash کلید، یک کلید عمومی تغییریافته را در خروجی قرار می‌دهد؟

سؤال ⁨3⁩ از ⁨3⁩

چرا باید برای هر پرداخت از یک آدرس دریافت تازه استفاده کنید؟

اصطلاحات کلیدی

منابع

بازبینی‌شده در ⁨۲۵ اکتبر ۲۰۲۶⁩ · توصیهٔ مالی نیست