Validation and verification of smart contracts
The correct and robust behavior of smart contracts is a fundamental requirement in any blockchain-based solution. We are working on novel approaches to systematically and expressively inject software faults into smart contracts - not only to assess the efficiency of V&V tools at development time but also to assess the impact of not-caught smart contract faults on the blockchain system as a whole during operation. Part of this research is to create smart contract code and platform-level dependability mechanisms to increase dependability at the systemic level.
Empirical performance engineering for distributed ledgers
Our work on distributed ledger performance analysis began with a 2016 IBM Faculty Award, granted to Prof. András Pataricza. The work was performed in cooperation with Duke University; we created an empirical approach for efficient bottleneck identification and analysis for Hyperledger Fabric 0.6 (see, e.g., our International Journal of Cloud Computing paper). Research on intelligent support for creating qualitative abstractions of performance measurements is an ongoing activity.
Model-based system engineering for distributed ledgers
Due to the criticality of intended applications as well as the requirement that smart contract-based cooperation logic has to be "right in the first version", we are performing research to bring model-based system engineering techniques - in a simplified way: generating smart contracts from engineering and business models - to distributed ledgers.
For generating native Hyperledger code from Business Process Model and Notation (BPMN) models, Attila Klenik won a 2017 Hyperledger Summer Internship and Dr. László Gönczy won an advising position in the program. Attila researched and prototyped an approach for automatically generating smart contracts from BPMN-based business process models to run on the Hyperledger Fabric platform. Lately, we have been cooperating with Quanopt Kft on bringing the approach to other languages (as Hyperledger Concerto) and platforms.
We also created and published an approach to generate Solidity smart contracts from Yakindu statecharts. Work is underway to create generative support for DAML and languages supported by Hyperledger Fabric.
Hyperledger, standardization
BME is an academic member of the Linux Foundation and specifically the Hyperledger project. Group members are active in the Performance and Scalability Working Group, where Dr. Imre Kocsis was a contributor to the Whitepaper on Blockchain Performance Metrics.
Dr. Imre Kocsis is also a co-organizer of the local Hyperledger Meetup. In 2019, a student of Dr. Kocsis (Balázs Prehoda) also won and successfully executed a Hyperledger Summer Internship.
Dr. Imre Kocsis is the national delegate to ISO/TC 307, the standardization committee for Blockchain and distributed ledger.
The work on empirical performance engineering seeded our involvement with Hyperledger Caliper. Attila Klenik is one of the core developers of Caliper, a flexible, scalable, and highly extensible tool for the performance benchmarking of blockchain platforms.
In addition to his Hyperledger Summer Internship as a student in 2017, Attila Klenik was a mentor in the 2019 program, co-mentoring a university student from the USA on extending Caliper with a web-based GUI for real-time feedback on the running performance benchmark.