Sortierte Liste von Vaults nach LACR

Das jAsset-Protokoll verwendet eine spezielle Datenstruktur in Form einer sortierten doppelt verknüpften Liste von Vaults, die nach dem Last Active Collateralization Ratio (LACR) geordnet bleibt. Das LACR wird als der Betrag des Kollaterals in USD geteilt durch den Schuldenbetrag in USD zum Zeitpunkt der letzten Aktualisierung durch den Kreditnehmer berechnet.

Diese geordnete Liste ist entscheidend für eine effiziente Gasnutzung während Einlösungsprozessen, da sie es ermöglicht, Vaults in aufsteigender Reihenfolge ihrer Individual Collateralization Ratios (ICR) zu priorisieren.

Die Implementierung dieser sortierten doppelt verknüpften Liste befindet sich in SortedTroves.sol.

Jeder Knoten in dieser Liste entspricht einem aktiven Vault im System, der durch die Adresse des Besitzers identifiziert wird. Die Liste unterstützt Positionshinweise für eine effiziente O(1)-Einfügung, die im Abschnitt HintHelper genauer beschrieben wird.

Zusätzlich speichert jede Node das LACR des Vaults zum Zeitpunkt seiner Einfügung in die Liste.

Die Entscheidung, Vaults nach LACR statt nach ICR zu sortieren, beruht darauf, dass jeder Vault unterschiedliche Anteile an verschiedenen Kollateral-Token halten kann. Änderungen in den Token-Preisen beeinflussen die individuellen Kollateralisierungsverhältnisse unterschiedlich, was es unpraktisch macht, eine sortierte Liste ausschließlich basierend auf dem ICR zu führen.

Nodes werden nur dann erneut in die sortierte Liste eingefügt, wenn eine Vault-Operation durchgeführt wird – wie das Hinzufügen oder Entfernen von Kollateral oder Schulden aus der Position.

Last updated