Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: Improvements to remove limitation on token transfer #108

Closed
superical opened this issue Jul 6, 2022 · 3 comments
Closed

Proposal: Improvements to remove limitation on token transfer #108

superical opened this issue Jul 6, 2022 · 3 comments

Comments

@superical
Copy link
Contributor

Background

Some time ago, there was a concern about owners accidentally or purposefully using an "unintended" title escrow for their token. Thus, in #180799702, changes were made to restrict the token from being transferred to an arbitrary address, but this is not ideal. For example, this would not allow an owner to put his token up on a secondary market if he wants to.

Restricting the NFT to a title escrow address and limiting it to only transferring to its own title escrow also somewhat reduces the benefits of using an NFT standard since we could have just used a much simpler and lighter contract to perform the operations between the beneficiary and holder.

Creating this issue to explore ideas and suggestions.

Here's an idea I'm currently toying around.

Idea

  • Remove restriction on transfer to any address
  • During issuance, issuer defines a title escrow address. This title escrow address will be the only recognised address.
  • User can transfer to any other title escrow addresses but verifier will flag that title escrow is not recognised if it isn't the one defined by issuer.
  • Aggregate title escrow instead of an independent copy for each NFT
  • Once user regains full ownership, he will hold an NFT token that can be used elsewhere.
  • Full owner can re-enter escrow defined during issuance or any other contracts (for eg, staking, etc) if he wants to.

Pros:

  • Token is "compatible" as an NFT and can be used elsewhere.
  • A quasi-prevention of a token with an "unintended" title escrow by only recognising the title escrow provided by issuer at app level.
  • Opens up the possibility of having different variations of escrows for each token. For eg, a different token can be issued to another type of title escrow that holds the token until a stablecoin payment is fulfilled.
  • Allows user to put tokens on secondary markets.
  • Cheaper issuance with aggregated title escrow

Cons:

  • Higher complexity especially at app level
  • The aforementioned "quasi-prevention" is only at app level.
  • Before this, tying NFT to a title escrow address was simpler to reason about.
  • Although it can be transferred to other title escrows, this idea can only recognise the one defined by issuer.
  • Issuer is responsible for determining the "intended" title escrow to be used with a token as opposed to in the current beta where the contract determines the escrow address.

Opening up for ideas, sers....🙉💡

@superical superical changed the title Opening up the token transfer function Proposal: Enhancements to remove limitation on token transfer Jul 18, 2022
@superical superical changed the title Proposal: Enhancements to remove limitation on token transfer Proposal: Improvements to remove limitation on token transfer Jul 18, 2022
@superical
Copy link
Contributor Author

This issue was brought up during an internal sprint review on 7 July 2022 for discussion with product owner and team. Here's a summary of the key points from the discussion:

  • It's unclear from the product's point of view on whether there will ever be a need for a token to be transferred outside of its title escrow. PO needs to check on this.
  • PO has explained that tokens in TradeTrust for bill of lading are only tied to title escrow and registry, and will never be transferred to any other addresses
  • Current product direction is to remain status quo for now, that is, for tokens to be tied only to their title escrows and continue to restrict transfers to other addresses.

My Opinion:
I think that restricting the token transfer would detract the key benefits of using the ERC721 standard. Hence, I decided to create this issue to bring attention and to, hopefully, gather some ideas. Although the current product direction is to remain status quo for now, I feel that we (and the community) should continue to explore and share ideas here on how else we can remove this limitation on the transfer and open up the tokens for interoperability.🤔

@superical
Copy link
Contributor Author

During a F2F discussion with IMDA today (22 Sept 2022), product owners have decided that the token registry NFT ownership will remain restricted to the title escrow for v4. Certain functions from the ERC721 standard such as approve and approveForAll shall be removed as they wouldn't be used anyway when tokens are restricted to the title escrow.

Since this proposal has been concluded, I will close this issue for now until we decide to revisit it again.🙇‍♂️

CC: @shujingliew @barrylim

@superical
Copy link
Contributor Author

Also concludes story in #182543908.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant