wiki:Incentivization

Incentivization: The dangers of simple, fixed coin systems

If it is not a turing machine, its not as useful for free software developers. down with rocks, up with CPUs.

Main Assertion

Simple coin systems with a fixed algorithm are dangerous, because they incentivize the use of non-free software, and the production of hardware incapable of running Free Software.

Counter Assertion

The cash systems most people use do the same thing, due to the fact that there are so many employers that will fire you for refusing to use and accept the licenses of Non-Free Software.

Device Survey

  • CPUs are usable for tasks of arbitrary complexity, if one is willing to wait(see Turing machine). A great majority of CPUs have very good Free Software support, due in part to the market pressures on each vendor to ensure users can run their existing complicated tasks. Modern high performance CPU usage requires minimal Non-Free Software usage (microcode, bios, and other blobs on x86).
  • With the development of GPGPU extensions, video cards have become usable for massively parallel operations. Hashes per second delivered by video cards are going to always outperform CPUs of a given price point, since the usage of video cards (rendering content on a display) is achieved primarily by performing a number of massively parallel simple operations, which can be mapped neatly into solving simple coin system algorithms. GPUs have limited support with Free Software, and most of the higher performance devices require using Non-Free Software in order to gain the best performance.
  • FPGAs are usable for performing arbitrarily complicated tasks slower than a CPU, and for performing massively parallel operations. Since FPGAs are neither configured to execute sequences of instructions OR render video from the factory, they can be used to perform tasks in a variety of methods in-between the arbitrarily complex to the massively parallel, at the cost of being slower/higher price, and having to use a very proprietary set of tools. Free Software solutions barely exist for programming these devices, only supporting a very limited number of chips in a very small set of configurations.
  • ASIC devices are usable only for calculating the core algorithm of the target core systems. While there are solutions to ASIC mining that do not require the usage of Non-Free Software by the user, this is not to the user's long term advantage, as the ASIC is of dubious utility other than mining. While many CPUs, GPGPUs, and some FPGAs are reusable with Free Software to perform tasks other than mining, no such utility can be derived from a coin mining ASIC. No software, whether Free or Non-Free can be run on such devices.
  • Quantum computers are available only to a select few researchers and engineers. D-Wave Systems claims to have a cloud quantum computing service, that i have yet to get access to. These require agreements to be signed before you can even start developing software for the hardware, you never get to own the hardware, much less see it.

Coin Survey

  • Bitcoin mining and Peercoin mining incentivize the user directly, with currency, for having a higher amount of sha256 hashes per second than others on the network.
  • Primecoin searches for prime numbers, which so far, has been a task CPUs and only a few GPUs have only been good for.

Why is this a problem?

Since the process of mining a cryptocurrency is rewarded financially, any purchasing decision for acquiring new hardware to mine coins becomes a simple calculation: whats it cost, whats it get me, how long will it take? Those seeking to mine cryptocurrencies are mainly looking at how well a device will solve a coin system's primary algorithm, versus how much it costs, both in price and in energy consumption. The longer an algorithm is in use, the more sense it makes economically to implement it at a "lower level", going from CPU to GPGPU, to FPGA, and finally to ASIC. This represents a progression of decreasing utility with Free Software, as they progress from a CPU based approach where MOST CPUs can be re-used with Free Software, to the extreme of an ASIC based approach, where little utility can be derived other than mining and cracking passwords. Furthermore, market forces drive users experimenting with coin mining to acquire new hardware, at which time an incentive is provided to the manufacturer of that solution to provide more of that product. As a cryptocurrency's core algorithm ages, new solutions for mining are more likely to be implemented at a lower level, and therefore more likely to be harmful to users.

What can we do about it?

As Free Software developers, we want users to be able to derive as much freedom and utility as possible through usage of the software we provide. It is therefore in our interests for coin algorithms to incentivize usage and production of mining solutions with the most potential for running Free Software.

Usage of cryptocurrencies such as Primecoin, where most of the currency is mined with CPUs is more likely to help our users than Bitcoin, where fast CPUs targeted by most GNU software are useless. It is also important to encourage proof-of-work units that are both difficult to implement on lower level hardware, and have a great likelyhood of providing utility directly to the user either during mining, or after mining with a given solution becomes dis-incentivized.

Julia Longtin

Last modified 3 years ago Last modified on 04/25/14 00:15:44