Это все описано в
BIP39 и
BIP32.
Мнемоническая фраза + пароль посредством хеш-функций преобразуются в огромное число, которое тоже по определенному алгоритму преобразуется в корневой приватный мастер-ключ, из которого получаются ключи следующего уровня, из тех следующего и так далее. Получается большое ветвистое дерево ключей, где каждый ключ занимает строго определенное место (derivation path) в иерархии (поэтому такой кошелек называется Hierarchical Deterministic wallet, сокращенно HD-кошелек). Кошельки, поддерживающие BIP44, сортируют главные ветви дерева по монетам, следующие ответвления по аккаунтам, ну и дальше внешние/внутренние (приемные/сдачи) и наконец ключи, которыми мы пользуемся для генерации адресов и подписывания транзакций.
Это дерево при генерации леджером не просчитывается заранее (да и невозможно это), просто по мере надобности нужные ключи вычисляются из сида (даже слабомощный леджер/трезор это делает достаточно быстро). То есть ключи в леджере не хранятся, хранится только сид.
Спасибо за объяснение.
Получается что потом когда вы вводите в новый кошелек сид, и при установке приложения для определенной монеты, которые у вас были раньше - приложение обращается к сиду и находит там приватник для кошелька этой монеты? А как оно знает что там такой приватник уже был ранее, а не нужно вычислить новый?