Open
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.yaml
withmsptype: idemix
.
Observed Behavior
- Fabric CA is generating
IssuerPublicKey
andIssuerRevocationPublicKey
under the standard Idemix MSP directories (e.g., inmsp/
). - Despite configuring
amcl.Fp256bn
, the orderer sees a key version of4
and 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.Fp256bn
should generate an IPK version that is recognized by the Fabric MSP (i.e., version ≤ 3). - The
osnadmin channel join
command 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.Fp256bn
being 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.