What follows are some ideas of future lines of work to explore after the execution of this proposal:
Producing weighted proofs for >1 fixed amounts of tokens (e.g. 2, 5, 10 tokens) for voter accounts holding multiple tokens.
At present, the proposal supports multisig voting only indirectly via delegation. Given the time constrains of the project (3 months) and that apparently there are no technical challenges to include explicit multi-sig support we decided not to address this issue so that we can devote our efforts to other areas.
Technically speaking, one potential area of exploration is for a multisig representative to collect ECDSA signed votes from other signers from the same multisig, then generates a proof that verifies the signatures and votes on behalf of the multsig.
Exploring aggregation of several votes into one for gas savings. One potential challenge could be on managing nullifiers.
Extending the number of participants & contributing nodes.
When submitting an anonymous vote, the transaction cannot come from an account linked to the voter. Paying the gas costs for this transaction is nontrivial unless the vote organiser subsidises costs and acts as a relayer.
Potential areas to explore include:
Attract frontrunners to submit votes on behalf of voters using precommitted bounties locked on-chain.
hash(secret)
is committed to by the voter and is stored on the smart contract (i.e. locking the bounty on-chain)secret
is provided as a private input to validate the Prover can spend the deposited ETH (i.e. capable of unlocking the bounty)nullifier = hash(secret, salt)
), which is assigned to a public input to the voting circuitnullifier
does not exist in a mapping it uses to log nullifiersnullifier
and liberates the fixed amount of ETH and sends it to msg.sender
(i.e. whomever managed to frontrun the voting transaction)Prior to EIP-1159 it would have been possible to send the voting transaction from a dummy address with 0 gas. Arbitrage bots would have seen the transaction in the tx pool and front-run it to recover the Eth payment. However post EIP-1159 such 0-gas transactions will be ejected from the tx pool by Ethereum nodes.
Post EIP-1159, a dedicated relayer network is required to broadcast these voting transactions; this mechanism provides a way to automatically pay the relayer on-chain without additional coordination requirements.
While it is not possible to send a 0-gas transaction, it is possible to send a >0-gas transaction from an ephemeral address with 0 balance.
Using special builders like builder0x69, these transactions can be included in a bundle as shown below:
The voting bounty / fee payment will be collected directly by the builder (instead of by the msg.sender
in the private MEV bounty approach), and the ephemeral account will be the "voter" on chain.
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