Deweloperzy XRP Ledger proponują poprawkę zaokrągleń przy spłacie pożyczek

XRP
Spłata pożyczeknatywne pożyczkipoprawka zaokrągleńXRP Ledgerpoprawka
1 godzinę temuŹródło: crypto.news
Deweloperzy XRP Ledger proponują poprawkę zaokrągleń przy spłacie pożyczek

Deweloperzy XRP Ledger zaproponowali nową aktualizację protokołu pożyczkowego, która skorygowałaby sposób zaokrąglania spłat pożyczek, zapobiegając kumulowaniu się drobnych różnic obliczeniowych w ramach zaplanowanych płatności.

Podsumowanie

  • Deweloperzy XRP Ledger zaproponowali zmiany w zaokrąglaniu spłat w ramach planowanej poprawki LendingProtocolV1_2 dla natywnego pożyczania.
  • Korekta zapobiegłaby temu, by skumulowane różnice zaokrągleń powodowały, że końcowe raty pożyczki przekraczały zaplanowane kwoty.
  • Deweloperzy przetestowali obliczenia spłat w skarbcach Legacy, CashBasis i FixedPrecision w ramach kilku różnych konfiguracji poprawek.
  • Istniejące pożyczki obarczone różnicami zaokrągleń mogą je zachować, chyba że pożyczkobiorcy dokonają kwalifikujących się nadpłat podczas spłaty.
  • LendingProtocolV1_2 pozostaje w fazie rozwoju, a aktywacja w mainnecie wymaga trwałego wsparcia ze strony zaufanych walidatorów XRP Ledger.

Propozycja z 6 listopada opublikowana na GitHubie wprowadza zmiany w ramach planowanej poprawki LendingProtocolV1_2, która miałaby dostosować salda niespłaconych pożyczek do ich harmonogramów spłat. Korekta dotyczy przypadków, w których różnice zaokrągleń mogą sprawić, że końcowa rata będzie nieco wyższa niż kwota, którą pożyczkobiorcy pierwotnie mieli zapłacić.

Propozycja pozostaje w trakcie przeglądu i nie została aktywowana w mainnecie XRP Ledger. Deweloperzy uwzględnili testy obejmujące różne metody księgowania skarbców, istniejące pożyczki oraz sytuacje, w których pożyczkobiorcy płacą więcej niż wynoszą ich zaplanowane raty.

Poprawka pożyczania w XRP Ledger dotyczy zaokrąglania spłat

W centrum propozycji znajduje się sposób, w jaki XRP Ledger oblicza pozostałą kwotę do zapłaty po dokonaniu przez pożyczkobiorców płatności na poczet pożyczki.

Zgodnie z istniejącą metodą obliczeń opisaną przez dewelopera, wartość każdej raty jest obliczana osobno. Drobne różnice zaokrągleń mogą kumulować się w miarę postępu płatności, sporadycznie powodując, że końcowa rata jest o jedną jednostkę wyższa niż zaokrąglona płatność okresowa.

Proponowana korekta wprowadza metodę obliczeń znaną jako teleskopowanie, która wykorzystuje pozostały harmonogram spłat do określenia salda zadłużenia po każdej racie.

Zamiast pozwalać poszczególnym obliczeniom na generowanie skumulowanych różnic, system przywracałby wartość zadłużenia do zgodności z pozostałymi zaplanowanymi płatnościami.

W ramach LendingProtocolV1_2 każda terminowa transakcja LoanPay zmniejszałaby TotalValueOutstanding do zaplanowanej kwoty przy jednej racie mniej do zapłaty. Korekta pozostałaby ograniczona do zaokrąglonej wartości PeriodicPayment.

W opisie dewelopera stwierdzono, że zmiana sprawiłaby, iż część wartości każdej zaplanowanej raty byłaby równa albo zaokrąglonej w dół, albo zaokrąglonej w górę płatności okresowej, przy zachowaniu jej na poziomie co najmniej jednej jednostki.

Końcowa rata odpowiadałaby wtedy dokładnie zaokrąglonej wartości PeriodicPayment w przypadku pożyczek realizowanych zgodnie z skorygowanym harmonogramem.

Deweloperzy dostosowują obliczenia LoanSet i LoanPay

Proponowane zmiany w kodzie obejmują LoanSet, który ustala warunki pożyczki, oraz LoanPay, który przetwarza spłaty w księdze.

Pierwszy commit przenosi obliczanie zaplanowanej wartości pożyczki z computeLoanProperties do osobnej funkcji o nazwie scheduledValue.

Deweloperzy stwierdzili, że ta wstępna korekta nie zmienia istniejącego zachowania. Jej celem jest zapewnienie, że tworzenie pożyczki i przetwarzanie spłat wykorzystują tę samą metodę zaokrąglania.

Drugi commit wprowadza korektę spłat w ramach LendingProtocolV1_2, w tym korekty pozostałego salda za każdym razem, gdy pożyczkobiorca dokona zaakceptowanej nadpłaty.

Po takiej płatności TotalValueOutstanding zostałby zresetowany do zaplanowanej wartości obliczonej przy użyciu zmienionej wartości PeriodicPayment, co pozwoliłoby kolejnym ratom podążać za zaktualizowanym harmonogramem.

Propozycja zawiera zabezpieczenia dla części kapitałowej każdej raty, zapobiegając sytuacjom, w których obliczenia pozostawiłyby ujemną kwotę niezapłaconych odsetek.

Pożyczki o zerowym oprocentowaniu wymagają odrębnego traktowania, ponieważ całkowita wartość pożyczki wykorzystuje zaokrąglanie do najbliższej jednostki, podczas gdy kwota kapitału jest zaokrąglana w górę.

Deweloperzy przetestowali zmiany w modelach księgowania skarbców Legacy, CashBasis i FixedPrecision, zarówno z włączoną, jak i wyłączoną proponowaną poprawką.

Istniejące pożyczki w XRP Ledger zachowają pewne różnice zaokrągleń

Chociaż proponowane zmiany skorygowałyby obliczenia spłat na przyszłość, nie wyeliminowałyby automatycznie każdej różnicy zaokrągleń związanej z istniejącymi pożyczkami.

Propozycja na GitHubie wyjaśnia, że starsze pożyczki, które już mają jedną jednostkę powyżej swojego zaplanowanego salda, zachowają tę różnicę do momentu, gdy pożyczkobiorca dokona nadpłaty.

Takie pożyczki mogą zatem nadal wymagać ostatniej raty równej zaokrąglonej PeriodicPayment plus jedna dodatkowa jednostka.

Małe nadpłaty mogą zostać zignorowane, gdy mieszczą się w istniejących limitach zaokrągleń. W takich przypadkach transakcja może zwrócić wynik pomyślny bez pobierania dodatkowej spłaty pożyczki.

Deweloper uwzględnił testy obejmujące aktywację poprawki, gdy pożyczka pozostaje niespłacona, co pozwala sprawdzić zmienione obliczenia względem istniejących zapisów spłat.

Te korekty dotyczą księgowania pożyczek w ramach proponowanego protokołu pożyczkowego. Nie zmieniają zwykłych transferów XRP ani nie ustanawiają nowego produktu pożyczkowego dostępnego dla wszystkich posiadaczy XRP.

LendingProtocolV1_2 nadal wymaga zatwierdzenia przez walidatorów

Propozycja dotycząca spłat stanowi część trwających prac XRP Ledger nad natywnym pożyczaniem, które umożliwiłoby pożyczki terminowe finansowane za pośrednictwem Single Asset Vaults.

We wrześniu crypto.news omówił zmiany w pożyczaniu wprowadzone w wersji XRP Ledger 3.4.0, w tym skarbce zamknięte i księgowanie kasowe w ramach LendingProtocolV1_1.

Proponowane ramy pożyczkowe wykorzystywałyby połączone aktywa do finansowania pożyczek, podczas gdy brokerzy ocenialiby pożyczkobiorców i zarządzali ryzykiem kredytowym poza blockchainem.

Październikowy przegląd głosowania walidatorów wykazał, że poprawki dotyczące pożyczania i skarbców nie uzyskały wymaganego wsparcia do aktywacji.

Tymczasem osobna poprawka konserwacyjna została aktywowana 4 listopada, rozwiązując kilka problemów z przetwarzaniem transakcji bez włączania protokołu pożyczkowego.

Zgodnie z procesem poprawek XRP Ledger proponowana zmiana musi uzyskać wsparcie ponad 80% zaufanych walidatorów przez dwa kolejne tygodnie przed aktywacją.

Pull request #8698 pozostaje otwarty i nie ogłoszono daty aktywacji LendingProtocolV1_2 w mainnecie.