0064 XLS - 64d: Pseudo-Account #191
Tapanito
started this conversation in
Standard Proposals
Replies: 2 comments 3 replies
-
Why do you need |
Beta Was this translation helpful? Give feedback.
1 reply
-
There are a number of cases where |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Pseudo-Account
Abstract
In this document, we propose a standard for a pseudo-account, an
AccountRoot
object that can be associated with one or more other ledger entries. This feature allows one to link an account with multiple ledger entries to track XRP and Token Balances or issue Fungible Tokens on behalf of the linked ledger entries.1. Introduction
The XLS-30 specification introduced an
AMMID
field to theAccountRoot
ledger entry. It associates a pseudo-account with anAMM
instance to track XRP and Token balances in the pool and issueLPTokens
on behalf of the AMM Instance. However, theAMMID
DOES NOT allow us to associate theAccountRoot
with other ledger entries.This proposal addresses this limitation by introducing a new
PseudoOwner
field to theAccountRoot
that allows linking the object with one another ledger entry. Implementing this specification will deprecate theAMMID
.Furthermore, the proposal introduces minimum requirements for any protocol creating a pseudo-account.
2. Changes to the
AccountRoot
The
PseudoOwner
field links theAccountRoot
object with one ledger object entry..2.1 New fields
PseudoOwner
string
HASH256
AccountRoot
is associated.3. Creating a pseudo-account
The address of the
AccountRoot
must be randomized to prevent users from identifying and funding the address before its creation. The protocol that creates anAccountRoot
must ensure the account address is unoccupied.The
AccountRoot
object for a pseudo-account MUST have the following settings:lsfDisableMaster
enabled to ensure that no one can control the account directly and send transactions on its behalf.lsfDepositAuth
enabled to ensure that the only way to add funds to the account is by using adeposit
transaction.The unique ID of the
AccountRoot
object, a.k.a.AccountRootID
is computed as follows:AccountRootID
=SHA512-Half
(i || Parent Ledger Hash ||PseudoOwner
)AccountRootID
exists, repeatAccountRootID
4. Special Creation Cost
A transaction that creates a
_pseudo-account_
MUST charge a higher than usual transaction fee to deter ledger spam. The transaction MUST destroy at least the incremental owner reserve amount, currently2 XRP
.Beta Was this translation helpful? Give feedback.
All reactions