The beauty in Proof of Contribution

TL;DR: this article explains why if done properly in early stage, there probably will NOT be cartel-forming and collusion issue in ICON ecosystem like other DPoS public chains, at least in theory. It is also exploring the need for quantify contribution and Decentralized ID.


In layman term, “contribute” just mean “give something ( any types of resources ) in order to help achieve something

All innovation and development in the history of mankind are the result of uncountable contribution from a lot of people, those we haven’t even known their names until now. Without them, our society cannot be as good as today. Those people deserve a much better recognition for their works. What a pity, we cannot rewind the time to record their contribution again. The past is so far away.

But we still have control on our present, and somehow be able to influence our future through wise decisions. Now the question pop out, what if we have a way to record every individual contribution and make them immutable, unremovable, and nearly imperishable ?

Yeah, we will not want to miss it. Stop here a bit for contribution, we will come back soon.


Now move to our familiar blockchain space. Let’s start with one of two most important aspects in blockchain as well as crytocurrency, consensus and governance structure. The other one is mass adoption, we will also talk a bit about it in the end of this article.

It has been 10 years since Bitcoin genesis block. Nevertheless we are still struggling to find a working and fair decentralized governance without sacrificing performance or security. At the moment, Bitcoin and Ethereum — the most decentralized public chains so far — are still running poorly on performance with its Proof of Work consensus model.

And the worst thing came out, we found that there is a thing called Scalability Trilemma. There are tons of resources on this topic out there, you could easily search for it.

Basically, Scalability Trilemma is about 3 aspects in which we can only achieve 2 of them and giving up the remaining one.

  • Decentralization ( there is no single entity controlling the chain )
  • Scalability ( speed and performance )
  • Security ( immutability and attack resistance of the ledger )

Given that, there is a popular and strong belief among blockchain community that we must wisely make the trade-off on scalability issue.

From that, it has been forming 3 main schools of thought or ideology in blockchain consensus model and governance

  • Proof of Work maximalism ( *cough cough* Bitcoin dinosaur )
  • Delegated Proof of Stake: the majority vote for a small set of validators
  • — — ICON, Tendermint, NEO…
  • Chain-based Proof of Stake: everyone can be validators
  • — — Casper the Friendly Ghost ( Vlad — also involve in Ethereum 2.0 )
  • — — Casper the Friendly Finality Gadget ( Vitalik — Ethereum 2.0 )

We will focus on Proof of stake here, although I am a big fan of ICON, Ethereum is the first project lead me to blockchain rabbit hole, so I will talk about it first.

In short, Ethereum 2.0 with its promising Proof of Stake look like the best one. But the issue is …it is not here yet. And it is becoming way too complex for average people, even developers. It is like fixing the plane in middle of the air.

Almost all new projects are using Delegated proof of stake ( DPoS ) for its simplicity, speed and security, but it also come with a big issue on centralization. Decentralization has been the big selling point as well as narrative for blockchain movement, if we sacrifice it, this story is not gonna end well.

Maybe you are asking, why is there centralization issue in DPoS ?

Oh well, it is actually quite simple and inevitable. In any social system/hierarchy, if there is power for everyone to grab, everyone will try to grab it by all cost, they will very likely do bad things to get it. If not be designed properly and carefully, as a consequence, the system will suffer and be weaken from this war for power. Being undermined, eventually, it will collapse.

This problem is especially true for blockchain ecosystems.

There will be always power-hungry people, they are everywhere. The question is how to deal with them, mitigate their negative impact on our world/ecosystem, and make sure their power must come together with positive effect.


Now, we return to contribution. Let’s bring it into blockchain context, even narrower, within scope of DPoS consensus model. Start with validators, that group is supposed to represent for majority of people. It means protecting people interest and foster the growth of ecosystem. Yes, it looks perfect on paper, as long as that group of validators is good, competent and ethical.

But, a big “BUT”, what if we choose wrong people to put in charge as validators ?

We have known the answer already.

The more important question should be: how to design the game, how to choose the right people ?

There are 2 approaches

  • Some DPoS projects choose merely on the amount of token validators possess. Apparently this create a barrier for anyone want to be validator and make the whole ecosystem very centralized. No need for more discussion on this approach.
  • Other DPoS ecosystems use election and voting as solely method. The difference is around the question: what does it take to win a vote ?
  • — — If the amount of vote is measured by the number of token, it is just another form of money, anyone with huge amount of money can easily grab validator position. Rich people/groups are not necessarily good people, or at least good for ecosystem. It will likely end up in the same place as the first approach. Most DPoS chains get stuck here.
  • — — So, what should we do ? What is the best measurement for winning a vote ? The answer is whatever make positive impact to ecosystem, it should be the indicator for winning vote.



But what is precisely CONTRIBUTION ? What should be counted as CONTRIBUTION ?

I will make it more clear and quantifiable in the next version of PRep Watcher ( If you haven’t known yet, it is a tool made by my team ICONVIET ). You could take a look at it here to get a sense.

Now, the last hard part is how to put it together properly. How to use contribution as the main criteria for choosing validators.

Here are my thoughts on solution

  • First, perception of contribution should come from community and majority. It means each individual must know objectively how much contribution a validator has done.
  • Second, the amount of vote must be derived heavily from the number of unique-entities ( a real person or group ). To mitigate sockpuppet problem, decentralized identity (DID) play very important role here.
  • Finally, for each voter participating in the election, the cost for making more vote must be quadratic. It reduces significantly the effect of rich party in election, example below
  • — — One vote cost 1 ICX
  • — — Two votes cost 4 ICX
  • — — Three votes cost 9 ICX
  • — — N votes cost N² ICX

You all know, the only public chain project with built-in Proof of Contribution is ICON.

With ICON, contribution will be recognized and well-rewarded immediately. The evidence of all early contributors will be put into public chain, and it will be there forever.

No more forgotten pioneers.

That is it, just my thought. Let’s see how it will unfold in coming months.

Oops I forgot, I mentioned about mass adoption in the beginning. But this article turns out quite long already. Better save it for the next one.

More to come.

Thank you for reading and HODLING.

@duyyudus — ICONVIET