​Well done, your bip looks well presented for discussion.

Thank you!

You say to number each satoshi created? For a 50 BTC block reward that is 5,000,000,000 ordinal numbers, and when some BTC is transferred to another UTXO how do you determine which ordinal numbers, say if I create a transaction to pay-to another UTXO.


It uses a first-in-first out algorithm, so the first ordinal number of the first input becomes the first ordinal number of the first output.

The system sounds expensive eventually to cope with approximately 2,100,000,000,000,000 ordinals.


A full index is expensive, but it doesn't have to track 2.1 individual entries, it only has to track contiguous ordinal ranges, which scales with the number of outputs–all outputs, not just unspent outputs–since an output might split an ordinal range.

If I understand ordinals 0 to 5,000,000,000 as assigned to the first Bitcoin created from mining block-reward. Say if I send some Bitcoin to another UTXO then first-in-first-out algorithm splits those up to assign 1 to 100,000,000 to the 1 BTC that I sent, and 100,000,001 to 5,000,000,000 are assigned to the change plus if any fee?-DA.


That's correct, assuming that the 1 BTC output is first, and the 4 BTC output is second. Although it's actually 0 to 99,999,999 that go to the first output, and 100,000,000 to 499,999,999 that are assigned to the second output, less any fees.