On Long-Term Cryptocurrency Distribution Models

One of the challenges when creating a new cryptocurrency is figuring out what the distribution model is going to be. Who is going to receive the currency units, at what time, and what is the mechanism that decides? Despite the crucial importance of this question, there has actually been comparatively little thought into the issue compared with other aspects of currency, like consensus algorithms and feature sets. The question is particularly challenging because, just like many other problems in the cryptocurrency space that have parallels in the “real world” at large, cryptocurrencies also face the requirement of decentralization: it is considered unacceptable to have a cryptographic platforms whose continued operation depends on the existence of any specific party in the long term. Given this rather stringent requirement, how should a new currency distribute itself?

So far, the problem is still in its very early stages of discussion. While the question of short-term distribution is a highly dynamic debate between different types of asset carryovers, one-way transfers, two-way pegs, pre-mines, pre-sales and other mechanisms coming out almost every month, long-term distribution in nearly every cryptocurrency now follows one of two strategies: nothing at all, or mining. The reason why having a fixed never-growing supply is undesirable is obvious: it encourages wealth concentration and creates a static community of holders without an effective way for new people to get in, and it means that the coin has no way to incentive any specific kind of activity in the long term. The issue with mining, however, is more subtle. Cryptocurrency mining generally serves two functions; first, it provides a way of securing the network, and second, it serves as a distribution model, giving hundreds of thousands of people around the world a way of getting access to a few coins. So far, mining has been considered necessary for the former, and an effective way of doing the latter. More recently, however, there has been a substantial amount of interest and research into proof of stake, including strategies such as transactions as proof-of-stake, delegated proof of stake and a partial solution to nothing-at-stake, Slasher, suggesting that mining might not be necessary after all. Second, the rise of both ASICs and professional GPU farms is turning mining itself into an increasingly concentrated and quasi-centralized community, so any new mining-distributed currency will quickly be dominated by professional companies and not “the people” at large. If both trends continue, and mining proves to be a bad model for distribution, it will therefore need to be replaced. But then, the question is, by what?

So far, we know of several answers:

  • Pretend that the problem does not exist. This is the solution that has been taken by most proof-of-stake cryptocurrencies, and surprisingly enough even proof-of-work currencies, today.
  • Centralized distribution: let some central authority hand out coins according to some formula.
  • Useful proof-of-work: hand out coins to anyone who performs a particular socially useful computation, eg. weather prediction. This algorithm need not be used for consensus; it can exist simply to distribute coins while proof-of-stake does the hard work of maintaining consensus.
  • Algorithmic consensus distribution. Essentially, some kind of dynamic, adaptive consensus-based process for determining who gets new coins.

The second is theoretically the most powerful; currency units can be distributed either to everyone in the world for maximum fairness or to pay bounties for protocol development, external charitable causes or anything else. However, at the same time actually using such a mechanism arguably kills the whole point of a cryptocurrency: that it is decentralized and depends on no specific party for its continued existence. Thus, we can think of the centralized distributor as an ideal that we want to approach, sort of like the ideal of a bureaucrat god found in economic efficiency theory, and see how close to that ideal we can approach while still maintaining a structure that is guaranteed, or at least highly likely, to remain stable in the long term.

Useful Proof of Work As Distribution: A Relaxed Algorithm

Useful proof of work is likely the simpler idea. Initially, it was considered impossible to make a proof of work based on useful computation because of the verification problem: a proof-of-work task cannot take longer than a few thousands steps because every node in the network also needs to verify it to accept the block. Primecoin was the closest we got, and even there computing chains of prime numbers is not really all that useful. Now, thanks to the existence of a programming environment with a built-in computational stack trace mechanism, there is actually an alternative approach that removes this particular obstacle, using spot-checking and deposit sacrifices to make sure that work is being done correctly. The approximate algorithm for doing so is as follows.

1. Suppose that F(k) is a function that takes 32 bytes of random data as an input, carries out some computation taking n steps (where n is fairly large, say ten billion) and then returns a value R which is socially useful.
2. In order to perform one round of mining, start off by choosing a random m, and let B be the block header. Let k = sha3(B + m) as the seed.
3. Define a function STEP(P, D) -> D' where P is the program code, D is some tuple of data perhaps including stack, memory and program counter representing the state of the computation, and STEP carries out one computational step and returns the modified computational state D'.
4. Let D[0] = { pc: 0, stack: [], memory: [k] } (or some other construction involving k in a different computational model). Let D[i] = STEP(P, D[i-1]) where P is the program corresponding to the evaluation of F. D[n] should, in some appropriate fashion, contain the result of F.
5. Define H as a hash function of D[i]; something like sha3(pc + str(stack) + str(memory)) satisfies as a quick-and-dirty option. Let H[i] = H(D[i]). Compute all D[i] and all H[i] and let R be the root of a Merkle tree of all H[i]. If R < 2^256 / D then the work is valid and the miner is entitled to a reward.

Basically, we take the state of the program after each computational step (we can optionally make STEP process the execution of a few thousand computational steps for greater efficiency; this does not seriously compromise anything), and build a Merkle tree out of the whole thing and look at the root. This is somewhat tricky to implement; fortunately, however, the Ethereum virtual machine and block structure is already almost an exact replica of this algorithm, so one could take that code and use it almost verbatim.

The algorithm described above by itself has an obvious hole in it: it is not easy-to-verify, so fraudulent miners can easily pollute the network with bad-seeming blocks. Thus, as an anti-spam and anti-fraud mechanism, we require the following:

1. To be able to mine, nodes must purchase a “mining bond” of price N * R (say, R = 10^18 and N = 100), which returns to the miner after 10000 blocks. Each mining bond allows the miner to submit one work at a time.
2. If a miner submits a seemingly-valid work, including the m and k values, the root, and the socially useful output, then the mining bond reward increases by R
3. Anyone else with a mining bond can check the work themselves. If the Merkle root at the end is inconsistent, then they can publish a “challenge” transaction consisting of some number (say, 16) of sub-nodes. At that point, the original submitter has the choice of either giving up (as defined by not posting a response within 25 blocks), sacrificing their entire mining bond to the checker, or make a “response” transaction pointing out the first of those subnodes that they disagree with. If a response is submitted, the challenger must respond going down one level further, providing the sixteen subnodes between the last agreed subnode and the first disagreed subnode, and so forth, until the process converges upon the interval between two adjacent H[i] and H[i+1] values in the tree. At that point, the miner must submit the values of D[i] and D[i+1] in a transaction, which is considered valid if and only if P(D[i]) = D[i+1].

The problem is, however, that the process of checking takes as long as the original computation itself, so there does need to be an explanation as to why anyone would do it. If all miners attempt to cheat frequently, then it makes sense to perform spot-checks in order to collect the deposit (which we assumed to be 100x), but if miners realize this and as a result don’t cheat then there is no longer an incentive to check, so no one would check and miners would have free rein to cheat. This is a classic hawk-dove equilibrium paradox, and can be solved by game theory (here, we assume that mining has a cost of 0.5 and a reward of 1):

Cheats Does not cheat
Checks (-100, 101) (0.5,-0.5)
Does not check (1,0) (0.5,0)

Computing a mixed-strategy equilibrium in this simplified two-player model shows the miner cheating 0.5% of the time and the checker checking 0.5% of the time; under those two conditions, each player is indifferent to the strategy of the other so there is no opportunity for either one to further optimize and cheat. If we push closer to the economic equilibrium of mining and we say that mining has a cost of 0.9, then the equilibrium has a cheating rate of 0.9% and a checking rate of 0.9%. Thus, economically driven spot-checking is a legitimate strategy for ratting out fraudulent mining attempts, and can keep cheating rates arbitrarily low if we are willing to push up collateral requirements.

So what kind of work can we do? First of all, it might be better not to include computation that is incapable of handling noise, ie. where a bad answer accepted as a good answer does more than 100x as much bad as an actual good answer. Second, the algorithm here allows for work that is not easy-to-verify, but it does nothing to allow work that is data-heavy. For example, SETI is data-heavy – you need to have a picture of the sky in order to search it for aliens. Third, the algorithm must be parallelization-friendly. Running a machine learning algorithm on terabytes of data is not really something that can be split into discrete chunks, even large-sized ones. The second criterion can potentially be relaxed; because there isn’t really any benefit to mining with bad data versus good data, an SETI foundation can be set up which provides a stream of data for miners to work with, and adds a very small subsidy to encourage miners to use it. Theoretically, the foundation can even be decentralized and run as a proof-of-stake-voting algorithm on a blockchain. The simplest kind of socially useful computation to use, however, might be genetic algorithms. Genetic algorithms are often used to find solutions to problems that are intractable in closed-form, like finding optimal radio antenna shapes, spaceflight trajectories, aerodynamic shapes, and so forth; the blockchain may provide an ideal environment for doing such computation on everyone’s nodes for free. Certain classes of data search and aggregation puzzles could also potentially be split up, though they are much more data-heavy whereas genetic algorithms are close to data-free once launched.

Parliaments And Better Algorithms

Algorithmic consensus distribution is the more interesting possibility. What if there can be a consensus algorithm to distribute tokens over time, where that algorithm can reward arbitrary good work? For example, one might want to pay bounties to people who contribute to the ecosystem, or even to the world in general. The simplest approach here seems to be to randomly select a “parliament” – every N blocks, stakeholders can vote on 200 nodes that will make the decision of where the newly generated funds will go.

The obvious question to ask is: what are the economics of this? In theory, the nodes will want to select the distribution that optimally benefits the community as a whole, so as to maximize their chance of getting re-elected. However, are there opportunities for corruption? We all know that traditional democracy is highly imperfect, so how do we know that our crypto-enabled wealth distribution scheme will be any better? Fortunately, there is one strong argument to be made that it actually will be. The reason is that traditional democracies have a number of very serious failure modes; for example, a parliament can seize people’s property, conscript people into armies for war, restrict free speech, etc. In this case, however, there is a very clear and obvious upper bound on how much damage a parliament could do: it could redirect the money to split among itself. There is also the risk that the parliament will crowdfund something which is a public bad to society, but a public good among themselves (eg. a war), but they have no existing military apparatus to latch onto and no existing public consensus that they are supposed to be using coercive power for any reason at all so they are in no better a position to do such a thing than any other group commanding a similar level of economic resources. Thus, if we suppose that parliaments fail, say, 33% of the time, then we can see how in a democracy this would be catastrophic but here it only means that the distribution mechanism becomes 67% as useful as it could be.

Another criticism is that such a mechanism, no matter how it may be constructed, will invariably create some sort of political governance class, and thus will stabilize around a particular small set of political viewpoints, generate its own form of inequality, and eventually lead to a long-term hostile takeover. This would be limited in effect, but even still at its worst 100% of the new currency issuance will be siphoned off by a crypto-political elite. One solution is to make parliaments randomly selected (ie. demarchy) rather than elected, reducing the chance of such conspiracies further but at the cost of weakening the parliament’s expected level of expertise on optimal distribution and its ability to form long-term consistent institutions; however, if we want to create a system that has the political image of being neutral and decentralized that is perhaps something that we actually want.

However, we probably can, and certainly must at least try, to be more imaginative. Parliaments and voting are only the simplest and crudest form of having a decentralized organization; there are almost certainly better alternatives based on principles such as holarchy, liquid democracy, futarchy and various combinations of these and other ideas that we have not thought of but that will become possible because of the much higher degree of both interconnectedness and information processing efficiency provided by modern technology. Ideally, as much of the process as possible would be in some fashion automated – the process should function as a DAO, not a DO, and the position of highest power, or the closest philosophical analog of such a thing, should be held by an algorithm and not a set of people – perhaps a sacrifice from the point of view of optimality at any particular time, but, one might argue, a boon for long-term stability, and an especially appropriate choice for a cryptographic platform that intends to claim some concept of neutrality.

A simple futarchy-based implementation might work as follows. Suppose that there are N projects asking for a grant consisting of the entire currency supply to be distributed during some time period, and the desire is to select the one that will maximize the value of the coin after one year. We create N sub-tokens, T[0] ... T[N-1], where the value of T[i] is zero if project i does not get chosen but can be redeemed for one currency unit after one year if the project does get chosen. Then, we create subtokens R[0] ... R[N-1], where the value of R[i] is zero if the project does not get chosen or an amount of currency units equal to 232 computational steps in value (we include a small useful-PoW or useless-PoW market into the coin for this purpose) if the project does get chosen. Now, suppose that the probability of project i getting chosen is P[i] and the value of the token in the event that project i gets chosen after one year is V[i]. We note that the value of T[i] is P[i] * V[i] and the value of R[i] is P[i] * K where K is the cost of computing 232 computational steps. Hence, the project with maximum P[i] / R[i] also maximizes V[i] / K and hence V[i], so that project is assumed to maximize the value of the coin and hence chosen. The only challenge left is figuring out what the risks of market manipulation attacks are assuming there are individual parties with non-negligible market power. This strategy seems more mathematically clean and less vulnerable to turning into something centralized, but on the other hand there seem to be fewer safeguards to prevent it from becoming evil. The best response might simply be that a coin run by an evil DAO will lose public support, and hence will lose value, so the futarchy algorithm itself might select against such undesirable actions. Second, of course, the futarchy does not command a military and there is no pre-existing public consensus that it is entitled to employ any kind of coercion.

Ultimately, both of these approaches could be combined. One can have a parliament, or a futarchy, select useful proof of work algorithms or even data for specific useful proof of work algorithms, or one can have a parliament or futarchy with useful proof of work as its voting mechanism. However, one important conclusion here is that both of the algorithms described are complicated; there is no easy solution to figuring out how to distribute coins in a good way. Which, given the state of the financial system at large, makes sense; if it was easy to distribute coins fairly then the US dollar and other fiat currencies would have likely been overthrown in favor of such alternatives in at least some parts of the world a long time ago. Because of the complexity involved, it is unlikely that either of these will be used for ether itself; ether is intended to be boring crypto-gasoline with simple properties to target maximum stability and reliability, not a super-advanced economically innovative decentralized autonomous organization. So if you want to see GeneticAlgoCoin, FutarchyCoin and ParliamentCoin developed, feel free to run them on top of Ethereum as sub-currencies; the Serpent compiler is all yours to play with.

Credit to Neal Koblitz for suggesting the idea of spot-checking and convincing me of the importance of useful PoW, Robin Hanson for inventing futarchy, and realistically probably at least several cryptographers who came up with the concept of multi-round challenge-response protocols before me


30 comments

  1. Damnit guys!!! Why don’t you hire someone to figure this out!!!????? Are you seriously telling me that after all this time you STILL don’t know how to distribute Ether? No offense, but what a bunch of slackers!!!!!!!!!!! I’ve seen people string people along before, but this is ridiculous!!!!!

    Pull heads out of asses and get busy guys!!!!!!!

    : )

  2. Great thoughts. Do whatever you can make this project a grand one, and “Don’t let ‘perfect’ get in the way of ‘better'” 🙂

  3. This is indeed a very important point and one that is not being give the attention it deserves. Aside from Freicoin, I can’t think of any significant Altcoin that attempted to address this issue.
    Probably the reason for this is that it is a socio-political issue not easily addressed by technology. Satoshi wrote admirably of “one cpu, one vote” but in these days of GPU farms and warehouses of ASICs we are getting further away from this ideal daily.
    Let’s take bitcoin as an example. The best predictor for how many bitcoins you were “allocated”, is how early you entered the game. As a result, the wealth distribution in Bitcoin is awful. In terms of fairness it compares to North Korea and is likely to get worse as the price rises and mining rewards decrease. This is not a desirable outcome, nor is it, in my opinion, viable in the long run.
    One of the core issues is as old as computing itself; how can you identify a human? You see, computing resources can be centralised (ASIC farms, botnets) and so distributing according to computation is not the same as distributing among people. Yet to get a socially desirable outcome, we must be able to really *distribute* the coin.
    So in the end, it must be humans to make the decisions. We can design institutions and we can implement checks and balances; if done well we may indeed get a decent parliament. It will never be impervious to corruption and subversion; not on a technical level. This requires an engaged civil society watching over the parliaments actions and reporting any wrongdoings.
    The transparency of a blockchain integration should help.

    I was glad to see this post. I find that in the cryptocurrency world the voice of the freemarket extremists is overly amplified to allow for a discussion of fairness vs inequality. Distribution does matter for the longterm health of the crypto economy.

    Allow me to add one thought.
    A presale can be a good thing especially if it is large – i.e. if very many people participate.
    So let us take this idea a little further. I want to sketch an idea I had just while reading this article. It has repeated public sales of new coin, and does require some degree of central authority, but also has a democratic element.
    Let us say that coins are generated in bulk on the 1st of every month. Each month there is a public sale of these new coins. The money raised would go to good causes as follows:
    On the ethereum that month there are published a list of say 100 organisations / non-profits / charities that might be beneficiaries of the sale – (big, well known entities in order to avoid kickback scams – more below). The system is built so that it appears as if these 100 are doing the selling. People may bid fiat currency against the newly generated coins, but must chose who they are buying from. At the end of the bidding, the coins are sold to the highest bidders and the money transferred to the corresponding organisation.
    Is this an idea to explore further?
    Questions that occur:
    -how to choose the organisations to allow? We don’t want elaborate scams in which people that are doing the buying are themselves the beneficiaries. That’s why I suggested big, well known organisations above.
    -who manages the transfers and oversees that everything is handled correctly. this is a centralisation/trust problem.
    -how far can this system be automated?
    -The bidding has to be external in some sense to ether because it involves fiat. You can’t really buy new ether with ether.

    The effects would be that the value of newly generated coins goes not to those with the huge botnets or server farms, but to some public service entity. If you look at the arguments online about whether wikipedia should or should not accept bitcoin, just think how it would be if new bitcoins could be *purchased* from wikipedia.
    Clearly this is not an egalitarian distribution. Coins would still end up with those who have the purchasing power to win the bidding process. However, it would mean that the wealth effect of rising coin prices would be distributed better, if not among people per se, then at least through society.

    ok enough for now. I’d better hit send because the longer I think about it, the more holes I can poke in my own arguments 🙂

    peace.

    • Wealth distribution is not mapped to currency distribution. Wealth distribution is mapped to how far your money can take you or in other words what you can actually do with your money matters more than how many units you have.

      The real goal here is to liberate through technology. If the world were sufficiently liberated then we’d all live wealthy because we’d have so many more options, choices, opportunities, etc. We could issue our own (self issued credit) currencies and have our own units. We don’t get value from Bitcoin united but from production (all value comes from production capability).

      All wealth starts with being free. The more free you are the more wealth you can generate for yourself and the world. The worker generates all wealth whether he/she is a human or a machine. Bitcoin miners receive a tax but they are virtual workers who secure the network.

      We probably should think about expanding the kinds of virtual workers for future DACs but in case that does not happen then making it easier to start a business and be an entrepreneur is the best way to create more wealth in the community. Automation also will decrease costs while increasing effiency to make wealth creation even easier, but none of this is possible if the laws block us all off and the police state makes life so miserable that no amount of money makes a difference. Please consider what the real problems are.

  4. “The reason why having a fixed never-growing supply is undesirable is obvious: it encourages wealth concentration and creates a static community of holders without an effective way for new people to get in, and it means that the coin has no way to incentive any specific kind of activity in the long term.”

    This sounds like something Paul Krugman would write.

    “Encourages wealth concentration”. You mean saving? Building a foundation of wealth that allows us financial independence? Gee, why would we want to encourage that?

    “creates a static community of holders without an effective way for new people to get in”. The way you get in is by providing something of equal or greater value to the holders in exchange for the currency.

    “the coin has no way to incentive any specific kind of activity in the long term”. A neutral currency should not incentivize any specific kind of activity

    The great thing about cryptocurrency is the market will determine the superior monetary model. But if I were creating ethereum, I would be vary wary of creating a currency without a finite supply. The very definition of value is something that is useful and scarce. Remove scarcity and you may be left without anything of value.

    • Money actually isn’t important because the value isn’t in the token. The value is in whatever backs the token.
      Let me put it like this, what good is having a lot of so called “monetary wealth” if you don’t have any actual wealth?

      Actual wealth is in what you can do. Your degrees of freedom are your actual wealth. If you’re rich in currency units but you’re living in a police state where you can’t actually live free, where you have no privacy, where you have no rights, then you’re not really wealthy. You don’t have anything of value if you’re not free and the whole reason people want money is to increase their degrees of freedom (what they can do).

      The obsession with net worth, wealth redistribution, and numbers in a computer, it only makes for pointless bickering and debate on who deserves the numbers or who should have greater or lesser tokens credited into their accounts. This is completely meaningless if a police state has to be built which spies on everyone.

      Why is a police state being built? The reason wealth redistribution schemes ultimately result in a police state is because the “injustice” perceived by both sides can create a civil war where the rich vs poor have to fight for control of the government and the nation. This means laws get set up specifically to spy on the population to favor one side or the other in order to keep whatever perceived to be “economically just” laws in place.

      That is a complete waste of resources, money, time, and it makes all of our lives worse. In the end we are all poorer because of it. So while I support the idea of reducing the cost of living through technological deflation I don’t think you can simply print new money to achieve that end. The way to achieve a world without poverty is to make the cost of living so ridiculously cheap that everything pays for itself through automation.

      So it’s more important to focus on maximum automation, efficiency, decentralization, and production capacity than to worry about meaningless token supply and units of currency which don’t make any difference except to track what is in the database and measure.

  5. Hi,
    You are doing a great work, but I feel its going in the wrong direction.
    A key to a successful mass adoption is simplicity.
    Dont make the concept so complicated. Bitcoin success is partially because the main concept (limited supply, cheap international transfer, decentral, secure) was easy to explain, even though the technical concept is more complicated. But I dont want to buy a currency which I do not understand. I am a theoretical physicist, I am not dumb but I am little bit lazy. I want to understand the main idea, including the distribution, after a couple of minutes. I think you are creating the greatest technology since the internet, let it be a technological solution not a social/political one.
    I like the idea of a maximum supply coupled with cpu-based mining, which comes almost naturally by computing random general contracts. If the money you get for mining is about the same amount as the fee you would pay by creating the contracts, it should be secure against cheaters. But may be thats too simple 🙂

  6. I have to side with CJentzsch here. He makes some really valid points. Bitcoin made a lot of things right, so no need to change a winning team. If you need a inflation currency, you always have fiat, and it is the escape from fiat which partially drives the cryptos. Regarding mining, I agree, keep it simple. I see ideas bouncing around on how to “fairly” distribute coins, and I think that is a dead end. I believe the fairest distrubution is those who are willing to put in work or money in the system, any other dirstribution system is destined to be “gamed”. My suggestion is, cap on coins, and a cpu based mining schema, and prevent pool mining.

  7. Keeping it simple: This complicated post is a cry for help to the crowd after endless hours with lawyers and regulators – of someone who is a great developer with an enormous vision;
    it’s a cry for help to the community, because the problems pointed out by the regulators/lawyers just seem to be impossible to solve. I just wanna remind: Lawyers are billed on a hourly basis for solving problems, but to solve a problem, you first have to find one.

    I really believe, focus is super important. And as C. Jentzsch pointed out: A key to a succesfull mass adoption is first of all simplicity.

    • Disclaimer: I think, it’s great that you guys are thinking of all this distribution models and it’s an important feature. But don’t loose focus! Etherium is great and it is a system that can improve over time. Move fast and break things.

    • “This complicated post is a cry for help to the crowd after endless hours with lawyers and regulators” – well put – in order to realise their grand vision Ethereum should dump the lawyers, ignore the regulators and drive fast forward with implementing their vision – as a bunch of responsible sovereign individuals and not as any kind of corporate entity in any particular jurisdiction – read Michael Jackson’s (formerly of Skype) article on Coindesk. If Skype had gone through this kind of regulatory and legal nonsense we would not have had free international calls. Incidentally I’m no newbie but a seasoned entrepreneur – since getting into BTC I’ve dissolved my BTC company and operate as a bunch of individuals – makes more xsense.

  8. I have some ideas on distribution at least in relation to the algorithmic approach. I suggested the algorithmic approach to the Bitshares community but no one was feeling it at the time. The approach works around “Proof of Contribution/Participation”. The algorithm is really simple where actual work is treated just like virtual work.

    This could work well with the parlaiment model mentioned. People could select the delegates and then simply vote on the priority of different tasks on a list. The popularity of the job would affect the price for the work so that if too many people want to do a certain kind of job then the reward reduces.

    It’s all in these posts below and it’s my favored approach because it is future proof (leverages AI):
    https://bitsharestalk.org/index.php?topic=998.0
    https://bitsharestalk.org/index.php?topic=1692.msg18864#msg18864

  9. At this point in time I would say there isn’t a good reason to do it with delegates / parlaiment because most DACs aren’t that big but I do see a reason in the future for going that route because as more decisions have to be made it would be faster if people could select a delegate to vote on their behalf on the direction of the DAC.

    I called these delegates the DAC operators in my model but they serve the same function. Their role is to vote on the priority of certain tasks. The algorithm itself allocates resources to accomplishing the task. The algorithm is something which can get smarter over time if artificial intelligence can be used to somehow accomplish this and additionally you can have intelligent software agents actually accept contracts to complete beneficial work on behalf of other DACs which is something I intended in the model I presented and why I called it future proof.

    I think intelligent agents may be able to do a lot of different tasks for a fee. If money can be transferred between different DACs then things can get really interesting and the whole JobBank or GetWork DAC was an idea to have a DAC which specifically services and builds up other DACs.

    Some refinements is I don’t think newly generated funds are necessary at all. The value is not in the token/money but in the labor. The labor can be described as a fulfilled contract/bounty. So the value actually comes from that and you can create a special bounty token to represent each particular bounty and use the divisibility of that token to map out how much of a bounty each worker completed giving them all some portion which they can later on redeem.

    No new shares need to be created if it’s Proof of Stake (avoiding dilution), and the currency destroys itself upon redemption. The people who voted for the task and voted it up to high priority could be the people who pay the redemption fee or you can charge the entire DAC as a whole and pay the fee in a BitAsset or in shares.

    Imagine every DAC has a certain asset which can only be earned by completing bounties and that asset can be traded between every DAC. This would allow cross trading but in order to do this that asset would have to be built into every DAC. I don’t have any answers here on how to go further but I’m posting to vote in favor of the algorithmic approach which avoids inflation/dilution as much as possible because I don’t think inflation/dilution creates any value/wealth it merely redistributes.

  10. I’m no scholar on the subject of cryptocurrencies, but I can’t help but think we’re missing a crucial distinction here. We have no problem accepting the notion of distributed verification of simple capital exchange, but when it comes to social structures and other forms of wealth distribution, we run into more difficult challenges. I want to step back and ask, “Why are these challenges more difficult?”
    In my opinion, it seems that the two pillars of acceptance for any exchange between humans are…
    1) Is the transaction reliable?
    2) Is the transaction voluntary? (this generally includes that all details of the transaction are transparent to both parties involved)

    These two criteria are easily met by exchanging government-issued cash to somebody for services, and I think most of us would agree they are also met by trading in Bitcoin. But they are also met, at least in principal, by the workings of democracy. As long as the process is transparent (which, sadly, it usually is not) and thus (1) reliable, and the choices of those who vote are (2) voluntary, we have little difficulty accepting such a social structure as being valid and worthy of our respect. Ethereum can support and even improve democracy, as this blog post discusses… so (rhetorically) what’s the problem?

    The problem is that current centralized governments and economies have the advantage of forging a singular relationship between each individual as a physical human being and each individual as an exchanger of capital. Therefore, the perpetuation of not only everyday transactions but also taxes and political donations are just a matter of identity verification by the centralized authority. The decentralization of our capital isn’t a problem, because our capital is something external that we can possess or dispossess at will. We can own any number of bitcoin wallets without breaking the trustworthiness of the system, because our capital exchanges are still (1) reliable and (2) voluntary. But building social structures on a decentralized network which try to account for our physical identities as human beings can be problematic, because the reliability of such a network depends on the absence of a central authority (which I still believe is a good thing). Yet, how do you prove your physical identity to a decentralized authority? I believe this is the most central challenge to concepts like BitCongress and VoteCoins, as well as many of the concepts raised in this blog post.

    Software-based solutions to this problem also require the destruction of one of the two pillars I mentioned above. Solutions which allow people the freedom to voluntarily vote through the decentralized network tend to be less reliable as an accurate count of one vote per person, and solutions which enforce a single vote per physical person tend to be less voluntary, and/or are centralized and therefore just as corruptible as our current democracies. We could encrypt our voting identity much like a bitcoin wallet, but how do we prevent people from making several voting identities? IP detection works well enough for internet polls, but it is not reliable enough for a public establishment.

    In my early opinion, I suspect that the only true solution which will enable a network like Ethereum to reliably support per-person currency distribution or any other social structure is a hardware solution. How can we enforce any contract that has our physical identity as its basis, unless we physically verify our identity with hardware? Instantly, this raises the spectre of the RFID chip, which would be a terrible solution since it once again could be either unreliable (i.e. one person purchasing multiple chips) or involuntary (i.e. forcing the participants to be implanted with such chips).

    I don’t think we need RFID chips in order to create hardware solutions to this dilemma. Our bodies are full of signatures that could be encoded with a proper fingerprint or other scanning device, which could be completely open source (unlike our current American voting machines), and be used or not used at will, and be examined or improved upon by anybody. They don’t even need to be geared toward any specific purpose, beyond the encoding of our physical identities. Perhaps we could build a DAO to fund their construction, and once built, these machines could allow us to freely use our physical identities to vote or participate in ethereum-based taxation for DAO’s that we choose to support. Our actions could still be encrypted and confidential, and our identity information could be discarded once the initiative that required it has passed.

    • RFID is neither here nor there. The problem is how to distribute one ID per person. How you subsequently identify them (RFID, crypto, other) is somewhat secondary.
      So how do you issue ID’s without some authority?
      Maybe you’d try to go via some public databases. Voter lists? Social Security/public insurance? phone numbers? but these are imperfect in themselves and further they are limited in scope – they are national.

      We need to narrow the goal. We are not going to achieve a unique mapping of human being to crypto ID anytime soon. So we need to concentrate on the achievable.

      There are two competing factors.
      One the one hand we want a decentralised distribution and on the other hand we wand a decentralised distribution. That is, we dont want a small number of individuals controlling a lion’s share of the coin and we dont want a small number of individuals controlling the process of distributing coins. Bitcoins distribution process is controlled by mining (which in itself is rapidly becoming centralised by way of ASIC farms) but the current distribution of coin is highly skewed towards a few people “early adopters”.
      Research into alternative POW has tried to address the former while the latter is being ignored (we all want to be the next “early adopter” to get extraordinarily rewarded for just being there at the right time).

      • How about 1 heartbeat 1 vote? Use the Nymi combined with a secret pin. Of course it means people would have to buy the Nymi or a reversed engineered (hacked) version.

        Nymi isn’t perfect because it’s closed source but it’s better than going to traditional polls where they don’t have biometrics and it’s at least as good as the robocoin deep vein scan setup.

      • To be sure, I do not want to suggest that my “ethereum hardware” ramblings should be applied to the initial distribution of ether, or really any short-term crypto distribution model at all. Mostly I was trying to get a long-term sense of the big picture, and I agree that we should concentrate on the achievable. Here are my thoughts on the more immediate question of Vitalik’s post (How should a new currency distribute itself?), and your reply as well:

        I think the best solution is what (to my understanding) the Ethereum devs were already planning to do, anyway: a sort of pre-mine that distributes the initial coin among a team of early developers, and then when the foundations have been laid, opening it to everybody else. All the alternatives I’ve seen appear to be worse or at least no better than this. Vitalik’s list of possibilities:

        Centralized distribution – I don’t think we need Luckybit’s police state scenario to agree that there are problems with applying any centralized model to cryptocurrency. Also, the very hint of a crypto’s association with “centralization” is enough to scare away many of the most loyal enthusiasts, as it did with Ripple and other altcoins that said, “We’ll just hold on to our half of the stash, you go ahead and raise its value for us,” and as it is already threatening to do with Ethereum (mostly based on false rumors, in my opinion).

        Useful proof-of-work: Reading over Vitalik’s suggestions — I’m a bit over my head on this one, but it seems to me that if we could automate the detection of miners who cheat, they wouldn’t be very good cheaters. The point of cheating is to not get caught doing it. Anyway, I can’t really comment on the technical applications of PoW vs. PoS because I’m not a programmer. My proudest accomplishment in programming was putting a webcomic into a database and making a web page out of it. But I will say this: how do you determine what work qualifies as “useful?” If it’s SETI, we may as well call it SETIcoin, and then get ridiculed by SETI’s numerous detractors (which does not include me) or by people who would think we’re just donating to Seth Shostak’s ego (which would include me). And if it’s genetic algorithms, well, who gets to decide what deserves our attention? If it’s decided by a central authority, then we’re back into the “centralized distribution” problem. Perhaps if it’s a decision based somehow on calculated value, but how do we calculate that value fairly unless we automated the calculated product of DAO’s and DAC’s, which can’t exist yet because we’re talking about an initial distribution? I feel like this solution can quickly overcomplicate things and have us chasing our own imaginary tails.

        Algorithmic consensus distribution: Many interpretations of this quickly return to the problem of “voting” that I talk about in my earlier post, above. I simply cannot think of a way in which people can vote within a decentralized network without either centralizing the process – which seems to defeat the point of making an ideal crypto – or creating a system of identification hardware – which seems unlikely and impractical for any initial crypto distribution in the near future.

        Vitalik’s final suggestion of awarding grants to projects that serve to increase the value of ether seems the most promising to me, although it appears to accomplish the same end result as basic hands-off free enterprise… but, as far as it applies to a fair initial distribution that avoids creating a class of absurdly wealthy Ether Emperors, it seems like a good idea. Aron, your idea seems promising to me as well, or at least a variation of it; perhaps a team of the initial Ethereum developers could choose the list of organizations, and the bidding is open to everyone. I don’t think we need to centralize a transfer of fiat-to-ether if we focus on organizations that accept Bitcoin.

        This needs to be simple. The other solution on Vitalik’s list is “Pretend that the problem does not exist,” and this may realistically be the best solution. Bitcoin’s beauty is in its simplicity, after all, and we shouldn’t be too quick to declare the Bitcoin economy a North Korea – style failure for the simple reason that there barely is a Bitcoin economy in the first place. We have yet to see how well Bitcoin might naturally be distributed if large numbers of people used it for everyday commerce. It could very well be that the fabled “trickle down effect,” which I think is a farce in a debt-based economy where the global elite control all the debt, might actually become a real phenomenon in a robust, debt-free Bitcoin economy.

        But personally, I’d be willing to *temporarily* suspend my values of open mining and complete decentralization, only if it meant that the early value of the currency went to developers or other transparently useful entities, and not to a class of anonymous whales with deep pockets. (Yeesh… this was meant to be short. I have got to stop rambling!)

    • Luckybit – I do like the Nymi. That was actually on my mind when I wrote my first reply. And you’re right, it would be a lot easier than installing biometrics at public polling booths.

      • To your point on “useful POW”.
        The idea is that we want to make the mining process less wasteful in terms of computing resources. Thus the goal is to tweak the mining system so that the calculations that serve as POW for the blockchain, simultaneously represent something useful to society. This does not in itself address the de/centralisation issues, but it does mean that those that invest heavily in mining, will be investing in whatever useful p.o.w. we have chosen … and thus perhaps are more ‘deserving’ of the reward?
        The problem with useful p.o.w. is verifiability. In bitcoin the p.o.w. is something like: you have to try a crazy amount of random numbers to add to a list of transactions such that the hash of the whole thing is small enough (starts with enough zeroes – more or less). when someone has found a solution they publish it (a new block) and everyone can see that they were right by running a single hash(!).
        Now when you want the p.o.w. to be something like a protein folding simulation, there is no easy way to know someone has done the work correctly or just made up a result. If I present you with the supposed result of a simulation the only way you can check it is to perform the same entire calculation yourself. What is described in the blog post is a system in which not just the result of the calculation is stored, but also several milestones along the way. Then someone who wants to check the work, can find detect a false result already at an early milestone and will not have to go any further. The process above sketches how to deal with claims (challenges): “this calculation is wrong at milestone 5” and counterclaims (response transactions) until a consensus is reached.

        As for the question of concentration of wealth, it is too easy in this discussion to confused and I fear I might have made a few mistakes above as well. My first suggestion doesn’t seem to allow for the system to fund its own development; the only thing it does is to attempt to spread the gains in value to other sectors of society.

        Maybe the best is to have several methods at the same time. Maybe set it up so that the more centralised ones (parliament?) automatically shrink and disappear over time. Maybe have several competing models of parliament, dao, do, futarchy, whatever scheduled to distribute funds in the first year or two and slowly fade away until in the end (when the network is a *lot* bigger) perhaps only a useful (and CPU friendly) p.o.w. is left. ?
        Remember (if bitcoin is any guide) it is distribution during the early life of the system that we need to manage; later as the %rate of creation of coin decreases the social components and the question of centralisation would seem to fade.

        As a final thought though let me say that it will not be a system that prevents corruption, it is society. It is a combination of transparency and vigilance. We need to have an open dialogue and a strong civil society. No technology can ever solve all the problems that stem from us being human, we can only use it to help us along.

        aron.

  11. What about pre-allocating on top of existing distributions? I know you know about this so I’m surprised you didn’t mention it.

  12. Pingback: News – May 27, 2014 | cipherpal

  13. I wonder if the real radicalism would be to have nobody be in charge. In a completely open, decentralised, free system of competitive currencies, each currency would have different features. Why does anyone in particular have to be in charge?

    It might be fun to review what FA Hayek wrote about Denationalisation of Money in the context of the current opportunities for crypto-currencies. Clearly, the systems of national (e.g., dollar) and super-national (e.g., euro) currencies are full of fail for those of us who dislike building tools that end up serving the interests of the power elite. No doubt the motto of Google to “not be evil” is a nice motto, but it turns out that in following the usage patterns of all their users, they have done a lot to further the interests of centralised power and control.

    But perhaps the idea of a “free market” in the Rothbard-Konkin sense (or agorism as some call it) isn’t part of the mainstream thinking in designing new centrally planned economies built on crypto-currencies.

  14. Pingback: Epicenter Bitcoin Newsletter #31 – Epicenter Bitcoin

  15. I’m pretty new to Ether(eum) but if you’re still at the point of deciding the distribution mechanism, then I hope you’d take this chance to consider fixing for me what is the main ‘bug’ with Bitcoin – it’s energy/carbon footprint.

    If CPU mining is the main mechanism then there’s a considerable resource footprint associated with the ecosystem (at least one coal power station a day, if I remember rightly). This energy cost serves no social benefit – so it’s not in society (or the planet’s) interest for such a system to grow to the point where more people are mining or where it takes more CPU power to create coins. It’s simply a high enviro-cost activity whose key outcome is helping some people get richer.

    A Useful Proof Of Work, however, could actually reward something beneficial. Spinning off an idea posted here – http://forum.ethereum.org/discussion/973/a-humane-socio-enviro-economic-protocol – what about releasing coins in proportion to renewable MW generated? Not straightforward to setup and guarantee proof, but it could be pretty radical and a decent way to motivate uptake. So instead of investing in huge mining hardware, miners fit their homes/businesses/communities with solar/wind/ground-source-heatpumps/etc, get all the normal benefits of cheap decentralised energy and selling their energy to the grid. Plus they get coins! And given that energy companies will have a pretty hard-to-fraud way of knowing how much is being sold into the grid from each individual it might not be so hard to adapt that to sync up somehow (tho I don’t really have a clue about this sector). Plus those people who are already installing these systems have a reason to start using Ether – so a way to more quickly get critical mass.

  16. Why is it a bug that CPU mining involves using energy? Lots of things use energy. Human beings, for example, use energy. Some of them more than others. Given that it uses energy, how do you know that energy is coming from a coal-fired plant? Why couldn’t that energy come from a nuclear power plant (bitcoin miners in France, perhaps?) or from a hydro-electric power plant at the Hoover Dam, say?

    The amount of energy you cite appears to be based on some poor calculations that have been discredited. You might like this review of some of the information that seems relevant. Of course, you might not, since in the absence of a really good crisis, not everyone is going to be happy. https://medium.com/weird-future/how-much-electricity-does-bitcoin-use-c350bd84c64e

    Solar panels are a really good idea. The manufacturers have the price per watt down to the point where they are very economical. Mind you, have you looked into the environmental impact of making solar panels? There’s some really hefty manufacturing activity, and lots of toxic wastes, in some panel designs. I’m not willing to sell my solar panel energy to the grid, though. I oppose the grid in all its manifestations.

    • > Lots of things use energy. Human beings, for example, use energy.

      we need to in order to function. miners don’t. for e.g. NXT.

      > how do you know that energy is coming from a coal-fired plant?

      http://en.wikipedia.org/wiki/World_energy_consumption#mediaviewer/File:World_energy_consumption.svg

      > in the absence of a really good crisis, not everyone is going to be happy

      it’d be great if that article is true. I don’t have the maths knowhow to know either way.

      > Solar panels are a really good idea.

      totally agree

      > lots of toxic wastes, in some panel designs

      true – best reason to research before buying

      > I’m not willing to sell my solar panel energy to the grid, though. I oppose the grid in all its manifestations.

      always useful on a rainy day to have some backup 🙂

      anyway, surely there’s a p2p decentralised grid protocol in the works, no?

      • If there is a person to person decentralised grid protocol in the works, that is very, very welcome news, to me. I would be delighted to sell excess power produced by my solar panels using such a system. Of course, “the grid in all its manifestations” has long meant, to me, not only the power grid run by government-favoured giant power companies operating in restraint of trade, but also the grid system of command, control, and limitation. Maybe I watched too many episodes of “The Outer Limits.”

        Your statement, “we need to in order to function. miners don’t. for e.g. NXT.” is not easy for me to understand. I do agree that humans need to use energy in order to function. I’m not confident that miners, even miners of “NXT” are able to function without using energy. I found an interesting discussion of NXT on bitcointalk. It doesn’t seem clear to me that the servers involved in handling NXT are able to operate without energy. If they are, that is a great new technology which ought to gain market share very swiftly. 🙂 It does seem, from the page I found on the topic, that NXT “coins” have been generated from converting bitcoin coins, which leaves the environmental cost of creating bitcoins through mining in place.

        My confusion about your statement that “miners don’t” need to consume energy for NXT is also related to my concern that I myself do not personally know what people “need” in their lives. I don’t know that people who mine bitcoin, even ones who aren’t able to afford to run their hash functions on purpose-built chips, don’t “need” to mine bitcoin. How am I supposed to know whether someone else is doing something they need to do, in order to function, or doing something that is frivolous and unnecessary? I don’t wish to be in charge of running everyone’s life, so I don’t want to say that bitcoin miners don’t “need to [consume energy] in order to function.”

        The problems of central planning, and they are many and varied, include the calculation problem. I’m unable to calculate what everyone in the world “needs” in order to function. There are a large number of really good reasons to believe that it isn’t possible to calculate what everyone in the world needs from moment to moment, so in the absence of a free market price finding system, it is unlikely that resources would be available in a centrally planned and controlled economy. Even very obvious resources, like food and water, are often scarce when central planning rears its ugly head.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s