Improving sybil resistance of the design proposed in the litepaper

Hey all, thank you for your comments thus far on the Vanilla v2 litepaper!

As a preparation for the community call tomorrow, we have an update related to improving the Sybil resistance of the design proposed in the litepaper:


Juicers earn $JUICE for making correct predictions and lose $JUICE for making incorrect ones. However, juicers are rewarded in $VNL for being profitable but not penalized in $VNL for being unprofitable. We’ve discovered that this asymmetry breaks down the Sybil resistance of the system.

Here’s how the loophole works and how we’re thinking of fixing it:


Let’s use an example: A juicer sets up two accounts. They use the first one to LONG $UNI and the second one to SHORT $UNI. The position is net neutral: the earned and lost $JUICE balance each other out when summing up the two accounts.

However, assuming a changing token value, one of the accounts will always be profitable in $JUICE and eligible for $VNL rewards - without the juicer needing to take a risk or provide value to the system.

So let’s just remove shorts?

This simple solution has two problems: Firstly, removing shorts decreases the quality of the signal. But secondly, removing shorts doesn’t eliminate the problem as mentioned earlier: a juicer can still use longs to create two uncorrelated portfolios, one for each account, to achieve the same effect.

While finding uncorrelated longs is difficult in the highly correlated crypto markets, it is not impossible and will become easier as Vanilla expands to cover more assets, such as traditional (but perhaps tokenized) stocks.

THE SOLUTION (tentative)

We are exploring a fairly significant update to the system design (vis-a-vis the design proposed in the litepaper) to eliminate the problem.

The solution in a nutshell: Let’s reward juicers via $JUICE buybacks instead of giving out $VNL.

When the subscriber revenue that the DAO receives is partially used to buy $JUICE from the market, it increases the price of $JUICE and indirectly rewards juicers.

This change will have a few implications:

  • The buybacks reward all $JUICE holders in proportion to the $JUICE they own. Thus, a net neutral position (e.g., long + short) across two accounts won’t increase $JUICE, and therefore the value the juicer receives, making the system Sybil resistant.

  • All $ JUICE holders enjoy the benefits of buybacks, including those that just hold but don’t participate in staking. However, by only holding $JUICE, the inflation of $JUICE will gradually eat away at the net value of the holder’s position.

  • Subscriber revenue can be paid in $USDC instead of $VNL, and $USDC can be used directly for buybacks or future ecosystem investments.

  • $VNL can remain solely a governance token, and the $VNL value can be subject to revenue share via buybacks similarly to $JUICE. This model also opens up the possibility for ”classic” staking governance, where $VNL holders stake tokens for an extended period to get staking rewards and governance rights.

  • $VNL holders via the DAO will determine which % of revenue is used to buy back $JUICE and $VNL and hold as $USDC in the treasury. The percentages will change over time to optimize the value of $VNL.

  • Reveals of stakes do not need to happen in regular time intervals (rounds) anymore. Reveals are only warranted when juicers withdraw their $JUICE. Once the signal is revealed, subscribers need to verify that the data they received has been correct. Juicers providing incorrect data will incur penalties.

This suggestion is still a draft, and feedback is much appreciated! Thanks :slight_smile: