Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Maveth13 on February 27, 2018, 02:04:09 PM



Title: How would a blockchain work without miners?
Post by: Maveth13 on February 27, 2018, 02:04:09 PM
I won't go into details about the project, but say we're basically making a simple sending/receiving and storage of files, of course using blockchain technology.

Part of my concerns is that we can't expect our users or anyone at all to 'mine' and confirm those transactions. It wouldn't be logical because there won't be any incentive for mining since we're not planning on making a cryptocurrency(yes this is blockchain application outside cryptocurrencies).

So can a blockchain exist/work without mining?


Title: Re: How would a blockchain work without miners?
Post by: RNC on February 27, 2018, 03:18:58 PM
Are you talking about minting new coins or hosting bitcoin transactions here because the two have become confused

Other coins succeed without mining wars to see who has the biggest rig and NEO makes new coins by
paying interest to people who own the old coins and that seems to work fine.

Point is the blockchain is not working as per design or the original goals but so much money is now gambling
on what was an experimental design that it will never get fixed and miners have proved to be a bigger curse than
bankers ever were but i cannot say too much, might get in trouble again.

"but say we're basically making a simple sending/receiving and storage of files, of course using blockchain technology."

Not sure why you say "of course" but SHA256 works well for Bit-Torrent when it comes to files so sounds like you must be talking
about putting the Hash in the BC instead of files but if you really come up with a plan for a distributed type file system then I would
like to hear more about it.


Title: Re: How would a blockchain work without miners?
Post by: DannyHamilton on February 27, 2018, 04:11:28 PM
To have "blockchain technology" you have to have a blockchain.

A blockchain is a chain of blocks of data of some sort.

To have a blockchain, SOMEONE (or something) must create the blocks.

In Bitcoin (and many altcoins) the block creators are called "miners".  You don't have to call them "miners" if you don't want to, but you are going to need to decide who or what will create the blocks. You'll also need to decide what the incentive is for the block creators to do that work.  You'll need to provide enough of an incentive to be certain that you'll always have enough block creators.

If you want a "decentralized" system, then you'll need to rely on untrusted random people on the internet to choose to create blocks for you. Your incentive will need to be structured in such a way that users have a large incentive to "behave", and "misbehaving" is effectively a waste of time, energy, equipment, and/or money.

If you do NOT want a "decentralized" system, then you need to really think hard about why you are choosing a "blockchain" instead of some other form of datastore.  Blockchains are inefficient and unwieldy.  They make sense in a "decentralized" system because they are an effective way to build in byzantine fault tolerance, and more efficient and manageable solutions fail to accomplish that. However, in a centralized system (one where you have control over who builds the blocks), the byzantine general's problem generally doesn't apply.  In that case, a good computer scientist will recognize that using a blockchain is almost always a bad idea.


Title: Re: How would a blockchain work without miners?
Post by: Jet Cash on February 27, 2018, 04:24:23 PM
I suppose you could have a system where every transaction creates a chained record, and these are lumped together into a physical block. That doen't seem to be very efficient, and also it would be a bit limiting with all sorts of "collision" and orphan problems.

Another possibility would be to have a number of "building nodes", those would create a block when the mempool got to a certain size, but these are really acting as miners, and if you didn't have many, then the system would end up being centralised.


Title: Re: How would a blockchain work without miners?
Post by: Maveth13 on February 27, 2018, 05:33:59 PM
To have "blockchain technology" you have to have a blockchain.

A blockchain is a chain of blocks of data of some sort.

To have a blockchain, SOMEONE (or something) must create the blocks.

In Bitcoin (and many altcoins) the block creators are called "miners".  You don't have to call them "miners" if you don't want to, but you are going to need to decide who or what will create the blocks. You'll also need to decide what the incentive is for the block creators to do that work.  You'll need to provide enough of an incentive to be certain that you'll always have enough block creators.

If you want a "decentralized" system, then you'll need to rely on untrusted random people on the internet to choose to create blocks for you. Your incentive will need to be structured in such a way that users have a large incentive to "behave", and "misbehaving" is effectively a waste of time, energy, equipment, and/or money.

If you do NOT want a "decentralized" system, then you need to really think hard about why you are choosing a "blockchain" instead of some other form of datastore.  Blockchains are inefficient and unwieldy.  They make sense in a "decentralized" system because they are an effective way to build in byzantine fault tolerance, and more efficient and manageable solutions fail to accomplish that. However, in a centralized system (one where you have control over who builds the blocks), the byzantine general's problem generally doesn't apply.  In that case, a good computer scientist will recognize that using a blockchain is almost always a bad idea.

The problem is that, we already know how often the system will only be used and our targeted users, and it's nowhere near the numbers in the case of bitcoins(or any other cryptocurrencies).

In such a small scale application, would a single miner be able to verify those transactions. And if we are the only miners, but everyone of course gets to be a full node, would it still be called decentralized?

We're hoping that it would still be a system wherein users doesn't need to trust us, or anybody for that matter, they just have to trust the system.


Title: Re: How would a blockchain work without miners?
Post by: pebwindkraft on February 27, 2018, 07:05:43 PM
...

The problem is that, we already know how often the system will only be used and our targeted users, and it's nowhere near the numbers in the case of bitcoins(or any other cryptocurrencies).

In such a small scale application, would a single miner be able to verify those transactions. And if we are the only miners, but everyone of course gets to be a full node, would it still be called decentralized?

We're hoping that it would still be a system wherein users doesn't need to trust us, or anybody for that matter, they just have to trust the system.

In a small system, you can have a single miner. However: You can hardly call a system decentralized, when there is one miner, or miner instance in control of creating the blockchain.

Just as a thought experiment (I like the idea of blockchain without miners): is the requirement for Byzantine fault tolerance given in your system? At the same level as in bitcoin? Is the only way to prove correctness of transaction and arranging in a block by proof of work?
Could you think about other options to come to a blockchain?
Just „thinking out,loud“: could you use a POS system? or a IOTA like confirmation process, where each participant needs to do some work? To avoid spam mails, the idea was used in the very beginning.
Not sure, how far you are in your project, and if such changes would be meaningful...


Title: Re: How would a blockchain work without miners?
Post by: monsterer2 on February 27, 2018, 07:15:26 PM
Just „thinking out,loud“: could you use a POS system? or a IOTA like confirmation process, where each participant needs to do some work? To avoid spam mails, the idea was used in the very beginning.
Not sure, how far you are in your project, and if such changes would be meaningful...

I wrote a paper about a system which is similar to IOTA without the centralisation... but it's a new crypto, and not trivial to implement: https://bitcointalk.org/index.php?topic=1992827.msg19843771#msg19843771


Title: Re: How would a blockchain work without miners?
Post by: sjyi on February 28, 2018, 04:15:42 AM
The problem is that, we already know how often the system will only be used and our targeted users, and it's nowhere near the numbers in the case of bitcoins(or any other cryptocurrencies).

...
We're hoping that it would still be a system wherein users doesn't need to trust us, or anybody for that matter, they just have to trust the system.

One possible way is to have every customer run a full node with miner.  Then each node participates in creation and confirmation of each block and they don't need to take your word for the file.

Since the transaction rate will never need to be in per second range, build a block with only 1 transaction.  Also, don't need to have a fixed block time.  Append to the existing blockchain only when a new file needs to be stored.  I don't know the type of files being stored, but if it's relatively small, include it in the block.

Some thoughts...


Title: Re: How would a blockchain work without miners?
Post by: nazaididuan1 on March 03, 2018, 01:16:38 PM
Block rewards once every four years in half, now block reward is quite many, equivalent to the entire system the inflation of the work force, ensure safety, mining must rely on charge for maintaining in the future, otherwise there is no maintenance work force, the currency is not safe.


Title: Re: How would a blockchain work without miners?
Post by: Taras on March 03, 2018, 03:39:23 PM
To have "blockchain technology" you have to have a blockchain.

A blockchain is a chain of blocks of data of some sort.

To have a blockchain, SOMEONE (or something) must create the blocks.

In Bitcoin (and many altcoins) the block creators are called "miners".  You don't have to call them "miners" if you don't want to, but you are going to need to decide who or what will create the blocks. You'll also need to decide what the incentive is for the block creators to do that work.  You'll need to provide enough of an incentive to be certain that you'll always have enough block creators.

If you want a "decentralized" system, then you'll need to rely on untrusted random people on the internet to choose to create blocks for you. Your incentive will need to be structured in such a way that users have a large incentive to "behave", and "misbehaving" is effectively a waste of time, energy, equipment, and/or money.

If you do NOT want a "decentralized" system, then you need to really think hard about why you are choosing a "blockchain" instead of some other form of datastore.  Blockchains are inefficient and unwieldy.  They make sense in a "decentralized" system because they are an effective way to build in byzantine fault tolerance, and more efficient and manageable solutions fail to accomplish that. However, in a centralized system (one where you have control over who builds the blocks), the byzantine general's problem generally doesn't apply.  In that case, a good computer scientist will recognize that using a blockchain is almost always a bad idea.

The problem is that, we already know how often the system will only be used and our targeted users, and it's nowhere near the numbers in the case of bitcoins(or any other cryptocurrencies).

In such a small scale application, would a single miner be able to verify those transactions. And if we are the only miners, but everyone of course gets to be a full node, would it still be called decentralized?

We're hoping that it would still be a system wherein users doesn't need to trust us, or anybody for that matter, they just have to trust the system.

Why use a blockchain if so much trust is involved? You, as the only miner, can block transactions at will, reverse confirmed transactions, or die and paralyze the whole system. I don't see what you have to gain by using a blockchain instead of just making a simpler, more efficient, centralized application. The situation you described, where you are the only miner, does create a situation where users need to trust you.


Title: Re: How would a blockchain work without miners?
Post by: Maveth13 on March 03, 2018, 06:03:31 PM
To have "blockchain technology" you have to have a blockchain.

A blockchain is a chain of blocks of data of some sort.

To have a blockchain, SOMEONE (or something) must create the blocks.

In Bitcoin (and many altcoins) the block creators are called "miners".  You don't have to call them "miners" if you don't want to, but you are going to need to decide who or what will create the blocks. You'll also need to decide what the incentive is for the block creators to do that work.  You'll need to provide enough of an incentive to be certain that you'll always have enough block creators.

If you want a "decentralized" system, then you'll need to rely on untrusted random people on the internet to choose to create blocks for you. Your incentive will need to be structured in such a way that users have a large incentive to "behave", and "misbehaving" is effectively a waste of time, energy, equipment, and/or money.

If you do NOT want a "decentralized" system, then you need to really think hard about why you are choosing a "blockchain" instead of some other form of datastore.  Blockchains are inefficient and unwieldy.  They make sense in a "decentralized" system because they are an effective way to build in byzantine fault tolerance, and more efficient and manageable solutions fail to accomplish that. However, in a centralized system (one where you have control over who builds the blocks), the byzantine general's problem generally doesn't apply.  In that case, a good computer scientist will recognize that using a blockchain is almost always a bad idea.

The problem is that, we already know how often the system will only be used and our targeted users, and it's nowhere near the numbers in the case of bitcoins(or any other cryptocurrencies).

In such a small scale application, would a single miner be able to verify those transactions. And if we are the only miners, but everyone of course gets to be a full node, would it still be called decentralized?

We're hoping that it would still be a system wherein users doesn't need to trust us, or anybody for that matter, they just have to trust the system.
Why use a blockchain if so much trust is involved?
That's what we're trying to avoid, the need for our users to trust anyone.
Quote
I don't see what you have to gain by using a blockchain instead of just making a simpler, more efficient, centralized application.

There's already an existing online and centralized application of this, it failed miserably. I can't specify details but I can tell you that government is involved. So graft and corruption takes place, a lot. We think blockchain would solve this.

Quote
The situation you described, where you are the only miner, does create a situation where users need to trust you.
That's why I was asking. Though I think we've solved it now, we're probably just going to adapt an existing blockchain.


Title: Re: How would a blockchain work without miners?
Post by: Spendulus on March 05, 2018, 01:53:28 AM
To have "blockchain technology" you have to have a blockchain.

A blockchain is a chain of blocks of data of some sort.

To have a blockchain, SOMEONE (or something) must create the blocks.

In Bitcoin (and many altcoins) the block creators are called "miners".  You don't have to call them "miners" if you don't want to, but you are going to need to decide who or what will create the blocks. You'll also need to decide what the incentive is for the block creators to do that work.  You'll need to provide enough of an incentive to be certain that you'll always have enough block creators.

If you want a "decentralized" system, then you'll need to rely on untrusted random people on the internet to choose to create blocks for you. Your incentive will need to be structured in such a way that users have a large incentive to "behave", and "misbehaving" is effectively a waste of time, energy, equipment, and/or money.

If you do NOT want a "decentralized" system, then you need to really think hard about why you are choosing a "blockchain" instead of some other form of datastore.  Blockchains are inefficient and unwieldy.  They make sense in a "decentralized" system because they are an effective way to build in byzantine fault tolerance, and more efficient and manageable solutions fail to accomplish that. However, in a centralized system (one where you have control over who builds the blocks), the byzantine general's problem generally doesn't apply.  In that case, a good computer scientist will recognize that using a blockchain is almost always a bad idea.

The problem is that, we already know how often the system will only be used and our targeted users, and it's nowhere near the numbers in the case of bitcoins(or any other cryptocurrencies).

In such a small scale application, would a single miner be able to verify those transactions. And if we are the only miners, but everyone of course gets to be a full node, would it still be called decentralized?

We're hoping that it would still be a system wherein users doesn't need to trust us, or anybody for that matter, they just have to trust the system.

Why use a blockchain if so much trust is involved? You, as the only miner, can block transactions at will, reverse confirmed transactions, or die and paralyze the whole system. I don't see what you have to gain by using a blockchain instead of just making a simpler, more efficient, centralized application. The situation you described, where you are the only miner, does create a situation where users need to trust you.

I'm not sure exactly how to put this, but there are many applications where "trust" is mandated from above, and where the ability for graft and corruption are basically required (although it may not be stated that way).  

Many government and private industry "blockchains" fall into this category, where the Byzantine fault tolerance is not viewed as an asset but a liability.

One way to look at it is recently "blockchain solutions" became an important part of buzzwords and slang, and executives may want to have them without the actual advantages of them, hence developing sort of a bastardized moronic blockchain that does whatever they tell it to...

A corporation could mitigate this partly by having remote and disassociated offices cooperate in "mining," and a government could do the same thing. But if there is any of these in existence in which an active effort was made to split the work up to avoid a controllable and controlling 51% I'd be very interested in hearing about it.


Title: Re: How would a blockchain work without miners?
Post by: Wind_FURY on March 05, 2018, 07:06:05 AM
Are you talking about minting new coins or hosting bitcoin transactions here because the two have become confused

Other coins succeed without mining wars to see who has the biggest rig and NEO makes new coins by
paying interest to people who own the old coins and that seems to work fine.


Off topic. But isn't NEO centralized? According to some comments, NEO only has 7 nodes that are all controlled by them like how Ripple has only several "validating nodes" all controlled by the company behind it.

I am not criticizing the project but it does require the users to trust the people who maintain the network.


Title: Re: How would a blockchain work without miners?
Post by: Maveth13 on March 05, 2018, 01:50:53 PM
Are you talking about minting new coins or hosting bitcoin transactions here because the two have become confused

Other coins succeed without mining wars to see who has the biggest rig and NEO makes new coins by
paying interest to people who own the old coins and that seems to work fine.


Off topic. But isn't NEO centralized? According to some comments, NEO only has 7 nodes that are all controlled by them like how Ripple has only several "validating nodes" all controlled by the company behind it.

I am not criticizing the project but it does require the users to trust the people who maintain the network.


We have no plan of using neo.

Though as for your question about neo being centralized, I like to think that currently it is, but it's not intended that way. It is decentralized but just not yet distributed. This reddit post summarizes this very well:

https://www.reddit.com/r/NEO/comments/7kf7mu/clarifying_neos_centralization_problem