This proposal is to request Threshold network to pay back a user who lost funds in a mint that went wrong and the user lost over 4 BTC. The user opened a support request with the help of Victor and John Packel and the support team concluded that the funds could not be recovered. The user who lost funds makes the following case for reimbursement :
The minting UI is a poor design that caused a tBTC mint deposit to be lost. The mint requires BTC to be sent to a wallet that is stored in the browser cache with its private data stored in a JSON browser download. The JSON file handling is non-standard for holding private wallet data. The language used and method of handling the JSON are poor design choices that unnecessarily open vectors for a failed mint and lost funds. As happened in this case the JSON browser download was blocked automatically in the background by the browser unknown to myself which lead to a lost JSON. I request the Threshold network send the equivalent of the lost funds 4.04185123 BTC back to the sending address. I explain below some of the reasons that lead to the loss.
The document page STEP 1 #4 says: “Make sure to download the JSON file by clicking Download. The JSON file contains a wallet public key, a refund public key, and a refund lock time. You need to keep this JSON file until you receive your tBTC tokens.”
So it mentions public keys not private keys so does not indicate private wallet data. The file actually also contains a blinding factor that is not mentioned here which turns out to be critical to the loss. And it says one needs to keep this file for fast recovery but doesn’t clarify that this file contains the private data required to forever move the funds. So the JSON is actually a non-standard wallet because it contains the only copy of the private data required to move the funds after the deposit. This is a very non standard way of handling what is a new wallet address. There is no wallet setup protocol followed as is standard when creating a new wallet that would indicate to the user they are still responsible for the funds at this time. Also it is not a standard application of the browser download and cache to hold new wallet private data which is subject to browsers default security policies that may automatically in the background block certain browser downloads.
The phrase in the mint page says “in case you need to make a fast recovery” that also implies the JSON is only required to speed up the recovery process and not essential for it. The support team had the habit of calling the JSON a receipt. A receipt does often help “in case you need to make a fast recovery”. But a receipt is never an essential key to forever require access to the valuable that was deposited. Issuing a receipt literally means proof of deposit meaning the liability for the valuable has changed. And so the liability doesn’t stick to the depositor. So this also indicated to me that the tBTC UI mint design is flawed.
Since the JSON receipt is so critically important why not require it to be uploaded before displaying the deposit address similar to the existing RESUME feature?
In any case the process should and can be bullet proof and yet using the browser download and cache for a new private wallet is a very non-standard design especially if the intention is that liability remains with the user for this part of the process.
Therefore I request the Threshold Network approve this proposal to send funds equivalent to the lost 4.04185123 BTC to the same address which originally sent the funds as follows:
Original send address/reimbursement address:
1BdupQuUWT1s6CZHMfQ2NYutBuY3vcw5Ys
Mint Deposit Transaction ID: 38dc55c71a7d192dfb8dd2c01b16f40fc712252205e24287b5271bc725080f6a
Thank you kindly for your consideration.