UTXO Mining

From BiblePay Wiki
Jump to: navigation, search

UTXO has been upgraded and rebranded as Portfolio Builder as of June 23, 2021. This page is only for historical reference.
See 1.6.2.4 Mandatory Upgrade Changes
Portfolio_Builder



UTXO Mining/UTXO Staking

In this ecosystem, a reward will be given to a new miner who provides a distinct unspent set of signed coins in a hybrid stake or in BiblePay alone. This transaction establishes proof that you hold a long position in that supported partner currency, therefore earning you a position in your BBP portfolio tracker, and a chance to win the current block reward.

This idea theoretically appeals to 450+ million of distinct cryptocurrency users who are seeking a staking return on their crypto holdings (Est. from unspent output count on our partner currencies).

The block reward gives the UTXO miner the impetus to sign the coins and place them into BiblePays ecosystem.

The longer term benefit includes a constant daily ROI stream for your positions from our daily GSC superblock.


Daily Portfolio Rewards

Modify the Leaderboard, to be a list of participants who hold long stake positions. Each participant CPK will contain the sum of the amounts staked, the distinct list of tickers, and the magnitude, which drives the daily reward.


UTXO Staking Mechanics

A reward weight of 1.0 is given to BBP, and for hybrid transactions you are awarded 2.0 * (min_usd_value(ForeignCurrency, BBP)). A UTXO transaction either consists of BBP + a foreign crypto, yeilding up to double, or bbp alone yielding 1 * the value.

Therefore people who only own BBP can stake coins and earn block rewards, and maintain a BBP long position. Or people with one of our partner currencies may earn double the reward.

The wallet will automatically stake oldest coins when creating a Miner Stake transaction. In order to win a block the BBP coins must be older than 24 hours old (this prevents gaming the system for mining rewards).


Role of the Sanctuaries

In addition to being a sponsor for orphans, the sanctuaries will be our Oracles. They will loop through the list of UTXOs, and confirm them. Each day, the GSC reward contract will be verified and only bona-fide stakes will be counted.


How to stake with BBP only (no foreign currency involved) - for the Conservative User

Conservative BBP staking, with BBP only means that you are free to spend your stake at any time and there will be no fee charged for spending your stake. However the reward level is less in conservative staking than high-risk staking. As of April 2021 the DWU reward is approx. 14.5% for conservative. To accomplish this type of stake, pick an amount of BBP between 10K and 10MM and type the following:

easybbpstake bbp_amount 0


If you are happy with the quoted DWU, run the command for real as follows:

easybbpstake bbp_amount 1



How to stake with BBP only (no foreign currency involved) - for the High-Risk individual (Not available until July 2021)

Using our high-risk mode, you will earn up to double the DWU reward depending on how long you decide to lock the coins. You may choose to lock them between 31-365 days. If you want to lock them for 6 months, the reward is approx. 1.5* the normal amount per day. If you lock them for 365 days, the reward is 2* the DWU quoted for conservative stakers. To initiate a high-risk stake type the following:

highriskbbpstake bbp_amount 0 duration_in_days

Where duration is between 31 and 365 days, and 0 means dry-run only.

If you are happy with the quoted DWU, run the command for real as follows:

highriskbbpstake bbp_amount 1 duration_in_days


How to stake BBP + Foreign currency together, for the High-Risk individual

highriskstake min_bbp_amount foreign_currency_address foreign_currency_amount commitment_duration_in_days 0

Where foreign_currency_address equals the address of your foreign currency. Note that you should first use 'getpin foreign_address' and ensure you have sent an amount of foreign currency to yourself with a suffix matching your pin (see our video below to understand that more).

See our FAQ about unlocking high-risk stakes, to understand the ramifications of our high-risk stake.

Note with BBP + Foreign, you earn double the rate as compared to BBP alone, however on the lower amount of the two in USD. Additionally this is multiplied by the high-risk multiplier, meaning you can make 4* the amount of rewards!



Mining Transactions

Remember that we will not be retiring RandomX, therefore the chain is secure due to our merge-mining nature.

Therefore we can shift our RX rewards over to Staking Rewards (for our new stake transactions).

If there is no new stake transaction in the current block, the reward continues to go to RX as usual. However if we do have a stake transaction - meaning that someone in our network staked a UTXO + BBP in this timeframe, the block reward will be given to the top staker (in case there is more than one) sorted by UTXO uint256.

The way the mining works is the core wallet will have a staking command that accepts the UTXO argument. BBP will automatically combine this with an applicable BBP UTXO, and will lock these coins. Then it will send a staking transaction to all participants with this info in the chain. This reference will be the perpetual reference point for future rewards, forever, or until the UTXO is spent (if either the BBP or the foreign currency is spent, the contract is nullified).

Rewards are paid daily from our Portfolio leaderboard.

In this way our participants can create custom tailored long crypto positions and earn rewards driven by our market conditions!



Self Advertising

One nice aspect about UTXO mining is it theoretically is self advertising. With PODC, we have a niche where you need to be a sort of power user to run rigs and set it up for mining, but theoretically with UTXO mining anyone who stores coins can set up a reward stream, especially if we create a signing tool that makes it easy to participate. And we still have our RandomX POW to fall back on during periods of non-staking.

If the word gets out that one may earn staking returns on latent crypto, theoretically millions of UTXOs can be locked and word of mouth increases. In contrast to diminishing returns with mining to pay for electricity.



HOW-TO Guide to Send a UTXO Stake


We currently support BTC, LTC, DOGE, ETHEREUM and DASH hybrid staking, and singular BBP easy-staking. Note that we call the non-biblepay receiving address the 'foreign receive address' and we call the BBP receive address the 'native receive address'.

To create a stake you just need the 5 digit pin of the foreign receiving address. To find this, go to BBP RPC, and type

getpin foreign_address

and BiblePay will respond with the 5 digit pin.

Now that you have the 5 digit pin, to create a stake, go to your light wallet (or full wallet) of choice for the foreign currency and send an amount to your own foreign receive address that you wish to stake, however you must add an amount in the suffix equal to your 5 digit pin. Note that the suffix must be either 5, 6, 7, or 8 digits long (after the decimal point).

As an example, let us say you want to stake 1000 DOGE, and your DOGE pin is 12345. In this case you would send: 1000.12345 (or you can send 1000.012345, or you can send 1000.0012345 or you can send 1000.7512345 - all of these are valid).

As a second example, let us say you want to stake .10 BTC, and your BTC pin is 23456: Send .1023456 or .10023456 - either are valid).

Next, go to biblepay, and type:

easystake min_bbp_amount foreign_address 0 0/1 

Where min_bbp_amount is the corresponding amount of BIBLEPAY that you wish to stake, and foreign address is the receiving address you sent the funds to.

For more information see here: https://forum.biblepay.org/index.php?topic=748.msg9967#msg9967


How do I see my UTXO Stake Positions?

If you are running the QT wallet please go to the Leaderboard. Then sort the leaderboard by Points or Prominence. The UTXO position value equals the current dollar value of the position (which is dynamic). You may double click on your nickname to see your position details.


How do I list my UTXO stakes from the RPC?

listutxostakes 0 0

This will show all of your unspent UTXO positions for your CPK. Note that you may type help utxostakes to see other options (for example to list other CPK utxostakes or spent etc).


How To Video - An example session staking 1 LTC with easystake

Please see our how to example video:

https://foundation.biblepay.org/Press/How_To_Stake_With_BiblePay.mp4


FAQ


Q: I cannot see myself in the leaderboard with my new easybbpstake utxo transaction, why?

A: Please navigate to User Record from the top menu, and ensure you have populated the NickName, and click save. This gives you an RSA keypair and a nickname.


Q: I see 'insufficient funds' error when I try to create a utxo stake. Even though I have the funds.

A: Please ensure your wallet has at least one coin less than 100bbp in it that is extra. You can see this in coin control. To ensure you have the right coins, you should bankroll your wallet first. See the next faq.


Q: How do I bankroll my wallet and why do I want to do this?

A: Bankrolling the wallet denominates it into distinct bills. This is good to do because UTXO stakes must use coins between 10,000 BBP and 10MM BBP. Therefore if for example your wallet has one coin worth 20MM or 10 coins worth 999 bbp, the Utxo staking commands will skip by those coins (as they are too big or too small). A good rule of thumb to start is to divide the amount you have in your wallet by 1MM, therefore if you have 9MM bbp divide by 1MM you get 9. Then type:

exec bankroll 9 1000000

(this would give you 9 bills of 1MM each). Then you will be able to create 9 utxo stakes later.

On the other hand, if you have 50K, type 'exec bankroll 5 10000' this would create 5 bills of 10K each, good for five 10K stakes.

Note that in bankrolling we also give you back ten bills of 10 BBP, and these are used to fund the UTXO (which costs 1 bbp). This is the reason 'insufficient funds' occurred in the prior Q-A. If you want to avoid the exec bankroll command, just ensure you have a few BBP coins less than 100 bbp in the wallet, and you have at least one coin between 10K-10MM in the wallet for a future utxo, and using this manual method you may manually create utxo stakes also (without bankroll commands).


Q: What are the ramifications if I place a high-risk stake for a certain duration, then spend it early?

A: BiblePay will charge you a severely high penalty if you do this. The high-risk-stake is meant to establish a position that you will not unlock until after the duration in days passes. If you unlock it early and attempt to spend it, a warning will appear. The actual fee will be assessed based on our current offered DWU (for new stakes) * your_high_risk_reward_DWU * 1.75. We will never charge more than 90% of your original UTXO in penalties. Let us hypothesize a full example: John Doe stakes 1MM bbp (of bbp alone) in high-risk mode for a duration of 180 days. He is quoted a DWU of 14% for conservative, and 21% for high-risk. He creates the high-risk UTXO contract and submits it. On the 90th day, Doe decides to spend the original 1MM UTXO because he is running into financial trouble. The warning is given to him on the screen calculated as follows (current conservative staking yields a 15% DWU, 15% * (180 days of high-risk) = 22%, 22% * 1.75 = 38.5% penalty. 385,000 BBP is deducted from the 1MM, and will be BURNED. If he does not accept the fee, he will be able to keep the coin, but will never be able to spend it until the contract elapses. If he accepts the fee, 385K is burned and Doe gets to cash out 615K. Note that Doe received a high-risk DWU of daily rewards for 90 days (at 21%) meaning he got to keep 51,750 of recurring rewards. Note that in some circumstances, where the DWU pays more, early unlock penalty could be as high as the original investment! But, BBP has a penalty cap of 90% of your UTXO, therefore if the penalty is ever higher than 90% it will be capped at that amount.