Deterministic ProcessID Generation #28
Replies: 4 comments 9 replies
-
Embedding some information on the proessID looks like a good idea to me, it can be useful for:
So I'd double the bet, what about something such as: This way external tools such as the CSP could verify the chainID, the organization address and the proof type in a standalone way. So someone could just build a CSP for its own organization or create a business based on CSP verifications (paying a subscription to the CSP will allow your organization to send up to 1000 SMS for validating users). @brickpop @jordipainan @altergui @emmdim CSP context here https://www.notion.so/aragonorg/Technical-description-Blind-CSP-voting-ed556aa3a20f4850978ec78b83c9e056 |
Beta Was this translation helpful? Give feedback.
-
In my opinion, the It limits the chances of knowing the An approach that could solve that is about having: This way, you don't even need to worry about any |
Beta Was this translation helpful? Give feedback.
-
@brickpop the CSP acts independently of the Vochain, and it only communicates with the voter. The voter already passes the expected signature type, but the problem is the CSP has to trust the voter when signing the vote. Then if the Vochain expects a signatureType parameter, it would also be the voter providing this parameter. A way to avoid trusting the voter would be to include the signatureType in the vote package, and have the CSP actually decode the vote package and check the signatureType before signing, and then have the Vochain do the same. But then the CSP would be tied to a specific vote package format. |
Beta Was this translation helpful? Give feedback.
-
I'd like to push for implementing this feature ASAP since currently the ProcessID approach generation is quite broken. |
Beta Was this translation helpful? Give feedback.
-
Now that we are transitioning to an Ethless Vochain approach, we can deterministically generate
ProcessID
s. There are a couple of reasons we might want to do this:processID
itselfCSP
process issigned
orblind
. This would enable theCSP
to restrict users to requesting anonymous or non-anonymous signatures for a ballot.processID
s, there is a replay vulnerabilityprocessID
as one on another chain. They could then request a signature for thisprocessID
from aCSP
, and there would be no way to prove whether the signature belongs to the process on the first or second chain.Proposal
processID
=hash(chain_ID, organizationAddress, Nonce)
The Vochain would have to keep track of a process nonce for each Account. Thus, if a new process is created, the Vochain can recreate this
processID
.Embed proof types in
processID
. This could be done withprocessID
=proofBytes + hash(chain_ID, organizationAddress, Nonce)
, whereproofBytes
is, for example, a two-byte sequence from a pre-defined set of proof types.This would enable the proof type to be checked without any further processing or communication, ensures the proof type can never be spoofed or edited, and could be used in the future for cases that arise similar to the CSP blind vs. signed restriction case.
Beta Was this translation helpful? Give feedback.
All reactions