Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Anarc Senior on November 27, 2017, 06:34:28 AM



Title: 10 minutes blockchain vs difficulty level
Post by: Anarc Senior on November 27, 2017, 06:34:28 AM
I apologize if I ask the following  obvious questions and perhaps risk wasting everyone's time.  But, I have these nagging questions for a while now:

1).  As I understand it, the 10 minutes delay is to create a new block that there's enough/ sufficient time to fill and confirm the transactions (globally).  But isn't it quite wasteful to keep adjusting the difficulty level to maintain the 10 minutes delay ?  What is so special about the 10 minutes delay?  Has there been any study to quantify more accurately the amount of time to reach the nodes globally ?

2). Let say if we don't have to worry about the trust issue,  in theory we only need one, or perhaps two confirmations right ?  So for the remaining 51% confirmations is essentially to ensure that there's  no cheating could happen.  I got that so far...

3). But what if we could accomplish item#1 and #2 in 5 minutes, 3 minutes or even 30 seconds - shouldn't that be a good thing ?  Why make it more difficult, delay until 10 minutes and empowering expensive equipment ? That seems to feed into the endless cycles of who's got bigger and faster mining capability?  Understand that it seems to justify the rise in bitcoin price...

4). What about making the 51st % node (with the longest chain) to be a lucky lottery winner and avoid increasing the difficulty level and eliminate  the need for fancy equipment and energy burning all together -wouldn't that be more fair and efficient ways to utilize energy and resources ? At the same time avoiding the centralization of miners all together ??

I am guessing that this is too simple and too good to be true - but I have to ask...

Thank you in advance for your reply/ input !



Title: Re: 10 minutes blockchain vs difficulty level
Post by: aleksej996 on November 27, 2017, 09:19:36 AM
Yeah, this would be nice, but everything has it's drawbacks. Satoshi considered all of this, but this was the best solution he could think of.
More you wait, the bigger security, there is just no surpassing that.
1) 10 minutes was thought to be enough to make Bitcoin very fast. Decreasing the average time between blocks increases the risks of orphan blocks. You need to understand that 10 minutes are an average time between blocks, some are closer together.
2 and 3) It isn't about confirmations, it isn't that simple. If you decrease the confirmation time then you decrease the security of that one confirmation and need to have multiple to reach the same security level. And as I said above, that has big drawbacks. There is a reason that 6 confirmations are recommended. Orphan blocks have to happen every now and then, that is just up to chance. The longest orphan chain was 4 blocks long, as far as I know.
4) That would just mean that security of Bitcoin isn't present at all times. Every now and then an attacker would get control of the whole Bitcoin network and during that time Bitcoin would be insecure. A financial system that is secure sometime isn't worth anything.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: HeRetiK on November 27, 2017, 08:36:57 PM
1).  As I understand it, the 10 minutes delay is to create a new block that there's enough/ sufficient time to fill and confirm the transactions (globally).  But isn't it quite wasteful to keep adjusting the difficulty level to maintain the 10 minutes delay ?  What is so special about the 10 minutes delay?  Has there been any study to quantify more accurately the amount of time to reach the nodes globally ?

You're not going to get the network any more energy efficient -- ie. higher transaction throughput for less electricity spent -- by simply decreasing the block interval. Apart from the orphan / propagation problem that aleksej already mentioned, this would also cause the blockchain to grow faster than is likely sustainable for healthy node decentralization.


2). Let say if we don't have to worry about the trust issue,  in theory we only need one, or perhaps two confirmations right ?  So for the remaining 51% confirmations is essentially to ensure that there's  no cheating could happen.  I got that so far...

Yes. In practice you can very well accept small transactions with just one confirmation. If it weren't for a full mempool, even zero confirmations would be fine for some cases.


3). But what if we could accomplish item#1 and #2 in 5 minutes, 3 minutes or even 30 seconds - shouldn't that be a good thing ?  Why make it more difficult, delay until 10 minutes and empowering expensive equipment ? That seems to feed into the endless cycles of who's got bigger and faster mining capability?  Understand that it seems to justify the rise in bitcoin price...

Hashrate will always be a reflection of Bitcoin's price and the size of its block rewards / transaction fees. As long as its profitable to squeeze some more miners in, that's exactly what's going to happen. Block intervals have little to do with mining profitability and reducing block intervals would not cause a decrease in hashrate.

All things equal, the only way to reduce electricity spent on Bitcoin is by reducing the block reward. Which is exactly what is happening every ~4 years. It's just that Bitcoin's price and thus mining profitability has always managed to keep up with the decline of mining profitability caused by the halvings -- and then some.


4). What about making the 51st % node (with the longest chain) to be a lucky lottery winner and avoid increasing the difficulty level and eliminate  the need for fancy equipment and energy burning all together -wouldn't that be more fair and efficient ways to utilize energy and resources ? At the same time avoiding the centralization of miners all together ??

I don't understand what you are trying to suggest. What, according to your definition, would be the 51st % node? Every node follows the longest chain. Every miner that creates a new block by definition has prolonged the longest chain and thus created the longest chain.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Anarc Senior on November 28, 2017, 08:17:45 AM
Thank you Gentlemen:  for your informative and kind responses.  As you could tell that I still have a lot to learn, but better late than never...

Regarding the item #4, forgive for being confused about how a Block get confirmed and awarded to a miner...I read somewhere that it would take 51% of nodes to confirm a block, but I think that 51% only applies to forks perhaps ?

If I understand correctly now, the block with longest chain won the rewards after ~ 10 minutes.

I'm still trying to figure that if it is possible that miners to win rewards purely base on randomness- like a lottery, rather than base on how expensive, and high power equipment...essentially leveling the playing field.  Wouldn't that eliminate the unfair advantage of large mining companies vs smaller individual miner  ?  And decentralize the mining portion of blockchain ?  I just don't think adjusting the difficulty level is the most sufficient way to confirm blockchain ?

On a good note:  I finally get a round to setup my MacBook Pro to be a bitcoin core full node...

Thanks







Title: Re: 10 minutes blockchain vs difficulty level
Post by: master2080 on November 28, 2017, 11:29:03 AM
A miner gets a 'reward' after confirming a block and adding it to the chain, then after 101 confirmations he may use those rewards.

Until then, he is unable to spend the reward.

The 51% is regarding forks mostly, which directly influences who gets the reward for a certain block.

I'm still trying to figure that if it is possible that miners to win rewards purely base on randomness- like a lottery, rather than base on how expensive, and high power equipment...essentially leveling the playing field.

Of course you can. Mining is basically a lottery anyway, better equipment just lets you buy more tickets.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: mobi1981 on November 28, 2017, 11:36:30 AM
A miner gets a 'reward' after confirming a block and adding it to the chain, then after 101 confirmations he may use those rewards.

Until then, he is unable to spend the reward.

The 51% is regarding forks mostly, which directly influences who gets the reward for a certain block.

I'm still trying to figure that if it is possible that miners to win rewards purely base on randomness- like a lottery, rather than base on how expensive, and high power equipment...essentially leveling the playing field.

Of course you can. Mining is basically a lottery anyway, better equipment just lets you buy more tickets.
in current situation, do u still think mining is good in BTC?


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Andre_Goldman on November 28, 2017, 11:45:36 AM
I apologize if I ask the following  obvious questions and perhaps risk wasting everyone's time.  But, I have these nagging questions for a while now:

1).  As I understand it, the 10 minutes delay is to create a new block that there's enough/ sufficient time to fill and confirm the transactions (globally).  But isn't it quite wasteful to keep adjusting the difficulty level to maintain the 10 minutes delay ?  What is so special about the 10 minutes delay?  Has there been any study to quantify more accurately the amount of time to reach the nodes globally ?


globally
That is a tough question ... are we talking about users ? nodes ? tx's ? if we talking about scale we need a metric isn't it ?


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Monartis on November 28, 2017, 11:50:38 AM
Certainly feels like the issue of energy consumption in relation to Bitcoin has been rising up the agenda and that change is probably needed sooner, rather than later.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: donovank on November 28, 2017, 03:40:56 PM
You can act as a node in the network, checking for added blocks in the blockchain sequences.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Anarc Senior on December 01, 2017, 03:55:19 AM
Of course you can. Mining is basically a lottery anyway, better equipment just lets you buy more tickets.
[/quote]

I wish better equipment is just simply buying more tickets - but we all know there's more to it...they essentially force all individual miners out of business - they change the way the lottery being drawn, they have the power to (almost successfully) changing the lottery rules of engagement...I don't think this is just a simple case of buying more tickets in hoping to get a better change of winning at the present time, but to influent the future winning.  Specifically in favor for one group of people vs the rest of the population.  We could call it what ever we'd like, but in reality, it is just flat out monopoly !

I also know enough to embrace the idea of competition and reward to advance technology and serve the common interests.  But competition should not impede progress, as some of us whose have been around long enough to see the effect of VHS vs Beta format or Windows vs Linus...and having to cough up to $300 for a marginal operating software for your PC.



Title: Re: 10 minutes blockchain vs difficulty level
Post by: ranochigo on December 01, 2017, 11:08:40 AM
1).  As I understand it, the 10 minutes delay is to create a new block that there's enough/ sufficient time to fill and confirm the transactions (globally). But isn't it quite wasteful to keep adjusting the difficulty level to maintain the 10 minutes delay ?
Why would it be? It's there also to ensure that the supply of Bitcoins would be evenly distributed.
What is so special about the 10 minutes delay?  Has there been any study to quantify more accurately the amount of time to reach the nodes globally ?
I believe that Satoshi chose this specific amount of time so that there would be lesser number of orphans blocks. If the intervals of the blocks gets too fast, then there is a higher chance with two or more miner generating a block at the same block height. This would pose as a risk for merchants, I'll explain more below.

2). Let say if we don't have to worry about the trust issue,  in theory we only need one, or perhaps two confirmations right ?  So for the remaining 51% confirmations is essentially to ensure that there's  no cheating could happen.  I got that so far...
In theory, you don't need any, if you have no trust issue. Confirmation is just a way to imprint transactions into the Blockchain. Once its included in a block, it is inside the Blockchain and you need immense power to reverse it. There's no such thing as 51% of confirmation.

Anyway, just to elaborate on the point I made before this quote. Imagine that there's two forks at the same block height of 15. One of the blocks has transaction A inside it and the other doesn't. If the difficulty of producing blocks is low, then the fork could potentially grow. If at any point, either of the fork overtakes the other, the slower chain would be orphaned. If transaction A was included in the orphaned chain, it would be back to unconfirmed and anyone can double spend it. With a longer interval, this would have a lesser chance of happening.

3). But what if we could accomplish item#1 and #2 in 5 minutes, 3 minutes or even 30 seconds - shouldn't that be a good thing ?  Why make it more difficult, delay until 10 minutes and empowering expensive equipment ? That seems to feed into the endless cycles of who's got bigger and faster mining capability?  Understand that it seems to justify the rise in bitcoin price...
Of course, of course. First of all, we are trading something for Bitcoin and in this case, miners are giving up their electricity and investments to try to earn Bitcoins. If everyone were to be able to generate the same amount of Bitcoin as before, there would be zero point of mining. If I can generate 1 coin at 1GH/s my whole life, Bitcoin wouldn't have the value it has today, nothing near it.

Refer to point 2 and 1. If you're having better hardware, you should be receiving more proportionately. Doesn't make sense for anyone to develop miners if you don't get more for having faster miners.
4). What about making the 51st % node (with the longest chain) to be a lucky lottery winner and avoid increasing the difficulty level and eliminate  the need for fancy equipment and energy burning all together -wouldn't that be more fair and efficient ways to utilize energy and resources ? At the same time avoiding the centralization of miners all together ??
Honestly, I really don't get what is a 51% node. It doesn't make sense at all.



Regarding the item #4, forgive for being confused about how a Block get confirmed and awarded to a miner...I read somewhere that it would take 51% of nodes to confirm a block, but I think that 51% only applies to forks perhaps ?

If I understand correctly now, the block with longest chain won the rewards after ~ 10 minutes.
Given that you have 2 forks A & B. If you mine a block on fork A such that it becomes longer than fork B, you will get the reward and the other chain is orphaned, vice versa.

I'm still trying to figure that if it is possible that miners to win rewards purely base on randomness- like a lottery, rather than base on how expensive, and high power equipment...essentially leveling the playing field.  Wouldn't that eliminate the unfair advantage of large mining companies vs smaller individual miner  ?  And decentralize the mining portion of blockchain ?  I just don't think adjusting the difficulty level is the most sufficient way to confirm blockchain ?
I don't see any reason to make mining a lottery game. Mining should always be based on the amount of power a miner has. If you don't have sufficient amount of money or land, don't mine Bitcoins.


I wish better equipment is just simply buying more tickets - but we all know there's more to it...they essentially force all individual miners out of business - they change the way the lottery being drawn, they have the power to (almost successfully) changing the lottery rules of engagement...I don't think this is just a simple case of buying more tickets in hoping to get a better change of winning at the present time, but to influent the future winning.  Specifically in favor for one group of people vs the rest of the population.  We could call it what ever we'd like, but in reality, it is just flat out monopoly !
Of course. We are using a "currency", not some game credits. If you have more power, of course you have a higher chance. The mining process is totally dependent on how much hashpower you have or how many hashes can you try.

Isn't it well known that you would get better rates by ordering a bulk of stuff? If you want to have the same advantage as them, get a huge warehouse, loads of electricity and loads of ASICs.
I also know enough to embrace the idea of competition and reward to advance technology and serve the common interests.  But competition should not impede progress, as some of us whose have been around long enough to see the effect of VHS vs Beta format or Windows vs Linus...and having to cough up to $300 for a marginal operating software for your PC.
You can still mine Bitcoins, why not? Just get an ASIC.

If there is a higher hashrate overall, the difficulty of anyone executing a 51% attack is harder. I don't see anything bad with helping to secure the network even if it means I can't get free Bitcoins.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: brontosaurus on December 01, 2017, 09:31:13 PM
I apologize if I ask the following  obvious questions and perhaps risk wasting everyone's time.  But, I have these nagging questions for a while now:

1).  As I understand it, the 10 minutes delay is to create a new block that there's enough/ sufficient time to fill and confirm the transactions (globally).  But isn't it quite wasteful to keep adjusting the difficulty level to maintain the 10 minutes delay ?  What is so special about the 10 minutes delay?  Has there been any study to quantify more accurately the amount of time to reach the nodes globally ?
See to maintain an equilibrium between the swiftness of transactions and limited supply of bitcoin this delay of 10 minutes was set. If there would have been no delay time miners could have even found hundreds of blocks within seconds using the current amount of technology. Moreover the problem of blocks with quite less or even zero number of transactions would also increase. Such blocks would just add some wasteful load over the network.
Quote
2). Let say if we don't have to worry about the trust issue,  in theory we only need one, or perhaps two confirmations right ?  So for the remaining 51% confirmations is essentially to ensure that there's  no cheating could happen.  I got that so far...
Ofcourse its possible but have you ever heard about reversal of transactions? Any bitcoin transaction processed can be manipulated and reversed by someone with good amount of computing power and knowledge. More amount of confirmations make sure that the block becomes almost immovable thus no way to reverse the transactions. Generally 6 confirmations are considered quite good.
Quote
3). But what if we could accomplish item#1 and #2 in 5 minutes, 3 minutes or even 30 seconds - shouldn't that be a good thing ?  Why make it more difficult, delay until 10 minutes and empowering expensive equipment ? That seems to feed into the endless cycles of who's got bigger and faster mining capability?  Understand that it seems to justify the rise in bitcoin price...
Yes, we could but the problem would be the same you will see more amount of blocks with lesser transactions getting confirmed things are not going to change because ultimately one block would contain lesser number of transactions which need to be in same number of blocks to get all confirmations.
Quote
4). What about making the 51st % node (with the longest chain) to be a lucky lottery winner and avoid increasing the difficulty level and eliminate  the need for fancy equipment and energy burning all together -wouldn't that be more fair and efficient ways to utilize energy and resources ? At the same time avoiding the centralization of miners all together ??
But it would decrease the amount of competitiveness in mining. More number of miners will enter the market. Infact everyone would just leave everything and mine because its a "chance" that they might find some bitcoin out of this task with no increased efforts in technology. Along with making bitcoin decentralize it will eliminate its whole purpose to be used as currency.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Anarc Senior on December 02, 2017, 06:52:54 AM
But it would decrease the amount of competitiveness in mining. More number of miners will enter the market. Infact everyone would just leave everything and mine because its a "chance" that they might find some bitcoin out of this task with no increased efforts in technology. Along with making bitcoin decentralize it will eliminate its whole purpose to be used as currency.
[/quote]

I disagree:  what you described is actually an  "unfair competitive advantage" not "competitive".  The more people whose get an opportunity to participate, the more competitive it would become, not less.  If you create a higher barrier to entry for mining, you are not being competitive, you are a monopoly- same as cheating...

Not to be confused between "better technology" vs more capital to purchase large mining farm...


Title: Re: 10 minutes blockchain vs difficulty level
Post by: ranochigo on December 02, 2017, 12:32:24 PM
I disagree:  what you described is actually an  "unfair competitive advantage" not "competitive".  The more people whose get an opportunity to participate, the more competitive it would become, not less.  If you create a higher barrier to entry for mining, you are not being competitive, you are a monopoly- same as cheating...

Not to be confused between "better technology" vs more capital to purchase large mining farm...
Anyone can mine, its just who would profit more. Mining isn't a way to get easy money. Think about it, the purpose of proof of work is to distribute coin with the concept of it being difficult in mind. If you have more resources, you would obviously be able to get more stuff. In Bitcoin, the competitiveness of mining is with who has more hashrate and not how many people are able to mine. We don't need it to competitive either.

Okay, lets put all that aside. If you were to let everyone generate Bitcoins, how do you make Bitcoin so scarce? It would simply defeat the purpose of having a fixed market cap and is essentially just your traditional fiat isn't it?


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Anarc Senior on December 02, 2017, 06:27:51 PM
I disagree:  what you described is actually an  "unfair competitive advantage" not "competitive".  The more people whose get an opportunity to participate, the more competitive it would become, not less.  If you create a higher barrier to entry for mining, you are not being competitive, you are a monopoly- same as cheating...

Not to be confused between "better technology" vs more capital to purchase large mining farm...
Anyone can mine, its just who would profit more. Mining isn't a way to get easy money. Think about it, the purpose of proof of work is to distribute coin with the concept of it being difficult in mind. If you have more resources, you would obviously be able to get more stuff. In Bitcoin, the competitiveness of mining is with who has more hashrate and not how many people are able to mine. We don't need it to competitive either.

Okay, lets put all that aside. If you were to let everyone generate Bitcoins, how do you make Bitcoin so scarce? It would simply defeat the purpose of having a fixed market cap and is essentially just your traditional fiat isn't it?

The rate of bitcoin being produced is absolutely fixed - currently it is approximately 12.5 bitcoins can be harvested every 10 minutes.  That is not the debate here !  The question here is how and who get to earn them ?  Do we want a few large conglomerates mining companies to control the mining or the larger population whose could get a shot at earning the Bitcoins ??


Title: Re: 10 minutes blockchain vs difficulty level
Post by: ranochigo on December 02, 2017, 06:40:54 PM
The rate of bitcoin being produced is absolutely fixed - currently it is approximately 12.5 bitcoins can be harvested every 10 minutes.  That is not the debate here !  The question here is how and who get to earn them ?  Do we want a few large conglomerates mining companies to control the mining or the larger population whose could get a shot at earning the Bitcoins ??
Obviously. Aren't you suggesting that we don't adjust the difficulty of Bitcoin such that it never changes so everyone can have a chance at earning a decent amount of Bitcoin?

I'm talking about market cap. That is the factor that you are influencing. By fixing the difficulty and not changing the block reward, you are essentially increasing the market cap. Even if you're not fixing the difficulty, based on your motivations, you are still increasing the market cap. That is the main issue here.

Of course we want it to be decentralised. So do we want Bitcoin to be stable and secure or would you want an altcoin which everyone can easily obtain and is very unstable and insecure? The tradeoff for only mining to be controlled by a minority is that most people can't mine. I don't see anything bad in that. Want to make money? Invest some resources. It doesn't grow on trees.

The point is, with more resources, you are sure to do better. That's the basics. If you restrict it to CPU mining only, such that most people can mine it, botnet owners would have a great time counting money.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: brontosaurus on December 02, 2017, 07:12:40 PM
But it would decrease the amount of competitiveness in mining. More number of miners will enter the market. Infact everyone would just leave everything and mine because its a "chance" that they might find some bitcoin out of this task with no increased efforts in technology. Along with making bitcoin decentralize it will eliminate its whole purpose to be used as currency.

I disagree:  what you described is actually an  "unfair competitive advantage" not "competitive".  The more people whose get an opportunity to participate, the more competitive it would become, not less.  If you create a higher barrier to entry for mining, you are not being competitive, you are a monopoly- same as cheating...

Not to be confused between "better technology" vs more capital to purchase large mining farm...
[/quote]
What I wanted to say with decreased competitiveness was that the quality of competition would fall because the new entrants would not be able to bring equal amount of capital. Better technology doesn't gets build up in the air. One has to invest capital to gain certain technology. But what I meant was that making it like lottery system would decrease the motivational incentive as people would become reluctant in becoming new technology because rewards would be based merely on who mines the 51st block.

But if you say that we can normalize difficulty then this would merely bring everyone on mining. And if we imagine a whole crypto world. Everyone would just do mining with their personal computers in hand. There just won't be any other job. By employing everyone on same job you can't say that you are increasing competition to make bitcoin decentralized.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Anarc Senior on December 02, 2017, 07:39:02 PM
The rate of bitcoin being produced is absolutely fixed - currently it is approximately 12.5 bitcoins can be harvested every 10 minutes.  That is not the debate here !  The question here is how and who get to earn them ?  Do we want a few large conglomerates mining companies to control the mining or the larger population whose could get a shot at earning the Bitcoins ??
Obviously. Aren't you suggesting that we don't adjust the difficulty of Bitcoin such that it never changes so everyone can have a chance at earning a decent amount of Bitcoin?

I'm talking about market cap. That is the factor that you are influencing. By fixing the difficulty and not changing the block reward, you are essentially increasing the market cap. Even if you're not fixing the difficulty, based on your motivations, you are still increasing the market cap. That is the main issue here.

Of course we want it to be decentralised. So do we want Bitcoin to be stable and secure or would you want an altcoin which everyone can easily obtain and is very unstable and insecure? The tradeoff for only mining to be controlled by a minority is that most people can't mine. I don't see anything bad in that. Want to make money? Invest some resources. It doesn't grow on trees.

The point is, with more resources, you are sure to do better. That's the basics. If you restrict it to CPU mining only, such that most people can mine it, botnet owners would have a great time counting money.

You seems to make one point, which perhaps could be true:  but we need concrete evidences to be convinced:

1). Consider the hash rate and its level of difficulty is within a black box:  from the end users standpoint, there are 12.5 bitcoins being produced every 10 minutes - no more, no less.  I cannot fatom or see any clear evidence that the higher hash rate, difficulty would directly correlate to a larger market cap of bitcoin ??

2). I don't believe for one second that more powerful and faster computers is the absolute single solution to have a secured blockchain, which would maintains its scarcity and holding its high value.  IMHO, higher hash rate is unnecessary and a completely waste of time and energy - its sole purpose is merely to give people a delusional
perceptions of some "intrinsic values" built in with the newly mined bitcoins with the higher hashrate and high level of difficulty !!  Which we all know is a complete BS !

3). More expensive equipment  and larger pool of miners do not equate to true technological innovation- let more general population in the task and soon there will be true competitition and innovation emerging...

[/quote] The tradeoff for only mining to be controlled by a minority is that most people can't mine. I don't see anything bad in that. Want to make money? Invest some resources. It doesn't grow on trees.[/quote]. You have jut described a text book definition of Centralization !




Title: Re: 10 minutes blockchain vs difficulty level
Post by: haltingprobability on December 02, 2017, 08:23:17 PM
Wow, a lot of bolded text in this thread...  8)

Regarding the item #4, forgive for being confused about how a Block get confirmed and awarded to a miner...I read somewhere that it would take 51% of nodes to confirm a block, but I think that 51% only applies to forks perhaps ?

51% is theoretical. Each node makes an independent choice of which chain to follow. We expect that full nodes will always follow the chain with longest proof-of-work, among valid chains (invalid chains will be rejected by all nodes). It can happen that two valid blocks are mined almost simultaneously. Rather than trying to figure out "which block was really mined first", the network just waits to see which block will get extended by the mining nodes. So, if A&B appear almost simultaneously, then the network will wait for C to appear - C must either extend A or extend B. This can happen multiple times and the network will handle it just fine, although affected transactions will be in an uncertain status until the chain is fully resolved. This is why large transactions need to wait at least 6 blocks (1 hour) to confirm.

Quote
I'm still trying to figure that if it is possible that miners to win rewards purely base on randomness- like a lottery, rather than base on how expensive, and high power equipment...essentially leveling the playing field.

Bitcoin mining is a lottery, a distributed lottery. You get lottery tickets by running mining equipment. The more mining equipment you run and the faster your mining equipment, the more tickets you are scratching. So, miners will build as many machines as is profitable given electricity price versus block reward + tx fees so they can scratch as many lottery tickets as possible.

Quote
Wouldn't that eliminate the unfair advantage of large mining companies vs smaller individual miner  ?  And decentralize the mining portion of blockchain ?  I just don't think adjusting the difficulty level is the most sufficient way to confirm blockchain ?

There is no unfair advantage. You can mine Bitcoins for about $4k - just buy a mining rig and join a mining pool.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Anarc Senior on December 02, 2017, 08:27:12 PM



The point is, with more resources, you are sure to do better. That's the basics. If you restrict it to CPU mining only, such that most people can mine it, botnet owners would have a great time counting money.

This reminds me a lot of the same argument about Gun Control:  " let's take all the guns from the law abiding citizens in America, then we are all going to be extremely safe !!"


Title: Re: 10 minutes blockchain vs difficulty level
Post by: haltingprobability on December 02, 2017, 08:39:26 PM
2). I don't believe for one second that more powerful and faster computers is the absolute single solution to have a secured blockchain,

It isn't. Cohen recently announced (https://bitcoinmagazine.com/articles/greener-cryptocurrency-bittorrent-inventor-bram-cohen/) a combined proof-of-space + proof-of-time algorithm that would perform a similar function as Bitcoin's PoW (hashcash). Litecoin uses a different PoW function (https://en.wikipedia.org/wiki/Scrypt) that acts more "proof-of-space-ish" than hashcash.

Quote
higher hash rate is unnecessary and a completely waste of time and energy - its sole purpose is merely to give people a delusional perceptions of some "intrinsic values" built in with the newly mined bitcoins with the higher hashrate and high level of difficulty !!

Some people seem to think this but they are incorrect and this is certainly not what Satoshi explained the function of the PoW to be in the whitepaper. All that the proof-of-work does is prove that time is passing. That's it. When I look at the block hash for a block, I can see that an immense amount of computation has been expended to generate that block hash and that proves to me that - even given all the computation power available on the Bitcoin network - a non-trivial amount of time (probably close to about 10 minutes, on average) had to pass in order for that block hash to be generated. The network adjusts the difficulty factor for precisely this reason, so that anyone can independently inspect a block hash and come to the conclusion that time has passed while the block was being mined.

The importance of time passing is that, when combined with hash-chaining, it means that the blocks in the blockchain form a kind of non-telescoping time series - at 497254 blocks, about 4,972,540 minutes have passed since the Genesis block (plus/minus a cumulative error margin due to variation in the block mining time). So, I believe that the current unspent transaction output set is a true record of stake within the Bitcoin network because I can verify (independently, at the low cost of checking block hashes) that there has been no funny business since the Genesis block. That is why hashing is performed in order to mine blocks.

Quote
You have jut described a text book definition of Centralization !

The cost of entry to the mining business is a few thousand dollars. That is hardly "centralization".


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Anarc Senior on December 02, 2017, 08:44:26 PM
Wow, a lot of bolded text in this thread...  8)


There is no unfair advantage. You can mine Bitcoins for about $4k - just buy a mining rig and join a mining pool.

I have no reason not to believe you. But, base on what I've heard upto now is that mining for Bitcoin is a lost cause,  a private person whose invested,  as you said ~ $4k will no longer earn a decent return, and that buying bitcoins from the exchange is the better way to invest your money...if you are a real life miner, whose actually and currently getting bitcoins from mining, and come out ahead of buying bitcoin from the exchange-  then I am all ears !! I would like to learn how you are pulling it off ??  Please PM me if you are a real deal !

I would love to see the real  cost vs benefits of spending $4k in equipment rather just buying bitcoins ?


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Anarc Senior on December 02, 2017, 09:07:10 PM


Quote
You have jut described a text book definition of Centralization !

The cost of entry to the mining business is a few thousand dollars. That is hardly "centralization".
[/quote]

Once again I would love be educated and learn on what is the reality of the current bitcoin mining scenario-  what is the ROI of bitcoin mining ?


Title: Re: 10 minutes blockchain vs difficulty level
Post by: haltingprobability on December 02, 2017, 11:31:58 PM
Once again I would love be educated and learn on what is the reality of the current bitcoin mining scenario-  what is the ROI of bitcoin mining ?

I'm not a miner and I'm not saying you could actually make a profit by only investing $4k. What I'm saying is that the idea that Bitcoin is controlled by the big miners and that "nobody else" can get into mining, is false. If you have access to cheap electricity and live in a cold climate with cheap, fast Internet, then you should be able to make money mining even with just a single state-of-the-art mining rig (about $4k). There's no inherent advantage to owning 1000 mining rigs over 1 mining rig unless it allows you to broker bulk discounts on electricity or something.

If you're worried about the political aspect of Bitcoin - i.e. the idea of people being able to "have a say" in how the Bitcoin network operates, including tx processing - just run a mining rig and join a mining pool. You might be operating at a loss but if "having a say" is something that matters that much to you, you're free to have a say. It's not even going to cost you $4k since you will recoup at least some of the cost of the mining rig and electricity from mining.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Anarc Senior on December 02, 2017, 11:51:08 PM
Once again I would love be educated and learn on what is the reality of the current bitcoin mining scenario-  what is the ROI of bitcoin mining ?

I'm not a miner and I'm not saying you could actually make a profit by only investing $4k.

That's it, I give up !! You've made a lot of points and got me all excited that perhaps any common person could realistically invest $4,000 and have a good chance to mine bitcoin and, as you said "have a saying"...Now you said, no you are not a miner, an no you couldn't actually make a profit by only investing $4K.  You Sir, essentially have missed all the points that we have been discussing...thanks for wasting my time !


Title: Re: 10 minutes blockchain vs difficulty level
Post by: haltingprobability on December 03, 2017, 12:00:02 AM
Quote
If you have access to cheap electricity and live in a cold climate with cheap, fast Internet, then you should be able to make money mining even with just a single state-of-the-art mining rig (about $4k)

I did say this, right? <_<


Title: Re: 10 minutes blockchain vs difficulty level
Post by: sunshine61 on December 03, 2017, 01:34:03 AM
I've been giving a lot of thought to this lately. While I understand that Proof-of-Work is currently intrinsically wasteful, I've been trying to find a way that makes it much more energy efficient while maintaining security and functionality.

The way Bitcoin is coded currently, the 10-minute block is a constant that must be maintained to prevent block rewards from flooding the network and pushing the price down, as well as preventing orphaned blocks. However, what if difficulty was fixed, the block reward was eliminated, and block creation was driven by network transaction activity instead?

What I have devised so far is that each block is limited to 50 transactions (arbitrary number, could be higher or lower based on Bitcoin's throughput, but this figure works for Litecoin currently), and once there are 50 transactions in the mempool, they are grouped together into a work unit, and sent to a specific miner/pool for hashing. With a fixed difficulty, crunch time is based purely on that miner's hash rate, but is ideally less than a minute. Once hashing is complete on that block/workunit, it is broadcast to the network and added to the chain. However, before being added to the chain, that block must be crunched and verified by 5 other, randomly selected miners. So, each time a work unit is created by the network, it is sent to at least 6 totally random miners (not based on hash rate, wallet balance, etc.), and the block must have 6 results that jive before being added to the blockchain. The miner selection is done by group consensus of all core nodes (each randomly votes 10 miners, top 6 are selected by popular vote). Additionally, the top 6 miners are prevented from working on the block following the one they worked on (same miner can't crunch two blocks in a row). This prevents an entity running several malicious nodes/miners from taking control of the blockchain.

Now, how do I account for eliminating the block reward? That's simple. The transaction fee is hard-coded at .1% of the transaction amount. So, if someone sends 1 BTC (at the moment, valued at roughly $11,000), the transaction fee would be .001 BTC, or $11. If someone sends $5, the fee would be .5 cents. So, if a block's 50 transactions move a total of 25 BTC, the 6 miners that returned valid hashes would split the .025 BTC of transaction fees evenly (at current price of $11,000, each of the 6 miners would get $45.83 for solving that block). That accounts for miner rewards and transaction fees, but how does this add coins to the network? It would also be hard-coded that depending on the number of coins in circulation compared to the designed max coins, a certain number of additional miner hashes would be credited similar to the transaction fees. While I haven't pinned down appropriate numbers yet, say an additional 10 valid hashes are broadcast after the initial 6. The first 10 valid hashes submitted would get an equivalent BTC amount to what each of the 6 miners received in transaction fees. So, in total, 16 miners would receive .0041667 BTC each for a total reward of .0666667 BTC for that block, and of that, .0416667 BTC would be new to the network. As market cap reaches 100% in circulation, the number of "follower" miners would be reduced, similar to how the block reward halves currently. The timeline for market growth would then be tied to transaction activity, not time.

Blocks come as fast or slow as transactions are happening, and the next group of 50 transactions can only be confirmed once the previous block has been fully verified by the 6 random miners. And if there are insufficient transactions in the mempool, block creation has a backup timer that kicks out work units 5 minutes after the previous block in case 50 transactions haven't occurred since then. This transforms the network from having a fixed throughput to being driven by network activity (the bottleneck then becomes how fast 6 miners can be selected and for those miners to crunch the transactions and make a block). So, what does this mean for miners? While this part is above my knowledge, it likely means that CPUs would become dominant again, as they are likely to sit idle most of the time, making ASICs far too power hungry to be profitable. Even GPUs may not make financial sense.

Just a thought.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Anarc Senior on December 03, 2017, 01:36:52 AM
Quote
If you have access to cheap electricity and live in a cold climate with cheap, fast Internet, then you should be able to make money mining even with just a single state-of-the-art mining rig (about $4k)

I did say this, right? <_<

It's like saying "You are guaranteed to have a complete decentralized government and freedom, only if you live on top of the mountain and never to come down to the flat land, and only pay a small amount of tax (only 50% of your income) and oh by the way, report to where you are about every 15 minutes - other than that you are a lucky man to live in such a decentralized and free system - you can thanks us later by sharing with us every bitcoins you ever own...and don't worry, you will have the complete anonymity, so long that you provide us your public address, as well as your Private/ secret keys"


Title: Re: 10 minutes blockchain vs difficulty level
Post by: ranochigo on December 03, 2017, 01:39:56 AM
1). Consider the hash rate and its level of difficulty is within a black box:  from the end users standpoint, there are 12.5 bitcoins being produced every 10 minutes - no more, no less.  I cannot fatom or see any clear evidence that the higher hash rate, difficulty would directly correlate to a larger market cap of bitcoin ??
Currently, the market cap is fixed so I'm not talking about that. However, with a constant difficulty, you are bound to have blocks that would be faster and faster with a constant block reward. This would result in the total market cap increasing. If you decrease the block reward proportionately, then they won't achieve your aim.

2). I don't believe for one second that more powerful and faster computers is the absolute single solution to have a secured blockchain, which would maintains its scarcity and holding its high value.  IMHO, higher hash rate is unnecessary and a completely waste of time and energy - its sole purpose is merely to give people a delusional
perceptions of some "intrinsic values" built in with the newly mined bitcoins with the higher hashrate and high level of difficulty !!  Which we all know is a complete BS !
Does it make sense for Bitcoin to be available to be mined for everyone in general? That's a question that has to be thought about.

Now, the main flaw of the blockchain is that any attacker with at least 51% of the hashrate could essentially damage the blockchain by modifying it or preventing transactions from being confirmed. If you were to make mining available for the general public, you would likely eliminate most of the bigger mining operations. This would in turn result in the network having a low difficulty.

3). More expensive equipment  and larger pool of miners do not equate to true technological innovation- let more general population in the task and soon there will be true competitition and innovation emerging...
True but do we really need innovation? This isn't a smartphone. We just need miners to have a high hashrate density and a increased efficiency is a nice cherry on top. There is a huge demand for miners by the big corporations.

Miners are available to the general public, at a decent pricing too. A lot of the time, it just doesn't make sense to throw a hot miner in your house where electrical pricing might be a lot higher than what big corporations can get.

You have jut described a text book definition of Centralization !
Mining itself is centralised right now. How would you address that problem while also addressing the problems I've stated?


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Anarc Senior on December 03, 2017, 02:13:01 AM
I've been giving a lot of thought to this lately. While I understand that Proof-of-Work is currently intrinsically wasteful, I've been trying to find a way that makes it much more energy efficient while maintaining security and functionality.

The way Bitcoin is coded currently, the 10-minute block is a constant that must be maintained to prevent block rewards from flooding the network and pushing the price down, as well as preventing orphaned blocks. However, what if difficulty was fixed, the block reward was eliminated, and block creation was driven by network transaction activity instead?

What I have devised so far is that each block is limited to 50 transactions (arbitrary number, could be higher or lower based on Bitcoin's throughput, but this figure works for Litecoin currently), and once there are 50 transactions in the mempool, they are grouped together into a work unit, and sent to a specific miner/pool for hashing. With a fixed difficulty, crunch time is based purely on that miner's hash rate, but is ideally less than a minute. Once hashing is complete on that block/workunit, it is broadcast to the network and added to the chain. However, before being added to the chain, that block must be crunched and verified by 5 other, randomly selected miners. So, each time a work unit is created by the network, it is sent to at least 6 totally random miners (not based on hash rate, wallet balance, etc.), and the block must have 6 results that jive before being added to the blockchain. The miner selection is done by group consensus of all core nodes (each randomly votes 10 miners, top 6 are selected by popular vote). Additionally, the top 6 miners are prevented from working on the block following the one they worked on (same miner can't crunch two blocks in a row). This prevents an entity running several malicious nodes/miners from taking control of the blockchain.

Now, how do I account for eliminating the block reward? That's simple. The transaction fee is hard-coded at .1% of the transaction amount. So, if someone sends 1 BTC (at the moment, valued at roughly $11,000), the transaction fee would be .001 BTC, or $11. If someone sends $5, the fee would be .5 cents. So, if a block's 50 transactions move a total of 25 BTC, the 6 miners that returned valid hashes would split the .025 BTC of transaction fees evenly (at current price of $11,000, each of the 6 miners would get $45.83 for solving that block). That accounts for miner rewards and transaction fees, but how does this add coins to the network? It would also be hard-coded that depending on the number of coins in circulation compared to the designed max coins, a certain number of additional miner hashes would be credited similar to the transaction fees. While I haven't pinned down appropriate numbers yet, say an additional 10 valid hashes are broadcast after the initial 6. The first 10 valid hashes submitted would get an equivalent BTC amount to what each of the 6 miners received in transaction fees. So, in total, 16 miners would receive .0041667 BTC each for a total reward of .0666667 BTC for that block, and of that, .0416667 BTC would be new to the network. As market cap reaches 100% in circulation, the number of "follower" miners would be reduced, similar to how the block reward halves currently. The timeline for market growth would then be tied to transaction activity, not time.

Blocks come as fast or slow as transactions are happening, and the next group of 50 transactions can only be confirmed once the previous block has been fully verified by the 6 random miners. And if there are insufficient transactions in the mempool, block creation has a backup timer that kicks out work units 5 minutes after the previous block in case 50 transactions haven't occurred since then. This transforms the network from having a fixed throughput to being driven by network activity (the bottleneck then becomes how fast 6 miners can be selected and for those miners to crunch the transactions and make a block). So, what does this mean for miners? While this part is above my knowledge, it likely means that CPUs would become dominant again, as they are likely to sit idle most of the time, making ASICs far too power hungry to be profitable. Even GPUs may not make financial sense.

Just a thought.
.

 Thank you Sir  for your thoughtful inputs - I still have to digest through your proposal as there is a lots of details to think it through.  But, this is exactly the kind of ideas and the "thinking out of the box" that this community could or should embrace !

From the very highest level (at the 30,000 feet) and looking down on to the current hashing, validation of the Bitcoin blockchain , it does not take much for someone to see that there have got to be better ways to make improvements.  I know it's easy to say than done !  But this exactly what I look forward to hear from the good people on this forum...

Thanks and Cheers,
-ding






Title: Re: 10 minutes blockchain vs difficulty level
Post by: haltingprobability on December 03, 2017, 02:21:46 AM
@Anarc: I don't know what you're on, but it's rude not to share... ;)

Proof-of-Work is currently intrinsically wasteful,

Proof-of-work is not wasteful, its purpose is to prove the passage of time in a secure, verifiable and scalable way. It's actually very cheap when you consider that only the miner has to work, everybody else can verify that the miner has done all this work very quickly. Suppose P=NP, then this would not even be possible with any sub-exponential algorithm. So, we should hope that P!=NP and that the entire network does not have to replicate the work of the miners to be sure they are actually doing that work.

Quote
The way Bitcoin is coded currently, the 10-minute block is a constant that must be maintained to prevent block rewards from flooding the network and pushing the price down, as well as preventing orphaned blocks.

The 10-minute interval target has nothing to do with the price.

Quote
What I have devised so far is that each block is limited to 50 transactions (arbitrary number, could be higher or lower based on Bitcoin's throughput, but this figure works for Litecoin currently), and once there are 50 transactions in the mempool, they are grouped together into a work unit, and sent to a specific miner/pool for hashing.

Let's stop right here. Your model is assuming coordination beyond basic p2p relay. There must be someone who "groups" the transactions and someone who "sends" them to a miner, a miner who is the designated recipient, etc. In Bitcoin, all peers are symmetrical with respect to the mempool and the blockchain. The only variation from one peer to another is the peers they are connected to (and perhaps some local variation in the mempool as peers are not required to store transactions in the mempool in any particular order or even at all). So, you want to set up your network in such a way that you achieve this peer-symmetry if you intend to replace Bitcoin's PoW but not fundamentally alter Bitcoin's security/distributed model.

Quote
With a fixed difficulty, crunch time is based purely on that miner's hash rate, but is ideally less than a minute. Once hashing is complete on that block/workunit, it is broadcast to the network and added to the chain. However, before being added to the chain, that block must be crunched and verified by 5 other, randomly selected miners. So, each time a work unit is created by the network, it is sent to at least 6 totally random miners (not based on hash rate, wallet balance, etc.), and the block must have 6 results that jive before being added to the blockchain. The miner selection is done by group consensus of all core nodes (each randomly votes 10 miners, top 6 are selected by popular vote). Additionally, the top 6 miners are prevented from working on the block following the one they worked on (same miner can't crunch two blocks in a row). This prevents an entity running several malicious nodes/miners from taking control of the blockchain.

This is an attempt to do sharding with blocks but you really don't need to shard blocks because blocks are not the bottleneck of the network, consensus is.

Quote
Now, how do I account for eliminating the block reward?
<snip>
Just a thought.

I don't want to rain on your parade but basically none of what you described would work. There is a proposal for a blockchain sharding system called ELASTICO (https://theintelligenceofinformation.wordpress.com/2017/02/21/elastico-a-new-scalable-blockchain-protocol-proposal/). You would probably like it. It still uses regular proof-of-work mining, though.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: ranochigo on December 03, 2017, 02:27:44 AM
What I have devised so far is that each block is limited to 50 transactions (arbitrary number, could be higher or lower based on Bitcoin's throughput, but this figure works for Litecoin currently), and once there are 50 transactions in the mempool, they are grouped together into a work unit, and sent to a specific miner/pool for hashing.
Isn't that centralisation now? Bitcoin doesn't have a consistent mempool through the network. Every node has a differing mempool with differing rules. How would you know if a miner is not hashing transaction A at the same time as you?
With a fixed difficulty, crunch time is based purely on that miner's hash rate, but is ideally less than a minute. Once hashing is complete on that block/workunit, it is broadcast to the network and added to the chain. However, before being added to the chain, that block must be crunched and verified by 5 other, randomly selected miners. So, each time a work unit is created by the network, it is sent to at least 6 totally random miners (not based on hash rate, wallet balance, etc.), and the block must have 6 results that jive before being added to the blockchain. The miner selection is done by group consensus of all core nodes (each randomly votes 10 miners, top 6 are selected by popular vote). Additionally, the top 6 miners are prevented from working on the block following the one they worked on (same miner can't crunch two blocks in a row). This prevents an entity running several malicious nodes/miners from taking control of the blockchain.
The way Bitcoin currently works is that nodes and miners are treated the same. It is impossible to tell which node is a miner and which node isn't. Why can't a node be verifying it though? Just like how it is.

Just for the record, nodes currently do not trust each other and independently verify the blocks and its content.
The transaction fee is hard-coded at .1% of the transaction amount.
So I can easily send a 1BTC transaction with a 1MB transaction size with a 0.001BTC fee? That'll surely spam the network up.
The first 10 valid hashes submitted would get an equivalent BTC amount to what each of the 6 miners received in transaction fees. So, in total, 16 miners would receive .0041667 BTC each for a total reward of .0666667 BTC for that block, and of that, .0416667 BTC would be new to the network. As market cap reaches 100% in circulation, the number of "follower" miners would be reduced, similar to how the block reward halves currently. The timeline for market growth would then be tied to transaction activity, not time.
As said, there is no way of telling the actual transaction volume. The best would just be having a singular node with an extremely good peering. Even with that, its not accurate.

I don't get this part.
Blocks come as fast or slow as transactions are happening, and the next group of 50 transactions can only be confirmed once the previous block has been fully verified by the 6 random miners. And if there are insufficient transactions in the mempool, block creation has a backup timer that kicks out work units 5 minutes after the previous block in case 50 transactions haven't occurred since then. This transforms the network from having a fixed throughput to being driven by network activity (the bottleneck then becomes how fast 6 miners can be selected and for those miners to crunch the transactions and make a block). So, what does this mean for miners? While this part is above my knowledge, it likely means that CPUs would become dominant again, as they are likely to sit idle most of the time, making ASICs far too power hungry to be profitable. Even GPUs may not make financial sense.
If you don't eliminate the ASICs and only make CPU mining profitable, anyone with sufficient motivation could execute a 51% attack easily.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Anarc Senior on December 03, 2017, 02:32:45 AM
1). Consider the hash rate and its level of difficulty is within a black box:  from the end users standpoint, there are 12.5 bitcoins being produced every 10 minutes - no more, no less.  I cannot fatom or see any clear evidence that the higher hash rate, difficulty would directly correlate to a larger market cap of bitcoin ??
Currently, the market cap is fixed so I'm not talking about that. However, with a constant difficulty, you are bound to have blocks that would be faster and faster with a constant block reward. This would result in the total market cap increasing. If you decrease the block reward proportionately, then they won't achieve your aim.


Sir:  many things you said above are not true at all:

1). Currently, the market cap of bitcoin is not fixed at all !! In fact it's growing so fast that it blows many big corporations completely out of the water -  as of today bitcoin market cap is approximately ~ 185 billions usd !!

2). The total bitcoin being released per day is ~  1800 bitcoins -- do you understand anything about bitcoin blockchain??


Title: Re: 10 minutes blockchain vs difficulty level
Post by: ranochigo on December 03, 2017, 02:37:17 AM
1). Currently, the market cap of bitcoin is not fixed at all !! In fact it's growing so fast that it blows many big corporations completely out of the water -  as of today bitcoin market cap is approximately ~ 185 billions usd !!
Well, I thought you would understand but I'm talking about the coin cap.
2). The total bitcoin being released per day is ~  1800 bitcoins -- do you understand anything about bitcoin blockchain??
Yeah? Aren't you talking about trying to make the difficulty constant to make it profitable for small time miners?

If you were to make the difficulty constant over a long period of time, the block frequency would become faster. With that, a 5 minute blocktime would double the total Bitcoins that would be created a day. Is that wrong?


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Anarc Senior on December 03, 2017, 04:02:13 AM
@Anarc: I don't know what you're on, but it's rude not to share... ;)


Nah - I'm just a newbie, trying to learn 😉

How do we know you're not one of the Bcash's little soldiers - will have to keep an eye on you too 😉


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Anarc Senior on December 03, 2017, 04:05:51 AM
1). Currently, the market cap of bitcoin is not fixed at all !! In fact it's growing so fast that it blows many big corporations completely out of the water -  as of today bitcoin market cap is approximately ~ 185 billions usd !!
Well, I thought you would understand but I'm talking about the coin cap.
2). The total bitcoin being released per day is ~  1800 bitcoins -- do you understand anything about bitcoin blockchain??
Yeah? Aren't you talking about trying to make the difficulty constant to make it profitable for small time miners?

If you were to make the difficulty constant over a long period of time, the block frequency would become faster. With that, a 5 minute blocktime would double the total Bitcoins that would be created a day. Is that wrong?

Dude:  no increase hashpower, no increase on difficulty - just time delay !!


Title: Re: 10 minutes blockchain vs difficulty level
Post by: sunshine61 on December 03, 2017, 04:15:03 AM
This by no means a polished solution (I'm just tossing it out there in hopes to improve the technology), but when on the same day Bitcoin makes the news for how much power it consumes and that a few guys in Teslas are running rigs off of Superchargers through their cars, something needs to change. There's no way you'll get everyone to agree to cut their hash power by 90% (which, if that would happen, everyone's earnings would remain the same or even improve while running on 10% of the power consumption). This is why I feel PoW is wasteful. There is little difference from a network with 10 GH/s and one with 10 TH/s other than the barrier to entry is higher. Litecoin difficulty went from 130,000 to almost 1,000,000 with no difference in price or functionality this past summer.

Just to be part of Litecoin mining initially cost me $1,500, and later over $7,000 to keep up with difficulty. That "cost of entry" keeps getting higher, which is a symptom of how processing power is controlled. Unfortunately, PoS isn't much better on its own as it still favors those with resources (coins instead of hash power). I feel my proposal limits the barrier to entry to having a half-decent internet connection. Hashpower and wallet size are pretty much irrelevant as long as the miner selection protocol is purely random. A computer only needs to be on and connected to be selected to mine, so even something low power could mine the same as a gaming rig. My only question right now is, what is the best way for miners to advertise themselves as available to the network? Would mining be handled by the core software itself, and either vote for itself as 1 of the 10 miners or simply sign-in/sign-out of a shared database when the software is opened or closed?

The controlling factor as to what groups and sends transactions to miners is a group consensus of all online nodes. When 50 transactions are present in the mempool, they are flagged with the block number they will ultimately end up in (previous block number +1) in order of datestamp, compiled into a work unit, and broadcast to the 6+n miners that won the vote (6 required miners plus n additional miners based on minting requirements). Only those miners receive the work unit to crunch. No further transactions and no other miners are crunching until the required 6 work units are returned and match. Once that's done, then the next 50 transactions are grouped and sent to 6+n different miners. Each node randomly selects miners and votes for them. Just like a public poll, you can participate even though you don't know or trust the others that participated. Under this new system, the block size is limited by transaction count, not MB size. And since block time depends on how fast a block can be assembled and verified and transaction load, I don't really see what gain spamming would have?

As for the 10-minute block time and price, if block creation time suddenly becomes 3 minutes instead of 10 and the block reward doesn't change, then 3 times more coins than normal will be added to the network. That won't have an effect on price?


Title: Re: 10 minutes blockchain vs difficulty level
Post by: ranochigo on December 03, 2017, 04:30:50 AM
There is little difference from a network with 10 GH/s and one with 10 TH/s other than the barrier to entry is higher. Litecoin difficulty went from 130,000 to almost 1,000,000 with no difference in price or functionality this past summer.
You can try to calculate the cost of initiating a 51% against Litecoin now. Its way harder than before. Since the difficulty is directly proportional to the hashrate, it would signify an increase in the hashrate. With that, the cost of executing such an attack would have increased exponentially.

A computer only needs to be on and connected to be selected to mine, so even something low power could mine the same as a gaming rig. My only question right now is, what is the best way for miners to advertise themselves as available to the network? Would mining be handled by the core software itself, and either vote for itself as 1 of the 10 miners or simply sign-in/sign-out of a shared database when the software is opened or closed?
I would say the best implementation is to have it fully peer to peer. There needs to be a consensus as to which miner is mining which and that is not achievable without them being centralised which is not what we want.

The controlling factor as to what groups and sends transactions to miners is a group consensus of all online nodes. When 50 transactions are present in the mempool, they are flagged with the block number they will ultimately end up in (previous block number +1) in order of datestamp, compiled into a work unit, and broadcast to the 6+n miners that won the vote (6 required miners plus n additional miners based on minting requirements). Only those miners receive the work unit to crunch. No further transactions and no other miners are crunching until the required 6 work units are returned and match. Once that's done, then the next 50 transactions are grouped and sent to 6+n different miners. Each node randomly selects miners and votes for them. Just like a public poll, you can participate even though you don't know or trust the others that participated.
As said, due to the way Bitcoin works, none of the nodes would have a similar mempool. The consensus is not easy to reach, especially with the transactions being broadcasted so rapidly. There is no way that the order of transactions and the timestamp would be consistent with all the nodes. It would most likely work if a central server decides which are the miners and which are the nodes.

Under this new system, the block size is limited by transaction count, not MB size. And since block time depends on how fast a block can be assembled and verified and transaction load, I don't really see what gain spamming would have?
With the cost of creating large transactions down, it is easy for people to start broadcasting transactions with huge size. This would just exacerbate our current problem with the storage space. You're just going to be driving Bitcoin less to the masses with the storage space.

As for the 10-minute block time and price, if block creation time suddenly becomes 3 minutes instead of 10 and the block reward doesn't change, then 3 times more coins than normal will be added to the network. That won't have an effect on price?
Definitely would have an impact on the price. Under the current implementation, if you want it to be more profitable, that's the only way.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: haltingprobability on December 03, 2017, 05:14:56 AM
I feel my proposal limits the barrier to entry to having a half-decent internet connection.

By all means, go build an altcoin - if your idea is sound, it could even supplant Bitcoin. But Bitcoin is built as a 100% distributed, peer-to-peer network so your idea is simply incompatible with Bitcoin.

Quote
As for the 10-minute block time and price, if block creation time suddenly becomes 3 minutes instead of 10 and the block reward doesn't change, then 3 times more coins than normal will be added to the network. That won't have an effect on price?

Perhaps. The link between coinbase and 10-minute blocks is independent of price - price could go up, go down, or stay the same. Either way, the number of bitcoins issued through the coinbase block-reward remains on a fixed schedule. Increasing the block rate would increase the rate at which bitcoins are being issued, ceteris paribus.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Anarc Senior on December 03, 2017, 07:12:01 AM
Perhaps. The link between coinbase and 10-minute blocks is independent of price - price could go up, go down, or stay the same. Either way, the number of bitcoins issued through the coinbase block-reward remains on a fixed schedule. Increasing the block rate would increase the rate at which bitcoins are being issued, ceteris paribus.
[/quote]

It seem like we are going around in circle here:

Let's talk about three variables on this equation:  hash rate, level of difficulty and amount of bitcoins awarded to the validated block.  I know there are other parameters, such as tx fee...but for now, let's just focus on the three mentioned above:

1). Bitcoins amounts is fixed to release at 12.5 every 10 minutes- (in compliant  with bitcoin blockchain's white paper).  So let's lock this down.

2). The hash rate could increase due to more miners on the network- or perhaps better hardware.

3). As the way the bitcoin core code is written now, the level of difficulty is inversely correlated to the hash rate, to keep the average of blockchain interval  @ ~ approximately ~ 10 minutes- thus 12.5 bitcoins is released every 10 minutes.

All we are saying is to save wasteful electricity, hash rate push for more powerful equipment - why don't we just not increase the level of difficulty ( keep the same level of difficulty)  > faster validation of the block, e.g. 1 minute instead of 10 minutes  > but don't release the new block until the 10 minutes is up...in the end we would be able to completely avoid the hash rate race, thus saving energy,  avoid mining push for fancy equipment and centralization of mining pool/ conglomerates ...?




Title: Re: 10 minutes blockchain vs difficulty level
Post by: ranochigo on December 03, 2017, 08:21:24 AM
3). As the way the bitcoin core code is written now, the level of difficulty is inversely correlated to the hash rate, to keep the average of blockchain interval  @ ~ approximately ~ 10 minutes- thus 12.5 bitcoins is released every 10 minutes.
Isn't it directly correlated? If the hashrate increases, the difficulty increases.
faster validation of the block, e.g. 1 minute instead of 10 minutes
Blocks are actually validated fairly quickly, within seconds. If you mean for blocks to be generated quickly, its discussed to death.

 > but don't release the new block until the 10 minutes is up...in the end we would be able to completely avoid the hash rate race, thus saving energy,  avoid mining push for fancy equipment and centralization of mining pool/ conglomerates ...?
Its actually hard for nodes or miners to keep track of the block interval. Blocks have a timestamp but they might not be accurate. The protocol actually lets them deviate from the most accurate time.

There's this flaw that I feel would be a problem. If you were to release the block only at blocks of 10 minutes and the difficulty is low, there is a potential for many blocks generated at the same block height. Only one of them will get accepted and the rest would be orphaned. Isn't that wasting hashpower instead?


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Anarc Senior on December 03, 2017, 08:46:21 AM
3). As the way the bitcoin core code is written now, the level of difficulty is inversely correlated to the hash rate, to keep the average of blockchain interval  @ ~ approximately ~ 10 minutes- thus 12.5 bitcoins is released every 10 minutes.
Isn't it directly correlated? If the hashrate increases, the difficulty increases.

Sorry, you are correct hashrate increases > the difficulty increases.

faster validation of the block, e.g. 1 minute instead of 10 minutes
Blocks are actually validated fairly quickly, within seconds. If you mean for blocks to be generated quickly, its discussed to death.

Yes you are correct I meant block to be generated quickly- what was the outcome of the "discussion to death" - what was the conclusion ?

 > but don't release the new block until the 10 minutes is up...in the end we would be able to completely avoid the hash rate race, thus saving energy,  avoid mining push for fancy equipment and centralization of mining pool/ conglomerates ...?
Its actually hard for nodes or miners to keep track of the block interval. Blocks have a timestamp but they might not be accurate. The protocol actually lets them deviate from the most accurate time.

There's this flaw that I feel would be a problem. If you were to release the block only at blocks of 10 minutes and the difficulty is low, there is a potential for many blocks generated at the same block height. Only one of them will get accepted and the rest would be orphaned. Isn't that wasting hashpower instead?

What about releasing the block quickly as soon as it's confirm to avoid too many orphaned blocks,  but don't start the new block until the 10 minutes interval is up ?

Perhaps now with the Lightning Network layer, it could also be used to track the 10 minutes interval to start the next block and track the release of 12.5 bitcoins at every 10 minutes ?


Title: Re: 10 minutes blockchain vs difficulty level
Post by: ranochigo on December 03, 2017, 09:50:45 AM
Yes you are correct I meant block to be generated quickly- what was the outcome of the "discussion to death" - what was the conclusion ?
The discussion was geared toward the scalability of Bitcoin. There are obviously pros and cons for it, but none of that was specific to the intention of helping small miners.
What about releasing the block quickly as soon as it's confirm to avoid too many orphaned blocks,  but don't start the new block until the 10 minutes interval is up ?
In a perfect world, sure. But honestly, everyone would mine it immediately after the last block. The difficulty would have to be sufficiently high to have the chance of two conflicting blocks lowered.

I would say it would likely result in blocks going way above the 10mins interval.

Perhaps now with the Lightning Network layer, it could also be used to track the 10 minutes interval to start the next block and track the release of 12.5 bitcoins at every 10 minutes ?
I'm not exactly super familiar with lightning network so I'll leave it to others. I don't think lightning network would be suitable to distribute the block rewards though.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: haltingprobability on December 03, 2017, 04:51:02 PM
All we are saying is to save wasteful electricity, hash rate push for more powerful equipment - why don't we just not increase the level of difficulty ( keep the same level of difficulty)  > faster validation of the block, e.g. 1 minute instead of 10 minutes  > but don't release the new block until the 10 minutes is up...in the end we would be able to completely avoid the hash rate race, thus saving energy,  avoid mining push for fancy equipment and centralization of mining pool/ conglomerates ...?

Since we've locked the difficulty, in this example, once we've gotten down to 1 minute between blocks, why stop there? Why not let it go down to 1 second or 1 millisecond or 1 nanosecond?

You can see here (https://blockchain.info/charts/hash-rate?timespan=all) that the hashrate has increased at a geometric rate over Bitcoin's lifetime. The hashrate crossed the 1MTh/s threshold in Jan 2016 and now stands around 12MTh/s. Suppose blocks had been mining at a rate of 1 every minute in Jan 2016, they would now be mining at a rate of one every 5 seconds. How is a global peer-to-peer network supposed to stay in a single, well-defined state with an update time of just 5 seconds? Even for a trivial state, like a binary state, this would be a challenging engineering problem. But for something as complex as the blockchain, it's not possible, it's not even close to possible. At the current growth rate, within another year, that 5 seconds would be down to 416 milliseconds, so your engineering problem is getting worse, day by day.

That's why the difficulty is adjustable. The 1MB block size and 10m average mining time target are as good as any other because we can compress transactions using off-chain systems like payment channels and Lightning Networks. The main chain doesn't need to "go fast" because it can act as a final settlement layer for multiple 2nd-layer, 3rd-layer, etc. services built on top.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Anarc Senior on December 04, 2017, 01:06:27 AM
All we are saying is to save wasteful electricity, hash rate push for more powerful equipment - why don't we just not increase the level of difficulty ( keep the same level of difficulty)  > faster validation of the block, e.g. 1 minute instead of 10 minutes  > but don't release the new block until the 10 minutes is up...in the end we would be able to completely avoid the hash rate race, thus saving energy,  avoid mining push for fancy equipment and centralization of mining pool/ conglomerates ...?

Since we've locked the difficulty, in this example, once we've gotten down to 1 minute between blocks, why stop there? Why not let it go down to 1 second or 1 millisecond or 1 nanosecond?

You can see here (https://blockchain.info/charts/hash-rate?timespan=all) that the hashrate has increased at a geometric rate over Bitcoin's lifetime. The hashrate crossed the 1MTh/s threshold in Jan 2016 and now stands around 12MTh/s. Suppose blocks had been mining at a rate of 1 every minute in Jan 2016, they would now be mining at a rate of one every 5 seconds. How is a global peer-to-peer network supposed to stay in a single, well-defined state with an update time of just 5 seconds? Even for a trivial state, like a binary state, this would be a challenging engineering problem. But for something as complex as the blockchain, it's not possible, it's not even close to possible. At the current growth rate, within another year, that 5 seconds would be down to 416 milliseconds, so your engineering problem is getting worse, day by day.

That's why the difficulty is adjustable. The 1MB block size and 10m average mining time target are as good as any other because we can compress transactions using off-chain systems like payment channels and Lightning Networks. The main chain doesn't need to "go fast" because it can act as a final settlement layer for multiple 2nd-layer, 3rd-layer, etc. services built on top.

Ok so your point is well taken - but our goal here is to save energy and save time:  

1). Assuming that we all trust your assessment that 10 minutes is an optimal interval between creating new block.  As someone has mentioned here before, it wouldn't be a bad idea for us to plot out the chart and analyze to see what the best blockchain interval should be .?  I'm still leaning how to use the bitcoin core full node, once I'm getting familiar of my way around, I could definitely doing some data analysis...perhaps, 5 or 3 minutes could be more sufficient ?..

2). As I indicated before, just because we could hash at 1 second it doesn't mean we have to confirm the block right away..? What about if we create a build-in a time delay on the off chain/ second layer (e.g. the Lightning Network, which acting as a "trafiffic cops") , let say if it's less than 5 minutes then put in a counter to count up to a fixed interval..?  I also have heard that the bitcoin core code doesn't like to use loops for the obvious reason...Look, I'm not a software developer, but I'm an automation engineer, I believe there are options that we all need to explore before we quickly shut all the doors and declare that it's impossible to address the problem...

As more technical people joining this community, we will continue to hear voices raise regarding how wasteful the hashrate and the difficulty levels are being used on bitcoin blockchain...



Title: Re: 10 minutes blockchain vs difficulty level
Post by: ranochigo on December 04, 2017, 01:52:24 AM
Ok so your point is well taken - but our goal here is to save energy and save time:  

1). Assuming that we all trust your assessment that 10 minutes is an optimal interval between creating new block.  As someone has mentioned here before, it wouldn't be a bad idea for us to plot out the chart and analyze to see what the best blockchain interval should be .?  I'm still leaning how to use the bitcoin core full node, once I'm getting familiar of my way around, I could definitely doing some data analysis...perhaps, 5 or 3 minutes could be more sufficient ?..
The only reason why anyone would do this is to scale Bitcoin. If you do that, the only thing you would do is to increase the blockchain growth and increasingly discourage people from using full node, leading to more centralisation. Miners would still continue to mine the same as before.

You can try but you need all of the users and miners to agree with you.

2). As I indicated before, just because we could hash at 1 second it doesn't mean we have to confirm the block right away..? What about if we create a build-in a time delay on the second layer (e.g. the Lightning Network, which acting as a "trafiffic cops") , let say if it's less than 5 minutes then put in a counter to count up to a fixed interval..?  I also have heard that the bitcoin core code doesn't like to use loops for the obvious reason...Look, I'm not a software developer, but I'm an automation engineer, I believe there are options that we all need to explore before we quickly shut all the doors and declare that it's impossible to address the problem...
If so, then the blocks are going to pile up higher and higher. After an hour or so, you would probably have a few thousand blocks and of those, most of them are empty. There would just be many forks of it and that's definitely not what we want. It doesn't discourage miners at any sense and would simply increase the time needed for a transaction to be included in a block.

Energy consumption won't be the problem that Bitcoin has. There is more energy being used for more useless stuff than for securing a currency with such a high transaction volume. It's all about making compromise.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: haltingprobability on December 04, 2017, 04:35:04 AM
1). Assuming that we all trust your assessment that 10 minutes is an optimal interval between creating new block.  

No one said it's optimal. Without any other empirical data, however, it's good enough. It gets the job done. The interval could surely be lower but no one knows how much. Nine minutes? Eight minutes? We don't know. Bitcoin is in alpha development and security has to come first. The Bitcoin network, today, moves more than two billion dollars per hour (see here (https://blockchain.info/charts/estimated-transaction-volume-usd)). We can be quite sure that 10 minutes is enough because propagation delay for unobstructed light around the planet is about 7-8 seconds. That means that there is enough time for almost 100 network-wide updates before the next block is due to arrive. The probability that the network could not reach consensus in this time is virtually zero. And that's precisely where we want it to be - virtually zero.

Quote
As someone has mentioned here before, it wouldn't be a bad idea for us to plot out the chart and analyze to see what the best blockchain interval should be .?  

That will be a great PhD project in 10-20 years' time: "Minimizing Bitcoin block time based on empirical evaluation of mean network-wide time-to-consensus."

Quote
I'm still leaning how to use the bitcoin core full node, once I'm getting familiar of my way around, I could definitely doing some data analysis...perhaps, 5 or 3 minutes could be more sufficient ?..

Or perhaps 5 seconds or 3 seconds or 8 minutes or 7.5 minutes. Without data generated from reproducible experiments, it's anybody's guess.

Quote
2). As I indicated before, just because we could hash at 1 second it doesn't mean we have to confirm the block right away..? What about if we create a build-in a time delay on the off chain/ second layer (e.g. the Lightning Network, which acting as a "trafiffic cops") , let say if it's less than 5 minutes then put in a counter to count up to a fixed interval..?  I also have heard that the bitcoin core code doesn't like to use loops for the obvious reason...Look, I'm not a software developer, but I'm an automation engineer, I believe there are options that we all need to explore before we quickly shut all the doors and declare that it's impossible to address the problem...

As more technical people joining this community, we will continue to hear voices raise regarding how wasteful the hashrate and the difficulty levels are being used on bitcoin blockchain...

No doors have been shut. Bitcoin is moving more than 2 billion dollars per hour, worldwide. Making up new numbers for block generation target time out of thin air is silly. Adding gizmos and widgets to try to patch up a broken block generation target time is even sillier. As I said earlier, feel free to start an altcoin. Cryptocurrencies are one of the few truly free markets in the world. But these proposals are incompatible with Bitcoin.


Title: Re: 10 minutes blockchain vs difficulty level
Post by: Anarc Senior on December 04, 2017, 08:05:07 AM
Quote
2). As I indicated before, just because we could hash at 1 second it doesn't mean we have to confirm the block right away..? What about if we create a build-in a time delay on the off chain/ second layer (e.g. the Lightning Network, which acting as a "trafiffic cops") , let say if it's less than 5 minutes then put in a counter to count up to a fixed interval..?  I also have heard that the bitcoin core code doesn't like to use loops for the obvious reason...Look, I'm not a software developer, but I'm an automation engineer, I believe there are options that we all need to explore before we quickly shut all the doors and declare that it's impossible to address the problem...

As more technical people joining this community, we will continue to hear voices raise regarding how wasteful the hashrate and the difficulty levels are being used on bitcoin blockchain...

[/quote] No doors have been shut. Bitcoin is moving more than 2 billion dollars per hour, worldwide. Making up new numbers for block generation target time out of thin air is silly. Adding gizmos and widgets to try to patch up a broken block generation target time is even sillier. As I said earlier, feel free to start an altcoin. Cryptocurrencies are one of the few truly free markets in the world. But these proposals are incompatible with Bitcoin.
[/quote]

Once again, your point is well taken:  I agree that they're a lot at stake right now - technically, politically, the geo-political and PR, etc...i sometime feel that this is bigger than bitcoin or even blockchain technology.  I believe that what ever happens in the next several years, will potentially impact and shape the destiny of humanity...

To your point, what ever we do to the bitcoin network today would be like fixing an airplane  while flying in the air...but we also want to protect the airplane from being shot down...