Closed indolering closed 9 years ago
Or maybe UTXO-CA?
And what about NX attestation? Since we are basing the acronym on what the attestation does, why don't we follow the same convention for UTXO-CB? Maybe CA for Current Attestation and NXA for non-existance attestation?
CB makes sense, because it primarily differentiates from other modes where the UTXO set is stored/calculated but is not placed in the coinbase.
I don't fully understand what NX is supposed to mean. I talked to @hlandau on IRC a while back and we came up with UNO (unspent name operation).
Non-existance, as in proving that a name doesn't exist.
I don't think NX makes sense as part of the nomenclature, as proof of nonexistence is only one of the two features involving the UNO set.
Both UTXO and UNO can be used for two things: database pruning by a node after downloading the chain, and one node proving to another node some fact about that set without the second node ever having had the chain. For example, my libcoin implementation is getting down to 107 MiB of storage by pruning to the UNO set, but it is not using any proofs of nonexistence (it doesn't need to because it downloads the full chain).
So yeah, basically I think UTXO and UNO labels should refer to things that involve those sets, whether it's pruning or a coinbase data structure.
NX comes from DNS's NXDOMAIN error code. It means 'nonexistence', not 'unexpired'.
I think UTXO CB is fine, but perhaps UTXO CBA (Coinbase Attestation) is clearer?
I'm fine with "CBA", UTXO-CBA and NX-CBA?
@hlandau , "CBC" (coinbase commitment) seems a bit closer to the terminology that the Bitcoin guys use.
@indolering and @hlandau , I don't think NX makes sense here, since it's not consistent with UTXO. Either have "UTXO" and "UNO" for the commitments, or have some abbreviation for "existence" instead of UTXO. (I prefer the former.)
Errm, UTXO and UNO and NX are all different things. UTXO: the set of all unspent transaction outputs. UNO: the set of all unspent name outputs (a subset of UTXO). Not really much reason to use this for attestation; more useful if you're storing the unspent output set on disk. NX: a cryptographic data structure which can be used to prove that an item does not appear in the UTXO or UNO set.
What about following the DNSSEC naming for non-existence: NSEC?
@hlandau I'm aware that NX is a data structure type while UNO is a set. I'm saying that if we're talking about the UNO set, then we should have UNO in the name to be unambiguous (particularly since it's plausible that Bitcoin might add a UTXO-NX-CBC structure at some point). I'd be fine with "UNO-NX-CBC" instead of "NX-CBC".
Are we okay with "CBC" instead of "CB"/"CBA", to be more consistent with Bitcoin developers' terminology?
NX means nonexistence while NSEC implies a specific implementation of proving nonexistence (providing adjacent values). I would prefer NX, but I don't feel particularly strongly.
So, UTXO-CBC and UNO-NX-CBC. @hlandau – can you N/ACK on this? I'd like to get that blogpost out today :)
Using NSEC does imply a specific implementation.
If we're going for consistency, maybe we should use CN-NX-CB.
@ryancdotorg What is CN?
current name
@ryancdotorg if the Bitcoin team is going to use CBC, I would prefer to use that acronym.
Current implies less than 36 kiloblocks old; UNO is the subset of current that has not been spent by another transaction. So I prefer to keep UNO.
UNO -> CN, CBC is fine.
I don't really care that much if you want to keep UNO
@hlandau are UTXO-CBC and UNO-NX-CBC okay?
CBC makes me think of Cipher Block Chaining but if the Bitcoin team are definitely going to use that terminology then UTXO-CBC and UTXO-NX-CBC are OK.
Please note that whether UTXO or UNO is used is completely orthogonal to NX-CBC as it will use a separate tree. So (UTXO|UNO) CBC and (UTXO|UNO)+NX CBC might be better terminology.
Sorry to reopen this, but if we are going to use UNO for the actual implementation shouldn't we use UNO-CBC and UNO-NX-CBC?
@hlandau I don't believe the Bitcoin devs are using the abbreviation CBC specifically, but they're referring to them as commitments rather than attestations. So I think CBC is closer to their terminology.
@indolering We would not want to only use UNO, since that would break lightweight currency clients.
Just call everything "marklar".
Seriously though, we can change this later. It's okay to rename stuff.
We have some alphabet soup, though. I do see "coinbase commitment" mentioned by the guys working on this for bitcoin. Can we use "CC" so it doesn't sound like cipher block chaining?
This is getting absurd. Just post something and change it later if we decide to change the names.
To be clear, I really don't care what stuff is called. Just putting suggestions out there to try to address objections. Assume that I'm fine with anything.
Okay, we will keep CBC and change it to CC if Bitcoin devs do so. I Googled "coinbase commitment" and got 50 results. So yeah, early days.
Okay, I've got pending pull requests that change everything to Marklar.
Ugh, NM, I fixed the "State of Namecoin" doc but I don't have time to fix "Introduction to Namecoin Deployment Types".
So, I don't quite understand the rationale for the coinbase part of this acronym, as we are reffering to the data structure inserted into the CB that is used for attestation – it seems to be only tangentially related to the CB itself. What if we called it UTXO-A for UTXO-Attestation?
Forgive my ignorance, but if it's confusing to me then we should probably rework the explanation....