A software service transaction approach based on blockchain smart contracts
-
-
Abstract
With software service transactions shifting from pay-before-use to pay-as-you-go, the Software as a Service (SaaS) subscription model is facing legalization and financialization challenges. This means that it does not accept financial payment on a pay-as-you-go basis, nor does it legally regulate the rights and obligations of service providers, consumers, and platforms. To address these issues, this paper introduces a new architecture called Smart Legal Contract (SLC), which is integrated into a service computing platform (SaaSC). To begin with, a contract-type service interface scheme is intended to handle the subscription process of service registration and publication on SaaS. In this scheme, we define six types of interactions, four kinds of microservice states, and their state transition procedures, and then establish the mapping from the general service interface following the OpenAPI Specification to the contract terms in the SLC-style SPESC language. To achieve a regularized interaction approach during service registration, a new term, called Service Registration Term (SRT), is proposed. Furthermore, the legal Negotiation-Acceptance mechanism is used to grant consumer rights to obtain software services. Second, in the process of service discovery and consumption, a payment mechanism for contracting demand is proposed. Specifically, based on the service matching approach with a three-level cache, other new terms, called Service Discovery Term (SDT) and Service Customization Term (SCT), are designed to specify the requests and responses of service discovery and invocation. A billing model driven by SRT, SDT, and SCT has been developed to implement fine-grained charging on the level of service interface calls and to evidence the preservation of service transactions in the blockchain. As a result, it provides a legal guarantee for the use of pay-as-you-go mode. From the aspect of service legalization, the SaaS+SaaSC architecture supports establishing three kinds of terms, including service registration, discovery, and customization terms, in an SLC-based software subscription contract so that a complete transaction procedure can be regulated among the three above parties based on their interactions, service states, and their transition process. In terms of service financialization, the interface declaration is appended to the SLC-based contract. By automatically executing smart contracts and checking the terms, the pay-as-you-go mode is implemented through fine-grained charging every time when calling the service interface. Furthermore, we take the weather forecast service as an example to implement and analyze the acquisition, delivery, and contractual payment of software services on blockchain smart contracts. The experimental results demonstrate the feasibility and effectiveness of the proposed SaaS+SaaSC architecture, which should be a practicable approach for contracting of software services.
-
-