Skip to content

Conversation

@HyungrakJo
Copy link

Dear Team,

I am proposing a new functionality within the smart contract to improve the security and usability of multi-signature transactions. The code snippet provided in this pull request introduces the sendMultiSigInsertingSequenceId function, an enhancement aimed at addressing a specific issue with our current transaction processing system.

Background

Currently, our system successfully executes transactions after dual-signature verification. However, in cases where a transaction fails, the sequenceId remains unaltered. This leads to a scenario where signatures could potentially be reused within their expiry time, posing a security risk.

Solution

The sendMultiSigInsertingSequenceId function aims to mitigate this risk. It ensures that the sequenceId is incremented after each transaction attempt, regardless of its success. This feature is crucial for two reasons:

  • Security: By incrementing the sequenceId after each attempt, we eliminate the possibility of replay attacks using the same sequence ID, even if the transaction fails.

  • Usability: In the event of a failed transaction, the current system requires users to wait until the signature's expiry time before initiating a refund. This new function accelerates the process, allowing for immediate action without waiting for the signature to expire.

Implementation

The function verifies the secondary signer using verifyMultiSig. It then attempts to execute the transaction. Regardless of the transaction's success, the sequenceId is incremented, thereby invalidating the signature for future transactions.
This improvement aligns with our ongoing efforts to enhance security while maintaining user-friendly processes. I believe the integration of this function will significantly benefit our system's integrity and user experience.

Looking forward to the team's feedback and suggestions.

@gianchandania gianchandania removed their request for review October 1, 2025 16:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant