Hi,
I’d like to share a small idea I had today while studying share systems in greater detail, and I would appreciate to hear what you think. The concept is a basic blockchain revenue model based on the Nu codebase, which would allow to sell BTC for NBT in a in my opinion pretty safe way. The same concept could also be applied to other coins and theoretically also to other things.
Note: In the following I will use the term “address” independent of the currency. This is because we will use the same private key for Bitcoin, NBT and the share and currency of this DAC.
Share
Let’s assume we have a share NXS distributed over independent entities (basic assumption for all PoS systems). Every staking and trading NXS shareholder has to be able to recognize transactions on the BTC blockchain, and needs to have the full NBT and of course the NXS blockchain synchronized at any time. Shares are transferable, and perhaps even available for trading on some exchanges.
Currency
The currency unit is not really a unit, it is just a ghost of the NBT transaction tree. It can temporarily deviate from it as described below, but any conflict will not harm the system. Let’s call this unit GNBT (ghost NBT).
Voting
Shareholders vote on three different parameters:
- Security rate
q
: The set price of one share in NBT - Conversion rate
r
: The set price for one NBT in BTC - Fee
f
: Amount of NBT that will have to be sent to block signers
Each of these parameters will be evaluated using the median over the last 10 - 20 blocks. The parameters specified by the voting result will be valid in the following block, not in the current.
Buying / Selling
Every BTC seller must be a shareholder. If a seller, Bob, agrees on the parameters provided by the shareholder-voting and is willing to sell X BTC then he can announce this by burning q * X NSX shares. If no buyer appears within 3 blocks, the offer is invalid and the shares are recreated by the following block minus a small fee.
A buyer, Alice, doesn’t need to own shares, only NBT, which will automatically provide her with the same amount of GNBT. If she sees Bob’s sell offer and agrees on it, then she has to send the amount of NBT she wants to buy as GNBT within 2 blocks to Bob’s address. If their should be many applicants on the bid, the following block finder of the NXS chain will pick one and discard all others. The selected buyer, here of course Alice, now has 3 blocks to send the exact same amount of real NBT to Bob’s address. If she doesn’t send the real NBT, then the deal will also be over, and Bob will get the burned shares back. The GNBT won’t move and Alice won’t be able to use the same NBT output again to take an offer, because it has no counterpart in the GNBT ghost tree. Alice would need to move her NBT and to pay the 0.01 NBT transaction fee as penalty. But now let’s assume she sends the NBT to Bob’s address.
Since NXS staker have both the NXS and NBT blockchain synchronized, they will recognize the NBT transaction and record each confirmation of the NBT transaction on the NXS blockchain. Now Bob has Alice’s NBT, but also still has a certain amount of his NXS burned. Alice should never take an offer where the value of the NXS is not much larger than the amount of NBT in the trade.
Let’s first assume Bob is honest, then Bob will send the correct amount of BTC (according to the rate r
set by the shareholders) to Alice. He then also has to send 10% of the fee f
as specified by the shareholders to each of the five NSX block signer addresses who validated the NBT transaction. If all this will be done within 720 blocks, and the BTC transaction received 5 confirmation, then Bob will receive back the burned shares minus half of the fee divided by q, i.e.
returned NSX = q * X - 0.5 * f / q
The other 0.5 * f / q
NSX will be distributed among the five NXS block signers who validated the BTC transaction just as in the case when Alice sent the NBT.
If Bob denies to send the BTC to Alice, then after 720 blocks Alice will receive her GNBT back on her address, i.e. now she doesn’t own the real NBT anymore, but again has the corresponding GNBT output. She now can decide either to burn the GNBT and to receive Bobs security deposit in NXS or to send her GNBT to another seller who might want to pay the bill for Bob. If he does, including all the fees, then Bobs security deposit will be recreated at the sellers address.
That’s it Its really very much the Coinffeine idea, but I thought, instead of removing the third party from the trade completely, why not decentralizing the third party itself. Note that this is not an exchange (it doesn’t scale), I would really compare it more to coinbase, but for both seller and buyer. One oracle, the shareholders, set the parameters for the risk (security rate) and cost for both the buyer (conversion rate) and the seller (fee). It is up to both seller and buyer to take the offer and shareholders have to figure out a good trade-off for this. It also avoids the problem of irrational players the Coinffeine model has, since the block signers of the NXS chain are the judges … PoS to rule them all.
Any input is appreciated. Would be a fun project and in my opinion quite interesting for Nu.