Pages:
Author

Topic: How to make transaction never gets confirmed? (Read 458 times)

legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
2. Miner on certain pool (don't remember which one) have privilege to include few specific transaction.
You are probably referring to F2Pool. They allow their miners to submit a transaction, so it is included in the next block mined by them.

Yes, i was referring to F2Pool.

I doubt there's any other pool doing the same thing.

I agree, although Slushpool support Stratum v2[1] which have similar optional feature (called "Job Negotiation Protocol")[2]. Although it doesn't seem Slushpool enable that optional feature.

[1] https://help.slushpool.com/en/support/solutions/articles/77000423566-stratum-v2-mining-urls-and-guide
[2] https://braiins.com/stratum-v2
legendary
Activity: 3472
Merit: 10611
after the submiting to the pool that transaction will be finalized . can be late but cannot be unconfirmed forever my friend
Transactions are only "finalized" if they are confirmed which means if they are included in a block. Otherwise as long as they are unconfirmed and reside in the memory pool they can be dropped or invalidated (double spent).
legendary
Activity: 3388
Merit: 3154
Hello garlonicon.

The only way to broadcast a transaction and avoid it getting confirmed is by double-spend the transaction to a new address. The double-spend should be done before the transaction gets confirmed.

This is like playing with fire and there is a risk lose your coins by failing with the double spend. But this is the only way to do it allowed by the nature of Blockchain.
jr. member
Activity: 98
Merit: 5
after the submiting to the pool that transaction will be finalized . can be late but cannot be unconfirmed forever my friend
copper member
Activity: 944
Merit: 2257
Quote
What cheaper alternative do you have in mind?
1) Creating a separate chain to reach P2P Messaging System is cheaper.
2) Creating OP_RETURN commitments is cheaper.
3) Creating OP_RETURN commitments as a branch inside TapScript is even cheaper, the same with tweaking signatures in the same way as in Taproot is cheaper.
4) Sending messages on any test network instead of mainnet is cheaper (by the way, test coins are considered worthless, so sending public messages is the only reason why test networks are needed at all).
5) Using no chain at all is cheaper (and then, things can be always committed and timestamped by Bitcoin Proof of Work when needed).
legendary
Activity: 2380
Merit: 5213
2. Miner on certain pool (don't remember which one) have privilege to include few specific transaction.
You are probably referring to F2Pool. They allow their miners to submit a transaction, so it is included in the next block mined by them.
I doubt there's any other pool doing the same thing.
member
Activity: 70
Merit: 320
Take profit in BTC. Account PnL in BTC. BTC=money.
It is not for scam but spam, I want to touch some fellows without a need to pay for it

I am unsure of whether I should be impressed at the twisted honesty (“I’m not trying to steal money, but only to abuse network resources!”), or appalled at the audacity.

It reminds me of an historical case in which a robber sued another robber for breach of contract.  The plaintiff alleged that he and the defendant had agreed to divide the proceeds of literal highway robbery, but the defendant had taken more than his agreed share of stolen goods.  The court tossed the case, and sanctioned the plaintiff’s attorney for frivolous litigation with a penalty of £50 (then a significant sum).  This occurred a few hundred years ago, in the U.K.  Details are stated from my recollection; alas, I cannot now find the reference.  If anyone could provide it, it would make a suitable addition to this thread.


Is there any Bitcoin wallet that allows you send transaction with low fees that miners will not ever confirm it?
I need send a transaction to a BTC address and I want this transaction displayed on blockchain but must never gets confirmed.
Is this possible? Is there any wallet that allows this?
No.
copper member
Activity: 944
Merit: 2257
Quote
How would you know rule of each mining pool? I expect black-box testing would take some time and decent amount of money.
Unless it is some test network. Or a separate chain, that is committed to Bitcoin every sometimes, to get it timestamped by Proof of Work. There is no reason to create spam on-chain if there are cheaper alternatives.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
You mean blockchain(dot)com block explorer?
I've seen this years ago: a scammer made a transaction that showed up on blockchain.info, but not on any wallet. Needless to say, it never confirmed.
I don't know how it was done, but it's just one of many reasons not to use blockchain.info (now .com).

It is not for scam but spam, I want to touch some fellows without a need to pay for it
How about you send them an email?

If you insist on messing with Bitcoin: send dust. Or invalidate a valid transaction by playing with RBF in combination with unconfirmed parents. You risk hitting a block and getting the transaction confirmed.

Spam? Just send the standard minimum amount which is 294 satoshi if the receiver is SegWit (bc1) or 546 satoshi for legacy addresses.
Feel free to spam the addresses in my profile as often as you (OP) want Tongue Bitcoin can handle it, and I don't mind. Knock yourself out Cheesy

Quote
you'll be sending a very small amount that could be more expensive to spend than its amount.
Smart coin control prevents this.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
It is not for scam but spam, I want to touch some fellows without a need to pay for it

Well you see, now you have hit a brick wall in the protocol.

The only way you'd be able to flood transactions is inside regtest, or if you run on mainnet with your node completely disconnected from outbound peers.

Technically though, that means your transactions will be broadcasted but it will never go to any other peer. Why? Because you have to pay for spam as well. Transaction fees are a mechanism specifically introduced to make transaction spamming unviable because it is of no use to the network besides racking up everyone's internet bills.
legendary
Activity: 3472
Merit: 10611
It is not for scam but spam, I want to touch some fellows without a need to pay for it
That still sounds like a scam to me, but even if you wanted to really spam it still is not possible because every transaction you send to another node would cost that node some time and computing power and memory to verify and store in memory. That means they reject any transaction that is "not going to ever be confirmed" because it would be pointless to waste that memory on such a thing.
Not to mention that if it were otherwise that would have been an attack vector against nodes.
legendary
Activity: 1596
Merit: 1289
In Bitcoin, the currencies are either with you or at the second party, and this process does not take place until after coins added to the nearest block, while waiting for several blocks to ensure that the transaction is not reversed.

So technically, if you don't want your transaction to be confirmed, don't broadcast it.

After it has been broadcast, there is nothing to prevent it from being confirmed as long as the mempool is empty, but you can increase the possibility that it will not gets confirmed if the Mempool is full.

Spamming doesn't happen like that and it's often driven because with thousands of transactions, what you're trying to do is scam.
copper member
Activity: 944
Merit: 2257
Quote
Non-final transactions are not relayed.
True, but accepting and rejecting transactions is node-specific, so it is not some strict part of the consensus. Then, it depends of what is needed, but it is possible to reach transaction replaceability by using the same coins to create a chain of transactions with decreasing locktime. For example, it is safe to sign some transaction that will move 1 BTC to someone, and will be valid after 10 years, because it is more likely that the transaction creator will move those coins earlier.

Edit: There are block explorers with many bugs, for example this one: https://live.blockcypher.com/btc-testnet/tx/984205e0b2e0162768442346a1d1f3261eb1567b1747c64f8eec6704206847a1/
Code:
02000000000101781dad69ee49d226c559a66519b344391269dca8e28a5857af969ec9b4902c910000000000fdffffff01b71c0100000000001976a9141a8657a9dcfa149130a16ff69127b638dd4ea13588ac02473044022035a9f1a80a6000134ab716f140208e7cc722e042601d351e050673e2afe1e9d3022030a0d0198d9b86f4afae5d666bc7e03de64c3cae2161756a69cb97c64b73c230822103e02197b3175cb09c24aa3e61db0eeb8650a786e8cbc050df785d82cf68d88d1400f15365
This is testnet3 transaction, with 1700000000 locktime, but still, their node accepts it (and display around 25% confidence for no reason), because it lacks many checks, for example locktime check and transaction size check.
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
I don't know what a node's relay rules are regarding nLockTime, but you could perhaps create a mineable transaction with nLockTime set far into the future.
Non-final transactions are not relayed. The locktime has to be passed for it to be accepted into a mempool.
legendary
Activity: 4578
Merit: 3526
I don't know what a node's relay rules are regarding nLockTime, but you could perhaps create a mineable transaction with nLockTime set far into the future.
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
If your transaction can be seen on the network, then it should be valid by consensus rules. Even if all of the miners were running custom implementations, so long as someone is compliant with the rules, then your transaction will be mined.

There are of course ways to slow this down;
1) Having a transaction with high sigops. There was a way to exploit the sigops limit such that most mining pools prefer other transactions over yours. This makes it less desirable to mine your transaction. However, there is a sigops limit and this isn't a problem anymore.
2) Pay a lower fee, miners won't want to mine it.
3) Exploit the standardness rules across mining pools. IIRC, certain mining pool had a different standardness rule that resulted in them not wanting to mine specific transactions. I can't find the material for this but IIRC it happened before (not related to SatoshiDice censorship).

All in all, if your transaction is non-standard, it won't be mined without a miner explicitly doing so. If not, then your transaction will always be mined.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
It is not for scam but spam, I want to touch some fellows without a need to pay for it
Which is actually a scam, if you think of it twice. If you want to "touch" some fellows' addresses, then you'll have to either pay the dust amount or mine the block yourself, which will take you space, and therefore money again. Sorry, but these are the rules. That's what most nodes, by default, have configured. It happens to avoid spam.

And again, having a transaction in the mempool means you're okay to having it confirmed. Not only that, but you've made it publicly provable with a digital signature. It's down to the network now to decide.
copper member
Activity: 944
Merit: 2257
Quote
It will be cheap
Well, spending zero coins on some separated network is cheaper, if you just want some decentralized messaging system. And if you want to get it timestamped, then including commitments by tweaking Bitcoin signatures is enough to get it timestamped every sometimes. Then, you can communicate on your own chain, and get the whole chain timestamped every time, when you are going to move some bitcoins, it will cost no additional on-chain bytes, just tweaking R-values in signatures in the same way as it is in TapScript is more than enough to cover that.
legendary
Activity: 2646
Merit: 6681
Self-proclaimed Genius
It is not for scam but spam, I want to touch some fellows without a need to pay for it
Spam? Just send the standard minimum amount which is 294 satoshi if the receiver is SegWit (bc1) or 546 satoshi for legacy addresses.

It will be cheap
But take note that it's not recommended since you'll be sending a very small amount that could be more expensive to spend than its amount.
Those "fellows" may not like it.
copper member
Activity: 944
Merit: 2257
Quote
It is not for scam but spam, I want to touch some fellows without a need to pay for it
No problem, just run your node with those settings:
Code:
minrelaytxfee=0.00000000
blockmintxfee=0.00000000
dustrelayfee=0.00000000
Then, you can send free transactions between nodes that will declare to accept them, and then transactions will be sooner or later kicked from mempools, if you will stick with default settings. Also, doing that on test networks, instead of the main network, is a better idea, because then your transactions will not be accidentally mined by someone, when there will be almost no transactions flying around.

Edit: Also, if you want to make it spam-resistant and control how many transactions can be sent, then you can include Merged Mining, by including 80-byte Bitcoin block headers in OP_RETURN. Then, you can add mempool policy to reject transactions that will not include this Proof of Work. You can also control "required difficulty" by changing node settings to dynamically accept only commitments that are below some target, calculated automatically inside your network. It could be different for each node, just to control transaction flow.
Pages:
Jump to: