Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

what is a "cursed" inscription? #2330

Closed
cvasqxz opened this issue Aug 14, 2023 · 2 comments
Closed

what is a "cursed" inscription? #2330

cvasqxz opened this issue Aug 14, 2023 · 2 comments

Comments

@cvasqxz
Copy link

cvasqxz commented Aug 14, 2023

Hi, I just want to know what is a cursed inscription

The implementation of cursed inscriptions happened on release 0.6, but there are not explicit explanation of the concept, it just says Cursed Inscriptions [1/n]

The pull request #2145 implements a way to index inscriptions that are not the first envelope of OP_IF's in the transaction and call it "cursed"

Inscription content is serialized using data pushes within unexecuted conditionals, called "envelopes". Envelopes consist of an OP_FALSE OP_IF … OP_ENDIF wrapping any number of data pushes. Because envelopes are effectively no-ops, they do not change the semantics of the script in which they are included, and can be combined with any other locking script.

But the Ordinal Theory Handbook also says that the inscription is related to the 1st satoshi of "it's input"

The inscription content is contained within the input of a reveal transaction, and the inscription is made on the first sat of its input. This sat can then be tracked using the familiar rules of ordinal theory, allowing it to be transferred, bought, sold, lost to fees, and recovered.

So if you make multiple envelopes in multiple inputs inside a transaction, what satoshi is being inscribed?, are cursed inscriptions not being inscribed in a satoshi?

If an envelope is stored in an input of a transaction that is not a P2TR, is that a cursed inscription? if somebody makes a P2SH transaction and puts an "envelope" in the scriptsig, is that a cursed inscription?

There's no way for a new developer to understand what is a cursed inscription based on the current documentation

@DrJingLee
Copy link
Contributor

DrJingLee commented Aug 24, 2023

The simplest definition of a cursed inscription is any inscription that does not currently get indexed and identified by ord.
You may get more info here :
https://bitcoinmagazine.com/technical/the-debate-around-cursed-ordinal-inscriptions

@DrJingLee
Copy link
Contributor

DrJingLee commented Aug 24, 2023

What are cursed ordinals?

Since then, the serial number drama died down, with users continuing to use ordinals to create NFTs and unregistered securities in the form of BRC-20, BRC-30 and ORC-20 tokens. But it looks like serial numbers on Ordinals have come into question once again with what is being dubbed “Cursed Ordinals”.

When you create an inscription, the Ordinals protocol needs to assign a satoshi a serial number, which references the file in the blockchain. When everything is going swimmingly, the inscription count will rise by the number of files inscribed.

In the case of cursed inscriptions, it works in the opposite manner, where negative values are displayed and counted backwards with each inscription that is created. Cursed inscriptions have been created in the following instances.

Multiple inscriptions per transaction for efficient batching.
Inscriptions on inputs after the first, which is useful for collections.
Multiple inscriptions on the same Satoshi, so that the entire history of a sat doesn’t need to be checked to determine if a new inscription is valid.
Inscriptions with unrecognised even headers, so that new even headers don’t cause upgraded clients to disagree about inscription numbers.
Using unsupported OP_CODES like OP_66 

Cursed inscriptions were found when a group of developers discovered a bug in the existing Ordinals code responsible for the standardisation of inscriptions.

Casey Rodarmor, @casey the creator of Ordinals, became aware of the loophole and posted on GitHub his thoughts and potential solutions for the bug, where he mentioned:

“Consider these new inscriptions “cursed” and assign them negative inscription numbers.”

@ordinals ordinals locked and limited conversation to collaborators Aug 30, 2023
@casey casey converted this issue into discussion #2400 Aug 30, 2023

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants