Pages:
Author

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

sr. member
Activity: 1190
Merit: 469

Two months from my earlier post, it looks like ordinals are doing just that. It's a pleasant surprise, considering that implementation (coding) was accomplished almost singlehandedly by one guy, and not by the Bitcoin Core developers at all. Smiley

usually when some new feature is added to bitcoin it has to go through some type of an approvals process. that happens by someone making a BIP and then it might get implemented by the devs if they agree it would make a useful addition to bitcoin. ordinals didn't happen that way. so we really don't know if ordinals was meant to exist or not. because the devs didn't have a chance to consider it before it just came into existence.

Quote
Never underestimate the decentralized developer community. We can get pretty much anything done at this point.
hopefully the devs won't try and shut down this "loophole" or should i say "unintended functionality"? either way, when people depend on some functionality they should have the reassurance that it will not be removed or taken away at some later date. we don't have that with ordinals.
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".
I believe that colored coins should be natively supported by Bitcoin. Even though a ton of shitcoins will circulate on the bitcoin network, ethereum will be rendered useless.


~
That idea is so crazy, it just might work


Two months from my earlier post, it looks like ordinals are doing just that. It's a pleasant surprise, considering that implementation (coding) was accomplished almost singlehandedly by one guy, and not by the Bitcoin Core developers at all. Smiley

Never underestimate the decentralized developer community. We can get pretty much anything done at this point.
full member
Activity: 181
Merit: 102
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


That idea is so crazy, it just might work
hero member
Activity: 882
Merit: 5834
not your keys, not your coins!
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".
I believe that colored coins should be natively supported by Bitcoin. Even though a ton of shitcoins will circulate on the bitcoin network, ethereum will be rendered useless.
Bitcoin does support them; as you're also proving. Cheesy

Bisq for instance uses colored coins; the probably most popular actual token on the Bitcoin blockchain.
https://bisq.wiki/DAO_technical_overview#BSQ_token

I do think this serial number idea is interesting; especially reading the ideas, doubts, potentials that people have thought about this 10 years ago and how they might have changed with the latest developments like SegWit, Taproot, Lightning, ...
jr. member
Activity: 84
Merit: 1
PandoraCash.com anonymous money
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".


I believe that colored coins should be natively supported by Bitcoin. Even though a ton of shitcoins will circulate on the bitcoin network, ethereum will be rendered useless.
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: 4466
Merit: 3391
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: 1077

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: 1100

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: 1111
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: 1033
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: 1111
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: 1033
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: 1111
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: 1111
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: 1140
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: 1077
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: 1033
It's more like "taint all the money!"
Pages:
Jump to: