Summary

  • Update on the Indy Ubuntu 20.04 Upgrade
  • Root cause of the "mixed node" problem
  • Moving the AnonCreds implementation out of Indy – to where?
  • Q&A

Recording of Call: 20220816 Indy Contributors Call Recording.mp4


Hyperledger is committed to creating a safe and welcoming

community for all. For more information

please visit the Hyperledger Code of Conduct.

Welcome and Introductions

Attendees

Stephen Curran (Cloud Compass Computing Inc.) <swcurran@cloudcompass.ca>

Wade Barnes(Neoteric Technologies Inc.) <wade@neoterictech.ca>

Richard Esplin(Avast) <richard.esplin@avast.com>

Lynn Bendixsen(Indicio, PBC) <lynn@indicio.tech>

Christian Bormann (Robert Bosch GmbH) <christiancarl.bormann@de.bosch.com>

Related Calls and Announcements

Release Status and Work Updates

Meeting Topics 

  • Progress on completing the Ubuntu upgrade.
  • Update on the Indy Ubuntu 20.04 Upgrade
  • Root cause of the "mixed node" problem: Indy Node issue 1769
  • Moving the AnonCreds implementation out of Indy – to where?
    • We previously discussed moving AnonCreds to Aries as part of aries-credx.
    • Could also be a DIF project?
  • Avast (soon Norton) won't be participating in Indy going forward, at least for 2022. We intend to still participate in Hyperledger Aries. Richard Esplinwon't be able to attend future meetings or follow the chat, but will try and respond to direct messages.

Upgrade Notes

  • Update on CI/CD Update and Ubuntu Upgrade 
    • Indy Shared GHA Repo
    • Indy-Plenum
    • Indy-Node:
    • indy-test-automation:
    • indy-node-container:
      • Call time changed – 17:00 CET / 8:00 Pacific on Thursdays.
    • Indy-SDK build progress
  • The root cause of the "Mixed Node" issue has been found – and it's not a mixed node issue.
    • Christian Bormann has been investigating and looks like he's figured it.
    • Issue: The merging of the RevRegEntry arrays into the RevReg was implemented in the past without a specified ordering. Such a merge is implemented differently between Python 3.5 and later, such that the merged array is in a different order in the 20.04 code, and so causes the root hash to be different between implementations. The result of the root hash differences is a 20.04 node as it stands today cannot join consensus.
    • Options to address the issue that were discussed:
      • Go back in time and add a ".sort" to the merge command.
        • No one admitted to having a time machine, so the idea was dismissed. 
      • Rewrite history to update the existing transactions to be sorted, including updating the audit log.
        • Deemed highly risky and inappropriate for a blockchain-based solution.
      • Call out to a Python 3.5 program to do the merge.
        • Deemed to be a tech debt that must last forever.
      • Write a version of the Python 3.5. merge routine (C code) in Python to get the same order as previously. Use this from now on.
        • Deemed a possibility, but with the risk that the Python code would have to work on existing and future transactions.
        • A consideration here is if we can find a pattern that results in a difference in the merge outcomes, such that we think it is safe to use this approach from now on.
      • Write a version of the Python 3.5. merge routine (C code) in Python to get the same order as previously. Add a config transaction to the ledger and use the ".sort" code after the config, use the "old" code before the config.  Make sure that the Python code handles all the transactions before the config.
        • This seems the best option, although the logistics at upgrade time are painful.
    • Actions:
      • Daniel Bluhmto take a look at the C code here to see about doing a Python version.
      • We should also do some searching on the web to see if others have done that.

Future Calls

  • GDPR and the right to be forgotten – mitigations and approaches.
  • Dealing with Indy Node DoS attacks.
  • Status of Indy-SDK
    • Statement on the future of the Indy SDK: PR 2329
    • Plans for future of Indy CLI (move to Indy VDR?)
    • Indy SDK in test for Indy Node (move to Indy VDR?)
    • Status of GitHub Actions for the Indy-SDK
  • Indy bugs
    • Using GitHub tags "Good First Issue" and "Help Wanted" 
    • Node 1490: problems with large catch-up
    • Plenum 1506: view change message consensus calculation error

Action items