Pages:
Author

Topic: Unique serial number for every single satoshi - page 2. (Read 3719 times)

legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
Not withstandaning the implementation that was just posted, but does anyone else find it odd that even in 2012, these kind of "markers" were already considered to be well-known, to the point where such ideas were almost redundant?

Old ideas -- Search for "colored coins" and "smart property".
legendary
Activity: 4298
Merit: 3209
So, funny story, in the beginning of 2022, I came up with the exact same scheme discussed in this thread. ...
I've spent the last year implementing it, so just 10 years after the OP, you can finally try it out!
The binary, written in Rust, is called ord, and the code is on GitHub at https://github.com/casey/ord.

Sounds like a fun project, but I don't think the idea has any practical use because there is no real association between the satoshis in the inputs and the satoshis in the outputs.

I'm happy to admit that I was proven wrong, but I'm still waiting for a practical use. I'm not saying that there is no practical use, just that I am too closed-minded to come up with one. Wink
newbie
Activity: 12
Merit: 161
So, funny story, in the beginning of 2022, I came up with the exact same scheme discussed in this thread. After I finished the scheme, I realized that it was basically serial numbers for satoshis, typed "satoshi serial numbers" into Google, and found this post. It feels natural extension to bitcoin, so it makes sense that multiple people have come up with it over the years.

I called it "ordinal theory" or "ordinals", because it uses order in multiple places:

  • The order of satoshis in the supply of satoshis, for numbering
  • The order of inputs and outputs of a transaction, for inheritance
  • The order of transactions in a block, for inheritance of fees

I've spent the last year implementing it, so just 10 years after the OP, you can finally try it out!

The binary, written in Rust, is called ord, and the code is on GitHub at https://github.com/casey/ord.

I has a bunch of functionality:

  • Conversion between different, equivalent, notations, including the raw integer notation, block.offset notation, names, and degree notation, which is based on relation to difficulty adjustments and halvings.
  • An index that connects to a Bitcoin Core node instance and tracks the location of all sats.
  • An NFT implementation which embeds NFT content in Taproot witnesses, assigning them to the first sat of the first output of the transaction, "inscribing" that sat with content
  • A rarity system: common = not the sat of the block, uncommon = first sat of the block, rare = first sat after a difficulty adjustment, epic = first sat after a halving, legendary = first sat after a conjunction, which is the difficulty adjustment and the halving happening on the same block, which happens every 6 halvings, and mythic = first sat of genesis block.
  • A naming system, which assigns unique names consisting of the letters a through z to each sat, basically base 26, but starting backwards, so that all short names aren't locked in the genesis block.
  • A block explorer, with a signet instance hosted at https://signet.ordinals.com and a mainnet instance at https://ordinals.com. The block explorer supports search, try putting in different representations for a sat: 0, 0.0, satoshi, etc.
  • A wallet, which can construct transactions to send particular sats and make and send inscriptions.

Everything is open source, permissively licensed, and independently developed, so try it out and let me know what you think! Keep in mind that this is still very much alpha software. We're as careful as possible developing it, but it hasn't been audited and may have bugs
legendary
Activity: 1372
Merit: 1002
Interesting approach, but there are some issues with this.  Since the supply of satoshis is limited, this means that penny stocks aren't practical, since the coins that record their ownership will become worth more than the stocks themselves.  Etc, etc.

Regular order coloring also suffers the same problem. The fork I call ripplecoin allows any quantities to be issued. The idea is similar to killerstorm referes to as tagging outputs here. The tag/color would be just the issuing public key.

Such a fork could also have binding advertisements to solve the "enforce trades" problem. For this last thing you would need a rule that says something like "This (partially signed) transaction it's only valid if it gets into the chain before block E".

That condition is also needed for a fully decentralized exchange (with ripplecoin, not colored coins). If you don't do that, there's DoS attacks waiting.

Imagine we're trading 2 aCoins for 2 bCoins.
I sign the transaction with my key A, wait for you to complete it...and nothing happens.
With colored coins I can just double spend to cancel the transaction. But with ripplecoin you can't always do that. If I'm actually issuing the two aCoins with that transaction, I just can't double spend an issuing operation. Probably this can also be solved with escrow transactions but I think that adding an expiry script instruction (OP_BEFORE_BLOCK) would be cleaner.

Anyway, nobody else seems concerned with this artificial limit to the divisibility of the smart assets, so...
legendary
Activity: 1246
Merit: 1076

No -- losing color by accident (or intentional design) just means the property is lost.  Just like you can "burn money" today by throwing away a private key, or sending bitcoins to a non-existent key, or any number of other ways.


Amen. It's not the algorithm's role to prohibit destruction of coloured coins, just as it's not the network's role to prohibit destruction of regular coins.
legendary
Activity: 1596
Merit: 1091

No -- losing color by accident (or intentional design) just means the property is lost.  Just like you can "burn money" today by throwing away a private key, or sending bitcoins to a non-existent key, or any number of other ways.

legendary
Activity: 1792
Merit: 1087
Then you should add this rule explicitly to your scheme: if a coin is decolorized, the last holder retains the value of the colored coin. The issuer may issue a new token to the last holder on request (service charge may apply).

Good point. But I work mostly on "low-level" stuff, I'll forward this consideration to people who work on app level.

I think my scheme provide (much) higher anonymity. Imagine a secret society use this system for some secret trading etc., they can embed some colored satoshis in a normal size transaction, and it will just look like an ordinary transaction. With some tailor made algorithm, they may even "swap" the color of two satoshis. You system has more strict requirements. The dust inputs and outputs with special order could be spotted out easily from the blockchain.
legendary
Activity: 1022
Merit: 1015
Then you should add this rule explicitly to your scheme: if a coin is decolorized, the last holder retains the value of the colored coin. The issuer may issue a new token to the last holder on request (service charge may apply).

Good point. But I work mostly on "low-level" stuff, I'll forward this consideration to people who work on app level.
legendary
Activity: 1792
Merit: 1087
There is one more advantage: the color information won't lose if coins with different color are mixed.

Why do you think it's a good thing? If we don't want them to be mixed, they can be mixed only accidentally.

So, if accident happens, with order-based coloring you get uncolored output, so information is destroyed. Now if they represented something valuable, issuer can issue a new token and give it to last holder after he learns about an accident. So accident is resolved by issuer.

With your scheme, some random party might get ownership of valuable coins in case of accident. Yes, they won't be destroyed, but is lottery really a way to resolve this?

Then you should add this rule explicitly to your scheme: if a coin is decolorized, the last holder retains the value of the colored coin. The issuer may issue a new token to the last holder on request (service charge may apply).
legendary
Activity: 1022
Merit: 1015
There is one more advantage: the color information won't lose if coins with different color are mixed.

Why do you think it's a good thing? If we don't want them to be mixed, they can be mixed only accidentally.

So, if accident happens, with order-based coloring you get uncolored output, so information is destroyed. Now if they represented something valuable, issuer can issue a new token and give it to last holder after he learns about an accident. So accident is resolved by issuer.

With your scheme, some random party might get ownership of valuable coins in case of accident. Yes, they won't be destroyed, but is lottery really a way to resolve this?
legendary
Activity: 1792
Merit: 1087
As I understand, this is largely compatible with order-based coin coloring, i.e. as long as transactions adhere to order-based coloring rules this proposal and order-based coloring will produce identical results.

The only practical advantage I see is that it's possible to pay fees with colored coins, i.e. miner can take advantage of coins' color.

However we I'm not convinced that we need this more complex system just to handle fees, since there are some ways to use colored coins for fees with order-based coloring.

There is one more advantage: the color information won't lose if coins with different color are mixed.
legendary
Activity: 1792
Merit: 1087
Given an algorithm like this, one could effectively say that every satoshi is already numbered, it's just that nobody has yet bothered to calculate it.  That wouldn't change it.

If I were going to number each satoshi, I probably wouldn't bother to number them with the block.  I'd just number them from 0, and consider the genesis block to be satoshis 0 thru 4999999999 (despite them technically being unspendable).  The proceeds of block 1 would be 5000000000 (5e9) thru 9999999999(1e10-1).

The last satoshi of the block with 50 BTC reward would be 1049999999999999 (50*210000*1e8-1).

Block 210000 would be 1050000000000000 - 1050002499999999, spanning a total of 25*1e8 satoshis.



Good. We may transform it to Base-58 format, which will take 9 characters. We may also add 3 characters as checksum
vip
Activity: 1386
Merit: 1136
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
Given an algorithm like this, one could effectively say that every satoshi is already numbered, it's just that nobody has yet bothered to calculate it.  That wouldn't change it.

If I were going to number each satoshi, I probably wouldn't bother to number them with the block.  I'd just number them from 0, and consider the genesis block to be satoshis 0 thru 4999999999 (despite them technically being unspendable).  The proceeds of block 1 would be 5000000000 (5e9) thru 9999999999(1e10-1).

The last satoshi of the block with 50 BTC reward would be 1049999999999999 (50*210000*1e8-1).

Block 210000 would be 1050000000000000 - 1050002499999999, spanning a total of 25*1e8 satoshis.

legendary
Activity: 1246
Merit: 1076
It's more like "taint all the money!"
Because a technology can be used negatively, does not mean it is unacceptable. Colouring satoshis has many practical and useful aspects. The benefits outweigh the negatives.
legendary
Activity: 1022
Merit: 1015
It's more like "taint all the money!"
legendary
Activity: 1264
Merit: 1008
I've been looking for a place to put this Cheesy

http://www.foopics.com/show/ebf4989def30ec9ef246ffe2c11359fa

legendary
Activity: 1022
Merit: 1015
As I understand, this is largely compatible with order-based coin coloring, i.e. as long as transactions adhere to order-based coloring rules this proposal and order-based coloring will produce identical results.

The only practical advantage I see is that it's possible to pay fees with colored coins, i.e. miner can take advantage of coins' color.

However we I'm not convinced that we need this more complex system just to handle fees, since there are some ways to use colored coins for fees with order-based coloring.
legendary
Activity: 1246
Merit: 1076
Another one claiming for "tainted Satoshis".

We need urgently a coin melting mining pool in order to get protected for this kind of "visionaries".

You always have the freedom to setup a coin melting mining pool, and I encourage you to do so. However, joining your pool is voluntary. Unless there is a protocol change, my proposal will still work.
There is no reason for someone who owns a coloured satoshi to melt it down. That only ensures the satoshi is sent to someone who does not recognize its value.
legendary
Activity: 1792
Merit: 1087
Another one claiming for "tainted Satoshis".

We need urgently a coin melting mining pool in order to get protected for this kind of "visionaries".

You always have the freedom to setup a coin melting mining pool, and I encourage you to do so. However, joining your pool is voluntary. Unless there is a protocol change, my proposal will still work.
legendary
Activity: 1792
Merit: 1087
Interesting approach, but there are some issues with this.  Since the supply of satoshis is limited, this means that penny stocks aren't practical, since the coins that record their ownership will become worth more than the stocks themselves.  Etc, etc.

When people trade "penny stocks", they will also consider the face value of the colored coin. For example, if someones wants to buy 1 colored BTC with 0.1 BTC, he has to pay 1.1 BTC to the seller. If 1 satoshi stock worths less than 1 satoshi, it either means the stock is worthless (people may trade in bigger unit, e.g. 10000 satoshi), or 1 satoshi worths too much (we need a hard fork to add more zero after decimal place)
Pages:
Jump to: