Към съдържанието
ДаретеEN

Ключове и адреси

Сийд фраза

Сийд фраза биткойн са 12 до 24 думи по BIP 39, с ентропия и контролна сума. Вижте как думите стават сийд и какво прави допълнителната парола.

От Dimitar Zurnov · Обновено на 4 ноември 2026
Адаптирано от Learn Me a Bitcoin на Greg Walker.

Сийд фраза, наричана още мнемонична фраза или мнемоника, е списък от 12 до 24 думи, взети от фиксиран списък от 2048. Думите кодират голямо случайно число, наречено ентропия, плюс къса контролна сума. Key stretching (бавно хеширане) превръща фразата в 64-байтов сийд, а от сийда тръгва HD портфейлът. Правилата са описани в BIP 39.

Фразата е резервното копие на целия портфейл. Който я има, може да възстанови всеки ключ, затова я запишете, пазете офлайн и никога не я въвеждайте в уебсайт.

Защо портфейлите ползват думи?

Портфейлът се нуждае от случайно число от 128 до 256 бита, което хората не могат да копират надеждно. Записано в шестнадесетичен вид, 128 бита са 32 знака без проверка за грешки. Записани като 12 думи, същите битове са лесни за четене на глас и за писане на ръка.

Списъкът с думи е проектиран за това. Той има 2048 английски думи, като никои две думи нямат еднакви първи четири букви, така че телефонът може да допълни думата, след като напишете четири букви. Грешката при писане често дава дума, която не е в списъка, а контролната сума хваща повечето от останалите.

Списъци има и на други езици, например японски, испански или чешки. Английският е този, който портфейлите ползват най-често, и примерите в тази страница са на английски.

Как се създава мнемоника?

Създаването на фраза има три стъпки.

1. Създайте ентропията

Генерирайте между 128 и 256 бита случайност, на стъпки от 32 бита. Ползвайте сигурен източник на случайност, например генератора на операционната система. Общата функция за случайни числа в повечето езици за програмиране е бърза, но не е сигурна, затова не я ползвайте за ключове.

2. Добавете контролната сума и разделете на думи

Хеширайте ентропията веднъж с SHA-256. Вземете първите битове от хеша като контролна сума, по един бит на всеки 32 бита ентропия. Добавете контролната сума към ентропията, после нарежете резултата на групи по 11 бита. Всяка група е число от 0 до 2047, което избира една дума от списъка.

Ентропия Контролна сума Общо битове Думи
128 бита 4 бита 132 12
160 бита 5 бита 165 15
192 бита 6 бита 198 18
224 бита 7 бита 231 21
256 бита 8 бита 264 24

И 12, и 24 думи са добри. Фраза от 24 думи има повече ентропия, а фраза от 12 думи е по-лесна за пазене.

3. Превърнете думите в сийд

Прекарайте фразата през PBKDF2, който е описан по-долу. Резултатът е 64 байта, а това е сийдът на портфейла.

Как изглежда фраза от 12 думи?

Примерът ползва официалния тестов вектор на BIP 39 с ентропия от 128 нулеви бита. Неговият SHA-256 започва с 37, което е 0011 в двоичен вид, така че контролната сума е 0011. Тези 132 бита се делят на дванайсет групи по 11 бита. Всяка група става една дума.

Нулевата ентропия става на дванайсет групи по 11 бита, всяка е индекс към списъка с думи. Последната дума е about. 128 нулеви бита ентропия, после 4 контролни бита: 0011 (от SHA-256) група от 11 бита индекс дума 00000000000 0 abandon 00000000000 0 abandon 00000000000 0 abandon 00000000000 0 abandon 00000000000 0 abandon 00000000000 0 abandon 00000000000 0 abandon 00000000000 0 abandon 00000000000 0 abandon 00000000000 0 abandon 00000000000 0 abandon 00000000011 3 about
Примерът с нулева ентропия. Единайсет групи са 0, което е abandon. Последната е 3, което е about.

Фразата е abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about. Всеки може да я намери, затова тя никога не трябва да държи монети. Ползвайте я само за проверка на кода си.

Как се създава сийдът?

Сийдът идва от PBKDF2 с HMAC-SHA512, изпълнен за 2048 итерации, с 64-байтов изход. Фразата е входът (password в PBKDF2). Солта е фиксираният текст mnemonic, плюс незадължителната допълнителна парола. И двете стойности се нормализират с NFKD, преди да се ползват.

PBKDF2 е бавен нарочно. Всеки опит за фраза струва 2048 итерации на HMAC, което прави големите търсения скъпи.

Мнемониката и солта минават през PBKDF2 и дават 64-байтов сийд, а допълнителната парола дава друг, несвързан сийд. мнемоника: 12 думи фразата като password, в UTF-8 NFKD PBKDF2-HMAC-SHA512, 2048 пъти salt: "mnemonic" + passphrase сийд без passphrase 5eb00bbddcf069084889a8ab91555681 65f5c453ccb85e70811aaed6f6da5fc1 9a5ac40b389cd370d086206dec8aa6c4 3daea6690f20ad3d8d48b2d2ce9e38e4 сийд с passphrase TREZOR c55257c360c07c72029aebc1b53c05ed 0362ada38ead3e3e9efa3708e5349553 1f09a6987599d18264c1e1c92f2cf141 630c7a3c4ab7c81b2f001698e7463b04 64 байта, по 32 шестнадесетични цифри на ред
Една и съща фраза дава два несвързани 64-байтови сийда, единият с допълнителната парола TREZOR. И двата са от тестовите вектори на BIP 39.

С празна допълнителна парола сийдът на примерната фраза е 5eb00bbddcf069084889a8ab9155568165f5c453ccb85e70811aaed6f6da5fc19a5ac40b389cd370d086206dec8aa6c43daea6690f20ad3d8d48b2d2ce9e38e4.

Какво прави допълнителната парола?

Допълнителната парола е незадължителна дума, която понякога се нарича 25-ата дума. Тя не е част от фразата. Добавя се към солта, така че друга допълнителна парола дава напълно различен сийд. Същите 12 думи с допълнителната парола TREZOR дават c55257c360c07c72029aebc1b53c05ed0362ada38ead3e3e9efa3708e53495531f09a6987599d18264c1e1c92f2cf141630c7a3c4ab7c81b2f001698e7463b04, който не прилича на сийда по-горе.

Това има три последствия.

  • Допълнителната парола не е PIN. Без нея фразата сама отваря портфейла.
  • Грешната допълнителна парола не дава грешка. Тя отваря празен портфейл, което може да изглежда като изгубени средства.
  • Запазете допълнителната парола отделно от думите. Ако я загубите, думите няма да възстановят монетите.

Как да проверите, че фразата е валидна?

Фразата носи собствена контролна сума, така че можете да я проверите, преди да разчитате на нея. Вземете индекса на всяка дума, свържете 11-битовите групи в един низ от битове и отделете контролната сума в края. Хеширайте частта с ентропията със SHA-256, вземете същия брой битове и ги сравнете.

Случаен списък от 12 думи минава проверката в около един от 16 случая. Фраза от 24 думи има 8-битова контролна сума, така че само около един от 256 случайни списъка минава.

Този Python код строи фразата от ентропия и ползва английския списък с думи от BIP 39, запазен като english.txt. Нуждае се само от стандартната библиотека.

import hashlib

def mnemonic_from_entropy(entropy: bytes, wordlist: list[str]) -> str:
    cs_len = len(entropy) * 8 // 32                      # checksum bits
    checksum = hashlib.sha256(entropy).digest()           # one SHA-256 pass
    bits = bin(int.from_bytes(entropy, "big"))[2:].zfill(len(entropy) * 8)
    bits += bin(int.from_bytes(checksum, "big"))[2:].zfill(256)[:cs_len]
    return " ".join(wordlist[int(bits[i:i + 11], 2)] for i in range(0, len(bits), 11))

words = [w.strip() for w in open("english.txt")]
print(mnemonic_from_entropy(bytes(16), words))            # ... about

Сийдът идва от още едно извикване, hashlib.pbkdf2_hmac("sha512", phrase.encode(), ("mnemonic" + passphrase).encode(), 2048). Кодът пропуска NFKD нормализацията, която изисква BIP 39. За английските думи това не променя нищо, но библиотеката я прави за всеки език. За истински портфейли ползвайте библиотека и първо проверете всеки код с тестовите вектори.

Как да пазите сийд фразата си?

  • Запишете думите на хартия и пазете листа офлайн, на повече от едно място.
  • Никога не пазете фразата в снимка, облачна бележка, имейл или мениджър на пароли, от който не можете да я възстановите.
  • Никога не въвеждайте фразата в уебсайт и никога не ползвайте фраза, която уебсайт е генерирал за вас. Сайтът може да запази копие.
  • Проверете, че портфейлът ви може да се възстанови от фразата, с малка сума, преди да местите големи суми.

Какво да запомните за сийд фразите?

  • Мнемониката е 12 до 24 думи, които кодират от 128 до 256 бита ентропия плюс контролна сума.
  • PBKDF2 превръща фразата и незадължителната допълнителна парола в 64-байтов сийд.
  • Сийдът е коренът на портфейла, така че фразата е най-чувствителното резервно копие, което държите.

Следващо прочетете разширени ключове, за да видите как сийдът става главен ключ, и пътища за деривация, за да видите как портфейлът намира всеки адрес от него.

В този раздел: Ключове и адреси

Целият курс „Биткойн от нулата“

Нещо не изглежда наред? Кажете ни