ব্লক হেডারে সংস্করণ ক্ষেত্রের সীমাবদ্ধতা কি?

nVersion একটি 4-বাইট লিটল-এন্ডিয়ান স্বাক্ষরিত পূর্ণসংখ্যা। লিটল-এন্ডিয়ানেস মানে হল সবচেয়ে কম উল্লেখযোগ্য বাইট প্রথম। একটি বাইটে বিটের ক্রম একই থাকে।

আমি নিম্নলিখিত বিধিনিষেধ সম্পর্কে সচেতন:

  • BIP65-এর জন্য ব্লকে কমপক্ষে 4 সংস্করণ থাকা প্রয়োজন।
  • থেকে nVersion একটি স্বাক্ষরিত পূর্ণসংখ্যা, শীর্ষ বিট সেট করা এটিকে নেতিবাচক করে তুলবে।

অতএব, যে কোনো বিট প্যাটার্ন যা টপ বিট সেট করে না এবং পজিশন 2…30 এর মধ্যে অন্তত একটি বিট সেট করে তাকে অনুমতি দেওয়া হবে।

মনে রাখবেন যে একটি BIP-9-শৈলী স্থাপনার প্রেক্ষাপটে, শীর্ষ তিনটি বিট সেট করা আবশ্যক 001 এবং শুধুমাত্র সেই ক্ষেত্রে অবশিষ্ট বিটগুলিকে একটি বিট ভেক্টর হিসাবে ব্যাখ্যা করা হয় যেখানে প্রতিটি অবস্থান সফ্টফর্ক প্রস্তাব সক্রিয় করার জন্য প্রস্তুতি নির্দেশ করতে পারে।

আসুন হেক্সাডেসিমেল এবং বাইনারিতে কিছু উদাহরণ দেখি:

সাইন (টপবিট):

0b 00000000 00000000 00000000 ±0000000
                              ^
                              Sign (topbit)

সংস্করণ 0:

0x 00       00       00       00
0b 00000000 00000000 00000000 00000000
   ^                          ^
   LSB                        MSB

সংস্করণ 1:

0x 01       00       00       00
0b 00000001 00000000 00000000 00000000

সংস্করণ 4:

0x 04       00       00       00
0b 00000100 00000000 00000000 00000000

BIP-9 (উল্লেখিত নয়):

0x 00       00       00       20
0b 00000000 00000000 00000000 00100000

Taproot এর জন্য বিট 2 এ সংকেত দেওয়া:

0x 04       00       00       20
0b 00000100 00000000 00000000 00100000

Source link

Leave a Comment