Мастер-ключ и цепной код получают как HMAC-SHA512("Bitcoin seed", seed). Дочерний ключ с индексом i получают из HMAC, где ключом служит цепной код родителя, а данными — открытый ключ родителя (обычная деривация, i меньше 2³¹) или его закрытый ключ (усиленная деривация, hardened: i не меньше 2³¹, записывается как i'). Расширенные ключи сериализуются в 78 байт (версия, глубина, отпечаток родительского ключа, индекс, цепной код и ключ) и кодируются в Base58Check как xprv… или xpub….
У обычной деривации есть опасная особенность: xpub вместе с закрытым ключом любого неусиленного дочернего ключа раскрывает закрытый ключ родителя, поэтому никогда не раскрывайте дочерние закрытые ключи узла, xpub которого вы кому-то передали. Усиленные уровни в стандартных путях (m/84'/0'/0') ограничивают этот риск. Кошельки Ethereum используют ту же схему на secp256k1.