FaaS Platform for Blockchain Smart Contract Modularization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Developing efficient and lightweight smart contracts for blockchain networks is challenging due to the need for robust development operations and the inability of blockchain applications to directly access and fetch required data, which limits their functionality and performance.
Innovation Solution
A function-as-a-service (FaaS) platform is introduced to provision functions to smart contracts within blockchain networks, allowing for the execution of functions through a FaaS platform that includes function controllers, components, and providers, enabling lightweight development and efficient data access without compromising blockchain security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If smart contracts are implemented as monolithic applications with robust development operations, then reliability is improved, but device complexity increases and ease of manufacture deteriorates
Solution Approach 1:
The patent segments the monolithic smart contract into modular functional components that can be independently developed, deployed, and updated. Each function is encapsulated as a separate deployable unit with its own interface, allowing developers to work on individual functions without affecting the entire contract. This modular architecture maintains reliability through structured composition while reducing development complexity through focused, incremental development.
Solution Approach 2:
The patent introduces an intermediary layer (the functional component interface and deployment mechanism) between the development process and the executed smart contract. This intermediary allows functions to be developed, tested, and deployed independently before being composed into the final contract, reducing development complexity while ensuring reliability through standardized interfaces and verification mechanisms.
2Adaptability or versatility
If smart contracts directly access and fetch data from external sources, then functionality is improved, but blockchain security model is compromised
Solution Approach 1:
The patent introduces oracle contracts as intermediary components that sit between the smart contract and external data sources. These oracle contracts fetch data from external sources, validate it according to predefined criteria, and present it to the smart contract in a secure manner. This intermediary layer enables the smart contract to access external data (improving functionality) while maintaining the blockchain security model by preventing direct unauthorized access to external sources.
Solution Approach 2:
The patent implements feedback mechanisms where oracle contracts provide authenticated data back to smart contracts with verification of data authenticity. The system includes feedback loops for validating data sources, checking data integrity, and ensuring that external data meets predefined criteria before being used in contract execution, thereby maintaining security while enabling data access.
3Adaptability or versatility
If functions are updated in smart contracts, then adaptability is improved, but the entire smart contract must be updated increasing loss of time
Solution Approach 1:
The patent segments the smart contract into independent functional components that can be updated individually. Each function is deployed as a separate module with its own version control, allowing developers to update specific functions without redeploying the entire contract. This segmentation enables selective updates, significantly reducing update time while maintaining adaptability through versioned function deployment.
Solution Approach 2:
The patent implements preliminary action by pre-compiling and validating function updates before deployment. The system allows functions to be developed, tested, and prepared in advance, with version control mechanisms that enable staged deployment. This preliminary preparation reduces the actual update time on the blockchain by ensuring that only validated, ready-to-deploy functions are submitted for deployment.
4Adaptability or versatility
If oracle services are used to fetch external data, then functionality is improved, but computational cost and complexity increase
Solution Approach 1:
The patent creates universal oracle contract templates that can serve multiple smart contracts and different data sources through standardized interfaces. These multi-functional oracle contracts reduce system complexity by providing a unified data access mechanism that works across different applications, eliminating the need for custom oracle implementations for each smart contract while maintaining external data access capability.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Implementations of the present specification include receiving, from a smart contract, and by a function controller executing within the blockchain network, a function call to execute a function, the function call including data for execution of the function, transmitting, by the function controller, the data of the function call to a function component, the function component executing the function based on the data of the function call, receiving, by the function controller, a function result from the function component, and providing, by the function controller, the function result to the smart contract.