Over the past few years, blockchain platforms supporting WebAssembly (Wasm) smart contracts are gaining popularity. However, Wasm smart contracts are often compiled from memory-unsafe languages (e.g. C and C++). And there is a lack of effective defense against integer overflow and stack overflow at the compiler and virtual machine (VM) layers, making Wasm smart contracts even more exploitable than native C and C++ programs. In this paper, the authors propose wasm overflow detector (WASMOD) to address the integer overflow and stack overflow vulnerabilities. The authors’ approach combines bytecode instrumentation, run-time validation, and grey-box fuzzing to detect these vulnerabilities. The authors applied their approach to the popular EOSIO blockchain and evaluated it on 4616 deployed Wasm smart contracts. The authors’ approach detected 13 real-world vulnerable smart contracts.
{"title":"WASMOD: Detecting vulnerabilities in Wasm smart contracts","authors":"Jianfei Zhou, Ting Chen","doi":"10.1049/blc2.12029","DOIUrl":"10.1049/blc2.12029","url":null,"abstract":"<p>Over the past few years, blockchain platforms supporting WebAssembly (Wasm) smart contracts are gaining popularity. However, Wasm smart contracts are often compiled from memory-unsafe languages (e.g. C and C++). And there is a lack of effective defense against integer overflow and stack overflow at the compiler and virtual machine (VM) layers, making Wasm smart contracts even more exploitable than native C and C++ programs. In this paper, the authors propose wasm overflow detector <b>(WASMOD)</b> to address the integer overflow and stack overflow vulnerabilities. The authors’ approach combines bytecode instrumentation, run-time validation, and grey-box fuzzing to detect these vulnerabilities. The authors applied their approach to the popular EOSIO blockchain and evaluated it on 4616 deployed Wasm smart contracts. The authors’ approach detected 13 real-world vulnerable smart contracts.</p>","PeriodicalId":100650,"journal":{"name":"IET Blockchain","volume":"3 4","pages":"172-181"},"PeriodicalIF":0.0,"publicationDate":"2023-05-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://ietresearch.onlinelibrary.wiley.com/doi/epdf/10.1049/blc2.12029","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74856433","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Xinlei Liu, Yang Liu, Xiangyang Li, Haohao Cao, Yaoqi Wang
The Byzantine Fault Tolerant (BFT) consensus algorithms have been widely applied in the blockchain systems because of their fault tolerance capability to determine system consistency in the presence of malicious nodes. However, the BFT consensus algorithms are confronted with low efficiency and scalability problems caused by multiple rounds of handshake communication. In this paper, a pipeline-based Fast Pipeline Byzantine Fault Tolerance consensus algorithm (FP-BFT) is proposed, which adopts a non-leader pipeline framework to process different rounds of transactions in parallel. By means of randomly selecting 2f+1 nodes to form a committee for one round of transactions, consensus agreement can be reached within the committee via nodes broadcasting and voting. Committee nodes participating in the consensus are chosen by chance to avoid the monopoly of which becomes the block producer. Consensus efficiency and the system throughput can be significantly improved with the pipeline framework. Comparison experiments are conducted to verify the superiority of the FP-BFT algorithm, and the theoretical proof is given to guarantee the Byzantine fault-tolerant security. Experimental results show that FP-BFT has improved the consensus efficiency by decreasing communication overhead to make it better applied both in public blockchain and consortium blockchain systems.
{"title":"FP-BFT: A fast pipeline Byzantine consensus algorithm","authors":"Xinlei Liu, Yang Liu, Xiangyang Li, Haohao Cao, Yaoqi Wang","doi":"10.1049/blc2.12030","DOIUrl":"https://doi.org/10.1049/blc2.12030","url":null,"abstract":"<p>The Byzantine Fault Tolerant (BFT) consensus algorithms have been widely applied in the blockchain systems because of their fault tolerance capability to determine system consistency in the presence of malicious nodes. However, the BFT consensus algorithms are confronted with low efficiency and scalability problems caused by multiple rounds of handshake communication. In this paper, a pipeline-based Fast Pipeline Byzantine Fault Tolerance consensus algorithm (FP-BFT) is proposed, which adopts a non-leader pipeline framework to process different rounds of transactions in parallel. By means of randomly selecting 2<i>f</i>+1 nodes to form a committee for one round of transactions, consensus agreement can be reached within the committee via nodes broadcasting and voting. Committee nodes participating in the consensus are chosen by chance to avoid the monopoly of which becomes the block producer. Consensus efficiency and the system throughput can be significantly improved with the pipeline framework. Comparison experiments are conducted to verify the superiority of the FP-BFT algorithm, and the theoretical proof is given to guarantee the Byzantine fault-tolerant security. Experimental results show that FP-BFT has improved the consensus efficiency by decreasing communication overhead to make it better applied both in public blockchain and consortium blockchain systems.</p>","PeriodicalId":100650,"journal":{"name":"IET Blockchain","volume":"3 3","pages":"123-135"},"PeriodicalIF":0.0,"publicationDate":"2023-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1049/blc2.12030","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50141719","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Cyber security in the banking sector is of high importance nowadays. The rate of cyberattacks is spiking every year, and the implementation of strong cybersecurity models is required to ensure the confidentiality and integrity of data. Since protecting a bank requires a wide range of security practices, this paper focuses on protecting the bank resources from malicious actors and securing the transactions using a blockchain consensus mechanism that uses a zero-trust security approach among the participants in the transaction. In addition to the framework, an algorithm for blockchain-based online transactions was designed to make use of practical implementation in the future. The ideas formulated during the research and literature review were integrated to design the framework and the algorithm. The proposed framework ensures that the security of the banking sector can be enhanced by adopting the zero-trust concept and blockchain technology. The consensus algorithms used for the transaction make it immutable and decentralized. Zero-trust principles adopted in the model ensure the confidentiality and integrity of the banking system.
{"title":"Zero-trust-based security model against data breaches in the banking sector: A blockchain consensus algorithm","authors":"Umair B. Chaudhry, Aysha K. M. Hydros","doi":"10.1049/blc2.12028","DOIUrl":"https://doi.org/10.1049/blc2.12028","url":null,"abstract":"<p>Cyber security in the banking sector is of high importance nowadays. The rate of cyberattacks is spiking every year, and the implementation of strong cybersecurity models is required to ensure the confidentiality and integrity of data. Since protecting a bank requires a wide range of security practices, this paper focuses on protecting the bank resources from malicious actors and securing the transactions using a blockchain consensus mechanism that uses a zero-trust security approach among the participants in the transaction. In addition to the framework, an algorithm for blockchain-based online transactions was designed to make use of practical implementation in the future. The ideas formulated during the research and literature review were integrated to design the framework and the algorithm. The proposed framework ensures that the security of the banking sector can be enhanced by adopting the zero-trust concept and blockchain technology. The consensus algorithms used for the transaction make it immutable and decentralized. Zero-trust principles adopted in the model ensure the confidentiality and integrity of the banking system.</p>","PeriodicalId":100650,"journal":{"name":"IET Blockchain","volume":"3 2","pages":"98-115"},"PeriodicalIF":0.0,"publicationDate":"2023-03-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1049/blc2.12028","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50142222","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Can Zhao, Qin Liu, Zonghua Hu, Ze Yu, Dejun Wang, Bo Meng
Go is a relatively new programming language and has become one of the most important programming languages used widely in blockchain. A formal semantics plays an important role in program synthesis, analysis and verification. The existed formal semantics of Go are not executable and do not cover the core features, hence, this paper presents an executable formal semantics for Go, called K-Go, using rewriting logic in