Share
Explore

icon picker
Mechanism Analysis

In the previous post we briefly explored a mechanism for funding public goods that also seemed to tend to diffuse wealth.

That mechanism was comprised of three subcomponents, each of which were necessary for the resulting dynamics. Those components were:
Index Payments
Currency Endorsements
Impact Certificates

Index payments ensure that the makeup of a payment from payer to payee is has the same proportions of currencies as that of the payer’s wallet.

For example, imagine this is someone’s wallet. Each bar represents a currency of some value:
image.png

On the left of the line is a $1 payment. It has the same proportion of each currency as their wallet.
image.png

Naturally, this raises the question as to how you can protect yourself against receiving currencies they don’t want? This is what currency endorsements enable.

Imagine there’s an incoming payment to you worth $1. It’s comprised of 68 cents of green currency, and 32 cents of blue currency.
image.png
Let’s imagine that to you the blue currency is worthless. In that case, it’s more like you’re only getting a payment worth 68 cents. In the language of currency endorsements, this would be an endorsement of 0.
image.png
We could require that the person paying you just gives you more green currency, but then we would lose the property of proportionality of an index payment. Instead, we’ll require that the person paying you makes another index payment worth the missing 32 cents to fill the gap.
image.png
Of course, that payment also has a gap in it, so they’ll have to make another payment.
image.png
Finally, after (infinitely) many payments, they’ll have sent $1 worth of green currency to you.
image.png
Thankfully, we don’t have to make infinite payments, we can calculate all of this ahead of time so it can be done in a single payment.
From the perspective of the person paying you, their payment feels to them like this:
image.png
From their perspective, they’re paying $1.47, because they value the blue currency more than you do.
What would have happened if the payment to you had contained more of the blue currency? For example, what if it had been 61% blue instead of 32%?
image.png

This time it takes many more partial payments before it starts to get close to $1 from your perspective.
image.png
And because of that, by the time it adds up to $1 for you it’s costing them $2.56.
image.png
If for every dollar you receive they have to pay 2.56 they might not be so happy. Just like with any purchase, if the price is too high they might just walk away.
To reduce this risk, you could increase your endorsement. Right now your endorsement is 0%. You could endorse the blue currency worth 100%. In that case, they would just send you $1 like normal.

image.png

But, you could also choose any percentage. For example, let’s say you set your endorsement of the blue currency to 50%. Then their first payment to you would look like this:
image.png
Here, since only about half of the blue currency is valuable, it’s like there’s about 31 cents missing from the payment to you. And of course that’s extremely similar to our initial example where 32 cents were missing from the payment from your perspective.
image.png

From their perspective they’ve had to pay you $1.87.
Now, why wouldn’t you just decrease your endorsement in order to get someone to pay you more? Well, from the perspective of the person paying you they don’t see your endorsement, they just see a price. So, increasing your endorsement is the same as increasing the price. If you can do it, great! But you’ll be limited their desire for your product and the alternative ways they could purchase something similar, like by buying from a competitor.
You might notice that as long as an endorsement isn’t 100% there’s some additional amount that needs to be paid above the regular value of the tokens. Let’s flip the script and imagine you’re the one who’s purchasing something. If you’re purchasing from


Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.