-
Notifications
You must be signed in to change notification settings - Fork 9.1k
Open
Labels
Description
Description
Bug Report: "Version not recognized [4]" Error with Idemix on Fabric v3.0.0
Description
I am encountering a Version not recognized [4] error when attempting to use an Idemix organization on Hyperledger Fabric v3.0.0, in conjunction with Fabric CA v1.5.13.
Error Details
When I try to join a new channel using osnadmin channel join, the orderer returns the following error:
Status: 400
{
"error": "invalid join block: initializing channelconfig failed: could not create channel Application sub-group config: creating the MSP manager failed: Invalid *IdemixNewOpts. Version not recognized [4]"
}
Environment
- Hyperledger Fabric: v3.0.0 (orderer and peer images)
- Fabric CA: v1.5.13
- Idemix curve configuration in
fabric-ca-server-config.yaml:
idemix:
curve: amcl.Fp256bn
rhpoolsize: 1000
nonceexpiration: 15s
noncesweepinterval: 15m- The organization in question is defined in
configtx.yamlwithmsptype: idemix.
Observed Behavior
- Fabric CA is generating
IssuerPublicKeyandIssuerRevocationPublicKeyunder the standard Idemix MSP directories (e.g., inmsp/). - Despite configuring
amcl.Fp256bn, the orderer sees a key version of4and refuses to parse it, citingVersion not recognized [4]. - This suggests that the Idemix MSP code in the Fabric orderer (which only accepts versions ≤ 3) is incompatible with the newly generated IPK.
Expected Behavior
- The combination of Fabric v3.0.0 and Fabric CA v1.5.x with
amcl.Fp256bnshould generate an IPK version that is recognized by the Fabric MSP (i.e., version ≤ 3). - The
osnadmin channel joincommand should succeed in parsing the Idemix MSP without triggering"Version not recognized [4]".
Question
- Is there a known scenario in Fabric CA or IBM/Idemix that might inadvertently produce a "version 4" IPK, despite
amcl.Fp256bnbeing set? - Should Fabric v3.0.0’s MSP accept version 4 if Fabric CA is at v1.5? Or is this a bug in one of the code paths?
Any guidance on resolving this issue would be appreciated. Thanks!
Steps to reproduce
- Start a Fabric CA (v1.5) with the idemix: stanza set to amcl.Fp256bn.
- Enroll an Idemix org admin, generating IssuerPublicKey and IssuerRevocationPublicKey.
- Create a configtx that references this org with msptype: idemix.
- Start an orderer (Fabric 3.0) and run osnadmin channel join --channelID <...> --config-block <...> referencing the new organization in the config block.
- Observe the “Version not recognized [4]” error from the orderer logs or the API response.