Skip to content

Commit

Permalink
Create hip-850.md (#850)
Browse files Browse the repository at this point in the history
Signed-off-by: Michael Garber <michael.garber@swirldslabs.com>
Co-authored-by: Michael Garber <michael.garber@swirldslabs.com>
  • Loading branch information
ty-swirldslabs and mgarbs committed May 29, 2024
1 parent 232762d commit 2e77754
Showing 1 changed file with 73 additions and 0 deletions.
73 changes: 73 additions & 0 deletions HIP/hip-850.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
hip: 850
title: Enhancing Supply Key Functionality for NFT Updates in Treasury Account
author: Patches (@HGraphPunks)
type: Standards Track
category: Core
needs-council-approval: Yes
status: Last Call
last-call-date-time: 2024-06-12T07:00:00Z
created: 2024-01-02
discussions-to: https://github.com/hashgraph/hedera-improvement-proposal/discussions/660
requested-by: HGraphPunks, TierBot
updated: 2024-05-22
---

## Abstract

This HIP proposes enhancing the Supply Key functionality within the Hedera ecosystem, specifically enabling the Supply Key to update an NFT metadata field while the NFT is held in the treasury account. This ensures secure and controlled adaptability of NFTs, meeting dynamic needs while maintaining their integrity post-distribution.

## Motivation

Currently, there is a limitation in dynamically updating NFTs in a controlled manner. The proposed enhancement to the Supply Key functionality addresses this gap, allowing for secure and selective updates of NFTs within the treasury account, a feature particularly relevant for various evolving use cases in the Hedera ecosystem.

## Rationale

The enhancement focuses on granting the Supply Key the capability to update the data of an NFT serial number exclusively while it is in the treasury account. This approach ensures security and control, preventing unauthorized modifications once the NFT is distributed.

## User Stories

- As a stakeholder, I need the capability to update the metadata of NFTs within the treasury account to reflect the latest information, ensuring that once the NFTs are distributed, their data remains immutable.

### Example Illustrations:
- As a game developer, I want to update game piece NFTs with player stats during gameplay, ensuring the data becomes immutable once the player regains ownership.
- As an event organizer, I need to update event ticket NFTs with attendee information while they are in the treasury account, guaranteeing data immutability post-transfer.

## Specification

This HIP requires an update to the Supply Key mechanism, enabling it to modify the metadata of NFTs while they are held in the treasury account. Specifically, this update introduces the capability for the Supply Key to execute the TokenUpdateNftsTransaction function, allowing for the metadata of an NFT ID to be updated while it resides in the treasury wallet. This enhancement provides a controlled method to adapt NFT metadata dynamically, ensuring that the NFT data remains immutable once distributed. This approach maintains the integrity and trust in the NFT ecosystem by preventing unauthorized modifications post-distribution.

## Backwards Compatibility

This proposal introduces a change in the defined capabilities of the Supply Key, which could affect the expectations of users regarding the immutability of NFT metadata. Although the Supply Key can currently burn and mint new tokens, allowing it to update metadata without burning introduces a conceptual difference. Users must be aware that the metadata of an NFT can be altered while it is in the treasury account, which can impact the perceived consistency and promises of an NFT collection.

## Security Implications

The primary security consideration is the prevention of unauthorized data modifications to NFTs post-distribution. The treasury account requirement for updates addresses this concern effectively.

There is no added security concern with the ability of Supply Key to adapt the metadata when in the treasury account as the Supply Key can also burn and mint new tokens. The security implications of sending a NFT to a treasury account that has a Supply Key enabled do not become worse or better with this HIP.

### Modification of Previously Immutable Data
This HIP introduces a change to the previous guarantee of immutability for NFT metadata. It is important to note that, under the new functionality, the metadata of an NFT can be updated while it resides in the treasury account. This modification capability, while restricted to the treasury account, is a departure from the guarantee of immutability that was previously assured for NFT metadata once minted. Stakeholders should be aware that this change allows for a controlled flexibility in specific circumstances, while still ensuring that the metadata becomes immutable once the NFT is distributed to end-users.

## How to Teach This

Educational initiatives will be developed to guide users in leveraging the new Supply Key functionality, particularly focusing on use cases like gaming and event management.

## Reference Implementation

The reference implementation will be comprehensive, including detailed documentation and test cases. Completion is expected prior to the HIP achieving "Final" status.

## Rejected Ideas

## Open Issues


## References


## Copyright/license

This document is licensed under the Apache License, Version 2.0. See [LICENSE](https://www.apache.org/licenses/LICENSE-2.0).

---

0 comments on commit 2e77754

Please sign in to comment.