Author

Topic: Several developers, miners, and researchers reported that Bitcoin mining develop (Read 189 times)

legendary
Activity: 3472
Merit: 10611
Unfortunately, that's the outcome of complete decentralisation. As soon as the decentralied system becomes too large, mistakes and misunderstanding between nodes arise. In blockchain system it leads to forking (hard forks or soft forks)... Also, internet connection is a specific problem: miners do have high data processing speed, while connections between nodes don't. This also leads to information exchange problems, which eventually lead to strong need of centralisation, which opposes the whole concept of blockchain system. A loop is then repeated...
You should read the previous comments, specifically by @BlackHatCoiner. This had nothing to do with internet connection, data processing, orphan blocks, "misunderstanding between nodes", etc. And it definitely has nothing to do with being decentralized since the system is working beyond fine. In fact the reason why invalid blocks like this don't create any issue is because of decentralization.

This was simply an invalid block created a miner running a customized and buggy code.

The reason for things like this happening stems from incompetence developers who do not have a deep understanding of the Bitcoin protocol and its details such as the one leading to this mistake in the customized code the miner was using to create the block they mined.
We see incompetence like this from time to time too. For example a while ago we saw blocks that had too big an OP count that surpassed the allowed number and made the block invalid. Another detail that the developer who wrote the code for that miner didn't know!
sr. member
Activity: 1680
Merit: 379
Top Crypto Casino
Several developers, miners, and researchers reported that Bitcoin mining developer name Marathon Digital mined an invalid block 809478.
means the marathon digital got 6.25BTC for mining an invalid block?
do the invalid block which got mined is placed in a real bitcoin blockchain or any other blockchain? or not added to any blockchain?
and if the invalid block was mined, so of course there were wrong transaction(or transaction from 0 balance wallet) or double spending was happened?

Blocks that don't get included in the main chain are not rewarded on Bitcoin like they are on some altcoin chains. The invalid block would have caused a temporary chain split but the chain which included the block from Marathon would have quickly died off because it is following incompatible rules and nobody would have continued mining on that chain. After the block is rejected from the valid chain everything continues as if it never existed and its transactions remain unconfirmed in the mempool until they're included in a valid block.
hero member
Activity: 1680
Merit: 987
#SWGT CERTIK Audited
Several developers, miners, and researchers reported that Bitcoin mining developer name Marathon Digital mined an invalid block 809478.

Anonymous Bitcoin developer 0xB10C said in his post on Twitter that MaraPool was warned about a "transaction order problem". This was later confirmed by Jameson Lopp, co-founder of CasaHODL crypto equity custody solutions.

Invalid Bitcoin block rejected by all node operators. According to BitMEX Research, the reason why the block was invalid was an order placed by mistake.

Marathon Digital, have not yet responded to CoinDesk's request for comment.

What do you understand about this?
As Bitcoin miners create new blocks, they race to solve solutions. Each miner tries to solve these problems to replace a new block, and the first miner to solve it correctly wins Bitcoin (BTC) as rewards combined with the new block.

The Bitcoin network does not accept invalid blocks and requires miners to mine blocks according to certain rules. Blocks that do not comply with these rules will be rejected by the network and will not earn any rewards made. In short, the extraction of an invalid block indicates that the execution of transactions will suffer a great loss.


Unfortunately, that's the outcome of complete decentralisation. As soon as the decentralied system becomes too large, mistakes and misunderstanding between nodes arise. In blockchain system it leads to forking (hard forks or soft forks)... Also, internet connection is a specific problem: miners do have high data processing speed, while connections between nodes don't. This also leads to information exchange problems, which eventually lead to strong need of centralisation, which opposes the whole concept of blockchain system. A loop is then repeated...
legendary
Activity: 4270
Merit: 4534
This situation is not new, blocks get orphan constantly
This is not what happened. Orphaned blocks are valid blocks, they just belong on a less-worked chain and are therefore ignored.

What really happened is this: the developer was trying to mine a block which was invalid, because of ordering. According to this Twitter post, the developer included TX A that spends an UTXO from a TX B which was included after A. That's invalid from a protocol perspective.

orphans are the child(next block) of a invalid parent.. where when the parent gets rejected the child is orphaned(rejected to society) too

mara did successfully (not try) to mine(create a difficult hash) a block.. but its data inside the block didnt fit the rules so was rejected after it was broadcast to the network.. and there was no network drama because it disappeared as quickly as it was seen..

its not the first time this has happened and has not caused any network issues.. its a non news event that is just a point of interest for other pools to take note of to learn what not to do to ensure they too dont have their blocks rejected.. to the rest of us it was a "nothing happened" non event with no problems caused to the network
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Orphan blocks also called as Stale blocks.
While they do share similar properties, they aren't the same. Let me clarify the confusion:

- Stale blocks are successfully mined blocks which aren't included in the most-worked chain.
- Orphaned blocks are blocks whose parent hasn't ever been processed by the node, so they cannot be validated.
legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
I'm also going to put out there that more then likely if a certain pool kept sending out invalid blocks other pools are going to put them on some sort of ignore list so they don't even have to even bother processing them. Yes, it would be a form censorship but there would be a certain point when the operators would want to stop wasting CPU cycles taking in a block just for it to be invalid.

As for making a difference to the BTC blockchain in general. Yes, a bit more BTC for the rest of the miners until the difficulty adjusted around the lack of that pool finding blocks.

-Dave
full member
Activity: 434
Merit: 141
Hire Bitcointalk Camp. Manager @ r7promotions.com
Anonymous Bitcoin developer 0xB10C said in his post on Twitter that MaraPool was warned about a "transaction order problem".
You can find him in https://bitcoindevlist.com/ (Bitcoin Donation Portal) for Bitcoin developers.

This developer has some amazing projects like Mining pool observer (Conflicting transactions).

This situation is not new, blocks get orphan constantly
This is not what happened. Orphaned blocks are valid blocks, they just belong on a less-worked chain and are therefore ignored.
Orphan blocks also called as Stale blocks.

What is Orphan blocks

Quote
Usually when people say "orphan block", they mean a Stale Block, which is a well-formed block which is no longer part of the difficultywise-longest and well-formed blockchain. The Block Reward in a stale block is no longer spendable on the difficultywise-longest and well-formed blockchain; therefore whoever mined that block does not actually get the reward (or the transaction fees). This phenomenon must be taken into account by mining pools that use any payout strategy other than "proportional".

Conceptually, calling the above type of block an orphan block doesn't make any sense, since it does have a parent. Indeed, in the Bitcoin source code and in more technical discussions, orphan blocks and stale blocks are two separate things: both are not part of the longest valid chain, but in an orphan block it is because the parent is unknown, whereas in a stale block it is because that part of the chain is known to no longer be longest. However, in general discussions people almost always mean "stale block" but say "orphan block".

In Mastering Bitcoin book, Andreas Antonopoulos explained more about orphan transactions and how pools handle those transactions.
Transaction pools
Quote
Almost every node on the Bitcoin network maintains a temporary list of unconfirmed transactions called the memory pool, mempool, or transaction pool. Nodes use this pool to keep track of transactions that are known to the network but are not yet included in the blockchain. For example, a wallet node will use the transaction pool to track incoming payments to the user’s wallet that have been received on the network but are not yet confirmed.

As transactions are received and verified, they are added to the transaction pool and relayed to the neighboring nodes to propagate on the network.

Some node implementations also maintain a separate pool of orphaned transactions. If a transaction’s inputs refer to a transaction that is not yet known, such as a missing parent, the orphan transaction will be stored temporarily in the orphan pool until the parent transaction arrives.

When a transaction is added to the transaction pool, the orphan pool is checked for any orphans that reference this transaction’s outputs (its children). Any matching orphans are then validated. If valid, they are removed from the orphan pool and added to the transaction pool, completing the chain that started with the parent transaction. In light of the newly added transaction, which is no longer an orphan, the process is repeated recursively looking for any further descendants, until no more descendants are found. Through this process, the arrival of a parent transaction triggers a cascade reconstruction of an entire chain of interdependent transactions by re-uniting the orphans with their parents all the way down the chain.

Both the transaction pool and orphan pool (where implemented) are stored in local memory and are not saved on persistent storage; rather, they are dynamically populated from incoming network messages. When a node starts, both pools are empty and are gradually populated with new transactions received on the network.

Some implementations of the Bitcoin client also maintain an UTXO database or pool, which is the set of all unspent outputs on the blockchain. Bitcoin Core users will find it in the chainstate/ folder of their client’s data directory. Although the name "UTXO pool" sounds similar to the transaction pool, it represents a different set of data. Unlike the transaction and orphan pools, the UTXO pool is not initialized empty but instead contains millions of entries of unspent transaction outputs, everything that is unspent from all the way back to the genesis block. The UTXO pool may be housed in local memory or as an indexed database table on persistent storage.

Whereas the transaction and orphan pools represent a single node’s local perspective and might vary significantly from node to node depending upon when the node was started or restarted, the UTXO pool represents the emergent consensus of the network and therefore will vary little between nodes. Furthermore, the transaction and orphan pools only contain unconfirmed transactions, while the UTXO pool only contains confirmed outputs.
legendary
Activity: 2912
Merit: 6403
Blackjack.fun
I don't find any issue with it, either it was done mistakenly or deliberately, or maybe that miner might be testing or showing off to a newbie that the BTC blockchain can not be tricked.

A 1.4 billion company listed on the stock exchange, running at least 18 Exashashes, that's somewhere around ~200k miners with a power draw compared to two nuclear reactors is "showing" to a newbie how the blockchain works! Are you serious?

Making 35 invalid blocks in a day vs 1 if so can this fuck up the block chain speed?

Are they capable of making invalid blocks on such a large scale?
Assuming Mara would mine only invalid blocks it would simply take them off the equation so it would be like a 4.25 % of the hashrate is not mining at all, a drop of 6 blocks per day till the next adjustment but zero income for two weeks for Mara which would trigger the firing of their CEO and even delisting in case of an inquiry that results they did it deliberately.
hero member
Activity: 862
Merit: 662
I am asking if this is a way to attack the actual block chain at a low cost.

No, actually it's not an attack or anything like that, nodes can discard those invalid blocks in one or two seconds.

Miners that put effor on some invalid block are the only ones that are wasting time.
legendary
Activity: 4256
Merit: 8551
'The right to privacy matters'
So could the developer's mistake/error/system test be duplicated a lot at a low cost?

Developers have the testnet availale to test and prevent those errors.

Is that what you asked or i understand it wrong?

I am asking if this is a way to attack the actual block chain at a low cost.

As I understand it the block mined was not valid. Some one managed to spend out of order Tx an and Tx b. So the block was rejected by the block chain.

I am asking could this be done more often and harm the blockchain.

As it is a pool lost a block with bad info in it.

so if the blockchain is flooded with this style of info more and more invalid blocks can appear.

So A can this be done at a high rate killing off lots of blocks found as invalid?

and B is it cheap to do it?

Has someone stumbled of a way to make an invalid block and are they super rare.
hero member
Activity: 1232
Merit: 475
Payment Gateway Allows Recurring Payments
So was the developer tested this deliberately or was it an accidental mistake.
I don't find any issue with it, either it was done mistakenly or deliberately, or maybe that miner might be testing or showing off to a newbie that the BTC blockchain can not be tricked.
It seems to me if I do exactly what the developer did a could case an invalid block correct?
It will definitely, be the issue was an orphan transaction.
Making 35 invalid blocks in a day vs 1 if so can this fuck up the block chain speed?
I don't think so, because the blockchain speed depends on the valid blocks, not on the invalid blocks, because invalid blocks will not be allowed to enter the house of the blockchain and will be removed from the door. But it will be a waste for the miner, as the miner will be wasting resources on the invalid block which after spending some sources tagged as invalid.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Thank you for the clarification, so basically they don't included the parent transaction in the same block, and the parent was still unconfirmed.
No. They did include both the parent and child transaction in the same block. It's just that they included the child before the parent in transaction data. So, when the nodes would verify the child, they'd deem it invalid as it'd spend missing UTXOs. That is called an orphaned transaction.

This is the particular part from validation.cpp that prompted the error: https://github.com/bitcoin/bitcoin/blob/c9f288244b8d183e09a917025922b99e3368ef78/src/validation.cpp#L777C1-L796C6. Specifically, that line returned the error:
Code:
return state.Invalid(TxValidationResult::TX_MISSING_INPUTS, "bad-txns-inputs-missingorspent");

So was the developer tested this deliberately or was it an accidental mistake.
That's a mystery for the time being.

So could the developer's mistake/error/system test be duplicated a lot at a low cost?
Absolutely no clue. We'll wait and see. I'm afraid this didn't happen deliberately.
full member
Activity: 448
Merit: 223
Several developers, miners, and researchers reported that Bitcoin mining developer name Marathon Digital mined an invalid block 809478.
means the marathon digital got 6.25BTC for mining an invalid block?
do the invalid block which got mined is placed in a real bitcoin blockchain or any other blockchain? or not added to any blockchain?
and if the invalid block was mined, so of course there were wrong transaction(or transaction from 0 balance wallet) or double spending was happened?
hero member
Activity: 862
Merit: 662
So could the developer's mistake/error/system test be duplicated a lot at a low cost?

Developers have the testnet availale to test and prevent those errors.

Is that what you asked or i understand it wrong?
legendary
Activity: 4256
Merit: 8551
'The right to privacy matters'
This situation is not new, blocks get orphan constantly
This is not what happened. Orphaned blocks are valid blocks, they just belong on a less-worked chain and are therefore ignored.

What really happened is this: the developer was trying to mine a block which was invalid, because of ordering. According to this Twitter post, the developer included TX A that spends an UTXO from a TX B which was included after A. That's invalid from a protocol perspective.

So was the developer tested this deliberately or was it an accidental mistake.

It seems to me if I do exactly what the developer did a could case an invalid block correct?

So could the developer's mistake/error/system test be duplicated a lot at a low cost?

Making 35 invalid blocks in a day vs 1 if so can this fuck up the block chain speed?
hero member
Activity: 862
Merit: 662
According to this Twitter post, the developer included TX A that spends an UTXO from a TX B which was included after A.

Thank you for the clarification, so basically they don't included the parent transaction in the same block, and the parent was still unconfirmed.  Grin Grin That is something funny no?
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
This situation is not new, blocks get orphan constantly
This is not what happened. Orphaned blocks are valid blocks, they just belong on a less-worked chain and are therefore ignored.

What really happened is this: the developer was trying to mine a block which was invalid, because of ordering. According to this Twitter post, the developer included TX A that spends an UTXO from a TX B which was included after A. That's invalid from a protocol perspective.
hero member
Activity: 1414
Merit: 670
What do you understand about this?
As Bitcoin miners create new blocks, they race to solve solutions. Each miner tries to solve these problems to replace a new block, and the first miner to solve it correctly wins Bitcoin (BTC) as rewards combined with the new block.

The Bitcoin network does not accept invalid blocks and requires miners to mine blocks according to certain rules. Blocks that do not comply with these rules will be rejected by the network and will not earn any rewards made. In short, the extraction of an invalid block indicates that the execution of transactions will suffer a great loss.
You did not provide the source for your post, but for the time being, considering it true and confirmed, This verifies that BTC blockchin is working fine, and no one can verify, validate, or process any valid block. You have shared a good piece of information. Because this would not help seniors anymore because most of them already know how blocks are made and why someone cannot make fake blocks to verify their txs, which might also be fake ones.

You should narrow down your topic title; it seems a little off; you can edit it if you want, but for now, for those who have already made a post, the topic title will remain the same. I think. 

Other than this, this is slapped on the faces of those who used to say that BTC blockchain can be compromised. I know not a single educated person will say such words, but only those who think badly of BTC and don't really understand the technology.
hero member
Activity: 862
Merit: 662
This situation is not new, blocks get orphan constantly.

The block was sustitute by this one: https://mempool.space/block/0000000000000000000261a0b5d3836c8bd1785946118e01ac989e7a4b228ce5

Mined by Foundry USA
newbie
Activity: 21
Merit: 0
Several developers, miners, and researchers reported that Bitcoin mining developer name Marathon Digital mined an invalid block 809478.

Anonymous Bitcoin developer 0xB10C said in his post on Twitter that MaraPool was warned about a "transaction order problem". This was later confirmed by Jameson Lopp, co-founder of CasaHODL crypto equity custody solutions.

Invalid Bitcoin block rejected by all node operators. According to BitMEX Research, the reason why the block was invalid was an order placed by mistake.

Marathon Digital, have not yet responded to CoinDesk's request for comment.

What do you understand about this?
As Bitcoin miners create new blocks, they race to solve solutions. Each miner tries to solve these problems to replace a new block, and the first miner to solve it correctly wins Bitcoin (BTC) as rewards combined with the new block.

The Bitcoin network does not accept invalid blocks and requires miners to mine blocks according to certain rules. Blocks that do not comply with these rules will be rejected by the network and will not earn any rewards made. In short, the extraction of an invalid block indicates that the execution of transactions will suffer a great loss.
Jump to: