bitshares / bitshares/bitshares-core
Witness nodes sometimes accept transactions with unnecessary signatures
- Dominant language
- C++
- Stars
- 1.2k
- Forks
- 660
- Avg merge
- 8h 17m
- Merged PRs (30d)
- 26
Description
As described in https://github.com/bitshares/bitshares-core/issues/197#issuecomment-357493233, when an operation requires owner permission, if a transaction contains that operation is signed by both active key and owner key (two signatures), it will still be accepted by witness nodes. But actually the signature signed by the active key is unnecessary.
To "fix" this, need to change the consensus. It's tricky because it requires client applications to adapt to the new rule, so it's possible to break some of them.
Update: test case is here: https://github.com/bitshares/bitshares-core/pull/1255/commits/fbef6c25d9fa48bb86d2bd4946f33df40691c3d7
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the test case referenced in pull request #1255, commit fbef6c25d9fa48bb86d2bd4946f33df40691c3d7, then trace the transaction-signature validation it exercises. Confirm the expected behavior for an owner-required operation carrying both active and owner signatures, and account for the stated consensus and client-application compatibility impact. Done means the consensus behavior and its tests match the agreed rule.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- blockchain
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100