Bitcoin Forum
December 04, 2016, 12:11:39 AM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: How to transfer share holdings within the block chain (second attempt)  (Read 1628 times)
grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
December 21, 2010, 04:51:06 AM
 #1

I was not very much convinced by my proposal for a system to transfer assets with the bitcoin network, so here is an other idea.

The asset is defined somewhere on cyberspace, with a full textual description.  In this text there is a bitcoin address where coupons/dividends/whatever are to be paid.

In order to transfer this asset, the owner basically just have to change the bitcoin address it is assigned to.


I'll use again the idea of coding information into the amounts.

So basically we need to code a bitcoin address into transactions amount.

Let's take the following address as an example :

1Hy9dexzNzjvQYkYy6zKRVZMU8k2j5vuPt

We turn it into hex :

$ openssl dgst -rmd160 <<<1Hy9dexzNzjvQYkYy6zKRVZMU8k2j5vuPt
a370e25093b51a83e13864ff880afd5b95ff2615

Split it into 4-characters-long parts :

$ H=a370e25093b51a83e13864ff880afd5b95ff2615
$ while echo ${H::4}; [[ -n "${H#????}" ]]; do H=${H#????}; done
a370
e250
93b5
1a83
e138
64ff
880a
fd5b
95ff
2615


Turn them into sequentially ordered amounts :

$ n=10
$ for i in a370 e250 93b5 1a83 e138 64ff 880a fd5b 95ff 2615
do echo $((n++*10**6+0x$i))
done
10041840
11057936
12037813
13006787
14057656
15025855
16034826
17064859
18038399
19009749


we compute their sum (we could have done that during the previous step but it is simpler to present it like this for you)

$ echo $((10041840+11057936+12037813+13006787+14057656+15025855+16034826+17064859+18038399+19009749))
145375720

We send this sum from an account called "treasury" to the address :

$ bitcoind sendfrom treasury 1Hy9dexzNzjvQYkYy6zKRVZMU8k2j5vuPt 1.45375720

We set an account for it :

$ bitcoind setaccount 1Hy9dexzNzjvQYkYy6zKRVZMU8k2j5vuPt testaccount

And finally we send the 10 amounts from the testaccount back to the treasury :

$ addr=$(bitcoind getaccountaddress treasury)

$ bitcoind sendfrom testaccount $addr 0.10041840
$ bitcoind sendfrom testaccount $addr 0.11057936
$ bitcoind sendfrom testaccount $addr 0.12037813
$ bitcoind sendfrom testaccount $addr 0.13006787
$ bitcoind sendfrom testaccount $addr 0.14057656
$ bitcoind sendfrom testaccount $addr 0.15025855
$ bitcoind sendfrom testaccount $addr 0.16034826
$ bitcoind sendfrom testaccount $addr 0.17064859
$ bitcoind sendfrom testaccount $addr 0.18038399
$ bitcoind sendfrom testaccount $addr 0.19009749

Finally all we have to do is to write a programm that inspects the block chain in order to trace the full transaction log of the asset.







1480810299
Hero Member
*
Offline Offline

Posts: 1480810299

View Profile Personal Message (Offline)

Ignore
1480810299
Reply with quote  #2

1480810299
Report to moderator
1480810299
Hero Member
*
Offline Offline

Posts: 1480810299

View Profile Personal Message (Offline)

Ignore
1480810299
Reply with quote  #2

1480810299
Report to moderator
1480810299
Hero Member
*
Offline Offline

Posts: 1480810299

View Profile Personal Message (Offline)

Ignore
1480810299
Reply with quote  #2

1480810299
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1480810299
Hero Member
*
Offline Offline

Posts: 1480810299

View Profile Personal Message (Offline)

Ignore
1480810299
Reply with quote  #2

1480810299
Report to moderator
1480810299
Hero Member
*
Offline Offline

Posts: 1480810299

View Profile Personal Message (Offline)

Ignore
1480810299
Reply with quote  #2

1480810299
Report to moderator
1480810299
Hero Member
*
Offline Offline

Posts: 1480810299

View Profile Personal Message (Offline)

Ignore
1480810299
Reply with quote  #2

1480810299
Report to moderator
theymos
Administrator
Legendary
*
expert
Offline Offline

Activity: 2492


View Profile
December 21, 2010, 05:35:08 AM
 #2

"sendfrom" doesn't actually send bitcoins from a particular address/account. It just reduces the account's balance after sending.

If you can send from a particular address, you could just send a pre-set number of bitcoins from the old owner to the new owner. The stock broker watches the block chain for transactions of a certain amount from the current owner, and whoever first receives coins of the proper amount from that address becomes the new owner.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
December 21, 2010, 06:19:25 AM
 #3

"sendfrom" doesn't actually send bitcoins from a particular address/account. It just reduces the account's balance after sending.

Ah, my bad.  Isn't there really no easy way to send amounts from a particular address (apart from creating a wallet with only one address)  ?

ribuck
Donator
Legendary
*
Offline Offline

Activity: 826


View Profile
December 21, 2010, 12:03:33 PM
 #4

Isn't there really no easy way to send amounts from a particular address

You need to patch the bitcoin client yourself and recompile. If you do this, I think there are quite a few people who would be interested in using your patch.
ByteCoin
Sr. Member
****
expert
Offline Offline

Activity: 416


View Profile
December 21, 2010, 03:34:55 PM
 #5

There are a variety of different ways of encoding information in a normal transaction in the block chain.
Encoding the information as fractional amounts of bitcoin in transactions has several disadvantages.
It is inefficient - the amount of information encoded per transaction is small.
It is obvious - small transactions which are not round amounts of coin are not typical.
It can be discouraged by fees on small untypical transactions.

Another way would be to send a small amount of bitcoin to an address, were the address is the information to be encoded. This would store about 20 bytes per transaction.
A superior way would be to use the broadband subchannel in ECDSA which I wrote about in
http://bitcointalk.org/index.php?topic=1545.msg18364#msg18364
This allows you to store 32 bytes per transaction and does not require you to waste any money.
Neither of these latter two schemes is obvious, nor can they be discouraged by fees and they are vastly more efficient.

ByteCoin
grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
December 21, 2010, 03:46:27 PM
 #6

ahh forget it.

I'm about to finish writing my CGI script using GnuPG to transfer share holdings.

It's a centralised method, but I think it's fine since the shares are holded in a centralised manner anyway.


PS.  I'm just discovering openssl.   This programm is great.  It's kind of a swiss-army cryptograpihc knife.  I'll use that instead of GnuPG.
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!