and in year 2136, the rewards will become 1 satoshi then obviously bitcoin price would became much much higher then today's, so price of 1 satoshi may also be more then $1, so how we will cut the satoshi in half when we want to pay $0.5.
I swear I had this discussion at least three times before somewhere on this board, but this is the only reply I can seem to find from it using the search feature:
A soft fork must restrict the transactions that are valid. Your proposal increases the transactions that are valid.
How? Currently transactions sending from zero coins to zero coins have no restrictions at all (except matching signatures of course). In the new format, they would be valid only if new amounts would match.
I think that sending zero satoshis is the only option to completely skip amount validation. Using any other amount would mean that adding them would be necessary. Also, if going from this new format to the old one should be possible, then all fees from such zero satoshi outputs could be collected in some special output and splitted between old accounts when needed.
No. That is nonsense. If someone spent two 0.5 satoshi inputs and had a single output of 1 satoshi output, an old node would need to recognize the output as being valid
It will recognize them as valid. The old node would see two zero satoshi inputs and single zero satoshi output. Unless that new output should be in the old format, then it would be taken from previously accumulated coins (because if someone converted N old satoshis to new zero satoshis, all these coins were taken as fees and placed in a special coinbase output).
One problem with a floating-point representation is that the system will lose satoshis due to precision adjustment.
I think that 56 bits should be sufficient to express any amount precisely enough, and the first 8 bits just allow to shift them to the right and express smaller amounts in this way.
If more precision is needed, then more than one output should be used.
For example, lets assume a simple decimal system with 1 digit of precision. In this system, a transaction with 2 inputs of 0.9 satoshis each, can have a maximum output of 1 satoshi, for a permanent loss of 0.8 satoshis.
No, it can be saved by creating two outputs, one with 0.8 satoshis and one with single satoshi. And we talk here about 56 bits of precision, so such cases would be extremely rare.
Basically, a mechanism for storing a larger amount of satoshis with more precision can be added in the raw transaction as part of a soft fork, while placing a dummy value for the input/output amounts in the original place.