Bitcoin Forum
January 22, 2022, 09:02:46 AM *
News: Latest Bitcoin Core release: 22.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1] 2 3 »
1  Bitcoin / Development & Technical Discussion / Re: A Two-Round Proof of Work instead of PoW on: November 23, 2021, 04:18:04 AM
Quote
A_hash = Hash(Block Head + sign(Block Head))
You don't have to add signatures to the block header. You can add them to the coinbase transaction, like it is done in signet, in this way you can make it backward-compatible. You can find all technical details in BIP-325: https://github.com/bitcoin/bips/blob/master/bip-0325.mediawiki.

In general, to start your network, all you need is constructing signet challenge to allow signing blocks only by those miners, which passed the initial selection. By default, signet challenge is set to 1-of-2 multisig, so only two miners can produce blocks (because it is needed to test things in more stable way than in testnet). You can change that signet challenge, just to allow only signatures that passed the first round and you will get your coin.

Thank you very much Garlonicon for the link. Yea. You are absolutely right on A_hash. It was my first intuition and then I switched to B_hash to avoid congesting the network as every miner can do all the B_hash calculation by itself. Your point on backward-compatibility is brilliant.
2  Bitcoin / Development & Technical Discussion / Re: A Two-Round Proof of Work instead of PoW on: November 22, 2021, 08:18:36 AM
Quote
And Everyone will broadcast its A_hash and everyone will know that this A_hash can be produced only by the miner itself and no one else.
You know that miners in pools are mining on pool's address? If you force them to mine on their own addresses, then they will include a transaction sending coins back to the pool (or even directly distributing rewards to previous miners, selected by the pool).
True. True.
3  Bitcoin / Development & Technical Discussion / Re: A Two-Round Proof of Work instead of PoW on: November 22, 2021, 07:55:15 AM
The problem with any variant of PoW is that it will push miners to compete on CPU ground and invest a lot of money on CPU. In such system, miners will always find a way to group themselves and form pools and monopolies. Which is against the ideal of the decentralization.

for example, only let each miner perform one hash. whichever miner comes closest to the target is the winner. and they get to mine the block.

This idea you can implement it easily. Just ask everyone to calculate their A_hash: A_hash = Hash(Block Head + sign(Block Head))
And Everyone will broadcast its A_hash and everyone will know that this A_hash can be produced only by the miner itself and no one else.

Let's call this proposal: Proof of Hash Ownership: PHO. (Harsh Ownership  or Hard Ownership).

Now the issue is how to find the consensus on the winner:
1- The closest to the target like in PoW.
2- The closest to the arithmetic average mod a Big N of all the B_hash of the network.
3- The closest to the geometric average mod a Big N of all the B_hash of the network.
4- min of all the B_hash
5- max of all the B_hash
4- Others

And the idea is how to make sure that everyone is OK on the outcome? Bitcoin PoW proposed the criteria of the fastest miner which push people to invest heavily in CPU. The criteria 2 seems to me the best as it cannot be manipulated. And also after let's say 70% of network A_hash received/collected, a miner can conclude which miner is the winner. This is thanks to the Law of large numbers. Like in Monte Carlo method. If we have a fixed list of miners Criterias 4 and 5 are the best.

In this case, we can clearly expect miners to flood the system with their X sub miners in order to win the block. The network congestion can be a problem. To solve the broadcast / congestion problem in the network we can replace A_hash by B_hash where B_hash = Hash(Block Head + Public Key). And all the miners need to keep a list of all the miners updated and do the hash calculation by themselves instead of waiting to receive it from the senders. New miners will need to announce themselves to the network first if they want to be taken into account. The first let's say 100 winners will announce themselves by broadcasting the list of all the B_hash done by themselves and the criteria result. The network will accept the block of the fastest miner among the top 100 following the criteria. Here we don't need 70% of the miners because we have the nearly full list of miners (with some exception due to eventual network issues or manipulation). All miners will be able to do the same as the winner and contest the result in case there is need. The list of miners can be updated weekly at a specific time to avoid potential issues and congestion in the network and also for all the miners to be working with the same updated list. Top 100 (or another number) is needed to have a system working efficiently. Otherwise we can have cases where a winner of a block not broadcasting the block result etc. So we need a kind of competition to force miners to have good IT systems reliable. The Top 100 will create issue of two miners claiming the same block reward. But this can be resolved by making the priority goes first to the real winner as per the criteria 1-6 if we have a problem around a chain of the same length otherwise we go for the longest chain. The good thing here, we will always be able to know who is the legitimate winner of a block. An attacker from the miner list won't be able to highjack a block because its B_hash must be among the top 100 first. And attacker outside the list won't be able to do it because it is outside the list. And by design, a selfish mining attack is impossible here. Also, no 51% attack because the system is not based on CPU power. Because even if you have huge CPU, you will still need first to be able to put yourself in the top 100 which quite random.        

A potential issue will be the list of miners can be huge as everyone will be able to create 100-1000 addresses. And this can affect the Block Time. So we need a way to keep the block time fix.

To limit miners from creating 1000+ addresses, we can, during the weekly miner list update session, impose on each address to broadcast their B_hash message signed by the address key and run another PHO round to win the chance to update the miners list. The block time can be set to 10min to allow for all the miners to send their pings. The fastest will update the list and win a reward equivalent to a Block Reward and add the block to the blockchain. And everyone else should use the list sent and signed by the winner. Once the miner list updated, the block time can be updated too based on the new list.
This part will be only on a weekly basis. It goes without saying that the genesis block should be a block that updates the mining list.

More details on the whole PHO consensus protocol here: https://drive.google.com/file/d/1Py5nZWCW2YJ-E3IcEp4_trmeTKmGWgKQ/view?usp=sharing
or here https://www.researchgate.net/publication/356554200_Proof_of_Hash_Ownership

As usual your thoughts and spicy critics are powerful and most welcome as always. 

 
4  Bitcoin / Development & Technical Discussion / Re: A Two-Round Proof of Work instead of PoW on: November 22, 2021, 07:33:39 AM
They can't pretend simply because it's "one cpu one vote". Unless they go and buy alot of cpus they won't get but one vote. they can knock themself out on getting more cpus though. But I don't think that would scale very well. which is good. Cheesy now of course, you do run up against the issue of how do you make sure that each cpu is only submitting a single hash. i haven't figured that out yet.
The idea has a lot of merit. But we need to find a way to implement it in such a way that most of honest players comply with it. Because as said by Vjudeu, miners can always create N sub-miners etc.

The other idea that I suggested along side with JPoW was to create a Placebo Proof-of-Work (PPoW): a group of miners unknowingly run the real PoW and another group of miners unknowingly run only a placebo PoW, a PoW with no hashing computation at all. And we adjust the seize of each group accordingly to get the desired number of miners to run the hash competition. But the issue again is that miners can still ignore the Placebo PoW and just use the traditional PoW disregarding the rules to win the block reward. So, I need to find a way to stop such behavior which I haven't figured that out yet.

5  Bitcoin / Development & Technical Discussion / Re: A Two-Round Proof of Work instead of PoW on: November 22, 2021, 04:05:55 AM
But I still dont see how you are stopping individual miners. I guess you're just focused on controlling mining pools.

We are not stopping individual miners but only limiting the hash computation to a group of miners at each block.

Quote
You didn't address the question about what is stopping an individual miner from just setting up a bunch of private keys and doing that hash on each one to guarantee they get a favorable hash result from at least one of them. They would most likely do that. So you must not be worried about them cheating the system in that way. Grin
If individual miners would do that then you can get dollars to donuts that larger miners would too somehow.
They can do that. But it will create for them the issue of managing a long list of addresses and keys. And that each time they will need to spend time calculating the signatures and the hashes. Which at the end may not worth it. The other idea is again to inspire from the uniqueness of car plate numbers and force miners to have ONLY ONE UNIQUE address.  

Quote
Which is why I doubt we would ever see something like this in bitcoin. Miners control the game. And they seem pretty happy with the way things are.
Yea. But this is NOT a desired outcome. Because we have a system that was supposed to be decentralized became de facto centralized in the hands of few miners. What if these few miners decided to engage in 51% attack without announcing it and steal people money.

Quote
Well I wouldn't know that I agree with you that miners would be forced to share their private keys with each other to work your system. For example, what's stopping a group of miners from creating a multisignature taproot public key? i guess it's a theoretical work around but maybe not so doable in practice hopefully for your sake!
The idea is to create a system that is as decentralized as possible. The current state of affaires is not at the best interest of Bitcoin ideologically. Today, we have few miners running the show and they can create a monopoly whenever they want to. Just another Banking system with a different name. Check this link: https://github.com/taprootactivation/Taproot-Activation
If you take the Top 8 biggest mining pools they represent over 80% of total hash rate. Total dominance of these few pools over the entire Bitcoin network. Imagine if Google, Amazon, Apple, Facebook and Microsoft decide to join the mining party.
6  Bitcoin / Development & Technical Discussion / Re: A Two-Round Proof of Work instead of PoW on: November 21, 2021, 09:19:19 AM
Quote
If (hash mod N > K), then the miner will move to the next block without calculating any hash.
It is impossible in any decentralized system. You could have some difficulty and accept only blocks with hash modulo 2 equal to zero, that would be as hard as mining with doubled difficulty, you cannot expect that people will stop mining just because your official mining software is doing that. If N is some natural power of two, then it is the same as taking some last bits of the hash. By checking blocks for the classical Proof of Work and some condition with hash modulo N, you are just rising the difficulty in some obscured way.
Yes. But like in Bitcoin, we bet that the network will be controlled by honest miners who will play by the rules. And even if they don't, their work will be simply ignored by the honest nodes and hence waste of money for the miners involved in such practice.  

Quote
Quote
the policy stipulates that cars whose license plate ends in an odd number are only allowed to circulate on odd-numbered dates and vice versa
It works, because license plates are distributed in centralized way.
Yes. There is no way to stop a miner from hashing if he want to launch his machine. But technically his hash work will go to dustbin.


Quote
Quote
The replacement of $nonce$ in PoW by $sign(nonce)$ will force the miner to either share its private key with the mining pool or calculate the hash itself.
No, it won't change anything. Miners will share their private keys with mining pools. Today they are mining directly to the pool's address, so sharing the key requires the same level of trust as today. But that's just one option. In any useful coin you can still make transactions. That means you can mine a block where you send your reward to yourself, but you can include a transaction sending some older coins to the pool. Then, the pool can accept your shares only if you paid them first, in this way you can reach the same system as you have today, but just with more transactions to obfuscate what is going on (if for example you will find a way to punish miners for sharing keys).
Indeed. But it reduces pool mining to be only between miners who can share their private keys with each others. A total trust is required. Which means that there a is large number of miners who won't be able to create pools unless they trust each other 100%. And this in itself will create a limitation in the pool formation. It won't stop it. But it is a huge limitation as miners will need first to find an address that is authorized to hash. And then run their mills using the private key of the authorized address. In comparison to today PoW, JPoW is a pain for the miners.
7  Bitcoin / Development & Technical Discussion / Re: A Two-Round Proof of Work instead of PoW on: November 21, 2021, 09:05:41 AM

Maybe I'm ignorant about how bitcoin mining works but it seems like a miner could just compute the above hash for multiple public keys they own so as to guarantee one of them hashes out to the desired constraint (less than K, I believe??)
Indeed. You are right. This is why we proposed equation (2) and (3)

Quote
Once again, if a miner has multiple private keys they'll just compute the above hash for each one.
If i was a miner, that's what I would do. Unless it was computationally too expensive.
Indeed. But it reduces pool mining to be only between miners who can share their private keys with each others. A total trust is required. Which means that there a is large number of miners who won't be able to create pools unless they trust each other 100%. And this in itself will create a limitation in the pool formation. It won't stop it. But it is a huge limitation as miners will need first to find an address that is authorized to hash. And then run their mills using the private key of the authorized address. In comparison to today PoW, JPoW is a pain for the miners.
8  Bitcoin / Development & Technical Discussion / Re: Brute-forcing Bitcoin private keys on: November 20, 2021, 07:32:29 PM
In my opinion we have around 150+ millions crypto addresses. And the market cap is 2 trillions USD.
Plus miners are ready to run their machines for any job be it mining or hacking. With Amazon AWS / Google Cloud machines ready to be used by anyone. Personally, I think it is just a question of time. I was thinking about of this issue a long while. The person / groups who will crack an address, they will most likely not announcing it.   
9  Bitcoin / Development & Technical Discussion / Re: A Two-Round Proof of Work instead of PoW on: November 20, 2021, 06:54:22 PM
Quote
Now the question what is the fraction of non-pooled miners in Bitcoin network?
You can see for example here: https://github.com/taprootactivation/Taproot-Activation. As far as I know, only the biggest pools were contacted for taproot support, there were no solo miners having some significant power. That means even if your proposal would be backward-compatible, you would ask big mining pools for support, not some independent solo miners. Of course you can rely on solo miners, but then I expect you wouldn't get more than few percent of the mining power supporting your version.
So True. Pool domination is a reality. Now we need a way to complicate life for mining pools.
So I got this new idea that I called: Jakarta Proof of Work. Instead of running a Two-Round PoW, we just directly limit the miners that are going to participate in the hash competition for a block.
Read article here: https://www.researchgate.net/publication/356414880_JPoW_and_TRPoW_Variants_of_Proof_of_Work
or directly here or google drive: https://drive.google.com/file/d/1f_a2obArSQ9kmFVeqE11ApPYTk31IYv2/view?usp=sharing
==============Begin==============
The other simple idea is to do like Jakarta’s odd-even traffic policy to limit the number of cars entering Jakarta: the policy stipulates that cars whose license plate ends in an odd number are only allowed to circulate on odd-numbered dates and vice versa. So, like in the case of Jakarta, we don't want every miner to participate in the hash computation all the time. So, we propose a Jakarta PoW (JPoW) where only miners with (hash mod N < K) where, for each block, for each miner with its public key $PublicKey$:
Equation (1):  hash = Hash(Block Head + Public Key)
If (hash mod N < K), then the miner will go for the traditional Bitcoin PoW.  If (hash mod N > K), then the miner will move to the next block without calculating any hash. $N$ and $K$ are parameters to adjust to determine the number of miners participating in the hash competition. To get a similar model like Jakarta odd-even policy, we can just choose $N=2$ and $K=1$.  When a miner receives an $nonce$ from another miner, it can easily verify that the sender is authorized to participate in the hash computation. If all is fine, it accepts the $nonce$ and moves to the next block competition. If the miner sending the $nonce$ is not authorized to participate in the hash computation, the miner receiving the $nonce$ will ignore what it received and continue solving for its own $nonce$ and listening to the network like in Bitcoin. In JPoW, if a miner ignores the rules and just go for the hash calculation, such miner will be ignored by the honest nodes in the network.
With equation (1), it will be still possible for miners that cannot participate in a hash computation to rent their machines to miners that are authorized to hash as the public keys information is available to all miners. So, to resolve this issue, we replace $Public Key$ by $sign(Block Head)$:
Equation(2): hash = Hash(Block Head + sign(Block Head))
The $sign(Block Head)$ can be produced by the miner only. And it is not available to all the miners at the time of the block creation. If a miner wants to participate in a pool, it will need to send its $sign(Block Head)$ to its pool. The pool will still be able to help on the hash calculation.
Even though $sign(Block Head)$ will slow down the process as the pool will still need to wait for its arrival before starting looking for the nonce while hashing for $Hash(Block Head + sign(Block Head) +  nonce)$. To complicate the problem further for the pool, we slightly modify the PoW and search for a nonce while hashing the following equation (3):  PoW hash = Hash(Block Head + sign(Block Head) +  sign(nonce))
The replacement of $nonce$ in PoW by $sign(nonce)$ will force the miner to either share its private key with the mining pool or calculate the hash itself. Sharing one's private key is a significant constraint and it is expected to complicate mining pool formation.
===============End====

Your comments / suggestions / critics are the most welcome as always.

 Thank you

 
10  Bitcoin / Development & Technical Discussion / Re: A Two-Round Proof of Work instead of PoW on: November 20, 2021, 02:58:17 PM
The OP appears to be proposing something that will result in only 0.1% of the miners using their equipment in the second round of mining, and the remaining 99.9% of miners will turn off their equipment during the second round.

The above is not possible due to pool mining. As an example:
If there were 10,000 pools participating in the 1st round, only 10 would make it to the second round. Once the second round starts, the miners who were mining for the 9,990 pools that are not participating in the second round would switch to one of the 10 remaining pools.

There are currently 4 major mining pools (with the likelihood of there being more that are not public). Most likely, they would all be able to participate in the second round of mining, however in the event that one pool is unable to participate in the second round, the miners mining for that pool will switch to one of the remaining pools. If a "solo miner" would be able to make it to the second round, it would make financial sense for them to "sell" the ability for others to "mine in their name" and if no pools are able to participate in the second round, all of the pool miners would "buy" the ability to mine in one of the solo miners who are participating.

tl;dr - total electric consumption will not be reduced by implementing the OP's proposal.
It is true that miners can/will organize themselves in pools and participate in the hash calculation all the time. TRPoW can still be able to reduce the total energy consumption in the network thanks to the non-pooled miners.
Now the question what is the fraction of non-pooled miners in Bitcoin network?
11  Bitcoin / Development & Technical Discussion / Re: A Two-Round Proof of Work instead of PoW on: November 19, 2021, 11:34:46 AM

Satoshi first did a lot of coding and testing, and then wrote the whitepaper. I think in many coins, things are going backwards: first there is some unchecked idea with some whitepaper, then there is some coding and testing, and later there are many big surprises, because some things were not checked before releasing the whitepaper and they are getting out of control.

Thank you very much Vjudeu for your time and your great sharing and all the links. Much appreciated Bro. I learned a lot from you since the beginning of this thread. The content you shared is brilliant.
12  Bitcoin / Development & Technical Discussion / Re: A Two-Round Proof of Work instead of PoW on: November 19, 2021, 08:51:29 AM
What would be the costs of a “two-round” Proof of Work algorithm compared to regular POW? More or less, for the same level of security? More or less, for the same incentives? What feature would make it more attractive for the mining cartel?

TRPoW does not affect the competition edge of a miner. So If everything stays the same, a miner will have a lower electricity bill with more or less the same earning potential.  So, it will reduce the miners business cost and increase their profit.

The mining cartel will make more money with less running cost.  


Have you received some feeback from a Core Developer, or from someone who is not a pleb? No offense to the members of this forum. Plus no offense to you, but how can we know that your proposal isn’t like the Space Ghost meme that says, “I am new to Bitcoin, and I am here to fix it”?
Be cool baby. Things will come in their due time. Stay tuned.
13  Bitcoin / Development & Technical Discussion / Re: A Two-Round Proof of Work instead of PoW on: November 19, 2021, 06:51:09 AM
What would be the costs of a “two-round” Proof of Work algorithm compared to regular POW? More or less, for the same level of security? More or less, for the same incentives? What feature would make it more attractive for the mining cartel?
TRPoW does not affect the competition edge of a miner. So If everything stays the same, a miner will have a lower electricity bill
with more or less the same earning potential.  So, it will reduce the miners business cost and increase their profit.
The mining cartel will make more money with less running cost.  
14  Bitcoin / Development & Technical Discussion / Re: A Two-Round Proof of Work instead of PoW on: November 18, 2021, 10:13:07 AM

I think it's great just how it is regarding Proof of work. But I'm always interested to learn of other blockchains using alternatives to pure proof of work. Like chiacoin.  Grin

Proof of Space is driving the hard disk drive market crazy I read in the news. 
15  Bitcoin / Development & Technical Discussion / Re: A Two-Round Proof of Work instead of PoW on: November 18, 2021, 10:07:55 AM
Which will help the environment by reducing the machines production

On the contrary. Even if your scheme worked, and you could force miners to sit idle 80% of the time,
that means they'll reinvest the saved electricity costs into buying MUCH MORE hardware to stay competitive.

As long as Bitcoin issues $50M dollar's worth every day, we can expect miners to collectively spend nearly that much money in competing for it.

All you achieve is a shift from electricity costs to hardware costs.


Good point.  High prices will drive competition crazy and we can expect miners to do whatever needed to make more money.
TRPoW does not affect the competition edge of a miner. So If everything stays the same, a miner will have a lower electricity bill
with more or less the same earning potential.  So, it will reduce the miners business cost and increase their profit.
16  Bitcoin / Development & Technical Discussion / Re: A Two-Round Proof of Work instead of PoW on: November 18, 2021, 04:19:49 AM


I don't think TRPoW is a recipe for disaster. Far from it. Keep in mind that Bitcoin worked with small group of miners for many years.


that was before bitcoin exploded onto the world scene. the whole world depends on it now and i dont know if there's any justification for trying to reduce energy consumption. for example, do you think bitcoin miners are just going to let their hardware sit idle for 8 minutes? or however long the 2nd round lasts? they'll divert their hashing power to something else for that amount of time and then bring it back when the next round 1 starts. so all you're really accomplishing is weakening your own network by letting go of some of its hashing power which will get used somewhere else. it's not a net gain for the environment. it's neutral.

the hardware is there. it's going to be running and hashing something. you might as well take advantage of it fully, which is what bitcoin currently does. thats how i see it anyway. Grin we don't care about cardona or ethereum here. so we dont want bitcoin hardware being diverted to strengthen those networks.

Hi Larry,

I do see your point very well.
But I think the question is a bit more philosophical: Just because we have a machine does this means that we need to use it at all cost and all the time?
We don't use our Laptop / Car all the time just because we bought them. We only use them when we need them.
Although the mining hardware is there, we still need Electricity to make it work. So the question now what is the tradeoff between electricity consumption and the hardware usage over a long run ?
It is known that the intensive usage of a hardware make it wear quickly.
So We can see TRPoW as way of reducing usage of mining machines which will make them last longer.

For the sake of argument, let's say Round 1 lasts 2min each 10min of Block Time. This means that the mining machines will be used 20% of the time. We can hope this will extend their lifetime by a factor of 5! I know the equation is not linear. Which will help the environment by reducing the machines production and the electricity consumption. The other benefit is against the Selfish mining attack.
TRPoW will make Bitcoin great again!!!

What do you thing?          
17  Bitcoin / Development & Technical Discussion / Re: A Two-Round Proof of Work instead of PoW on: November 17, 2021, 07:08:38 AM
Quote
I don't think TRPoW is a recipe for disaster.
Then go for it, release just another altcoin and see how it will turn out. You can release some kind of test network first, just to check if your theory works in practice.

Totally agreed with you. I think the idea needs to be tested. At least for the sake of the experiment. 

Quote
You can also see Bitcoin with PoW as Bitcoin with TRPoW where N2 = N1.
You can make it backward-compatible, just by producing first-phase blocks as today and adding some rules to enforce second-phase for these blocks. The simplest way to do that could be using difficulty to decide, how long the second nonce should be. Then you have previous block hash with some zeros, you can place your second-phase nonce there, then taking a single 80-byte block header is enough.

For example:
Code:
FirstRoundHeader {
  version=01000000
  previousBlockHash=6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000
  merkleRoot=982051fd1e4ba744bbbe680e1fee14677ba1a3c3540bf7b1cdb606e857233e0e
  time=61bc6649
  difficulty=ffff001d
  nonce=01e36299
}

SecondRoundHeader {
  version=01000000
  previousBlockPartialHash=6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000
  secondNonce=000000
  merkleRoot=982051fd1e4ba744bbbe680e1fee14677ba1a3c3540bf7b1cdb606e857233e0e
  time=61bc6649
  difficulty=ffff001d
  nonce=01e36299
}
Because you can see 0x1d value in the difficulty, you know that you can take three bytes from the previous block hash and there must be zeroes to be valid. Also, there is no need for adding any public key to the block header, because it is already calculated in the merkle root. Also, you can add more fields to each header in the coinbase transaction if you really need them, there is no need to add them directly to your headers.

Thank you Garlonicon for these great and precious ideas/suggestions. Much appreciated. Let's me think of it. I will update you here in all cases.
18  Bitcoin / Development & Technical Discussion / Re: A Two-Round Proof of Work instead of PoW on: November 17, 2021, 04:30:07 AM

It's not even necessarily economical. People will just ramp up their hashing power for round 1 to try and get into round 2 so the energy expenditure over those 2 minutes would rise way above normal.

And then for the other 8 minutes, they got the bitcoin network by the balls so to speak. Relying on a small subset of miner hashing power. Sounds like a recipe for disaster. But I do admire the OP for defending his proposal and taking the time and effort to discuss it here.


I don't think TRPoW is a recipe for disaster. Far from it. Keep in mind that Bitcoin worked with small group of miners for many years.

As I wrote to you previously. We can find an optimal value of N2 that does not undermine the security of Bitcoin with TRPoW. Intuitively an upper bound of such value is O(SquareRoot N1). Assuming that the winner of Second Round is among N2 List of N2 miners instead of only N2 first miners. I think an optimal value of N2 could be in O(Log(N1)) based on a similar calculation done by EPFL Distributed Algo team: https://arxiv.org/abs/1908.01738

You can also see Bitcoin with PoW as Bitcoin with TRPoW where N2 = N1.

If we assume for the sake of argument that N1 = 1000000 and N2 = Square Root of N1 = 1000.
The reduction of energy can go drastically because we will have 1000 000  - 1000 = 999 000 miners (99.9% of the network) not doing the Second Round. We will save huge amount of electricity without undermining the security of the blockchain.
19  Bitcoin / Development & Technical Discussion / Re: A Two-Round Proof of Work instead of PoW on: November 16, 2021, 03:22:36 PM
Quote
You would need a way to prevent the knowledge of the winner for 8 minutes so that nobody can start on the next block before the 10 minutes have past.
Even if you can successfully prevent that knowledge for 8 minutes, someone can still start working on some randomly chosen block and have hope it will give some boost on average, where other miners will be idle. Also, you need at least two candidates, in other case any obfuscation of the winner is pointless. Does it mean that nobody can start the chain alone by using the official miner?

Another thing is getting the right to mine: one miner can pretend to be N miners or can just own many mining machines and assign different keys to each of them. Then, if the list of participants is known, any miner can try to extend any block, just by checking each of them sequentially, or even assigning different threads to different blocks. Extending one of N blocks has the same probability as extending some chosen block. Because having a chance to mine the right block is better than having no chances by being idle, people will run their machines all the time.

Great point indeed.
20  Bitcoin / Development & Technical Discussion / Re: A Two-Round Proof of Work instead of PoW on: November 16, 2021, 02:45:09 PM


tl;dr - total electric consumption will not be reduced by implementing the OP's proposal.

I'm sure the miners wouldn't be supporting such a thing because it just makes it even harder for them to get a reward.

Quote
Also, if there are millions of miners and you randomly select 100 of them, you encourage the rest of the miners to form mining pools. Then, you will end up in a situation where 100 miners are selected as before, but there are only 100 huge mining pools, they always get everything and distribute that to smaller miners. Almost no solo miner will follow your system if that miner will be rewarded once per month, because the risk of price drop after entering exchange is higher than the potential reward from solo mining.

I wonder if the people that wrote that paper realized that. that's thinking ahead! Grin the bitcoin mining system is really hard to make changes to without causing things to get "out of whack" Grin

This is similar to say that miners will organize themselves in big pools to organize a 51% attack on Bitcoin network. It did not happen so far.
No. The miners have incentives to not 51% attack the network. If they try this, the value of their equipment to drop >99% overnight.

Miners engaging in activity similar to what I described is similar to miners attempting to keeping their equipment that has a limited shelf life working as much as possible.

The N2 number of miners of the second Round is also adjustable like the complexity algorithm in PoW that is adjusted every 2016 Block.
Plus In Round 1 we are hashing Hash(Block Head + PublicKey + Nonce). So I don't know how this is going to force miners to organize in big pools. The Public Key of a miner has the benefit of limiting the formation of pools. In BTC PoW there is no public key in the hash. In TRPoW, the hash result is public key dependent.    

 
The public key associated with the address 1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY belongs to the mining pool f2pool. There are thousands (if not more) of miners who mine on f2pool, but all of f2pool's found blocks payout to the above address.

If f2pool makes it to the second round, any miner who is not participating in the second round will switch to mining on f2pool, or another pool that is participating in the second round. If a miner sits idle (or is not otherwise producing work that has the potential to find a block) during the second round, their equipment is losing out on potential value.

I agree with you on this. It is a good solution for the pool miners to use public key in the hash but it increases the complexity of the problem they are trying to solving.

The PoW job is also to maintain the Block Time at 10min. We can achieve that by just making everyone wait for that 10min minus delay/network broadcasting time etc.
Say round 1 only takes 2 minutes to get 100 miners. Then you just wait 8 minutes to select the "winner".  That's a 10 minute block time. So it saves 8 minutes of hashing. Less global warming.

You would need a way to prevent the knowledge of the winner for 8 minutes so that nobody can start on the next block before the 10 minutes have past.
The difficulty of the first round could be "x", and the difficulty of the second round would be "10000x". Each of the miners who are "selected" during the first round could need to have their "block" include the hash of the previous block, and the first "block" in the first round would need to include the hash of block found in the second round. The found block in the second round would need to sign the hash of the last block of the first round. This is very similar to how bitcoin mining occurs today.

Let's me think of the last part slowly. 
Pages: [1] 2 3 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!