What are the essential features of a P2P exchange script?