AMO Blockchain Economy Simulation #4

Comparisons

AMO Labs Dev
AMO Labs Official
21 min readMar 9, 2020

--

See also
- AMO Blockchain Economy Simulation #1
- AMO Blockchain Economy Simulation #2
- AMO Blockchain Economy Simulation #3

한국어 판은 뒷부분에 있습니다.

In this article, we will explore some other simulation settings than used in the previous article. First, we will try different production output of the economy. This is due to confirm the argument that the economy output controls the overall trend. Second, we figure out how the interest rate affects the simulation, i.e. fixed and variable interest rates. Lastly, we will investigate the effect of the amount of initially deployed coins.

Economy output

The most important lesson learned from the previous article is that the production output of the economy dominates the overall trend of the economy. In a sense, it is very natural. High economy output means active product market and high traffic of economic trades. A lively market drives the major metrics of the economy in a good direction. It also draws the attention from the surrounding entities and results in the higher exchange rate. Let’s confirm this. We will try the following three different settings of the economy output:

  • start feeble and stay feeble (left figure)
  • start feeble but grows relentlessly (center)
  • start very active and stay as it be (right figure)
different economy output settings

When the economy output is too low (1k $ per month) and stays as it is, all the metrics stay low also. Since the reward level is low due to the scarce economic trades, people are less likely to stake coins. Due to this, there are enormous amount free coins in the market. Unnaturally high money supply compared to the low economy output drives the price level up and up, i.e. super inflation. This kills the economy simulation shortly. And it is natural to think that the economy breaks down also. Thus we need to encourage the economy output growth at all cost.

The figure in the middle is the one seen in the previous article. We already discussed about this, so let’s move on to the next case.

When the economy output is high enough from the start, the initial settling down completes very quickly, staking as much coins as possible and draining available free coins from the market. This has the similar effect as though there are very little initial coins in the market from the beginning. Since the amount of available free coins is low, the price level becomes low also. As we discussed in the previous article, this will push up the exchange rate rather early.

Let’s confirm again that the economy output is important and the high output is generally a good sign for the economy.

Reward rule and interest rate

AMO blockchain has the reward rule as the following: a validator gets a fixed reward for each transaction processed by its own. The reward is neither for blocks nor for staked coins. However, there are other blockchain projects having different reward rules. Nobody has a clean answer for whether our rule is better or worse. So it might be meaningful to figure out how the simulation would go with different reward rules.

In one hand, we have a rule having variable interest rate. On the other hand, a rule having fixed interest rate. Let’s think about the case when the reward is for blocks, not for transactions. With the TPS(transactions per second) rate above a certain threshold, the rate of blocks per second would become fairly constant even if there are only handful of transactions in each block. This means that the average reward level for a unit time stays steady also. It is the major difference from the case of AMO blockchain, where reward is for transactions. In AMO blockchain, even after the rate of blocks per second reaches the maximum, the actual reward amount would be still variable. This difference affects the amount of excess money supply after the stage where the exchange rate is clamped. However, at this stage, the simulation shows little dynamics, so the overall trend is quite similar to the case of AMO blockchain.

A very different approach for a reward rule is to give a reward proportional to the amount of staked coins. For example, when a validator (or a miner) produces a block, it receives a reward r = a × S, where a is a fixed rate and S is the amount of staked coins. More money, more income. This gives a fixed interest rate. The problem is that we have no prior knowledge needed to decide this fixed interest rate before the launch of the mainnet. So, let’s take a look on three cases with different fixed interest rates.

different interest rates

When we set the interest rate to be a pretty generous value, 10% yearly, the major apparent difference is that there is an observable increase in the total amount of coins with naked eyes. Worsley, the exchange rate settles down at a rather low level. It was too much.

However, when we set to 1% yearly, the simulation shows a very similar trend to the case of AMO blockchain. This is mainly due to the fact that the interest rate in AMO blockchain becomes rather steady at the later stages of the simulation.

When we set to 0.1% yearly, we could observe the rather interesting result: higher exchange rate. Then, is it good to set lower interest rate? People would be afraid that the chain becomes less attractive to the possible future validators from the outside. Then how to decide? It’s a difficult question.

Initial coins

The last topic is the effect of the amount of initial coins. The majority of the blockchain projects issued coins (or tokens in terms of ERC20) prior to launch their mainnet and, of course, running business. By selling these coins, a blockchain project collect fund to develop their business. These coins will constitute initial coins pre-issued outside of the protocol. The amount of issued coins tends to increase over time. But, what is the effect of these initial coins? We set three scenarios having the different amount of initial coins.

It’s hard to say what exact value is abundant or moderate. So, in the first scenario we set the initial amount to be the same as the simulation described in the previous article. In the second scenario we set much lower amount of initial coins. And in the third, only a small amount, extremely low value.

different settings of initial coins

The first figure is the same as our standard simulation. Nothing to say more. So, let’s move on to the next figure.

The second figure shows rather short fall line of the active coins, since the initial amount is relatively small. This results into lower price level in the beginning. But the price level settles down at roughly the same value as our standard simulation. This confirms again that the whole trend is controlled by the economy output. You can see the exchange rate also clamps at the similar point. But, we can learn that the economy reaches the equilibrium point faster.

In the third figure, we can see that the amount of active coins does not fall at all in the beginning. It is obvious. And everything settles down in a few hundred days. It may seem good, but it’s not. The simulation assumes every trade takes place in a perfect manner, in a sense that everyone finds a peer to trade with immediately, and everyone is ready respond immediately. It’s not true in real world. You may consider this as one of limitations of our simulation. In order to bootstrap the economy in the beginning, there need to be abundant amount of active coins ready to be traded to the actual sellers and buyers in the product market. But which amount is moderate? Unfortunately, we don’t know yet.

In the next article, we will discuss about another limitations of our simulation methodology, and how we can improve it.

AMO 블록체인 경제 시뮬레이션 #4

비교분석

이번 글에서는 이전 글에서 사용했던 것과는 다른 시뮬레이션 설정들을 살펴보겠습니다. 첫번째로 살펴볼 것은 경제 생산량을 다른 경우입니다. 이는 경제 생산량이 전체적인 시뮬레이션 추세를 제어한다는 것을 확인해 보기 위한 것입니다. 두번째로 이자율의 차이, 즉 고정 이자율과 변동 이자율이 시뮬레이션에 미치는 영향은 어떤지 살펴봅니다. 마지막으로 코인의 초기 발행량이 어떤 차이를 보이는지 살펴봅니다.

경제 생산량

이전 글에서 얻은 가장 중요한 것은 생산량이 경제의 전반적인 트렌드를 좌우한다는 것입니다. 어떤 면에서는 매우 자연스럽습니다. 높은 생산량은 활발한 재화 시장을 의미하고 거래량 또한 높다고 볼 수 있기 때문입니다. 활발한 시장은 경제의 주요 지표들을 긍정적인 방향으로 유도하게 됩니다. 또한 주변의 경제 주체들의 주목을 끌게 되고 결과적으로는 높은 환율로 이어집니다. 이를 확인해 보기 위해서 다음과 같이 세가지 다른 생산량 설정을 사용합니다:

  • 미미하게 시작해서 계속 유지 (왼쪽 그림)
  • 미미하게 시작하지만 지속적으로 성장 (가운데 그림)
  • 아주 활발하게 시작해서 계속 유지 (오른쪽 그림)
생산량 차이

생산량이 너무 낮고 (월간 천 달러) 계속 유지될 때는 다른 지표들도 모두 낮습니다. 거래량도 미미해서 보상의 수준도 낮기 때문에 사람들이 코인을 잘 스테이킹하려 하지 않습니다. 이로 인해 시장에는 많은 양의 코인이 자유롭게 돌아다닙니다. 낮은 생산량에 비해서 비정상적으로 높은 화폐 공급량 때문에 물가는 높아지기만 합니다. 즉 슈퍼 인플레이션입니다. 곧이어 시뮬레이션이 망가집니다. 아마도 시뮬레이션 속 가상의 경제도 붕괴했을 것입니다. 이것을 보자면 어떤 일이 있어도 경제 생산량을 끌어올려야 한다는 것을 알 수 있습니다.

가운데 그림은 이전글에서 자세히 설명했던 것과 같습니다. 그러니 다음 그림으로 넘어가겠습니다.

처음부터 경제 생산량이 높으면 초기 안정화가 대단히 신속하게 일어나고, 가능한 많은 코인이 스테이킹되기 때문에 시장에는 유통가능한 코인이 급격히 줄어듭니다. 이는 최초 공급되는 코인의 양이 아주 적은 것과 유사한 효과를 일으킵니다. 유통가능한 코인의 양이 적으므로 물가도 낮습니다. 이전 글에서 살펴본 것처럼 이는 환율을 비교적 조기에 밀어올리게 됩니다.

중요한 것은 경제 생산량이고 높은 생산량은 경제에 대채로 좋은 신호라는 것을 다시 확인할 수 있습니다.

보상 규칙과 이자율

AMO 블록체인의 보상 규칙은 validator는 자신이 처리하는 거래에 하나마다 고정된 보상을 받는다는 것입니다. 보상은 블록에 대한 것도 아니고 스테이킹 된 코인에 대한 것도 아닙니다. 하지만 다른 블록체인 프로젝트들은 다른 보상 규칙을 갖고 있습니다. 어떤 것이 좋고 어떤 것이 나쁜지에 대한 명확한 답은 누구도 가지고 있지 못합니다. 그러니 서로 다른 보상 규칙에 따라 시뮬레이션이 어떻게 되는지 확인해 보는 것은 나름대로의 의미가 있습니다.

일단 변동 이자율을 갖는 보상 규칙이 있습니다. 그리고 고정된 이자율을 갖는 규칙도 생각해 볼 수 있습니다. 보상이 거래에 대해 주어지지 않고 블록에 대해 주어지는 경우를 생각해 보겠습니다. TPS(초당 거래 처리량 또는 발생량)이 일정량 이상이면, 각 블록에 포함되는 거래의 수는 아주 적을지라도 일단 단위시간당 만들어지는 블록의 수는 일정해집니다. 이는 단위시간당 발생하는 보상의 양도 일정해진다는 것을 의미합니다. 이것이 AMO 블록체인의 경우와 다른 점입니다. AMO 블록체인에서는 각 거래에 대해 보상이 주어지기 때문에, 초당 블록수가 최대값에 도달하고 나서도 블록 내의 거래의 수에 따라 실제 보상의 양은 달라질 수 있습니다. 이 차이 때문에 환율이 고점에서 꺾이고 난 이후에 추가되는 코인의 양이 달라집니다. 하지만 이 시점은 시뮬레이션에 변동성이 이미 작아진 이후입니다. 따라서 전체적인 추세는 AMO 블록체인의 경우와 크게 다르지 않습니다.

꽤 다른 보상 방식으로 스테이킹된 코인의 양에 비례해서 보상을 주는 경우를 생각해 볼 수 있습니다. 예를 들어, validator가 블록 하나를 만들면 r = a × S에 해당하는 보상을 받는데, 이 때 a는 고정된 보상률이고 S는 스테이킹된 코인의 양인 경우입니다. 돈이 많으면 보상을 더 받습니다. 이런 경우 고정된 이자율을 갖게 됩니다. 문제는 이 고정 이자율을 결정하기 위해 필요한 사전 정보가 없다는 것인데, 아직 메인넷을 실행하기도 전이기 때문입니다. 일단은 서로 다른 이자율을 사용했을 때의 시뮬레이션을 살펴보겠습니다.

이자율 차이

이자율을 연 10% 정도로 꽤 후하게 정하면, 일단 맨눈으로도 확인할 수 있을 정도로 전체 코인양이 늘어나는 것을 볼 수 있습니다. 이에 더해 환율도 다소 낮은 값에 머무릅니다. 너무 후했습니다.

그런데 연 1% 정도로 정하면 시뮬레이션은 AMO 블록체인의 경우와 매우 유사한 추세를 보입니다. 이렇게 되는 이유는 AMO 블록체인의 경우에도 시뮬레이션의 후기로 가면 이자율이 일정하게 유지되기 때문입니다.

연 0.1% 정도로 정하면 좀 흥미로운 결과를 볼 수 있습니다. 환율이 높아지는 것입니다. 그렇다면 이자율을 낮게 잡을 수록 좋은 것일까요? 사람들은 아마도 오히려 우려하게 될 텐데, 외부에서 유입될 미래의 validator의 입장에서 매력이 떨어질 것 같기 때문입니다. 어떤 값으로 정해야 할까요. 어려운 숙제가 돼 버립니다.

초기 코인 발행양

마지막으로 살펴볼 것은 초기 코인 발행양이 주는 효과입니다. 대다수의 블록체인 프로젝트들은 메이넷을 실행하기 전에, 즉 실제 사업을 운영하기 전에 코인(ERC20 용어로는 토큰)을 발행합니다. 이 코인들을 판매해서 자금을 확보하고 실제 사업을 준비하기 위해 사용합니다. 이 코인들은 해당 블록체인의 초기 코인양으로 이관되는데 이들은 프로토콜 범위 바깥에서 발행된 코인들입니다. 전체 코인의 양은 이후 시간이 지남에 따라 계속 발행되기 때문에 점차 증가하게 됩니다. 그런데 이들 초기 발행된 코인의양은 어떤 효과를 주게 될까요? 서로 다른 초기 코인 발행양을 갖는 3가지의 시나리오를 살펴보겠습니다.

정확히 어떤 값이 많은 것인지 적당한 것인지 정하기는 어렵습니다. 따라서 첫번째 시나리오에서는 초기 발행양을 이전 글의 시뮬레이션과 같은 양으로 정합니다. 두번째 시나리오에서는 이보다 훨씬 낮은 양으로 정합니다. 세번째 시나리오에서는 아주 소량만으로 정합니다.

초기 코인 발행양 차이

첫번째 그림은 계속 사용했던 표준 시뮬레이션과 같습니다. 더 설명할 것은 없으니 다음 그림을 살펴보겠습니다.

두번째 그림에서은 일단 유통가능 코인의 양이 훨씬 적게 하락하는데 초기 물량이 상대적으로 적었기 때문입니다. 이는 초기 물가도 낮아지게 하지만 결국은 표준 시뮬레이션과 거의 같은 값에서 멈춥니다. 이를 보면 전체 추세는 경제 생산량에 의해 결정된다는 것을 다시 확인할 수 있습니다. 환율도 거의 같은 지점에서 고점을 만나게 됩니다. 단, 경제 상황이 평형점에 도달하는 시간이 빨라진다는 것에 주목할 필요가 있습니다.

세번째 그림에서는 초기에 유통가능한 코인의 양이 전혀 하락하지 않습니다. 이는 당연합니다. 그리고 몇백일 정도 후에 모든 것들이 안정화됩니다. 이는 얼핏 아주 좋아보입니다. 하지만 그렇지는 않습니다. 이 시뮬레이션에서는 모든 거래가 완벽하게 이루어진다고 가정하고 있는데 모든 사람이 거래 상대를 즉시 찾아내고 모든 사람이 거래에 즉시 응한다고 가정하기 때문입니다. 현실에서는 그렇지 않을테지요. 이는 우리의 시뮬레이션의 한계점들 중에 하나로 볼 수 있습니다. 초기 경제에 시동을 걸기 위해서는 비교적 풍부한 양의 유통가능 코인들이 존재할 필요가 있는데, 재화 시장에서 실제 재화의 판매자와 구매자들이 필요로 하는 코인들을 공급하기 위해서입니다. 하지만 어느 정도 양이 적당한 것일까요? 안타깝게도 아직은 모릅니다.

다음 글에서는 우리의 시뮬레이션 방법에 존재하는 다른 한계점들은 어떤 것이 있는지, 그리고 어떻게 개선할 수 있을지를 알아보도록 하겠습니다.

--

--