Wed. Dec 25th, 2024

After only four months since the protocol was launched, ord has its first contentious debate about what are known as “cursed” inscriptions.

The simplest definition of a cursed inscription is any inscription that does not currently get indexed and identified by ord. This term came about as a catchall when some people incorrectly used or purposefully misused opcodes to create inscriptions that were not able to be indexed by ord and would therefore be unrecognized and not given an inscription number.

This issue was first mentioned on April 25 in the ord github and the interim fix proposed by then lead developer Casey Rodarmor was to, “Modify ord to recognize the above currently invalid inscriptions, including retroactively in old blocks, but consider these new inscriptions ‘cursed’ and assign them negative inscription numbers.”

Funnily enough, the example inscription code on the Ordinals docs website would have been a cursed inscription.

Link to embedded Tweet.

There are many ways cursed inscriptions can be created. Any inscription with multiple inputs/outputs would be considered cursed. As shown above, certain misuse of opcodes such as OP_1 can lead to cursed inscriptions. Alternatively, the introduction of OP_66 using a value of “cursed” intentionally made these types of inscriptions by having an even numbered opcode which is not indexed by ord. Unless already defined in the spec, even numbered opcodes are not recognized because they are reserved for future protocol development. The full list of ways to create cursed inscriptions from issue #2045 is as follows:

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

There are a couple specific debates around cursed inscriptions. One of the disputes comes from the way that these inscriptions are currently numbered. Cursed inscriptions are numbered negatively in the order of their creation. Because of this numbering system and naming convention, some people purposefully chose to create inscriptions and collections that appear “cursed” whether by flipping the image of a positively numbered inscription or using a more sinister image theme when inscribing. The question is: Should these be appended to the index of positively numbered inscriptions or should they keep their negative inscription number when the code is updated?

Additionally, another contentious conversation is what to do about the certain type of cursed inscriptions that used the OP_66 opcode in their creation. Because this opcode is not recognized by ord and even numbered opcodes are intentionally left out for future development use, it is debatable whether inscriptions using this opcode should be included in the cursed set or if they should be rejected.

At the present time, the issue around the even number opcode is listed in the ord github. There are many comments in support of including these inscriptions in the index, but the lead maintainers of the protocol seem to be against it. As of now, the current stance by the developers is that these inscriptions would be unbound, meaning that they would not be assigned to a specific satoshi.

Remember, ordinal theory works based on a first in, first out tracking system for satoshis. Each inscription is assigned to the first satoshi in the genesis transaction when the inscription is created. This type of lens for looking at bitcoin allows images, files, text, etc. to be tracked and transferred. If a cursed inscription is unbound, it would not be associated with a specific satoshi and therefore would be unable to be transferred to another address. Many people who are inscribing are hoping to be able to sell or transfer their inscription to another person. While the inscriptions using this opcode will live forever on the Bitcoin blockchain, if these inscriptions are classified as unbound and unassigned to a specific satoshi, users who minted cursed inscriptions using this opcode would be unable to sell or transfer them.

Herein lies one of the bigger concerns for people who are spending money on transaction fees to create cursed inscriptions. If they are unable to sell them in the future, significant funds would have been wasted on fees. Many users have responded to the github issue, expressing support for including these inscriptions, but the code’s maintainers are not in favor of recognizing cursed inscriptions using the OP_66 even numbered opcode.

On May 30, the new lead maintainer of ord, Raphjaph, wrote, “As the protocol currently stands inscriptions are not valid if they use an unrecognized even tag, so this change already makes a concession by recognizing them. For now they are unbound but we might reconsider this and bind them in the future if there are strong reasons.”

This response is not what many inscribers were hoping to hear. Similar to Bitcoin, ord is open-source software so users can fork the code if they wish to recognize these specific types of cursed inscriptions. This contentious debate is ongoing and the path forward for ord remains to be seen. Users who spent significant sums on transaction fees may be willing to switch to a new version of ord that will recognize their cursed inscriptions, but this is only a theoretical path forward at this time.

Regardless, Ordinals are a new technology being built on Bitcoin. Whether inscriptions are a flash in the pan or if they have lasting power may depend on how this issue gets resolved.