I might have unnecessarely generalized the problem.
 
I think it is sufficient to:
 
1) create new coin output as marked for a future block height (maturity).
 
2) allow merging of unmarked output (ordinary coin) with input marked for a past block height into a combined unmarked output.
 
3) disallow merging of unmarked output with input marked for a future block height into a combined output.
4) disallow merging of inputs with different marks into a combined output.
 
For 3) and 4)
It is OK to have inputs with different restrictions. This is actually needed to swap assets.
The sum of new outputs must however match sum of inputs by restriction type.
 
Garrick Ollivander
Sent: Sunday, October 01, 2017 at 11:38 AM
From: "John Tromp" <[email protected]>
To: [email protected]
Cc: "Philbert Wallace" <[email protected]>, [email protected]
Subject: Re: [Mimblewimble] On block rewards
> BUT, observing implied chain intrinsic interest rate is impossible without
> on-chain transfer of ownership of those zero bonds. Transfer of ownership is
> however prohibited until maturity, at which point the zero bond becomes
> cash. If a transfer before maturity was possible, then those new zero bond
> outputs would have to remain unfungible with cash and with zero bonds of
> different maturity. Supporting different classes of outputs that are only
> fungible within their own kind is not in grin's current design.

This could be solved if grin were to implement multiple assets,
and support a form of asset conversion.
Then the block reward could issue both coins and a bond as separate assets.
At maturity, the bond is allowed to undergo conversion to coins.

-John
-- 
Mailing list: https://launchpad.net/~mimblewimble
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~mimblewimble
More help   : https://help.launchpad.net/ListHelp

Reply via email to