بچ۳۲

از سیمرغ
پرش به ناوبری پرش به جستجو

بچ۳۲ (به انگلیسی: Bech32) ریخت نشانی سگویتی‌ای است که در پیشنهاد‌های بهبود بیت‌کوین ۱۷۳ و ۳۵۰ شناسانده شده. این ریخت نشانی با نام «نشانی‌های bc1» هم شناخته می‌شود و در پر کردن بلوک بهینه‌تر است. همچنین بر وارون ریخت‌های پیشین، در برابر بزرگ یا کوچک بودن وات‌ها(حرف‌ها) شکننده نیست.

چگونگی ساخت[ویرایش | ویرایش مبدأ]

یک نشانی بچ۳۲ از کلید همه‌بین اینگونه ساخته می‌شود:

  1. کلید همه‌بین فشرده را داریم ( 0x02 یا 0x03 و در پی آن ۳۲ بیت ویژگی x خم): 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
  2. با شا-۲۵۶ کلید همه‌بین را درهم‌سازی می‌کنیم: 0f715baf5d4c2ed329785cef29e562f73488c8a2bb9dbc5700b361d54b9b0554
  3. با رایپ‌اِم‌دی-۱۶۰ درهم بدست آمده را دوباره درهم‌سازی می‌کنیم: 751e76e8199196d454941c45d1b3a323f1433bd6
  4. فرآورده‌ی گام ۳ آرایه‌ای از شماره‌های درست بی‌نشان ۸بیتی (۲۵۶=۸^۲) است و کدگذاری بچ۳۲ این را به آرایه‌ای از شماره‌های درست بی‌نشان ۵بیتی برمی‌گرداند پس بایت‌ها رو «مچاله» می‌کنیم تا بگیریم:
    • به شانزده‌شانزدهی:0e140f070d1a001912060b0d081504140311021d030c1d03040f1814060e1e16
    • به شماره: n14 20 15 07 13 26 00 25 18 06 11 13 08 21 04 20 03 17 02 29 03 12 29 03 04 15 24 20 06 14 30 22
    • دودویی ۵بیتی: b01110 10100 01111 00111 01101 11010 00000 11001 10010 00110 01011 01101 01000 10101 00100 10100 00011 10001 00010 11101 00011 01100 11101 00011 00100 01111 11000 10100 00110 01110 11110 10110
  5. بایت نگارش گواه را به پیش از فرآورده‌ی گام ۴ می‌افزاییم (نگارش کنونی 0 است): 000e140f070d1a001912060b0d081504140311021d030c1d03040f1814060e1e16
  6. انباشت‌سنج(چکسام) را با داده‌ی گام ۵ و H.R.P (bc برای شبکه‌ی اصلی و tb برای شبکه‌ی آزمایشی تست‌نت) پردازش می‌کنیم: 0c0709110b15
  7. انباشت‌سنج را به ته فرآورده‌ی گام ۵ می‌افزاییم (اکنون آرایه‌ای از شماره‌های درست ۵بیتی داریم): 000e140f070d1a001912060b0d081504140311021d030c1d03040f1814060e1e160c0709110b15
  8. هر ارزش را با نویسه‌ی همتای آن در Bech32Chars (qpzry9x8gf2tvdw0s3jn54khce6mua7l) جایگزین می‌کنیم: example:00 -> q, 0e -> w,… qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4
  9. نشانی کدگذاری شده با بچ۳۲ سه بخش دارد: HRP + جداکننده + داده: bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4

فرآورده‌ی پایانی در گام ۹ همان نمونه‌ی آمده در بیپ۱۷۳ است.