The Money Changer and His Wife by Quentin Matsys 1514

Basic Introduction

To be incentivized to run hardware for the Lamden network, people must be given a reward. This reward has to cover the costs of running a node plus the value add that the participants in the network agree is appropriate for providing this service.

At the moment, our testnet runs on T2.Large instances on AWS that cost $65 / month. This does not factor in storage, which is $0.10 / GB / month. An extra $1 gets us 100GB of storage per month, so let’s be liberal and assume the chain is a whopping 500GB, which would bring the total cost to run a node to $70 / month.

The proposition is to take a transaction fee out of each transaction and divide it up to the people who run the network. But how do you decide what that transaction fee should be? Let’s assume for now that everyone is running the same node ($70 / month) in the cloud and is paying for storage even though it is redundant for the delegates.

Each delegate can process 2,800 transactions per second per core. A T2.Large has 2 vCPUs, which would bring the capacity of the network to 5,600 transactions per second. If the network needs 10,000 transactions per second, the nodes could be upgraded to 4 vCPU cores for $140 / month, so the costs scale linearly. This is important to note because it allows our pricing models to be stable.

A delegate in theory can process 5,200 transactions per second which is 312,000 transactions per minute, 18,720,000 transactions per hour, and 449,280,000 transactions per day. For comparison, Ethereum at its peak processed 1,000,000 transactions per day. Lamden’s network is capable of 450x the maximum historical transaction volume of Ethereum.

Let’s assume Lamden is processing 1,000,000 transactions per day. This would mean that each node would have to get enough Tau to pay for the costs of the $70 / month. $70 / 30,000,000 transactions per month means each node would make $0.000002 per transaction.

$0.000002 per transaction, that’s absurd!

Yes, it is absurd. What is more absurd is that the node cost per transaction would actually increase based on the fewer number of transactions that are confirmed each month. If only 300,000 transactions are sent per month, each node would have to receive their $70 from those fewer number of transactions which would require each transaction to shed a larger cost of $0.0002 per transaction.

This is still much more affordable for the end users compared to POW systems, but it has an unintended consequence. If there is less usage of the system, the transaction fees would actually go up, which would then dissuade people to use the network. This is obviously bad.

This also becomes an issue because as the network grows, the rewards must grow as well. If there are 100 nodes in the system, all 100 would be getting the same reward from each transaction and the total cost to the user for each transaction would be 100x.

You can see how scaling the network increases the TX cost and the number of TX per month actually decreases the cost. The equation is TX Cost = (Cost / TX per Mo) * Nodes

$70.00 per transaction, that’s absurd!

Yes, this is absurd. So some equilibrium has to be reached otherwise no one would use the network. This is one of the variables that the network votes on. It provides a stable number that users can get used to when they are developing and deploying apps, and it allows the nodes to rely on enough Tau coming through the system for them to be able to pay for their nodes.

What this also does, which is the most important thing, is incentivize the nodes to push for adoption of the network. How is this so? Assume the cost per transaction is fixed at $0.50 and the network size is 20 nodes. This means that after about 2,500 transactions per month, the nodes are making a profit on every transaction that gets pushed through. This is great because adoption of the network is the most important thing for a public blockchain. It is great for the users because a single system is better than many fragments, and it is great for the nodes because they have a direct pathway to generating revenue by soliciting use of the Lamden blockchain. Also, because Lamden is not a POW system, transactions are always going to be cheaper than POW systems.

Nodes and stakeholders on Lamden will be economically incentivized to drive adoption because every transaction after a mutually agreed upon quote is pure profit. Adoption via new smart contracts, token migrations, etc. is directly beneficial to the nodes and will be their primary objective if they want to profit off of running a Lamden node.

Stabilizing Network Costs

The largest problem about Bitcoin and Ethereum is that their costs are denominated in the cryptocurrency that powers them. What this means is that the cost to transact in these networks is directly correlated to the markets. If the markets dictate the price of Bitcoin is too high, people don’t want to use it.

To prevent this, all units of cost are denoted by an indirect variable called the Stamp Tau Ratio (STR). The STR determines how many stamps a single Tau purchases. If the STR is 3, each Tau purchases 3 stamps.

What does this mean? Transactions are measured in the number of Computational Units (CUs) that they take to process. To measure how many CUs are required for a transaction, Lamden counts the number of Python opcodes are in a smart contract. Some opcodes are more expensive because they take more time to process. We’ve profiled each opcode and documented their CU cost here. Read more about Python opcodes here.

A standard Tau transaction is about 3000 CUs. Each stamp pays for 1 CU. If the STR is 3, a standard Tau transaction would cost 1000 Tau. This is a very expensive transaction!

Thus, if we wanted the transactions to cost $0.50 each, we would calculate 3000 * Tau Price / Desired Tx Price. This would be (3000 * 0.02) / 0.5, or 120. The STR would be set to 120 by the network, and each Tau would purchase 120 stamps.

In this example, $0.5 / $0.02 = 25 Tau. 25 Tau * 120 = 3000 stamps. The math works out!

If the price of Tau on the market goes up to $1, then the STR needs to be readjusted. The STR would then be adjusted to 6000 and the transaction price would remain at $0.50.

Staking Costs

With the built-in mechanism to profit on transactions, many people will want to become a node. However, as the number of nodes increases, the transaction costs increase as well which means potentially less profit to go around because less people will want to use the network. To solve for this, staking costs have to be competitive and the roster of rewarded individuals must be somewhat mutable.

There is a belief that as much decentralization as possible is good. This is true if the decentralization does not affect the performance of the network. Generally, a larger network is going to perform slower due to network latencies. However, too small of a network might as well just be a centralized system.

Masternodes and delegates don’t want a large network because it would cut into their profits. However, masternodes might vote for more nodes because they have storage costs that delegates do not. Delegates are purely economically driven and do not have to upgrade their hardware nearly as much.

The truth is that the end user is the one that benefits most from decentralization. Thus, users and witnesses should be the ones that vote on how big the network can be. Users are ultimately the ones that are paying for decentralization, so if they are okay with this, then they will increase the network size. This counterbalance is how the entire governance model keeps the network in check.