or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
Process Steps
x1, x2
and computeposeidon([x1, x2]
))round_number = tlcs_start_process(end_time);
loop {if let tlcs_get_public_key(round_number) = Ok(pbk) {return pbk;} else {sleep(500);}}
As we're wrapping up our private voting project for @NounsDAO, we'd like to show you our prototype 👇
Step 0) Wallet registration (strictly only once per wallet): After connecting their wallet and generating their purpose-made Baby Jubjub private key, prospective voters submit the corresponding public key to the zkRegistry using the

reg-key
command (alternatively it can be done via this webapp):Step 1) Voting process creation: Anyone may create a voting process. For this, they need to submit census data together with a zero-knowledge proof, which is taken care of by the

create-process
command:Step 2) Vote cast: With the voting process ID, their NFT ID and their decision in mind, a voter may submit their ballots privately with the help of storage proofs. If they are a delegate, they must explicitly supply their address, which will be passed as a private input to their zero knowledge proof of eligibility to vote. This is the purpose of the

vote
command:Step 3) Tally: And after all is said and done, anyone may tally up the results and submit them to the smart contract by means of the

tally
command, with an accompanying ZK proof of course:In the background, the Timelock service ensures that ballots are encrypted for the duration of the process.
All of these proofs are generated by @AztecNetwork's @NoirLang. Next stop: Private voting in the browser.