Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preventing Sanctioned Deposit Addresses from Transacting #254

Open
akileshtangella opened this issue Feb 21, 2023 · 0 comments
Open

Preventing Sanctioned Deposit Addresses from Transacting #254

akileshtangella opened this issue Feb 21, 2023 · 0 comments

Comments

@akileshtangella
Copy link
Contributor

Let $g$ be the generator of some group $\mathbb{G}$ for which the discrete logarithm problem is hard.

The note formed from deposit $i$ will store the polynomial $r_i (x - D_i)$, where $r_i$ is some randomly sampled field element. Actually, we represent the polynomial by storing the powers of $g$ of the coefficients of the polynomial: $(g^{r_i}, g^{-r_iD_i})$. The reason for this is to hide $D_i$.

When joining input notes, we multiply the corresponding polynomials in the input notes and store them in the new output note.

To be more precise, when joining deposit 1 and deposit 2, we store the powers of $g$ of the coefficients of the polynomial $r_1 r_2 (x - D_1)(x - D_2)$ in the output note.

Note that the polynomial stored in a note vanishes exactly on the deposit addresses from which its funds originated.

So to transact, we just have to prove that the polynomial in the output note does not vanish on the sanctioned deposit addresses.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Not Started 🕧
Development

No branches or pull requests

1 participant