Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Some of these patterns are straightforward to apply to Fabric chaincode; if an implementation "fails" (e.g., throws an exception), let's try another one (n-version programming). Others may want to rely on Fabric capabilities: different peers running different chaincode implementations (software diversification) is possible in Fabric, but would not really be possible in other leading distributed ledger technologies. And some patterns will lead rather farare really not trivial to introduce; e.g., equitable resource allocation is a pattern to share resources among clients equitably - which, in Fabric, translates to giving equitable access to the constrained resource of block capacity to clients (an important and as-yet unsolved problem for all IoT/cyber-physical applications where Age of Information concerns about ledger data arise).The book "Patterns for Fault Tolerant Software" from R. Hanmer (Wiley, 2013) is a good reference of the patterns that the project will target.

The proposed project includes the following major phaseskey activities:

  1. A systematic review of the applicability of such fault-tolerant software patterns to Hyperledger Fabric chaincode as the potentially faulty software
  2. Creation of programming idioms for applying the applicable patterns to Hyperledger Fabric chaincode
  3. Prototyping "fault tolerance gadgets" (libraries) for easy application to chaincode

The book "Patterns for Fault Tolerant Software" from R. Hanmer (Wiley, 2013) is a good reference of the patterns that the project will target.

This is a research-focused project which is relatively light on programming. At the same time, a rather deep dive into the workings of Hyperledger Fabric is expected.

...