Looking into a possible post-cloud world, we see mentions of different computing paradigms, many of them based on decentralised structures to overcome scalability and user control limitations. Among them is blockchain-as-a-service (BCaaS or BaaS), mimicking the platform-as-a-service (PaaS) user experience for both application providers and consumers. In PaaS, providers first sign up and subscribe to the platform, then design and build their applications and deploy them to the platform where it is executing either permanently or upon incoming network requests or other event triggers. Additionally, developers may advertise their apps at technology-specific hubs such as AWS SAR or Helm Hub. Consumers then adhere to the application terms, which might require a sign-up at the provider site, before being able to invoke and make use of the application.
On the blockchain, the concept of Dapps offers similarities and differences. Again, developers build and deploy their apps (by placing an appropriate block on the chain), and may advertise them (by submitting them to sites such as Dappradar or State of the Dapps). Consumers open a technology/blockchain-specific wallet, fill it by mining or by converting government-issued currency or other coins, and then pay per transaction (invocation of the dapp). But there are important differences, such as the decentralised and isolated execution, the use of custom programming languages, the inability to compose more complex dapps of simple ones, and the inability to specify differentiated pricing, among other restrictions.
Within the Service Prototyping Lab at Zurich University of Applied Sciences, we are concerned with the application- and service level and are investigating how to best make use of new platforms and stacks for a more effective digital transformation. As cloud hosting becomes commodity, new platforms such as hybrid cloud-blockchain offerings may become more widespread. With funding from the Swiss Leading House MENA, we are therefore proud to host Ilham Qasse, a young investigator from the University of Sharjah in the United Arab Emirates, in our research laboratory to dig deeper into the quality aspects of dapps and into a cloud perspective on blockchains.
Ilham is a computer science student and research assistant in the OpenUAE research group and brings extensive background knowledge on decentralised infrastructures. As part of her research stay, she created a scraper to fetch metadata from dapps portals and associated ‘smart contract’ code from the relevant blockchains. The acquired metadata serve as entry point for a quality analysis. Already a manual scan of the offered dapps shows that their quality and maturity is quite diverse.
Initial findings of the more detailed analysis suggest that there is a significant difference between the number of new smart contracts and the number of new dapps in Ethereum, as shown in the next figure. The difference is due to that one dapp can contain multiple smart contracts. Moreover, some smart contracts don’t belong to any dapp at all. The different number of dapps listed at marketplaces furthermore suggests consistency issues which could only be resolved by a multi-marketplace aggregation strategy.
Furthermore, the number of active users in dapps are very small compared to the traditional networked and cloud applications. It indicates that these applications are still not mature enough to be adopted by the end users on a broader scale.
As part of our work in MAO, which focuses primarily on microservices but delivers some techniques and tools applicable to comparable software artefacts, we will strive to establish a long-term observation of how the dapps landscape evolves and which dynamics is behind the quality metrics. Eventually, the experience gained with the tricky part of the analysis will also benefit our existing cloud-native artefact checkers and offer a more holistic picture of how software development for managed platforms works in practice.