Ja, gibt es. Deswegen auch die Betonung auf praktisch unendlich. Zwei verschiedene Grenzen um genau zu sein:
-
Es gibt maximal 2^{160} unterschiedliche Adressen bzw. 2^{256} unterschiedliche private Schlüssel. Theoretisch kontrolliert jeder von uns mit seiner Mnemonic alle Bitcoin die es gibt, da man es mit dem Ableitungspfad beliebig übertreiben und theoretisch unendlich viele Schlüssel derivieren kann. Das wäre dann aber kaum noch ein Unterschied (eigentlich gar keiner) zu einem ganz normalen Brute Force Angriff den wir ja schon häufig diskutiert haben. Siehe hier.
Wäre man dazu in der Lage (Spoiler: Geht nicht) trifft man irgendwann zwangsläufig auf eine Kollision bzw. hat alle Schlüssel die es überhaupt geben kann abgedeckt und damit „die Grenze“ erreicht.
-
Innerhalb von einem Pfad bzw. „einem Account“ kann man maximal 2^{32} Schlüssel derivieren. Das liegt daran dass der gewünschte Index der beim Derivieren in den HMAC geworfen wird maximal 32 bit haben darf. Durch die Möglichkeit der gehärteten Ableitung wird dieser mögliche Bereich sogar nochmal halbiert auf maximal 2^{31} gehärtete und 2^{31} nicht gehärtete Schlüssel.
In der Praxis können wir also in einem Account nur 2^{31} Adressen derivieren.
Nach m/84’/0’/0’/0/2147483648 ist also erstmal Schluss. Wir können aber natürlich in jedem Schritt 2^{32} mal ableiten, und landen wir letztendlich bei Grenze 1 von oben.
Hoffe ich habe da keinen Denkfehler drin