Page MenuHomePhabricator

[Cashtab] About NFToa Protocol ID
ClosedPublic

Authored by nftoa on Oct 5 2025, 11:00.

Details

Reviewers
Fabien
bytesofman
Group Reviewers
Restricted Owners Package(Owns No Changed Paths)
Restricted Project
Commits
rABC957d4368fff8: [Cashtab] About NFToa Protocol ID
Summary

Add documentation file for the NFToa protocol ID at doc/standards/nftoa.md

The latest update of this documentation triggered the need to revise the functions in D18785

Test Plan

Checked that the new nftoa.md file renders correctly in Markdown. No code changes are involved.

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Owners added a reviewer: Restricted Owners Package.Oct 5 2025, 11:00
nftoa requested review of this revision.Oct 5 2025, 11:00
nftoa added subscribers: Fabien, bytesofman.
nftoa added a subscriber: nftoa.

Updating D18757: About NFToa Protocol ID

refine regular message example

nftoa retitled this revision from About NFToa Protocol ID to [Cashtab] About NFToa Protocol ID.Oct 10 2025, 19:15

there seems to be a rebase issue here bc docs/standards/nftoa.md does not yet exist in the monorepo, but this diff shows changes to it. The diff needs to be based on a single commit, which must be based off the latest master.

This revision now requires changes to proceed.Oct 12 2025, 12:04

Updating D18757: [Cashtab] About NFToa Protocol ID

Rebase issue fix

Fabien requested changes to this revision.Oct 13 2025, 07:27

You need to squash your changes before you update the diff so it includes all the changes and shows as a new file, which it is in the context of this diff

This revision now requires changes to proceed.Oct 13 2025, 07:27

Squash commits and clean up the diff for clarity

Fabien requested changes to this revision.Oct 13 2025, 12:49
Fabien added inline comments.
doc/standards/nftoa.md
3 ↗(On Diff #56146)
66 ↗(On Diff #56146)

This is also a push data, with length 8

84 ↗(On Diff #56146)

The trailing 00 is not part of the push here, it's the lenght of the nonce push (0). Also as per spec it is not required, so why include it ? It only makes the transaction more expensive.

90 ↗(On Diff #56146)

if it is ignored it should not be there at all

97 ↗(On Diff #56146)

it can't be random if it's verifiable

104 ↗(On Diff #56146)

It's not a cashtab limitation but an eCash one

105 ↗(On Diff #56146)

I'm not sure how much hex value of a utf-8 string is human readable but this also contradicts with the above spec that says it's either a utf-8 string or binary data.

This revision now requires changes to proceed.Oct 13 2025, 12:49

This documentation update mandates function alignment in D18785 to ensure protocol consistency.

Fabien requested changes to this revision.Oct 14 2025, 06:41
Fabien added inline comments.
doc/standards/nftoa.md
64 ↗(On Diff #56156)

The table alignment is now broken

85 ↗(On Diff #56156)

same here

94 ↗(On Diff #56156)

Consider shorted the description or move it above the table because it overflows quite a lot

102 ↗(On Diff #56156)

I still don't understand the purpose of the nonce here, and how it can make anything more secure. That's your protocol so your call, we can also discuss this offline if you want to.

103 ↗(On Diff #56156)

newline

This revision now requires changes to proceed.Oct 14 2025, 06:41
nftoa marked 7 inline comments as done.

[Doc] Fix Markdown table formatting for Phabricator rendering

[Doc] Restore missing NFToa documentation updates after rebase

Fabien requested changes to this revision.Oct 15 2025, 09:52

Once again you need to squash

This revision now requires changes to proceed.Oct 15 2025, 09:52

[Cashtab] NFToa: Clean up and update Protocol ID spec docs

still not clear why the nonce is needed...if you just need uniqueness, every txid is unique. If it's optional, seems like it isn't really necessary.

In general, OP_RETURN space is limited. So if you are building an app, the goal is to encode everything as tight as possible, and omit everything that isn't performing some useful function.

there's nothing standard about OP_RETURN specs having or needing a nonce. I do not want devs to think it's a normal thing or some kind of ecash req. I don't think I ever used the word nonce in my life before seeing it in the paybutton spec, which happens to be a ref for this spec. But there's no need to do things the same way.

But, if you insist, nonce it up.

This revision is now accepted and ready to land.Sat, Oct 18, 03:30
nftoa marked 5 inline comments as done.

rebase

rebase, fix git remote and yeah lets arc land

This revision was automatically updated to reflect the committed changes.