Bitcoin Forum
November 03, 2024, 07:29:31 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: Unique serial number for every single satoshi  (Read 3966 times)
jl2012 (OP)
Legendary
*
Offline Offline

Activity: 1792
Merit: 1111


View Profile
October 08, 2012, 04:19:03 PM
Merited by Welsh (20), nutildah (11), vapourminer (10), NotATether (10), ABCbits (6), LoyceV (4), DdmrDdmr (1), ruletheworld (1)
 #1

Although bitcoin is designed as fungible, it is possible to assign an unique serial number to each atomic unit (aka satoshi). With this serial number, a satoshi may represent more than its face value (e.g. colored bitcoin, smart property, securities).

Serial number has two parts: the integer part is the block number where the satoshi is generated, and  the fractional part represents each unique satoshi. Taking the generation at block 110000 as example:

http://blockexplorer.com/tx/4e10436ca8206a2dd760dd351210a5120a3824d4eb53011be0a7b9a33b368208

There were 50BTC, or 5000000000 satoshi generated. Therefore, the serial number of these satoshi are #110000.0000000001 to #110000.5000000000. Tailing zeros are reserved.

Here we define RULE OF INHERITANCE: In a transaction, the input sequence atomized to satoshi, with each satoshi has its unique serial number. The satoshi sequence is mirrored to the output, based on the output sequence. If transaction fee is paid (i.e. input > output), the fee is considered as the last output. In case of coinbase transaction, transaction fee is sorted after standard block reward, according to the transaction order in the block.

Using the previous example, the 50BTC is completely transferred to another address:

http://blockexplorer.com/tx/3abed8a3aa728e881a9ef85062fe11b79b490c885295c3c55fc6a534199a5dc5#i398943

Therefore, 12WFtKBsRLtV8p1NwRqe7YwYdi1rjwTZhA inherits satoshis #110000.0000000001 to #110000.5000000000.

Next, the 50BTC is split into two outputs: the first one with 5.2BTC and the second one with 44.8BTC:

http://blockexplorer.com/tx/2faea2cc59b32f5cc19fd8aee85db3e82bbdccb32c52879fecddc592b172d981#i399136

Therefore, the first output inherits satoshis #110000.0000000001 to #110000.0520000000, and the second output inherits satoshis #110000.0520000001 to #110000.5000000000.

The next one becomes more complicated. The 5.2BTC output in the previous transaction is mixed with other inputs. There were two outputs, with 0.36BTC and 60BTC respectively:

http://blockexplorer.com/tx/2ba980e8b17c46e671e8a09bef43815e26ae561facc35f415ef04b11bf4b7545#i405322

Based on the rule of inheritance, the first output will inherit the first 36000000 satoshis in the first input (bfdc71884b80...:0). All the rest will go to the second output. Those satoshis #110000.0000000001 to #110000.0520000000 are embedded somewhere in the middle of the second output. To be precise, they are the #2171000001st to #2691000000th satoshis in the second output. (5.11-0.36+5.49+5.3+1.15+5.02=21.71)

In the following transaction, the 60BTC is mixed with other inputs to make a single output of 954.27BTC

http://blockexplorer.com/tx/03616a5d76508d45a0def171c29b3672714410c49648704eb766f2e74b4ed1fe#i406741

Therefore, the satoshis #110000.0000000001 to #110000.0520000000 become the 81598000001st to 82118000000th satoshis of the output. (1.25+500+19+1+161.82+5.2+106+21.71=815.98)

Here we use another example with transaction fee:

http://blockexplorer.com/tx/afe357b19ca0b0c939b414d3dd63d523bb2a518237df51afc7d6f26098967c7d

Transaction fee of 0.00574567 (574567 satoshi) is paid. According to the rule of inheritance, transaction fee is the last output. The last 574567 satoshis of input comes from transaction bcf2b1c4f75c...:0, which is the generation of block 99120. Therefore, the transaction fee is satoshis #99120.4999425434 to #99120.5000000000

The fee is collected by the miner of block 100035:

http://blockexplorer.com/block/00000000000135cb86be36978e74a54cfd2b9143f827a589c9e27fde3463b753

Since this is the only transaction with fee in this block, those satoshis #99120.4999425434 to #99120.5000000000 are embedded at the end of the coinbase transaction. Therefore, the coinbase transaction has satoshis #100035.0000000001 to #100035.5000000000 and #99120.4999425434 to #99120.5000000000, in the exact order.

With this system, every satoshi has its unique identifier, or “color”. To make a lending contract, for example, the borrower will send a colored satoshi (e.g. #123456.1357924680) to the lender, and the lender will send the loan in the same transaction. The lender may sell the contract to other people with similar mechanism, and the borrower will repay to the address with the colored satoshi.

We can also have decentralized security market with the system. Each satoshi sent from the issuer’s address is equal to one share. Although the serial numbers of these satoshis may not be continuous, it is still traceable. The issuer will pay dividend to the addresses with colored satoshis, and the shareholders will vote using the address private keys.

Please note that this proposal has nothing to do with criminals/scammers tracing.

Donation address: 374iXxS4BuqFHsEwwxUuH3nvJ69Y7Hqur3 (Bitcoin ONLY)
LRDGENPLYrcTRssGoZrsCT1hngaH3BVkM4 (LTC)
PGP: D3CC 1772 8600 5BB8 FF67 3294 C524 2A1A B393 6517
kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1026



View Profile
October 08, 2012, 05:29:01 PM
Merited by vapourminer (1), ABCbits (1)
 #2

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.

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
jgarzik
Legendary
*
qt
Offline Offline

Activity: 1596
Merit: 1100


View Profile
October 08, 2012, 06:02:38 PM
Merited by vapourminer (1), ABCbits (1)
 #3

Old ideas -- Search for "colored coins" and "smart property".

Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
Polvos
Hero Member
*****
Offline Offline

Activity: 597
Merit: 500



View Profile
October 08, 2012, 08:59:40 PM
 #4

Another one claiming for "tainted Satoshis".

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

Xenland
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
October 08, 2012, 09:52:07 PM
Merited by vapourminer (1)
 #5

lol then all of a sudden precision increases by one!
jl2012 (OP)
Legendary
*
Offline Offline

Activity: 1792
Merit: 1111


View Profile
October 09, 2012, 01:11:07 AM
Merited by vapourminer (2), ABCbits (2)
 #6

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)

Donation address: 374iXxS4BuqFHsEwwxUuH3nvJ69Y7Hqur3 (Bitcoin ONLY)
LRDGENPLYrcTRssGoZrsCT1hngaH3BVkM4 (LTC)
PGP: D3CC 1772 8600 5BB8 FF67 3294 C524 2A1A B393 6517
jl2012 (OP)
Legendary
*
Offline Offline

Activity: 1792
Merit: 1111


View Profile
October 09, 2012, 01:15:31 AM
 #7

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.

Donation address: 374iXxS4BuqFHsEwwxUuH3nvJ69Y7Hqur3 (Bitcoin ONLY)
LRDGENPLYrcTRssGoZrsCT1hngaH3BVkM4 (LTC)
PGP: D3CC 1772 8600 5BB8 FF67 3294 C524 2A1A B393 6517
dree12
Legendary
*
Offline Offline

Activity: 1246
Merit: 1077



View Profile
October 09, 2012, 01:20:27 AM
 #8

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.
killerstorm
Legendary
*
Offline Offline

Activity: 1022
Merit: 1033



View Profile
October 09, 2012, 07:17:34 AM
 #9

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.

Chromia: a better dapp platform
hashman
Legendary
*
Offline Offline

Activity: 1264
Merit: 1008


View Profile
October 09, 2012, 01:32:47 PM
Last edit: October 10, 2012, 09:41:56 AM by hashman
 #10

I've been looking for a place to put this Cheesy

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

killerstorm
Legendary
*
Offline Offline

Activity: 1022
Merit: 1033



View Profile
October 09, 2012, 01:44:05 PM
 #11

It's more like "taint all the money!"

Chromia: a better dapp platform
dree12
Legendary
*
Offline Offline

Activity: 1246
Merit: 1077



View Profile
October 09, 2012, 10:22:14 PM
 #12

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.
casascius
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1140


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
October 09, 2012, 10:35:34 PM
Merited by vapourminer (2)
 #13

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.


Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
jl2012 (OP)
Legendary
*
Offline Offline

Activity: 1792
Merit: 1111


View Profile
October 10, 2012, 03:23:18 AM
 #14

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

Donation address: 374iXxS4BuqFHsEwwxUuH3nvJ69Y7Hqur3 (Bitcoin ONLY)
LRDGENPLYrcTRssGoZrsCT1hngaH3BVkM4 (LTC)
PGP: D3CC 1772 8600 5BB8 FF67 3294 C524 2A1A B393 6517
jl2012 (OP)
Legendary
*
Offline Offline

Activity: 1792
Merit: 1111


View Profile
October 10, 2012, 10:44:04 AM
 #15

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.

Donation address: 374iXxS4BuqFHsEwwxUuH3nvJ69Y7Hqur3 (Bitcoin ONLY)
LRDGENPLYrcTRssGoZrsCT1hngaH3BVkM4 (LTC)
PGP: D3CC 1772 8600 5BB8 FF67 3294 C524 2A1A B393 6517
killerstorm
Legendary
*
Offline Offline

Activity: 1022
Merit: 1033



View Profile
October 10, 2012, 11:04:35 AM
Merited by vapourminer (2)
 #16

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?

Chromia: a better dapp platform
jl2012 (OP)
Legendary
*
Offline Offline

Activity: 1792
Merit: 1111


View Profile
October 10, 2012, 11:18:48 AM
 #17

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).

Donation address: 374iXxS4BuqFHsEwwxUuH3nvJ69Y7Hqur3 (Bitcoin ONLY)
LRDGENPLYrcTRssGoZrsCT1hngaH3BVkM4 (LTC)
PGP: D3CC 1772 8600 5BB8 FF67 3294 C524 2A1A B393 6517
killerstorm
Legendary
*
Offline Offline

Activity: 1022
Merit: 1033



View Profile
October 10, 2012, 11:42:13 AM
 #18

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.

Chromia: a better dapp platform
jl2012 (OP)
Legendary
*
Offline Offline

Activity: 1792
Merit: 1111


View Profile
October 10, 2012, 04:07:03 PM
 #19

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.

Donation address: 374iXxS4BuqFHsEwwxUuH3nvJ69Y7Hqur3 (Bitcoin ONLY)
LRDGENPLYrcTRssGoZrsCT1hngaH3BVkM4 (LTC)
PGP: D3CC 1772 8600 5BB8 FF67 3294 C524 2A1A B393 6517
jgarzik
Legendary
*
qt
Offline Offline

Activity: 1596
Merit: 1100


View Profile
October 10, 2012, 05:16:29 PM
 #20


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.


Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
Pages: [1] 2 3 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!