Almost one year ago, we started working on Indorse. I still remember writing the whitepaper while sitting at a bar in Vienna, Austria. One year later, we have launched the version 1.0 of the AIP on the mainnet, and I thought it’s time to re-iterate and reflect on why we did this, and why it is important. At that time, we saw a broken system of a professional social network, LinkedIn, where monolithic giants were consuming all your data, while leaving you with little of anything. That, combined with the onset of blockchain technology, provided us with a unique opportunity to disrupt the status quo, and hence we started working on this idea.

AIP stands for Anonymous Indorsement Protocol. It is based on, and is an extension of the Open Voting Protocol, designed by Patrick McCory from UCL (University College London). There are two main actors in this system — a claimant (who claims to know some skill) and a validator (a pre-vetted expert in this skill, who will validate several claims being put forth by claimants). When we say “anonymous”, we do not mean the anonymity of the claimant, nor the identity of a validator. By “anonymity”, we are referring to the anonymity of the votes, and the validations. This kind of anonymity is important in order to solve two game theoretical problems inherent in any voting system -

Adaptive problem — if all the voters could see the votes, and the tally, other voters might be swayed in favor of voting with the majority. This would lead to a skewed result Abortive problem — if a voter has made his mind to vote in a particular way, but he sees that the majority is swayed towards the other side, he is very likely to abort this voting round, and not vote, since his vote will not count to anything

We plan to solve both these problems by using blockchain and privacy primitives such as ZK-Snarks. These ideas have been expounded by Patrick in his paper and implementation that you can find here — https://github.com/indorseio/anonymousvoting

Sadly though, with the current state of the blockchain technology, these primitives cannot be practically implemented and used in a real-world system. And since we couldn’t wait any longer as a company, we decided to forego the use of Zero Knowledge Proofs in this version of the AIP (hence we call it a NaiveClaims contract). You can find the code for the contract here — https://etherscan.io/address/0x5982f9decc836248b2c72cf23af1ec2a64173fcc#code

This is an ungradeable Smart Contract, written using a Proxy Pattern.

The main motivation for this release is to understand the claimant and validator behaviour, and iterate over the features in order to make it more usable by both the actors. We have already been getting a lot of good feedback on these features, and are already improving it. One big limitation of this implementation (as opposed to Patrick’s implementation) is that, the tally contract can be controlled by one single operator (which is an Indorse owner in this case) and is not completely trustless at this point of time. As an owner, we can see all the votes and tallies, although we can’t influence any outcome directly.

Another limitation that we MIGHT face is that the system might approach a subgame perfect Nash Equilibrium. In other words, the validators might, at a point of time, realize that every voting round is going to approach towards a Yes vote, and hence voting yes for every round will minimize their chances of getting penalized. In order to avoid this, we are going to introduce some “fake” claims, in a random manner, which will have a NO answer. We expect this to deter malicious behaviour by the validators.

Further to this version, we are going to concentrate on a few things -

To iterate on the tally contract/function and improve the logic

To introduce Zero Knowledge Proofs in the system, and reduce the trust factor from Indorse

To work on a scalable AIP system by enabling this on Plasma

Ultimately, it depends on how the Ethereum ecosystem progresses and if the holy trinity — Casper (PoS), Sharding and Plasma are released in the next 6–8 months, and work as expected.

All in all, we are quite excited about the future of AIP, amidst several game theoretical challenges and various scalability problems to solve. We are confident that this would make Indorse stand out amongst the various Blockchain projects, and put us at the forefront of technological innovation!