Smart contracts with private data