mimblewimble team mailing list archive
-
mimblewimble team
-
Mailing list archive
-
Message #00026
Re: Renaming "excess value"
I agree that "excess value" is misleading for all the reasons you mentioned and then some (for one, it's not a value).
In grin I opted for "transaction proof":
https://github.com/ignopeverell/grin/blob/c1340223de5da49951b3b46dded96a568e02c99a/core/src/core/transaction.rs#L27
I only gave it about 2 min of thinking so wouldn't mind renaming that either, I just thought it was reasonably accurate: a proof of the transaction validity within the chain. One caveat is that there are multiple types of proofs already: range proofs, Cuckoo Cycle proofs, etc. But properly qualified as "transaction proof", it seems clear enough.
I'm not sure I like "kernel", it's not very descriptive and evokes other things for me (but maybe only for me). If "transaction proof" doesn't cut it either, I could suggest "abridged transaction" or "transaction summary" (which would perhaps still evoke that it takes part into a summation).
- Igno
-------- Original Message --------
Subject: [Mimblewimble] Renaming "excess value"
Local Time: January 21, 2017 9:12 AM
UTC Time: January 21, 2017 5:12 PM
From: apoelstra@xxxxxxxxxxxxxx
To: mimblewimble@xxxxxxxxxxxxxxxxxxx
In light of my ongoing discussions with various people in the space, and the recent
discovery of how to do hash preimages [1], it's become clear that the "excess value"
is badly misnamed.
What the excess value really describes is the net change in the UTXO set; it's also
a multisignature key of all participants in the transaction, and anything it signs
is an assertion that (a) the transaction executed as desired, (b) the partipants
agreed to sign whatever else alongside the transaction. The original characterization
of the excess signature as being a "proof of knowledge of discrete logarithm" that
asserts no net inflation is really understating its purpose.
In fact, the excess is the only part of a transaction that needs to remain in the
blockchain forever, and its presence is what proves that a transaction was executed
faithfully in that block. In a sense the actual inputs and outputs are simply
witnesses to this fact. (And the UTXO set itself is only needed to ensure consensus
on exact UTXOs; the excess values tell us the set up to splitting/merging. Like
Robert Pirsig in Zen and the Art of Motorcycle Maintenance downplaying Plato's
``carving reality at its joints'' as ultimately arbitrary, so I claim that individual
outputs merely carve coins whose ownership is already defined by the construction of
the excess values, and we only need this exact carving so that we can understand
each other, i.e. to avoid consensus failures.)
I'm giving a talk at the Stanford Blockchain Conference in a few days and I want to
emphasize this change of philosophy, and also ward off future confusion.
I therefore propose renaming "excess value" everywhere to "kernel" or "transaction
kernel".
Does anyone have any thoughts or comments on this?
[1] https://lists.launchpad.net/mimblewimble/msg00022.html
--
Andrew Poelstra
Mathematics Department, Blockstream
Email: apoelstra at wpsoftware.net
Web: https://www.wpsoftware.net/andrew
"A goose alone, I suppose, can know the loneliness of geese
who can never find their peace,
whether north or south or west or east"
--Joanna Newsom
--
Mailing list: https://launchpad.net/~mimblewimble
Post to : mimblewimble@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~mimblewimble
More help : https://help.launchpad.net/ListHelp
Follow ups
References