Making data-efficient smart contracts