Recount in this browser
This page re-checks a campaign's books in your browser, from the public list and the public chain. It does not trust the campaign.
Check a saved copy
Load a saved copy of a campaign's public list (a file ending in .json: the host's export, or the copy this site's pages let you save). It is checked here, in your browser, against the public chain. Nothing is uploaded anywhere.
Working…
Reading the public list.
- Checked
- Not checked
- Coverage
Keep a copy of the list
The list is public, but a server can stop showing part of it. A copy you keep is the one thing nobody else can change.
Compare with my saved copy
What a saved copy can and cannot show
It can show that entries you once saw are missing from the current list, or have been replaced by different ones. A copy saved before the host cut anything is the useful one.
It cannot show anything about a time before you saved it, and it protects only the person who kept it. If you never saved a copy, or saved it after the damage, it has nothing to compare. A copy that matches the current list does not prove the list is complete: nothing was written that neither of you has seen.
Recount from a saved copy
If the host gave you a saved copy of the public list (their export or backup, a file ending in .json), load it here. It is checked exactly as a relay's copy is: the rules must match this campaign's number, and every entry must be signed, in order and without gaps. A copy that fails any of that is refused. The result is marked as coming from a file, because nothing here shows whether it is the list the host showed to others.
Using the saved copy you loaded.
The checks
Select a row for detailWhat this check cannot see: without a contributor revealing their one-time secret, it can see that payments repeated an earlier payment's message and that a payment was set aside, but not what amount a message promised, so it cannot tell whether setting aside a payment for being too small was fair.
Fingerprint of this list
How many entries the list has, and the hash of its last entry:
Compare with a fingerprint you were given
What the fingerprint can and cannot show
It can show that this list is exactly the one the host fixed when it closed the campaign: nothing was cut off the end, and nothing was swapped for a different list since. It works with no relay running, because a saved copy carries the host's signed record, and because anyone can compare the line above with a line the host posted elsewhere.
It cannot show that the host was honest, or that the list was complete at the moment it was fixed (a payment can still be checked against the chain by the checks above, but a note the host never wrote is only caught when the chain shows its effect). It cannot show that the record you were shown is the one others saw: compare it with a copy posted somewhere durable. If no record is available, no check is made, and the page says so.
Totals
- Deadline
- Closed at
What was read
Run log- Chain height
- Ran at
- Report hash
- SHA-256 of the report as canonical JSON (sorted keys, no spaces, campaign id and chain height included). The same recount gives the same hash; see SPEC section 5.
Check against another server
Add a public lightwalletd server address (it must allow requests from web pages). The recount runs again including it.