zk-nullifier-sig
zk-nullifier-sig copied to clipboard
Introduce DST specific for the protocol!
Current used DST is taken from the example, so it will collide with other projects which didn't introduce their own DST, which defies its purpose. I see it as quite a priority since if it won't be done until people start to use the thing it will be quite painful to change as it's not backward compatible in no way.
On the other hand there's quite an amount of tests alignment and small modifications due to change of the DST to proper one. Though not a horrific amount.
So the choice is better be done once and never changed, so it worth to put some effort in it. While it should be done in reasonable time. Obvious step is to start the string with "PLUME", and maybe it would be enough to be aligned with usual string, maybe some more information is nice to put there. Too long string bring small burden, btw.
PS Sorry for brevity, am writing in hurry; hope to edit for better readability, or clarify anything in discussion.
I agree in this case. Let's standardize a DST!
Maybe I code particularly bad today, but I finished the implementation to the fine level and started to make the test for it. And that gave me hard time. The bottom line is that while inputs checked out (comparing bigints isn't fun) the signature didn't, since I checked that <./javascript> and plume_arkworks
tests for V1 signature do match, I made a small test for hash_to_curve
in plume_arkworks
and that didn't go through (maybe I had a mistake in the test though).
So I have the idea to unfold deeper, and while I'm there to choose own DST, then write down new test data using it. Basically that would affect everything. %)
@Divide-By-0 For me this one might be tightly connected to https://github.com/plume-sig/zk-nullifier-sig/issues/101, so, pls, take a look at that one.