-

@ lontivero
2025-03-03 04:02:08
Many people believe that maintaining certain "logs" simply depends on the developers' will, but that's not always the case. Often, storing data is simply a technical necessity that cannot be avoided, or avoiding it means paying a high cost elsewhere. In this case, receiving an xpub means that the server must derive scripts for each of the supported paths and then search for them in an index (utxo set) to know their status. This is a very computationally expensive task, and it would make a lot of sense if the result of that process were stored in a database for future use.
I don't know if that's actually how the Samourai server was implemented, but it's highly possible that it was. If so, it would also make sense to maintain backups of this information as it would allow the service to resume quickly in case of any issues.
What we do know is that Samourai Dojo does store xpubs and addresses, which can be seen in the database script, and as I mentioned before, this makes a lot of technical sense and reinforces the idea that a design based on scanning xpubs requires a database.
I think this is important to know because there is a community of users who maintain Dojo servers to which users can connect, and each one of them maintains a database with this information.
The problem with this design decision is simply that no matter how altruistic your intentions are, databases are difficult to protect.