Only the holder can initiate a transfer transaction. Only the holder can initiate a redemption transaction. If diverse types of vouchers are put into circulation, it would be difficult for users to judge whether a voucher can be trusted or not. It MUST be possible to implement VTS efficiently. Many applications of vouchers, e.g., event ticket or transport passes, require high performance, especially when the voucher is redeemed.
Simplicity is important to reduce the cost of implementation.
It is also important in in understanding the system, which is necessary for people to trust the system. This approach ensures that VTS is application independent. Specifying I and H is an implementation issue and can be achieved by using a public key, hash of a public key, or other names with scope rule. For example, a loyalty point will be invalidated if the point is redeemed but a membership card can be used repeatedly regardless of the number of times presented. The language MUST be able to define how validity is modified.