Xparent is a web application that allows full transparency and traceability of transactions using Bitcoin. This may be useful for governments and non-profits as a way of keeping full accountability of income and expenses.
We the people are the new auditors.
How it works
These are the requirements that an institution must fully comply with to be considered transparent as per the Xparent definition:
- The public institution must provide a hierarchy of departments and the mapping of real life identities of service providers and their Bitcoin addresses in a config.json file.
- All payments must flow through that hierarchy from parent to children or to a Bitcoin address that is mapped to a provable well-known real life identity (typically, a service provider).
- All spent outputs in a transaction must belong to a single Bitcoin address and the change must return to that same address.
If the whole total budget starts at the root node of the hierarchy, and the three steps above are always honored, we the people would always be certain about the origin of income and destination of expenses.
If reality does not match the stated origin or destination of payments, it will be registered as an offense.
Format of config.json file. Version 0.1.1
The config.json file defines the hierarchical structure of the organization and the mapping of valid service providers to their Bitcoin addresses.
If you want to use Xparent to show the world the transparency of your organization, it would be advisable to validate your own config.json file against the JSON schema for Xparent version 0.1.1 before you make it public. A nice online validator can be found here.
However, it is probably easier to create your config.json file using this example as a template.
Current limitations that can be fixed in the future
- If you make a non-transparent payment, even if unintended and well-meaning, it will tarnish your final transparency/offense grade. These errors are currently not possible to revert.
- External transaction-spamming of addresses in the hierarchy are currently reported as income offenses.
- Valid external service providers are currently specified in the config.json file. In upcoming versions, service providers should not be part of the config.json file. In the future, service providers should map their Bitcoin address with their provable well-know real life identity in a public repository. Xparent would connect to that repository to check for transaction transparency.