Efficient zero-knowledge range arguments and privacy-preserving applications