عناوینی که در این مقاله می خوانید
BIP32 یا پیشنهاد بهبود بیتکوین شماره ۳۲، یک پروتکل است که ورود کیفهای مقدماتی تصادفی سلسلهمراتبی (HD) را به دنیای رمزارزها معرفی کرد. کیفهای HD نسبت به کیفهای سنتی تغییرات اساسی دارند، زیرا این امکان را به کاربران میدهند که از یک کلید والد تعدادی کلید فرزندی ایجاد کنند.
به عبارت دیگر، کاربران قادرند با استفاده از یک کلید، چندین آدرس منحصر به فرد بسازند. این استاندارد توسط پیتر ویوله، یکی از توسعه دهندگان اصلی بیتکوین کور، پیشنهاد شد و در فوریه ۲۰۱۲ منتشر شد. هدف اصلی این پیشنهاد، بهبود محدودیتهای کیفهای غیرمقدماتی بود که برای هر آدرس جدید، نیاز به یک نسخه پشتیبان جدید داشتند.
BIP32 نحوه عملکرد خود را به دو مفهوم اصلی توجه میکند:
اشتقاق کلید و ساختار درخت سلسلهمراتبی.
اشتقاق کلید: در کیف پول HD BIP32، همه کلیدها و آدرسها از یک کلید اصلی به نام “کلید خصوصی اصلی والد” مشتق میشوند. کلیدهای فرزند (خصوصی و عمومی) به طور قطعی از این ریشه اشتقاق مییابند؛ به عبارت دیگر، همیشه میتوانید یک مجموعه یکسان از کلیدها را از کلید اصلی تولید کنید. این سیستم همچنین حریم خصوصی را تضمین میکند زیرا میتوانید کلیدهای عمومی را بدون نیاز به آشکارسازی کلیدهای خصوصی متناظر تولید کنید.
ساختار درختی سلسلهمراتبی: BIP32 امکان سازماندهی کلیدها در یک ساختار درختی چند سطحی را فراهم میکند. این به این معنی است که میتوانید کلیدهای فرزند، کلیدهای نوه و غیره را به صورت سلسلهمراتبی سازماندهی کنید. این امکان را به شما میدهد که موجودی را در شاخههای مختلف (حسابها، زیرحسابها) تحت یک کیف پول واحد مدیریت کنید.
این دو ویژگی با هم، فرآیند پشتیبانگیری را بسیار سادهتر میکنند زیرا تنها نیاز به یک نسخه پشتیبان از کلید اصلی (seed) برای بازیابی همه کلیدها و آدرسهای مشتق شده است.
کلیدهای توسعهیافته
متد BIP39 (128-256 بیت) یک کلید خصوصی اصلی (256 بیت) را با استفاده از عملکرد هش HMAC SHA512 تولید میکند. یک کد زنجیرهای اصلی با 256 بیت آنتروپی اضافه شده است تا کلیدهای مشتق شده از کلید اصلی تنها به خود کلید اصلی وابسته نباشند.
کلید خصوصی توسعهیافته به صورت (k, c) نشان داده میشود، که در آن k کلید خصوصی عادی و c کد زنجیرهای است. هر کلید توسعهیافته مشتق شده از کلید والد دارای 231 کلید فرزند معمولی و 2³¹ کلید فرزند سخت شده است. هر کدام از این کلیدها دارای یک شاخص میباشند. کلیدهای فرزند معمولی از شاخصهای 0 تا 2³¹-1 استفاده میکنند. کلیدهای فرزند سخت شده از شاخصهای 2³¹ تا 2³¹-1 استفاده میکنند.
تابع مشتق کودک (CKD)
با در نظر گرفتن یک کلید توسعهیافته والد و یک شاخص “i”، میتوانیم کلید توسعهیافته فرزند مربوطه را محاسبه کنیم، اما برای انجام این کار، الگوریتم بستگی به این دارد که فرزند یک کلید سخت شده باشد یا خیر، و همچنین اینکه آیا درباره کلید خصوصی یا عمومی صحبت میکنیم. تابع هش HMAC-SHA512 سه ورودی را میپذیرد: کلید خصوصی یا عمومی والد، شماره فهرست I و کد زنجیره والد. خروجی تابع شامل یک هش 256 بیتی چپ و یک هش 256 بیتی راست است.
اگر کلید یک کلید سخت شده باشد، کلید خصوصی فرزند را دریافت خواهیم کرد که در آن بیتهای هش سمت چپ به کلید خصوصی والد اضافه میشوند.
HDW به عنوان چندین “حساب” سازماندهی شده است. حسابها شمارهگذاری میشوند و حساب پیشفرض با عدد 0 مشخص میشود. هر حساب شامل دو زنجیره کلید است: زنجیره داخلی و زنجیره خارجی. از زنجیره خارجی برای تولید آدرسهای عمومی جدید استفاده میشود، در حالی که زنجیره کلید داخلی برای سایر عملیاتی که نیازی به ارتباط ندارند، استفاده میشود.
کیف پول قطعی سلسله مراتبی (HD)
به یک کیف پول رمزنگاری اشاره دارد که از ساختار سلسله مراتبی برای استخراج جفت کلید (کلیدهای عمومی و خصوصی شما) استفاده میکند. این کیف پول در سطح پایه به شما امکان میدهد تا با یک کیف پول رمزنگاری واحد، چندین حساب را مدیریت کنید. علاوه بر این، به شما اجازه میدهد تا در سطوح بالاتر، چندین جفت کلید ایجاد کنید و هر جفت کلید قادر است یک حساب جداگانه را کنترل کند.
کیف پولهای HD جفتهای کلید خود را در چندین لایه تولید میکنند، به طوری که هر لایه مسئول تولید لایه بعدی جفت کلید باشد. همچنین، آنها میتوانند کلیدهای عمومی را مستقیماً از کلیدهای خصوصی تولید کنند بدون اینکه نیازی به انتقال کلید عمومی از کلید خصوصی وجود داشته باشد. برای توضیح اهمیت این موضوع، ابتدا به مشکلی که آنها سعی در حل آن دارند، میپردازیم.
کیف پولهای سختافزاری Trezor از پروتکل BIP32 به عنوان ستون اصلی سیستم مدیریت کلید استفاده میکنند. هنگامی که یک دستگاه Trezor به تنظیمات اولیه میرسد، از طریق BIP39 یک بذر بازیابی با 12، 18 یا 24 کلمه تولید میشود. این بذر، کلید اصلی برای فرآیند استخراج کلید BIP32 است.
استفاده از BIP32 مزایای قابل توجهی دارد. اولاً، روشهای پشتیبانگیری را بسیار سادهتر میکند، زیرا کاربران فقط نیاز دارند بذر بازیابی BIP39 خود را بهصورت امن نگهداری کنند تا از دسترسی به تمامی کلیدهای خود اطمینان حاصل کنند. ثانیاً، حریم خصوصی را بهبود میبخشد، زیرا به کاربران اجازه میدهد برای هر تراکنش، آدرسهای جدیدی ایجاد کنند و ردیابی را دشوارتر کند. در نهایت، ساختار سلسله مراتبی به کاربران این امکان را میدهد تا داراییهای خود را در حسابها و زیرحسابهای مختلف به صورت سازماندهی شده سازماندهی کنند.
در پایان، BIP32 تغییرات قابل توجهی را در مدیریت کلیدها و آدرسها در کیف پولها به ارمغان آورده است و برای کاربران امنیت، بازیابی و سازماندهی داراییهای دیجیتالشان را آسانتر میکند. با استفاده از BIP32، ترزور به کاربران یک راه ایمن، کارآمد و کاربرپسند برای مدیریت ارزهای دیجیتال خود ارائه میدهد.
هر بار که کاربر تمایل دارد یک حساب یا آدرس جدید در کیف پول Trezor خود ایجاد کند، از BIP32 برای استخراج کلیدهای جدید از سید (seed) اصلی استفاده میشود. این به این معنی است که کاربران قادرند چندین حساب و آدرس را مدیریت کنند که همگی به سید (seed) بازیابی اصلی مرتبط هستند.
نظرات کاربران