Versions Compared

Key

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


Page Properties


Project Title

Runtime-checked automated programming for chaincode development

Status

Status
colourBlue
titlePending TOC Review

Primary Focus

  

Status
titleResearch


...

  1. To review existing examples and approaches of automated programming for smart contracts of other platforms (i.e., Solidity).
  2. To explore the technically feasible options of automated programming for Hyperledger Fabric (incl. chatGPT) and select one for further work.
  3. To formulate a chaincode specification style which “seems to work well enough” on a set of representative examples with automated programming. (We don’t know yet what will work – One-shot/iterative? Requirement set or BDD? Conversational or formal? Etc.)
  4. To create support for translating the specification partially or fully to runtime verification code, which can wrap the chaincode implementation. (Starting

On the last point: starting from a specification is a tried and tested way to create verifier code either manually or automatically and is much easier to do correctly than creating the implementation correctly from a specification. We plan to keep this

...

last point "classic": i.e., no chatGPT here. Specification-based verification criteria are usually

...

amenable to development time verification, too (with static analysis, model checking, ...).

Additional Information

Ask ChatGPT for papers, which deal with using neural networks for generating Solidity code! No, really.

And ask it to write you an ERC-20 equivalent chaincode.

And ask it to introduce Fabric MSP-based ownership management.

(Try not to think of Asimov's robopsychology.)

It's not a coding wizard yet, but definitely uncanny.


On the other hand, we expect to experiment with Behavior-Driven Development; this means Gherkin/Cucumber.

Technology/approach for runtime verification (https://en.wikipedia.org/wiki/Runtime_verification) will depend heavily on the results on the "constructive" side - we do not want to make a commitment on this at this point.

Learning Objectives

  • Hyperledger Fabric chaincode programming (if that's not already in the candidate's toolbox)
  • Experiment planning and evaluation
  • Working under guidance and collaborating using open-source tools
  • Analytic thinking - and also thinking a bit out of the box

...