A Closer Look at TCR 1.1 and the µ Equation

Eddy Muñoz
5 min readDec 29, 2017

By Eddy Muñoz and Mike Goldin

Token-curated registries (TCRs) are in the early-stages of development across the blockchain space. Projects such as adChain and District0x are utilizing TCR’s crypto economic structure to create an incentive game for the TCR’s token holders.

Vote Splitting

One of the biggest concerns that has surfaced since the publication of the 1.0 paper includes a behavior known as “vote splitting”. Vote splitting is a behavior where a token-holder splits their token weight 50/50 in every vote between support and oppose. Since the 1.0 version did not put the voter’s tokens at risk for voting in the minority, the vote splitter would always end-up with additional tokens by behaving in this way.

MINORITY_BLOC_SLASH

In order to combat this behavior, the TCR 1.1 update introduces a new parameter called MINORITY_BLOC_SLASH. This parameter specifies the percentage of tokens the losing voting bloc forfeits to the winning voting bloc. If the MINORITY_BLOC_SLASH is set to 100%, then all of the losing voting bloc’s tokens are forfeited. If MINORITY_BLOC_SLASH is 0%, then it would follow the TCR 1.0 structure, where the losing voting bloc does not forfeit any tokens.

The Vote Splitting Loophole — The µ Equation

Although the new parameter reduces the set of circumstances in which vote splitting is rational, it does not completely eliminate them. Depending on the MINORITY_BLOC_SLASH percentage and MIN_DEPOSIT, vote splitters looking to profit in TCRs can continue to have a positive percentage gain if:

winningVoteBlocSize — losingVoteBlocSize < MIN-DEPOSIT*µ

Multiplier — µ

The Greek letter µ (mu) represents the weight of the MINORITY_BLOC_SLASH and the DISPENSATION_PCT in relation to MIN_DEPOSIT:

The µ Equation

This equation assumes a VOTE_QUORUM of 50%, all votes revealed, and the number of tokens split amongst each side by the vote splitter as ≤ losing voting bloc amount.

To further analyze µ, it correct to say that a smaller MINORITY_BLOC_SLASH would increase the value of µ, compared to a larger DISPENSATION_PCT would decrease the value of µ. It is also good to note that a 0 value for MINORITY_BLOC_SLASH would set the denominator to 0, therefore making the equation not a legal fraction since its overall value is undefined.

Examples

EXAMPLE 1

In Example 1, the MINORITY_BLOC_SLASH parameter is 100% and DISPENSATION_PCT is 50%, thus creating a µ of 0.5. With a MIN_DEPOSIT of 100,000 token, a losingVoteBlocSize of 10,000 would need a 60,000 token winVoteBlocSize in order for the vote splitter to have a 0.00% percentage gain for vote splitting. This is because 60,000 minus 10,000 is 50,000, equal to MIN_DEPOSIT*µ which is 100,000*0.5=50,000. Now let’s see how Example 2 uses the µ equation to allow the voter splitter to be positive in percentage gain.

EXAMPLE 2

Notice how in Example 2, the µ equation is true.

winningVoteBlocSize-losingVoteBlocSize < MIN-DEPOSIT*µ

30,000–10,000 < 100,000 * 0.5

20,000 < 50,000

Therefore, because the difference between the winningVoteBlocSize and the losingVoteBlocSize is less than 50,000, the split voter is able to win 50% of total holdings by being in the loophole. The amount of tokens the split voter has on each side does not matter so long as the amounts are the same and the amounts are ≤ to the losingVoteBlocSize amount. Now, let’s say that the equation is reversed, with a much larger difference between winningVoteBlocSize and losingVoteBlocSize .

EXAMPLE 3

As the calculations show, this example leads to a 12.5% LOSS of total holdings for the split voter. This is mainly because their percentage in the winning voting bloc is much less than their percentage in the winning voting bloc in EXAMPLE 2. Once again, please keep in mind that the vote splitter is splitting his votes EVENLY.

Analysis

To further analyze the µ equation, I have created EXAMPLEs 4–6 with a 50% MINORITY_BLOC_SLASH and EXAMPLEs 7–9 with a 1% MINORITY_BLOC_SLASH. Please reference this sheet to find each respective MINORITY_BLOC_SLASH’s multiplier.

With a MINORITY_BLOC_SLASH of 1%, the multiplier would be 50, meaning that if the winning voting bloc is within 50 times the MIN_DEPOSIT added to the losing voting bloc, then the split voter can leave the vote with a positive % gain.

If MIN_DEPOSIT is a high amount, then it can be argued that there is a higher possibility for successful vote splitting, regardless of the MINORITY_BLOC_SLASH percentage. TCRs that will mandate a high MIN_DEPOSIT include those that wish to minimize fraudulent activities within their listings due to what is at stake when fraud is caught. Therefore, it is highly recommended that a MINORITY_BLOC_SLASH of 100% should be implemented in order to minimize the probability of successful vote splitting.

Summary

Although a 100% MINORITY_BLOC_SLASH percentage does minimize the probability of successful vote splitting, it does not completely eradicate it. This is due to the probability of a winning voting bloc being so small that the vote splitter’s loss in the losing voting bloc will not overcome their gains from also being in the winning voting bloc. To rephrase, the gains from being in the winning voting bloc overpowers the losses from the losing voting bloc.

One must always take into account how large MIN_DEPOSIT is when attempting to minimize vote splitting. The higher this parameter is, the greater probability the split voter’s gains from the winning voting bloc will overcome the losses from also voting in the losing voting bloc, and therefore be profitable.

--

--