If I get your product right, does it try to publish a transaction that will get accepted by the network before the attacker successfully takes the money
Yes exactly. It’s a multi-pronged approach.
1. We have message propagation techniques that will get your transaction to more nodes on the network than the attacker.
2. If attacker has a higher fee than your transaction there’s a chance that your transaction will still be accepted over the attacker’s as quite a few nodes on the network will accept the first transaction that spends a given UTXO and will reject any subsequent transactions spending the same UTXO
3. If the node supports full replace by fee it will accept whichever transaction has the higher fee this is where our countermeasures come into play. We’ll detect if the attacker is spending a higher fee and will allow you to send subsequent transactions that will be higher than the attacker’s transaction. This is all at the user’s discretion so they can go as high or as low as they want
What if the attacker tried to outspend it then? What is the limit of the RBF? Will you continuously try to bump the fee?
If the attacker outspends your countermeasure there’s always a chance that it can still be accepted, but this is where the not being bullet proof portion comes in. There’s also a chance the attacker will win in this case
This also means that someone will need to store a large amount of their wealth in one wallet, which probably limits flexibility (but I guess that's not a problem if the goal is creating a cold wallet). It makes me wonder if your product is better compared to running a macro or something similar, but it is hard to trust that your product will help the average joe if they can simply learn a little bit about how to store their seeds.
If you have your bitcoin stored across various wallets to avoid having all your wealth in a single wallet that is not a problem for our service. You’ll just need to back a backup transaction for each wallet.
As for the macro piece, yes if you are sophisticated enough to build out a service like lucidtactics.com on your own definitely no need to use our service; though I wouldn’t be surprised if it would still be cheaper to use our service than to spin up your own infrastructure.
Regarding helping the average Joe learn how to use seeds that is our goal. We want to spread security awareness in the field our solution is more so a last resort if something went wrong in spite of that.
Thanks for the feedback. We’re toeing the line between being high level and technical here erring more so on the high level side. But happy to break down the technicals here.
We are more so targeting HODLERs with cold wallets here. Most users rarely spend funds from their cold wallet so if we ever see any of your UTXOs being spent we assume it’s a malicious transaction and activate defensive procedures.
We may need to write a whitepaper on this. From our testing we’ve found that message propagation does matter in a peer to peer network. There’s no guarantee that the miner that will win the block will support full RBF. In that scenario they’ll accept the first transaction spending a given UTXO and yes if your initial fee falls within their block acceptance parameters it could beat an attacker trying to spend your UTXO especially if our transaction gets to them first.
Ahh in this case we are more so referencing the nodes on the network and not the wallet portion.
While we’re on the subject of wallets and RBF from our testing we’ve noticed that quite a few wallets will actually not allow the attacker to adjust their original malicious transaction as they tend to replace it with the higher transaction they saw. This means that attackers will now need to implement some programmatic logic to steal your funds as if they were using a regular wallet it would not allow you to double spend the same UTXO
I kinda see where you are going with this. Let's take the example of the thread that are somewhere on this forum, where you post the Bitcoin address linked to your account and where you sign that address with a message saying that you are the owner of that Bitcoin address and that Bitcointalk.org account.
So, people can hack your account, but they cannot sign that Bitcoin address that you used to prove that you were the original owner of that account. (You simply sign a message again and you have solid proof that you are the owner of that account)
It is just a added layer of protection for your account.
Yes exactly!
And there’s quite a few scenarios where this extra layer is almost a must have e.g.
- hardware failure with no seed backup in place
- seed backup exposure
I find your service is rather unique. Although looking at pricing, it's weird it's based on total UTXOs or transactions. Someone who wish to use your service might perform consolidation to new address in order to choose cheapest pricing option. And since average user probably either don't use wallet which create signed TX without broadcasting it or know how to only create signed TX, i expect you'll need to write some tutorial or collaborate with certain wallet software.
Our pricing is based on our resource consumption for our monitoring solution. At the moment the constraint is based on number of UTXOs that needs to be monitored. We have no qualms if users prefer to do UTXO consolidation to get the cheaper option as that will free up even more resources for us to monitor.
As for tutorials, yes totally agree we’ll need to make a few. We will probably only have a limited set of wallets we recommend in the short term. Those are
- blue wallet
- sparrow
- electrum
Would definitely love to see more wallets support the ability to create a signed transaction without broadcasting.