Research Article

VdaBSC: A Novel Vulnerability Detection Approach for Blockchain Smart Contract by Dynamic Analysis

Algorithm 1

Proposed Smart Contract Vulnerability Detection.
Require: Preprocessed dataset
Ensure: Vulnerability detection model
    1: functionDYNAMICTAINTANALYSIS()
    2:  Perform dynamic taint analysis to track data flow and identify tainted values in bytecode
    3:  return Set of tainted values
    4: end function
    5: functionFEATUREEXTRACTION()
    6:  Apply n-grams with one-hot encoding to convert bytecode into feature vectors
    7:  Incorporate dynamic features derived from tainted values into the feature vectors
    8:  return feature vectors
    9: end function
 10: Load preprocessed dataset
 11: Feature Extraction Phase:
 12: for each contract in the dataset do
 13:  Extract bytecode from contract
 14:  Apply RandomFlipping function using Equation (1) to :
 15:  Extract execution data from contract
 16:  Apply RealTimeBatchNormalization function to :
 17:  Perform dynamic taint analysis on and :
 18:  Extract features from and using FeatureExtraction function eqn (3) and eqn (4) with tainted values
 19:  Replace the original bytecode and execution data in contract with
 20: end for
 21: Model Training Phase:
 22: Split the dataset into training and testing sets using Equation (5)
 23: Initialize the BiLSTM-CNN-Attention model
 24: Train the model using the training set using Equation (5)
 25: Model Evaluation Phase:
 26: Evaluate the model using the testing set using Equation (9) for classification
 27: Return classification output