Author

Topic: on different systems of distributed stock/share/whatever ownership (Read 679 times)

kjj
legendary
Activity: 1302
Merit: 1026
Are you asking if colored coins are a good idea?  (I say yes)

Or making a more specific query about how they could be traded?   

It does the job of colored coins.  But it has some differences from normal colored coin ideas.  For starters, my idea can actually work.  Wink

I've pondered this idea on and off for the last year.  I'm pretty sure that it will work, and I'm pretty sure how it will work.  What I'm looking for now is peer review.  Have I fooled myself?  Are there problems I haven't seen?  Are there better approaches to the problem?
hero member
Activity: 761
Merit: 500
Mine Silent, Mine Deep
I believe that we can.  Thanks to bitcoin, we know how to build globally distributed peer to peer networks that allow direct transactions between parties.  Thanks to namecoin, we know how to use such a system for arbitrary assets, and we know how to utilize the hashing power of the bitcoin network to provide extra security.

+1

I'd love to see a namespace for securities/assets in Namecoin.

http://dot-bit.org/Namespace

Bitcoin for currency, Namecoin for entities. And thanks to merged mining it is a win-win.
legendary
Activity: 1264
Merit: 1008
Are you asking if colored coins are a good idea?  (I say yes)

Or making a more specific query about how they could be traded?   

kjj
legendary
Activity: 1302
Merit: 1026
In light of the BTCT news, jgarzik reposted his idea for a decentralized exchange.

How about this:  make it possible for users to create their own decentralized exchange.

  • Register a bitcoin address for each shareholder, if not already.  This enables the ability to authenticate cryptographically signed digital messages.  See this stackexchange answer for a guide.  Most bitcoin clients support signing messages.  Registering a GPG key for each shareholder is an alternative, though that requires additional software beyond a bitcoin client.
  • Publicly declare a bitcoin address and GPG key for official ASICMINER messages.
  • Publicly declare an email address for emailing ASICMINER robot
  • At the end of every day, ASICMINER robot produces a message listing all shareholders, by key and share count.  Attach bitcoin and GPG digital signatures.
  • To trade ASICMINER shares, the seller sends a digitally-signed message "transfer N shares to bitcoin address FOO" to the ASICMINER robot.

That is all that is needed on the ASICMINER side:  maintain a shareholder registry.  changes to the shareholder registry may be both pseudonymous and secure.

Then anyone may build an exchange that trades shares.  Anyone may trade ASICMINER shares at any time, using this method.

Re-posting via quote, given today's BTCT  business.

Having a publicly auditable share registry is important.

This strikes me as being yet another example of a ledgerbook system.  You don't own anything, you just have your name in a book somewhere.  MPEX operates the same way.  They provide signed receipts, but ultimately, MPEX is just a ledger book.  A more robust ledger book than GLBSE, BTCT, etc, but still...

Jeff's idea amounts to moving the ledger book from the brokerage/exchange to the asset issuer.  Since the asset issuer already has the ability to default entirely, it would appear that letting them hold the registry of share owners too is a good idea.  Certainly, we've removed one potential point of catastrophic failure from the system.

What powers does as asset issuer hold in the ledger book system?  Should they hold those powers?  Can we do better?

I believe that we can.  Thanks to bitcoin, we know how to build globally distributed peer to peer networks that allow direct transactions between parties.  Thanks to namecoin, we know how to use such a system for arbitrary assets, and we know how to utilize the hashing power of the bitcoin network to provide extra security.

I'm thinking of an altchain for recording securities (stocks and bonds).  For now, I'm thinking it should be called securitycoin, or S-coin, or STC.

Say we add a payload field to the TxOut structure.  (It'll likely be a blob of DER)

If you want to create a new stock, you encode a bunch of information (the name of the issue, the number of shares, some other stuff and a hash of the prospectus) and call it the issue.  Then you hash the issue along with a secret and call that a registration.  Then you create a payload including the registration and burn a few S-coins in fees to embed it in the chain.  Then, when you feel it is deep enough, you redeem the transaction with the registration to create a new transaction with the issue as a payload (also the secret, to prove that it was you.  This is anti-front running stuff).

Now you can redeem the issue with a send to a bunch of brokers.  The brokers can redeem those as usual, and send the shares to clients.  Clients can redeem their transactions and send them to other people, if they so desire.  *

Once the issue is done, every share has a provable owner, and the owner owns the shares, not the issuer, not the broker, and not some exchange.  Even better, if we use regular bitcoin addresses on this network, the issuer can query the chain and get a list of addresses and holdings to send dividends to (on the bitcoin chain).

The system could even handle splits, merges and votes.  The only trick there is to encode the payload in a way that the network can validate the payload cheaply.  For example, in addition to enforcing coin_out < coin_in, it also needs to verify that shares_out = shares_in (paying network fees with shares seems silly, but replace the = with < and it can happen).

Since this system isn't for buying packs of gum at the store, we could slow the network down, maybe to 1 block per hour, to keep the size small.  And we could keep the value of the coins high-ish, giving an incentive for people to merge-mine it, by charging high fees for things like registrations, issues and vote requests, and small fees (or none) for sends and votes.

* I don't think it is possible to take the brokers out of the system.  I don't see any obvious way to make a pair of transactions on different chains that redeem each other.  If there is such a thing, you and your broker could create such a contract and make the trade atomic.  Until then, one of you needs to trust the other.  Then again, if we are using the same keys in both places, maybe multi-sig can do it, don't know.  At worst, it is no worse than any other bitcoin/world interaction, and you still get the benefits of recording stock ownership in the chain.

Quote
Neat idea.

One general comment RE: "we could keep the value of of the coins high-ish" :

I think NameCoin should not have combined the "it is a currency" function with "it is a name-tracking system" function.

And I think S-Coin should avoid that mistake. If I want to buy a stock, I don't want to have to FIRST buy some wacky currency just so I can buy the stock, I want to use bitcoins (or dollars, currency you use should be irrelevant).

Piggy-backing on the bitcoin blockchain to get a canonical, time-ordered list of trades makes sense, but doing that doesn't require full merge-mining.

Legally, it scares the pants off me, and isn't a project that I'd touch with a ten-foot pole. They sent Martha-frickin-Stewart to jail for violating securities laws!

In my opinion, if this catches on, the importance of this chain would rival or exceed the importance of the main chain.  How strong would namecoin be if they didn't have exchange value?  A quick look at the relative difficulty shows that even when mining is totally free (merged), 60% of the world doesn't bother doing it.  Namecoin doesn't have enough value to get most people even to that minimal bar.  Namecoin is LOL-cheap because registering names and changing metadata doesn't cost much.  Which is fine for namecoin, because namecoin is mostly about asserting priority.

And you wouldn't need to buy S-coins if you want to buy a stock, just if you want to issue a  new stock.  Presumably, if you are doing an IPO, you can afford to buy some coins in the stock chain to enable you to do so.  When sending a stock from one random guy to another, there isn't a reason why fees would be necessary, and having coins certainly wouldn't be needed to receive them

It is more than just a global list of trades, it is distributed ownership and control too.  It is your stocks protected by your secret keys.  I suppose we could embed the payload as a fake signature in a 1-of-2 P2SH transaction, but then the network isn't validating the payload.  It really seems to require a new chain.

Good call on the Martha Stewart thing, but she didn't go to jail for violating securities laws, she went to jail for lying to the feds (about something that would have been totally legal even if she had done it).  And I'm not sure that the things going through this chain wouldn't actually qualify as securities under existing law, even if we call them that.

Quote
And you wouldn't need to buy S-coins if you want to buy a stock, just if you want to issue a  new stock.

The purpose of a currency is to have value because it is scarce.

If you make "issuing stock" tied to currency, then you're saying "issuing stock" aught to be a (somewhat) rare, (somewhat) costly event.

Why?

That, in my opinion, is the same mistake NameCoin made.  Why should claiming a new domain name be rare or costly?  If you want your system to be a success, then it seems to me you want issuing stock to be easy and as close to free as possible.

I can't really disagree with any of what you are saying.  There is no reason to treat this like a currency, no reason for it to have value, no reason why operations should cost anything.

Except that namecoin has 40% of the security of bitcoin, when it should be closer to 90% or more because it is so easy to do.  If S-coin has even less cash value, or none at all, why bother with running the node?

It seems to me that having to buy coins to do stuff is the only way to make it so that people can sell coins, which is the only way to make it so that people will mine coins.  I will ponder on it some more, but it seems to me that artificial scarcity is the only way to make the system work.

We had a brief discussion on IRC about this today.  Some parties felt that since the system cannot prevent an asset issuer from defaulting entirely, the whole thing was pointless.

I disagree.  Because shares trade peer to peer in this system, the issuer cannot be sure who is holding shares, making selective default (paying some holders, but not others) far less attractive.  The issuer also cannot block transfers in this system, which keeps shares more fungible.  The issuer could also be prevented from diluting shares by issuing more, or could be constrained to only dilute in response to a vote verified by the entire network.

So, my question to you, the bitcoin community...  Is this an idea worth development?  Are there other ways to do this that may be better?
Jump to: