|
Can we make ChatGPT write chaincode for us?
The answer is certainly yes, but – for now - the current caveats of “AI-conversational” programming apply: the process is iterative, and we really can’t be sure whether the result is completely right until we test it – and probably also look for execution errors at runtime.
Automated programming for other blockchain platforms is an already emerging topic, but Fabric has not been really addressed yet. This is an experimental mentorship with equal weight in research and hands-on coding, with the following goals.
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, etc.).
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.
Furthermore, 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.
Hyperledger Fabric.
This project does not really need significant existing credentials; curiosity is the key factor. That said, basic experience in programming and knowledge of requirement-driven development approaches is needed. We prefer a candidate to have at least some experience with chaincode development and knowledge of the Hyperledger Fabric platform.
If available, show us (preferably through GitHub) and be able to explain a nontrivial piece of chaincode you developed.
We expect a successful mentorship to have the potential to become a Lab project in the form of a self-hosted tool for users. At this point, due to the experimental nature of the proposed work, we are hesitant to make any further plans (e.g., about a "Fabric coding service").
Name, email, Chat ID, company affiliation (optional)
Bertalan Zoltán Péter, bpeter@edu.bme.hu, PhD student, Budapest University of Technology and Economics, Dept. of Measurement and Inf. Systems, Critical Systems Research Group
Imre Kocsis, kocsis.imre@vik.bme.hu, assistant professor, Budapest University of Technology and Economics, Dept. of Measurement and Inf. Systems, Critical Systems Research Group