PoR ( Proof of Relevance ) - A New Blockchain Consensus Algorithm

proposal-commitment

#1

Hello, I introduce a new blockchain consensus algorithm, PoR ( Proof of Relevance ).

https://github.com/ninanoo/PoR

This algorithm, based on computational complexity theory, can solve many problems of the current blockchain.

I hope this algorithm will be discussed and improved with the people who study and develop the blockchain.


#2

Hello,
Here are my notes (questions, rather, to create discussion) on the occurring concerns and issues I found regarding the proposed algorithm. Note that I skipped some of the paragraphs for the sake of time. I assume that the math is correct as I have not had the time to formally go through it.

For anyone else reading, the complete paper regarding the algorithm is available here.

ā€œThe relevance is obtained from the proprietary information of each block between adjacent blocks. The relevance can also be created from the work of PoW or the stake of PoS.ā€

  • Is the algorithm defining relevance based on both ā€˜proprietary informationā€™ AND the work of PoW / stake of PoS? If so, does that imply that the algorithm is ā€˜built uponā€™/requiring another PoW/S algo?
  • Assuming the above is true: Why? Is there a need for a PoR if we already have an implemented, functional PoW/S?

It uses a hash chain of Bitcoin, but has a dual chain structure such as Bitcoin-NG. There are a key block chain and an authentication block chain linked each other. In the key block chain, a candidate that can generate an authentication through consensus is registered. In the authentication block chain, the authentication for a ledger is registered.

  • What is the reason for a dual-chain design? Would it not be possible to perform both tasks (ā€œgenerate an authenticationā€ and ā€œregister authentication for a ledgerā€) on a single chain?
  • If the algorithm requires a dual-chain architecture, assuming you would want this algorithm to be applied to Ethereum, wouldnā€™t that require a lot of restructuring of the whole blockchain (aka hard fork)?

With the use of a dual chain, the registered candidate can generate a real authentication after a very long time and there is also competition at that time.

What is meant by this? Is ā€˜the registered candidateā€™ a normal network node? What is a ā€œvery long timeā€?

Relevance is used for competition to be registered as a candidate to generate an authentication. Reverse relevance is used for competition to create real authentication. Both competing situations are competition for time based on relevance and they are all for personal benefit. This prevents problems such as ā€˜nothing at stakeā€™.

  • ā€œCandidate to generate an authenticationā€ - if Iā€™ve understood this correctly, is this (a ā€˜candidateā€™) to be compared to an EOS-style dPoS block producer?
  • Being ā€˜all for personal benefitā€™ will very likely open up for malicious incentives.

It is not the computational complexity that simply solves the hash, but there are numerical parts related to the operation of the algorithm such as many candidate blocks or very large threshold value, and they are all designed based on computational complexity theory. As a result, all attacks on the algorithm are probabilistically impossible

  • That attacks on the algorithm being ā€œprobabilistically impossibleā€ may not be true.

The words ā€˜proprietary informationā€™ is used a lot throughout the proposal:

Proprietary information may include memories that can be forgetful or possessions that can be lost, such as passwords or hardware tokens, and this information can be linked with your wallet. As an alternative to this, proprietary information such as biometric information can be used without risk of loss.

  • As previously mentioned, ā€œthe relevance is obtained from the proprietary information of each blockā€, and above it suggests that ā€˜proprietary informationā€™ is rather personal (such as passwords, biometrical info, and the alikes). Should such data be (i) publically available, (ii) stored permanently, and (iii) used to determine the next block?
  • Assuming one need the blocks to be determined by its relevance to personal data stored on the previous block, how does the data (ā€˜proprietary informationā€™) of the previous block have any relevance/affect on what transactions should be included in the next block (if weā€™re talking transactions, which I would assume). This would be a huge privacy issue as well as being irrelevant.
  • The solution would be encrypting all the data, but then it would be hard for nodes on the network to ā€˜validateā€™ the ā€˜relevanceā€™.

If you can not remember this information or you lose it, you can lose your ownership for that block forever. As an alternative to this, proprietary information such as biometric information can be used without risk of loss.

  • ā€œyou can lose your ownership for that block foreverā€ - what ownership? No one owns the blocks, and thus ā€œloosingā€ ownership would not be possible, as everyone/no one owns them.
  • Loosing biometric information would not be possible unless one physically looses a biometric tool (your eye, finger, etc. :joy: ) - if you ā€œlostā€ the block (e.g. canā€™t find the block hash corresponding to your info), you could simply upload them again to a new block.

Please correct me if I interpreted the paper wrong or missed some info.

Lastly, quick question: what software did you use to create the blockchain architecture diagram? It looks cool.


#3

Hello.
I am going to have English epidemic these days.

The following is a reply to a question in r/ethereum of reddit.

A pool for a very large number of candidate blocks to issue the authentication is operated.
The blocks in the pool are also connected by a hash chain.
Mathematical techniques such as exponential distribution and computational complexity theory are used in consensus to be registered in this pool.
These techniques make it impossible to falsify an already confirmed authentication, and authentication is issued in real time to the extent that network bandwidth is supported.
In addition to consensus to be registered in the pool, blocks also compete in issuing authentication.
Due to this competition, problems such as 'nothing at stake' do not occur.
Due to the use of dual chain, authentication to the ledger is deterministic and problems such as double spending do not occur.
After a block is added to the pool, it takes a very long time to issue the authentication.
The block can issue authentication when it wins all the competition that lasts that long time.
This long time consensus minimizes localization problem.
There is only one reward for the participation of a majority of legitimate users.
This is the basic function provided by this algorithm and there is proprietary information that is separate from this.
You can find out about the proprietary information at the link below.
Depending on what the proprietary information is used as, another characteristic may be given to the algorithm.
The work of PoW may be used or the stake in PoS may be used.

As mentioned at the end of the article above, the proprietary information has not yet been researched and is only about the future directions.

First of all, I am also looking for ways that this algorithm can be applied to Etherium.
But, from the conclusion, I have not found yet.

One of the easiest ways to use stake as proprietary information is as follows.

Below is the current expression.
\displaystyle r = \sum_{n=0}^{c-1} {2^{m_n}} {a^{-\frac{n}{c}}}

Below is a modified formula for stake.
\displaystyle r = \sum_{n=0}^{c-1} {m_n} {a^{-\frac{n}{c}}}

Since self relevance calculation has to change when proprietary information changes, 2^m is replaced by m.
m is the stake of each user who wants to be a candidate block.
This is a simple structure that all users compete to become a candidate block with their own stake.

I posted here to look for ways together to avoid the hardfork.

Etherium already has a lot of great developers.
I do not want developers to be more confused by the new consensus algorithm.
I would like to find out together how to apply this algorithm to further develop Etherium.

Due to the lack of English and insufficient time, this is not the answer to all the questions.
I will answer the lacking parts every time I think about it.