Author

Topic: BITSTOCK - A P2P Micro Currency / Stock Exchange / Escrow / Payment Gateway. (Read 27358 times)

legendary
Activity: 2940
Merit: 1090
Game vs non-game-aka-real: Martian BotCoin is a euphemism for Martial BotCoin and part of the game's timeline includes the discovery of Earth in time for the Battle of Britain and, upcoming (some say in 2063), the Pointy Eared Aliens Nexus. Foiling the prognosticators who posit a huge catastrophe between now and the Pointy Eared Aliens Nexus is part of the game.

P2P: Martian BotCoins, United Kingdom Britcoins, Canadian Digital notes etc etc etc are all implemented using minimally modified bitcoin code, and a post just minutes ago about Multicoin (nee Freecoin) hints that maybe they will be more public more soon than the minimal mods made to plain old bitcoin code had led their proponents to expect.

-MarkM- (Of course the Martian nation, like the hacker nation whose national currency is Bitcoin, is listed in Freeciv as "fictional"...)

P.S. Just as beekeepers might like honey as their central measure of the value/price of all other things, Martians kinda like MBC for that, and, as you maybe show, Hackers seem to favour Bitcoin... Wink

full member
Activity: 185
Merit: 112
Have you looked at Open Transactions?

Not yet, but I soon will.


Quote
Because Open Transactions didn't really have markets yet when I went looking, and because I only have one incoming port, already in use, I have so far been using IRC bots. I have had difficulties in the past in reliably getting hosting that can run stuff I compile myself and wasn't ready to splurge on a high end hosting solution, plus I don't like the idea of running financial applications on servers that someone else physically controls.

How about a simple server on your own system, just for your code and have the hosted web server, pull the CGI calls from downstream? I know you can get separate virtual IP services. Or maybe just putout for a fixed IP. You should get enough bandwidth for a proof of concept. Then donations for the upgrade. If it looks like your doing something useful (and it does), hell what's wrong with a little begging?Just look at my sig.  Grin

Quote
What I have done so far is simply open for each type of currency or share an account in each of the others, so that for example any bitcoins someone exchanges for General Mining Corp (GMC) shares go into General Mining Corp's bitcoin account, any Britcoins (UKB: United Kingdom Britcoins) someone exchanges for General Mining Corp (GMC) shares go into General Mining Corp's britcoin account and so on.

Yup! Sounds like it would be an approximite work-a-like to the concept I had in mind, unless its not a P2P client. We really need a block chain for proof of work.

Quote
The bots thus act as kind of asset reserves, each asset type having its own reserves of each of the other asset types with which it can "back" itself (by using those reserves to "buy back", aka "redeem" it own shares/coins).

You got it goin' on dude. Proof of concept is eminent.

Quote
The main test/demo bot is NickelBot, which lurks in various #bitcoin-related channels on Freenode IRC.

I am also partway through coding a simple perl bot for Crossfire RPG that uses the same back-end shell-scripts as the IRC bots to make similar functionality available inside the RPG (Role Playing Game).

Somebody round here is working on (or made) an interface for actually using bitcoin for trading in game. I s'pose it just monitors the game units of credit and passes the bitcoinage on in proportion to any trade it makes in game, like playing poker with match sticks over the table, while passing money under it.  Smiley

Quote
Open Transactions uses a package that can create RPC stuff for many languages, so I am also partway through putting an Open Transactions client into an eggdrop IRC bot using tcl rpc calls.

Sounds great. Dunno what 'eggdrop' is (other than how you make breakfast when you wake up still drunk). You can go almost anywhere with RPC though. But IRC for the P2P seems like a bit of a fudge. Still, would show how the system functions from a users POV.  Cool

Quote
As more and more asset types based on bitcoin code come into existence all the time the need for systems to handle trading between any and all of them keeps growing. I originally stumbled upon bitcoin while searching for forex-and-commodity market system sourcecode.

It's like watching raindrops before the ground is completely wet, just before the advent of a torrential downpour. Just began inquiries about forex myself, which I discovered, as I tried finding ways to liquidate bitcoin for pig penny's. Never got around to opening the practice trading account though. I'm too busy with bitcoin ideas.

Quote
at that time I had been working on IRC bots and Crossfire RPG bots that would automatically trade, basically all sitting around chatting about various stuff they have in various warehouses on various planets, or in various stashes requiring various amounts of complicated/expensive shipping to move them from one repository to another, wheeler-dealing with each other each trying to increase its player/owner's holdings of whatever assets/items/currencies that particular player happened to want it to maximise for them.

WOW!!  Shocked If you could get them to reproduce, you could get some of you best game playing years in for centuries after you kick the bucket. If the humans go extinct after killing the wildlife and environment, your bots could be playing away for who knows how long in solar powered homes where PC's got left running.

Quote
Shifting focus to abstract units of value such as bitcoins is actually a bit of a simplification compared to my original aim which had been complicated by transport costs and amount of time needed to transport stuff and of course also even the potential for bad things to happen enroute (cutting off of supply lines, bandits lurking along the trade routes etc).

It's a simplification to getting loans, making payment by credit card and using PoxPal too. Wink Wait till it's fairly liquid. I used to play TTD/OpenTTD a lot. Just realised you could to the same sort of thing with that.

I am not a big fan of forcing everything to be priced/valued in terms of just one thing. In my Digitalis D'ydii Cluster on BBSes decades ago I always allowed players to pick any item from price lists to use as measure of the price of everything else, so that for example a player interested in obtaining tons of fuel to get the heck off the planet could view everything's value in terms of tons of fuel, or a player interested in shipping stuff could view all values in temrs of tonlightmonths of transportation or whatever.

There's a very good reason for implementing this common denominator system. More than one actually. Firstly, BTC is the one which will be available to all nodes and the only one which is instant free P2P digital currency. If there has to be a unit that all are measured in, then BTC is the one. The reason there must be a single common unit, is so that the trading between bitstock and bitcoin are kept in sync. The bitcoin economy is a closed loop (with respect to existing bitcoin at least). bitstock is closed too but only with respect to all other bitstock. Bitcoin are not on the same tally sheet. You cant take wheat say, as payment for bitstock.  Why? Because wheat or candy, or horse poo, cant be made accountable. Shareholders have to pay for bitstock with bitcoin, for the sake of accountability. So company owners have to buy with bitcoin, so the books will balance. And if they don't the public record will show. That's OK for honest companies, because one of the many things they can buy, is other currency. It's no problem even to automate trades for reasonable margins to maintain a predictable float of working capital.

Also the tax man should love this (and get off bitcoins back). Anybody who says bitcoin is too anonymous, and cant be held accountable is wrong. If you have a P2P stock exchange system and double entry account balancing between a single currency's economy and the commodities/stocks/assets of the company listed on this single exchange economy, you can always keep stringent control in real time, of whether the books balance. Governments can audit with a bot and get off the honest guy's back. NOW! Once they are satisfied that bitcoins can be accounted for, they may just turn on the fed (their ruthless captors) and run to bitcoin for cover (and revenue). Having one unit of trade, either in or out of the bitstock network is a seriously major feature, because it keep all company equity to a known value. 

Besides, there has to be some rule that regulates how and when the client node gets to write bitstocks into the network. When they are created, they need to also be like bitcoin, and not be like fiat money. The asset type or commodity they're paid for with, needs to be of a fixed limited quantity. all other commodities / currencies are unknown variables. You cant tell how much wheat (or oil, or orange juice) a company has. If opens to trade, it had better offer what it has in bitcoin. or else it wont be counted as an asset. Owners can value and buy with bitcoin, into their own existing assets, to float bitstock for sale and to show true company value. Otherwise the shares will be less attractive.

For over a decade now, I have toyed with a technological idea for a processing system to harvest honey. I used to keep bees as a young lad, and combined a few ideas to avoid heat and ventilation issues. That made it feasible to incorporate a molded wax frame, timber-less frame and disposable honeycomb system, to avoid expensive equipment costs in making frames and extracting honey. Instead of a complex centrifugal extractor, lots of handling (uncapping loading extractors etc.), the comb could be simply squashed to release the honey and the wax melted down for re-molding and for an added cash crop of wax. That coincided with growing concerns over health regulations as each beekeeper tended to run their own extracting plant and the conditions were not always perfectly sanitary. My system afforded itself to mass production and outsourcing of the extraction with much better efficiency. A larger scale plant like this would put such a company between the beekeeper and the large honey wholesalers.

Then a few years back, the prices went through the floor. Beekeepers couldn't sell their produce for the cost to bring it to market. This was strange as the prices on the supermarket shelf was still about the same. It all came down to greed and market monopolization. I considered if I could ever be in the position to set up the honey plant, how I could restore the balance. How it could be financed without going to the banks. The beekeepers, I decided, would have to be shareholders. But being cash poor they would be just as stuck. I realized that if it could be done it would be something like a cooperative. It then struck me, to permit... no INSIST, that equity in the company could only be paid with honey. I would sell shares not for money, but for honey. The beekeepers would have the upper hand and the marketers would have to by honey at a fair price. They could not buy shares on the open market to 'future proof' their monopoly either. 

I never went further with this idea for lack of numerous needs and other interests, but it always reminds me, that any commodity can be traded as currency in a controlled system and demand for that commodity can be created if you would trade company equity for it. The simplest implementation of  a bitcoin like network, struck me as a way to distribute units representing company shares that could be bartered for any commodity or currency you want to create a demand for. In this case the software will require require bitcoin to be paid for with bitstock and vice versa, because the ability to account with a single common denominator in a zero sum network is the way we keep the books balanced at all times.

Quote
So I really do not find your insistence on making everything be valued in bitcoins appealing. Everything should be valued in terms of everything else, or at least in terms of anything else. (All pairs, maybe, really, to make a full spread of forex/shares markets?)

Everything WILL be valued in terms of everything else though. By using a common denominator (that is - common to all), each commodity may float freely as market demand would dictate, but at any given time, they will ALL have a relative value to each other, which can be calculated by converting to a common reference value. Anything  that goes up 3 BTC, will also go up by 3 BTC relative to everything else. The software can and would, still show all manner of comparisons and even incorporate an embedded spreadsheet  or dynamic tables. You may even be able to buy a quantity of A for an equivalent quantity of C, while bitccoin B is used by the buying node, to pay for the commodity you are trading, then in exchange it is passed directly to the the node with the commodity you wish to buy, who will automatically trade C for exactly the same amount of bitcoin. To you it will seem like you simply bartered some A for some C and your bitcoin balance B, will remain just the same. But even a balanced swap will cause a matching set of transactions, that will create events broadcast to all nodes using bitstock. This way all nodes can evaluate the network data for any commodity they might care to monitor. Your own portfolio would have rich real time budgetary details, for each company who's bitstock you hold. Other commodities like gold, wont have budgets but may have other useful performance statistics.

But dude, I gotta say, you got some pretty good background for a project like this. Maybe you should wind down the in game 'toy currencies' and play in the big sandpit. Of course monetizing games would still be a good lead in path for both gamers and software companies to accept licence payments. They also have some of the best commodities to trade online, being that they're digital and all.

Gets interestin' dont it?
legendary
Activity: 2940
Merit: 1090
Have you looked at Open Transactions?

Because Open Transactions didn't really have markets yet when I went looking, and because I only have one incoming port, already in use, I have so far been using IRC bots. I have had difficulties in the past in reliably getting hosting that can run stuff I compile myself and wasn't ready to splurge on a high end hosting solution, plus I don't like the idea of running financial applications on servers that someone else physically controls.

What I have done so far is simply open for each type of currency or share an account in each of the others, so that for example any bitcoins someone exchanges for General Mining Corp (GMC) shares go into General Mining Corp's bitcoin account, any Britcoins (UKB: United Kingdom Britcoins) someone exchanges for General Mining Corp (GMC) shares go into General Mining Corp's britcoin account and so on.

The bots thus act as kind of asset reserves, each asset type having its own reserves of each of the other asset types with which it can "back" itself (by using those reserves to "buy back", aka "redeem" it own shares/coins).

The main test/demo bot is NickelBot, which lurks in various #bitcoin-related channels on Freenode IRC.

I am also partway through coding a simple perl bot for Crossfire RPG that uses the same back-end shell-scripts as the IRC bots to make similar functionality available inside the RPG (Role Playing Game).

Open Transactions uses a package that can create RPC stuff for many languages, so I am also partway through putting an Open Transactions client into an eggdrop IRC bot using tcl rpc calls.

As more and more asset types based on bitcoin code come into existence all the time the need for systems to handle trading between any and all of them keeps growing. I originally stumbled upon bitcoin while searching for forex-and-commodity market system sourcecode. at that time I had been working on IRC bots and Crossfire RPG bots that would automatically trade, basically all sitting around chatting about various stuff they have in various warehouses on various planets, or in various stashes requiring various amounts of complicated/expensive shipping to move them from one repository to another, wheeler-dealing with each other each trying to increase its player/owner's holdings of whatever assets/items/currencies that particular player happened to want it to maximise for them.

Shifting focus to abstract units of value such as bitcoins is actually a bit of a simplification compared to my original aim which had been complicated by transport costs and amount of time needed to transport stuff and of course also even the potential for bad things to happen enroute (cutting off of supply lines, bandits lurking along the trade routes etc).

I am not a big fan of forcing everything to be priced/valued in terms of just one thing. In my Digitalis D'ydii Cluster on BBSes decades ago I always allowed players to pick any item from price lists to use as measure of the price of everything else, so that for example a player interested in obtaining tons of fuel to get the heck off the planet could view everything's value in terms of tons of fuel, or a player interested in shipping stuff could view all values in terms of tonlightmonths of transportation or whatever.

So I really do not find your insistence on making everything be valued in bitcoins appealing. Everything should be valued in terms of everything else, or at least in terms of anything else. (All pairs, maybe, really, to make a full spread of forex/shares markets?)

-MarkM-
full member
Activity: 185
Merit: 112
How can you have a "stock exchange" with a limited amount of shares to be created for an infinite amount of companies?

I'm not to sure where the infinite amount of companies comes in. Huh It's already hard enough to choose from all the different brands of dish washing detergent. I hope they won't ALL be cleaning product manufacturers. Tongue

The calculations I heard of, gave bitcoin the divisibility to trade with something like three times the GDP of the entire world in units the size of a few cents. Of course that doesn't make them infinite, so if an infinite number of bitcoiners ever arrive (because they'd be so rich and successful and have so many children Cheesy ), then there won't be enough bitcoin either. Given that's a problem for anything used as a commodity of trade, bitstock is no different. Even quarkcointm  Cheesy would be finite. In fact, bitstock would not actually be a commodity of trade as such, but a tethered unit of value (in equity) and a record of public accountability.

Without even doing the math, it's clear that the number of shares for any one commodity or stock, don't have to have even the tiniest fraction of potential volume that bitcoin do. One way to see this, is to realize that every share of bitstock is bought with bitcoin. Say we limit the unit quantity (for a single commodity) to one million bitstock. Given that we are dividing the entire network capacity by 21,  for one company to exhaust their share trading headroom, their stock would collectively have to be 1/21 of the entire trading capacity of bitcoin, with share prices as small as the minimum value of bitcoin possible. If 21 companies did this at the same time, all the bitcoin in the world would not cover their share value. Remember, the only thing that allows the network to create bitstock, is the sale of bitstock for an agreed amount of bitcoin.

You can only buy as much stock in anything as there is currency to cover it. The share value doesn't have to be, and isn't tied to any particular sum of bitcoin. While there will have to be less in circulation of any one bitstock commodity, the total capacity of the whole bitstock network is at least as divisible as bitcoin. Shares worth $2.00 will convert to the current trading value of bitcoin,  and buy the equivalent value in some other commodity at say $0.50. So you'll get 4 times the number of shares, but no bitcoins will be lost or added to the bitcoin network and no minimum units of trade (or overall value) will be added or lost in the bitstock economy. They are both zero sum closed loops, with finite capacity. If all the companies stocks and commodities together could exhaust the capacity of bitstock, then it could exhaust the capacity of bitcoin too, if bitcoin were used to buy it  from the stock exchange.

Think of bitstock as an automatic receipt for bitcoin. It can be divided just as finely as the existing bicoin, but never increased in quantity beyond the amount of bitcoin in circulation. So just like a receipt, you can never write out one for more than you are payed. I could be wrong, but if there ever looks like we are getting close to an infinite number of companies, we can sell all our bitcoin and go back to an infinite regression of debt, using fiat currency.  Wink
sr. member
Activity: 322
Merit: 251
How can you have a "stock exchange" with a limited amount of shares to be created for an infinite amount of companies?
full member
Activity: 185
Merit: 112
Hello fellow bitcoiners,

This gets a little long at the other end, so get youself a cupa and make youself comfey. I've been contemplating a couple of ideas for sometime now, that have eventualy gelled into one unified whole and I think it might now be worth the time to share it with you.

On one hand I had wondered if the bitcoin network and protocol could be re-modeled and co-opted to create a useful smaller network for a company to trade shares and originaly I was thinking that it would use the standard protocol and be modified so it had a smaller limit to the number of total units of trade that would be created. Where as the bitcoin network has a target of 21 million total coins, the company 'bitstock' (seems like an apropriate term to coi.. er... stock) would only need, say, 1 million, or even 10 thousand. 

Anyhow, I concieved this with some concerns about how coins on one network would be prevented from being exported on another. As I understand it, this is no a concern anyhow. The basic idea, was to allow a business to permit the tracking of it's equity by implementing this micro-currency to represent it's shares and those could in turn be bought and sold with regular bitcoin.

Due to more recent experiences with the liqidity issues of bitcoin, with respect to trading them in with of regular currency and then after the MtGox incident, I began contemplating another seperate idea, which involves implementing the functions of a trading exchange in the same manner as bitcoin using peer to peer technology. Like MtGox, only over P2P. Then I wondered, if such a trading exchange application, couldn't also be incorporated into the bitcoin interface. After some more pondering, I realized, that both these ideas were begging to be amalgamated. The bitstock I realised should become a seperate protocol in it's own right and the network and blockchain modified to handle some slightly different data. I should make one thing clear from the outset, that is: The bitcoin network and protocol would stay exactly as is and this idea is only a complementary support, which itself, demands bitcoin trading in order to work.

Whereas a bitcoin only has one long identifier of it's uniqeness, the bitstock would have less need for such a large range of unique identifcation, but some of the identity string, could be reserved for a secondary, client assigned identity. The client bitstock application as I envisage, would be able to trade in a large number of individual stocks, comodities, and currencies. Anybody who has something to trade, such as produce, services and even their own company shares, could list them on this virtual stock exchange. The individual trading units, would deliberately have their own block chain (only because I think they would have to) and the units of bitstock, would be asigned an identity according to what type of commodity/currency/stock it is being used to payfor.

You can imagine a whole table of comodities, currencies and stocks, that each person or company may have holdings in, allong with of course, bitcoin itself, which would stand as the base unit of value, against which all the others are calculated. The bitstock could be very effective in establishing business to business trading pathways, where bitcoin can be traded between companies for the multitude of bitstock commodities and services on offer. Companies who provide payment gateways for their regular local currencies, can also list the currency they support. Apart from improving liqidity of bitcoin by diversifying it's pathways to liquidity, while building strong bridges of B2B trading, it could also open a much easier and more fertile path to listing a startup for seed capital. Once you have a company listed and its business plan is published (publishing could perhaps even be provided as an intergrated network service), investors, stock brokers or VC's, may speculate and trade to their hearts content.

When the company returns dividends, the shareholders need to be paid fairly, so the bitstock network might implement a means by which the company automatically divides the proffit and sends bitcoin in exact proportion to the amount of shares each shareholder has. Proffits of course, will be made in bitcoin. If they are made in other currencies, then they must be converted into bitcoin to satisfy the rules of the bitstock network. The reason for this is that bitstock would only be generated by the node of the company or person trading this particular stock or commodity they list. There will be no mining for bitstock in this network. Instead you have to have a ballance of bitcoin proportional to the value of the companys soluable equity. That will be measured in bitcoin only. The bitcoins you have may be spent, in just the same manner as any company uses running capital, but unless you make a profit somehow, you cant buy back more bitcoin than you spend. You dont make a measured turnover letalone profit; not until it is converted to bitcoin in the trading wallet.

The value of your companies shares may rise or fall independantly of it's total bitcoin but not the amount of them that you release. You can only sell at agreed market value and you could only buy back what you have in bitcoin to spend. As far as the client software is concerned, you are just another trader. The companies bitcoin is no better than anybody elses. Just as the bitcoin network prevents double spending, the bitstock network prevents insider trading. Any transaction on the books must be have bitcoin on one side of the ledger. I can well invisage this being incorporated into, or fleecing the opensource code of a good double entry book keeping application, like GNUcash. The point of double entry is everything id accounted in a zero sum system. Every payment from one place is made to some other place and every budget category, is an account, with in and out ledgers. If everything paid for by the company must be taken in bitcoin to be written off as expense, then you ultimately need bitcoin to cover everthing. That's what justifies selling your bitstock shares for bitcoin though.

When you release some shares, it reduces the overall value of them, but since they are released by selling them for bitcoin, you have more trading currency to work with. The bitstock network will not allow bitstock to be bought or sold with anything other than bitcoin but only provides a seperate protocol and network, for liquidating one currency or comodity against another, via the exchange of bitcoin. The number of bitstock units in play at any moment is a zero sum game when played against all the bitcoin equity in the trading companies wallet ballance and material equity. The network can see to it that all of a companies trades from their trading wallet are listed publicly in a running budget ballance sheet, so that shareholders can scrutinise every transaction made, with assets, liabilities, trading ballance, existing shares and their current value, all on display.

The managers may buy assets for the company with local currency cash and not record it, but that will only give their shareholders a free gift. Instead, to account for a purchace, they must use bitcoin or spend bitcoin out of the trading wallet, to buy other currency. Now it's on record they have accounted for their spending and can make purchaces that they need. The management cant however sell anything out of the company ballance sheet, that isn't already accounted for in terms of bitcoin. That of course goes for bitstock too. You could try to run a cash sideline, tradeing out company resources for a local currency, but that will just weaken the proffit you can record and the value of your stock. It's nothing that any company cant already do, for that matter. In this system at least, you are held accountable to much tighter scrutiny and shareholders are granted the means to track all variables of the companies net worth, by deliberately making them reducible to one common unit of P2P currency (our beloved bitcoin), while shares are floated in a way that is also universaly acountable. Only bitcoin in. Only bitcoin out. all assets, liabilities, profits and shares accounted for.

Hopefully companies will eventualy be able to trade for almost all of their requirement B2B+P2P and very little will be needed to be reduced to fiat currency. Their stock can be listed, allong with their produce or services and anybody trading in bitstock can have a smorgasboard of portfolio choices. The existing currency exchangers will not need to maintain central user databases nor have login accounts with all that personal information. Instead they can concentrate on providing a gateway to buy and sell bitcoin for regular currency and list their currency options as on the exchange network. The bitcoin economy could then be rid of a serious bottleneck, causing security and liquidity issues.

The bitstock client, will obviously need to incorporate a regular bitcoin payment client frontend at the very least, but it should also incorporate a gateway to transact localy with a regular bank account. Local currency liquidity is a serious shortfall at the moment and the option of third party centeral websites to play intermediates, is a huge drawback for liquidity and security, while it undermines the benifits of P2P currency. Regular currency exchangers should offer the equivilent to POS, requiring only your direct deposit details, encoded over the network, never stored on their system and never human readable, but simply triggering the authorisation of their client to buy BTC at the listed price and given quantity, while ensuring they are paid. Selling bitcoin is the reverse process, authorising a direct deposit payment and negotiating both the bank payment details and the bitcoin transaction.

With currency, as with any comodity or stock, bitstock acts at an automatic escrow as well. It only releases the bitcoin in reciept of the stock being sold. The trading client nodes will agree by the buyer taking an offer on the market, and confirming the bitcoin is availble in their wallet, then signaling the buy to the sellers client node. That locks in both payment and supply so no more human intervention is permitted. Only with a multi-commodity P2P network or two seperate networks, is it possible to monitor both comodities in a transaction and make sure one agreed unit of trade gets exchanged for another. That in my view has the makings of a universal online stock exchange and bank to network, network to bank trading gateway, to go with the wonderfull, universal bitcoin currency we already have.

OK that was an overwhelming intro. I'll leave it at that and wait to hear what confusion I've mannaged to cause.  Grin Needless to say, your input and queries are greatfully welcomed.

HIT ME!
Jump to: