koinos / koinos-contract-standards

A repository to propose, track, and discuss smart contract standards for the Koinos Blockchain.
4 stars 2 forks source link

KCS-2 "owner" unnecessary #1

Closed lukemwillis closed 1 year ago

lukemwillis commented 1 year ago

I would exclude "owner" related entry points from the NFT KCS.

Because smart contract accounts have private keys on Koinos, the owner is the smart contract address itself.

For BurnKoin, we locked down the main private keys with authorize overrides. So, we made another “admin” wallet and granted it a very limited set of capabilities. Something like this would be more appropriate on Koinos. The "owner" concept is too much of a carry over from Eth where that’s kind of a built in construct (SC vs EOA).

For a future KCS, we could add another, more general owner-like feature that included implementation details for authorize.

jredbeard commented 1 year ago

I believe you took the correct approach with BurnKoin - that makes a ton of sense.

We believe that owner and transfer_ownership in this implementation are needed so that a collection could be transferred to someone else. How you’d do this is by updating the contract and blocking authorities so that the person who holds the original smart contract keys no longer has any power. The owner would still be able to then transfer the collection to a different owner. In addition, we (Kollection) would use the owner identity to verify who can update off-chain metadata for front end interfaces (website, YouTube, Discord, etc). The person who “owns” or manages a collection over time may change and the new owner would need to be able to prove that they can update this data. This functionality matches what other NFT marketplaces currently provide with ERC721's.

It's somewhat possible that this is more of an "admin" functionality, however, NFT collections are sometimes launched by whole teams and the ownership of that organization and team could change over time so I think owner is actually the correct terminology for this feature. Their off-chain metadata links certainly can also change over time.

I understand that the person who holds the keys that launched the smart contract initially has full power, but, they don't necessarily have to (and probably shouldn't in a lot of cases, especially some time after launch).