Could this work? Proof of Consistency?

So, I have been doing some research on Blockchain , for my dissertation, recently and had spent a lot of time researching consensus protocols. This had led me to wondering if there is any other ways that consensus could be maintained. I had an idea, but would like to know what you guys think, as I know I lack some knowledge in the entirety of this field and concept.

I propose a consensus protocol called "Proof of Consistency". This protocol depends on how consistent a node is connected to the network. A consistent node is connect always without disconnecting, while an inconsistent node is not very dedicated and only connects for small amounts of time and then disconnects. With connected I mean an internet connection and some sort of status to let the network know it is connected.

So how will this work:

Nodes are connected to the network, the longer they have been connected, the higher their probability of being chosen to add a block. Thus the consistent nodes has a better chance at "winning". The inconistent nodes will have a smaller chance, but still have a chance. Once you have disconnected, your "consistency time" drops to 0 and starts over once connected.

There will be a cap on Time connected, for example, a node that started first and never disconnected will then in theory always have the best chance of winning, thus we cap the "consistency time" to an arbitrary number, so that other nodes can "catch up". Once a certain number of nodes has reached the cap, all times are reset (this is to keep things random/fair). A problem may arise where in the long term, everyone starts at zero and then the whole protocol falls to nothing, as everyone will then have the same "consitency time" always thus it will just be a normal lottery. Maybe one can introduce a "tier" system where you get an extra minute once you have been reset or something similar.

No need for powerfull computer hardware

No Environmental issues

Node only needs internet connection

Incentives to stay connected thus keeping the network running

May just not be optimal haha

The time cap may be a problem somehow

It is in many ways similar to POS, but people who do not have money to have a big stake can also participate and have a bigger prob of winning.

Obviously there are a lot of factors to consider and I am not claiming this is a revolutionary or the next best idea, I would just like to recieve feedback on this idea as it quite interests me and I like playing around with these concepts.

Thanks

I think the biggest issue with this consensus protocol would be adversarial vulnerabilities. Adversarial, or even rational, nodes would have a clear incentive to knock other nodes off the network. Would be very difficult to make this incentive compatible.

Feel free to PM if you want to talk more about consensus. Current undergrad with a few years of research experience in the field.

• I see, thanks a lot for the reply. I will definitely get in contact with you. Jan 30, 2020 at 9:05

I'm not posing as an expert in consensus protocols. I agree with @mdigi14 that an incentive for the network to attack itself looks like a problem.

Measuremnent strikes me as challenge.

the longer they have been connected

According to whom?

This has to be measured, somehow, and the result might differ based on perspective since network connections between the nodes might be an issue. In essence, node A is reachable from B but not from C. You will need a way to measure and to come to a consensus about the correct assessment.

I also question the purpose of this. In Ethereum and many other chains, the consensus is only concerned with disambiguating transaction order so properly-functioning nodes can reach consensus on the world state. A focus on availability helps reward uptime but I'm not sure it contributes to correctness.

There has been a lot of work done on distributed storage and notions of "reproducability" to ensure a node can, for example, produce a shard of a file it's tasked with preserving, so that research might be worth looking into.

Hope it helps.

• Thanks for the input. I will definitely look into this topic with this in mind. Jan 30, 2020 at 9:07