Author

Topic: Bitcoin Tic-Tac Coopetition mining (Read 1390 times)

full member
Activity: 224
Merit: 117
▲ Portable backup power source for mining.
December 13, 2016, 09:21:17 PM
#14
As you dig into the game theory of sharing fees and minted block rewards, you will find out why your idea can't be incentives compatible.
The problem I see with sharing fees is that a miner can start prioritizing transactions with fees paid "under the table" directly to the miner.
sr. member
Activity: 336
Merit: 265
December 12, 2016, 11:54:28 PM
#13
I am not sure the matter is settled however. The under-the-table fees problem both proposals present does not imply there is no merit in the system at all, IMHO.

Fees could be given in full to the miner responsible for creating the next block. This would further incentivize said miner not to dissappear during his turn(s). This could encourage a market for fees between the miner and the user, since the mining turns would be deterministic.

Or fees could be removed completely from the Tac phase de facto if all the miners decide to cheat.
All the fees could be negotiated out of band. So what?

Or maybe other possibilities (like enforcing a fair insertion rule of transactions in full blocks).

Or maybe someone will come up with a bright idea.

It is comforting to know that you will be here, encouraging people to share it with us with your nice tone and praise.

Keep up the good work!

You are the one who needs to do more work on proving the security of your idea before you bring it public for discussion. Do you think our expert time is free and unlimited to peer review every NAOD. The problem with posting undeveloped ideas is you cause other n00bs to proclaim that you've found a Holy Grail. It is a mad n00b epidemic of disinformation.

As you dig into the game theory of sharing fees and minted block rewards, you will find out why your idea can't be incentives compatible. You need to factor in all the game theory of attacks that those who create blocks can do. For example, do you share minted block rewards equally between blocks that have no transactions from those who do? Then study the problem with Bitcoin when rewards become dependent on fees. And pull all that together say, "Kaboom". It is left as a homework assignment for you.
sr. member
Activity: 336
Merit: 265
December 12, 2016, 11:38:42 PM
#12
To make it more clear. At 10x the hashing power sitting idle 90% of the time you have the same energy costs and 10x more capital investment

Nope. They'd be mining 10+ such coins simultaneously so their capital investment is constant and the duty cycle remains ~100%..

You don't seem to comprehend Coase's theorem and Economics.
JFC
newbie
Activity: 24
Merit: 17
December 12, 2016, 03:48:32 PM
#11
legendary
Activity: 1713
Merit: 1029
December 12, 2016, 02:52:55 PM
#10
JFC
newbie
Activity: 24
Merit: 17
December 12, 2016, 01:48:17 PM
#9
The rewards during this cooperation phase (fees and new coins) will be fairly distributed among the winners of the previous competition phase. Fairly should be interpreted as proportional.  That means that a mining pool that solved 7% of the blocks during the competition phase will get 7% of the total proceedings from every block mined during the competition phase.

Congrats, you've just reinvented essentially Byzcoin, which is incentives incompatible:

https://bitcointalksearch.org/topic/m.16861492

https://github.com/cosmos/cosmos/issues/46#issuecomment-266235696

Who will invent the next NAOD?



NAOD = nonsense algorithm of the day which repeats mistakes already in the prior art, because the author is too uninformed to cite the prior art.

Dear Iamnotback,

Thank you very much for your tone and sarcasm.
This is exactly the kind of spirit that promotes open discussion and sharing of ideas.


On the other hand, you are right; there are many similarities between this idea and the Byzcoin algorithm (I didn't know about it previously) and there is a problem with incentives regarding the fees.

I am not sure the matter is settled however. The under-the-table fees problem both proposals present does not imply there is no merit in the system at all, IMHO.

Fees could be given in full to the miner responsible for creating the next block. This would further incentivize said miner not to dissappear during his turn(s). This could encourage a market for fees between the miner and the user, since the mining turns would be deterministic.

Or fees could be removed completely from the Tac phase de facto if all the miners decide to cheat.
All the fees could be negotiated out of band. So what?

Or maybe other possibilities (like enforcing a fair insertion rule of transactions in full blocks).

Or maybe someone will come up with a bright idea.

It is comforting to know that you will be here, encouraging people to share it with us with your nice tone and praise.

Keep up the good work!

Regards.

JFC
newbie
Activity: 24
Merit: 17
December 12, 2016, 01:19:00 PM
#8
sr. member
Activity: 336
Merit: 265
December 12, 2016, 09:26:57 AM
#7
The rewards during this cooperation phase (fees and new coins) will be fairly distributed among the winners of the previous competition phase. Fairly should be interpreted as proportional.  That means that a mining pool that solved 7% of the blocks during the competition phase will get 7% of the total proceedings from every block mined during the competition phase.

Congrats, you've just reinvented essentially Byzcoin, which is incentives incompatible:

https://bitcointalksearch.org/topic/m.16861492

https://github.com/cosmos/cosmos/issues/46#issuecomment-266235696

Who will invent the next NAOD?



NAOD = nonsense algorithm of the day which repeats mistakes already in the prior art, because the author is too uninformed to cite the prior art.
legendary
Activity: 1713
Merit: 1029
December 11, 2016, 05:07:20 PM
#6
Interesting. To start off with, a few questions:

1. What happens with P2Pool blocks?
P2Pool blocks (ex: https://blockchain.info/block/000000000000000001a1a36ada43fb03b4eb05f30cbe94a206a4a457fb4d71e5) pay out the coinbase + transaction fees to a bunch of addresses, proportional to each's contribution to mining the block. If a P2Pool block was included in the Tic phase, would all of those miners be signing new blocks in the system?

2. Does the Bitcoin network enforce proper payouts to the miners of the 144-block Tic phase as a hard consensus rule?
It appears from your post ("The new block is considered valid if: ... 2. It transmits the newly generated coins and any fees due in a fair manner") that this is the case, but I wanted to make sure that this wasn't just the validity check that other miners do before signing the block.

3. Who initially assembles the block for the network to approve?
Whoever assembles the block gets an advantage (get authority over transaction inclusion, can choose to include their own zero-fee transactions). If you create a system where block n in the Tac phase is assembled by the miner who mined block (n mod 144) from the Tic phase, what happens if that miner is offline? If there isn't a particular miner/signer responsible for creating any particular block, how do nodes resolve which block to sign?

4. How is the 10-minute timing enforced?
Do peers on the network simply not accept a blockn+1 if the timestamp from the blockn plus 600 seconds isn't the same as the timestamp in blockn+1, and the timestamp of the new block is within a margin of error of their current (local) clock? What would prevent 'whiplash' where miners/signers see it in their best interest to sign the new block as soon as it is proposed (regardless of whether it has actually been 10 real minutes since the last block), which causes them to be creating blocks that, based on their embedded timestamp, appear as if they were made in the future? As they approach the (fairly unknown) maximum allowable clock drift that the large majority of the network will support, they slow down (or even halt) block creation for a while. Even worse, if they overstep the allowable clock drift such that some peers on the network see a new block as barely-in-range compared to their local timestamp, but other peers see the block as barely-out-of-range, is there a desynchronization problem? The cost of performing PoW generally mitigates this problem, since a miner's primary goal is getting the network to accept their block, but in this model (where producing multiple valid blocks has a cost of nearly zero, and a block that gets rejected could have the timestamp adjusted, or could just be re-broadcast later to the network again), these limits could be continually pushed without any significant cost to the miners/signers.

5. What happens when the last block of a Tic phase is contested, with two equally-valid blocks proposed by different miners?
Is strong subjectivity lost? If the two miners who created competing blocks for the last block of the Tic phase both had significant mining power in the entire Tic phase, they would actively not vote for blocks that resolve the fork against their favor, which weakens the strength of the Tac blocks against reorganizations.

6. If no block at height n reaches 51% mining approval, what happens?
In case of conflict, the block with more valid signatures is considered the valid one.
What if two blocks are proposed, and one gets 40% approval, one gets 45% approval, and there is 15% (current) non-participation. The network decides, somehow, to accept the one with 45% approval. Then, 6 of the previously-non-participatory 15% comes online and signs the block that previously only had 40% approval (making it now 46% to the accepted block's 45%). Does the network then switch to the 46% block? What if another block has already been stacked on the 45% block; do we have any strong subjectivity to convince bootstrapping nodes of the invalidity of the rejected block despite its' higher approval?

7. What about the opportunity cost for miners/signers to create deep reorganizations during the Tac period?
The opportunity cost of performing a deep reorganization is drastically lower and much easier to perform during the Tac period, as a majority signature power could collude to create a deep reorganization which they sign together. They could also get unfair leverage on their signature power, because they would not sign blocks for the entire period they intended to fork later, so that they don't compete against themselves. Miners might not be particularly opposed to signing onto a reorganization, because they don't forfeit their reward by doing so (the reorganization would still pay them the same amount as before).

Scenario: 25% of block signers all agree to, during the first few Tac blocks, send 1000 BTC total to an exchange and sell it. They wait for confirmations on the exchange, sell the BTC, withdraw the value in alt-coins. They then create new transactions which pay out those 1000 BTC differently (back to themselves, and some sent to the block signers who aren't part of the collusion), and create a new fork with these transactions instead. The non-colluding miners are enticed to accept the fork by signing it, because they get paid additional Bitcoin which they don't own under the current valid chain, and they don't lose their block rewards for doing so, because the new chain will still pay out the coinbase + fees proportionally to the miners. The miners also can't simply embed that spend transaction they benefit from in the current chain at a higher height, because it spends a transaction (or transactions) which were already spent in the legitimate chain.

8. What happens if miners/signers sign multiple competing blocks simultaneously?
A punitive system which punishes miners who submit multiple competing signatures could be implemented (see the Slasher proposal for PoS), but then the punishment of those accounts would be embedded in some way in a future block, which the miner(s) being punished would not vote for, further antagonizing the mining/signing power.

9. What encourages miners/signers to sign at all, rather than go offline and hope other miners/signers don't?
If a miner doesn't have to be online to get their deserved reward from each block, why would they bother validating blocks and signing? If they don't get their deserved reward from each block if they don't sign the block, then it encourages miners/signers to selectively not broadcast other miners' signatures (either so that they can get a higher reward, or to undermine other miners' profitability and get a leg up).

10. What would this change do to blockchains merge-mined with Bitcoin?
Since for the Tac period, they can't use regular PoW mining, would the miner responsible for creating a particular block be the one who gets to merge-mine other chains? In the event that there isn't one delegated miner of each block, miners would all propose blocks in which they receive the merge-mining rewards from merge-mined chains, and wouldn't vote on anyone else's.
JFC
newbie
Activity: 24
Merit: 17
December 10, 2016, 06:14:08 AM
#5
1) Tic state is one day long
2) Tac state is ten years long
3) aaaaaand each coinbase scriptSig must contains the pattern:
"Hello, Federal Reserve System!"

You are right.
A very long Tac state would go against competition.
And that is the reason why the Tac state should be short enough to allow new players to enter the system every few days.
JFC
newbie
Activity: 24
Merit: 17
December 10, 2016, 05:22:11 AM
#4

Except that if you reduce all miner's energy costs by 90%, they will all use their vastly increased profits to buy many times more hashpower to maintain their share of the pie. You end up with 10x more hashpower sitting idle 90% of the time.

In the end, you'll always have: cost of total energy spent on mining = block reward + fees ...

Thanks for your comment.
You make a very interesting point here. However, I don't think the math totally adds up. In order to have 10x hash power, the miners have to invest 10x more in ASIC equipment.
10x more equipment running 1/10th of the time WOULD give you effectively the same energy consumption as the normal system, but with a few caveats:

  • The total capital investment would be (at least) 10x more, to reach the same level of rewards as today
  • In most places the energy cost would be more than 10x more, since you have to pay for the availability of that much power during much less time.
    Also infrastructure changes may be needed for the larger operations.
  • To make it more clear. At 10x the hashing power sitting idle 90% of the time you have the same energy costs and 10x more capital investment
  • Even it that were the case -which it seems to me it can not be- Tic-Tac mining would present have several advantages, namely:
    • Total hashpower of the system much larger than now, so more resiliency against rogue government attacks for instance.
    • Mining becomes more capital intensive, less reliant on cheap energy. Capital is available worldwide. Energy seems to be way cheaper in China. So...
    • The cooperation phase would bring a new block "exactly" every 10 minutes, thus having a more predictable system 90% of the time
    • The cooperation phase seems to me less prone to collusion than the competition phase. So 90% of the time the network is more secure.

Still, I think you made a valid point but -in the end- we would end up with less energy (most likely not in that factor) but more capital and hashing power.
For a Chinese miner with zero energy costs this could be a nightmare, I suppose. But in order to get a more decentralized network I think it could be positive.
legendary
Activity: 988
Merit: 1108
December 09, 2016, 11:13:04 AM
#3
As you can see, this system would preserve most of the current Proof Of Work characteristics of bitcoin mining but with a twist that allow the mining pools to put their system to rest for a significant period of time, thus saving energy and money. I've chosen the duration of the two phases in an arbitrary manner, so that, for every day of competition we'd 10 have days of minimal energy consumption.

While I can't see any major drawbacks to this system, I know how tricky game theory can be, so I'd love to hear your feedback on the idea.

Except that if you reduce all miner's energy costs by 90%, they will all use their vastly increased profits to buy many times more hashpower to maintain their share of the pie. You end up with 10x more hashpower sitting idle 90% of the time.

In the end, you'll always have: cost of total energy spent on mining = block reward + fees ...
legendary
Activity: 1260
Merit: 1019
December 09, 2016, 09:43:31 AM
#2
1) Tic state is one day long
2) Tac state is ten years long
3) aaaaaand each coinbase scriptSig must contains the pattern:
"Hello, Federal Reserve System!"
JFC
newbie
Activity: 24
Merit: 17
December 09, 2016, 05:31:37 AM
#1
Hi,

I've had recently this idea for a more ecological and economical way of mining bitcoins and I'd like to contrast it with technical minded people.

I've written a small post at https://josefemenias.wordpress.com/2016/12/07/bitcoin-coopetition-mining/ with a little more detail, but I am presenting a brief description below.

The basic idea is to alternate bitcoin mining in two phases that use competition and cooperation (relative duration is just an example):

Tic Phase - Competition. 144 blocks long
During this phase (144 blocks long for instance) everything works as always. Mining pools compete to validate and add new blocks to the blockchain.
This phase is open to anyone. After the 144th block has been mined, the network enters the Tac Phase.

Tac Phase - Cooperation. 1440 blocks long
This phase is restricted. Only those who have solved at least one block during the most recent Tic Phase can validate blocks during the Tac phase. No hashing is performed during this phase, only signing.

New blocks are added to the blockchain following these rules:
  • The cooperation phase will last for 144 x 10 blocks = 1440 blocks.
  • The rewards during this cooperation phase (fees and new coins) will be fairly distributed among the winners of the previous competition phase. Fairly should be interpreted as proportional.  That means that a mining pool that solved 7% of the blocks during the competition phase will get 7% of the total proceedings from every block mined during the competition phase.
  • Every 10 minutes a new block is created and broadcasted to the network.
  • The new block is considered valid if:
    • 1.- All of its transactions are valid.
    • 2.- It transmits the newly generated coins and any fees due in a fair manner, as described previously.
    • 3.- The block has been signed by the winners of the Tic phase. The signatures must represent more than 50% of the total network hashing power, as proven during the competition phase.
  • No hashing at all will be performed during this phase; signing will be interpreted by the network as proof enough that the block is valid. (That is where the energy savings come from, obviously).
  • In case of conflict, the block with more valid signatures is considered the valid one.
  • After the 1440th block has been mined this way, the network enters again the Tic phase.

As you can see, this system would preserve most of the current Proof Of Work characteristics of bitcoin mining but with a twist that allow the mining pools to put their system to rest for a significant period of time, thus saving energy and money. I've chosen the duration of the two phases in an arbitrary manner, so that, for every day of competition we'd 10 have days of minimal energy consumption.

While I can't see any major drawbacks to this system, I know how tricky game theory can be, so I'd love to hear your feedback on the idea.
Jump to: