LearnBitcoin

Bitcoin Dev Archive 2021

Question- must every mining rig attempt every block?

4 messages, 5 to 8 Oct 2021. Started by Nathan T Alexander.

Nathan T Alexander, ZmnSCPxj, Ruben Somsen, Billy Tetrud

Permalink Original thread on gnusha.org

Nathan T Alexander permalink original

For purposes of conserving energy, couldn't each mining rig have some non-gameable attribute which would be used to calculate if a block would be accepted by that rig?

Don't the mining rigs have to be able to identify themselves to the network somehow, in order to claim their block reward? Could their bitcoin network ID be used as a non-gameable attribute?

Essentially a green light / red light system. In order for a block to be accepted by the network, it must have all attributes of a successful block today, and it must also have come from a rig that had a green light.

Perhaps hash some data from the last successful block, along with the miners non-gameable attribute, and if it's below a certain number set by algorithm, the miner gets a green light to race to produce a valid block.

Nathan Alexander

Arlington, TX

ZmnSCPxj in reply to Nathan T Alexander permalink original

Good morning Nathan,

Quoted text (7 lines)
> For purposes of conserving energy, couldn't each mining rig have some
> non-gameable attribute which would be used to calculate if a block would
> be accepted by that rig?
>
> Don't the mining rigs have to be able to identify themselves to the
> network somehow, in order to claim their block reward? Could their
> bitcoin network ID be used as a non-gameable attribute?

They are "identified" by the address that is on the coinbase output.

There is nothing preventing a *single* miner having *multiple* addresses, in much the same way that a *single* HODLer is not prevented from having *multiple* addresses.

Quoted text (4 lines)
>
> Essentially a green light / red light system. In order for a block to be
> accepted by the network, it must have all attributes of a successful
> block today, and it must also have come from a rig that had a green light.

Since a miner can have multiple addresses, the miners can game this by simply grinding on *which* of their multiple addresses gets the green light. That grinding is no more different in quality than grinding the block hash.

Thus, you just move proof-of-work elsewhere and make it harder to see, not reduce it.

Worse, *identifying* miners reduces the important anonymity property of mining. With non-anonymous mining, it is much easier for states to co-opt large mines, since they are identifiable, and states can target larger miners. Thus, miners ***must*** use multiple addresses as a simple protection against state co-option.

Quoted text (4 lines)
>
> Perhaps hash some data from the last successful block, along with the
> miners non-gameable attribute, and if it's below a certain number set by
> algorithm, the miner gets a green light to race to produce a valid block.

The power consumption of proof-of-work ***is not a problem***, it is instead the solution against state co-option.

If you reduce the power consumption, it becomes easier for states to simply purchase and co-opt mines and attack the system, since it is easier to muster the power consumption and outright 51% Bitcoin. The power consumption is an important security parameter, ***even more important than raw hashes-per-second***, since hashes-per-second will inevitably rise anyway even with constant power consumption.

It should always remain economically infeasible to 51% Bitcoin, otherwise Bitcoin will ***die*** and all your HODLings in it.

Regards, ZmnSCPxj

Ruben Somsen in reply to Nathan T Alexander permalink original

Hi Nathan,

That's a fair question, but note that we've already had a bunch of "green mining" related posts a few months ago, so I suspect you'll be able to find many criticisms to this idea in the following thread:

https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-May/018937.html

It also looks like you'll be able to find some related answers on Bitcoin Stack Exchange: https://bitcoin.stackexchange.com/questions/106308/decreasing-energy-consumption-of-bitcoins-pow-with-paired-mining-rounds

And generally speaking these types of discussions don't end up being very fruitful for bitcoin-dev, because these are the types of changes that are unlikely to ever be seriously considered for Bitcoin.

Cheers, Ruben

On Tue, Oct 5, 2021 at 4:09 PM Nathan T Alexander via bitcoin-dev < bitcoin-dev@lists•linuxfoundation•org> wrote:

Quoted text (25 lines)
> For purposes of conserving energy, couldn't each mining rig have some
> non-gameable attribute which would be used to calculate if a block would
> be accepted by that rig?
>
> Don't the mining rigs have to be able to identify themselves to the
> network somehow, in order to claim their block reward? Could their
> bitcoin network ID be used as a non-gameable attribute?
>
> Essentially a green light / red light system. In order for a block to be
> accepted by the network, it must have all attributes of a successful
> block today, and it must also have come from a rig that had a green light.
>
> Perhaps hash some data from the last successful block, along with the
> miners non-gameable attribute, and if it's below a certain number set by
> algorithm, the miner gets a green light to race to produce a valid block.
>
> Nathan Alexander
>
> Arlington, TX
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation•org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
Billy Tetrud in reply to Ruben Somsen permalink original

Proof of stake systems attempt to create red light - green light types of things with non-gameable attributes (eg collaborative random numbers). This can't be done with mining because mining is completely random - its not possible to know which miner will mine a block. If it were, it wouldn't be proof of work, but something else. What you describe sounds like proof of identity, which isn't possible in a decentralized adversarial environment. In fact, one of the primary achievements of the Proof of Work consensus mechanism is to work around the Sybil issue, where (like ZmnSCPxj mentioned) a single user can have many identities.

There can be hybrid systems that use both proof of work and proof of stake, but my conclusion after having done a lot of research and thinking about it ([1] <https://github.com/fresheneesz/quantificationOfConsensusProtocolSecurity>, [2] <https://github.com/fresheneesz/proofOfTimeOwnership>) is that the security mostly boils down to the weakest piece of the hybrid system, and so its not very effective to have hybrid systems like you mentioned.

On Tue, Oct 5, 2021 at 10:43 AM Ruben Somsen via bitcoin-dev < bitcoin-dev@lists•linuxfoundation•org> wrote:

Quoted text (54 lines)
> Hi Nathan,
>
> That's a fair question, but note that we've already had a bunch of "green
> mining" related posts a few months ago, so I suspect you'll be able to find
> many criticisms to this idea in the following thread:
>
>
> https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-May/018937.html
>
> It also looks like you'll be able to find some related answers on Bitcoin
> Stack Exchange:
>
> https://bitcoin.stackexchange.com/questions/106308/decreasing-energy-consumption-of-bitcoins-pow-with-paired-mining-rounds
>
> And generally speaking these types of discussions don't end up being very
> fruitful for bitcoin-dev, because these are the types of changes that are
> unlikely to ever be seriously considered for Bitcoin.
>
> Cheers,
> Ruben
>
> On Tue, Oct 5, 2021 at 4:09 PM Nathan T Alexander via bitcoin-dev <
> bitcoin-dev@lists•linuxfoundation•org> wrote:
>
>> For purposes of conserving energy, couldn't each mining rig have some
>> non-gameable attribute which would be used to calculate if a block would
>> be accepted by that rig?
>>
>> Don't the mining rigs have to be able to identify themselves to the
>> network somehow, in order to claim their block reward? Could their
>> bitcoin network ID be used as a non-gameable attribute?
>>
>> Essentially a green light / red light system. In order for a block to be
>> accepted by the network, it must have all attributes of a successful
>> block today, and it must also have come from a rig that had a green light.
>>
>> Perhaps hash some data from the last successful block, along with the
>> miners non-gameable attribute, and if it's below a certain number set by
>> algorithm, the miner gets a green light to race to produce a valid block.
>>
>> Nathan Alexander
>>
>> Arlington, TX
>>
>> _______________________________________________
>> bitcoin-dev mailing list
>> bitcoin-dev@lists•linuxfoundation•org
>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation•org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>