0

Suppose a block producer on MATIC (https://docs.polygon.technology/docs/contribute/bor/consensus) is incentivized to produce a block with a specific hash. She just needs to randomly chose transactions from the pool and try to compose a block with the favorite hash. The only limitation is to produce the block in 2 sec. For example, she wants the hash to have some four digits to be 1,2,3,4. Thus, she need to try (1/16)^4=64K block creations which is easy to do as no proof of work is required. On the Ethereum, she would lose competition on block creation to other miners but on the Polygon none competes with her during a sprint.

So, is it correct that Polygon consensus mechanism does not prevent a misbehaving block producer from manipulating block hash?

1 Answer 1

1

Yes, like in almost every blockchain the block producers can manipulate block content and therefore block hash before revealing it to the rest of the network.

She just needs to randomly chose transactions from the pool and try to compose a block with the favorite hash. The only limitation is to produce the block in 2 sec. For example, she wants the hash to have some four digits to be 1,2,3,4. Thus, she need to try (1/16)^4=64K block creations which is easy to do as no proof of work is required.

No matter the complexity, trying different combinations to find a suitable hash, is basically the definition of proof of work… You could even argue that it is harder when the changing part is the transactions rather than simply the block nonce, but the principle is the same.

On the Ethereum, she would lose competition on block creation to other miners but on the Polygon none competes with her during a sprint.

The BOR consensus allows for out of turn block proposal, so you could be front-runned by another proposer while trying to solve your artificial proof of work.

So, is it correct that Polygon consensus mechanism does not prevent a misbehaving block producer from manipulating block hash?

While it does not prevent it completely, there are some incentives to propose your block in a reduced amount of time. But anyway, no matter the blockchain consensus / protocol, it is almost impossible (if not at all) to detect hash manipulation...

You cannot guarantee that two block proposers in any blockchain have the same transaction memory pool, therefore how do you detect if one intentionally included / excluded a specific set of transactions ? You cannot even be sure that the supposedly excluded transactions were ever received.

Hash manipulation itself is not an issue, if the hash is valid it only serves as a block identifier, tamper detection mechanism and as a link to the previous block. The real issue comes from developers using block hash as a source of entropy / decision variable, which they shouldn't, as block hash can clearly be manipulated.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.