Synopsis
Set a hard cap for $JBX without stopping issuance.
Motivation
Current JBX issuance mechanism has the risk of unlimited inflation, which is harmful to the long-term holding of _JBX holders and not good for the development of the community._In order to increase the JBX holder's confidence to JBX and the value of JBX, and maintain treasury cash flow at the same time. I suggest to set a hard cap for JBX without stopping issuance.
Specification
Modify the issuance mechanism to the one like $BTC which has a fixed hard cap, but it can't be minted out. The solution would be like:
Initialization:
Fixed parameter:
JBX_TOTAL_SUPPLY = JBX_MINTED + JBX_TO_BE_MINTED
JBX_MINTED = 2,084,809,384
JBX_TO_BE_MINTED = 3,000,000,000
MINT_RATE = 1ETH/60,000JBX
Dynamic parameters:
jbx_minted = JBX_MINTED
jbx_to_be_minted = JBX_TO_BE_MINTED
mint_rate = MINT_RATE
Execution:
if: x_jbx_minted
then:
jbx_minted = jbx_minted + x_jbx_minted
jbx_to_be_minted = jbx_to_be_minted - x_jbx_minted
if: y_jbx_redeemed
then:
jbx_minted = jbx_minted - y_jbx_redeemed
jbx_to_be_minted = jbx_to_be_minted + y_jbx_redeemed
mint_rate = MINT_RATE/pow(2, floor(log2(JBX_TO_BE_MINTED/jbx_to_be_minted)))
Result:
if jbx_to_be_minted belongs to [3000000000, JBX_TOTAL_SUPPLY]: mint_rate = MINT_RATE / 0.5
if jbx_to_be_minted belongs to [1500000000, 3000000000]: mint_rate = MINT_RATE / 1
if jbx_to_be_minted belongs to [750000000, 1500000000]: mint_rte = MINT_RATE / 2
if jbx_to_be_minted belongs to [375000000, 750000000]: mint_rte = MINT_RATE / 4
...
jbx_to_be_minted, mint_rate are dynamic, which are determined by the amount of $JBX left
Rationale
Once the solution is applied, we will have a fixed hard cap of $JBX and the issuance is kept at the same time.
Risks
The contract will be modified which will lead to potential risk.
Timeline
Q2 2023