Bitcoin Forum

Bitcoin => Mining => Topic started by: mikeywith on November 03, 2024, 11:54:18 PM



Title: Testnet4 Mining (Discussion)
Post by: mikeywith on November 03, 2024, 11:54:18 PM
Just so we don't drill CKsolo's main thread, I created this topic to discuss the following question.


You can use ck' code without mining on solo.ckpool. By the way, most of the time they don't change the OP_RETURN data, that's why you still see "ckpool"
Thanks. I'll try use that. Has anybody attempted to mine either testnet3 or testnet4 using this software? I have no doubt that it's more optimized at propagating blocks than Bitcoin Core, but could I find a short summary which describes the key differences? I have tried mining with a Bitcoin Core node, which is well-interconnected, and still there's this ckpool miner who monopolizes all the minting in testnet4, and I'm not sure how he manages to replace everyone's blocks with his.


I will quote more replies below to keep the context.

--snip-- still there's this ckpool miner who monopolizes all the minting in testnet4, and I'm not sure how he manages to replace everyone's blocks with his.

Don't you think he just have more hashrate?


Don't you think he just have more hashrate?
He might have more hashrate, but he mines with difficulty=1, as everybody else. Testnet4 is specifically designed to be mined with CPU, because every 20 minutes, difficulty returns to 1. It'd be understandable if he mined in ASIC difficulties, and rewrote our CPU-mined chain with his, but he enjoys the benefit of mining with ASIC on a CPU difficulty. It just drives me crazy!

Essentially, he continuously wins on block propagation every 20 minutes, because that's the only game you need to win, when difficulty is 1, and everyone can mine a block. The only reasonable explanation is that he's using a software like ckpool, which is has better optimization on block propagation, than Bitcoin Core. 

My reply is below.


Title: Re: Testnet4 Mining (Discussion)
Post by: mikeywith on November 04, 2024, 12:01:22 AM
He might have more hashrate

There is no "might", he certainly hash more hashrate.

Quote
Testnet4 is specifically designed to be mined with CPU, because every 20 minutes, difficulty returns to 1


It's not specifically designed to be mined with CPU, it can only be he case if it uses another algo, which isn't the case, so it's subject to face the same faith Testnet3 had, just the same misery caused by stupid people hammering it with high-end ASIC gears.

Furthermore, Difficulty on Testnet4 (even Testnet3) does not reset to 1 every 20 minutes, on Testnet3 it would reset if no blocks were found for 20 minutes, that was done mainly for the reason that mining follows Poisson Distribution, and even if hashrate stayed constant block intervals would be 20 mins or more like 10% of the time, which isn't ideal for testing and building on Testnet.

This adjustment rule was abused by miners who set their blocks 2 hours into the future, and because Testnet3 would adjust the entire epoch difficulty based on the last block of the previous epoch, when the last difficulty was 1, the next 2016 blocks will be mined at a difficulty of 1, obviously that broke too many nodes because when your node gets hammered by dozen blocks it would need to perform thousands of blockchain reorgs, it would run out of memory, and it would crash, many of the above things were fixed in Testnet4 which I can talk about further if you'd like.


Quote
Essentially, he continuously wins on block propagation every 20 minutes, because that's the only game you need to win, when difficulty is 1, and everyone can mine a block. The only reasonable explanation is that he's using a software like ckpool, which is has better optimization on block propagation, than Bitcoin Core.  

Block propagation depends mainly on your bandwidth and your geo-location in respect to the other nodes, nearly all mining pools and mining hardware use Bitcoin Core, it's the mining/pool software that differs.

Anyway, I don't think what you think is happening is actually happening, Testnet4 difficulty is 120m> right now, the last it was at 1 was back in May which only last for a few days during the first epoch (correct me if I am wrong) so with a difficulty of 120M using a CPU isn't going to cut it, looking at the last a few difficulty adjustments on Testnet4, hashrate seems to be above 200TH, what is your CPU's hashrate? 20M? That means you would on average hit a block every 70 days or so.





Title: Re: Testnet4 Mining (Discussion)
Post by: BlackHatCoiner on November 04, 2024, 09:50:18 AM
There is no "might", he certainly hash more hashrate.
If he "certainly" has more hashrate, how would you know? He's mining with difficulty=1.

Quote
Furthermore, Difficulty on Testnet4 (even Testnet3) does not reset to 1 every 20 minutes, on Testnet3 it would reset if no blocks were found for 20 minutes
Yes, this is what I mean. If no blocks have been found since the last block's timestamp and 20 minutes into the future, then the next block can be mined with difficulty=1.

Quote
This adjustment rule was abused by miners who set their blocks 2 hours into the future, and because Testnet3 would adjust the entire epoch difficulty based on the last block of the previous epoch, when the last difficulty was 1, the next 2016 blocks will be mined at a difficulty of 1, obviously that broke too many nodes because when your node gets hammered by dozen blocks it would need to perform thousands of blockchain reorgs, it would run out of memory, and it would crash, many of the above things were fixed in Testnet4 which I can talk about further if you'd like.
Do you happen to know a page where I can easily see the differences between testnet3 and testnet4? For example, I didn't know about that. I think it has to do with the block storm attack, which is fixed in testnet4.

Quote
Block propagation depends mainly on your bandwidth and your geo-location in respect to the other nodes, nearly all mining pools and mining hardware use Bitcoin Core, it's the mining/pool software that differs.
Could he be connected to a lot more nodes than I do? I just leave Bitcoin Core empty, and broadcast the block to the 8-11 nodes that I'm connected to.

Quote
Anyway, I don't think what you think is happening is actually happening, Testnet4 difficulty is 120m> right now
Testnet4 difficulty is 1, otherwise this miner could not be mining with difficulty=1. Seriously, just check the block hashes, and you can tell he's not mining in 120 million difficulty: https://mempool.space/testnet4. Also, check his blocks' timestamps. They always have a difference of 20 minutes + 1 second, which implies he's waiting until difficulty goes back to 1, and then immediately broadcasts his new block.


Title: Re: Testnet4 Mining (Discussion)
Post by: mikeywith on November 04, 2024, 11:33:04 AM
Testnet4 difficulty is 1, otherwise this miner could not be mining with difficulty=1. Seriously, just check the block hashes, and you can tell he's not mining in 120 million difficulty: https://mempool.space/testnet4. Also, check his blocks' timestamps. They always have a difference of 20 minutes + 1 second, which implies he's waiting until difficulty goes back to 1, and then immediately broadcasts his new block.


Testnet difficulty is indeed 121M as I type check here (https://mempool.space/testnet4/block/53571?showDetails=true&view=actual#details), and here  (https://mempool.space/testnet4/graphs/mining/hashrate-difficulty)in other words for your block to be valid it must meet that difficulty requirement, however, there is an exception to this which the guy/s in question seem to be utilizing while you and the rest are not.

Testnet4 has a rule whereby if 20 mins have passed since the last block, you can submit a block with difficulty = 1 (the difficulty is still 121M but you are allowed to do so) which is what he does, and you would notice that he would do that for 6 blocks and then stops, because he would be restricted by the rule that states blocks can't be 2 hours into the future (although sometimes you can manage to fit in more blocks)

Now when those 6 blocks are done, the next block MUST have a minimum difficulty of 121M, obviously, given that he certainly uses a heavy ASIC, he is always more likely to find that block before everyone else, so he would solve that block in no time, and won't propagate it, he would mine another 6 blocks with difficulty of 1 each 20 mins into the future and then propagate the entire 7 blocks at the same time, his chain would be the longest, yours and everybody else's would be replaced.

So basically, whoever finds every 7th block with the current difficulty of 121M gets to collect the next 6-7 blocks

As I type, we are at block 53631, with timestamp of ‎2024-11-04 15:25:41, he won't be able to mine a block with diff = 1 (unless 20 mins pass), but am sure he already solved a block with 121M diff, he would wait for a while then burst a streak of blocks, obviously, if someone else uses an ASIC and finds the block, as soon as that asshole sense it, he would propagate his entire chain, so the only way to beat him would be to propagate the 121M diff block + 6 blocks into the future -- he won't be able to beat that, but is anybody else doing that? probably no.




Quote
Do you happen to know a page where I can easily see the differences between testnet3 and testnet4? For example, I didn't know about that. I think it has to do with the block storm attack, which is fixed in testnet4.

Will try to find a link for you, but basically, in testnet3, the difficulty of the next epoch is determined by the difficulty of the last block, so if I mine block 2016 of this epoch 20 mins into the future with difficulty of 1, the entire next epoch would have a difficulty of 1, this has changed in testnet4, it now uses the first block of the current epoch to determine the difficulty of the next epoch, and the first block is  exempt from the 20-minute rule -- it means you can't fake it to difficulty of 1, and it must have the actual difficulty, this means it would be almost impossible for testenet4 difficulty to drop to 1, yes blocks would have difficulty of 1 due to the 20 mins rules(except the first block of every epoch), but not for entire epochs which is why I said testnet4 difficulty has only been 1 in the first epoch and then it started climbing, you can check mempool.space chart to confirm it.


Title: Re: Testnet4 Mining (Discussion)
Post by: BlackHatCoiner on November 04, 2024, 05:28:22 PM
Testnet4 has a rule whereby if 20 mins have passed since the last block, you can submit a block with difficulty = 1
This is what I mean when I say that difficulty is 1. It's 1, in the assumption that there has not been a block mined and broadcasted for 20 minutes. Therefore, it is designed to be CPU-mined every 20 minutes of inactivity.

Quote
So basically, whoever finds every 7th block with the current difficulty of 121M gets to collect the next 6-7 blocks
Yes, but as you can notice yourself, there's this Portland guy who mines with difficulty=121M, and once he does mine a block, the next 6-7 are taken by him. For example, check this one: https://mempool.space/testnet4/block/0000000000000007d4d38b3756d7f6a8841daa601df9f1335966a0da718a11a5.

It is mined with normal difficulty with timestamp "2024-11-04 09:25:21". The next one has a timestamp of "2024-11-04 09:45:22", and it is mined with difficulty 1, immediately after the previous block, by the ckpool guy. To me, this means that ckpool miner has enough hashrate to mine multiple blocks with difficulty=1 immediately, the moment he notices another miner mines with normal difficulty.


Title: Re: Testnet4 Mining (Discussion)
Post by: mikeywith on November 04, 2024, 08:20:06 PM
This is what I mean when I say that difficulty is 1. It's 1, in the assumption that there has not been a block mined and broadcasted for 20 minutes. Therefore, it is designed to be CPU-mined every 20 minutes of inactivity.

Again, that is block difficulty not testnet difficultly, testnet4 difficulty is now over 100M

Quote
To me, this means that ckpool miner has enough hashrate to mine multiple blocks with difficulty=1 immediately, the moment he notices another miner mines with normal difficulty.

i doubt that, with diff = 1 you should be finding blocks fairly easy,
 
Difficulty×2 ^ 32/ hashrate gives you time in seconds for finding a block.

My guess is, the same guy runs a few nodes with different miners, he propagates the high diff block to his other node, build on it, the propagates the entire set.

You can confirm this by logging the various blocks your node receives, you would always find that many blocks are being prodcated, accepted by your node then it does a block reorg when that asshole sends his.

So basically, testnet4 has gone to shit, just like testnet3, all these measurements are useless, there are better solutions to testnet that have been ignored.

As for you and the rest, sadly, your only option is to play dirty to win blocks, or wait till he gets tired or his mom discovers the ASIC bill.

If you want to play by his standard, download CK repo, run the stratum, expose it to the WAN, rent somehashrate on nicehash and compete with him.

When people started doing this shit on testnet3 I always wanted to reck the entire shit by making testnet useless to everyone including those assholes, I can basicaly point a few petahashes to testnet4 now and make that guy waste his money, but then I would raise the difficulty to some crazy numbers making it impossible for anybody else to use it.
 


Title: Re: Testnet4 Mining (Discussion)
Post by: RutgerBlume on December 19, 2024, 11:48:28 AM
Hello,

Can anyone tell me if it is feasible to use my M4 macbookPro to mine during the night in testnet4? I would like to get some coins for dev purposes without relaying on faucets. Is there any testnet4 mining pool I could join? Thanks.


Title: Re: Testnet4 Mining (Discussion)
Post by: BlackHatCoiner on December 19, 2024, 12:00:14 PM
Can anyone tell me if it is feasible to use my M4 macbookPro to mine during the night in testnet4?
It might be possible to mine a block, but this will be by the tiny chance that you have to propagate it at the right time.

If you read the discussion above, you'll see that there's a miner (tb1q2dsc94zq40nwnz27w5rxljwllutnwjtlxk44fz) that monopolizes the minting of tBTC. While it seems like he's using just a CPU, it's likely that when a few other miners join, he turns on his ASIC and reorgs their blocks.


Title: Re: Testnet4 Mining (Discussion)
Post by: Bitcoin-Pool on December 20, 2024, 09:42:12 AM
Hello,

Can anyone tell me if it is feasible to use my M4 macbookPro to mine during the night in testnet4? I would like to get some coins for dev purposes without relaying on faucets. Is there any testnet4 mining pool I could join? Thanks.

I've been mining on testnet4 (Privat local Mining Pool) for 3-4 days and have found 3 blocks so far with 3Ths, but I'm not able to get the blocks with Diff1, I only find some when my share is high enough, currently 140M.
but the blocks are completely confimed.


Title: Re: Testnet4 Mining (Discussion)
Post by: owen_a on January 02, 2025, 05:07:03 PM
I just don't understand why people spam the TestNet with hashrate for no reason. If you're testing software, mine a couple blocks and stop. I recently tried to mine with 1Th/s testing some software and even after three days i was no where close to a block. This was on TestNet4. TestNet3 is just a spam net more than anything.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on February 02, 2025, 05:32:24 AM
I just don't understand why people spam the TestNet with hashrate for no reason. If you're testing software, mine a couple blocks and stop. I recently tried to mine with 1Th/s testing some software and even after three days i was no where close to a block. This was on TestNet4. TestNet3 is just a spam net more than anything.

There needs to be a pool that splits shares to small miners like you.  That would fix this instantly, and you would have access to Testnet dust basically instantly with 1TH.

We are going to work on a P2Pool tomorrow.  (If that is even a thing anymore... I owned a pool during the Dogecoin rush, but that's been 10+ years ago.)

Any other pool that is already established would be great.

I'm worried VKPool doesn't hit the 1 difficulty as hard as these other optimized miner bastards.

I just don't understand why people spam the TestNet with hashrate for no reason.

There is a reason and it's OK not to understand.

I'd rather see people testing and learning crypto in Bitcoin Testnet with Core downloaded than on TRUMP coin or DOGE.  DOGE shouldn't do it better than Testnet.


Title: Re: Testnet4 Mining (Discussion)
Post by: BlackHatCoiner on February 02, 2025, 01:58:12 PM
I just don't understand why people spam the TestNet with hashrate for no reason.
Probably the reason they do it is because it's profitable, and that's because testnet coins have an actual monetary value in this exchange: https://altquick.com/exchange/market/BitcoinTestnet4.

We are going to work on a P2Pool tomorrow.
To earn dust with 1 TH/s, the pool is required to find a block. You need significant hashrate to solve a block with the current difficulty, so that you can split share afterwards.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on February 03, 2025, 12:19:24 AM
To earn dust with 1 TH/s, the pool is required to find a block. You need significant hashrate to solve a block with the current difficulty, so that you can split share afterwards.

I'm solo mining now and finding blocks. https://mempool.space/testnet4/address/tb1qmjxfre4m6w99yp7wq50kqrsskymrdxj3m7hqu9

I hit the chain with 1-1.7 PH from Mining Rig Rentals using VKPool.  Not a huge bit of coins, but it's not to shabby... kinda fun hitting whole blocks.  I'd love to be able to share some of these blocks with the 1MH people who get shares accepted.



I do think the person with a powerful machine plowing the low difficulties is what is jamming us up.

I'm a mining noob and I can't understand why I can't throw off these stupid 20 minute block times.



Probably the reason they do it is because it's profitable, and that's because testnet coins have an actual monetary value in this exchange: https://altquick.com/exchange/market/BitcoinTestnet4.

Surely my shitty little exchange isn't the reason people are being such dickweeds.  I think there is something else going on.

We supported Bitcoin Testnet v3 for years helping people get coins and what happened there felt really organic as well.  Weird, but organic.  The Asian market is just a different beast.

Our faucet still gives out v3 and v4 (v3 when it can) and that's because of a sustainable business model based around POW and free markets with Bitcoin.


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on March 22, 2025, 08:17:25 AM
Quote
I'm a mining noob and I can't understand why I can't throw off these stupid 20 minute block times.
Well, you can, but it is not done by default. In general, if you can see N CPU-mined blocks in a row, and no ASIC blocks in-between, then you can simply use a timestamp, which is not further than 20 minutes away from the last ASIC-mined block, and then your block will reorg the chain.

Also, some forks are discussed, to remove CPU-mined blocks entirely in testnet4 in the future: https://groups.google.com/g/bitcoindev/c/iVLHJ1HWhoU


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on March 25, 2025, 06:52:12 AM
Also, some forks are discussed, to remove CPU-mined blocks entirely in testnet4 in the future: https://groups.google.com/g/bitcoindev/c/iVLHJ1HWhoU
I found this topic while wondering why testnet4 is mining empty blocks (https://mempool.space/testnet4): there are thousands of transactions waiting, and the last 14 blocks were empty. Before that, 2.5 full blocks, before that, 30+ empty blocks.

I don't want to post on Google groups for this, so I'll post it here: how about cutting the difficulty in half instead of dropping it to 1 after 20 minutes? That will quickly solve the problem if the difficulty is too high, and a large miner stops. But it also disables CPU mining: if the difficulty drops by a factor 8 in an hour without blocks, it takes many hours to reach 1.

Update:
https://loyce.club/other/testnet4c.png


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on March 25, 2025, 07:52:03 PM
Also, some forks are discussed, to remove CPU-mined blocks entirely in testnet4 in the future: https://groups.google.com/g/bitcoindev/c/iVLHJ1HWhoU
I found this topic while wondering why testnet4 is mining empty blocks (https://mempool.space/testnet4): there are thousands of transactions waiting, and the last 14 blocks were empty. Before that, 2.5 full blocks, before that, 30+ empty blocks.

I don't want to post on Google groups for this, so I'll post it here: how about cutting the difficulty in half instead of dropping it to 1 after 20 minutes? That will quickly solve the problem if the difficulty is too high, and a large miner stops. But it also disables CPU mining: if the difficulty drops by a factor 8 in an hour without blocks, it takes many hours to reach 1.

Update:
https://loyce.club/other/testnet4c.png

I've spoke with the guy that is mining like this.

I asked him why and he said:

Quote

I then let him know that he's about to have a Customer Support job letting people know why their Testnet 4 hasn't confirmed and he said:

Quote

Basically, if the code allows for any mining fuckery, someone is going to hit it.  If you divide it by 1/2 then you can multiple the fuckery by at least 2 or more.

A friendly quote for people upset about testnet being tested from the miner:

Quote
it's a testnet network, remember? 🤣


Title: Re: Testnet4 Mining (Discussion)
Post by: mikeywith on March 26, 2025, 02:51:14 AM
how about cutting the difficulty in half instead of dropping it to 1 after 20 minutes? That will quickly solve the problem if the difficulty is too high, and a large miner stops. But it also disables CPU mining: if the difficulty drops by a factor 8 in an hour without blocks, it takes many hours to reach 1.

Difficulty doesn't just drop to 1 if no block is found for 20 minutes, someone has to find that block (20 minutes later) or otherwise find it sooner and (lie about it), Difficulty in the last few days was 500M, this means a few years for a high-end CPU to solve it, heck, it's actually even difficult for your average ASIC gear to solve a 500M block, an S19 pro would need about 6 hours to solve it, there must have been close to a petahash hammering testnet4 for that 500m to be sustained.

So, back to your proposal, It would take roughly 9 hours until the difficulty drops to 1, and mind you, there must be a single honest ASIC who would not abuse the 20 mins rule and won't mine his own blockchain, that honest guy would mine the 1/2 difficulty block and disappear for 20 mins, come back, hit a block, go offline, do this for 29 times just so that the broke folks can mine on testnet4, we all know nothing like that is going to happen.

And then again, the same guy that can hit a block of high diff, will be able to do the same for a 1/2 diff block; it would only make his life a little bit more difficult, but as I told you, a 1 PH worth of hashrate has been hitting testnet4, so whoever is doing that shit doesn't seem to give a flying fudge about cost.

Furthermore, your solutions lines perfectly with the proposed fixes of elimination the difficulty 1 all together, because here is the unsolvable issue related to testnet.

If difficulty doesn't reset = CPU will never hit a block.
If difficulty is always 1 during the entire epoch = thousands of blockchains will be created and constant block reorgs, all nodes will be rekt.
If difficulty keeps growing forever = even small ASICs won't be able to hit a block.

It's like a race where you would assume that everyone would be running on their own feet, then somebody bought a horse and started beating everyone else, you adjust the rules so that if the horse leaves, the benchmark now drops, the same horse leaves then comes back to break his "own" benchmark even more easily, you say you want to keep a high benchmark, you now just forced the horse to run faster and made sure not a single runner would beat him and that now everybody must buy a horse.

The next thing you know is, people start racing using cars,  when that is fixed, they use faster cars, and the story is never going to finish.

There is really one possible fix to testnet and that would be a consensus of resting the entire blockchain at block x, x should not be anything more than 1,000, with a "currency" that resets every 2 hours, nobody would want to hoard it.


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on March 26, 2025, 06:39:16 AM
Basically, if the code allows for any mining fuckery, someone is going to hit it.
So breaking transactions to prove a point?

Quote
If you divide it by 1/2 then you can multiple the fuckery by at least 2 or more.
It's currently divided by 500 million, so I'd say dividing by 2 would make it better, not worse.

So, back to your proposal, It would take roughly 9 hours until the difficulty drops to 1, and mind you, there must be a single honest ASIC who would not abuse the 20 mins rule and won't mine his own blockchain, that honest guy would mine the 1/2 difficulty block and disappear for 20 mins, come back, hit a block, go offline, do this for 29 times just so that the broke folks can mine on testnet4, we all know nothing like that is going to happen.
In my proposal, the difficulty would go back to normal after each block. So if an ASIC mines the 1/2 difficulty block, he can indeed do that again 20 minutes later, but it won't keep dropping (unless no block was mined). So if a large ASIC would disappear and the difficulty is too high for the remaining miners, the next block may take 20, 40, 60 or more minutes. After that, the difficulty goes up again.

Quote
a 1 PH worth of hashrate has been hitting testnet4, so whoever is doing that shit doesn't seem to give a flying fudge about cost.
I'm not very up to date on mining costs, so I'll ask you: how much would that cost per day (in missed main chain revenue)?

Quote
If difficulty doesn't reset = CPU will never hit a block.
If difficulty is always 1 during the entire epoch = thousands of blockchains will be created and constant block reorgs, all nodes will be rekt.
If difficulty keeps growing forever = even small ASICs won't be able to hit a block.
And the latest gig: mine empty blocks.

Quote
There is really one possible fix to testnet and that would be a consensus of resting the entire blockchain at block x, x should not be anything more than 1,000, with a "currency" that resets every 2 hours, nobody would want to hoard it.
That means there would never be any halvings and it pushes testnet functionality even further away from real Bitcoin.


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on March 26, 2025, 07:42:06 AM
Quote
there are thousands of transactions waiting, and the last 14 blocks were empty
First of all, make sure, that transactions are really propagated, and not just sent to mempool.space. Some block explorers were spammed in the past, and the rest of the network was unaffected: https://bitcointalk.org/index.php?topic=5528236.msg65010417#msg65010417

Quote
how about cutting the difficulty in half instead of dropping it to 1 after 20 minutes?
If you change the difficulty in the block header from 0x1d00ffff to anything else, then it will be some kind of hard-fork. Which means, that in 2026, we will probably see testnet5 with new rules. And then, if the chain won't be resetted, and will just continue for example testnet4 chain, then it will be the same, as making a new network with N blocks of premine (because the current testnet4 chain doesn't meet new, hard-forked rules, so to build on top of this chain, the new rule must ignore all blocks below N).

Quote
But it also disables CPU mining
If you disable CPU mining, then why changing the difficulty adjustment algorithm is necessary? In that case, it can be left, as it is in mainnet. And it can be easily proven, that half of the difficulty is not enough, because current ASICs cannot get their blocks mined in 20 minutes (and the difficulty is based on 10 minutes per block).

Quote
It's not about money. It's about sending a message.
And what is the message? "Stop making new testnets?".

Quote
Your transaction will get sufficient confirmations when I'll allow it.
Sounds like signet, where network creators can censor transactions, without any restrictions, because they sign all blocks.

Quote
it's a testnet network, remember?
Well, it is, but it is also becoming an altcoin, because the current consensus cannot enforce "coins are worthless" rule.


Title: Re: Testnet4 Mining (Discussion)
Post by: mikeywith on March 26, 2025, 06:38:17 PM
So if a large ASIC would disappear and the difficulty is too high for the remaining miners, the next block may take 20, 40, 60 or more minutes. After that, the difficulty goes up again.

not 60 mins, it would take about 2 years for cpu miners to hit the next block.
Quote
how much would that cost per day (in missed main chain revenue)?

$50 a day before the powe bill.
 
Quote
And the latest gig: mine empty blocks.

The areshole who is abusing testnet4 is better with mining empty blocks to avoid any block being invalidated if any transaction was not right, although if done right he can avoid that scnerio but i don't think he cares.


Quote
That means there would never be any halvings and it pushes testnet functionality even further away from real Bitcoin.

There could be halvings every 10 blocks or so, regadless, the current testnet is way far from mainnet, halvings happen way sooner, most miners don't even know about it, they just keep on getting hit by a burst of blocks that some asshole mined in secret, you are wasting time solving block 100 when someone else is already solving block 113, all you learn from it is how your blocks get rejected by the network.


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on March 27, 2025, 11:41:57 AM
not 60 mins, it would take about 2 years for cpu miners to hit the next block.
In my proposal, the difficulty keeps halving every 20 minutes without blocks. So it wouldn't take that long.

Quote
$50 a day before the powe bill.
I'm still amazed how much money is spent on testnet.

Quote
The areshole who is abusing testnet4 is better with mining empty blocks to avoid any block being invalidated if any transaction was not right
I would have guessed it's because smaller blocks can be broadcasted faster.

Quote
There could be halvings every 10 blocks or so
That's going to be fun: the block reward would drop to zero even before the first difficulty adjustment, which would take only seconds at difficulty 1.


Title: Re: Testnet4 Mining (Discussion)
Post by: mikeywith on March 28, 2025, 02:37:46 AM
In my proposal, the difficulty keeps halving every 20 minutes without blocks. So it wouldn't take that long.

How do you propose on doing this in a decentralised ecosystem where there is no centralization "clock" that keeps records of the events, anything you build on needs to be a proved by work, it needs to be a part of the blockchain, otherwise I can just run dozen nodes and set time in the future and claim all of them took 20 mins to mine.



Quote
I'm still amazed how much money is spent on testnet.

There exist people who can afford a thousend bucks or so a month just to mess with things like testnet, I am also sure that 1ph was only sustained because someone else joined the show, when they leave, the abuser would be able to do it with $5-10 a day.

Quote
That's going to be fun: the block reward would drop to zero even before the first difficulty adjustment, which would take only seconds at difficulty 1.

Not an issue since halvings are done on block count not time, if someone manages to hit 10 blocks in 5 seconds, that will be a halving, obviouslly, for a 1k max block you are going to need to adjust the rules of difficulty adjustments, maybe 2 blocks, I am just throwing random numbers here, but I suppose the concept is clear.


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on March 28, 2025, 06:38:37 AM
In my proposal, the difficulty keeps halving every 20 minutes without blocks. So it wouldn't take that long.
How do you propose on doing this in a decentralised ecosystem where there is no centralization "clock" that keeps records of the events
The same as the current system: nodes keep their own time and reject blocks that don't fit in.

Quote
anything you build on needs to be a proved by work, it needs to be a part of the blockchain, otherwise I can just run dozen nodes and set time in the future and claim all of them took 20 mins to mine.
I think you can do that in the current testnet already, but other nodes will reject your blocks and create their own chain.

Quote
for a 1k max block you are going to need to adjust the rules of difficulty adjustments, maybe 2 blocks, I am just throwing random numbers here, but I suppose the concept is clear.
I think that can indeed work: 1000 blocks in 10,000 minutes. That's almost a week, then reset.


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on March 28, 2025, 08:33:21 AM
Quote
I think you can do that in the current testnet already, but other nodes will reject your blocks and create their own chain.
Quote
If you change the difficulty in the block header from 0x1d00ffff to anything else, then it will be some kind of hard-fork.
So, if you introduce any hard-fork, then it will be obviously rejected by default.

When you have any block header, then the difficulty field has to match exactly. If there is no match, then it is rejected.

However, of course you can mine harder blocks, but they won't be counted as having a higher chainwork. For example: mainnet Genesis Block meets 40-bit target, but the required target has only 32 leading zero bits.

Quote
with a "currency" that resets every 2 hours, nobody would want to hoard it
You can easily do that today, if you apply testnet rules on mainnet. Then, you could mine up to six blocks on your CPU (because of two hours rule), and when the next ASIC block will appear, your chain will be reorged.

Also, if you build testnet on top of mainnet, then you will have conditions, which are close to the mainnet. Which means, that you will always have the same number of halvings, the same activated soft-forks, and so on.

The only change you would really need, is just switching "fPowAllowMinDifficultyBlocks" from "false" to "true".
https://github.com/bitcoin/bitcoin/blob/master/src/kernel/chainparams.cpp#L104
Code:
$ git diff
diff --git a/src/kernel/chainparams.cpp b/src/kernel/chainparams.cpp
index 4a747e7317..8372405f75 100644
--- a/src/kernel/chainparams.cpp
+++ b/src/kernel/chainparams.cpp
@@ -101,7 +101,7 @@ public:
         consensus.powLimit = uint256{"00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff"};
         consensus.nPowTargetTimespan = 14 * 24 * 60 * 60; // two weeks
         consensus.nPowTargetSpacing = 10 * 60;
-        consensus.fPowAllowMinDifficultyBlocks = false;
+        consensus.fPowAllowMinDifficultyBlocks = true;
         consensus.enforce_BIP94 = false;
         consensus.fPowNoRetargeting = false;
         consensus.nRuleChangeActivationThreshold = 1815; // 90% of 2016


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on March 28, 2025, 10:14:55 AM
You can easily do that today, if you apply testnet rules on mainnet. Then, you could mine up to six blocks on your CPU (because of two hours rule), and when the next ASIC block will appear, your chain will be reorged.
Somehow it doesn't feel right to use mainnet for testing. Someone is going to mess up, and lose coins while doing that.



For readers who don't run a testnet4-node, I'm sharing the last 10,000 entries of my debug.log: tmp.loyce.club/testnet4_debug.log (http://tmp.loyce.club/testnet4_debug.log). It's updated every minute, so feel free to reload.
I only synced this node yesterday, so it still shows block entries from 2 months ago. Scroll down to the bottom, make it full screen (to prevent line wrapping), and take note of the difference in line length. That makes it easier to see block reorgs. Just one block reorg can fill my entire screen with log entries. Some block hashes are in the list many times, I think this means my node keep "toggling" between competing chains. Use CTRL-F and search for "00000000000000" to highlight ASIC blocks.

Size on disk:
Code:
5.8G    testnet4/blocks
541M    testnet4/chainstate


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on March 28, 2025, 11:05:43 AM
Quote
Just one block reorg can fill my entire screen with log entries.
Some visualizations, where you can see, how many reorgs are in testnet4: https://fork.observer/

Quote
my node keep "toggling" between competing chains
Of course. Anyone with just a CPU can mine a block. And any valid block can be sold on exchanges for real satoshis. So, obviously, a lot of miners are trying to submit their blocks, and many nodes can observe stale blocks, even if they are not in the heaviest chain.


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on March 28, 2025, 12:03:57 PM
Some visualizations, where you can see, how many reorgs are in testnet4: https://fork.observer/
Thanks, I spent some time scrolling and zooming. Someone worked hard on this, it works great to find where an ASIC-block killed a parallel chain.


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on March 28, 2025, 12:56:02 PM
Quote
The only change you would really need, is just switching "fPowAllowMinDifficultyBlocks" from "false" to "true".
This change doesn't work, because this variable name is quite misleading. It should be named "require", instead of "allow". However, I found a way to accept shares, regardless of their Proof of Work, as long as they have at least the minimal difficulty:
https://github.com/bitcoin/bitcoin/blob/master/src/pow.cpp#L167
Code:
$ git diff HEAD~1
diff --git a/src/pow.cpp b/src/pow.cpp
index 0f54aaec0f..88259a2048 100644
--- a/src/pow.cpp
+++ b/src/pow.cpp
@@ -164,7 +164,7 @@ bool CheckProofOfWorkImpl(uint256 hash, unsigned int nBits, const Consensus::Par
     if (!bnTarget) return false;
 
     // Check proof of work matches claimed amount
-    if (UintToArith256(hash) > bnTarget)
+    if (UintToArith256(hash) > UintToArith256(params.powLimit))
         return false;
 
     return true;
And then, it is possible to mine blocks on CPU, and test, how the network would behave, if some real ASIC miner would really produce a given block, with the proper hash:
Code:
$ ./bitcoin-cli getblock 00000000caaa50a625bbe5c4be2f3c65343403f841461012e45b15580188123d
{
  "hash": "00000000caaa50a625bbe5c4be2f3c65343403f841461012e45b15580188123d",
  "confirmations": 1,
  "height": 111420,
  "version": 536870912,
  "versionHex": "20000000",
  "merkleroot": "29edc86d264acfce27b5c5507b47a10fe99d67860b3eb525b0d260e5628e53b7",
  "time": 1743165835,
  "mediantime": 1299096963,
  "nonce": 73143950,
  "bits": "1b012dcd",
  "target": "0000000000012dcd000000000000000000000000000000000000000000000000",
  "difficulty": 55589.51812686866,
  "chainwork": "00000000000000000000000000000000000000000000000017139ad3a0311636",
  "nTx": 1,
  "previousblockhash": "0000000000000d69f8c5f48ceb13f7c8901d23789293e9e663cb827aed998d40",
  "strippedsize": 197,
  "size": 197,
  "weight": 788,
  "tx": [
    "29edc86d264acfce27b5c5507b47a10fe99d67860b3eb525b0d260e5628e53b7"
  ]
}
Surprisingly, even chainwork is increased by the declared difficulty in that case:
Code:
UpdateTip: new best=0000000000000d69f8c5f48ceb13f7c8901d23789293e9e663cb827aed998d40 height=111419 version=0x00000001 log2_work=60.528150 tx=304566 date='2011-03-02T21:08:46Z' progress=0.000260 cache=25.2MiB(165170txo)
UpdateTip: new best=00000000caaa50a625bbe5c4be2f3c65343403f841461012e45b15580188123d height=111420 version=0x20000000 log2_work=60.528358 tx=304567 date='2025-03-28T12:43:55Z' progress=0.000260 cache=0.3MiB(1txo)

Quote
Somehow it doesn't feel right to use mainnet for testing. Someone is going to mess up, and lose coins while doing that.
True, it will take some effort to make it safe, but in general, I think that test networks should be at least initialized, based on some mainnet conditions. In testnet4, we have the Genesis Block with this text: "03/May/2024 000000000000000000001ebd58c244970b3aa9d783bb001011fbe8ea8e98e00e". Imagine how better testnet4 could be, if it would really start from the block number 842,000, and with 3.125 tBTC as the basic block reward. I think testnet5 should start with at least the same amount of halvings, as mainnet already had, to make tests more realistic.


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on March 28, 2025, 01:45:32 PM
Imagine how better testnet4 could be, if it would really start from the block number 842,000, and with 3.125 tBTC as the basic block reward. I think testnet5 should start with at least the same amount of halvings, as mainnet already had, to make tests more realistic.
That makes a lot of sense (and I never thought about it before). But: in the far future, that means testnet28 will start with barely any block reward, which complicates testing again.


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on March 28, 2025, 06:09:23 PM
Quote
in the far future, that means testnet28 will start with barely any block reward, which complicates testing again.
Why do you think, that it complicates testing? Testnets should produce no new coins at all, and allow just pegging things in, testing them, and then destroying UTXOs during peg-out.

Imagine, how testing could look like, if you could just import some mainnet transaction into testnet (for example by revealing some SPV proof), do some test transactions, and then all of it could be disposed, by burning UTXOs.

The only reason, why any non-zero amounts are needed, is to pay for fees. But there are more ways to make the network spam-resistant. For example: if all amounts are zero, then Proof of Work can still decide, which transactions are included, and which are excluded, when mempools are full.

Think about it: testnet coins are worthless, right? So maybe that should be at least reflected properly, by setting amounts in satoshis into zero?

Edit: Also think about the Genesis Block. In case of testnet4, you can see the block hash from the mainnet, right? In testnet28, it could contain some mainnet block hash, where the basic block reward will be set to zero. Think about it as about some kind of "mainnet snapshot". You start a new test network, and assume, that UTXOs are identical to mainnet, they are present and valid. And then, since that particular block height, mainnet will go in its own direction, and testnet will just fork from that point, and testnet miners will get 100% of their reward from transaction fees.

Which means, that if testnet28 will contain mainnet block hash at height 12,345,678, then block 12,345,679 can be different in testnet28, and different in mainnet. And then, some mainnet miner can get coinbase reward of 0.09876543 BTC, while completely different testnet28 miner can get 0.09123456 tBTC, by picking a completely different set of transactions, and just getting some fees out of that.

Testnet28 will need zero additional data during network startup. There is no need to load the whole UTXO set from mainnet. The mainnet block hash of 12,345,678 is sufficient to prove, which 80-byte header is behind it. Which means, that SPV proofs in testnet28 can contain only imported transactions, and skip everything else. First testnet28 miners can pick transactions they want to import, reveal proofs to them, and get identical amounts, like they can see in the main network. And then, people can test many "what would happen" scenarios, and after a while, we can all switch into testnet29.

Note that there are enough coins in mainnet, which were sent to brainwallets, weak keys, no keys at all, and so on. So, there are many coins, which can be easily imported, when pegging will be introduced in the first place. And after all halvings, the whole game will be based on just "import this network state, and test it", because no new coins will be produced in the main network, so it will make no sense to produce coins out of thin air on testnet28 either (because the state, where all coins were mined, will be deeply confirmed, and nobody will think about reorging it again).


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on March 28, 2025, 09:55:18 PM
Basically, if the code allows for any mining fuckery, someone is going to hit it.
So breaking transactions to prove a point?

Yes sir, that seems to be the case. (It isn't me, so I don't know)




I was the person who pointed 1 PH at Testnet and realized that it wasn't a mining power game... she's a different beast at the moment. (Using a pool, but the CPU miners just blew my ass out of the water.)

Basically, if the code allows for any mining fuckery, someone is going to hit it.
So breaking transactions to prove a point?

Quote
If you divide it by 1/2 then you can multiple the fuckery by at least 2 or more.
It's currently divided by 500 million, so I'd say dividing by 2 would make it better, not worse.

I'm not sure you understood what I said, so if it's divided by 500 million then multiple fuckery by 1 billion.

Also, nothing is broken.


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on March 29, 2025, 09:46:06 AM
Quote
in the far future, that means testnet28 will start with barely any block reward, which complicates testing again.
Why do you think, that it complicates testing? Testnets should produce no new coins at all, and allow just pegging things in, testing them, and then destroying UTXOs during peg-out.
How is a new user going to test anything without some coins?

Quote
if you could just import some mainnet transaction into testnet
That sounds like a developer-level of testing.
When I started with Bitcoin, I could make cheap on-chain transactions to get a feel of how it works. I must have sent hundreds of transactions between different wallets in my first year (and many of those were zero-fee transactions). It's really too bad I can no longer recommend new Bitcoin users to just try this. I'm not sure how many of them would use testnet for this, and I think most new "Bitcoin users" just keep their coins on an exchange, but if they want to test things, testnet shouldn't be a limitation to them.

Quote
Which means, that if testnet28 will contain mainnet block hash at height 12,345,678, then block 12,345,679 can be different in testnet28, and different in mainnet. And then, some mainnet miner can get coinbase reward of 0.09876543 BTC, while completely different testnet28 miner can get 0.09123456 tBTC, by picking a completely different set of transactions, and just getting some fees out of that.
I see where you're going with this. That could work, as long as "testnet28" doesn't find blocks faster than mainnet.

I'm not sure you understood what I said, so if it's divided by 500 million then multiple fuckery by 1 billion.
I was talking about halving the difficulty after 20 minutes without finding a block, so from (say) 500M to 250M instead of the current 1.


Title: Re: Testnet4 Mining (Discussion)
Post by: mikeywith on March 30, 2025, 12:20:26 AM

The same as the current system: nodes keep their own time and reject blocks that don't fit in.


The current system does not rely on nodes time but rather the block timestamp which is a part of the block template itself, even mainnet does not use node time in any block verification, even in the 2 hours rule which is not a part of the consensus (contrary to what most people think) uses network adjusted time ( not node's own time) and even that does not invalidate a block.

If you were to rely to nodes time then sybil attacks would be very effective, PoW is important, you find the block first then we know if it took 20 mins or not, not before.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on March 30, 2025, 04:43:49 AM
I was talking about halving the difficulty after 20 minutes without finding a block, so from (say) 500M to 250M instead of the current 1.

I'm sure you'd have people rushing to submit 20 mins + 1 second blocks they had already solved.  *shrugs*

I think removing the 20 minute structure period would prevent all of this.

It's a rush to race against that timer, make the timer go away and the network should flow(?)


Title: Re: Testnet4 Mining (Discussion)
Post by: mikeywith on March 31, 2025, 03:00:42 AM
I was talking about halving the difficulty after 20 minutes without finding a block, so from (say) 500M to 250M instead of the current 1.

I'm sure you'd have people rushing to submit 20 mins + 1 second blocks they had already solved.  *shrugs*

I think removing the 20 minute structure period would prevent all of this.

It's a rush to race against that timer, make the timer go away and the network should flow(?)

I think LoyceV's proposal does not depend on the block timestamp but rather the node's clock, which obviously is going to be even easier to abuse since tempering with clock time is fairly easy and takes no work.

No matter how you look at it, you really can't solve testnet, even my proposal which is the most extreme of them all might not work, some jerks are willing to lose money just to upset someone else.


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on March 31, 2025, 05:25:16 AM
I'm sure you'd have people rushing to submit 20 mins + 1 second blocks they had already solved.  *shrugs*
But at least they'd have to solve a 250M difficulty block. And even if they move 2 hours ahead, the difficulty is still 7.8M (instead of 1).

Quote
I think removing the 20 minute structure period would prevent all of this.
The only problem then is the reason this was introduced in the first place: if a large miner stops after pushing difficulty up, it'll take forever to find the next block.

I think LoyceV's proposal does not depend on the block timestamp but rather the node's clock, which obviously is going to be even easier to abuse since tempering with clock time is fairly easy and takes no work.
I didn't write it correctly but I agree: using block timestamps is better than the node's own clock.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on March 31, 2025, 05:26:13 AM
I was talking about halving the difficulty after 20 minutes without finding a block, so from (say) 500M to 250M instead of the current 1.

I'm sure you'd have people rushing to submit 20 mins + 1 second blocks they had already solved.  *shrugs*

I think removing the 20 minute structure period would prevent all of this.

It's a rush to race against that timer, make the timer go away and the network should flow(?)

I think LoyceV's proposal does not depend on the block timestamp but rather the node's clock, which obviously is going to be even easier to abuse since tempering with clock time is fairly easy and takes no work.

No matter how you look at it, you really can't solve testnet, even my proposal which is the most extreme of them all might not work, some jerks are willing to lose money just to upset someone else.

It feels solvable to me.  Just remove the 20 minute stuff and the difficulty that adjusts every 2016 blocks.

Testnet people need a pool that pays for shares found.  A CPU will still be able to submit valid shares easily and quickly receive a small amount of Bitcoin Testnet.

I'll never understand the argument "People can just faucet 0.0001 TBTC because that is all that is needed for testing!" but then "We need people to be able to mine a 50 TBTC block with a Windows 98!!!!"

Seem like the best route is to ditch all that stuff, go with a more traditional Bitcoin reset, and let people give that hell in a testing network.

We gain:
1.  A Testnet network that is harder to apply gamesmanship.
2.  A quick easy way for CPU miners to get a small amount of Testnet.
3.  People can't estimate these blocks and then rush their presolved blocks.

*shrugs*

I'm sure you'd have people rushing to submit 20 mins + 1 second blocks they had already solved.  *shrugs*
But at least they'd have to solve a 250M difficulty block. And even if they move 2 hours ahead, the difficulty is still 7.8M (instead of 1).

They will still smash it there with whatever outdated dusty equipment is best for that and then rush to submit blocks at 20 minutes + 1 second.

The only problem then is the reason this was introduced in the first place: if a large miner stops after pushing difficulty up, it'll take forever to find the next block.

That's part of life, Bitcoin, & Crypto.  Wait for the next block or throw some mining power at her to help the network...

I pointed 1 PH, hoping to throw off these 20-minute timers and help the network (failed)... (I just got negative feedback here for that! lol! *facepalm*)

It's Testnet; learning to wait is probably a good thing.  I've got my website set for 100 confirmations, which is over a day, and it helps people learn to count.




All that being said, at least transactions are being included in blocks and are flowing smoothly.


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on March 31, 2025, 07:18:52 AM
Quote
I'll never understand the argument "People can just faucet 0.0001 TBTC because that is all that is needed for testing!" but then "We need people to be able to mine a 50 TBTC block with a Windows 98!!!!"
True. After 20 minutes, CPU miners should also get a smaller block reward than usual. If the difficulty drops from 1,000,000 into 1, then the total block reward (with fees) should also drop for example from 50,0100,0000 satoshis into just 5,001 satoshis. And the rest of the block reward can be timelocked into some future block number (so that ASIC miners will get it), or simply burned (which is easier to implement).


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on March 31, 2025, 07:27:38 AM
Testnet people need a pool that pays for shares found.  A CPU will still be able to submit valid shares easily and quickly receive a small amount of Bitcoin Testnet.
Math time (and correct me if I made a mistake): let's assume difficulty 100M, and let's assume a CPU is fast enough to solve a block at difficulty 1 in 1 minute. That means the CPU will earn 50*6*24/60/100M = 0.0000012 coins per day. That's not enough to test anything, as long as there are ASIC miners active.

Quote
at least transactions are being included in blocks and are flowing smoothly.
Not in the last 14 transactions (https://mempool.space/testnet4).


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on March 31, 2025, 07:39:23 AM
Quote
I'll never understand the argument "People can just faucet 0.0001 TBTC because that is all that is needed for testing!" but then "We need people to be able to mine a 50 TBTC block with a Windows 98!!!!"
True. After 20 minutes, CPU miners should also get a smaller block reward than usual. If the difficulty drops from 1,000,000 into 1, then the total block reward (with fees) should also drop for example from 50,0100,0000 satoshis into just 5,001 satoshis. And the rest of the block reward can be timelocked into some future block number (so that ASIC miners will get it), or simply burned (which is easier to implement).

This is an interesting concept.

Testnet people need a pool that pays for shares found.  A CPU will still be able to submit valid shares easily and quickly receive a small amount of Bitcoin Testnet.
Math time (and correct me if I made a mistake): let's assume difficulty 100M, and let's assume a CPU is fast enough to solve a block at difficulty 1 in 1 minute. That means the CPU will earn 50*6*24/60/100M = 0.0000012 coins per day. That's not enough to test anything, as long as there are ASIC miners active.

0.0000012*100 days= 0.00012, which is enough to test according to people who have thousands of testnet coins.  Better start mining the day you start developing if that is the route you want to go with a Windows 98 machine! :P

The fact that someone can use a normal CPU and generate enough of anything to test in 100 days is pretty damn good for a global testing network...

My faucet gives 0.005 Testnet coins every 10 minutes because we aren't mining with CPU's. :)

Not in the last 14 transactions (https://mempool.space/testnet4).

They look like they are including transactions(?). Block #75374 and down atm have transactions.


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on March 31, 2025, 07:55:08 AM
Quote
That means the CPU will earn 50*6*24/60/100M = 0.0000012 coins per day. That's not enough to test anything, as long as there are ASIC miners active.
Not enough? 120 satoshis per day is not enough to test things? Currently in mainnet there are faucets, which can give you two satoshis per hour. Which means 48 satoshis per day, if you don't sleep, don't eat, and claim them 24/7. And you have to collect at least 30k satoshis, to make some on-chain transaction, and actually see them transferred to your wallet.

And let's count the effort needed for mining a single satoshi on mainnet:
Code:
block hash: 00000000000000000000f8b5e98983fea1af3b4c7c0612f8fe35338c97ee2af2
block reward: 316,015,349 satoshis
CPU target: 00000000ffff0000000000000000000000000000000000000000000000000000
difficulty HEX: 1077fc04eac82 (hex division of CPU target by block hash)
difficulty decimal: 289,720,245,333,122
CPU block reward: 0.00000109 satoshi
See? CPU miners would need around one million blocks, to claim a single on-chain satoshi, if it would be counted proportionally to the mainnet difficulty.

Also note, that if CPU miners would be able to mine testnet blocks, but just claim a lower block reward, then they would include their own transactions in their own blocks, so minimal network fees will not be a problem. And reducing the block reward in CPU blocks should remove the incentive to mine so many of them (and doing it is a valid soft-fork).


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on March 31, 2025, 08:06:13 AM
After 20 minutes, CPU miners should also get a smaller block reward than usual. If the difficulty drops from 1,000,000 into 1, then the total block reward (with fees) should also drop for example from 50,0100,0000 satoshis into just 5,001 satoshis. And the rest of the block reward can be timelocked into some future block number (so that ASIC miners will get it), or simply burned (which is easier to implement).
I like it: burn it! Don't keep it for future ASIC miners, that will complicate things and might still be gamed by mining CPU blocks to increase the next ASIC block reward. Just burn it. In a healthy testnet, that 20 minute timer shouldn't trigger very often, so the few burned coins don't matter much, but at least it solves the problem of not finding blocks when a large miner quits.

Not in the last 14 transactions (https://mempool.space/testnet4).
They look like they are including transactions(?). Block #75374 and down atm have transactions.
That's only "Coinbase (Newly Generated Coins)", nothing else. There are thousands of transactions waiting.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on March 31, 2025, 08:13:08 AM
Not in the last 14 transactions (https://mempool.space/testnet4).
They look like they are including transactions(?). Block #75374 and down atm have transactions.
That's only "Coinbase (Newly Generated Coins)", nothing else. There are thousands of transactions waiting.

Again, I don't see thousands of transactions waiting,

Quote
Next Block
Median fee   ~0 sat/vB$0.00
Fee span   1 - 100 sat/vB
Total fees   ‎0.02 tBTC $0.00
Transactions   261

and I see the blocks with normal faucet transactions and even a few of ours.

Last one I see we sent out just confirmed(?):  https://mempool.space/testnet4/tx/623cd4d17a5148bb0ec28782ac34561d10fa089db3aa88393fb43f7265e56020 (https://mempool.space/testnet4/tx/623cd4d17a5148bb0ec28782ac34561d10fa089db3aa88393fb43f7265e56020)

Might as well be waiting on high difficulty blocks than waiting for the empty folks to not be empty.

Weird that https://mempool.space/testnet4/address/tb1q2dsc94zq40nwnz27w5rxljwllutnwjtlxk44fz (https://mempool.space/testnet4/address/tb1q2dsc94zq40nwnz27w5rxljwllutnwjtlxk44fz) is mining empty... they are *huge*, I think they normally mine transactions, and their rewards don't move.


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on March 31, 2025, 08:43:52 AM
Again, I don't see thousands of transactions waiting,
Mempool sees them:
https://loyce.club/other/testnet4d.png

Quote
Last one I see we sent out just confirmed(?):  https://mempool.space/testnet4/tx/623cd4d17a5148bb0ec28782ac34561d10fa089db3aa88393fb43f7265e56020 (https://mempool.space/testnet4/tx/623cd4d17a5148bb0ec28782ac34561d10fa089db3aa88393fb43f7265e56020)
It's still unconfirmed according to your link. We're probably just looking at different Forks:
https://loyce.club/other/ForkObserver.png
(source: fork-observer (https://fork.observer/))


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on March 31, 2025, 09:22:39 AM
Quote
Mempool sees them:
Because some spammers send their transactions to block explorers, but nowhere else. And then, some people can for example tell you, that "you have to pay more fees", or that "we need a bigger block size". But in reality, when you run your own node, you will see much less transactions, than you can see on mempool.space.

Quote
We're probably just looking at different Forks:
Note that there are many blocks at the same height. Which means, that reorgs are frequent, but they are not deep. So, in practice, confirmations are counted "horizontally", and not "vertically" in this chart. If you have block number 12,345 in 10 different versions, then after seeing block 12,346, you will have just a single block reorged, and not 10.


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on March 31, 2025, 09:41:12 AM
Because some spammers send their transactions to block explorers, but nowhere else.
Shouldn't the block explorer's node share those transactions with other nodes too?

Quote
Note that there are many blocks at the same height. Which means, that reorgs are frequent, but they are not deep.
In my screenshot above, I see 6 different chain tips. Depending on which one continues, the reorg may or may not be more than just one block. When I look at my public log (http://tmp.loyce.club/testnet4_debug.log), I see this (with many similar entries above that):
Code:
2025-03-31T09:25:09Z UpdateTip: new best=000000003abbf2f640acc26a3fc5970eb43ef5586981fddbc1c2ba5abf021233 height=75377 version=0x20000000 log2_work=73.000019 tx=8878565 date='2025-03-31T10:45:07Z' progress=1.000000 cache=646.7MiB(3270451txo)
2025-03-31T09:25:09Z UpdateTip: new best=00000000380961e8de9135ca31b48eaa953cd6d97ca9f458033f1de79c844d5b height=75376 version=0x20000000 log2_work=73.000019 tx=8878564 date='2025-03-31T10:25:06Z' progress=1.000000 cache=646.7MiB(3270451txo)
2025-03-31T09:25:09Z UpdateTip: new best=000000002e39a2569ea3c502637419c56bb50ae6c87daba2594a0169c1b85a18 height=75375 version=0x20000000 log2_work=73.000019 tx=8878563 date='2025-03-31T10:05:05Z' progress=1.000000 cache=646.7MiB(3270451txo)
2025-03-31T09:25:09Z UpdateTip: new best=0000000034d3cdc0e6e5106884a64fff47e7fb2f6c201f8adbaca40793267ab5 height=75374 version=0x20000000 log2_work=73.000019 tx=8878562 date='2025-03-31T09:45:04Z' progress=1.000000 cache=646.7MiB(3270451txo)
2025-03-31T09:25:09Z UpdateTip: new best=000000003fa2280617b4ee89081b87c9dabe90c0427724de1ff8f0192baa9e3c height=75373 version=0x20000000 log2_work=73.000019 tx=8878561 date='2025-03-31T09:25:03Z' progress=1.000000 cache=646.7MiB(3270451txo)
2025-03-31T09:25:09Z UpdateTip: new best=000000000151a9e6f49574a0e3009c4c22da0bb954e0f581335b76572d9bbb48 height=75372 version=0x20000000 log2_work=73.000019 tx=8878560 date='2025-03-31T09:05:02Z' progress=0.999998 cache=646.7MiB(3270451txo)
2025-03-31T09:25:09Z UpdateTip: new best=0000000012b000d0a59d6524007722caac1b12dacf0b34cf9d496bfd3682ff3b height=75371 version=0x20000000 log2_work=73.000019 tx=8878559 date='2025-03-31T08:45:01Z' progress=0.999996 cache=646.7MiB(3270451txo)
2025-03-31T09:25:09Z UpdateTip: new best=00000000232ad9ff27c3ff09c874a4b6155dcb5dbd98c17564de6d6e08454d35 height=75370 version=0x20000000 log2_work=73.000019 tx=8878558 date='2025-03-31T08:25:00Z' progress=0.999994 cache=646.7MiB(3270451txo)
2025-03-31T09:25:09Z UpdateTip: new best=0000000022fa69950e66afe15ab24d8539421ed4989bf745c39e6037d67e8105 height=75369 version=0x20000000 log2_work=73.000019 tx=8878557 date='2025-03-31T08:04:59Z' progress=0.999991 cache=646.7MiB(3270451txo)
2025-03-31T09:25:09Z UpdateTip: new best=0000000006231ddb56d39afb04b384aecd6106b176f3d7fbe8105cfa062d0384 height=75368 version=0x20000000 log2_work=73.000019 tx=8878556 date='2025-03-31T07:44:58Z' progress=0.999989 cache=646.7MiB(3270451txo)
2025-03-31T09:25:09Z UpdateTip: new best=0000000034995cb60ef024eec07172ffd3bce401f7a78be9a5fe56b0cb8494cb height=75367 version=0x20000000 log2_work=73.000019 tx=8878555 date='2025-03-31T07:24:57Z' progress=0.999987 cache=646.7MiB(3270451txo)
2025-03-31T09:25:09Z UpdateTip: new best=0000000006ec212f71761cde50c21c69c531c505a6dd558da3fe1fa571c23c85 height=75366 version=0x20000000 log2_work=73.000019 tx=8878554 date='2025-03-31T07:04:56Z' progress=0.999985 cache=646.7MiB(3270451txo)
2025-03-31T09:25:09Z UpdateTip: new best=0000000000fc74130f5c9785a971ba2486f5a0b9156e98ac279f13a359beeb02 height=75365 version=0x20000000 log2_work=73.000019 tx=8878553 date='2025-03-31T06:44:55Z' progress=0.999983 cache=646.7MiB(3270451txo)
2025-03-31T09:25:09Z UpdateTip: new best=000000002175977c9c2e7176c4844379c579985843f03ba729b64ed0608beb06 height=75364 version=0x20000000 log2_work=73.000019 tx=8878552 date='2025-03-31T06:24:54Z' progress=0.999981 cache=646.7MiB(3270451txo)
2025-03-31T09:25:09Z UpdateTip: new best=0000000024933163bbe989a6ea2b4b8770faabdc9051bb10e068027e97794648 height=75363 version=0x20000000 log2_work=73.000019 tx=8878551 date='2025-03-31T06:04:53Z' progress=0.999979 cache=646.7MiB(3270451txo)
2025-03-31T09:25:09Z UpdateTip: new best=00000000065439f631aaa3faf43507866f0362ba360094bdaf7220d9eea2ccc7 height=75362 version=0x20000000 log2_work=73.000019 tx=8878550 date='2025-03-31T05:44:52Z' progress=0.999977 cache=646.7MiB(3270451txo)
2025-03-31T09:25:09Z UpdateTip: new best=000000002266ce6944de7663f4416f73c5e44904166633bd16c7435d888f3597 height=75361 version=0x20000000 log2_work=73.000019 tx=8878549 date='2025-03-31T05:24:51Z' progress=0.999974 cache=646.7MiB(3270451txo)
2025-03-31T09:25:09Z UpdateTip: new best=00000000e727d3881aa584260a6d728be1e8297d1cc5d4bdf783d44bf342b85b height=75360 version=0x20000000 log2_work=73.000019 tx=8878548 date='2025-03-31T05:04:50Z' progress=0.999972 cache=646.7MiB(3270451txo)
2025-03-31T09:25:09Z UpdateTip: new best=0000000000024b18c74ee6923b5240092f7193932b4416eaaa1633681e61ad7c height=75359 version=0x200fe000 log2_work=73.000019 tx=8878516 date='2025-03-31T04:44:49Z' progress=0.999970 cache=646.7MiB(3270416txo)
2025-03-31T09:25:09Z UpdateTip: new best=00000000419762ade2438db392eebd7ab770a98398deef355188640138418301 height=75360 version=0x20000000 log2_work=73.000019 tx=8878552 date='2025-03-31T05:04:50Z' progress=0.999972 cache=646.7MiB(3270457txo)
2025-03-31T09:25:09Z UpdateTip: new best=00000000d28d5c5ad0b4edac5652b985a63a77d1252a6969646f7b8542fbe70c height=75361 version=0x20000000 log2_work=73.000019 tx=8878789 date='2025-03-31T05:24:51Z' progress=0.999974 cache=646.7MiB(3270874txo)
2025-03-31T09:25:09Z UpdateTip: new best=0000000094d0d2a29f8efc0e816bd554211b80b6253eaa35905d50b8b9626225 height=75362 version=0x20000000 log2_work=73.000019 tx=8878984 date='2025-03-31T05:44:52Z' progress=0.999977 cache=646.7MiB(3271181txo)
2025-03-31T09:25:09Z UpdateTip: new best=00000000529551392d1cbe00be9ddce911e9c5137705981f20254c0c8fcd3310 height=75363 version=0x20000000 log2_work=73.000019 tx=8879133 date='2025-03-31T06:04:53Z' progress=0.999979 cache=646.7MiB(3271456txo)
2025-03-31T09:25:09Z UpdateTip: new best=000000004f6b56a90a1436b9b29e9c8b569e4f268dcdfbc36fb8293bb01f1a99 height=75364 version=0x20000000 log2_work=73.000019 tx=8879281 date='2025-03-31T06:24:54Z' progress=0.999981 cache=646.7MiB(3271727txo)
2025-03-31T09:25:09Z UpdateTip: new best=00000000de5b8905ad099aba8f71fa205dd4769a0e22ac43ece2edb749a1d616 height=75365 version=0x20000000 log2_work=73.000019 tx=8879456 date='2025-03-31T06:44:55Z' progress=0.999983 cache=646.7MiB(3271960txo)
2025-03-31T09:25:09Z UpdateTip: new best=00000000219df0c9290e25244490bae49bd4bd06db163e9a8a8f3e106e9c2545 height=75366 version=0x20000000 log2_work=73.000019 tx=8879880 date='2025-03-31T07:04:56Z' progress=0.999985 cache=646.6MiB(3272183txo)
2025-03-31T09:25:09Z UpdateTip: new best=0000000065e597456391345b93343b891d345adaef8c525b2505072085d65483 height=75367 version=0x20000000 log2_work=73.000019 tx=8880033 date='2025-03-31T07:24:57Z' progress=0.999987 cache=646.6MiB(3272495txo)
2025-03-31T09:25:09Z UpdateTip: new best=00000000fa7449851000b48ad1f4b6ada6f9a57b3e23fc3f0a5b7677a7241dcb height=75368 version=0x20000000 log2_work=73.000019 tx=8880330 date='2025-03-31T07:44:58Z' progress=0.999989 cache=646.6MiB(3272970txo)
2025-03-31T09:25:09Z UpdateTip: new best=0000000057a4d5bf877f697cd851ae3cdfa236bc2279c82b914d6963ae8b8df0 height=75369 version=0x20000000 log2_work=73.000019 tx=8880642 date='2025-03-31T08:04:59Z' progress=0.999991 cache=646.6MiB(3273551txo)
2025-03-31T09:25:09Z UpdateTip: new best=000000004789b75fc435507b6d7a41f64b50af59591b0b579b67b4a5f6f8381e height=75370 version=0x20000000 log2_work=73.000019 tx=8880889 date='2025-03-31T08:25:00Z' progress=0.999994 cache=646.7MiB(3273959txo)
2025-03-31T09:25:09Z UpdateTip: new best=000000000f865e9e8178e7ae4d40dd3937a826f5bc12dbae1453c06f468c793d height=75371 version=0x20000000 log2_work=73.000019 tx=8881119 date='2025-03-31T08:45:01Z' progress=0.999996 cache=646.7MiB(3274350txo)
2025-03-31T09:25:09Z UpdateTip: new best=000000002c55dda3e8e8f50564b139c925a1cc026b425f9aee78ccec7eb35280 height=75372 version=0x20000000 log2_work=73.000019 tx=8881447 date='2025-03-31T09:05:02Z' progress=0.999998 cache=646.7MiB(3274908txo)
2025-03-31T09:25:09Z UpdateTip: new best=00000000b3b04a3b25df838e364c2abe18dbc103336d3fcbc9038c45fe930e49 height=75373 version=0x20000000 log2_work=73.000019 tx=8881841 date='2025-03-31T09:25:03Z' progress=1.000000 cache=646.7MiB(3275621txo)
2025-03-31T09:25:09Z UpdateTip: new best=00000000c2d2b60ba3471597f878696c722aaa288bd5d9b04d01401b14f9735f height=75374 version=0x20000000 log2_work=73.000019 tx=8882097 date='2025-03-31T09:45:04Z' progress=1.000000 cache=646.8MiB(3276101txo)
2025-03-31T09:25:09Z UpdateTip: new best=0000000030d0ff580fbb3fcfd5073560c401f3e4dd1ad83f17c9a644c5df80bf height=75375 version=0x20000000 log2_work=73.000019 tx=8882455 date='2025-03-31T10:05:05Z' progress=1.000000 cache=646.8MiB(3276734txo)
2025-03-31T09:25:09Z UpdateTip: new best=00000000a0e62e7b34b6d108c094c6a084d14fe8093931bdb3c35bf95d415afc height=75376 version=0x20000000 log2_work=73.000019 tx=8882741 date='2025-03-31T10:25:06Z' progress=1.000000 cache=646.8MiB(3277274txo)
2025-03-31T09:25:09Z UpdateTip: new best=000000000841399041e6cc73981af825a972676f187ac35ebe17d7812fcbf9d5 height=75377 version=0x20000000 log2_work=73.000019 tx=8882996 date='2025-03-31T10:45:07Z' progress=1.000000 cache=646.8MiB(3277785txo)
2025-03-31T09:25:09Z UpdateTip: new best=000000006265064219fe0e5e54241c660f6f3ac5628df11f3e1854631efd1710 height=75378 version=0x20000000 log2_work=73.000019 tx=8883148 date='2025-03-31T11:05:08Z' progress=1.000000 cache=646.8MiB(3278083txo)
2025-03-31T09:25:09Z UpdateTip: new best=0000000048712789235face9f237dc7da2e28283032ce8229709d985e5582af1 height=75379 version=0x20000000 log2_work=73.000019 tx=8883397 date='2025-03-31T11:25:09Z' progress=1.000000 cache=646.9MiB(3278658txo)
It goes from block 75377 down to 75359, which is an 18 block reorg.


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on March 31, 2025, 10:10:44 AM
Quote
Shouldn't the block explorer's node share those transactions with other nodes too?
They should. But their code has some bugs, so their nodes don't propagate transactions correctly. Which means, that you can trick some users, which don't have their own nodes.

And you can confirm it, if you compare some transactions, and check, if they are present only in mempool.space, or are they also shared with other block explorers. Or: you can explore some blocks, mined by some miners and see, how they confirm some latest transactions, but don't confirm something, which is hanging in mempool.space for months (because their nodes never saw these transactions, and if you manually rebroadcast them, then they will be suddenly confirmed in the next block, made by that miner).

By the way: first you can check, if your node can see them. By using "getblocktemplate", or trying some mempool-related commands, you should get some stats. For example:
Code:
CreateNewBlock(): block weight: 62714 txs: 55 fees: 120605 sigops 617
CreateNewBlock(): block weight: 74564 txs: 65 fees: 131955 sigops 660
CreateNewBlock(): block weight: 800829 txs: 708 fees: 43674152 sigops 3189
CreateNewBlock(): block weight: 1282660 txs: 1134 fees: 114552301 sigops 4879
Or: you can also check some transactions manually, if your node has them, by checking a particular transaction ID.

Quote
It goes from block 75377 down to 75359, which is an 18 block reorg.
Sure, but if you observe only ASIC blocks, then you will see, that the whole chain is quite stable. And if CPU blocks will be rejected in the future testnet, then you can focus on ASIC-only blocks to see, how stable the network really is. Because ASIC miners can pick any chain. If you have some ASIC, then you can always mine a new block, on top of the latest ASIC block, and then, you will always just throw away a lot of CPU-mined blocks (but of course, it is not done by default by the client, because reorging a chain on purpose is considered "an attack", so developers obviously didn't implement it in the default client).

And also, if CPU-mined blocks will be simply banned, then the network will get "stuck" more often. Now, testnet4 is only blocked once per 2016 blocks, because then, only ASICs can finish a given difficulty period.

Edit:
Quote
log2_work=73.000019
See? The chainwork stays exactly the same, when rounded into six digits. So, I guess all blocks from your logs are just CPU-mined blocks. And if there are no ASIC blocks in between, then all of that traffic will simply disappear, if CPU-mined blocks will be banned.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on March 31, 2025, 09:24:53 PM
Again, I don't see thousands of transactions waiting,
Mempool sees them:
https://loyce.club/other/testnet4d.png

Quote
Last one I see we sent out just confirmed(?):  https://mempool.space/testnet4/tx/623cd4d17a5148bb0ec28782ac34561d10fa089db3aa88393fb43f7265e56020 (https://mempool.space/testnet4/tx/623cd4d17a5148bb0ec28782ac34561d10fa089db3aa88393fb43f7265e56020)
It's still unconfirmed according to your link. We're probably just looking at different Forks:
...

This is what my Mempool looks like right now and what it looked like while I was posting:

https://i.ibb.co/JRM2YZ7z/Screenshot-2025-03-31-at-4-23-24-PM.png

Also, I see 53 confirmations now... it must just be some Testnet fuckery. :P


Title: Re: Testnet4 Mining (Discussion)
Post by: mikeywith on April 01, 2025, 01:22:01 AM
@BayAreaCoins

Quote
Testnet people need a pool that pays for shares found.  A CPU will still be able to submit valid shares easily and quickly receive a small amount of Bitcoin Testnet.

This approach would be useless for many developers. While it might be sufficient for payment gateways or wallets, anything mining-related requires the full experience of constructing a block and making it part of the blockchain. Developers need to learn how to properly create valid blocks, handle orphaned blocks, and manage other essential aspects of mining. Simply receiving coins or sending work via Stratum doesn't provide the hands-on experience needed to understand these critical processes.


True. After 20 minutes, CPU miners should also get a smaller block reward than usual.

You guys are assuming that if the difficulty drops to 1, it means a CPU miner is going to solve a block. This is not true. As long as an ASIC miner exists in the testnet ecosystem, CPU miners have little to no chance. Even in the rare event that a CPU miner beats the ASIC miner, the ASIC miner will simply overtake them by mining more blocks and forcing a reorg. In reality, not a single CPU miner stands a chance.

I appreciate the discussion and the ideas you're all suggesting, but I feel like we're not on the same page. It's worth clearing up some confusion. We have two major issues in testnet—so which one are we trying to solve?

Problem 1: CPU miners can no longer mine on testnet.

Proposal A: Algorithm change from SHA-256 to something else

Pros:

This immediately eliminates all ASICs and allows small developers with CPUs and GPUs to mine on testnet.

Cons:

Changing the algorithm is a major decision, and It makes a large part of the test environment significantly different from the mainnet.

Proposal B: Reset the network every X blocks

Pros:

Eliminates the incentive to hoard testnet coins, since ASICs are power-hungry, it's unlikely that people will waste resources mining a coin that disappears in a few days. In theory, this could be highly effective against ASIC dominance.

Cons:

It alters testnet slightly, making it non-identical to the mainnet (but not as drastically as Proposal A). This also assumes that abusers mine testnet coins for their value rather than for fun. If they're doing it for fun, this proposal won’t stop them.

Proposal C: Do nothing
Pros:

No changes to the code are needed.

Cons:

Developers without enough funding, or those in locations where running an ASIC isn’t feasible, won't be able to test.

My preference:
Try Proposal B for a while. If it fails, roll back and let Proposal C handle it.


Problem 2: Block reorgs caused by malicious miners

Proposal A: Remove the difficulty reset and tet the difficulty grow.

Over time, this will make block reorgs extremely expensive, discouraging abuse.

Proposal B: Establish a community-driven consensus

Testnet developers should form a community that reaches an agreement outside of the code, if a miner is found abusing the system via reorgs, they can be collectively ignored, even if they have the longest chain.

I'll leave the pros and cons for you guys to discuss, along with any other proposals to address these issues.






 



Title: Re: Testnet4 Mining (Discussion)
Post by: NotFuzzyWarm on April 01, 2025, 02:18:44 AM
My vote would be for Proposal B: Reset the network every X blocks

IMHO removing ALL value to tbtc coins is the best thing because the problem is being caused from them having value by being exchangable for other coins including BTC. Since the exchange(s) involved in selling them can't be shut down then making them truly worthless should remove all financial incentive to pay for running ASIC's.

That would leave folks running ASIC's just to fuck with testnet 'because they can'. To fight against those assholes, perhaps establish a very low maximum found blocks per minute limit from any one IP address? Exceed the limit and the node is ignored for say a week.


Title: Re: Testnet4 Mining (Discussion)
Post by: mikeywith on April 01, 2025, 03:16:00 AM
That would leave folks running ASIC's just to fuck with testnet 'because they can'. To fight against those assholes, perhaps establish a very low maximum found blocks per minute limit from any one IP address? Exceed the limit and the node is ignored for say a week.

Yes, both issues can be solved on a "social level", 5-10 devs can meet here and decide to run their own blockchain, I assume, just a simple modification bitcoin.conf using "connect" not "whitelist".

# #connect=NotFuzzyWarm
# #connect=Xperson

This way, your node won't talk to any other node, the other devs do the same, and you now have a complete experience of testnet without some arshole abusing it, if Xperson starts doing shit, just remove them.

Obivouslly, your transactions won't be visible on block expolers like mempool, but you are supposed to be a dev, you shouldn't be asking mempool about a transaction when you are running your own node, testnet as the name suggest is just for "testing", when you are done with your wallet, miner, pool or whatever software, you hit mainnet.


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on April 01, 2025, 06:54:09 AM
Quote
Even in the rare event that a CPU miner beats the ASIC miner, the ASIC miner will simply overtake them by mining more blocks and forcing a reorg.
What is the point in getting for example 5k satoshis, where you can get 50 coins instead? And what is the point of burning or locking for example 49.99995000 coins, when you mine CPU blocks on ASIC? If ASIC miners will continue mining CPU blocks, and getting only a bunch of satoshis, then the consensus will simply evolve into a huge Proof of Burn, and ASIC miners will lose a huge opportunity of making much more coins, by mining stronger blocks.

And you can empirically see, that existing ASIC miners don't reorg a long chains of CPU-mined blocks, no matter who mined them. For example: if ASIC miners would really want to lower the network difficulty, and mine more blocks, then they would always reorg all CPU-mined blocks, and then, you would have no CPU-mined blocks in the whole 2016 block period.

Instead, you can see, that ASICs mine roughly 1/6th of blocks, so around 336/2016 blocks, even though a single ASIC block can throw away millions of CPU-mined blocks.

And also note, that after 2016 blocks, when the difficulty is adjusted, ASIC miners are strictly required to push the network forward. If only CPU miners are mining, then during the nearest difficulty adjustment, they are all stuck.

Quote
Algorithm change from SHA-256 to something else
Why? ASICs are optimized to just mining 80-byte block headers. Just changing the size of the hashed message will instantly eliminate a lot of ASICs. For example: grabbing coins from https://mempool.space/testnet4/address/tb1qk3endeq6x0xj4pjt4zwag8wf3a629rzqr8jxd7jnmlac902wa5ysqxm9wt requires checking around 2^16 SHA-256 hashes, and nobody even tried to get it.

Quote
If they're doing it for fun, this proposal won’t stop them.
Sure, but judging by some statistics from centralized exchanges, many people are not mining for fun, but just for profit, like it is the case in many other altcoins.

And now, some people even consider testnets as just regular altcoins, so testnet5, testnet6, and so on, will also be traded, if consensus rules will be similar: https://bitcointalk.org/index.php?topic=5536825.0

Quote
Developers without enough funding, or those in locations where running an ASIC isn’t feasible, won't be able to test.
Developers already have their own network called "signet", where they produce 100% blocks, because all of them are signed. And if someone wants to test things, and preserve CPU mining, then that developer is simply releasing its own signet.

And even on signets, you can test decentralized mining to some extent, if you just lock some coins on Proof of Work scripts, like it was done here: https://delvingbitcoin.org/t/proof-of-work-based-signet-faucet/937


Title: Re: Testnet4 Mining (Discussion)
Post by: mikeywith on April 02, 2025, 01:36:57 AM
Quote
Even in the rare event that a CPU miner beats the ASIC miner, the ASIC miner will simply overtake them by mining more blocks and forcing a reorg.
What is the point in getting for example 5k satoshis, where you can get 50 coins instead? And what is the point of burning or locking for example 49.99995000 coins, when you mine CPU blocks on ASIC? If ASIC miners will continue mining CPU blocks, and getting only a bunch of satoshis, then the consensus will simply evolve into a huge Proof of Burn, and ASIC miners will lose a huge opportunity of making much more coins, by mining stronger blocks.

Let's do some math, with the 500M difficult that testnet4 reached to, let's say I have an S19 pro with 100th, if I attempt to mine a 500M diff vs 1 diff block

Time to find a block in seconds = Hashrate Difficulty×2 ^32/ hashrate
for 500M diff it would be 6 hours
for 1 diff it would be 0.00004295 seconds

which means, for a period of 6 hours I can mine 502,912,800 blocks which is 502,912,800 * 0.00005000 btc = 25145.64 btc vs 50 btc, obviously, i won't be able to mine that many blocks, but it doesn't matter what figures you plot in,  that is 50190% more profit in mining 1 diff blocks than mining 500M blocks.





Quote
And you can empirically see, that existing ASIC miners don't reorg a long chains of CPU-mined blocks, no matter who mined them. For example: if ASIC miners would really want to lower the network difficulty, and mine more blocks, then they would always reorg all CPU-mined blocks, and then, you would have no CPU-mined blocks in the whole 2016 block period.

I think he indeed is forcing reogrs on all blocks that don't belong to him, you can see that the majority of blocks found on testnet4 are 20 mins + 1 second of 1 diff block followed by a high diff block.


let's take a look at block 75456, the whole set of 1 diff block preceeding it had a 20 min + 1 second in the time stamp, obivously a reorg of an entire set mined in secret, it's also clear that he was mining into the future, because the very next block found by Mara has a timestmap of ‎2025-04-01 05:06:44 while block 75456 was  06:46:48  now let's move past Mara's block


75458 > diff 1 > miner  44fz timestamp 05:26:45 (exactly 20 mins and 1 second from Mara's block)
75459 > diff 1 >  miner rlk5 timestamp 05:46:46 ( exactly 20 mins and 1 second)obviosuly this guy just mined 75456 earlier with a timestamp of 06:46:48 before 05:06:44 lol
75460 > diff 1 > miner rlk5 timestamp  06:06:47 (again)
75461 > diff 1 > miner 44fz timestamp  06:26:48 (//)
75462 > diff 1 > miner  44fz timestamp  06:46:49 (//)
75462 >
to
75478 > with timestamp of 12:07:05  is all miner rlk5 with 20 mins + 1 second

75479 > high diff > miner m7r4 timestamp 12:05:56 >

guess what who mined the next dozen blocks? again it's 44fz with 20 mins + 1 second then rlk5 took over for another dozen blocks before m7r4 mined a high-diff block, you can clearly see that miner rlk5 and 44fz (probably the same user) are mining difficulty 1 blocks in secret and only revealing them when they reach a full difficulty adjustment point.

Since these miners are keeping blocks hidden until the last moment, they can reorg any blocks mined by others, this pattern can't be random, it also makes no sense that while diff is actually 1, only a single miner manages to find a streak of blocks before anyone else, other miners do find blocks but are being reorged because they ain't playing dirty.

You can go to any random point in time and see the same pattern repeat with 1,2 btc addresses.




Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on April 02, 2025, 07:44:10 AM
Let's do some math, with the 500M difficult that testnet4 reached to, let's say I have an S19 pro with 100th, if I attempt to mine a 500M diff vs 1 diff block

Time to find a block in seconds = Hashrate Difficulty×2 ^32/ hashrate
for 500M diff it would be 6 hours
Now do the same, but build on top of the last ASIC block instead of the CPU blocks. Just ignore them, and wipe them out. If all ASIC miners would do that, less blocks are found and the difficulty drops at the next adjustment.

If you have some ASIC, then you can always mine a new block, on top of the latest ASIC block, and then, you will always just throw away a lot of CPU-mined blocks (but of course, it is not done by default by the client, because reorging a chain on purpose is considered "an attack", so developers obviously didn't implement it in the default client).
I get that developers didn't include this option by default, but how hard would it be to implement this as an ASIC miner? As for the "attack" part: is attacking an attack still an attack?


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on April 02, 2025, 10:00:40 AM
Quote
that is 50190% more profit in mining 1 diff blocks than mining 500M blocks
1. You cannot mine blocks faster than six per second, even on regtest.
2. Time difference between CPU blocks will be at least 20 minutes, so after six blocks, everything else will be rejected by the rest of the network (because of two hours rule).
3. Everyone else will have a huge incentive, to bring back all coins you burned, by reorging all of them, with a single ASIC block.
4. After 2016 blocks, you will be forced to mine a new block with ASIC difficulty.

Quote
If all ASIC miners would do that, less blocks are found and the difficulty drops at the next adjustment.
Exactly. If ASICs mine only 1/6th of blocks in two weeks, then they are mining with artificially raised difficulty. Because all CPU-mined blocks are counted in the same way, as ASIC blocks are, during difficulty adjustment: you have just 2016 last blocks, no matter how much effort was required to produce them.

Which means, that ASIC miners have an incentive to throw away CPU-mined blocks, no matter who produced them, because by doing so, they can lower the difficulty, and bring it back to the real level.

Quote
how hard would it be to implement this as an ASIC miner?
Well, you would need to secretly produce your block, on top of something in the past. Which means, that for example your "getblocktemplate" would need to point to the block 123,456, and collect everything, what happened in blocks from 123,457, up to the latest block, and your current mempool of unconfirmed transactions.

Things like "invalidateblock" and "reconsiderblock" could help, but then, other nodes will automatically disconnect, if you stop accepting the same CPU-mined blocks, as they did. Which means, that probably having an honest node, getting enough information out of it, and then submitting the block is the way to go.

Quote
is attacking an attack still an attack?
It is like killing the killer, or extinguishing fire with fire. The real solution would solve the problem in a way, where acting honestly will be the most profitable. And now, that assumption is broken in testnet, because if you use the original software, then you are in a worse position, than attackers are. Which means, that people will craft their own code for getting as many blocks as they can, and none of that will be public, as long as developers won't adjust the new consensus for testnet5.


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on April 02, 2025, 12:51:39 PM
Well, you would need to secretly produce your block, on top of something in the past. Which means, that for example your "getblocktemplate" would need to point to the block 123,456, and collect everything, what happened in blocks from 123,457, up to the latest block, and your current mempool of unconfirmed transactions.
I kinda forgot you indeed need to keep track of newer blocks, in case another ASIC also produces a new block. It would be a lot easier if all ASIC miners would just ignore all CPU blocks.

Would this work? If the 20 minutes before the difficulty drops is increased to 3 hours, it's still enough to keep the blockchain going even if a large miners stops mining, although it's going to be only 8 blocks per day. But it largely reduces the low difficulty abuse. It would probably still be possible to change the clock 2 hours and mine an easy block after just 1 hour without ASIC block, but it's better than 6 easy blocks right after each ASIC block.
TL;DR: turn 20 minutes into 3 hours, see what happens :)


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on April 02, 2025, 02:18:13 PM
Quote
in case another ASIC also produces a new block
Not only because of that, but also because some CPU miners may include non-standard transactions, and you may be interested in collecting fees from them (especially if someone will put a standard transaction with tasty fees (https://mempool.space/testnet4/tx/9a385f0a8b5f730d21510ee6804121ebb77abf270be39911a5314f85a08746e3), as a CPFP of some non-standard transaction with zero fees (https://mempool.space/testnet4/tx/94444d3f15c1ca6905368c2121a0240c098ed62b061c1ac923cc9bff67991b55)). Of course, you can always just mine an empty block on the proper height, and don't care about fees, but I assume you want to confirm things, which were previously confirmed.

So, if block 123,456 is confirmed, and you want to reorg everything from block 123,457 forward, then you should collect everything from CPU blocks, and put into your mempool (which "invalidateblock" does, but it also disconnects you from honest nodes, because then they don't see the same chain tip as you want to work with). And then, if you have your regular mempool, and all transactions confirmed by CPUs, then it should give you the maximum possible coinbase reward.

Quote
It would be a lot easier if all ASIC miners would just ignore all CPU blocks.
In the current consensus, you cannot ignore CPU-mined blocks, but you can reorg them with a single ASIC block (because if ASIC difficulty is 1,000,000, then you can reorg up to 1,000,000 CPU-mined blocks in a single shot).

But yes, the current plan from the mailing list is to hard-fork the network to the state, where mining blocks with CPU difficulty will be blocked. Which is equivalent to just releasing testnet5 with new rules, and with premine of all current testnet4 blocks.

Quote
turn 20 minutes into 3 hours, see what happens
This is hard-fork. But it is quite likely, that there will be no CPU-mined blocks in this case, or they will occur very rarely. You can explore the mainnet chain, and count all instances, where the time between blocks was bigger than 3 hours, to estimate, how many such cases we could have in your testnet.


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on April 02, 2025, 03:01:52 PM
You can explore the mainnet chain, and count all instances, where the time between blocks was bigger than 3 hours, to estimate, how many such cases we could have in your testnet.
I'd expect it to happen more often on testnet, as it's more likely to have a large part of the hashrate suddenly disappear. But it shouldn't happen a lot, which kinda is the point :)


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on April 02, 2025, 06:39:39 PM
Quote
for a period of 6 hours I can mine 502,912,800 blocks which is 502,912,800 * 0.00005000 btc = 25145.64 btc vs 50 btc
Maybe I should be more precise: if the difficulty is for example 502,912,800 for 6 hours (which means 13,969,800 for 10 minutes), then you could see for example 13,969,800 as the network difficulty, which means 50,0000,0000 satoshis divided by 13,969,800, so 357 satoshis per block, not 5,000. If the difficulty is 1M, then it is divided by 1M, but if it raises into 4M, then obviously, the amount is also divided by 4M, and so on, and so forth. Which means, that in practice, CPU miners will often get no new coins at all, but they would be able to confirm non-standard transactions. Maybe to simplify things, all CPU-mined blocks should just get zero block reward, and always burn all coins, to make it simpler (but maybe it is a good idea to give CPU miners some faucet-like amounts anyway, or something around the dust limit, just to make it enough for testing, but not enough for trading).

And also, "for a period of 6 hours" is strictly combined with "20 minute distance to trigger a rule", which means 18 blocks per 6 hours in practice, so even if it is really 5k sats, it means only getting 90k sats, not 25k coins. Because obviously, if the difficulty is for example set to 13,969,800 per 10 minutes, then you can of course actually mine 13,969,800 blocks with minimal difficulty, but then, timestamps inside blocks will be so far in the future, that no client would even try to download your chain.

Edit: I also thought about something else, but I don't have a strong opinion on that yet: declaring any difficulty in range from 1 to the real one. Which means, that the network could just accept any difficulty, picked by the miner, and allowed coinbase amount would be proportional to the declared difficulty.

I don't know exactly, where miners would find their equilibrium in that case, but then, it would be possible to let miners decide, how many coins they want to take. Some would pick 1/5th of the real difficulty, and get 10 tBTC, instead of 50 tBTC, and others would pick 1/50th, and get just 1 tBTC. And of course, amounts would be rounded down, so by picking too easy targets, it could be possible to get no new coins at all, and just burn everything.

But this particular idea is easier to implement in output scripts, based on Proof of Work, than actual block headers (because then, miners can work independently on different targets, and be rewarded accordingly, without constantly reorging each other).


Title: Re: Testnet4 Mining (Discussion)
Post by: mikeywith on April 02, 2025, 08:31:18 PM
1. You cannot mine blocks faster than six per second, even on regtest.

Why is that? are you talking about network/resources constraints? Where did you get the 6 seconds from? It takes roughly 150ms to validate and construct a block according to Kano's own observation which is based on thousands and thousands of blocks on mainnet, and that also takes into account dealing with mempool and removing old transactions and what not, which means if you were to ignore mempool altogether and even header verification since the previous block is yours anyway, you could be mining at a much faster rate than that.

Again, most of that doesn't matter, I will just mine 1 diff blocks as "fast" as my resources allow me and I would still make more BTC than mining high diff block, when I can no longer do that, i start looking for a high diff share, as soon as I can go back to 1 diff blocks i will, what will stop ASIC miners from doing just that?

Quote
2. Time difference between CPU blocks will be at least 20 minutes, so after six blocks, everything else will be rejected by the rest of the network (because of the 2 hours rule).

They won't be rejected, the 2 hours rule is not a part of the consensus unlike what most people think, those blocks are NOT invalid, they are just not accepted by default, they will be accepted eventually when the node's adjusted time moves into the future, that chain which is 2 hours into the future will still be longest chain if the "abuser is building faster", if I propogate a block with a timestamp of  15:00 while your adjusted network time is 13:00 your node will ignore it, but if I propogate the same exact block 1 minute later, it will be accepted,

Quote
4. After 2016 blocks, you will be forced to mine a new block with ASIC difficulty.

Fine by me, again, I'll mine high diff blocks when I have to and mine 1 diff blocks when I can since it's more profitable.



Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on April 02, 2025, 10:56:52 PM
Quote
Why is that?
Because the time of the block has to be strictly greater than the Median Time Past the last 11 blocks. Which means in practice, that you can put the same second in the last six blocks, but in the seventh block, you have to move forward by one second. Which means, that even in regtest, when you mine blocks on your CPU, and when every second block (on average) will give you a valid block header, then still, you will not produce more than 7,200*6=43,200 blocks per two hours, no matter how big your hashrate is.

Quote
they will be accepted eventually when the node's adjusted time moves into the future
1. The rest of the network will produce next ASIC block faster, than you will submit millions of CPU-mined blocks.
2. Other miners will produce their own CPU blocks in the meantime, and there is no point in submitting blocks faster, than they are practically accepted by anyone (because your CPU-mined block will bring the same chainwork as anyone else's CPU-mined block).
3. Producing 2016 blocks with CPU difficulty will give you much less chainwork, than a single ASIC block (as long as network difficulty is bigger than 2016). And after reaching the nearest difficulty adjustment, you will be forced to mine a single block with ASIC difficulty, even if you somehow find a node, which will accept blocks with timestamps one month away from the current time.

So yes, you can produce long offline chains, but network rules will stop you from submitting them. And coins are worth something, if they are accepted by other nodes, because only then you can for example sell test coins, and get mainnet coins, and abuse the network in practice.

And practically speaking, if you produce 2016 blocks with CPU difficulty, then your attack could be successful, if everyone else would produce no ASIC blocks for one month, which is possible in theory, but very unlikely to happen in practice.

Edit:
Quote
if the "abuser is building faster"
Then you assume, that the attacker has the network majority (51% attack). And obviously, if someone produces most of the blocks, then that person can always eventually reorg the chain.

But then, if you want to solve that particular problem, then you have to measure the real network difficulty (instead of measuring it artificially, by counting only things produced by your network). And to do that, test networks (and also other alternative chains as well) should at least import some block headers from other chains, to measure it properly. Which means things like Merged Mining. But, unlike NameCoin, if you want to be really protected from 51% attacks, then you have to accept the highest seen difficulty as the source of truth, even if someone didn't commit this Proof of Work to your chain. Which in practice means, that if you want to be as well protected from reorgs as mainnet is, then you should follow mainnet difficulty.

And then, consequently, if you follow mainnet difficulty, then producing your coins will be as hard, as producing mainnet coins. Which means, that most miners won't get anything at all, unless you allow them to mine weaker blocks, and get proportionally lower rewards for doing that (which also leads us to the conclusion, that in this case, most of the time, people will just produce zero coins, move zero coins, and operate on fractions of satoshis, until the network will grow to the level, where produced Proof of Work will give you any non-zero amounts).


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on April 03, 2025, 04:47:23 PM
@BayAreaCoins

Quote
Testnet people need a pool that pays for shares found.  A CPU will still be able to submit valid shares easily and quickly receive a small amount of Bitcoin Testnet.

This approach would be useless for many developers. While it might be sufficient for payment gateways or wallets, anything mining-related requires the full experience of constructing a block and making it part of the blockchain. Developers need to learn how to properly create valid blocks, handle orphaned blocks, and manage other essential aspects of mining. Simply receiving coins or sending work via Stratum doesn't provide the hands-on experience needed to understand these critical processes.

I think your applying your own personal beliefs to others and this is not what I've witnessed personally from the "Testnet Users".  I deal with a lot of different users too at that.

Saying someone "needs" to learn this or that isn't accurate.  Lots of people just what a little dust to test their stuff and they don't give two shits about mining.  They want to rent power, point power, and get some dust.

Hands on is not something that is needed for 99% of users (or higher)

Proposal C: Do nothing
Pros:

No changes to the code are needed.

Cons:

Developers without enough funding, or those in locations where running an ASIC isn’t feasible, won't be able to test.


I agree with C and I think your Con list is not true or accurate.

Just this morning I received a message about a 6yr old and a 9yr old using crypto with their Grandpa with my website to learn basic math, trading, and other life skills..., which is AWESOME.  That is the Testnet I get the warm fuzzies to see, rather than CashAPP using Testnet 3 to learn how to fuck their users out of even more money for Jack.  (See Bitcoin mailing list about how CashApp relies on Testnet v3 and won't be moving to v4 anytime soon.)


Problem 2: Block reorgs caused by malicious miners

Proposal A: Remove the difficulty reset and tet the difficulty grow.

Over time, this will make block reorgs extremely expensive, discouraging abuse.

Proposal B: Establish a community-driven consensus

Testnet developers should form a community that reaches an agreement outside of the code, if a miner is found abusing the system via reorgs, they can be collectively ignored, even if they have the longest chain.

Proposal A seems like the best route to give developers an accurate feel for what they are about to deal with in Bitcoin.  It will also make the gamesmenship change in Testnet and let noob devs have a chance vs devs that are rocking blocks in the current system.

Proposal B is not going to happen.  The fundamental differences are too far.  We have no interest in negotiating free markets... it wouldn't feel free then.  White/Black coins in cryptocurrency are far from cool, in my opinion. We would not participate in that.  Furthermore, debating if POW has or brings value is basically universally accepted at this point, I don't think Power+Time+Equipment+Use Case can't equal to anything but value of some type to someone.

Pros:

Eliminates the incentive to hoard testnet coins, since ASICs are power-hungry, it's unlikely that people will waste resources mining a coin that disappears in a few days. In theory, this could be highly effective against ASIC dominance.

Plenty of miners pay nothing to mine.  I actually got paid for using 1ph for free...  Mining + thinking = results <3

This would be a major pain in the ass for us that operate faucets as well... my service would manage, but I don't think many others would want to keep up.

We are willing to put in more work on our system because I think I think the only self sustainable testnet faucet (we still maintain v3 coins even without block rewards + the huge spike in demand... I'm extremely proud of this (https://altquick.com/faucet/).)





Just curious, does anyone on this thread have a Testnet service or offer anything productive to the network to help others?  I'd love to reference y'alls services.


Title: Re: Testnet4 Mining (Discussion)
Post by: mikeywith on April 03, 2025, 06:37:02 PM
mine blocks on your CPU, and when every second block (on average) will give you a valid block header, then still, you will not produce more than 7,200*6=43,200 blocks per two hours, no matter how big your hashrate is.
[

I misread your previous reply, i thought you said 6 seconds per block, your math is correct, you can do 6 blocks a second by submiting 6 blocks with the same exact timestamp.

The abuser won't strictly mine diff 1 blocks, they will mine both, they don't even need that much hashrate, look at the example i posted in my previous post, see what the guy is doing, he does not even need that much hashrate, just play dirty, obviouslly it's just me guessing the patterns, so i am willing to hear a better explanation of what is happening there.



I think your applying your own personal beliefs to others and this is not what I've witnessed personally from the "Testnet Users".  I deal with a lot of different users too at that.

Saying someone "needs" to learn this or that isn't accurate.  Lots of people just what a little dust to test their stuff and they don't give two shits about mining.   

So you can determine that more than 99% of users only need dust to test their development, and when i say that would be useless to many( i mean those building mining related software), you just assume it's a personal "belief".

go ahead and explain to me how am i suppose to develop a mining firmware or a pool with just dust in my wallet? if i don't construct an entire block and see it accepted in testnet how do i know my firmware can actually find a block? heck, some pools blacklist firmware that have no proof of hitting a block on miannet, to them even a block on testnet is not enough, let alone a mining firmware that did not solve blocks on testnet and the developers just used "dust".

might as well not mine at all and buy the testnet coins from one of the exchanges, why waste resources to mine to a pool in the first place?

if anything, mining related projects are the ones that need to use testnet probably more than other developers, many things can be done on signet since block hashing and construction isn't critical in thier environment.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on April 03, 2025, 10:30:59 PM
So you can determine that more than 99% of users only need dust

I didn't say this.  I said 99% don't give a fuck how a block is made (99% is generous too).  Lol tbh, a *lot* don't even know how to count confirmations.  It's bizarre.

So you can determine that more than 99% of users only need dust to test their development, and when i say that would be useless to many( i mean those building mining related software), you just assume it's a personal "belief".

Most users do in fact like using whole coins.  It uses more decimals to prepare for their next billion dollar project *jazz hands*.

I really don't understand why you need Testnet coins to build mining software or mine Testnet coins.  I've heard of a lot of use cases, but this is a new one to me.

go ahead and explain to me how am i suppose to develop a mining firmware or a pool with just dust in my wallet?

You don't need dust or coins at all to mine... Can you explain to me why you need any coins to mine?  

might as well not mine at all and buy the testnet coins from one of the exchanges, why waste resources to mine to a pool in the first place?

Lulz, you do realize you are speaking to a Testnet exchange owner, right?  You do know how we get liquidity and how these cryptocurrencies are disbursed?

That is why I'm wasting my resources and time.  Which is crazy ironic according to your post.

Whales secure multiple points to ensure their assets grow (markets & mining).  I can ROI with Testnet without selling them & it helps people (some for free and others not, their choice).

if anything, mining related projects are the ones that need to use testnet probably more than other developers, many things can be done on signet since block hashing and construction isn't critical in thier environment.

Then build it on testnet and don't get upset when someone beats you at the set rules...  More competition here is a *good* thing, but people expect other people to suck on purpose here or "maybe we can fuck them to death with code!"  Which could TOTALLY happen in Bitcoin and people should watch Testnet more curiously.


Title: Re: Testnet4 Mining (Discussion)
Post by: mikeywith on April 03, 2025, 11:21:07 PM
I've heard of a lot of use cases, but this is a new one to me.

Then maybe you shouldn't assume what 99% of users actually need of testnet, any mining related project will need to mine blocks to test that their software can correctly construct a full block, deal with mempool, hash it correctly, and propagate to other nodes.

Quote
Then build it on testnet and don't get upset when someone beats you at the set rules...

I am not upset for myself, I only spent a few months on mining development back when I first started mining and had lotsa free time, I no longer do that but I feel the frustration mining devs endure because some greedy folks want to abuse the rules to get all the coins to sell them on "exchanges".

Actually, even some devs are greedy and selfish, I recall when testnet3 had a diff spike, was talking about on a telegram group tell another dev said he had to point his S9s to get a few fast blocks.

I can rekt testnet4 single handed, I can spare a few PHs and point it there just to prove a point, in fact, many other fellow miners can do just that, but then what? you are not going to make testnet4 any better, so all we trying to do now is come up with solutions on code/consensus level.

Obviously, many folks do not think there is an issue with the current setup, that is fine if you don't see an issue and your business is doing well, others who are affected will keep seeking for solutions, its the reason why we have testnet4 and will have testnet5 and so on.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on April 03, 2025, 11:41:27 PM
its the reason why we have testnet4 and will have testnet5 and so on.

There is a major flaw in this logic as well.

If you owned a shitcoin exchange and the threat was "We will make another shitcoin and market it for you" would you be worried about this threat?

I can rekt testnet4 single handed, I can spare a few PHs and point it there just to prove a point, in fact, many other fellow miners can do just that, but then what? you are not going to make testnet4 any better, so all we trying to do now is come up with solutions on code/consensus level.

Point 1 PH at it for 24 hours and see how it does... just don't post you did it here or some asshole (https://bitcointalk.org/index.php?action=profile;u=289817) will leave you negative feedback!!!

I feel the frustration mining devs endure because some greedy folks want to abuse the rules to get all the coins to sell them on "exchanges".

This confuses me as well... the dude mining empty blocks is sending his coins "somewhere".  If he was sending to an exchange... why wouldn't he want that transaction income to sell too?  It's really weird.  Testnet is weird.  It is fun though.


Title: Re: Testnet4 Mining (Discussion)
Post by: mikeywith on April 04, 2025, 12:21:26 AM
If you owned a shitcoin exchange and the threat was "We will make another shitcoin and market it for you" would you be worried about this threat?

It would be a threat when that coin will finally have no real value, which is why I am advocating for a blockchain reset, when the coins only matter for a few hours or days, there will be little to no value in it, so at least in "theory" nobody would want to buy and hodl them, because in a few hours or days they will be gone, people buy shitcoins hopping for their value to go up, knowing that their investment will go down the drain will most likely stop them from investing.

That would leave us only to those who would abuse testnet because "they can", you can't counter those with "resets" since they do not do it for money anyway, so there are other "social" measurements against them, but first, it only makes sense to get rid of those who do it for money.


Quote
This confuses me as well... the dude mining empty blocks is sending his coins "somewhere".  If he was sending to an exchange... why wouldn't he want that transaction income to sell too?  It's really weird.  Testnet is weird.  It is fun though.

The asshole (https://mempool.space/testnet4/address/tb1q2dsc94zq40nwnz27w5rxljwllutnwjtlxk44fz) I investigated earlier who so happens to still control testnet4 does include transactions in his blocks.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on April 04, 2025, 04:22:37 AM
it only makes sense to get rid of those who do it for money.

You can't. (https://www.youtube.com/watch?v=L4EdtpCvF8I)

The asshole (https://mempool.space/testnet4/address/tb1q2dsc94zq40nwnz27w5rxljwllutnwjtlxk44fz) I investigated earlier who so happens to still control testnet4 does include transactions in his blocks.

tb1q2dsc94zq40nwnz27w5rxljwllutnwjtlxk44fz fucks for sure
 
They are beatable though, the dude doing no transactions can beat him at will.

I don't think you could with your 1 ph... I'd love to see you smack this thing for an afternoon.

It's Testnet... relax and have some fun with it.  Let it rip.  Have some fun with it.


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on April 04, 2025, 05:54:14 AM
I can rekt testnet4 single handed, I can spare a few PHs and point it there just to prove a point
Unless you're replacing CPU-blocks, you'd only be helping this guy mine more blocks:
The asshole (https://mempool.space/testnet4/address/tb1q2dsc94zq40nwnz27w5rxljwllutnwjtlxk44fz) I investigated earlier


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on April 05, 2025, 06:26:32 AM
My thought on resets is:  When the block reward runs out for miners... fire up another version.  Easy peasy, it already happened with v3 to v4 basically.  This keeps long term hodlers out and miners in.  Any short term value comes from real testing and time sensitive stuff.  I'm sure some retards will speculate, but people bought DOGE too... you can't stop retards, it should be a very small number, and frankly it helps miners / a few lazy folks who would rather throw 2 DOGE at a few Testnet (https://altquick.com/swap/).  Is anyone here really so high and mighty they are upset at someone spending DOGECOIN to try to test something Bitcoin related?  Surely not.  If 20 minutes of your time isn't worth 2 Dogecoins... shit (https://www.youtube.com/watch?v=QvgkWU6z25E). :P

Bitcoin is written in stone.

Testnet is for the time being, but not a short enough time for services around the world to struggle to update together.


Title: Re: Testnet4 Mining (Discussion)
Post by: champloo on April 14, 2025, 04:57:11 PM
Hello everyone. Now I have also encountered this pain.
For my project I needed a couple of thousand tBTC testnet4. I went the classic way, rented an ASIC. And then I came across the above descriptions not only in this topic.
Maybe it is worth sharing an option on how to repeat CPU mining. I am ready to launch 10-50 of nodes and pools to cut off the ability of this individual to mine so much and make a faucet for free distribution of coins.
I am very sad about what is happening because of such a "bug"


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on April 15, 2025, 03:08:00 AM
Hello everyone. Now I have also encountered this pain.
For my project I needed a couple of thousand tBTC testnet4. I went the classic way, rented an ASIC. And then I came across the above descriptions not only in this topic.
Maybe it is worth sharing an option on how to repeat CPU mining. I am ready to launch 10-50 of nodes and pools to cut off the ability of this individual to mine so much and make a faucet for free distribution of coins.
I am very sad about what is happening because of such a "bug"

A few *thousand* Bitcoin Testnet is a metric fuckton of coins.  You do *not* need that to get started with a faucet.

You would need to mine 40 blocks, and there are 72 blocks made per day... that is asking a lot for a global testing network.

Open market says you could save 800 perfect minutes for $44.

I'm curious where you pointed your rented power since the only public Testnet mining pool is gone?


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on April 15, 2025, 08:03:21 AM
For my project I needed a couple of thousand tBTC testnet4. I went the classic way, rented an ASIC.
This post comes to mind:
ASIC miners will just reorg them. Here is how: https://github.com/bitcoin/bitcoin/pull/31117
It was just a proof of concept, maybe @garlonicon can tell you if he went through with it:
Quote from: GitHub
Mining Pool

The follow-up to this would be to run a public (solo) pool with this enabled so that we can get some more hash rate behind this without requiring any effort on the side of those with hash rate and demotivate the spammers.

Maybe it is worth sharing an option on how to repeat CPU mining. I am ready to launch 10-50 of nodes and pools to cut off the ability of this individual to mine so much and make a faucet for free distribution of coins.
You'll be competing against this (http://tmp.loyce.club/testnet4_debug.log):
Code:
2025-04-15T07:45:00Z Saw new header hash=00000000d4bb57160f4bf79df02d7245093be5251357b63882acca371a3adf13 height=77526
2025-04-15T07:45:00Z Saw new cmpctblock header hash=00000000d4bb57160f4bf79df02d7245093be5251357b63882acca371a3adf13 peer=8546
2025-04-15T07:45:00Z UpdateTip: new best=00000000d4bb57160f4bf79df02d7245093be5251357b63882acca371a3adf13 height=77526 version=0x20000000 log2_work=73.103421 tx=9068836 date='2025-04-15T09:45:00Z' progress=1.000000 cache=661.0MiB(3518748txo)
2025-04-15T07:45:00Z Saw new header hash=0000000083e6fbdc737cfbbf123404f7dc94fb2abf181987f91965e6d3643bed height=77526
2025-04-15T07:45:00Z Saw new header hash=0000000021ac2b9d946ed7bcb1c88d12c0de5aa6c72b9e7b597bbe4ce852d08a height=77526
2025-04-15T07:45:00Z Saw new header hash=00000000495c2d7d3dcf04acb3e1a5ab5b7da773a384669c81d08f8d89b17a83 height=77526
2025-04-15T07:45:00Z Saw new header hash=000000005361bf2fe3ef9b6c6245a3d73d891daaebe5c0559a36ff3d48ef8924 height=77526
2025-04-15T07:45:00Z Saw new header hash=000000003d0ea3678664743c10e74f29f822604bc5d250d3cc5779c4def48a39 height=77526
2025-04-15T07:45:00Z Saw new header hash=000000007e73e3f2b17cab98cf76882972bc503a0c26fef230d89ff5ea5b3dd8 height=77526
2025-04-15T07:45:00Z Saw new header hash=00000000d2ad5d7913b1b27191533586fa55739828c6c8b9e99aaee8e756558f height=77526
2025-04-15T07:45:00Z Saw new header hash=00000000657631d363ac3246d2d234f4e265efbbe85e22be5e55af0d21615e15 height=77526
2025-04-15T07:45:00Z Saw new header hash=00000000be376e2874f543ab902058a17455f028c2e3d1a4ce94b9b0276bfb37 height=77526
2025-04-15T07:45:01Z Saw new header hash=00000000656235cb44f06aef0340ca8f160fed287f70d232c39146a89b09176e height=77526
2025-04-15T07:45:01Z Saw new header hash=00000000dbdd4ae193925dc7213a88f669b41ee72924530bfe3d77e7ff6755fa height=77526
2025-04-15T07:45:01Z Saw new header hash=000000005c3f7f369dad92a0bff57b867089692c4c1cea10bc353c712554b0b5 height=77526
That took 1 second.


Title: Re: Testnet4 Mining (Discussion)
Post by: champloo on April 15, 2025, 08:56:52 AM
I'm curious where you pointed your rented power since the only public Testnet mining pool is gone?
I launched my own. It's not expensive in terms of resources and money. If the community needs a pool, I can assemble it and launch it.
But I'm afraid there's not much point, against cpu mining

You would need to mine 40 blocks, and there are 72 blocks made per day... that is asking a lot for a global testing network.
I have already mined 12 blocks. I do not plan to stop.

Open market says you could save 800 perfect minutes for $44.
I understand that it is profitable for you when the testnet is traded. But I do not want to support this dirty business.

You'll be competing against this (http://tmp.loyce.club/testnet4_debug.log):
I launched this hack. But unfortunately the CPU miner does not directly support Bitcoind and I have to wrap everything in a separate ckpool
https://bitcointalk.org/index.php?topic=5496494.msg64205870#msg64205870

I currently have 5 nodes with different time periods. Blocks are found but unfortunately not sent. Today I will try to change the option for sending them.

It seems to me that the only chance to stop what is happening now on testnet is to lead and distribute for free, thereby devaluing the test coin sales market.


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on April 15, 2025, 05:29:46 PM
Quote
maybe @garlonicon can tell you if he went through with it
He definitely didn't. His mining software left some "extranonce-like" traces in the blockchain, so you can easily check, that he didn't mine any testnet blocks in 2025. Of course you can try to PM him, but I don't think he has in store some testnet3/testnet4 secrets, which he didn't share publicly.

And also, when I talked with him recently, he gave me some hints about signet, so I think he is now more focused on hacking signets than testnets (and I guess it is a good choice, if CPU mining will be blocked in testnet5, and if testnet3 and testnet4 will be abandoned by Core developers).

Quote
That took 1 second.
Wrong. Sending that data to your node took a short amount of time. But mining was slower, and your node just ignored blocks on the same (or lower) height.

If you want to see it, you can run two nodes on localhost, and check, what happens between miners with similar hashrate (which is the case here, because every CPU-mined block brings the same chainwork, no matter who produced it).

Quote
It seems to me that the only chance to stop what is happening now on testnet is to lead and distribute for free, thereby devaluing the test coin sales market.
You think, that traders really care about technically running any nodes? As long as centralized trading works, they will trade. Testnet4 can even be halted every 2016 blocks, and nobody cares (because then, all miners are forced to work with real ASIC difficulty for a single block).

There existed some CPU-mined altcoins, where validating the chain was harder, than mining the next block. And it didn't affect trading at all, and people shared already validated database in a "don't verify, trust" way.


Title: Re: Testnet4 Mining (Discussion)
Post by: champloo on April 15, 2025, 08:20:41 PM
You think, that traders really care about technically running any nodes? As long as centralized trading works, they will trade. Testnet4 can even be halted every 2016 blocks, and nobody cares (because then, all miners are forced to work with real ASIC difficulty for a single block).

There existed some CPU-mined altcoins, where validating the chain was harder, than mining the next block. And it didn't affect trading at all, and people shared already validated database in a "don't verify, trust" way.

Therefore, my actions and desires as a whole are meaningless and people have simply resigned themselves to it?


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on April 15, 2025, 09:04:18 PM
I'm curious where you pointed your rented power since the only public Testnet mining pool is gone?
I launched my own. It's not expensive in terms of resources and money. If the community needs a pool, I can assemble it and launch it.
But I'm afraid there's not much point, against cpu mining

I strongly believe this would be a good thing.

You could likely charge a 50% fee even because it's the only one and it opens up the renting market for people who can't just toss up their own pool.

There is more than one way to skin a cat.  Use the pool fees to fund the faucet and create something that is sustainable and scaleable.

Congrats on your blocks!

You think, that traders really care about technically running any nodes? As long as centralized trading works, they will trade.

Those "testers" usually do not care about nodes and usually only care about whatever they are testing or doing.  (Loads of noobs like worthless coins before they get serious in Bitcoin too, they don't give a fuck and are still learning how see their txid on a public explorer...)

I think people are over worried about a little shitty altcoin exchange offering pairs.  I suspect the bid will be empty eventually and it will just be a huge line of Testnet sellers sitting waiting hopelessly on the ask.  Time will tell.  At least it will be tested in reality and not in theory... I'm a bigger fan of free markets than ideologies.

I understand that it is profitable for you when the testnet is traded. But I do not want to support this dirty business.

I think of it more as greasy (https://www.youtube.com/watch?v=S7FsAgPuVwU) than dirty, but I understand and respect that.  I also consider it BAC testing, which is often not appreciated by everyone.

and make a faucet for free distribution of coins.

Please let me know when you get your faucet up and I'll recommend you (if it is decent.)


Title: Re: Testnet4 Mining (Discussion)
Post by: champloo on April 15, 2025, 10:53:56 PM
I strongly believe this would be a good thing.

You could likely charge a 50% fee even because it's the only one and it opens up the renting market for people who can't just toss up their own pool.

There is more than one way to skin a cat.  Use the pool fees to fund the faucet and create something that is sustainable and scaleable.

Congrats on your blocks!
At the moment I'm trying to implement approaches that help guys get blocks. If I can implement them, then I'll launch a public Docker container for developers with a miner that will allow them to get personal coins, and not just through a faucet.

Code:
[error] ProcessNewBlock: AcceptBlock FAILED (high-hash, proof of work failed)

Please let me know when you get your faucet up and I'll recommend you (if it is decent.)

I'm still an ordinary DevOps engineer, not a blockchain specialist.
I have many ideas on how to qualitatively remake Docker images from mocacinno, because they are very untidy for me. But thanks to him, I was able to at least start testing this and mine now with rented ASICs.


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on April 16, 2025, 05:43:20 AM
It seems to me that the only chance to stop what is happening now on testnet is to lead and distribute for free, thereby devaluing the test coin sales market.
This post comes to mind:
Please don't give TNBTC to people who are just hoovering it up to paid by defi scams based on it.

Real testing just needs tiny amount, the people who "need" large amounts are selling it.  (technically trading it for defi testnet defi tokens which they expect to get converted into real value once that scams they are participating in go live).

This abusive and anti-social behaviour has made it hard for people to get testnet for actual bitcoin testing because they've drained all the faucets and conned the people that have historically given it out out of theirs.

It's also forcing bitcoin development to abandon testnet for testing.


Title: Re: Testnet4 Mining (Discussion)
Post by: champloo on April 16, 2025, 07:58:37 AM
It seems to me that the only chance to stop what is happening now on testnet is to lead and distribute for free, thereby devaluing the test coin sales market.
This post comes to mind:
Please don't give TNBTC to people who are just hoovering it up to paid by defi scams based on it.

Real testing just needs tiny amount, the people who "need" large amounts are selling it.  (technically trading it for defi testnet defi tokens which they expect to get converted into real value once that scams they are participating in go live).

This abusive and anti-social behaviour has made it hard for people to get testnet for actual bitcoin testing because they've drained all the faucets and conned the people that have historically given it out out of theirs.

It's also forcing bitcoin development to abandon testnet for testing.

I can implement simple checks that can filter out botnets and prevent the funnel from being sucked out. In general, I agree that giving large amounts is not right. But considering that if it is possible to facilitate coin mining as the scammers do in the pool, the issue of replenishing the wallet will not be a problem.
It is also not worth distributing more than 5 TBTC, I agree. But at first, the distribution will be no more than 0.0001% of the wallet - which is 50,000 BTC that should be for the funnel maximum. This is a large amount for ASIC at the moment. But it will not be for the CPU.
And the pool will allow mining for those who need more.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on April 16, 2025, 04:49:50 PM
In general, I agree that giving large amounts is not right.

I think the best way to give larger amount of Testnet is with a deposit that is refunded upon return.

It could be fairly easily automated... perhaps that is less greasy and still fills the needs of people who need (or want) more than dust.

I give 0.005 TBTC every ten minutes on our faucet... which I think is more than enough.

It gives people dust for free without being greasy or battling dirty (:D) testnet miners.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on April 29, 2025, 08:41:25 AM
I found a public v4 pool:  https://testnet4.btclab.dev/#/ (https://testnet4.btclab.dev/#/)

10% fee, which I think is fair.

I'm probably going to play with this tomorrow. (I've not tested it)


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on May 03, 2025, 12:31:02 AM
I found a public v4 pool:  https://testnet4.btclab.dev/#/ (https://testnet4.btclab.dev/#/)

10% fee, which I think is fair.

I'm probably going to play with this tomorrow. (I've not tested it)

I've now used this pool for a few days... it does pretty good.

The CPU miners are still annoying, but this is a way to at least get coins without using faucet or trading.

I'm hitting the network with 1.5 PH and due to the CPU fuckery, I'm only hitting around 5% of produced blocks.  ::)


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on May 07, 2025, 07:54:32 AM
(Great estimation!)
That's because the spambot copied it from mikeywith's post (https://bitcointalk.org/index.php?topic=5516607.msg65209092#msg65209092).


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on May 07, 2025, 09:45:27 AM
(Great estimation!)
That's because the spambot copied it from mikeywith's post (https://bitcointalk.org/index.php?topic=5516607.msg65209092#msg65209092).

God, that would be a thing now days... my bad, I thought I got caught again :P


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on May 07, 2025, 10:06:13 AM
Quote
I'm only hitting around 5% of produced blocks.
Of course. If you mine zero blocks with CPU difficulty, then you will only raise the network difficulty. In general, only 1/6th of all blocks have ASIC difficulty (https://bitcointalk.org/index.php?topic=5499150.msg64676783#msg64676783). And it is still adjusted every 2016 blocks. Which means, that if you will produce one block per 10 minutes, then the presence of CPU blocks will raise the difficulty again.

Also note, that when you make any block, then you can put any timestamp you want, in a consensus-acceptable range. Which means, that if you put the current date and time, then CPU miners can immediately produce blocks, up to 2 hours in the future, which means, that you will instantly see 6 new blocks with CPU-difficulty. However, if you put your timestamp 1 hour 59 minutes and 59 seconds forward, then no new CPU-mined block will appear for the next 20 minutes.

Another thing is that by having an ASIC, you can just reorg all CPU-mined blocks, and decrease the difficulty in that way. As long as you can see any chain of CPU-only blocks, up to the chain tip, you can replace it with a single ASIC block, and all of them will be reorged.

Code changes to throw away CPU-mined blocks: https://github.com/bitcoin/bitcoin/pull/31117


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on May 07, 2025, 03:14:02 PM
Another thing is that by having an ASIC, you can just reorg all CPU-mined blocks, and decrease the difficulty in that way. As long as you can see any chain of CPU-only blocks, up to the chain tip, you can replace it with a single ASIC block, and all of them will be reorged.

Code changes to throw away CPU-mined blocks: https://github.com/bitcoin/bitcoin/pull/31117
Do you know what happened to the plan to create a pool for this, so anyone with an ASIC can easily wipe out CPU blocks?


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on May 07, 2025, 04:06:09 PM
Quote
Do you know what happened to the plan to create a pool for this
As you can see, the code on GitHub is in "draft" status, so you have to compile it yourself, if you want to use it. Or you can ask "fjahr", what is the plan (but I guess if some people from the mailing list are talking about hard-forking testnet4, and removing CPU mining from consensus rules, then they don't have any plans to develop testnet4 further).


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on May 07, 2025, 08:48:34 PM
Quote
Do you know what happened to the plan to create a pool for this
As you can see, the code on GitHub is in "draft" status, so you have to compile it yourself, if you want to use it. Or you can ask "fjahr", what is the plan (but I guess if some people from the mailing list are talking about hard-forking testnet4, and removing CPU mining from consensus rules, then they don't have any plans to develop testnet4 further).

Why would they bother to remove the CPU mining if they don't have plans to develop Testnet4 further?  Why bother?

Also, your last email on the mailing list had some really good points.  Probably the best quality email I've seen regarding Testnet in 2025.

From: Saint Wenhao
May 6, 2025, 10:25:25 AM (yesterday)
to Greg Maxwell, Bitcoin Development Mailing List


(> = Greg Maxwell quotes)
Quote
> Some believed that resetting alone would discourage the conduct,

I wonder, why many people keep saying "reset", when in practice, the old network is just "abandoned", and nothing is really "resetted". We would have a true reset, if a new testnet would lead to the full chain reorganization of the old chain. And this thing never happened, all previous testnets were just abandoned, as they were, and there were just not enough people, willing to keep old networks alive.


> Hard fork in an ultramassive premine

Well, if testnet4 will be "fixed" by doing a hard-fork on top of existing chain, then it would be equivalent to releasing testnet5 with "premine" of all testnet4 blocks.


> so maybe an additional 21 million testnet btc?

Using doublings, instead of halvings, is future-proof. Because then, if someone will continue using such test network forever, then later, it would release 21 million coins per block (which would be roughly equivalent to having a superchain, where you can peg one altcoin per 10 minutes).


> if someone starts trading tnbct for money, whomever has the premine wallet should feel feel to sell into it what they can

In practice, trading will start, when the first version of the official wallet will be released. It was the case in testnet4: when it was possible to mine new coins, only when you created your own binary from the source code, then there were only devs, and some skilled users. However, when it was officially supported in a new Core version, then it was quickly listed on centralized exchanges, and a lot of people dumped all of their test coins, and walked away with real BTCs.


> the custodian of the premine will use it for the betterment of Bitcoin development,  but if it's found that they're not-- solution is just another reset

Which means, that Bitcoin developers will turn into altcoin developers, where they will release new altcoins called "testnets", only to dump all of them, and get BTCs out of it.

I know you've seen my thread regarding Bitcoin Testnet actually being a Altcoin (https://bitcointalk.org/index.php?topic=5536825.msg65227237#msg65227237).

I'm glad that you are at least open-eyed enough to grasp the concept.  Now you are seeing the true "Shitty premined make devs rich" side of the equation that has *always* been there... (I have a good view at who is dumping these coins into the market.  It's not folks that bought them on Coinbase!!!  It should be noted that I do not think this is a bad thing.)

The only thing I will say is that the part of "In practice" is not set in stone at all.  I am applying Gamesmanship to this network & our business plan in order to protect ourselves and our customers + what I think is best for Bitcoin. (Fuck testnet, but I firmly believe in its purpose and benefiting Bitcoin.)

We may take a totally different approach for this next round!  Part of testing is doing things a differently to see what works best.  I sit around all day and think about this.  V4 was the most boring and straight forward approach... I can think of several other approaches that likely would have worked better in hindsight... Futures?!?! Maybe we will delist v4 after people put work in on v5?! Maybe we list both forks of v4 or only one or maybe none! (Lol). Maybe we do everything the same?  Maybe we don't list it at all?  This maybe list can go on and on... but one thing is for certain, I will be here.

It keeps people on their toes!  :P Gotta make those Premine shitcoin devs at least work for it <3. I thought their premine in Testnet 4 was enough!


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on May 08, 2025, 03:24:28 AM
Quote
Why would they bother to remove the CPU mining if they don't have plans to develop Testnet4 further?
Because if you have any hard-fork, which is strictly incompatible with the previous version, then it is very similar to the situation, when you just make a completely different network.

So, if they will fix testnet4 in a soft-fork, then all new changes can stay in the same network, if hashrate majority will support them. But if they make backward-incompatible changes (like doublings, instead of halvings, or using the ASIC difficulty in the "bits" field from the block header, even if 20 minutes passed, and old nodes are enforcing the CPU-difficulty blocks), then you have new, incompatible rules, and some nodes will enforce the old rules, and others will not.

To sum up: soft-forks will keep you in the same network. Hard-forks will split it between old and new nodes.

You may not understand it, if you saw altcoins, which did hard-forks on a regular basis, but technically, each hard-fork is roughly equivalent to releasing a new altcoin, which is incompatible with the old version. So, even if changes to testnet4 will be made on the same chain, then if they will be incompatible with existing nodes, I will consider it as "testnet5", because already deployed nodes don't have to update their code. It is P2P world: you are never forced to upgrade.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on May 08, 2025, 03:33:08 AM
Quote
Why would they bother to remove the CPU mining if they don't have plans to develop Testnet4 further?
Because if you have any hard-fork, which is strictly incompatible with the previous version, then it is very similar to the situation, when you just make a completely different network.

So, if they will fix testnet4 in a soft-fork, then all new changes can stay in the same network, if hashrate majority will support them. But if they make backward-incompatible changes (like doublings, instead of halvings, or using the ASIC difficulty in the "bits" field from the block header, even if 20 minutes passed, and old nodes are enforcing the CPU-difficulty blocks), then you have new, incompatible rules, and some nodes will enforce the old rules, and others will not.

To sum up: soft-forks will keep you in the same network. Hard-forks will split it between old and new nodes.

You may not understand it, if you saw altcoins, which did hard-forks on a regular basis, but technically, each hard-fork is roughly equivalent to releasing a new altcoin, which is incompatible with the old version. So, even if changes to testnet4 will be made on the same chain, then if they will be incompatible with existing nodes, I will consider it as "testnet5", because already deployed nodes don't have to update their code. It is P2P world: you are never forced to upgrade.

Our first version of "FreeBitcoins.com" was helping people harvest forks and CLAMS (a blockchain snapshot airdropped to all BTC, DOGE, LTC people, my current partner created CLAMS).  Helping people dump their forks without downloading clients for 10%. https://medium.com/freebitcoins-com/freebitcoins-com-2951cd5fa0a8 (https://medium.com/freebitcoins-com/freebitcoins-com-2951cd5fa0a8)

I would definitely consider the new fork Testnet 5 as well.

you are never forced to upgrade.

People and exchanges can always run both.  I'm mining Bitcoin Cash when my mining power isn't rented.  (Dump the blocks and then do my thing in Bitcoin)

I'm really excited to see normal POW in Testnet. It's a great update for Testnet IMO.  It's going to help prepare a lot of people & products for mainnet in a good way.

If you have Testnet coins on AltQuick... be damn sure to get them off before the fork. 

Quote
Does AltQuick.com credit forks?
We do not credit forks to users that hold a balance with us. Please withdraw your balance so that you hold your own keys to claim forks.
https://altquick.com/exchange/faq




Quote from: stwenhao
Proof of Work puzzle in testnet4: https://mempool.space/testnet4/tx/cc159432ffb7a166abeccc79800e9616a09ea9ac6937080c2ca37b38671970e5

I noticed the puzzle you are promoting are coins that were bought from my exchange.  Even the left over coins in the puzzle transaction are sent back to the exchange directly in that transaction.  :D

That makes me really happy.

I don't see how someone can think what I'm helping facilitate is a bad thing.

Unsurprisingly, it's one of the leading commentators on the Bitcoin Mailing list and they are day trading testnet coins... lol *facepalms*

Garlo Nicon

[moderator's note: consecutive posts merged]


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on May 08, 2025, 07:26:33 AM
Quote
I noticed the puzzle you are promoting
Note that I don't know the solution upfront. It is a Proof-of-Work-based puzzle, where you have to mine the solution, by producing smaller and smaller signatures. Which means, that I cannot just sweep all coins, by importing some kind of wallet: if I would want to take any coins out of it, I would have to prepare some transaction, and then run a miner, which will grind signatures, until it will find some match.

Quote
Garlo Nicon
Of course. I got these coins from him, and I sent them back to him. Maybe he gave me some address from your exchange?

Quote
I don't see how someone can think what I'm helping facilitate is a bad thing.
Because test coins were supposed to be worthless, like for example regtest coins are. And your exchange just raised their value, and pushed some people to sell their test coins.

Imagine that you play a monopoly game with a group of friends. If some stranger will suddenly join, and pay you real money for your monopoly money, wouldn't you sell them?

Some people may consider it "a bad thing", just because when they started playing monopoly, they assumed, that no real funds are involved. Everyone assumed, that it is just a game, where you can just play, and have some fun. And when fake coins were made real, then it simply introduced value into something, which was considered "worthless", which defeated the purpose, why some people joined the game in the first place.

And now, developers are trying to make a new monopoly game, where coins will be really worthless, and no stranger will suddenly join, and start trading monopoly coins for real dollars. When you allow trading everything they release, then they don't want to play anymore, because then it is harder to test some real attacks, when funds are not worthless. The original purpose of test networks, was to make something, where you can check some attacks, without harming the main network. By raising value of test coins, you just make it harder, because then, there is no longer any good, decentralized chain, which can be safely attacked, and tested more seriously.

Edit:
Please do these tests on the test network.  That's what it's for.  Thanks.
See? You can read the whole topic, to have a context, how test networks were used in the past. The purpose was quite simple: you read the original code, and thought about some kind of attack. And then, when you wanted to check, if it really works or not, you didn't want to break the original, main network, with real coins. You needed some kind of environment, where you can break something, and nobody will blame you for doing that.

And now, when you bring value into test coins, you simply break that kind of use case. And currently, there is no good alternative network, which could be used instead, when testnet3 and testnet4 coins are traded.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on May 08, 2025, 08:33:36 AM
Imagine that you play a monopoly game with a group of friends. If some stranger will suddenly join, and pay you real money for your monopoly money, wouldn't you sell them?

Some people may consider it "a bad thing", just because when they started playing monopoly, they assumed, that no real funds are involved. Everyone assumed, that it is just a game, where you can just play, and have some fun. And when fake coins were made real, then it simply introduced value into something, which was considered "worthless", which defeated the purpose, why some people joined the game in the first place.

And now, developers are trying to make a new monopoly game, where coins will be really worthless, and no stranger will suddenly join, and start trading monopoly coins for real dollars. When you allow trading everything they release, then they don't want to play anymore, because then it is harder to test some real attacks, when funds are not worthless. The original purpose of test networks, was to make something, where you can check some attacks, without harming the main network. By raising value of test coins, you just make it harder, because then, there is no longer any good, decentralized chain, which can be safely attacked, and tested more seriously.

https://www.ccn.com/gambit-shuts-bitcoin-board-gaming/

It's more easy for me to imagine myself playing Monopoly for money and mopping people so hard that the website has to shut it down.  lol!

I'm pretty sure I hold a world record for playing a 10-15 BTC game of Rock Paper Scissors (best of 5?) and I won.  Playing whole Bitcoin Monopoly games was pretty normal for a group of us (we totally played each other, that site owner was a pussy.)

"Sharks" are always going to eat folks lunch.  For some reason, news articles just call me a shark and don't bother to list my name... it happened here too:  https://www.dailydot.com/debug/dogecoin-mining-dogehouse-ddos/ (https://www.dailydot.com/debug/dogecoin-mining-dogehouse-ddos/)

So I guess it just depends on what kind of game you're playing... if it's a decentralized game that you promote as permissionless borderless money, your playing with fake money, and someone show up with real cash to play against your fake bills... I'd be pretty god damn happy!  I would not be trying to kick the retard out with real money... he's buying property and playing by the rules otherwise except his bills are worth something after the game.

Even during a game of normal Monopoly.  Monopoly money still have "value" during the game.  After the game it becomes worthless.  This is yet another reason that Testnet needs a firm end date, so people know when the game is "done".



Also, regarding your post from Satoshi, the post right under it from Theymos highlights the importance of having a robust testing network.  

Please do these tests on the test network.  That's what it's for.  Thanks.

You can't get real data from such a small network. Besides, a reliable network must be able to withstand any kind of testing.

Issues and bugs are more likely to be found or used in a network that is being used.  This has been shown to be true in both v3 and v4.  

It's also much easier to make fun puzzles like in your signature!

Bitcoin was *so* small back then.  Bitcoin was trading for around 0.01-0.1 cents USD at the time of that post.

The times have changed.  The big issue was annoying Bitcoin by testing it back then... Now it isn't annoying (atm  ::)), it is expensive, but being expensive has become a use case for Bitcoin... sooooo.....  now we are trying:

The goal (my goal, at least) is to have some working distributed monetary system, not to keep a (potentially) broken system online without interruption.

It seems to be working. V3 would have never been attacked by Lopp if they didn't need a fresh block reward for the company causing all this OP_return bullshit.  V4 would have been a broken mining system without us and now it's potentially getting upgraded to what it should be... like Bitcoin.  2 for 2 thus far my dude.



Bitcoin Testnet won't cross $100 a coin, IMO.  $100 is perfect for a fuck around network.

https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTgGICQIdf734WQkv3xf945MO-KHX4Ns4j-sA&s


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on May 22, 2025, 07:09:06 AM
Basically, if the code allows for any mining fuckery, someone is going to hit it.
So breaking transactions to prove a point?

Submitting blocks with zero transactions is faster than including transactions.


Title: Re: Testnet4 Mining (Discussion)
Post by: Sledge0001 on May 30, 2025, 07:16:29 PM
Submitting blocks with 0 data / or only 1 transaction maybe faster.....

But ends up being essentially useless for real dev imho....

Here's doing it right...

https://mempool.space/testnet4/block/000000000000000401af6aef678e8a9b780bcdfc9b0722370c9cbde345d76a9c (https://mempool.space/testnet4/block/000000000000000401af6aef678e8a9b780bcdfc9b0722370c9cbde345d76a9c)

https://mempool.space/testnet4/block/00000000000000044d644ebd60091e96670a3175fea617e21dd476479a60d252 (https://mempool.space/testnet4/block/00000000000000044d644ebd60091e96670a3175fea617e21dd476479a60d252)

https://mempool.space/testnet4/block/0000000000000004d23b1ef0525014d34d95b003677686716e7b11d36d338b86 (https://mempool.space/testnet4/block/0000000000000004d23b1ef0525014d34d95b003677686716e7b11d36d338b86)

https://mempool.space/testnet4/block/0000000000000003827b15101ba8321e7e9cc8f5e335a1b5f40e3b1bbeb64379 (https://mempool.space/testnet4/block/0000000000000003827b15101ba8321e7e9cc8f5e335a1b5f40e3b1bbeb64379)


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on May 30, 2025, 09:54:25 PM
Submitting blocks with 0 data / or only 1 transaction maybe faster.....

But ends up being essentially useless for real dev imho....

Here's doing it right...

https://mempool.space/testnet4/block/000000000000000401af6aef678e8a9b780bcdfc9b0722370c9cbde345d76a9c (https://mempool.space/testnet4/block/000000000000000401af6aef678e8a9b780bcdfc9b0722370c9cbde345d76a9c)

https://mempool.space/testnet4/block/00000000000000044d644ebd60091e96670a3175fea617e21dd476479a60d252 (https://mempool.space/testnet4/block/00000000000000044d644ebd60091e96670a3175fea617e21dd476479a60d252)

https://mempool.space/testnet4/block/0000000000000004d23b1ef0525014d34d95b003677686716e7b11d36d338b86 (https://mempool.space/testnet4/block/0000000000000004d23b1ef0525014d34d95b003677686716e7b11d36d338b86)

https://mempool.space/testnet4/block/0000000000000003827b15101ba8321e7e9cc8f5e335a1b5f40e3b1bbeb64379 (https://mempool.space/testnet4/block/0000000000000003827b15101ba8321e7e9cc8f5e335a1b5f40e3b1bbeb64379)

All is fair in love and crypto mining.

Early Jan 2026 (edit note: fixed 2025 typo) the 20 min reset should be removed and Testnet won't have this issue any further.  Full POW is clearly the way, Testnet has pool activity now too, which is far different than back in the day.  

I'll definitely mine with y'all if it is ever open to the public or if you need a tester for some blocks.

Right now, I'm on BTClab.dev, paying a 10% fee.

My blocks include transactions as well:  https://mempool.space/testnet4/block/0000000000000002cedaf2784715288a9b3765e71d2c6c6c4b9c040b092a1e5d


Title: Re: Testnet4 Mining (Discussion)
Post by: Sledge0001 on May 31, 2025, 01:38:40 AM
Submitting blocks with 0 data / or only 1 transaction maybe faster.....

But ends up being essentially useless for real dev imho....

Here's doing it right...

https://mempool.space/testnet4/block/000000000000000401af6aef678e8a9b780bcdfc9b0722370c9cbde345d76a9c (https://mempool.space/testnet4/block/000000000000000401af6aef678e8a9b780bcdfc9b0722370c9cbde345d76a9c)

https://mempool.space/testnet4/block/00000000000000044d644ebd60091e96670a3175fea617e21dd476479a60d252 (https://mempool.space/testnet4/block/00000000000000044d644ebd60091e96670a3175fea617e21dd476479a60d252)

https://mempool.space/testnet4/block/0000000000000004d23b1ef0525014d34d95b003677686716e7b11d36d338b86 (https://mempool.space/testnet4/block/0000000000000004d23b1ef0525014d34d95b003677686716e7b11d36d338b86)

https://mempool.space/testnet4/block/0000000000000003827b15101ba8321e7e9cc8f5e335a1b5f40e3b1bbeb64379 (https://mempool.space/testnet4/block/0000000000000003827b15101ba8321e7e9cc8f5e335a1b5f40e3b1bbeb64379)

All is fair in love and crypto mining.

Early Jan 2025 the 20 min reset should be removed and Testnet won't have this issue any further.  Full POW is clearly the way, Testnet has pool activity now too, which is far different than back in the day.  

I'll definitely mine with y'all if it is ever open to the public or if you need a tester for some blocks.

Right now, I'm on BTClab.dev, paying a 10% fee.

My blocks include transactions as well:  https://mempool.space/testnet4/block/0000000000000002cedaf2784715288a9b3765e71d2c6c6c4b9c040b092a1e5d


Soon. We are testing all aspects of block creation with the most recent version of core on testnets 3 and 4 and regnet.

When we launch (not too far away in public testing) we will have a fully unique coded Mainnet, Testnet 3 and Testnet 4 pool.


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on May 31, 2025, 09:06:15 AM
Early Jan 2025 the 20 min reset should be removed
That didn't happen. Unless you meant 2026.

Quote
Right now, I'm on BTClab.dev, paying a 10% fee.

My blocks include transactions as well:  https://mempool.space/testnet4/block/0000000000000002cedaf2784715288a9b3765e71d2c6c6c4b9c040b092a1e5d
If you're using an ASIC, why don't you wipe out those 8 CPU blocks before your block? Get BTClab to up their game a bit!


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on May 31, 2025, 10:23:48 PM
Early Jan 2025 the 20 min reset should be removed
That didn't happen. Unless you meant 2026.

My bad, thanks Loyce, 2026*.

If you're using an ASIC, why don't you wipe out those 8 CPU blocks before your block? Get BTClab to up their game a bit!

Haha I don't think many pools want to do that.  If one does, it's going to be a game changing lol.

Soon. We are testing all aspects of block creation with the most recent version of core on testnets 3 and 4 and regnet.

When we launch (not too far away in public testing) we will have a fully unique coded Mainnet, Testnet 3 and Testnet 4 pool.

That's awesome.  Looking forward to that.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on July 03, 2025, 10:50:35 PM
 ;D

https://pbs.twimg.com/media/Gu92kZyWAAA1-DW?format=jpg&name=large


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on July 22, 2025, 10:16:54 PM
Figured y'all might think this was a sexy transaction from a guy mining with a windows 98. (They actually claim it's a BitAxe, but I think Windows 98 rolls off the tongue better.)

https://mempool.space/testnet4/tx/af716c24f08aa9253de374f4b2710ede1b85ce5639ca24b8f57f2b74262480bf (https://mempool.space/testnet4/tx/af716c24f08aa9253de374f4b2710ede1b85ce5639ca24b8f57f2b74262480bf)

Or a flashback from mining Testnet in 2012.

https://mempool.space/testnet/tx/54f917a658c25bd022c87461c877b43511a7a9e012a0c2e6ef95da9aa34d4204 (https://mempool.space/testnet/tx/54f917a658c25bd022c87461c877b43511a7a9e012a0c2e6ef95da9aa34d4204)


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on July 23, 2025, 05:34:12 AM
Figured y'all might think this was a sexy transaction from a guy mining with a windows 98. (They actually claim it's a BitAxe, but I think Windows 98 rolls off the tongue better.)

https://mempool.space/testnet4/tx/af716c24f08aa9253de374f4b2710ede1b85ce5639ca24b8f57f2b74262480bf (https://mempool.space/testnet4/tx/af716c24f08aa9253de374f4b2710ede1b85ce5639ca24b8f57f2b74262480bf)
The blocks he mines are empty.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on July 23, 2025, 06:01:42 AM
Figured y'all might think this was a sexy transaction from a guy mining with a windows 98. (They actually claim it's a BitAxe, but I think Windows 98 rolls off the tongue better.)

https://mempool.space/testnet4/tx/af716c24f08aa9253de374f4b2710ede1b85ce5639ca24b8f57f2b74262480bf (https://mempool.space/testnet4/tx/af716c24f08aa9253de374f4b2710ede1b85ce5639ca24b8f57f2b74262480bf)
The blocks he mines are empty.

It is faster to submit empty blocks than it is ones with transactions.

Do you want a high chance at 50 coins (~85%) or a small chance of 50.1 coins? :P

Dude is just working with what he has.  The other miner who has never moved coins and just crossed a million is wild too.

Honestly, he's selling more coins than any premine too and killing the traders.  Kind of a win.

He could get knocked out in several ways though.  Do it better, reorg, and so forth.

Pretty kick ass BitAxe with the right set up.  I think someone could pool hop too.  Mine BTC/BCH or whatever then when 20 mins come on, click over for the Testnet fast block, and back to mining whatever profits.


Title: Re: Testnet4 Mining (Discussion)
Post by: imyaoutt on July 31, 2025, 06:34:41 PM
Testnet3 is now filling up with the same behavior making both testnets unusable. This behavior rarely happens on mainnet where there's an incentive to include healthy blocks.


Tutuapp (https://tutuapp.uno/) 9apps (https://9apps.ooo/)


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on August 01, 2025, 04:05:21 AM
Testnet3 is now filling up with the same behavior making both testnets unusable. This behavior rarely happens on mainnet where there's an incentive to include healthy blocks.

Is it unusable though?

Testnet has an incentive as well, which is why it is being mined in this manner.  People are earning Bitcoin from Testnet mining.  It's still early too... one day the Multipools and Coin mining websites will quote Bitcoin Testnet.  I suspect these pennies keep the network spinning for testing without this difficulty reset rule.

Testnet3 block reward is basically gone, so transactions are being included.  I would argue this make it more usable for users.

Testnet4 block rewards are fresh (50 each block).  So it is better to leave transactions off when trying to submit a dif 1 block as fast as possible.  I would argue this makes using Testnet4 less usuable for users.


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on August 01, 2025, 01:59:11 PM
Testnet3 is now filling up with the same behavior making both testnets unusable.
Testnet3 has a blockstorm going on, there are many blocks per minute and most of them include a few transactions. There's simply not more to include.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on August 20, 2025, 11:44:27 PM
From a friend of ours:

Quote
Top testnet4 mining rewards in the last 14400 blocks (~100 days):
tb1q7l3supx5c368jqv9aqpds3pxaf4c6p6vuq638g: 228450.02392245003 BTC (31.72916998922917%)
tb1q2dsc94zq40nwnz27w5rxljwllutnwjtlxk44fz: 143462.31364494012 BTC (19.925321339575017%)
tb1qum986qkqf363jhaau2nlavyehdqg487p8m2ydu: 122950.01128661998 BTC (17.076390456474996%)
mtmb9uUCWAArC9XfXjrng4DWydGjq3y6ot: 45901.158150269934 BTC (6.3751608542041565%)
tb1qf7aswe6maqcuw7akxyjvz7hzajmzlzfscnnnmy: 28950.00013447 BTC (4.0208333520097215%)
tb1q548z58kqvwyjqwy8vc2ntmg33d7s2wyfv7ukq4: 21972.723575670003 BTC (3.0517671632875003%)
tb1qm4x6w7t8kz5vt8hrqf40tqk7f94t45fy88fzal: 11151.542299989997 BTC (1.5488253194430552%)
tb1qlqym3pzn76qz5ecj7y36rwrgxrr83pnwxtc5rp: 9451.54680009 BTC (1.3127148333458334%)
tb1q9g7zt84tcnvhs42ca6tts6hqpzkedn2dv5uw22: 8550.959951699997 BTC (1.1876333266249994%)
tb1q9r3ggr8al3sr927fkacfw4t99gdtaead3c0w6y: 6251.8584716 BTC (0.8683136766111111%)
1st and 3rd have been directed into altquick's strategic reserve. That means altquick holds around half of the block rewards in the last 100 days.
 — 8:02 AM
Top testnet4 mining rewards since genesis:
Top miner addresses:
mjcNxNEUrMs29U3wSdd7UZ54KGweZAehn6: 1129304.0072135401 BTC (23.20854442820576%)
tb1q2dsc94zq40nwnz27w5rxljwllutnwjtlxk44fz: 1114470.194457332 BTC (22.903691881687656%)
tb1q548z58kqvwyjqwy8vc2ntmg33d7s2wyfv7ukq4: 324669.7656145904 BTC (6.672350962743513%)
tb1q7l3supx5c368jqv9aqpds3pxaf4c6p6vuq638g: 228450.02392245003 BTC (4.694920496130229%)
tb1qum986qkqf363jhaau2nlavyehdqg487p8m2ydu: 215051.29634586 BTC (4.419560661881527%)
mjP97q5BWtdpdsJLkEJvQWgLe9zw4MMVU6: 127551.49160866998 BTC (2.6213353011896037%)
tb1q3u8f5899ymkatx69h0n3sw0qpalgwdmrcj80dm: 106800.34491046013 BTC (2.1948744837256378%)
mixdntWZr1zLRXNGpmbyoW1tCMQM1R6HBy: 100200.17557445976 BTC (2.059233130919138%)
tb1pmlne4hgps990s3ygfyza89mjdzzxvzcgg7rjw6h83kn0th5cmquspcpy7r: 88200.24990244022 BTC (1.8126203443574316%)
tb1q4r9vwamarpw4zsehuqfd0gud6xgntasvd0h6g0: 71054.19463094002 BTC (1.460248456012721%)
The addresses 638g, 2ydu and h6g0 have mined 10% of the supply and directed their rewards to altquick's reserve. Soon, this 10% will increase.

I spoke to a different group that uses Testnet 3 for testing.  They are staying on 3 because the miner above is raping yall so bad and they are worried their confirmations will take hours and such.  So we got lit shit going on with both sides of the versions.  :D. Lfg!

Quote
dude we were going to use it for this latest round of testnet and it was a complete mess

https://fork.observer/ (click testnet4 in the top -> corner and you can see the mess)

Blockstorms only annoy people syncing... they are kinda nice to use on a network.  Your shit confirms reallllly fast and there are a fair few miners, so as long as you aren't syncing... who cares?

Testnet4 getting mined with empty blocks is rough, but it is smart.  That big juicy reward.  The forking out of the 20 min rule will remoe that problem (which is going to be fun too, I plan on mining this dude right out of the gate with a cool "freeish" method I have).


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on August 21, 2025, 06:50:18 AM
Testnet4 getting mined with empty blocks is rough, but it is smart.  That big juicy reward.  The forking out of the 20 min rule will remoe that problem (which is going to be fun too, I plan on mining this dude right out of the gate with a cool "freeish" method I have).
What's stopping ASIC miners (or better: mining pools) from wiping those empty blocks out? Without those blocks, difficulty would be much lower and ASIC miners would find a block every 10 minutes (on average).


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on August 21, 2025, 10:53:18 AM
Quote
Do you want a high chance at 50 coins (~85%) or a small chance of 50.1 coins?
It is just a matter of fees. When Bitcoin mainnet started in 2009, transactions were free, or they paid 0.01 BTC. Maybe testnet fees should start with 1000 sat/vB, and then be decreased, when more coins will be mined? Then, filling the whole block could cost at least 10 tBTC in fees, instead of 0.01 tBTC, so there would be more incentive to include transactions, and it would be more aligned with amounts used in practice.

Quote
1st and 3rd have been directed into altquick's strategic reserve. That means altquick holds around half of the block rewards in the last 100 days.
It doesn't surprise me at all. Why hold altcoins, if you can mine them, and sell instantly for BTC? Mining is the main reason, why many altcoins exist, and for many altcoins, it is the only reason.

Quote
Top testnet4 mining rewards since genesis:
You forgot about Garlo Nicon, who mined 105k tBTC (0.5% of testnet4 total supply) to different addresses, and then deposited everything on your exchange: https://mempool.space/testnet4/address/tb1qm3lcnz58f5398spu4rvr6tk2l8as3sun8h7rn9

Quote
They are staying on 3 because the miner above is raping yall so bad and they are worried their confirmations will take hours and such.
They can ignore CPU blocks, if they want to, and download them later, when the next ASIC block will be created. Because everything, what is mined with minimal difficulty, can be easily considered as having zero confirmations. Any ASIC miner can throw hundreds of CPU blocks away, just by mining a single block, so it is just a matter of annoying enough ASIC miners, and convincing them to change their mining strategy, and just make new blocks on top of ASIC blocks, with faked timestamps, being no more than 20 minutes past the last block.

Also, it is guaranteed by testnet4 consensus rules, that one ASIC block has to be mined every 2016 blocks, and CPU-mined blocks won't push the chain forward, during difficulty adjustment. Which means, that if all ASICs would stop mining, then all testnet4 CPU miners would be stuck. And the only reason, why testnet4 difficulty is so high, is that ASIC miners accept CPU blocks, instead of mining things on top of the latest ASIC block, and considering CPU-mined things as "unconfirmed signals about non-standard transactions, which people would want to include".

Because if all CPU miners would know, that their non-standard transactions will be confirmed, but their coinbase transactions will be thrown away, then there would be much less people, trying to mine things on their CPUs. And then, CPU mining would be really used for testing, because then, when new ASIC would come in, all of that tests would be accepted, but coinbase transactions would be rejected.

Quote
The forking out of the 20 min rule will remoe that problem
I wonder, if people will release testnet5, or if they will focus on fixing testnet4 instead. Because by starting next testnets, the number of networks to maintain will grow.

Quote
What's stopping ASIC miners (or better: mining pools) from wiping those empty blocks out?
They don't have enough coding skills, to modify Bitcoin Core in the way they want. Or: they don't know, how to compile some unmerged code changes from unofficial branches, and use non-official version of Bitcoin Core for mining. Maybe they are worried, that if some version is non-official, then it is more risky? I don't know, if I would have any ASIC, I would happily reject thousands of CPU-mined blocks (while taking fees from all transactions except coinbases, to not annoy developers, willing to test non-standard transactions).

Quote
Without those blocks, difficulty would be much lower and ASIC miners would find a block every 10 minutes (on average).
Exactly. By not rejecting CPU-mined blocks with ASIC blocks, ASIC miners are setting the artificially raised difficulty in stone. They could mine something like 6x more ASIC blocks, if they would start rejecting CPU-mined blocks. Because if during 2016 blocks period, there are 336 ASIC blocks, and 1680 CPU blocks, then guess what: the network difficulty, set in block headers, is 6x bigger, than it should be.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on August 21, 2025, 07:21:11 PM
Quote
What's stopping ASIC miners (or better: mining pools) from wiping those empty blocks out?
They don't have enough coding skills, to modify Bitcoin Core in the way they want. Or: they don't know, how to compile some unmerged code changes from unofficial branches, and use non-official version of Bitcoin Core for mining. Maybe they are worried, that if some version is non-official, then it is more risky? I don't know, if I would have any ASIC, I would happily reject thousands of CPU-mined blocks (while taking fees from all transactions except coinbases, to not annoy developers, willing to test non-standard transactions).

Quote
Without those blocks, difficulty would be much lower and ASIC miners would find a block every 10 minutes (on average).
Exactly. By not rejecting CPU-mined blocks with ASIC blocks, ASIC miners are setting the artificially raised difficulty in stone. They could mine something like 6x more ASIC blocks, if they would start rejecting CPU-mined blocks. Because if during 2016 blocks period, there are 336 ASIC blocks, and 1680 CPU blocks, then guess what: the network difficulty, set in block headers, is 6x bigger, than it should be.

A big thing of what is stopping folks from doing this is that other similar miners aren't doing it to them.

Think of it like a friendly war and if someone shoots a gun then the otherside is going to respond.

The network appears to currently have a gentleman's agreement.  I'm very confident that these fellas do have the technical ability to run chains back in ways that kinda worry me.  However, if more folks are going for ASIC blocks, the more secure my mind becomes as well.

I play little to no role in the intelligent mining crowd, we just brush shoulders.

I'm personally with StWenhao, if I had the capability, I would be a strong supporter of nuking CPU blocks.  StWenhao, if you put up the pool with the logic, I'll send you plenty of ASIC power.

Split it with you 60/40.  60 going to us.

We can knock out the CPU people right now rather than wait to see how things unfold in January.  (I think maintaining Testnet4 to find the current global feel/use for it is smarter than rolling into a fresh 5.  Fresh 5 with mining out of the gate could be insane and/or there maybe more overlooked things.  Fresh version after fresh version gets people confused in what they need (so they make mistakes... not a bad thing for me tbh) and/or the services who cater to testing having to update seems like a bit of a choir.  Also, their customers expect previous versions to at least be obtainable.

I reckon we just see 4 forked and everyone follows it without additional head ache.  Let it run for some years, constantly reminding people it is testnet, and then roll her over into a comfortable 5 when it is needed or when the block reward is problematic for miners.

Focusing on miners going forward is going to be important, but I think we got them covered.



It appears a new empty block miner has come online with ferocity https://mempool.space/testnet4/address/mmD1epnTCeG2Ec3JHSJyuqUNWL3QfhSSDa

Welcome to the game.


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on August 22, 2025, 03:16:09 AM
Quote
Think of it like a friendly war and if someone shoots a gun then the otherside is going to respond.
But it was the reason, why testnet was made in the first place. So you can test shooting in safe zone, instead of damaging real people; then it is more similar to some paintball game or VR game. And that's the main reason, why there was "gentleman's agreement" about test coins being worthless. Because then, if nobody trades anything, then you can test taking other people's money without serious consequences. And when nobody puts real coins in, then it is just like monopoly game, where you can buy all hotels, and get 100% of total supply, just to test edge cases, which you wouldn't want to ever see in production. The same for 51% attacks, blockstorms, wasting someone's bandwidth, and so on, and so forth. There are many tests, which are good to have in sandboxed zone, which you would never want to do in real networks.

Quote
StWenhao, if you put up the pool with the logic, I'll send you plenty of ASIC power.
If testnet coins would be worthless, then sure, why not. But being listed on your exchange means, that if something goes wrong, then someone may lose real BTCs. For example: you accept deposits after 100 confirmations. What if someone will test a chain of 100 CPU-mined blocks? Imagine what happens if you will receive 10k tBTC (or something bigger), like Garlo Nicon did in this transaction: 914a6348ba832b79c631a6f70ea9e2c3e1e433ee0b90633d51e3fe1164c05dc0 (https://mempool.space/testnet4/tx/914a6348ba832b79c631a6f70ea9e2c3e1e433ee0b90633d51e3fe1164c05dc0). And then, imagine that some CPU miner can confirm it, see it credited to some account on your exchange, sell it, and then use some ASIC to revert all of that with just a single block, leaving you with fake testnet coins, which are no longer confirmed. What then? (hint: you should really consider counting only ASIC confirmations, instead of counting everything, if you want to be better protected from such attacks; not to mention what people can do in testnet3 during blockstorms, if your code really counts to 100, and allows instantly trading it; better count chainwork than confirmations, if you want to be safe in testnet3)

Also, there are code changes for such attacks, that are prepared by fjahr (testnet4 creator), but they are just not widely used, because when test coins are no longer worthless, then you need to be prepared for accusations of stealing real BTCs from people, if you ever use it: https://github.com/bitcoin/bitcoin/pull/31117

I gave you the link. If there is some already deployed code for some mining pool, then it can probably work fine, if the official Bitcoin Core will be just replaced with modified version, compiled from fjahr's sources. But, as you can see, going further means potentially attacking your exchange (for example by exploiting the fact, that you let selling coins instantly after 100 confirmations, which is unsafe in testnets, because you should count chainwork instead).

So, do you want to encourage me to really exploit your exchange? (because I publicly shared the details, you should probably fix bugs like that anyway, before someone will read it, and exploit it)

Quote
I think maintaining Testnet4 to find the current global feel/use for it is smarter than rolling into a fresh 5.
Of course it is true. However, testnet code is surrounded by mainnet code. And by reading what fjahr did, you can quickly notice, why he stopped. Because going further means turning Bitcoin Core into "51% attack tool". And then, some people prefer to make coins more worthless from the start, by using premine, and other tricks, rather than trying to put attacking tools directly into the client, and building something, that can be potentially used by mainnet users as well.

Quote
Fresh 5 with mining out of the gate could be insane and/or there maybe more overlooked things.
There are more overlooked things. And people are smart enough to understand, that after premine will be sold, and normally traded, then sooner or later, that network can just turn into yet another regular altcoin. There are altcoins with premines, one of them being ETH, another "famous" one being LTC, where coblee said, that it will come with 150 premined coins (https://bitcointalk.org/index.php?topic=47417.msg564414#msg564414), and so on. After many years, a lot of people don't care about premine.

And developers are smart enough to know that. But they are just trying different approaches, to make coins really worthless, and they want to try different ideas, to see, which of them will work, and which of them won't (and if mining a permissionless test network with worthless coins is really possible, or we are doomed to centralized solutions like signet).

Quote
Fresh version after fresh version gets people confused in what they need
Which is yet another reason, why initially there were some code changes, but now there is a lot of silence. People are not stupid, and they know all of that. Now, there is more brainstorming than deployment, because people just think, how to conceptually design new test networks, to avoid the risk of them being instantly traded.

Quote
I reckon we just see 4 forked and everyone follows it without additional head ache.
That's why hard-forking testnet4, while keeping existing chain, was the initial plan. But, if existing testnet4 coins are already traded, then everything can be started from scratch as well, if the end goal is to make coins worthless, and avoid trading.

Quote
It appears a new empty block miner has come online with ferocity
Yes. But you sometimes miss some players, when you assume, that all of them reuse addresses, just like you forgot, that Garlo Nicon produced at least 105k tBTC.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on August 22, 2025, 03:55:16 AM
Shoot a 1 coin deposit over the bow and reverse it.

It doesn't have to make a trade to make a point.  These things can be demo'ed in ways that aren't harmful.  We do have a decent defense system outside of the normal website's functions.  I'll be happy to hopefully demo those while you attempt to demo yours! :P

You're preaching to the choir though, which is why such a trade would hit only the buyers and they have to be responsible for their own trades + choices.  We do our best, but as PortlandHodl joked about "He could point MARA at reversing testnet on his last day."  Which is a *really* funny joke, but god damn lol.  

Mara could blow the ass end off BCH too, but like you pointed out... hurting people... blah blah blah :P.

Hitting BSV would be cheap right now too.

I figured we were going to get smoked during Lopps blockstorm, but it never happened.

If/when it happens, that falls on the buyers of those markets.  We can only do so much, so hitting my exchange would be annoying but it'd be the little retards that mostly got hurt.  The market is aware of this and that's why the attack is worth so little, if it was secure... it'd be worth more.  Markets aren't dumb, they are made up of a lot of people. (losses are the buyers as per TOS, we get paid in Bitcoin for half the trade... It'd be OK, we aren't responsible for that IMO.)



ya that guys list only mentions single addys, not batched miner addresses.

Lots of miners mine 50 per address... perhaps not so much in v4 yet.  It's better privacy to use a new address each time.



Someone was pitching today to me that you are garlonicon (https://bitcointalk.org/index.php?action=profile;u=2552182) and vjudeu (https://bitcointalk.org/index.php?action=profile;u=2718018).  :P You lil sneaker!!!  It kinda makes sense, but I'd think you would have done your signature differently... but who knows?  Not that I care :).



I don't understand why your mind can't wrap around something being worthless to one person, but not to another.  It's like cans... most people throw one away, but a few people gather thousands.  The one is worthless, but the dude who took the time for a big stack can help others to lazy to pick up cans.

This is the human experience... not a dev vs dev thing.  I think as long as the goal is being met, who cares how we get there... it's testnet.  

You're thinking about this one way. Consider it from my perspective.  Consider it from the other smart people who are making noise on the chain.  It's more complicated than your strongly held opinion, which it's totally fine to think 1 empty can is worthless... but don't get pissed at the recycling center or try to burn it down!

Welcome out of the class room and into the streets.  How tough are ya?

https://m.media-amazon.com/images/M/MV5BNjkyNjZhMjUtYzA5OS00MDc3LTgwOTMtOTQzZDg1MDkyYzViXkEyXkFqcGc@._V1_.jpg

If we are going to put together an "aggressive pool," can we at least smoke BSV first? They definitely deserve it before the nice little friendly honest Testnet exchange, trying to provide a service that fills a demand for Bitcoin.


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on August 22, 2025, 07:02:39 AM
Quote
Someone was pitching today to me that you are garlonicon and vjudeu.
Well, we know each other, and there are some things, which we did together (for example that puzzle (https://mempool.space/tx/aba3c2ae442aa20150996ee68f9aa4da83b57a4312891078be0c2e68c50b2801), where the first deposit is from me, the second from vjudeu, and the third from garlonicon, who won our local challenge, and picked the change destination). But there are more people than our trio inside our network. We know enough to use 2P ECDSA (https://web.archive.org/web/20200808181833/https://duo.com/labs/tech-notes/2p-ecdsa-explained) in practice, and hide huge multisigs behind even P2PK in trustless way, if needed. But all we do is just sharing ideas, brainstorming them, and posting with random time delay. But to join the group, you need an invitation, and I am not the one who can share it. Also, it is quite technical group, with many software developers, so if you are not a programmer, then you probably wouldn't enjoy it anyway.

Also note, that some people wouldn't tell you that, if they wouldn't catch our bait. Which means, that if someone thinks, that some accounts are just my alts, then it means, that we wanted to spread that information. But so far, nobody is clever enough to connect all the dots, and there is no reason to do so, because then, we could stop posting, and from whom people would got technical details then? To which accounts would they send their merits, if all of our group would be dissolved? Maybe to some AI spammers, which are recently active in bitcointalk?

Many people know, who am I. Many people know, what happened in 2015, when I tried to experimentally discover, if Satoshi is a group, or a single person, and formed some coordinated network, where people could test it in practice, and see, if anyone would notice, if something is written by some skilled individual, or if it is a collective effort, reviewed by many, rewritten by one publisher, and posted by one public sender.

But they don't have enough incentive to doxx me, and they know, that if they do, then I will do the same things, as I did back then, and just move somewhere else, just like Satoshi did, when too many people wanted to find out the truth. I already left some C++ forum, and some assembler forum. I can leave Bitcoin forum at any time. Governments are introducing KYC/AML, and making things harder, so at some point, I may be forced to leave Bitcoin anyway. That mainnet puzzle is one of our latest activity on mainnet, but we don't have much coins, and our initial plan was to stop buying Bitcoin since the end of 2024, but fortunately, some governments are lazy enough, that they didn't introduce some MICA rules in the whole Europe yet.

Quote
You lil sneaker!!!  It kinda makes sense, but I'd think you would have done your signature differently... but who knows?
It is easier to fool people, than it is to convince them, that they were fooled. And even if you assume, that it is true, then maybe I want to encourage people to think, that they are my alts, and hide my real goals? Anyway, after being here since 2015, reaching Legendary is no longer a challenge for me, if you assume, that they are my alts, and I did it twice. I saw enough things, to post just for fun, instead of participating in signature campaigns like vjudeu did. And if you watch us more closely, then you will know, when I disagreed with Garlo Nicon, and why, and then you would know, if we are the same person or not.

I am here to share some knowledge, see some people's reactions, teach them something, and sometimes also learn something useful. But there are many interesting things I can do, so I am not forced to be here, and I believe nobody sane would want to ban me, and encourage me to move to other things.

But, only time will tell. So far, our experiment works fine since 2015. And it is up to the community, how long they would tolerate our presence here.

Quote
This is the human experience... not a dev vs dev thing.
Bitcoin was "dev vs dev" from the very beginning. It was always like that. Regular users are not skilled enough, to push us forward, they can only use, what developers invented. They are of course also useful, their trading brings value to the mainnet, their adoption makes it easier to exchange coins for real goods and services. But I am more interested in "dev vs dev" games, because this is what can make a difference. Writing software is a fascinating journey, and I feel sad, when I think, that many people would never enjoy it, because of lack of skills, or not putting enough effort, to participate in such games.

Also, having dev skills is what can give you an edge over others. If you know, how SHA-256 works, then you can optimize your miners, and produce more coins in early days, just like Patoshi did. If you know, how signatures works, then you can trustlessly execute many contracts, without going through third party, and make it appear like a single user under single public key, wrapped in any address type, including just P2PK, and fool everyone into thinking, that a single person did it.

Quote
It's more complicated than your strongly held opinion, which it's totally fine to think 1 empty can is worthless... but don't get pissed at the recycling center or try to burn it down!
But the recycling center was initially a playground. First users made it, to test their cans, before making real ones, and using them in production. They used radioactive materials, and played many dangerous games, only to find out, what is safe, and what is not, and try things, which they never would with real cans, sold to the real customers.

Quote
If we are going to put together an "aggressive pool," can we at least smoke BSV first?
When test coins are no longer worthless, then attacking one altcoin is the same as attacking another altcoin. It was a fun game to move test coins in blocks somewhere below 40k, when there was our group, versus other developers from Core, and some other groups. Then we knew, that nobody is harmed by our tests, because nobody traded anything for any real coins. But now, attacking anything, which is worth non-zero mainnet satoshis, has its legal consequences. And then, it is a question about possible risks: if you are not worried about being sued by BSV crowd, then go on. If you know, how testnet with its low hashrate can be attacked, then exactly the same thing can be repeated on any copycat coin you pick, as long as they didn't alter the rules too much (the funny thing about for example BCH is their 10-blocks rule, where you can do some attack, and set it in stone, so that nobody will revert it). Also, when it comes to BSV, then of course it was used in many different ways. One of the ongoing attack is when blocks are so heavy, that there is a lot of free relay. The centralization pressure is very high, and some SPV-like nodes can be tricked in many ways, when users no longer download full blocks, but work only on simplified proofs. And when block explorers stop showing BSV chain, because of being too bloated, then it also tells us something.

Quote
They definitely deserve it before the nice little friendly honest Testnet exchange, trying to provide a service that fills a demand for Bitcoin.
Which also discouraged some developers from using it for more serious attacks. Because if you know, that you can harm some innocent users, then you are less willing to attack these testnets, even if you can. Which means, that the main purpose of testnet existence (which is testing attacks) is no longer there, so it is needed to try something else, like signet, regtest, or invent and deploy something new (which is one of the things I am working on, for example by trying Proof of Work inside Script, and deploying decentralized sidechains with different rules on different chains).


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on August 22, 2025, 06:08:41 PM
Do not worry about these smucks in testnet.  Let it fly.

If it gets to hot in the kitchen, that's a great way to make something worthless, but do remember others aren't without wands either.

https://pa1.aminoapps.com/6303/f16bc77e59340f0cb833eba227d2f57ebc684948_hq.gif

(You can do blackhat magick in whitehat ways.  It's more fun than a theoretical forum post or half-assed open-source GitHub project.)

I suspect even negative motion in crypto is motion/value... it seems to be required sometimes, but can you make it worth it or sustainable, I very much doubt.  However, I would be interested to see.  I definitely could be wrong.

You can be sure that I don't do paid marketing for crypto gladiator shit, but I might cry a lil.  :P

Send rockets dude.  Good luck.  (loving watching https://mempool.space/testnet4/address/mmD1epnTCeG2Ec3JHSJyuqUNWL3QfhSSDa atm)



I'm certainly not trying to run you off.  You're creative.  I want to see your theories in reality.

Also, this was never a park, testnet has been a constant radioactive shit hole.  I pretty much built a Hotel 6 in BFE Nevada and some locals (you) are bitching about it.  That's how I feel at least... BAC's Hotel 6 and Hourly Trailer Rentals isn't hurting anyone, and anyone who catches a STD should have known! :P.  My opinion, anyway.

It's better to make a little off it and educate people than it is to cry about degenerates and whores.  Esp when they aren't really bothering you at all, but actually enabling the goal of free dust for devs forever.  Which is a goal we mutually share and is the primary one, I do believe for both of us.


Title: Re: Testnet4 Mining (Discussion)
Post by: chainganginc on August 22, 2025, 06:41:24 PM
This might be a bad idea to some but I'd like to turn this testnet into a merge mined coin. I keep thinking of ideas to help bitcoin and the people who missed out. This should be a chance to


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on August 22, 2025, 06:47:28 PM
This might be a bad idea to some but I'd like to turn this testnet into a merge mined coin. I keep thinking of ideas to help bitcoin and the people who missed out. This should be a chance to

The "little" dudes need a clear vector for trying new stuff, mining-wise.  This is one of the biggest reasons Testnet is a needed thing.

Merge mining is a really good path for other altcoins.  It keeps all the mining power on Bitcoin as well, and offers a huge layer of security, but at a cost.  People won't do something for nothing forever, even with free merged mining.  (further evidence that "worthless" in crypto is realllllllly hard)


Title: Re: Testnet4 Mining (Discussion)
Post by: chainganginc on August 22, 2025, 07:20:02 PM
This might be a bad idea to some but I'd like to turn this testnet into a merge mined coin. I keep thinking of ideas to help bitcoin and the people who missed out. This should be a chance to


The "little" dudes need a clear vector for trying new stuff, mining-wise.  This is one of the biggest reasons Testnet is a needed thing.

Merge mining is a really good path for other altcoins.  It keeps all the mining power on Bitcoin as well, and offers a huge layer of security, but at a cost.  People won't do something for nothing forever, even with free merged mining.  (further evidence that "worthless" in crypto is realllllllly hard)

That's why it could work because it can cover the electrical costs. When it is on the market to trade it should be useful to sell and trade to make money for electrical usage. You mine Bitcoin and you can get Wattcoin or whatever you want to call it. I'm telling you it's genius better than my other idea with merge Mining.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on August 22, 2025, 07:33:35 PM
This might be a bad idea to some but I'd like to turn this testnet into a merge mined coin. I keep thinking of ideas to help bitcoin and the people who missed out. This should be a chance to


The "little" dudes need a clear vector for trying new stuff, mining-wise.  This is one of the biggest reasons Testnet is a needed thing.

Merge mining is a really good path for other altcoins.  It keeps all the mining power on Bitcoin as well, and offers a huge layer of security, but at a cost.  People won't do something for nothing forever, even with free merged mining.  (further evidence that "worthless" in crypto is realllllllly hard)

That's why it could work because it can cover the electrical costs. When it is on the market to trade it should be useful to sell and trade to make money for electrical usage. You mine Bitcoin and you can get Wattcoin or whatever you want to call it. I'm telling you it's genius better than my other idea with merge Mining.

I'm assuming you are the fella pitching a merged mined coin that is 100% premined? lol :P

Or maybe merge mining is just in the air.


Title: Re: Testnet4 Mining (Discussion)
Post by: chainganginc on August 22, 2025, 11:52:08 PM
This might be a bad idea to some but I'd like to turn this testnet into a merge mined coin. I keep thinking of ideas to help bitcoin and the people who missed out. This should be a chance to


The "little" dudes need a clear vector for trying new stuff, mining-wise.  This is one of the biggest reasons Testnet is a needed thing.

Merge mining is a really good path for other altcoins.  It keeps all the mining power on Bitcoin as well, and offers a huge layer of security, but at a cost.  People won't do something for nothing forever, even with free merged mining.  (further evidence that "worthless" in crypto is realllllllly hard)

That's why it could work because it can cover the electrical costs. When it is on the market to trade it should be useful to sell and trade to make money for electrical usage. You mine Bitcoin and you can get Wattcoin or whatever you want to call it. I'm telling you it's genius better than my other idea with merge Mining.

I'm assuming you are the fella pitching a merged mined coin that is 100% premined? lol :P

Or maybe merge mining is just in the air.

Not 100% all the way to the last halving or up to now. That miner electricity coin would actually benefit the ecosystem of course I would like to benefit as well I want to show what I can do in the real world with these virtual currencies. I'd rather have 20% of the premine split to 12 members on bitcointalk. Testnet would be a good trading pair they might be worth more in the future.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on August 27, 2025, 11:31:04 PM
Again, Saint, if you got the pool... I got some power: https://www.miningrigrentals.com/u/altquick (https://www.miningrigrentals.com/u/altquick) :P



Title: Re: Testnet4 Mining (Discussion)
Post by: chainganginc on August 28, 2025, 12:26:08 AM
Again, Saint, if you got the pool... I got some power: https://www.miningrigrentals.com/u/altquick (https://www.miningrigrentals.com/u/altquick) :P



That link is dead


Title: Re: Testnet4 Mining (Discussion)
Post by: chainganginc on August 28, 2025, 01:02:45 AM
Which testnet is doing the most volume?


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on August 28, 2025, 05:58:50 AM
Quote
if you got the pool... I got some power
I don't have that yet, but I can try to make something. But first, I have to play with some toy examples, like regtest with enforced difficulty adjustments, to not burn ASIC power for nothing.

Also, as far as I know, if there are some existing pools, and if you replace the previous block header, and adjust the coinbase transaction correctly (block height, Segwit commitment, and so on), then it should work with stratum, even with already deployed pools.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on August 28, 2025, 03:28:31 PM
Again, Saint, if you got the pool... I got some power: https://www.miningrigrentals.com/u/altquick (https://www.miningrigrentals.com/u/altquick) :P



That link is dead

You probably need an account.

I had my profile hashing at 7-10 PH yesterday.

I'm just waking up this morning, but she's enough power to end CPU Testnet mining today if someone had the code.

https://i.ibb.co/r80p4c2/Screenshot-2025-08-28-at-10-25-53-AM.png

Saint, I *think* we should be able to knock CPU blocks within 100 blocks, so it won't bother me, but if it needs to be stretched, it can be.  I want to ensure that we aren't interrupting users of my site, if possible.

Which testnet is doing the most volume?

It just kinda depends on the week, but overall... Testnet3 at this point, I expect that flips, but who knows.  The market is timid af in v4.

I saw a guy this morning trade 1.5 v3 for 5.0 v4, so it's a good insentive to upgrade to the latest version as well. *shrugs*



It seems Testnet4 mining is starting to become competive again for even the funky miners.  More people are starting to tinker with things and explore what each other are doing.


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on August 28, 2025, 03:57:34 PM
Quote
Saint, I *think* we should be able to knock CPU blocks within 100 blocks, so it won't bother me, but if it needs to be stretched, it can be.  I want to ensure that we aren't interrupting users of my site, if possible.
Just count the chainwork, instead of counting confirmations, and you will be on the safe side. Which means, that instead of requiring just any 100 blocks, you can require 100 ASIC blocks (or maybe less, because ASIC blocks are not reorged that frequently). And by checking just block headers, you can easily see, how many blocks use 0x1d00ffff, and how many blocks use something else. Split blocks into CPU vs ASIC, count it properly, and it should be ok, if you do so.

Quote
Testnet3 at this point, I expect that flips, but who knows.
I think it won't change, as long as testnet3 is still supported by Bitcoin Core. When it will be officially detached, and left without maintenance (so it will no longer receive any code updates, including security patches), then it can fall below testnet4. And only if you assume, that nobody will keep maintaining it (because anyone can, and if someone is testnet3 whale, then that person has a huge incentive, to do that, or find some coders).

Edit: Regtest games started, work in progress. For me, 0x1d00ffff is something I would consider "ASIC" for testing, while 0x207fffff is considered "CPU", or rather "literally Windows 98, or pencil and paper difficulty". Some logs from regtest, with enabled difficulty adjustment:
Code:
2025-08-28T16:07:27Z Saw new header hash=000000063bee03839e5602c2e8d4ed5eb384c0da8d216705f5eb043d42463f40 height=1008
2025-08-28T16:07:27Z UpdateTip: new best=000000063bee03839e5602c2e8d4ed5eb384c0da8d216705f5eb043d42463f40 height=1008 version=0x20000000 log2_work=34.043145 tx=1009 date='2025-08-28T16:07:14Z' progress=1.000000 cache=0.3MiB(1008txo)
2025-08-28T16:07:27Z CreateNewBlock(): block weight: 820 txs: 0 fees: 0 sigops 400
2025-08-28T16:07:30Z Saw new header hash=0000000b85f9857f3b351b55f8f3e70c79bfd45dd4f6982036b31fcca29060eb height=1009
2025-08-28T16:07:30Z UpdateTip: new best=0000000b85f9857f3b351b55f8f3e70c79bfd45dd4f6982036b31fcca29060eb height=1009 version=0x20000000 log2_work=34.072299 tx=1010 date='2025-08-28T16:07:27Z' progress=1.000000 cache=0.3MiB(1009txo)
2025-08-28T16:07:30Z CreateNewBlock(): block weight: 820 txs: 0 fees: 0 sigops 400
2025-08-28T16:07:44Z CreateNewBlock(): block weight: 820 txs: 0 fees: 0 sigops 400
2025-08-28T16:07:45Z Saw new header hash=00000003d7dfec1552d8a8bf25bbf74d2897844832b5ec6462a1f208b9c4d8a2 height=1010
2025-08-28T16:07:45Z UpdateTip: new best=00000003d7dfec1552d8a8bf25bbf74d2897844832b5ec6462a1f208b9c4d8a2 height=1010 version=0x20000000 log2_work=34.100874 tx=1011 date='2025-08-28T16:07:44Z' progress=1.000000 cache=0.3MiB(1010txo)
2025-08-28T16:07:45Z CreateNewBlock(): block weight: 820 txs: 0 fees: 0 sigops 400
2025-08-28T16:07:59Z CreateNewBlock(): block weight: 820 txs: 0 fees: 0 sigops 400
2025-08-28T16:07:59Z Saw new header hash=00000005e811db7e380a47759f4f8225985016394595d964e74b0b31da1b9941 height=1011
2025-08-28T16:07:59Z UpdateTip: new best=00000005e811db7e380a47759f4f8225985016394595d964e74b0b31da1b9941 height=1011 version=0x20000000 log2_work=34.128895 tx=1012 date='2025-08-28T16:07:59Z' progress=1.000000 cache=0.3MiB(1011txo)
2025-08-28T16:07:59Z CreateNewBlock(): block weight: 820 txs: 0 fees: 0 sigops 400
2025-08-28T16:08:13Z CreateNewBlock(): block weight: 820 txs: 0 fees: 0 sigops 400
2025-08-28T16:08:28Z CreateNewBlock(): block weight: 820 txs: 0 fees: 0 sigops 400
2025-08-28T16:08:42Z CreateNewBlock(): block weight: 820 txs: 0 fees: 0 sigops 400
2025-08-28T16:08:56Z CreateNewBlock(): block weight: 820 txs: 0 fees: 0 sigops 400
2025-08-28T16:09:00Z Saw new header hash=00000001b035c16a982918af0477eb86664c8841811a2468cc4b1f520d461412 height=1012
2025-08-28T16:09:00Z UpdateTip: new best=00000001b035c16a982918af0477eb86664c8841811a2468cc4b1f520d461412 height=1012 version=0x20000000 log2_work=34.156382 tx=1013 date='2025-08-28T16:08:56Z' progress=1.000000 cache=0.3MiB(1012txo)
2025-08-28T16:09:00Z CreateNewBlock(): block weight: 820 txs: 0 fees: 0 sigops 400
2025-08-28T16:09:14Z CreateNewBlock(): block weight: 820 txs: 0 fees: 0 sigops 400
2025-08-28T16:09:28Z CreateNewBlock(): block weight: 820 txs: 0 fees: 0 sigops 400
2025-08-28T16:09:42Z CreateNewBlock(): block weight: 820 txs: 0 fees: 0 sigops 400
Currently running code, based on fjahr changes: https://github.com/stwenhao/bitcoin/tree/stwenhao

It is not yet ready, but now at least I know, that things can be checked in modified regtest, before going for testnet4.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on August 28, 2025, 06:17:43 PM
I think it won't change, as long as testnet3 is still supported by Bitcoin Core.

I did notice that Mempool's explorer removed the Testnet3 depreciation message.

Surely Bitcoin Core will still pull v3, but idk... It's chugging along and doing its purpose pretty well, too.

Also, being maintained by Bitcoin Core is a pretty big deal for being listed on our exchange. *Hint hint* :) :P

Is testnet4 supported by* Bitcoin Core?

Yes

https://altquick.com/exchange/market/BitcoinTestnet4 (Bitcoin, but you can trade other altcoins for Bitcoin and then into Testnet)


Title: Re: Testnet4 Mining (Discussion)
Post by: chainganginc on August 28, 2025, 07:53:10 PM
I think it won't change, as long as testnet3 is still supported by Bitcoin Core.

I did notice that Mempool's explorer removed the Testnet3 depreciation message.

Surely Bitcoin Core will still pull v3, but idk... It's chugging along and doing its purpose pretty well, too.

Also, being maintained by Bitcoin Core is a pretty big deal for being listed on our exchange. *Hint hint* :) :P

Is testnet4 supported by* Bitcoin Core?

Yes

https://altquick.com/exchange/market/BitcoinTestnet4 (Bitcoin, but you can trade other altcoins for Bitcoin and then into Testnet)

Probably not a good idea to trade BTC for Testnet btc. I did it when it was only testnet3 but now there are 2 so the scarcity split. Now that I have a better understanding all the altcoins devalue. The ones that bring speed and low fee like XRP SOL and LTC  help and ETH has its smart contract usage but other than that it's smoke and mirrors to me.


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on August 28, 2025, 08:57:04 PM
I think it won't change, as long as testnet3 is still supported by Bitcoin Core.

I did notice that Mempool's explorer removed the Testnet3 depreciation message.

Surely Bitcoin Core will still pull v3, but idk... It's chugging along and doing its purpose pretty well, too.

Also, being maintained by Bitcoin Core is a pretty big deal for being listed on our exchange. *Hint hint* :) :P

Is testnet4 supported by* Bitcoin Core?

Yes

https://altquick.com/exchange/market/BitcoinTestnet4 (Bitcoin, but you can trade other altcoins for Bitcoin and then into Testnet)

Probably not a good idea to trade BTC for Testnet btc. I did it when it was only testnet3 but now there are 2 so the scarcity split. Now that I have a better understanding all the altcoins devalue. The ones that bring speed and low fee like XRP SOL and LTC  help and ETH has its smart contract usage but other than that it's smoke and mirrors to me.

There is no effect on the scarcity of Testnet3 and honestly, I've seen block rewards of Testnet4 flowing into Testnet3 in the past... which is cool.

It's people voing with their feet.

I'm not sure if it is a good idea or bad idea, but it is for sure an idea! :P


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on August 29, 2025, 07:12:41 AM
Quote
Split it with you 60/40.  60 going to us.
I am not that greedy. I think 500k sats is something, which is currently sent by faucets, so it is reasonable amount to share, that is not a dust. So, I think I can set it as a default dev fee (https://github.com/stwenhao/bitcoin/commit/80cf5803625c7c3827329fa1750485d93f33d4c1), for all blocks, where at least 1M sats are produced (because dev fee shouldn't be bigger than miner reward, otherwise miners may disagree, and change the code). If anyone will want to send more or less coins, change the P2WSH destination, or remove dev fee completely, it will be also ok, because miners can run any code they want. My changes are just suggestions, not orders: MIT license allows everyone to improve the code.

For now, my code produces blocks with random delay from 15 to 20 minutes, relative to the time of the previous block. That should be enough to bring down the difficulty, and I guess 15 minutes per block is a reasonable default in the network, where CPU miners will bump the difficulty constantly (yes, it will constantly bring down the difficulty below 10 minute target, but then, other ASIC miners will bump it up again, so it will self-adjust anyway).

Now, there is still some work to be done, so the code is not yet ready, but some regtest games can be currently played by anyone, who is interested. Just a CPU is enough to test things, if it will work there, then it should work later for ASICs.

Edit: Dev address for donations, that can be used, if the code will work: tb1q2vmswhu460sc5dzxg04zv5570sgdefluyc6fp4hh6qv7m58y06yqrpemzk (https://mempool.space/testnet4/address/tb1q2vmswhu460sc5dzxg04zv5570sgdefluyc6fp4hh6qv7m58y06yqrpemzk) (it can be reused in testnet3 (https://mempool.space/testnet/address/tb1q2vmswhu460sc5dzxg04zv5570sgdefluyc6fp4hh6qv7m58y06yqrpemzk), regtest, and mainnet (https://mempool.space/address/bc1q2vmswhu460sc5dzxg04zv5570sgdefluyc6fp4hh6qv7m58y06yq5f05ce), because I know, how to move it from any network, as long as P2WSH will commit to 5337075f95d3e18a344643ea26529e7c10dca7fc263490d6f7d019edd0e47e88)


Title: Re: Testnet4 Mining (Discussion)
Post by: LoyceV on August 29, 2025, 08:37:38 AM
For now, my code produces blocks with random delay from 15 to 20 minutes, relative to the time of the previous block. That should be enough to bring down the difficulty, and I guess 15 minutes per block is a reasonable default in the network, where CPU miners will bump the difficulty constantly (yes, it will constantly bring down the difficulty below 10 minute target, but then, other ASIC miners will bump it up again, so it will self-adjust anyway).
Correct me if I'm wrong: does that mean an ASIC running this code will set it's block time ahead of the current time?
So, starting from the current latest block (https://mempool.space/testnet4/block/000000005afe04303df35ed509365c8540de5e48f93bda40ca21cc7c2761d878):
Code:
Timestamp	‎2025-08-29 12:31:08 (Just now)
This time is (almost) 2 hours from now, and the next easy block can only be produced 20 minutes later. But if an ASIC produces a block after 15 minutes with timestamp 12:46:08, the next easy block has to wait 20 minutes again but won't make it because after 15 minutes another ASIC block is created. Correct?


Title: Re: Testnet4 Mining (Discussion)
Post by: stwenhao on August 29, 2025, 09:46:07 AM
Quote
does that mean an ASIC running this code will set it's block time ahead of the current time?
Yes. But the code is not yet fully ready. I am tweaking things here and there, and it can be observed, when I publicly make some commits. Also, people can use regtest, to see on their CPU, what is going on.

Quote
But if an ASIC produces a block after 15 minutes with timestamp 12:46:08, the next easy block has to wait 20 minutes again but won't make it because after 15 minutes another ASIC block is created. Correct?
No, to make a fully working example, CPU blocks should be also discarded (and that code is still in progress). When ASIC blocks will have a delay between 10 and 20 minutes, then they will work towards decreasing the difficulty. I made it between 15 and 20 minutes, to be quite sure, that the average time from random timestamp shooting will be something like 17.5 minutes, and it will try to decrease the network difficulty.

Of course, some CPU blocks are inevitable, because ASIC miners may want to put their own CPU blocks in-between, or some ASIC miner may be lucky, and set many CPU blocks in stone, so it won't be profitable to reorg them. And also, when the difficulty will decrease to the point, where more blocks will be mined by 10 minutes, then the algorithm will bump it anyway, so it can be safely done, without much harm (and anyway, ASICs will still need to remain compatible with 2 hours rule, otherwise, one ASIC block may be reorged by another ASIC block; I still have to think, how to code everything correctly, because fjahr's changes seems to be unfinished).


Title: Re: Testnet4 Mining (Discussion)
Post by: BayAreaCoins on September 03, 2025, 04:23:41 AM
Blocks and transactions are moving much more smooth on v4 atm.

There are more miners doing funky things and a few more ASIC helping the network along.

The miners have kind of each found their place and the one is including transactions after ASIC, so the chain is cleaning up faster after an ASIC block.  Things are moving along smoothly, at the moment.

Someone is producing *huge* transactions lately... I'm not sure what project that is, but god damn.  https://mempool.space/testnet4/address/tb1pd4mqgarm0gmw4x89pfdxajfwcrvtgmkt7dttet2f5wgyqh4xnxdsxvptxp