TSC-VEE: A TrustZone-Based Smart Contract Virtual Execution Environment
【Author】 Jian, Zhaolong; Lu, Ye; Qiao, Youyang; Fang, Yaozheng; Xie, Xueshuo; Yang, Dayi; Zhou, Zhiyuan; Li, Tao
【Source】IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS
【影响因子】3.757
【Abstract】TrustZone as a trusted execution environment (TEE) has been proven to preserve the confidentiality of blockchain transactions supported by smart contracts. Despite some academic effort, TrustZone can only support limited languages for now. The lack of the corresponding execution environment for smart contracts seriously hinders blockchain applications from directly running on TrustZone. In this paper, we design the first virtual execution environment named TSC-VEE for performing Solidity smart contracts on TrustZone, to the best of our knowledge. TSC-VEE can be decomposed into fourfold: (1) an instruction set adapted to the isolation and world switching mechanism of TrustZone. (2) a runtime memory management mechanism that provides a pair of instructions with the corresponding processing mechanism to allocate and release the work memory. (3) a hybrid granularity resource analysis algorithm which computes and records the value of maximum stack height and static gas cost through bytecode pre-execution, avoiding runtime overflow and invalid computations. (4) a cross-isolation-environment prefetching approach that supports loading and storing the storage data from the normal world into the secure world on TrustZone before execution, thus avoiding switching the world state frequently at runtime. Extensive experimental results show that TSC-VEE can perform smart contracts correctly and efficiently on TrustZone. Compared with the most commonly used Ethereum client-Geth, TSC-VEE achieves execution performance improvements by $9.29\times$9.29x. We also implement the Ethereum virtual machine-evmone on TrustZone. TSC-VEE can reduce the latency by 12.63% with our optimization techniques, and decrease the work memory footprint by 22.95% on average when executing various scale contracts.
【Keywords】Smart contracts; Blockchains; Memory management; Switches; Codes; Public key; Optimization; Blockchain; smart contract; solidity program language; TrustZone; virtual execution environment
【发表时间】2023 JUN
【收录时间】2023-07-06
【文献类型】
【主题类别】
--
评论