bitshares / bitshares/bitshares-core

Witness nodes sometimes accept transactions with unnecessary signatures

Open
#580 1 comment 0 reactions 0 assignees View on GitHub
bug hardfork
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.