Pitch: Enhancing Vote Traceability #27
hmrtn
started this conversation in
AIPs in Review
Replies: 2 comments 4 replies
-
Thanks @hmrtn for kicking this off, I'm excited about this project! I'm also wondering if this modification would solve for the blocking issue with fiat onramping. My understanding is that we were hoping to integrate a fiat onramp and were blocked from doing so because the votes could not be traced to specific voters. I think Olsen (not sure his gh un!) was closest to that project and may have more details! |
Beta Was this translation helpful? Give feedback.
3 replies
-
@hmrtn Just checked this out. LGTM
We'll review and get the changes merged |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Background:
The aim of this proposal is to improve the traceability of our voting system for batched checkout, which are expected to be implemented in a future enhancement with a new Multi-checkout contract. The core of the issue lies in the traceability of the originating account in multi-round checkout contract invocations.
Context:
Currently, our system allows users to vote on a
RoundImplementation
contract, which subsequently passes the encoded votes to theQuadraticFundingImplementation
contract, ultimately triggering aVote
event. If a Multi-checkout contract were introduced to execute batched checkouts by callingRound.vote
, thenmsg.sender
withinRound.vote
would register the address of the Multi-checkout contract, instead of the EOA that invoked the original transaction.Suggested Implementation:
To enhance traceability and enable identification of the original EOA that invoked the transaction, irrespective of the sender of
Round.vote
, it is proposed to includetx.origin
in theVote
event emitted by theQuadraticFundingImplementation
contract. This change will allow us to identify the original EOA, even when intermediary contracts are used.In
QuadraticFundingImplementation
:In the updated Voted event, an
origin
field is added, representingtx.origin
, the address of the original EOA that initiated the transaction.When the event is emitted, ensure to include
tx.origin
as the origin parameter:Implications
While this proposal will improve traceability, it's important to note that
tx.origin
should only be used for tracking or auditing purposes and should not be utilized in any security-critical functionality due to potential security vulnerabilities.You can find more of the past discussion here: https://discord.com/channels/562828676480237578/1108094112617484398
Beta Was this translation helpful? Give feedback.
All reactions