# Smart Contract Design Pattern for Processing Logically Coherent Transaction Types
## 3 The Pattern Design and Implementation
### Concrete Layer
Importantly, the analysis of the tests showed that the increase in the evaluation time is directly proportional to the number of transactions checked. The performance test results clearly show that smart contracts as software have great potential for processing large volumes of transactions, far beyond the capabilities of currently available environments. In the context of further work, Rust language is gaining increasing attention in the community. A general-purpose language may have various applications. Blockchain is one of them. Rust enforces memory safety and a restrictive model of data ownership. The language eliminates the need for a garbage collector. Additionally, Rust supportsa Zero-Cost Abstraction paradigm, which facilitates gaining an efficient compiled code. The language promises a high performance. Thus, the work is going on implementing the pattern in the Rust language and testing smart contracts in the Solana framework. Moreover, the current version of the pattern shares verification rules within one smart contract. It is planned to improve the design pattern to enable sharing verification rules among various smart contracts. It would be also beneficial to move generalized types of verification rules into the abstract layer of the pattern. This research received no external funding. ## References

* Zheng et al. (2020) Zheng, Z.; Xie, S.; Dai, H.-N.; Chen, W.; Chen, X.; Weng, J.; Imran, M. An overview on smart contracts: Challenges, advances and platforms. _Future Gener. Comput. Syst._**2020**, _105_, 475-491. [CrossRef]
* Wu et al. (2022) Wu, C.; Xiong, J.; Xiong, H.; Zhao, Y.; Yi, W. A Review on Recent Progress of Smart Contract in Blockchain. _IEEE Access_**2022**, _10_, 50839-50863. [CrossRef]
* Kannengiesser et al. (2022) Kannengiesser, N.; Lins, S.; Sander, C.; Winter, K.; Frey, H.; Sunyaev, A. Challenges and Common Solutions in Smart Contract Development. _IEEE Trans. Softw. Eng._**2022**, _48_, 4291-4318. [CrossRef]
* Gamma et al. (1995) Gamma, E.; Helm, R.; Johnson, R.; Vlissides, J. _Design Patterns: Elements of Reusable Object-Oriented Software_, 1 st ed. ; Addison-Wesley Professional: Upper Saddle River, NJ, USA, 1995. * Six et al. (2022) Six, N.; Herbaut, N.; Salinesi, C. Blockchain software patterns for the design of decentralized applications: A systematic literature review. _Blockchain Res. Appl._**2022**, \(3\), 100061. [CrossRef]
* Liu et al. (2022) Liu, J.; Li, P.; Cheng, R.; Asokan, N.; Song, D. Parallel and Asynchronous Smart Contract Execution. _IEEE Trans. Parallel Distrib. Syst._**2022**, _33_, 1097-1108. [CrossRef]
* Gupta et al. (2023) Gupta, A.; Gupta, R.; Jadav, D.; Tamwar, S.; Kumar, N.; Shabaz, M. Proxy smart contracts for zero trust architecture implementation in Decentralised Oracle Networks based applications. _Comput. Commun._**2023**, _206_, 10-21. [CrossRef]
* Kim et al. (2023) Kim, K.; Ryu, J.; Lee, H.; Lee, Y.; Won, D. Distributed and Federated Authentication Schemes Based on Updatable Smart Contracts. _Electronics_**2023**, _12_, 1217. [CrossRef]
* Upgrading Smart Contracts in Ethereum. Available online: [[https://ethereum.org/en/developers/docs/smart-contracts/upgrading/](https://ethereum.org/en/developers/docs/smart-contracts/upgrading/)]([https://ethereum.org/en/developers/docs/smart-contracts/upgrading/](https://ethereum.org/en/developers/docs/smart-contracts/upgrading/)) (accessed on 7 February 2024). * Chu et al. (2023) Chu, H.; Zhang, P.; Dong, H.; Xiao, Y.; Ji, S.; Li, W. A survey on smart contract vulnerabilities: Data sources, detection and repair. _Inf. Softw. Technol._**2023**, _159_, 107221. [CrossRef]
* Gorski (2022) Gorski, T. Reconfigurable Smart Contracts for Renewable Energy Exchange with Re-Use of Verification Rules. _Appl. Sci._**2022**, _12_, 5339. [CrossRef]
* Zou et al. (2021) Zou, W.; Lo, D.; Kochhar, P.S. ; Le, X.D. ; Xia, X.; Feng, Y.; Chen, Z.; Xu, B. Smart Contract Development: Challenges and Opportunities. _IEEE Trans. Softw. Eng._**2021**, _47_, 2084-2106. [CrossRef]
* Vacca et al. (2021) Vacca, A.; Di Sorbo, A.; Visaggio, C.A.