>> This is not possible for rather obvious reasons:
>> 1. transaction sizes cannot be allowed to be unbounded because this creates denial of service attacks for the broader network
>> 2. if the valid certificate set is not unbounded, then centralization pressure will mount on the bound between the Nth and N+1th certifier.

>> Finally, all of this would require a rather large consensus change to even implement. Given how contentious the proposal of a "choose your miner/certifier" is, it is unlikely to gain the necessary support in the form of code, review, miner signaling, or user uptake for a UASF.

My original suggestion was to hold an unbounded number of copies of asymmetrically-encrypted transactions in the mempool, each of them could be decrypted with the key which is owned by a particular miner. Once one of them get mined, all other copies are discarded (this can be done by holding hashes of transactions in the mempool unencrypted, so once the node sees the transaction matching the hash mined - it can discard the other copies sharing the same hash).

I agree that that opens the door to potential DoS attack - people can start transmitting invalid transactions to perform a DoS attack on the network. 

However, the following adaptation of the idea might work: the transaction is duly signed and communicated to the mempool, but have an unbonded list of certificates of 'preferred' miners. If for within M blocks a preferred miner manages to mine the block - fine, if within M blocks it does not happen, transaction can be mined by any miner. Additionally, full nodes can demand a minimum fee which is dependant on the number of attached certificates (e.g. if attaching N certificates makes the transaction message 2x the size of normal message, the minimum fee is twice bigger). It appears to me, that such M-block delay + list of preferred miners which can be arbitrary long, but user pays higher fees if it is unreasonably long, does not raise DoS concerns as it does not materially affect the dynamics of things how they are right now.

>>  If you truly care about only having your transactions mined by "green" miners or whatever other qualification you are going after, then this can likely be implemented in upper layers as you suggested. You can submit your transaction via an overlay network directly to any miners that fit your criteria. Since miners operate in a selfish way, it is not in their interest to share your transaction with other miners, and the probable case is that your transaction will only be included in a block that is signed by your preferred authority.

Overlay network is one of the solutions, however community-supported functionality of giving some miners a priority as suggested above will 

>>  It is, in fact, an open forum and everyone is entitled to their view, including being dismissive of yours.

Accepted :)

On Mon, May 17, 2021 at 6:28 PM Keagan McClelland <keagan.mcclelland@gmail.com> wrote:
In principle the idea of making your transactions not mineable except by miners who follow some particular practice is something that can and should be discussed. For instance, it could help give economic signals for future soft forks such that users can declare preference in a costly, sybil resistant way.

As I understand what you are asking, you want users to be able to issue transactions that can only be included in blocks that are signed by miners whose certificates can be traced back to some set of certificates that the sender has "whitelisted". The trouble here is that in order for this to be an open system, the user would need to be able to include an unbounded number of optional certificates in the transaction itself, otherwise the rest of the network would be unable to validate whether or not the transaction, when included in the block fit the consensus rules or not.

This is not possible for rather obvious reasons:
1. transaction sizes cannot be allowed to be unbounded because this creates denial of service attacks for the broader network
2. if the valid certificate set is not unbounded, then centralization pressure will mount on the bound between the Nth and N+1th certifier.

Finally, all of this would require a rather large consensus change to even implement. Given how contentious the proposal of a "choose your miner/certifier" is, it is unlikely to gain the necessary support in the form of code, review, miner signaling, or user uptake for a UASF.

That said, not all is lost. If you truly care about only having your transactions mined by "green" miners or whatever other qualification you are going after, then this can likely be implemented in upper layers as you suggested. You can submit your transaction via an overlay network directly to any miners that fit your criteria. Since miners operate in a selfish way, it is not in their interest to share your transaction with other miners, and the probable case is that your transaction will only be included in a block that is signed by your preferred authority.

I should note though, that you may be waiting forever for your transactions to be mined and your business partners might choose not to do business with you in the future due to delays caused by virtue signaling to nocoiners.

> Please don't be dismissive, it is an open forum and everybody is entitled to his/her/its own opinion. 

It is, in fact, an open forum and everyone is entitled to their view, including being dismissive of yours.

> I respectfully submit that people who know how to launch rockets to the sky and beam high-speed internet from the satellites to every place on earth are at least capable of understanding how Bitcoin works. There is even an english expression which reads 'it is not a rocket science' which I think fits especially nicely in this particular case :)

No one is contesting that Elon and the rest of the technical staff at Tesla are *capable* of understanding Bitcoin. We are just asserting that, at present, they do not understand the underlying mechanics well enough to give consistent rationale for their choices, and because their public statements reveal either a deep hypocrisy, or deep ignorance in their understanding of Bitcoin.

Keagan

On Mon, May 17, 2021 at 8:11 AM Anton Ragin via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
Hello, list

>Hello centralisation. Might as well just have someone sign miner keys, and get
>rid of PoW entirely...
>No, it is not centralization - 

No, it is not centralization, as:

(a) different miners could use different standards / certifications for 'green' status, there are many already;

>> That does not refute the claim at all. Just because you can choose from multiple centralized authorities, which are well known and can collude, it does not mean it is decentralized by any reasonable definition of the term.

(b) it does not affect stability of the network in a material way, rather creates small (12.5% of revenue max) incentive to move to green sources of energy (or buy carbon credits) and get certified - miners who would choose to run dirty energy will still be able to do so.
and

>> Who is to issue these credits? A centralized entity I guess ... There is no place for such in Bitcoin.

If I am to concede on the point that voluntarily green-status miner certification is 'centralization', can you please explain in detail why aren't 'bitcoin.org' and GitHub repo similar examples of 'centralization'? You make a correct point that bitcoin.org and the GitHub repo are not 'official' things of Bitcoin network, however nowhere in my proposals on green miner certification I was suggesting to introduce an 'official' certificate for such a thing. May be I mis-formulated my ideas, in that case I apologize:

The only thing which I suggested was to introduce an option to have some transactions encrypted in the mempool to allow Bitcoin users some control over who mines their transaction - full stop. Users could then decide how to use this functionality themselves, and such functionality could have uses way beyond 'green miners' - for example, some users might prefer to send their transactions directly to trusted miners to prevent certain quantum computer enabled attacks (e.g. when there is a window of opportunity to steal coins if you have fast QC when you spend even from p2phk address). Another example - if users are given some flexibility whom to send the transactions, they might actually want to steer them away from huge mining pools such as Antpool to support small independent miners, smth of this sort - which actually would boost diversity in the network.

You may or may not agree that climate change is real, or may or may not agree that Bitcoin energy consumption is a problem - I respectfully submit it is not the right forum to find truth on these topics. We are discussing ideas which might make Bitcoin a better solution for users who care about certain things, without making it worse for somebody else (like you, for example - who don't like centralization in any form).

>> (c) nothing is being proposed beyond what is already possible - Antpool can go green today, and solicit users to send them signed transactions directly instead of adding them to a public mempool, under the pretext that it would make the transfer 'greener'.

>> And if there was an economic advantage in doing so, miners would quite likely already implement that. Yet, somehow, they are not doing that.

Arguments of the sort 'if something could be done or should have been done - it would be done already' are flawed, in my opinion, as following the same logic nothing (including Bitcoin itself) should have been done ever. As a matter of fact, we are working on a green miner initiative with certain miners, having a call with Hut8 in 20 minutes myself - and I know that we are not the only ones. Green crypto initiatives are actually widespread, and the solutions will be popping up soon.

>>  Please stop with the carbon credit nonsense. There is likely no such thing to exist on a free market and no one is interested in these state regulations.

Please read this Wikipedia Article: https://en.wikipedia.org/wiki/Carbon_offset

"There are two types of markets for carbon offsets, compliance and voluntary" [emphasis added].

Voluntary carbon offset markets are actually growing really fast.

>> Just because a big company is controlled by people who do not understand Bitcoin, it does not make the issue valid. There are no such environmental concerns once you understand how Bitcoin and free market work. Don't help to spread the FUD.

I respectfully submit that people who know how to launch rockets to the sky and beam high-speed internet from the satellites to every place on earth are at least capable of understanding how Bitcoin works. There is even an english expression which reads 'it is not a rocket science' which I think fits especially nicely in this particular case :)

>>  Once people stop spreading FUD, the price will likely skyrocket. Start with yourself please.

I guess you misinterpret my intentions, I think it doesn't matter what Bitcoin price is - my personal interest is the widest possible adoption of blockchain as a peer-to-peer way to transfer value between consenting individuals free from government control or intervention. Environmental concerns are real and at least some parts of the community are clearly interested to at least discuss this matter (e.g. I am not the one who started this thread).

Please don't be dismissive, it is an open forum and everybody is entitled to his/her/its own opinion. 
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev