Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: netrin on October 19, 2011, 05:02:21 PM



Title: Bitcoin as computational commodity
Post by: netrin on October 19, 2011, 05:02:21 PM
Many economists have argued against bitcoin's adoption as a money because while it could be a medium of exchange, unit of account, and store of value, bitcoin did not originate as commodity. Many have argued that this historical property is not necessary, others like me have argued that a scarce bitcoin derives value from the transactional service that bitcoin makes possible, while others claim that the computational power required to validate the transactions back up the digital commodity. Few are confident with these assertions and therein lies the problem.

What if a bitcoin unit represented a promise to execute computation (or store encrypted data)? Either within the bitcoin network directly or externally but payed for in bitcoin. The idea is inspired directly from a slashdot dissenter (http://slashdot.org/comments.pl?sid=2483800&cid=37761920) quoted in part below. Bitcoin already has a scripting language, indeed all transactions are a common and immediately executed signed script.

Suppose one could compile a multi-threaded script and pay bitcoin "transaction" fees to have it executed by the enormous computational power of the network. Perhaps with different GPU vs CPU costs (memory, speed, etc). Then suppose that one could simply produce computational credit, the promise to compute a specific number of cycles. Block reward would simply be an inflationary tax for otherwise 'idle cycles' as it more or less is today.

I have not yet come up with a way to merge useful computational proof-of-work with validation (hash < target), but I believe if an elegant solution (both economic and technical) were discovered, bitcoin would be unstoppable.

Quote from: TheRaven64 @ Slashdot
If a bitcoin had been a promise to do some computation work in the future, then it may have had some value, because people need computational work done. For example, something like Amazon's compute cloud could potentially back a currency, because the service of running a VM for some number of CPU seconds is fungible and - importantly - people actually want it. No one wants the work that is done to generate a bitcoin, so the coin itself is worthless. Its value is based entirely on the premise that other people will want it in the future, but that's just a pyramid scheme.


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: Dan The Man on October 19, 2011, 05:35:56 PM
It would have to have the requirement that your computational problem is easily verified, but it sounds feasible as a separate kind of transaction. Gavin Anderson wrote a bit about the possible types of different "smart contract" transactions that are possible. Solving a given computational problem sounds like something that would fall into that realm.


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: JeffK on October 19, 2011, 05:50:02 PM
Bitcoin is an inherently valuable unit of work in the sense that a dollar is a valuable unit of work if I bury it in a field and give 100 people shovels and the first to find it gets to keep the dollar, and then everyone gets to try again in the next field.


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: netrin on October 19, 2011, 06:00:43 PM
I looked into smart contracts a bit and they are very fascinating, but much of it went over my head. They tend to be very tiny though, such as escrow, multiple signatures, delayed processing, etc. As execution and state external to the blockchain...

A computational exchange could be established (within the blockchain?) in which users and 'miners' negotiate prices for CPU or GPU cycles, temporary storage during computation, input/output bandwidth, and even long term encrypted/replicated storage.

As a user, I could create or use an existing program (perhaps compiled ECMAScript or a minimal turing-complete language such as brainfuck (http://en.wikipedia.org/wiki/Brainfuck)) to run within a specific amount of RAM, and receive periodic state and proof-of-work dumps. As long as the program were single-threaded (or the user acted as the mult-thread control center) then the user could start, stop, restart, and switch processing between any number of miner nodes after any periodic state dump.

I imagine most of this is already well researched in the field of grid computing and darknets. What may not already exist is a mechanism to monetize processes in a fully decentralized environment. Crypto-money like bitcoin would be necessary without a central mediator such as IBM or Amazon. Why not just use Amazon? Perhaps you'd prefer anonymity. Perhaps your computational units are many but infrequent or tiny. Perhaps a commoditized service will have greater liquidity and competition would drive prices down and reliability up. Perhaps you need a resource with no single point of failure. Services could be funded directly by the users who find them useful (through donations or usage tax).


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: tvbcof on October 19, 2011, 06:10:33 PM
I consider my 'investment' in Bitcoin to be obtaining spots for secrets keys that I alone control in the block chain (or ledger.)

The block chain itself represents a huge amount of investment in time, money, energy, etc.  My gamble is that this will make it a likely starting point for future efforts (or potentially a continuation of the original.)  It's not unlike gold in that while a lot of substances could serve in the role that gold does, someone it always goes back to gold since there is an 'infrastructure' of sorts existing for it.  This infrastructure is as much as anything a shared mental scaffolding, but it seems to be effective.

A giant flaw in my logic (or one of them, at least) is that there is nothing to enforce a condition where my entries in the ledger are honored in any what that would further my goals even if the block chain were the basis for further developments.  That is, to me, one of the most risky part of my gamble here.


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: netrin on October 19, 2011, 06:21:24 PM
If such a computational network and exchange existed, then it would be very easy for a company to accept existing fiat money from customers, including credit card transactions, to purchase computational time denominated in bitcoin. Similarly a miner could negotiate contracts and accept cash from any company offering the commoditized service of computational power.

If commodification drove prices down and reliability up, then anonymous, secure, distributed computing funded by crypto-currency would truly establish the vision of 'the cloud'.


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: Steve on October 19, 2011, 06:36:13 PM
Quote
No one wants the work that is done to generate a bitcoin, so the coin itself is worthless.
This is where the slashdotter gets it wrong.  Everyone wants the work that is done to generate a bitcoin because without it, there would be no agreement on the official block chain and there would be no effective prohibition against double spending short of a centralized authority that maintains an official chain.  So, if you value the decentralized nature of bitcoin, then yes, that work is valuable to you.  Maybe you wonder why people continue mining at a loss?  Well, it's perhaps because they value the integrity of the network as much as they value the bitcoins it generates.


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: tvbcof on October 19, 2011, 06:53:42 PM
Quote
No one wants the work that is done to generate a bitcoin, so the coin itself is worthless.
...
Maybe you wonder why people continue mining at a loss?  Well, it's perhaps because they value the integrity of the network as much as they value the bitcoins it generates.

Very true indeed.  I took an interest in mining for the first time just a few days ago and started researching what was available in FPGA-land.  'winning' a few BTC now and then is very much a secondary interest of mine (no pun intended.)

I have an internal debate about whether it makes more sense to go for some big-iron GPU machines to use periodically in times of crisis.  Maybe if some demoralized miners are giving there gear away I would think about it, but Moores law and supply-chain factors tend to argue against this investment.


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: netrin on October 19, 2011, 07:03:15 PM
I do not think a hobby demand, which I believe you are attributing to mining at a loss, is sustainable. I don't see any relationship between the cost of validation with cost of holding or using bitcoins. The transaction fee is not negotiated regardless of exchange rate. The variable difficulty ensures a correlation between production cost and exchange rates no matter what the real costs. Bitcoin are equally functional at any real value, but are more secure with computational power and thus higher exchange rates. Value derives from demand. Demand does not seem to derive from value, at least not until a high threshold of both (chicken and egg or fiat bootstrap problem).

Anyway, there already exist computational demand and secure replicated storage demand. I believe the bitcoin network is in a unique position to capitalize and commodify these demands.


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: phillipsjk on October 19, 2011, 07:22:02 PM
You should read one of the inspirations for the orignal Bitcoin paper:
W. Dai, "b-money," http://www.weidai.com/bmoney.txt, 1998.

If the work has value, by itself, that is a problem for establishing "Proof of work". It would essentially allow participants to sell the same work twice. If not carefully implemented, it also opens up the possibility of "banking" up work in isolation from the network in order to mount an attack on the network.


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: hashman on October 19, 2011, 07:35:28 PM
On a possibly related tangent I heard that was Marx's big theory that money was inherently derived from work (labor).


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: netrin on October 19, 2011, 10:08:15 PM
Thanks for the b-money link. Fascinating read; It's obvious from which ideas Satoshi's design evolved.

If the work has value, by itself, that is a problem for establishing "Proof of work".

Yeah, 100% verification or repetitive guess and check problems such as bitcoin's (hash+nonce < target) are not typically of any practical value. But what I am envisioning are deterministic computational units. Any one of them could be recreated and verified by the 'buyer'. He can try to outsource verification to other parties if he could be sure there was no malicious collaboration.

While computers could be anonymous, their identifiers (addresses) could have reputation, and buyers and sellers rate each other, whose values would be individually weighted by a web of trust. A good rating held by a node at the center of a dense web of trust could in itself could be factored into a miner/computer's exchange price.

I've never designed a VM and know even less about distributed computing, but the model I have in my head are finite-state-machines (with state) or instruction/data stacks. The buyer sends the computer/miner a stack, buys a specific number of cycles and then receives the modified stack at the end whether or not the program completed. The buyer can then send the stack to another computer and buy some more cycles. At any point, the buyer could rerun the stack to see if he got the exact same state. Perhaps the buyer verifies 10% randomly and then 1% later if he trusts the computer.

Ultimately, it comes down to trust. Perhaps I can not trust a random miner on the other side of the earth, but I can trust a pool who has verified innumerable computations from hundreds of its 'sub contractors'.


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: allten on October 20, 2011, 02:19:19 AM
Many economists have argued against bitcoin's adoption as a money because while it could be a medium of exchange, unit of account, and store of value, bitcoin did not originate as commodity. Many have argued that this historical property is not necessary, others like me have argued that a scarce bitcoin derives value from the transactional service that bitcoin makes possible, while others claim that the computational power required to validate the transactions back up the digital commodity. Few are confident with these assertions and therein lies the problem.

+10. Very good observation.
Bitcoin's "industrial value" is its ability to act as money better than anything else (Except stability; however, that's completely offset with the ability to take it to market anywhere in the world very quickly - so that doesn't matter)
Their criticism on bitcoin "not being a physical commodity so it can't be money" is hypocritical; just look at the price of silver and gold: it is valued way above its current industrial demand. By their same logic, the high prices of these commodities should also be demonized. (Note: I also invest in PMs.)

I have not yet come up with a way to merge useful computational proof-of-work with validation (hash < target), but I believe if an elegant solution (both economic and technical) were discovered, bitcoin would be unstoppable.

The idea of discovering other uses for Bitcoin is a great idea and would surely contribute to its success; however, changing the computational algorithm is a dead end in my opinion. Don't want to sound negative, but would like to encourage you to focus your energy else where more productive.

I think potential ideas should start with the obvious: Bitcoin is the most distributed, open, and secure active database the world has ever seen that has no central authority - That is extremely valuable. We just need to discover all the services that would benefit from this and put them into practice; currency is the obvious one. I think namecoin was a great start, but I find it tragic that they had to create an alternate currency. They should have just integrated these services into Bitcoin and start managing DNS addresses with the same block chain. Just look at Verasign - it's a Billion dollar company with central control over these services. Just imagine the same services at a cheaper rate but with no central control. That's huge!

The negative to that is it would increase storage requirement for the block chain, but I'm sure we would figure out all the necessary solutions now and in the future.
The positive is it would increase confidence that the block chain will live on after all 21M bitcoins have been generated.
 



Title: Re: Bitcoin as an inherently valuable unit of work
Post by: jjiimm_64 on October 20, 2011, 03:35:40 AM

well, why not just pay for miners to do folding proteins?


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: hashcoin on October 20, 2011, 03:43:24 AM
How would you ensure people kept their promises of future work?  That is what seems hard to do.  I don't immediately see any way you could use such a scheme to have a "common currency" like bitcoin.

What one could do feasibly, and IMO is actually better, is dispense with the notion of a central/single currency and instead have an "everyone an issuer" model as in Ripple[1].  That is, everyone issues their own "computation promises", which can be exchanged with one another and the market will price reliability.   Out of this, canonical currencies would likely emerge: private "computation banks" would issue computation futures without actually owning any hardware, but rather maintaining a diverse portfolio of potentially unreliable futures from individuals, rebalancing as estimates of reliability change.

The barrier to doing something like this is security/practicality: existing schemes for doing delegated computation have massive overhead (1000x slowdown).  Things are slowly getting better but not good enough yet.  I studied the literature on this a bit a few years ago, so I'm not current, but I think the state-of-the-art scheme currently is [2].  That scheme uses fully homomorphic encryption, which we also don't even know how to do practically yet (though DARPA is pushing/funding hard for it).

[1] http://en.wikipedia.org/wiki/Ripple_monetary_system
[2] http://research.microsoft.com/en-us/um/people/yael/publications/2010-improved_delegation_computation.pdf


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: netrin on October 20, 2011, 12:43:29 PM
criticism on bitcoin "not being a physical commodity so it can't be money" is hypocritical; just look at the price of silver and gold

I'm on the fence about these arguments. If the bitcoin experiment were to catch on, then we will all claim its success as proof that a physical commodity were not necessary. Failure would seem to validate our dissenters, despite fiat paper providing prior proof. Neither scenario actually proves anything, just as a few generations experimenting with communism, anarchy, capitalism, or any other poli-economical ideology.

Comparing fiat paper (FP) and physical metal (PM) is interesting. Both have successfully been used as money and each has its advantages. FP is much more convenient while PM has 'historical staying power'. Bitcoin seems to be a more extreme case of FP. It is potentialy much more convenient, though its 'historical staying power' will always be questioned until of course history proves its power to stay.

The idea of discovering other uses for Bitcoin is a great idea and would surely contribute to its success; however, changing the computational algorithm is a dead end in my opinion.

I sympathise with this statement. I loath the brood of altchains. I think experimenting with new ideas is great, but I don't like the hack-y free-money environment. What it tells me though, is that altchains will never go away. Any (government/banking) institution could replicate bitcoin, throw in a few freebies for the creator, call it regulation and stability, and compete with bitcoin. I wouldn't bet gold on the winner.

It may very well be that I (or others) can not create a bitcoin like system in which the computation generates useful commodified work, can be stored (promise for future work), and for which the bitcoin units have an inherent value beyond their use as a money. If that is the case, then purchasing computational cycles, data storage, and bandwidth with bitcoin is functionally similar.

The differences (cycle=money vs money buying cycles) are quite profound though. Bitcoin as it is will forever be a speculative asset. It may have the best of FP and PM or the worst of both worlds. Its monetary stability may, like PM, act as an excellent store of value, or the innumerable altchains may inflate them all out of existence.

Suppose a single computational Cycle were our atomic monetary unit. A Cycle would have a direct cost related to technological innovation and the cost of energy, which I believe is the ultimate unit of value for living beings. There are many variables, but ultimately computation has three key aspects which remarkably parallel money:

RAM / disk : store of value
bandwidth  : medium of exchange
processing : unit of account

As (if) energy becomes cheaper and technology more efficient, then the purchasing power of each Cycle would reduce (price inflation). On the other hand, the inflation would be very stable and predictable, currently roughly 50% annual inflation (Moore's Law and energy efficiency rates (Energy intensity calculated as units of energy per unit of GDP)).

How would you ensure people kept their promises of future work?

Good question. That's the major whole in my thesis. But it's why this is a forum discussion and not a PDF manifesto. :)

Perhaps I have been arguing a contradiction in terms. A promise of future work is credit, not money. A money is not spent (consumed), it facilitates spending.

You may be on to something with Ripple (http://en.wikipedia.org/wiki/Ripple_monetary_system). If it replaced its centralized aspects with a decentralized (bitcoin) ledger, I think Ripple (http://en.wikipedia.org/wiki/Ripple_monetary_system) would be more appealing. Thus far I haven't properly sunk my teeth into it. I think I'll give Ripple (http://en.wikipedia.org/wiki/Ripple_monetary_system) another go this weekend.

Thanks for the paper on delegated computation using homomorphic encryption (http://research.microsoft.com/en-us/um/people/yael/publications/2010-improved_delegation_computation.pdf). It's PRECISELY relevant to this discussion. I think I'll use their terminology from here on.


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: coinage on October 20, 2011, 02:37:16 PM
You should read one of the inspirations for the orignal Bitcoin paper:
W. Dai, "b-money," http://www.weidai.com/bmoney.txt, 1998.

If the work has value, by itself, that is a problem for establishing "Proof of work". It would essentially allow participants to sell the same work twice. If not carefully implemented, it also opens up the possibility of "banking" up work in isolation from the network in order to mount an attack on the network.

Can you elaborate on why you feel valuable work could "allow participants to sell the same work twice"?  I think that's probably inaccurate: instead, I think the work must be provably FRESH (created during the current block cycle and not earlier).

I don't think the work has to be inherently worthless IF there is some way to prove it wasn't done earlier.  If we can refine the exact requirements we may be able to see a way to merge much more useful work with bitcoin.

Note: I certainly enjoyed the reference but it does not seem to explain this point.  It merely states:

Quote
1. The creation of money. Anyone can create money by broadcasting the
solution to a previously unsolved computational problem. The only
conditions are that it must be easy to determine how much computing effort
it took to solve the problem and the solution must otherwise have no
value, either practical or intellectual. The number of monetary units
created is equal to the cost of the computing effort in terms of a
standard basket of commodities. For example if a problem takes 100 hours
to solve on the computer that solves it most economically, and it takes 3
standard baskets to purchase 100 hours of computing time on that computer
on the open market, then upon the broadcast of the solution to that
problem everyone credits the broadcaster's account by 3 units.


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: netrin on October 20, 2011, 02:58:29 PM
I can speak for neither Phillipsjk nor W. Dai, but I think "selling the proof of work twice" is short-hand for what researchers of computational delegation (http://research.microsoft.com/en-us/um/people/yael/publications/2010-improved_delegation_computation.pdf) more simply called dishonesty:

Quote
what if the workers are dishonest? For example, in the volunteer computing setting, an adversarial volunteer may introduce errors into the computation. In the cloud computing example, the cloud (i.e., the business providing the computing services) may have a strong financial incentive to return incorrect answers, if such answers require less work and are unlikely to be detected by the client. Moreover, in some cases, the applications outsourced to the cloud may be so critical that the delegator wishes to rule out accidental errors during the computation. As for weak mobile devices, the communication channel between the device and the remote computer may be corrupted by an adversary.

In the case of bitcoin, you can imagine a miner sending their proof of failed work to multiple pools while keeping successful work for themselves. The pools have many ways to reduce these and similar risks, such as sending unique nonce prefixes, re-checking a tiny percentage of work, dividing work into pieces, etc.

I'm not particularly interested in generally 'more useful work' like protein folding and other involuntary donations. Sure, if bitcoin validation stabilized the climate as a side effect, that would be wonderful (though many here in Greenland may object). However, I am interested in arbitrary work. The promise to do MY work for which I'm willing trade quantifiable value. I want a universally valuable generic commodity (either good or service).

If a Satoshi represented the promise to compute a cycle in the future, then I can either 'cash it in' and get some processing power now, or just pass it around as credit notes to be redeemed far into the future.

Ripple handles credit while distributing/balancing the coincidence of simultaneous wants which plagues real-world barter. I can offer computational power, storage, but limited bandwidth and need tropical fruits. Someone in Africa can offer fruit and music and wants computation and to learn English. Someone in England can teach English, has bandwidth and wants music and storage. We can balance our wants and offers through Ripple and record the remaining credit balances and trust relationships in Bitcoin. ...or some such.

Computational cycles, bytes of storage, and bits of bandwidth are such tiny atomic units of value that for all practical purposes, as a service/commodity/money, they are infinitely divisible. They also lend themselves extraordinarily well to a distributed network - in fact they ARE the units of a distributed network.


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: coinage on October 20, 2011, 03:26:25 PM
[1] http://en.wikipedia.org/wiki/Ripple_monetary_system
[2] http://research.microsoft.com/en-us/um/people/yael/publications/2010-improved_delegation_computation.pdf
Thanks for the Microsoft paper on delegated computation using homomorphic encryption. It's PRECISELY relevant to this discussion. I think I'll use their terminology from here on.

A fine point ... but perhaps best not to characterize this paper or its terminology as Microsoft's.  A copy is available at their website, but two of the three researchers, including the lead author, are with the School of Engineering and Applied Sciences at Harvard University.


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: netrin on October 20, 2011, 03:35:44 PM
A fine point ... but perhaps best not to characterize this paper or its terminology as Microsoft's (if you even were).  A copy is available at their website, but two of the three researchers, including the lead author, are with the School of Engineering and Applied Sciences at Harvard University.
I was. Thanks for pointing that out. I was feeling an overwhelming pressure to remain unbiased with respect to source. :)


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: netrin on October 20, 2011, 04:46:55 PM
I propose combing the distributed, replicated, secured data of Freenet, with the computation of BOINC or Amazon EC2, with the anonymous network of Tor or I2P, and trade and monetize it much like Bitcoin or Ripple. If possible, this should solve the 'free rider' problems of Tor, solve the centralized problems of Amazon, and stabilize the likes of Bitcoin as a commodity.

Even if the computation, storage, and networking were 100x less efficient, I think there would be value. I would certainly offer a day of 100% CPU usage and several gigabytes of storage in exchange for say, a month of light traffic to my secured and distributed web site.

 * Publish data to the network paying for a certain level of replication for particular time.

 * Push some logic to the network and pay for code storage, I/O and event triggered computation.

 * Earn credit for future data, computation, and bandwidth, by offering a multiple of these now.

The market will decide the prices, but they could easily be in terms of themselves for immediate use. 100 CPU cycle offered = 1 CPU cycle gained. 10 GB/hour of storage offered = 1 GB/hour from the network. As said before, a futures market could hedge the risk of default on future promises. With enough liquidity, someone could plug into the network, offer some cycles and storage and immediately receive credits to purchase goods. The credits could be immediately traded again, perhaps for fiat money.

Suppose Amazon pays a small fee to delegate cycles on home computers and more than gains profit by reselling these cycles to customers. Amazon pays either credits or dollars to workers and will accept credits or dollars from customers. As long as the cycles and storage were generic, anyone could be an amazon with competitive rates.

EDIT: Maybe monetizing or crediting Plan-9 (http://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs) or Inferno (http://en.wikipedia.org/wiki/Inferno_%28operating_system%29) timeshare?


Title: Re: Credit for processing power, data storage and bandwidth
Post by: netrin on October 20, 2011, 07:39:36 PM
Highly performant burst computation

A programmer makes his machine available as a node in a compilation farm worker overnight and during idle times. When he compiles himself, he disconnects as a worker node, and trades his credits for immediate high performance compilation.

...the same for a graphic artist, particularly 3D animation and video editing. ...or scientific modeling such as BIONC (http://boinc.berkeley.edu/), etc.


Distributed OS time share

The most flexible and generic use case may be offer one's own computers' resources to a distributed operating system, such as Inferno (http://en.wikipedia.org/wiki/Inferno_%28operating_system%29). Workers could set priorities, quotas, and prices for resources (RAM, disk, CPU, bandwidth). Users could buy these resources with the same resource credits or any other currency.

Many of us already pay a web host monthly fees, but perhaps we could reduce the service costs by offering to backup/replicate a portion of the entire host, process queries, monitor the system externally, etc.


Pay per use web resources

Freenet (http://en.wikipedia.org/wiki/Freenet) works as a huge decentralized and cached HTTP web. A publisher inserts documents into the network and the data survives as long as it remains popular (data is passed through the network and cached by each node (as FIFO leaky buckets) in the chain). As far as I know, there is no computation. The model is similar to bittorrent (http://en.wikipedia.org/wiki/BitTorrent_%28protocol%29).

The freenet/bittorrent model could be extended such that a node may pay a small fee to retrieve data from other nodes. Any node that can return the data, keeps a portion of the fee. Thus is there an incentive for nodes to keep large caches of the most popular data. Intermediate parties would take a fair cut; each node connects to peers it trusts to take the lowest fee with the high return rates.

Computation, such as database queries, are also executable data (for example a javascript file). These should include an estimated number of file requests, and thus an execution price. The end user may retrieve a 'query program' which requests tiny indexes referring to other indexes, such that the end user can narrow its query with a minimal number of requests. Alternatively, the end user or another node could pay an authoritative node (who claims to have most of the data in its cache) to perform the query for a cheaper fee. Google-like entities could exist accumulating nearly all data in its cache, but any node could offer specialized services at competitive prices or offer exclusive content.

The advantage of this system is that content and service providers would not need to pay to publish and distribute popular content. End users pay for consuming content and distribution. Publishers however would need to pay to refresh less popular content, which seems fitting.

With what are we paying? Content credit. Any request which I can fulfill pays me credit. It costs me credit to retrieve content.


Title: Re: Credit for processing power, data storage and bandwidth
Post by: gmaxwell on October 20, 2011, 09:27:15 PM
Many economists have argued against bitcoin's adoption as a money because while it could be a medium of exchange, unit of account, and store of value, bitcoin did not originate as commodity. Many have argued that this historical property is not necessary, others like me have argued that a scarce bitcoin derives value from the transactional service that bitcoin makes possible, while others claim that the computational power required to validate the transactions back up the digital commodity. Few are confident with these assertions and therein lies the problem.

(For the purpose of this reply I'll use 'money' to mean a commodity which is super fungible and liquid and is used as a proxy exchange of value)

The notion that something used as money ought to have independent value is fundamentally broken.

If you have some useful good, there will be some price which depending on the supply and demand, costs and benefits of using the good should result in the most efficient use of that good possible. (given a bunch of assumptions that are never true, but are probably close enough)

If you have some scarce thing used as a highly liquid exchange placeholder, a money good, there will be some valuation at which it does its job best (depending on the overall economy and the properties of the thing).  

It is unlikely that these prices will be the same, or even similar.  So when you combine the uses you get something which is less efficient than having them separate.  We see this with gold where gold is priced much higher that materials which are more rare (and harder to mine), more industrially useful, or compared to things which are equally useful or superior for jewelery, etc.  Many productive uses of gold are denied because much gold is being held up in vaults in order to store value.

The argument that bitcoin is somehow backed by computational power is a misunderstanding of what people conventionally mean by backing.  When people talk about a money being backed by something, they're referring to something providing a floor under which the value of the money can not fall even if confidence in the good as a liquid unit of exchange is lost. E.g. If everyone suddenly hates gold you can still use it to manufacturer useful electronics.  This is the _only_ benefit that comes from using an otherwise useful good as money.  Just like broken escalators become stairs unwanted gold coins can become excellent paperweights, tooth fillings, and electronic connectors.

The computational power behind the block chain does not provide this property. The computation is not reusable, it's not useful to you except insofar as it makes bitcoin technically secure, something you only care about if people consider bitcoin valuable. If everyone hates bitcoin you can't melt yours down and reuse the cpu power. It may be necessary to give bitcoin value but its not sufficient.

Bitcoin is unbacked as are all major official monies— sure they're theoretically backed  by the ability to pay taxes using them but should confidence in the money collapse to the point when that backing becomes relevant you're probably not going to care about paying taxes (especially since the taxes will increase in amount as the money loses value). People trust official monies because they know other people trust them and because they trust the issuers to not destroy their value by ruining scarcity.  The same applies for Bitcoin though the trust is justified for different underlying reasons.

If you really must believe that bicoin is backed by something even if its a backing which would be worthless if you ever had to call on it like what backs the USD, then you can consider it backed by the interest of geek collectors. Even if the system is a complete failure there will always be some geek willing to buy it from you for novelty value.



Title: Re: Credit for processing power, data storage and bandwidth
Post by: etotheipi on October 21, 2011, 02:34:38 AM
We just need to convince someone who is extraordinarily rich, to put up $700 million dollars to "back" Bitcoin for a 5-10 years.  They basically publicly announce that they will buy BTC for $100 each, and then the BTC must have that value, because you can always sell to that rich guy for $100.  In a way, he'd be like an exchange, but using his own money instead of others'.

Now it sounds ludicrous... who would risk that kind of money?  Well, how much of a risk is it, really?  People will start using BTC, because they know each is worth $100 and will realize the extra benefits they get out of it that aren't available with other currencies.  Merchants, buyers, savings accounts, etc, can all be converted to BTC because they know it can be converted to USD at any time.  "People" will eventually start to accept BTC as having value of $100, not because that one person is offering $100 for each one, but now because everyone else is.  At some point (probably many years), BTC would completely self-sustain as an independent currency without the billionaire backing it.  

At this point, he can basically just sell it off through the natural demand for it.  In fact, price is likely to go up as it actually becomes a useful commodity, since $700 million is not enough to support the economies that would be utilizing it.  

This is basically, exactly what happend with the USD (without the price spike, since they created enough to support the economy).  The government used to say "Each of these pieces of green paper can be traded back to the government for an equiv amount of gold".  Eventually they stopped doing that, yet USD still maintained its value depite losing its "official" backing.  This theory would only fail if there's no legitimacy to BTC -- if there's no extra value to holding BTC over USD, then why use it?  But when people start understanding the liquidity, the potential anonymity, the convenience, the low fees, the built-in escrow, etc, people will have a reason to continue using trading it. By then, there would be a critical mass of people/companies/businesses that deal with it and confirm its value that it would actually have that value.


Title: Re: Credit for processing power, data storage and bandwidth
Post by: etotheipi on October 21, 2011, 02:56:59 AM
On a separate related note ... We have discussed useful proof-of-work ideas on the forums many times.  There just is not any feasible way to change the BTC proof-of-work without a catastrophic disruption to the entire system.   And of course, there's just not a whole lot of useful problems out there that are suitable to replace hashing...

However  it would be possible to create a dual-purpose mining program that would achieve this goal outside the BTC network.  The program would run the BTC mining, but could also have GPU kernels uploaded to it by anyone who wants work done.  The miner would transmit a BTC address and the requester pays the same BTC that miner would've produced.  Then the miner can switch to doing their work because it's a financially neutral decision. 

YES I am well aware that the BTC network needs the mining for security.  But, I don't envision that there would be enough demand to draw enough miners away from BTC to make an impact on the security of the network.  If there is enough demand, then that will drive the price of BTC up further and people will start buying more hardware (or perhaps, the special mining program would be designed to not switch if more than 50% of the miners are currently diverted.   Yes, this raises questions... this is mostly just off the top of my head)

This would create an extremely stable economy around BTC:  it would create a tangible backing to the work the miners are doing:  1 hour of GPU time can be bought for 0.01 BTC, so how much are people/companies will to pay for 1 hour of GPU time?  If it's $1, then suddenly BTC price will start gravitating towards $100/BTC because people will know they can always buy $100 worth of computation with 1 BTC.  There's no magic, faith or acts-of-god required:  BTC is worth exactly how much institutions/companies are willing to pay for computation time.  It would turn BTC into a global, pay-per-compute cloud that anyone in the world can use -- if they can afford to buy the BTC to feed the miners.



Title: Re: Bitcoin as an inherently valuable unit of work
Post by: hashcoin on October 21, 2011, 03:44:10 AM

Good question. That's the major whole in my thesis. But it's why this is a forum discussion and not a PDF manifesto. :)

Perhaps I have been arguing a contradiction in terms. A promise of future work is credit, not money. A money is not spent (consumed), it facilitates spending.

You may be on to something with Ripple (http://en.wikipedia.org/wiki/Ripple_monetary_system). If it replaced its centralized aspects with a decentralized (bitcoin) ledger, I think Ripple (http://en.wikipedia.org/wiki/Ripple_monetary_system) would be more appealing. Thus far I haven't properly sunk my teeth into it. I think I'll give Ripple (http://en.wikipedia.org/wiki/Ripple_monetary_system) another go this weekend.

Thanks for the paper on delegated computation using homomorphic encryption (http://research.microsoft.com/en-us/um/people/yael/publications/2010-improved_delegation_computation.pdf). It's PRECISELY relevant to this discussion. I think I'll use their terminology from here on.

I didn't necessarily mean the ripple system/implementation.  All I meant is things become much simpler, and arguably more robust/decentralized when you consider an "everyone an issuer" model like ripple rather than "single issuer" like USD/bitcoin (you can think of bitcoin as a system with a central issuer who has promised to issue tokens in exchange for block nonces; the fact that this central issuer is implemented via a distributed quorum/consensus is just an implementation detail).  Looking at things this way eliminates the obvious problem that arises when imagining a system like bitcoin where coins were redeemable for computation: 1 cycle on my machine is maybe not worth the same as 1 cycle on your machine.  That could be for reasons from general reliability (maybe one of us has a UPS/backup power) to malice (maybe one of us is downright dishonest and not performing computations correctly).

So instead of imagining a single "cpucoin" with some complicated/impossible mechanism for issuing them, I may issue as many "hashcoin IOU tokens" as I want, to anyone for whatever reason, and you may issue a "netrin IOU token" to anyone.  One can issue IOUs for anything: I can say I'll pay you $1 if you present it to me, or I'll execute 1000 cycles if you present it to me, or I'll send you some disk block.

Now the point is since you don't know/trust me, my IOUs are likely worthless to you.  But if through some intermediate friends/entities, there is a chain-of-trust between us, then we can trade via that chain.  More precisely, say Alice trusts Bob for $10, and Bob trusts Charlie for $20.  What this really means is Alice has announced to the market "I am posting an order to SELL 10AliceIOU in exchange for 10BobIOU", and Bob has posted "selling 20BobIOU for 20CharlieIOU".  Charlie can pay Alice by filling Bob's order, then Alices, and then redeeming the AliceIOU to Alice.

Ripple is basically a system with these IOUs for real money.  But you can do the same thing for any commodity, such as computational resources.  The nice thing about the latter is such a system could conceivably be easier to bootstrap than ripple because while I wouldn't be willing to trade an IOU for $10 with a total internet stranger's, I would probably be willing to trade 100MB of space on my disk for 100MB of space on his, with the understanding that we would periodically randomly "test" each other to keep things honest.

There has been some work on something like this.  Actually this was Bram's pet project before bittorrent:
http://en.wikipedia.org/wiki/Mojonation

Here's an existing system:
http://www.media-art-online.org/iwat/
http://www.media-art-online.org/iwat/research/papers.html
Another, more featured but more complicated:
https://github.com/FellowTraveler/Open-Transactions

I've seen a few names for the application to computational resources.  Both "microeconomic computing" and "agoric computing".
Sorry to just dump bunches of links but I think that's easiest; check refs recursively in these to find more.  Also by linkdumping I want to emphasize many people have had these ideas for a long time, so IMO the important question to ask is: why haven't these taken off?  My belief is the reason is largely that to most people "things are free already" while really, they are micro-paying via providing private social/ad/marketing data to intermediaries.  That is a nasty problem: these systems are incredible, but noone will use them as long as they believe the systems they use today are "free".

http://en.wikipedia.org/wiki/Agoric_computing
http://www.cap-lore.com/Agorics/Library/dsr.html
http://www.cap-lore.com/Economics/DSR/
http://labs.commerce.net/wiki/Grid_Economics

Description of a storage IOU system:
http://www.eecs.harvard.edu/~mema/courses/cs264/papers/samsara-sosp2003.pdf
[sidenote: cutting off after cs264, course page has lots of good p2p papers. bookmarked!]

--
Also, just note to others in this thread saying you can't replace bitcoin's work with "useful work".  That is not what we are trying to do.  I would not suggest a modification to bitcoin; these are ideas for alternatives.  In fact, personally, if I issued promises to do useful computational work, or anything else, I would not even accept your bitcoins for them, because I do not place any value in a certificate that a bunch of useless-to-me work was done in the past.  The slashdot quote in the OP really hits the nail on the head in a concise way why some of us will never value bitcoins above 0.


Title: Re: Bitcoin as an inherently valuable unit of work
Post by: etotheipi on October 21, 2011, 04:24:19 AM
personally, if I issued promises to do useful computational work, or anything else, I would not even accept your bitcoins for them, because I do not place any value in a certificate that a bunch of useless-to-me work was done in the past.  The slashdot quote in the OP really hits the nail on the head in a concise way why some of us will never value bitcoins above 0.

People aren't paying you for work that was done in the past, they're paying you for work you will do... they compensate the same number of BTC you would've mined had they not bribed your miner to do the work.  This is a perfect system, because in addition to being "fair", it's also the most convenient medium for paying for the work:  all the owners of the computational units clearly want BTC (that's why they're mining in the first place), and transferring BTC requires no third-parties or additional fees in order to request the work.  The party can request compute time instantly from anywhere, 24 hours a day with no downtime, and not have to deal with anyone else except the miner itself.  It turns BTC into a computational resource that happens to mine these "tokens" with its spare compute power.

Then, the value of BTC would have to gravitate towards the "accepted" value of computation time.


Title: Re: Bitcoin as computational commodity
Post by: netrin on October 21, 2011, 09:39:35 PM
This thread has taken multiple related but contradicting paths and I'll accept the blame. It's been a thought experiment, not a thesis, and I appreciate the evolution of the discussion.

#1 Does a money need to be or benefit from being a commodity?

#2 Are there commodities or services which only something like bitcoin could monetize?

#3 Can bitcoin become or be replaced by a digital commodity?

#4 Can credit be money?

I've certainly flip-flopped on all of these (Currently: maybe, yes, maybe, no) and have changed the topic title, though I doubt any fits.

The notion that something used as money ought to have independent value is fundamentally broken. ... there will be some price ... most efficient use of that good possible. ... some scarce thing used as a highly liquid exchange placeholder, a money good, there will be some valuation at which it does its job best ... It is unlikely that these prices will be the same, or even similar.  So when you combine the uses you get something which is less efficient than having them separate.

I find no fault in your argument. But I wonder if that inefficiency (the difference between industrial and speculative/money value) provides stability, and thus adds to its value as a money. Gold has a quantifiable industrial value and a less quantifiable but no less real desirability (jewelry). Not only does this provide a base, but I posit that the existence of some base prevents the exchange rate from even approaching the base. Whereas a thing such as bitcoin with no base will forever carry a psychological uncertainty reflected in its volatility.

Just as a hypothetical example, suppose a bitcoin represented a GB of storage in the cloud (in the blockchain perhaps) in addition to all of the properties it enjoys today. At $0.06 that GB might have been well justified. Even if after bitcoin was discovered to have wonderful monetary value, I wonder if speculation could have brought the price up to $32 so early or that it would have depreciated 1% daily ever since. It's pure conjecture, of course.

How would you ensure people kept their promises of future work?

This question continues to nag me. In light of Gmaxwell's notion of a 'pure money', perhaps we don't want money to have industrial value, and certainly not to base our money on credit. That last point should be self-evident.

While I think computational work and storage would make excellent fungible credit, it's a terrible 'store of value' even if the price were more stable. In my opinion a 'store of value' is not retention of stable purchasing power, but the conversion of promises into things. Money unbinds credit from a domain of specific promises to a larger domain of generic though negotiable value.

I didn't necessarily mean the ripple system/implementation.  All I meant is things become much simpler, and arguably more robust/decentralized when you consider an "everyone an issuer" model like ripple rather than "single issuer" like USD/bitcoin

As long as we're trading apples for apples ("I'll replicate 1 GB of your data for 1 GB of my data"), I agree with you. But I don't see this model extending very far. Ultimately, I want a GB/day credit to be honored equally and universally (fungible, divisible, liquid). The handful of friends who might replicate my data are no more reliable than an open (futures?) market where risk can be priced in.

"Everyone is an issuer" of credit, but not money. My friend could easily default on his promise. So, while I'm sure he'll make it up to me somehow, his credit makes terrible money because it is not generally accepted nor immediately useful.

This could be all automated and be more reliable than between friends. Any Joe installs some software and allocates a few GB to the network's disposal and sets a few of his own directories to be replicated with different levels of reliability expectations. We could randomly verify promises are kept. Credit could be immediately applied (the network replicates an amount of my data now equal to the amount I currently host for others). But everyone could agree to honour positive credits at diminishing rates into the future. Tit-for-tat should work just as well for a dozen participants as for a billion.

As long as I am an active participant, particularly with a long reliable history, there's little reason other's shouldn't trust me to honor credit into a proportionally long future. The risk, at least, should be calculable.

Perhaps you've noticed I've added "positive credit at diminishing rates". If you have been actively and reliably replicating data for a year, I can trust you'll continue today, probably for the week, why not another month, but for another year? Eh, maybe. I wonder if this depreciation in trust or reliability can be simulated by monetary inflation. If for every excessive GB/day you are awarded a storage credit (SC), then every new SC depreciates the value of all of the SC in circulation. Now suppose each SC unit also depreciates as a function of its age and the growth rate of SC.

I've sketched out a working model on paper (ignoring the double-spend/unique-digital-unit problems), but I'd like to see if this idea catches any bites.

Also by linkdumping I want to emphasize many people have had these ideas for a long time, so IMO the important question to ask is: why haven't these taken off?  My belief is the reason is largely that to most people "things are free already" while really, they are micro-paying via providing private social/ad/marketing data to intermediaries.  That is a nasty problem: these systems are incredible, but noone will use them as long as they believe the systems they use today are "free".

Yup. And I have to ask: Where are you getting these wonderful resources? I'm worried that for every idea I've ever had, you could find a well researched paper or implementation to knock me down. :) Keep them coming. I'm reading them all!

old ideas, so why haven't they taken off?

While I didn't realise everything (to the sentence) in this thread has already been dreamed and tried by geniuses, I believe here we have fertile ground. Whether bitcoin succeeds or fails, we've collected a huge amount of like minded individuals and hardware. The launchpad is prepared.


Title: Re: Bitcoin as computational commodity
Post by: jago25_98 on October 21, 2011, 10:43:38 PM
I think we have practically all of the means to do this,

(p2p exchange, distributed resource allocation I forget the name of it)

it just needs meshing together.


Title: Re: Bitcoin as computational commodity
Post by: netrin on October 21, 2011, 11:58:53 PM
I think we have practically all of the means to do this
Absolutely. There are dozens of distributed storage models with as many properties, but few are monetized. Check out Hashcoin's links above. For example, MojoNation/Mnet tried to do exactly as I'm proposing (it was an eery read), with a symmetric/polar credit model and a central Mojo mint, which I think we could improve.

We don't magically obtain storage, computation, and bandwidth commodities by combining the best of all existing distributed toys and tools. What properties do we demand: Anonymity, security, replication, expiration, monetization. Can they be mixed and matched? If a user demands all three storage, computation, and bandwidth how does he find workers whose cost ratios best match his application?

I plan to play with Inferno (http://en.wikipedia.org/wiki/Inferno_%28operating_system%29) this weekend. If anyone wants to set up and play with a global distributed operating system, let me know. I'd like to experiment with quotas, monitoring and thus credits. Even inferno is heavier than I want, but it's a good start because as a full operating system, there are no limits. It doesn't hurt that it was developed by some of the smartest minds in the field from way back.

As for a lighter weight system, I could imagine something like Node.js (http://nodejs.org/) Tor onion (http://en.wikipedia.org/wiki/.onion) hosts. Stefan's already working on an excellent modular bitcoin system (http://bitcoinjs.org/).


Title: Re: Bitcoin as computational commodity
Post by: netrin on October 22, 2011, 04:28:44 PM
I've played with Inferno 4 all night. It's simple and technically amazing, boots in milliseconds, runs blistering fast even as an emulated/virtual machine, resource access is brilliant, but overall... impractical. I'm left with an overwhelming and disappointed sense of 'what could have been', much like Java I suppose. While it's definitely a system a bunch of us could instantly cluster and share resources, it's not something we'd want to run. While the ideas of Plan 9, Limbo, styx, etc are worth studying, I'm looking for something that could run existing code written in a popular language in a distributed environment.

What about a distributed Node.js cluster?

Workers listen for service requests from Delegators. A request consists of a block of code and estimated resource requirements, the parties negotiate a price based on an exchange or equivalence rates (e.g. 1 G cycles = 50 K/hour RAM = 1 M bandwidth = 1 BTC). Payment could be in the form of resource credits or money (bitcoin). As long as all communication comes over an anonymous secured network and the code is running in a sandbox, Workers shouldn't care what they are running. Delegators would most likely pay in advance for a unit of work, would be concerned about and should price in trust and performance. Compliance could be verified externally (by requesting a resource), as part of the execution (code returns proof of work) or part of the infrastructure (by as yet undiscovered methods (http://en.wikipedia.org/wiki/Homomorphic_encryption)).

We just need a market, resource monitors, computational unit package definition, trust and glue.