A Survey on Efficient Parallelization of Blockchain-Based Smart Contracts