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

RCP-240227B: Make issuer identity part of genesis #2

Open
dr-orlovsky opened this issue Feb 27, 2024 · 0 comments
Open

RCP-240227B: Make issuer identity part of genesis #2

dr-orlovsky opened this issue Feb 27, 2024 · 0 comments
Assignees
Labels
C-pushback Consensus-breaking change C-stdlib Proposes changes to standard library S-implemented
Milestone

Comments

@dr-orlovsky
Copy link
Member

dr-orlovsky commented Feb 27, 2024

layers: consensus, standard library
consensus: pushback

Genesis provides no information on the contract issuer. This means, contract id doesn't commit to an issuer identity.

While many forms of contracts may contain assignments with the rights usually specific to the issuer, such that a corresponding seal-defining UTXOs may be seen as kind of the issuer identity, using this approach has many drawbacks:

  • not all contracts have that kind of rights in genesis, for instance RGB20 non-inflatible assets do not;
  • an issuer may delegate these rights to a third party, thus there is no guaranteed link between the issuer and UTXO as an issuer identity.

Issuers also can sign contract consignments, however with this approach multiple alternative parties may claim the contract with different signatures, since the contract id doesn't commit to the issuer identity.

I propose to introduce into genesis the following information (and make it accessible through the standard library contract API):

  • issuer identity, in form of a serialized public key, with a flag indicating format of the key (PGP, SSH and BIP340 for now);
  • signature over genesis OpCommitment structure, which includes issuer identity
  • make contract id to commit to both the OpCommitment and the signature
dr-orlovsky added a commit to RGB-WG/rgb-core that referenced this issue Feb 27, 2024
dr-orlovsky added a commit to RGB-WG/rgb-core that referenced this issue Mar 4, 2024
@dr-orlovsky dr-orlovsky added C-pushback Consensus-breaking change S-accepted Accepted proposals for the implementation labels Mar 13, 2024
@dr-orlovsky dr-orlovsky added this to the v0.11 milestone Mar 13, 2024
@dr-orlovsky dr-orlovsky added the C-stdlib Proposes changes to standard library label Mar 13, 2024
@dr-orlovsky dr-orlovsky self-assigned this Mar 16, 2024
@dr-orlovsky dr-orlovsky added S-implemented and removed S-accepted Accepted proposals for the implementation labels Oct 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-pushback Consensus-breaking change C-stdlib Proposes changes to standard library S-implemented
Projects
Status: Done
Development

No branches or pull requests

1 participant