Langkau ke kandungan utama

BIP39 ምንድን ነው?

Dikemas kini hari ini

BIP-39 ዝርዝር መግለጫ በዋናነት ፅሁፍን (ለማስታወስ ቀላል የሆኑ ቃላት ስብስብ) መሠረት በማድረግ የዘፈቀደ የኪስ ቦርሳዎችን የመፍጠር አልጎሪትን እና ሂደትን ይገልጻል።

ዝርዝር መግለጫው ሁለት ዋና ዋና ክፍሎችን ያቀፈ ነው:

  1. ፅሁፍን እንዴት መፍጠር እንደሚቻል.

  2. የተፈጠረውን ፅሁፍ ወደ ብይን ቅጂ እንዴት እንደሚቀይር.

የሚከተለው ክፍል እነዚህን ሁለት ክፍሎች በመግለጽ የዘፈቀደ የኪስ ቦርሳዎችን እንዴት መፍጠር እንደሚቻል የሚያሳይ ነው.

ፅሁፍን መፍጠር

ፅሁፍን የመፍጠር አልጎሪዝም ሂደት እንደሚከተለው ነው:

ሂደቱ እንደሚከተለው ነው:

  1. 128 እስከ 256 ቢት (የደረጃ ጭማሪ 32 ቢት) የሆነ የዘፈቀደ ቅደም ተከተል (ኤንትሮፒ) ይፍጠሩ.

  2. በቀደመው ደረጃ የተፈጠረውን የዘፈቀደ ቅደም ተከተል SHA256 ያድርጉ እና የዘፈቀደ ቅደም ተከተል ቼክሱም (የኤንትሮፒ ርዝመት / 32, ለምሳሌ 128 ቢት ከሆነ N=4) ለማግኘት የHash እሴት የመጀመሪያውን N ቢት ይውሰዱ.

  3. በመጀመሪያው ደረጃ የተፈጠረውን የዘፈቀደ ቅደም ተከተል ቼክሱም መጨረሻ ላይ ያክሉ, ስለዚህ በምስሉ ላይ ባለው ምሳሌ መሰረት ቼክሱም ያለበት የዘፈቀደ ቅደም ተከተል 128 + 4 = 132 ቢት ይሆናል.

  4. በቀደመው ደረጃ ያለውን የዘፈቀደ ቅደም ተከተል በ11-ቢት ክፍሎች ይከፋፍሉ (split), ስለዚህ 128-ቢት የኤንትሮፒ ርዝመት ላለ ቅደም ተከተል, 12 ክፍሎች ይፈጠራሉ (132 / 11 = 12).

  5. በዚህ ጊዜ እያንዳንዱ 11-ቢት ክፍል ያለው እሴት ወደተወሰነ የ2048 ቃላት መዝገበ-ቃላት ይተረጎማል.

  6. በመጨረሻም የተቆረጠውን ቅደም ተከተል መሰረት በማድረግ የተፈጠረው የቃላት ስብስብ ፅሁፍ ነው።

ከፅሁፍ ቅጂ መፍጠር

ፅሁፍን ከፈጠርን በኋላ PBKDF2 አልጎሪዝምን በመጠቀም ቅጂ መፍጠር እንችላለን.

PBKDF2 ሁለት መለኪያዎችን ይፈልጋል: ፅሁፍ እና ጨው (salt). የጨው ዓላማ ክራኪንግን የበለጠ አስቸጋሪ ማድረግ ነው, እና በ BIP-39 ውስጥ የቅጂዎችን ለመጠበቅ ተጨማሪ የደህንነት ምክንያት ለማግኘት የይለፍ ቃል (passphrase) ማስተዋወቅ እንችላለን.

"PBKDF2 የ RSA Laboratories Public-Key Cryptography Standards (PKCS) ተከታታይ አካል ነው, በተለይ PKCS #5 v2.0, እንዲሁም በ Internet Engineering Task Force's RFC 2898 እንደታተመ ነው.

ከላይ ያለውን የፅሁፍ አፈጣጠር ተከትሎ, የሚከተለው ሰንጠረዥ የቅጂ አፈጣጠር አልጎሪዝምን ያሳያል.

  • የ PBKDF2 የመጀመሪያው መለኪያ ከላይ የተፈጠረው ፅሁፍ ነው።

  • የ PBKDF2 ሁለተኛው መለኪያ ጨው (salt) ሲሆን, ይህም በአጠቃላይ የፅሁፍ ገመድ እና በተጠቃሚ የቀረበ የሲፈር ገመድ አማራጭ ውህደት ያካትታል።

  • PBKDF2 የ HMAC-SHA512 አልጎሪዝምን ይጠቀማል, ይህም 2048 የሃሽ እሴቶችን በመጠቀም 512-ቢት እሴትን እንደ ቅጂ ይፈጥራል።

ከቅጂ የ HD ኪስ ቦርሳ መፍጠር

ከላይ የተፈጠረው ቅጂ የ HD ኪስ ቦርሳው ዋና ቅጂ (Root Seed) ሆኖ ያገለግላል, እና ማንኛውም የ HD ኪስ ቦርሳ ዋና ቅጂ መላውን የ HD ኪስ ቦርሳ ዳግም መፍጠር ይችላል.

generate-hd-master-key.jpeg

ዋናውን ቅጂ (Root Seed) ወደ HMAC-SHA512 አልጎሪዝም በማስገባት 512-ቢት ሃሽ ይገኛል, ከእነዚህ ውስጥ 256 ቢት ግራ የያዘው ዋና የግል ቁልፍ (Master Private Key) እና ቀኝ 256 ቢት ደግሞ ዋና የሰንሰለት ኮድ (Master Chain Code) ሆነው ያገለግላሉ. ከዚያ በኋላ, ዋናው የህዝብ ቁልፍ (Master Public Key) (264 ቢት) ከዋናው የግል ቁልፍ m ሊፈጠር ይችላል.

ከላይ ባለው ሰንጠረዥ ላይ እንደሚታየው, የ HD ቁልፍ በሚከተሉት መለኪያዎች ይፈጠራል.

  • የወላጅ የግል ቁልፍ ወይም የወላጅ የህዝብ ቁልፍ; (ሁለቱም ያልተጨመቁ 256 ቢት ECDSA ቁልፎች ናቸው).

  • 256-ቢት የወላጅ የሰንሰለት ኮድ.

  • 32-ቢት ኢንቲጀር የኢንዴክስ ቁጥር.

በተጨማሪ, ከላይ ያለው ሂደት ተደጋጋሚ ነው, እና በሰንጠረዥ ላይ የሚገኘው የልጅ የግል ቁልፍ በሚቀጥለው ደረጃ የወላጅ የግል ቁልፍ ሆኖ ሊያገለግል ይችላል.

በ (የወላጅ የህዝብ ቁልፍ, የወላጅ የሰንሰለት ኮድ, የኢንዴክስ ቁጥር) ወደ HMAC-SHA512 አልጎሪዝም በማስገባት, የተለያዩ የልጅ ቁልፎችን መፍጠር እንችላለን, እና በተመሳሳይ ደረጃ ብዙ የልጅ ቁልፎችን ለመፍጠር የኢንዴክስ ቁጥርን ማስተካከል እንችላለን.

ስለተራዘመ ቁልፍ (Extended Key)

ይህ የቁልፍ ማውጣት ተግባር (key derivation function) አንድ-መንገድ ስለሆነ, የልጅ ቁልፎች ሁሉ የparent keys ወይም በተመሳሳይ ደረጃ ያሉ እህት ቁልፎችን ማውጣት አይችሉም, የወላጅ ቁልፍና የparent chain code (ከወላጆቻቸው ወላጅ ደረጃ ቁልፍ እና chain code የተፈጠሩ) ብቻ ሁሉንም የልጅ ቁልፎችና የchild chain codes ማውጣት ይችላሉ, እንዲሁም ተዛማጅነት ያላቸው የchild public keys እና የፊርማ ግብይቶችን ለመቀበል አድራሻዎችን ይፈጥራሉ።

የቁልፍ እና የChain Code ጥምረት የተራዘመ ቁልፍ (extended key) ይባላል, እና የተራዘመ ቁልፍ ከዚያ በኋላ ያሉትን ሁሉንም ቅርንጫፎች ለመፍጠር ጥቅም ላይ ሊውል ይችላል.

በተራዘመ ቁልፍ ውስጥ ያለው ቁልፍ የግል ቁልፍ ወይም የህዝብ ቁልፍ ሊሆን ይችላል, ከchain code ጋር ተጣምሮ የተራዘመ የግል ቁልፍ (Extended Private Key) እና የተራዘመ የህዝብ ቁልፍ (Extended Public Key) ይባላሉ, በተለይ (k, c) እና (K, c) ተብለው ይጠራሉ, እ where the public key K = point(k).

የተራዘመ የግል ቁልፍን ከተራዘመ የህዝብ ቁልፍ ማውጣት አንችልም, ስለዚህ ለምሳሌ ለኢ-ኮሜርስ ለሆኑ የግብይት ሁኔታዎች, ክፍያ ለመቀበል ለእያንዳንዱ ግብይት አዲስ የህዝብ ቁልፍ እና አድራሻ መፍጠር ይቻላል, በተመሳሳይ ጊዜ የተራዘመ የግል ቁልፍ በወረቀት የኪስ ቦርሳ ወይም በሃርድዌር የኪስ ቦርሳ ውስጥ በደህና ከመስመር ውጭ ለሚደረጉ የግብይት ፊርማዎች ሊቀመጥ ይችላል. እንደሚታየው, የተራዘመ የህዝብ ቁልፍ ደህንነት በአንጻራዊ ሁኔታ ከፍተኛ ነው, እና የሚከተለው ሰንጠረዥ የተራዘመ ወላጅ የህዝብ ቁልፍን የልጅ የግል ቁልፍ ለመፍጠር እና የልጅ የህዝብ ቁልፍን ለመፍጠር የሚያደርገውን የእንቅስቃሴ ዘዴ ያሳያል:

Adakah ini menjawab soalan anda?