Skip to content

Request for Comment: idea to avoid people receiving CT (Stealth) on a RingCT-only wallet #1054

@seanPhill

Description

@seanPhill

Now that Veil has had (for a while) non-core wallets or third-party wallets that operate with RingCT-only we have realised an issue where a RingCT wallet may not be able to handle incoming CT.

A third party wallet (such as Zelcore) may decide to implement additional code to handle CT, and presumably complete the progression to RingCT, something that was raised (for another reason) with issue #1033 where the suggestion was posed to automate CT to RingCT spends.

It seems a reasonable assumption that not all third party wallets might implement the code to automatically send any CT to RingCT, so it may be worth thinking about a workaround for the core wallet where one's own stealth addresses in a core wallet are marked as being CT-capable, and other addresses assumed to be RingCT-only, unless advised otherwise by the intended recipient.

With this in mind, you may send CT to your own core wallet and it could stay in CT, and if sent further it would automatically be sent as RingCT.

If you are an exchange (such as NonKYC) that is known to send RingCT there are no worries for the RingCT-only user, but those depositing to the exchange currently need to be aware that spends from zerocoins or basecoin will arrive as CT, and will therefore be split into two transactions, one or both of which may not equal the exchange's minimum deposit size!

Having the core wallet automating the follow-up spend to RingCT of ALL incoming CT may be the cleanest solution.

An alternative, allowing CT utxos not to be automatically spent to RingCT may be possible when addresses, such as in one's own core wallet, are known to be able to handle CT utxos. This would require all other spends to a stealth address (sv…) to be internally sent to RingCT on an internal (your own) address, and then to be sent to the recipient's stealth address as RingCT.

This alternative would make spends of funds not yet in RingCT to take a little longer to reach the recipient than if all incoming CT would be already sent to your own RingCT balance when received. This way all balances received on a stealth address would be quickly ready to send to any RingCT-only wallet user.

Any solution must target CLI wallet users as well as GUI wallet users.

The original inspiration for Issue #1033 must also be addressed, that is, it should no longer be possible or appropriate for people to send RingCT backward to CT.

Please discuss.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Coin Type: CTSpecifically related to CT transactionsComponent: Core AppRelated to the application itself.Component: WalletRelating to keystore, tx creation, and balance trackingInsufficient Issue DescriptionIssue does not have enough description to sufficiently work on itIssue Type: Change RequestThe way something is done in the application should be changed.Issue Type: Feature RequestAdditional feature that would make Veil better.Priority: 3 - HighCritical item that should be done as soon as possibledraftThis issue is in proposal stage.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions