Expand description
This file represents a simple Proof of Existence application, identical in behavior to the tutorial https://docs.substrate.io/tutorials/work-with-pallets/use-macros-in-a-custom-pallet/ Of course, this implementation is based on UTXOs and works with Tuxedo rather than FRAME.
The application allows users to claim the existence of a preimage for a particular hash with a transaction. Thus, the blockchain network acts as a decentralized notary service. Claims are stored in the state, and can be “revoked” from the state later, although the redeemer to the original claim will always remain in the history of the blockchain.
The main design deviation from the FRAME PoE pallet is the means by which redundant claims are settled. In FRAME, the exact storage location of each claim is known globally, whereas in the UTXO model, all state is local. This means that when a new claim is registered, it is not possible to efficiently check that the same claim has not already been registered. Instead there is a constraint checker to boot subsequent redundant claims when they are discovered. This difference is analogous to the difference between recorded and registered land https://cannerlaw.com/blog/the-difference-of-recorded-and-registered-land/
Structs§
- A constraint checker to create claims.
- A constraint checker that resolves claim disputes by keeping whichever claim came first.
- A constraint checker to revoke claims.
Enums§
- Errors that can occur when checking PoE Transactions
Traits§
- Configuration items for the Proof of Existence piece when it is instantiated in a concrete runtime.