کلید خصوصی اصلی Master Private Key یک کلید ۲۵۶ بیتی است که از یک عبارت اولیه تولید می شود که امکان ایجاد تعداد بی نهایت کلید را در یک کیف پول قطعی یا کیف پول HD فراهم می کند.
این یک کلید اصلی است که برای هر کیف پول منحصر به فرد است و به عنوان اصلی یا شروع کیف پول مذکور ذخیره می شود.
از کلید خصوصی اصلی کلید عمومی اصلی یا کلید عمومی اصلی.
سپس یک مجموعه کامل از کلیدهای خصوصی (Xpriv) نیز از کلید خصوصی اصلی تولید می شود.
و با آنها می توانید آدرس های مختلف مرتبط با کیف پول را مدیریت کنید.
به عبارت ساده، کلید خصوصی اصلی کل کیف پول قطعی و از آن کلید عمومی اصلی را شروع می کند.
اما نه تنها این، آنها همچنین تمام کلیدهای خصوصی (Xpriv) را که برای مدیریت موجودی موجود در آدرس های مختلف کیف پول مورد نیاز است، استخراج می کنند.
آنها باید کیف پول HD را به عنوان یک درخت درک کنند.
از هر شاخه می توان شاخه های جدیدی پدید آمد.
خوب، هر گره از این شاخه ها امکان تولید یک کلید خصوصی اصلی را فراهم می کند.
این کلید به آنها اجازه میدهد تا کلیدهای عمومی و خصوصی تمام شاخههایی را که از آن گره تولید میشوند، تولید کنند.
با این حال، نمی تواند کلیدها را از سایر گره های موازی یا قبلی ایجاد کند.
یعنی به این ترتیب می توان از یک Master Private Key برای محدود کردن استفاده از همان seed استفاده کرد.
کلید خصوصی اصلی گره ۰ روی تمام آدرس هایی که می توان تولید کرد کنترل دارد.
اما شما می توانید کلیدهایی ایجاد کنید که بتوانید آنها را کنترل کنید، اما بین آنها نمی توان آنها را کنترل کرد.
شما هرگز نباید کلید خصوصی اصلی را به کسی بدهید یا فاش کنید.
مگر اینکه بخواهید آن شخص/ماشین به تمام وجوه آدرس هایی که از آن کلید تولید می شود دسترسی داشته باشد.
عملکرد کلید خصوصی اصلی در کیف پول های HD
پیادهسازی کیفپولهای قطعی سلسله مراتبی بیتکوین که به عنوان کیف پولهای HD نیز شناخته میشوند، به منظور بهبود امنیت و تسهیل فرآیند بازیابی وجوه موجود در آنها ایجاد شدهاند.
اگرچه آنها نیز به منظور ایجاد و به دست آوردن چندین کلید که از یک ریشه یا دانه شروع می شوند، توسعه یافته اند.
از بین بردن نیاز به تولید تصادفی آدرس های متعدد با کلیدهای خصوصی، مانند کیف پول های قدیمی.
این نوع کیف پول ها، که در ۳۲ BIP توضیح داده شده است، ساختار درختی دارند که در آن یک کلید اصلی (کلید خصوصی اصلی) مجموعه ای از کلیدهای مشتق شده از آن را ایجاد می کند که مجموعه های دیگری از کلیدها از آن مشتق می شوند.
اگر این را به عنوان یک خط نزولی نشان دهیم، می توان گفت که کلید خصوصی اصلی نقش پدر را بازی می کند و دنباله کلیدهای تولید شده در وهله اول دختران آن خواهند بود.
بعد از آن مجموعه کلیدها، کلیدهای تولید شده جدید را می توان به عنوان نوه و غیره دید.
کیف پول های HD از الگوریتم HMAC-SHA512 برای تولید هش استفاده می کنند که کلید خصوصی اصلی را از یک دانه شروع می کند.
سپس، از کلید خصوصی اصلی، CMaster Public از طریق یک فرآیند ریاضی ضرب منحنی بیضوی معمولی شستشو میشود.
به همین ترتیب، از همان هش مشتق شده از الگوریتم، یک کد زنجیره ای ایجاد می شود که اجازه تولید کلیدهای جدید مشتق شده از کلیدهای اصلی را می دهد.
یعنی از کلید خصوصی اصلی، کلیدهای خصوصی (Xpriv) که آدرسها و منابع مالی آنها را مدیریت میکنند ایجاد میشوند، و از کلید عمومی اصلی، کلیدهای عمومی (Xpub) از جایی که آدرسها تولید میشوند، مشتق میشوند، اما آنها هستند. مدیریت نشده است.
و از آنجایی که تمام این داده ها با شروع از همان دانه تولید می شوند، امکان بازیابی آن وجود دارد. حتی با استفاده از seed می توان دوباره کیف پول را در هر دستگاهی بازسازی کرد.
اهمیت کلید خصوصی اصلی
برای اینکه بتوانید کیف پول را پشتیبان بگیرید، صادر کنید یا وارد کنید، یا در بدترین حالت آن را بازیابی کنید.
همه اینها به لطف اجرای کیف پول های HD و ساختار نزولی آنها امکان پذیر است.
جایی که کلید خصوصی اصلی، عملکرد مهمی را انجام می دهد، زیرا این کلید تمام مجموعه کلیدهایی را که امکان مدیریت کیف پول را فراهم می کند، استخراج می کند.
از آنجایی که تمام اطلاعات موجود در کیف پول HD به صورت قطعی و سلسله مراتبی از seed گرفته می شود و بعداً از Master Private Key، می توان کل کیف پول را در هر کیف پول یا دستگاه سازگار دیگری که فقط از Seed شروع می شود دوباره ایجاد کرد.
با اطمینان کامل از اینکه کلید خصوصی اصلی و همه کلیدهای مشتق شده از آن، صدها، هزاران یا میلیون ها، نیز بازیابی خواهند شد.
و البته با آنها تمام وجوهی که ذخیره شده بود.
بنابراین میتوانید این ساختار درختی را طوری در نظر بگیرید که انگار بالای درخت، کلید خصوصی اصلی است، که تعداد نامحدودی کلید خصوصی (Xpriv) به ترتیب نزولی از آن مشتق میشود.
بنابراین، هر یک از آن کلیدهای خصوصی مشتق شده را می توان به سادگی با داشتن کلید خصوصی اصلی بازیابی کرد.
اما این روند را نمی توان به صورت معکوس انجام داد.
یعنی با شروع از کلید خصوصی ثانویه قابل بازیابی نیست.
شناسایی کلیدهای خصوصی اصلی و کلیدهای مشتق شده از آنها
ساختار نزولی در یک کیف پول HD بی نهایت است، بنابراین می تواند به اندازه دلخواه عمیق باشد.
هر کلید مشتق شده از Master Private Key می تواند ۴ میلیارد کلید مشتق شده داشته باشد.
اما همچنین، هر یک از این کلیدها می توانند ۴ میلیارد دیگر داشته باشند، و بنابراین می تواند تعداد نامحدودی از فرزندان وجود داشته باشد.
بنابراین برای شناسایی کلیدهای اصلی و کلیدهای مشتق شده در کیف پول HD، از شرح مسیر استفاده می شود.
که اجازه می دهد تا هر سطح از فرزندان را که با نماد / (نوار) جدا شده اند مشاهده کنید.
این کار باعث می شود که به راحتی در ساختار درختی کیف پول پیمایش کنید.
به عنوان مثال، تمام کلیدهای خصوصی ثانویه مشتق شده از کلید خصوصی اصلی، که با حرف m (کوچک) شروع می شوند، بنابراین با توجه به سطح فرودشان به صورت m / x / و / z /… / منعکس می شوند.
اگر اولین کلید خصوصی ثانویه (دختر) مشتق از کلید خصوصی اصلی (پدر) داشته باشیم، به صورت m/0 منعکس می شود.
در حالی که اگر کلید خصوصی مشتق شده از ثانویه (نوه دختری) داشته باشیم، به صورت m / منعکس می شود. ۰/۱.
کل خط پایین کلید خصوصی اصلی این پارامترها را برآورده می کند، که از راست به چپ تا رسیدن به کلید خصوصی اصلی خوانده می شود.




