Versions Compared

Key

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


Page Properties


Project TitleApplying fault-tolerant software patterns to Hyperledger Fabric chaincode
Status

Status
colourBlue
titlePending TSC Review

Difficulty

Status
colourYellow
titleMedium
  


...

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.

...

The project is expected to primarily focus on the patterns collected in the reference book Hanmer, Robert S.Patterns for fault tolerant software. John Wiley & Sons, 2013. It also serves as a good general introduction to fault-tolerant computing. The scope will be extended towards other academic papers (and existing fault-tolerant computing APIs, as, e.g., SA Forum) as and if justified by the progress.

Learning Objectives

  • Introduction to open source culture and collaboration tools
  • Deep knowledge of the operational principles of Hyperledger Fabric
  • Software engineering techniques of fault tolerant computing

...