Problem
Solidity Special Variables
In current logic, when a cross-shard transaction accesses state shard specific state variables(e.g., block.gaslimit, blocknumber, etc.), those variables should be locked during 2PC. However, this would create a significant bottleneck in processing both local transactions and cross-shard transactions.
Proposal
Use only special variables of Orchestration Shard
State Shard: Use the recently received Orchestration Shard block to get the value of special variables
Orchestration Shard: Use its native special variables during cross-shard transaction simulation