dear Igno, >> Should we give up on the possibility to burn coins, and give up on >> incentivizing small blocks, because of the perceived complexity of >> a subtraction? > > There's a little more complexity involved. First, you have to think about > fast-synced pruned nodes. They have to know about past burn somehow. All the > information they have is headers, the UTXO set and kernels. So putting the > burn in any of those places would likely work. And hopfeully we won't have to > worry about SPV for some time. But still, should we commit to total burn in > headers?
Yes, cumulative burn should definitely be a header field in my proposal. And possibly block burn as well (the difference from the previous block's cum.burn), if we feel like being generous with header fields. > Now, people. We have a constant emission that people already have > difficulties wrapping their head around, strangely enough. If the answer to > "what's the total emission at this point in time" requires either checking > all kernels It only requires checking current height and one header field. And then we have a much more precise answer than bitcoin, which has all sorts of ways in which to burn coins. Some are used as one-way pegs into other currencies. Perhaps one day people will do such one-way pegs on Grin as well. > or something more evasive like "depends on how full blocks are", that > explanation is going to get a lot worse. Emission is a fairly fundamental > parameter, being able to just say one per second or 60 times the number of > block is a remarkable average that we shouldn't just brush off. I would still claim a 1Grin/sec emission. That answer can be a little less precise than if the question is "what's the supply at this time?". > Going back to the data, by adding burn to kernels you're trading off 8 bytes > for every transaction against maybe one average unprunable output per block > (we could perhaps do less by setting a minima under which burn isn't > necessary). I much rather have every one able to burn rather than only the miner. It allows more flexibility in miner compensation, one-way pegs, and perhaps other use cases we haven't thought of yet. It makes the design more regular in that the coinbase tx looks less distinguished. 8 bytes per kernel is a smallish price to pay for that. > I'm also wary of having kernels sign more data. Who knows, maybe we'll figure > out signature aggregation at some point and the more we can aggregate the > better. We already sign fees, and burn is entirely similar. Whatever method you have to aggregate kernels with fees should also work for burns. > Also, by having burn and fees in every transaction, you complicate > transaction ordering for miners. It becomes a 2-variables problem which I > don't really even want to think about right now. This complication is entirely outside the grin codebase. Much like the complications I introduced in my cuckoo solver to make it run faster. We really shouldn't worry about what miners will do to maximize their profit. regards, -John -- Mailing list: https://launchpad.net/~mimblewimble Post to : mimblewimble@lists.launchpad.net Unsubscribe : https://launchpad.net/~mimblewimble More help : https://help.launchpad.net/ListHelp